/*
Theme Name: Akono Interactive
Author: Akono Online
Version: 1.0
Description: Single-page interactive theme for Akono Online.
*/

:root {
        --bg: #f4f7fb;
        --ink: #0b1320;
        --muted: #5b6a84;
        --accent: #00a3ff;
        --accent-2: #27d1a5;
        --accent-3: #ffb347;
        --card: #ffffff;
        --line: #e3e9f2;
        --shadow: 0 18px 40px rgba(7, 15, 25, 0.12);
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        margin: 0;
        font-family: "Manrope", sans-serif;
        color: var(--ink);
        background: var(--bg);
      }

      a {
        color: inherit;
      }

      .page {
        padding: 28px 18px 80px;
        position: relative;
        overflow: hidden;
        z-index: 1;
      }

      .page::before {
        content: "";
        position: fixed;
        inset: 0;
        background:
          radial-gradient(800px 360px at 12% 2%, rgba(0, 163, 255, 0.12), transparent),
          radial-gradient(900px 380px at 88% 20%, rgba(39, 209, 165, 0.12), transparent),
          linear-gradient(transparent 24px, rgba(11, 19, 32, 0.03) 25px),
          linear-gradient(90deg, transparent 24px, rgba(11, 19, 32, 0.03) 25px);
        background-size: auto, auto, 25px 25px, 25px 25px;
        z-index: -1;
      }

      .scroll-progress {
        position: fixed;
        inset: 0 0 auto 0;
        height: 3px;
        width: 0%;
        background: linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));
        z-index: 20;
      }

      .cursor-glow {
        position: fixed;
        width: 280px;
        height: 280px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(0, 163, 255, 0.35), transparent 65%);
        pointer-events: none;
        mix-blend-mode: screen;
        opacity: 0.6;
        transform: translate(-50%, -50%);
        z-index: 0;
      }

      .nav {
        max-width: 1120px;
        margin: 0 auto 36px;
        padding: 12px 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        position: sticky;
        top: 16px;
        z-index: 10;
        background: rgba(244, 247, 251, 0.75);
        border: 1px solid var(--line);
        border-radius: 999px;
        box-shadow: 0 10px 30px rgba(11, 19, 32, 0.08);
        backdrop-filter: blur(12px);
      }

      .brand {
        font-family: "Space Grotesk", sans-serif;
        font-weight: 700;
        font-size: 20px;
        letter-spacing: 0.4px;
      }

      .nav-links {
        display: flex;
        gap: 18px;
        font-size: 15px;
      }

      .nav-links a {
        text-decoration: none;
        color: var(--muted);
        position: relative;
      }

      .nav-links a:hover {
        color: var(--ink);
      }

      .nav-links a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -6px;
        height: 2px;
        width: 100%;
        background: linear-gradient(120deg, var(--accent), var(--accent-2));
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.2s ease;
      }

      .nav-links a:hover::after {
        transform: scaleX(1);
      }

      .btn {
        border-radius: 999px;
        padding: 12px 18px;
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        --btn-x: 0px;
        --btn-y: 0px;
        --btn-hover-y: 0px;
        transform: translate(
          calc(var(--btn-x) + 0px),
          calc(var(--btn-y) + var(--btn-hover-y))
        );
      }

      .btn-primary {
        background: linear-gradient(120deg, var(--accent), var(--accent-2));
        color: #0b1320;
        box-shadow: var(--shadow);
      }

      .btn-ghost {
        border: 1px solid var(--line);
        color: var(--ink);
        background: #fff;
      }

      .btn:hover {
        --btn-hover-y: -2px;
      }

      .hero {
        max-width: 1120px;
        margin: 0 auto 64px;
        background: linear-gradient(120deg, rgba(0, 163, 255, 0.1), rgba(39, 209, 165, 0.08));
        border-radius: 28px;
        padding: 44px;
        display: grid;
        gap: 32px;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        border: 1px solid var(--line);
        animation: rise 0.8s ease-out;
        position: relative;
        overflow: hidden;
      }

      .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(
          320px circle at var(--mx, 20%) var(--my, 20%),
          rgba(0, 163, 255, 0.25),
          transparent 60%
        );
        opacity: 0.8;
        pointer-events: none;
      }

      .hero::after {
        content: "";
        position: absolute;
        width: 280px;
        height: 280px;
        top: -120px;
        right: -90px;
        background: radial-gradient(circle, rgba(39, 209, 165, 0.35), transparent 70%);
        opacity: 0.8;
        animation: float 10s ease-in-out infinite;
        pointer-events: none;
      }

      .hero h1 {
        font-family: "Space Grotesk", sans-serif;
        font-size: 40px;
        margin: 12px 0;
        line-height: 1.1;
      }

      .hero-content,
      .hero-panel {
        position: relative;
        z-index: 1;
      }

      .hero p {
        color: var(--muted);
        font-size: 17px;
      }

      .eyebrow {
        text-transform: uppercase;
        font-size: 12px;
        letter-spacing: 1.4px;
        font-weight: 600;
        color: var(--accent);
      }

      .cta {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin: 22px 0;
      }

      .pill-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
      }

      .pill-row span {
        background: #fff;
        border: 1px solid var(--line);
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 13px;
        color: var(--muted);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      .pill-row span:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(11, 19, 32, 0.12);
      }

      .hero-panel {
        display: grid;
        gap: 16px;
      }

      .panel-card {
        background: var(--card);
        border-radius: 18px;
        padding: 20px;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .panel-label {
        font-weight: 700;
        margin-bottom: 10px;
      }

      .panel-card ul {
        padding-left: 18px;
        color: var(--muted);
      }

      .panel-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 12px;
      }

      .mini-card {
        background: var(--card);
        border-radius: 16px;
        padding: 16px;
        border: 1px solid var(--line);
      }

      .mini-title {
        font-weight: 700;
        margin-bottom: 6px;
      }

      .section {
        max-width: 1120px;
        margin: 0 auto 64px;
      }

      .section-header h2,
      .section h2 {
        font-family: "Space Grotesk", sans-serif;
        font-size: 30px;
        margin-bottom: 8px;
      }

      .section-header p,
      .section p {
        color: var(--muted);
      }

      .card-grid {
        margin-top: 24px;
        display: grid;
        gap: 16px;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      }

      .card {
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 20px;
        box-shadow: 0 12px 25px rgba(11, 19, 32, 0.08);
      }

      .card h3 {
        font-family: "Space Grotesk", sans-serif;
        margin-bottom: 8px;
      }

      .split {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 28px;
      }

      .checklist {
        margin: 18px 0 0;
        padding-left: 18px;
        color: var(--muted);
      }

      .highlight {
        background: #0b1320;
        color: #fff;
        border-radius: 20px;
        padding: 24px;
        box-shadow: var(--shadow);
      }

      .highlight-title {
        font-weight: 700;
        color: var(--accent-2);
        margin-bottom: 8px;
      }

      .highlight-foot {
        margin-top: 16px;
        font-size: 13px;
        color: #c7d3e6;
      }

      .steps {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 16px;
        margin-top: 24px;
      }

      .step {
        background: var(--card);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 20px;
      }

      .step span {
        font-weight: 700;
        color: var(--accent);
      }

      .faq {
        display: grid;
        gap: 16px;
        margin-top: 24px;
      }

      .contact {
        background: linear-gradient(120deg, rgba(255, 179, 71, 0.12), rgba(0, 163, 255, 0.12));
        border-radius: 24px;
        padding: 32px;
        border: 1px solid var(--line);
      }

      .contact-card {
        margin-top: 18px;
        background: #fff;
        border-radius: 18px;
        padding: 20px;
        border: 1px solid var(--line);
        display: grid;
        gap: 10px;
      }

      .footer {
        text-align: center;
        color: var(--muted);
        font-size: 13px;
        margin-top: 40px;
      }

      [data-reveal],
      [data-tilt] {
        --reveal-x: 0px;
        --reveal-y: 0px;
        --hover-x: 0px;
        --hover-y: 0px;
        --scale: 1;
        --tilt-x: 0deg;
        --tilt-y: 0deg;
        transform: translate(var(--reveal-x), var(--reveal-y))
          translate(var(--hover-x), var(--hover-y))
          scale(var(--scale))
          rotateX(var(--tilt-x))
          rotateY(var(--tilt-y));
        transform-style: preserve-3d;
        transition: transform 0.55s ease, opacity 0.55s ease, box-shadow 0.4s ease;
        will-change: transform;
      }

      html.js [data-reveal] {
        opacity: 0;
        --reveal-y: 24px;
        --scale: 0.98;
      }

      html.js [data-reveal].in-view {
        opacity: 1;
        --reveal-y: 0px;
        --scale: 1;
      }

      [data-tilt]:hover {
        box-shadow: 0 22px 40px rgba(11, 19, 32, 0.18);
        border-color: rgba(0, 163, 255, 0.4);
      }

      [data-spotlight] {
        position: relative;
        overflow: hidden;
      }

      [data-spotlight]::before {
        content: "";
        position: absolute;
        inset: -1px;
        background: radial-gradient(
          240px circle at var(--mx, 50%) var(--my, 50%),
          rgba(0, 163, 255, 0.18),
          transparent 65%
        );
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
      }

      [data-spotlight]:hover::before {
        opacity: 1;
      }

      [data-spotlight] > * {
        position: relative;
        z-index: 1;
      }

      @keyframes rise {
        from {
          opacity: 0;
          transform: translateY(14px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes float {
        0% {
          transform: translateY(0px);
        }
        50% {
          transform: translateY(18px);
        }
        100% {
          transform: translateY(0px);
        }
      }

      @media (max-width: 860px) {
        .nav-links {
          display: none;
        }
        .hero {
          padding: 32px;
        }
        .hero h1 {
          font-size: 32px;
        }
      }

      @media (hover: none) {
        .cursor-glow {
          display: none;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }
        * {
          animation: none !important;
          transition: none !important;
        }
        .cursor-glow {
          display: none;
        }
      }
