:root{
  --ink:#060A14;
  --surface:#0E1626;
  --surface-mid:#16223B;
  --line-dark:rgba(255,255,255,0.08);
  --paper:#F3F5F8;
  --paper-card:#FFFFFF;
  --muted:#5B6B84;
  --cyan:#22D3EE;
  --cyan-deep:#0891B2;
  --coral:#FF6B4A;
  --coral-deep:#E14E2E;
}

body{ font-family:'Inter',sans-serif; background:var(--paper); overflow-x:hidden; }
.display{ font-family:'Space Grotesk',sans-serif; }
.mono{ font-family:'JetBrains Mono',monospace; }

/* ── Nav ── */
.glass-nav{ background:rgba(6,10,20,0.85); backdrop-filter:blur(14px); }
.nav-scrolled{ box-shadow:0 8px 32px rgba(0,0,0,0.35); background:rgba(6,10,20,0.97); }
.nav-link{ position:relative; }
.nav-link::after{ content:''; position:absolute; bottom:-2px; left:0; right:0; height:1.5px; background:var(--cyan); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.nav-link:hover::after{ transform:scaleX(1); }

/* ── Reveal on scroll ── */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ── Eyebrow / tags ── */
.eyebrow{ font-family:'JetBrains Mono',monospace; font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.status-tag{ font-family:'JetBrains Mono',monospace; font-size:.64rem; font-weight:600; letter-spacing:.06em; }

/* ── Hero scanline / grid backdrop ── */
.scan-grid{ background-image:linear-gradient(rgba(34,211,238,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,0.06) 1px,transparent 1px); background-size:42px 42px; }
.scanline{ position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(34,211,238,0.65),transparent); animation:scan-move 5s linear infinite; }
@keyframes scan-move{ 0%{ top:0%; opacity:0; } 8%{ opacity:1; } 92%{ opacity:1; } 100%{ top:100%; opacity:0; } }

/* ── Ticker ── */
.ticker-track{ display:flex; width:max-content; animation:ticker-scroll 32s linear infinite; }
.ticker-track:hover{ animation-play-state:paused; }
@keyframes ticker-scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ── Cards ── */
.svc-card{ transition:all .3s ease; }
.svc-card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(6,10,20,0.14); border-color:var(--cyan); }
.pcard{ transition:all .35s ease; }
.pcard:hover .pcard-glow{ opacity:1; }
.pcard-glow{ opacity:0; transition:opacity .35s ease; }

.track-card{ transition:all .3s ease; }
.track-card:hover{ transform:translateY(-3px); }

/* ── Tabs ── */
.grc-tab{ cursor:pointer; transition:all .2s ease; }
.grc-tab.active{ background:var(--ink); color:#fff; }
.grc-tab:not(.active):hover{ background:rgba(6,10,20,0.06); }

/* ── Buttons ── */
.btn-cyan{ background:var(--cyan); color:#04222b; }
.btn-cyan:hover{ background:#5fe3f5; }
.btn-coral{ background:var(--coral); color:#2a0d05; }
.btn-coral:hover{ background:#ff8968; }

/* ── Form inputs ── */
.ga-input{ width:100%; background:var(--paper); border:1px solid #E2E8F0; color:var(--ink); font-size:.85rem; padding:.85rem 1.1rem; border-radius:.85rem; outline:none; transition:border-color .2s; }
.ga-input:focus{ border-color:var(--cyan); }

/* ── Stat digits ── */
.stat-num{ font-family:'JetBrains Mono',monospace; font-weight:700; }

/* ── LINE-style / floating support widget kept minimal (email/contact instead) ── */
#go-top{ position:fixed; right:20px; bottom:20px; width:44px; height:44px; border-radius:9999px; background:var(--ink); color:var(--cyan); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.25); opacity:0; pointer-events:none; transition:opacity .25s ease, transform .2s ease; z-index:9000; }
#go-top.show{ opacity:1; pointer-events:auto; }
#go-top:hover{ transform:translateY(-3px); }

.faq-item summary{ cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item[open] .faq-chevron{ transform:rotate(180deg); }

::selection{ background:var(--cyan); color:#04222b; }
