/* =====================================================================
   Amove shared dark theme (matches amove.io).
   Link on every page:  <link rel="stylesheet" href="theme-dark.css">
   Each page sets its own personality by overriding the --accent group,
   e.g. a blue-led page:  :root{ --accent:var(--blue); --accent-hi:var(--blue-hi);
        --accent-deep:var(--blue-deep); --accent-dim:var(--blue-dim);
        --accent-glow:var(--blue-glow); --accent-border:var(--border-blue); }
   Same palette everywhere; applied differently page to page.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800;900&family=Archivo:wght@600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap');

:root{
  /* surfaces */
  --bg:#080b14; --bg-section:#0d1322; --bg-mid:#0a0e1a;
  --surface:#121828; --surface-hi:#161d30; --surface-card:#141b2d;
  /* text */
  --text:#eef1fa; --text-soft:#c2c9de; --text-dim:#aab2c9; --text-mute:#6f7a96;
  /* palette */
  --orange:#f59a32; --orange-hi:#f9b455; --orange-deep:#ef7d2f; --orange-dim:#f59a3224; --orange-glow:#f59a3261; --border-orange:#f59a3247;
  --blue:#6f8cf4; --blue-hi:#6f9bff; --blue-deep:#5a73d8; --blue-dim:#6f8cf424; --blue-glow:#6f8cf457; --border-blue:#6f8cf447;
  --green:#3ddc97; --green-hi:#5ee8ab; --green-deep:#2bbf80; --green-dim:#3ddc9722; --green-glow:#3ddc9740; --border-green:#3ddc9740;
  --cyan:#5eead4; --cyan-hi:#7df3e2; --cyan-dim:#5eead422; --cyan-glow:#5eead440; --border-cyan:#5eead440;
  --purple:#a78bfa; --purple-hi:#bda4ff; --purple-deep:#8b6df0; --purple-dim:#a78bfa22; --purple-glow:#a78bfa45; --border-purple:#a78bfa45;
  --border:#96a5cd24; --border-hi:#a0afd738;
  /* page personality accent (override per page; defaults to amber) */
  --accent:var(--orange); --accent-hi:var(--orange-hi); --accent-deep:var(--orange-deep); --accent-dim:var(--orange-dim); --accent-glow:var(--orange-glow); --accent-border:var(--border-orange);
  /* type + tokens */
  --font-sans:'Hanken Grotesk','Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-display:'Archivo','Hanken Grotesk',sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',monospace;
  --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-2xl:22px; --radius-full:9999px;
  --container:1160px;
  --shadow-lg:0 16px 40px -12px rgba(0,0,0,.55);
  --shadow-card:0 10px 30px -14px rgba(0,0,0,.7);
  --shadow-accent:0 10px 30px var(--accent-glow);
  --shadow-orange:0 10px 30px rgba(245,154,50,.22);
  --shadow-md:0 4px 16px rgba(0,0,0,.4);
  /* nav.js + legacy --am-* aliases, remapped to dark */
  --am-navy-400:#2a3a5e; --am-navy-500:var(--text); --am-navy-600:var(--bg-mid); --am-navy-700:var(--bg); --am-navy-800:#05070e; --am-navy-50:#1a2236;
  --am-gray-0:var(--surface); --am-gray-50:var(--bg-section); --am-gray-100:var(--surface-hi); --am-gray-200:var(--border); --am-gray-300:var(--border-hi); --am-gray-400:var(--text-mute); --am-gray-500:var(--text-mute); --am-gray-600:var(--text-soft); --am-gray-700:var(--text-soft); --am-gray-800:var(--text); --am-gray-900:var(--text);
  --am-orange-50:var(--orange-dim); --am-orange-100:var(--orange-dim); --am-orange-300:var(--orange-hi); --am-orange-400:var(--orange-hi); --am-orange-500:var(--orange); --am-orange-600:var(--orange-deep); --am-orange-700:var(--orange-hi);
  --am-teal-50:var(--blue-dim); --am-teal-300:var(--blue-hi); --am-teal-400:var(--blue-hi); --am-teal-500:var(--blue); --am-teal-600:var(--blue);
  --am-success:var(--green);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
body{font-family:var(--font-sans);color:var(--text-soft);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{max-width:var(--container);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--text-dim)}
/* strict typography: balance multi-line titles/subtitles, never orphan a single word on its own line */
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
.hero__title,.section__title,.hero__subtitle,.section__sub{text-wrap:balance}

/* BUTTONS (amber = brand action; --accent buttons available for variety) */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:16px;padding:14px 26px;border-radius:12px;transition:transform .2s,box-shadow .2s,filter .2s,background .2s,border-color .2s;cursor:pointer;border:none}
.btn--primary{background:linear-gradient(180deg,var(--orange-hi),var(--orange));color:#1b1206;box-shadow:var(--shadow-orange)}
.btn--primary:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 14px 34px rgba(245,154,50,.3)}
.btn--ghost{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border-hi)}
.btn--ghost:hover{background:rgba(255,255,255,.08);border-color:var(--text-mute)}
.btn--accent{background:linear-gradient(180deg,var(--accent-hi),var(--accent));color:#0a0e1a;box-shadow:0 10px 30px var(--accent-glow)}
.btn--accent:hover{filter:brightness(1.07);transform:translateY(-2px)}
.btn--white{background:linear-gradient(180deg,var(--orange-hi),var(--orange));color:#1b1206;box-shadow:var(--shadow-orange)}
.btn--white:hover{filter:brightness(1.06);transform:translateY(-2px)}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(3px)}

/* SECTIONS */
.section{padding:90px 0}
.section--gray{background:var(--bg-section)}
.section__head{text-align:center;max-width:740px;margin:0 auto 52px}
.section__eyebrow{color:var(--accent);margin-bottom:14px}
.section__title{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.025em;color:var(--text);line-height:1.12}
.section__sub{margin-top:16px;font-size:17.5px;color:var(--text-dim)}

/* HERO scaffolding (pages reuse these) */
.hero{position:relative;background:var(--bg);color:var(--text);overflow:hidden;padding:118px 0 90px}
.hero__glow{position:absolute;inset:0;pointer-events:none}
.hero__glow::before{content:'';position:absolute;width:780px;height:780px;left:-220px;top:-280px;background:radial-gradient(circle,var(--accent-glow),transparent 60%);opacity:.55}
.hero__glow::after{content:'';position:absolute;width:720px;height:560px;right:-180px;bottom:-200px;background:radial-gradient(ellipse,var(--blue-glow),transparent 64%);opacity:.5}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse 80% 70% at 50% 28%,#000 30%,transparent 74%)}
.hero__inner{position:relative;text-align:center;max-width:900px;margin:0 auto}
.hero__eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 16px;border-radius:var(--radius-full);background:rgba(255,255,255,.04);border:1px solid var(--border-hi);color:var(--accent-hi);margin-bottom:28px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.hero__eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:ampulse 1.9s infinite}
@keyframes ampulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero__title{font-size:calc(clamp(42px,6vw,72px) + 6px);line-height:1.02;font-weight:800;letter-spacing:-.03em;margin-bottom:22px;background:linear-gradient(180deg,#ffffff,#dfe4f3);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__title .accent{background:linear-gradient(96deg,var(--accent-hi),var(--accent-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__subtitle{font-size:clamp(17px,2.2vw,20px);line-height:1.55;color:var(--text-dim);max-width:720px;margin:0 auto 36px;font-weight:400}
.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero__stats{margin-top:52px;display:flex;justify-content:center;gap:44px;flex-wrap:wrap}
.hero__stat{text-align:center}
.hero__stat b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;white-space:nowrap;color:var(--text)}
.hero__stat b .u{color:var(--accent-hi)}
.hero__stat>span{font-size:12px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:6px;display:block}
.hero__stat b .u{display:inline}

/* generic card + final CTA scaffolding */
.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px 26px;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--accent-border)}
.final{position:relative;overflow:hidden;background:var(--bg-mid);color:var(--text);text-align:center;padding:84px 0;border-top:1px solid var(--border)}
.final::before{content:'';position:absolute;left:50%;top:-160px;transform:translateX(-50%);width:680px;height:360px;background:radial-gradient(ellipse,var(--accent-glow),transparent 65%);pointer-events:none}
.final h3{position:relative;font-size:clamp(30px,4.6vw,46px);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin-bottom:16px;color:var(--text)}
.final p{position:relative;font-size:18.5px;color:var(--text-dim);max-width:600px;margin:0 auto 34px}

/* FOOTER */
.footer{background:#05070e;border-top:1px solid var(--border);color:var(--text-mute);padding:48px 0 34px}
.footer a{color:var(--text-soft)}.footer a:hover{color:var(--text)}
.footer .logo{color:var(--text)}
.footer .logo__dot{box-shadow:0 0 0 4px var(--orange-dim)}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
