/* ============================================================
   AC Forge — static site styles
   Design tokens + components, distilled from the AC Forge
   Design System for a lightweight production build.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Saira:wght@500;600;700;800&family=Saira+Condensed:wght@600;700;800&display=swap');

:root{
  /* blue — the mark */
  --spark-400:#41B4FF; --spark-500:#3AA9F4; --azure-600:#1F74D2;
  --core-700:#1466C4; --navy-800:#063A86; --deep-900:#04275F;
  /* ember — the accent */
  --ember-300:#FF9D4D; --ember-400:#FF8C42; --ember-500:#FF6A1A; --ember-600:#D6480C; --ember-700:#B3370A;
  /* steel — neutrals */
  --ink:#0B0E13; --steel-900:#13171F; --steel-700:#2A323D; --steel-500:#5B6675; --steel-300:#99A4B2;
  --mist-100:#EEF1F5; --white:#FFFFFF; --page:#F7F9FB; --card-border:#E6EAEF; --line-100:#F2F4F7;
  /* gradients */
  --grad-mark:linear-gradient(135deg,var(--spark-400) 0%,var(--azure-600) 45%,var(--deep-900) 100%);
  --grad-ink:linear-gradient(160deg,#11151d 0%,var(--ink) 100%);
  /* semantic */
  --brand:var(--azure-600); --accent:var(--ember-500);
  --text-primary:var(--steel-900); --text-secondary:var(--steel-500); --text-muted:var(--steel-300);
  --text-link:var(--azure-600);
  --surface-card:var(--white); --surface-page:var(--page); --surface-sunken:var(--mist-100);
  --surface-ink:var(--ink); --surface-ink-2:#11151d;
  --border-subtle:var(--card-border); --border-ink:#1f2632;
  /* type */
  --font-display:'Saira Condensed','Saira',system-ui,sans-serif;
  --font-heading:'Saira',system-ui,sans-serif;
  --font-body:'Archivo',system-ui,sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  /* radii + shadow + motion */
  --radius-sm:8px; --radius-md:10px; --radius-lg:14px; --radius-xl:19px;
  --shadow-card:0 2px 18px rgba(20,40,80,0.05);
  --shadow-pop:0 8px 30px rgba(20,40,80,0.10);
  --shadow-modal:0 24px 70px rgba(8,18,40,0.28);
  --glow-spark:radial-gradient(circle,rgba(31,116,224,0.34),rgba(31,116,224,0) 66%);
  --glow-ember:radial-gradient(circle,rgba(255,106,26,0.16),rgba(255,106,26,0) 66%);
  --ease-out:cubic-bezier(0.22,0.61,0.36,1); --ease-in-out:cubic-bezier(0.45,0,0.25,1);
  --dur-fast:120ms; --dur:180ms; --dur-slow:260ms;
  --cmax:1120px; --legal-max:760px;
}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--surface-page);font-family:var(--font-body);color:var(--text-primary);-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:#fff}
img{display:block}
a{color:inherit}
h1,h2,h3{text-wrap:pretty}

/* keyframes */
@keyframes glowPulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1;letter-spacing:.005em;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;border:1px solid transparent;transition:filter var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out);-webkit-tap-highlight-color:transparent}
.btn:hover{filter:brightness(.93)}
.btn:active{transform:translateY(1px)}
.btn--lg{height:52px;padding:0 28px;font-size:16.5px;gap:9px}
.btn--sm{height:36px;padding:0 14px;font-size:13.5px;gap:7px}
.btn--primary{background:var(--brand);color:#fff}
.btn--accent{background:var(--accent);color:#fff}
.btn--secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle)}
.btn--dark{background:var(--surface-ink-2);color:#fff;border-color:var(--border-ink)}

/* ---- badges ---- */
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;font-family:var(--font-body);font-weight:600;font-size:11.5px;letter-spacing:.04em;line-height:1;border-radius:999px;white-space:nowrap}
.badge--brand{color:var(--core-700);background:rgba(31,116,224,.10)}
.badge--accent{color:var(--ember-600);background:rgba(255,106,26,.12)}
.badge--neutral{color:var(--steel-700);background:var(--mist-100)}

/* ---- cards ---- */
.card{background:var(--surface-card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.card--int{transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.card--int:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}

/* ---- layout helpers ---- */
.wrap{max-width:var(--cmax);margin:0 auto;padding-left:40px;padding-right:40px}
.eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.eyebrow .n{font-family:var(--font-heading);font-weight:700;color:var(--accent);font-size:14px}
.eyebrow .l{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--steel-500)}
.eyebrow.on-dark .l{color:#8895A6}
.h2{font-family:var(--font-heading);font-weight:700;font-size:40px;letter-spacing:-0.01em;margin:0}
.lead{font-size:16px;line-height:1.6;color:var(--text-secondary)}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:40;background:var(--ink);border-bottom:1px solid var(--border-ink)}
.nav__in{max-width:var(--cmax);margin:0 auto;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav__logo{display:inline-flex;align-items:center}
.nav__logo img{height:26px;width:auto}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__link{font-family:var(--font-body);font-size:14.5px;font-weight:500;text-decoration:none;color:#AEB9C8;padding-bottom:4px;line-height:1;border-bottom:2px solid transparent;transition:color var(--dur) var(--ease-out)}
.nav__link:hover{color:#fff}
.nav__link.is-active{color:#fff;border-bottom-color:var(--accent)}

/* ---- footer ---- */
.foot{background:var(--ink);color:#fff;padding:64px 40px 36px;font-family:var(--font-body)}
.foot__in{max-width:var(--cmax);margin:0 auto}
.foot__top{display:flex;flex-wrap:wrap;gap:56px;justify-content:space-between}
.foot__cols{display:flex;gap:64px;flex-wrap:wrap}
.foot__h{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.foot__col a{display:block;font-size:13.5px;color:#AEB9C8;text-decoration:none;margin-bottom:11px;transition:color var(--dur) var(--ease-out)}
.foot__col a:hover{color:#fff}
.foot__bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--border-ink);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.foot__bottom div,.foot__bottom a{font-size:12.5px;color:#6E7C90;text-decoration:none}

/* ---- hero ---- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero .glow{position:absolute;border-radius:50%;pointer-events:none}
.kicker{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:-0.01em;margin:0}

/* ---- legal ---- */
.legal{max-width:var(--legal-max);margin:0 auto;padding:56px 40px 90px}
.legal h2{font-family:var(--font-heading);font-weight:700;font-size:23px;letter-spacing:-0.01em;margin:44px 0 14px;color:var(--steel-900);display:flex;gap:12px;align-items:baseline}
.legal h2 .num{font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--accent);flex:none}
.legal h3{font-family:var(--font-heading);font-weight:700;font-size:16.5px;margin:24px 0 8px;color:var(--steel-900)}
.legal p{font-size:15px;line-height:1.75;color:var(--steel-700);margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:22px}
.legal li{font-size:15px;line-height:1.7;color:var(--steel-700);margin-bottom:8px}
.legal a{color:var(--text-link);text-decoration:none}
.legal a:hover{text-decoration:underline}
.legal strong{color:var(--steel-900);font-weight:600}
.legal .caps{font-size:14px;line-height:1.7;color:var(--steel-700)}
.callout{background:rgba(255,106,26,0.05);border:1px solid rgba(255,106,26,0.24);border-radius:12px;padding:24px 26px;margin-bottom:36px}
.callout .lab{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.callout p{font-size:14.5px;line-height:1.7;color:var(--steel-700);margin:0}

/* ---- responsive ---- */
@media (max-width:900px){
  .wrap{padding-left:24px;padding-right:24px}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr !important}
  .split{grid-template-columns:1fr !important}
  .nav__in,.foot,.hero-pad{padding-left:24px;padding-right:24px}
}
@media (max-width:680px){
  .nav__link.hide-sm{display:none}
  .display{font-size:44px !important}
  .h2{font-size:30px}
  .swatch-grid-6{grid-template-columns:repeat(3,1fr) !important}
}
