/* Axis site — light theme. Tokens → components. */
@font-face{font-family:'Glancyr';src:url('/glancyr-light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Glancyr';src:url('/glancyr-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Glancyr';src:url('/glancyr-medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Glancyr';src:url('/glancyr-semibold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Glancyr';src:url('/glancyr-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
:root{
  --bg:#FFFFFF; --bg-soft:#F5F6F9; --surface:#FFFFFF; --surface-2:#F1F4F8;
  --border:#E4E7EE; --border-2:#D7DCE6;
  --ink:#15171E; --muted:#5A6170; --faint:#8A90A0;
  --accent:#2458F0; --accent-soft:#1E4FD6; --accent-tint:#EAF0FE;
  --warn:#9A6A12; --warn-bg:#FBF3E1; --warn-bd:#EAD6A6;
  --ink-btn:#15171E;
  --shadow-s:0 2px 8px rgba(18,22,34,.06);
  --shadow-m:0 12px 34px -14px rgba(18,22,34,.22);
  --shadow-l:0 36px 90px -36px rgba(18,22,34,.42);
  --font-display:"Glancyr","Archivo",system-ui,sans-serif;
  --font-serif:"Instrument Serif",Georgia,serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --maxw:1200px;
  color-scheme:light;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;margin:0;text-wrap:balance;}
p{margin:0;}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(16px,4vw,40px);}
.narrow{max-width:820px;}
.center{text-align:center;}
.center-narrow{max-width:760px;margin-inline:auto;text-align:center;}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.lead{color:var(--muted);font-size:1.1rem;}
.lead.center{margin-inline:auto;max-width:56ch;}
.link-arrow{color:var(--accent);font-weight:600;font-size:.95rem;}
.link-arrow:hover{color:var(--accent-soft);}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:.95rem;
  padding:11px 20px;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:.15s;white-space:nowrap;}
.btn-sm{padding:8px 15px;font-size:.9rem;border-radius:9px;}
.btn-dark{background:var(--ink-btn);color:#fff;}
.btn-dark:hover{background:#000;transform:translateY(-1px);}
.btn-light{background:#fff;color:#15171E;box-shadow:var(--shadow-m);}
.btn-light:hover{background:#eef0f4;transform:translateY(-1px);}
.btn-blue{background:var(--accent);color:#fff;}
.btn-blue:hover{background:var(--accent-soft);transform:translateY(-1px);}
.btn-ghost{background:transparent;border-color:var(--border-2);color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}
.btn-glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(4px);}
.btn-glass:hover{background:rgba(255,255,255,.26);}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);transition:transform .32s cubic-bezier(.4,0,.2,1),background .25s,border-color .25s,box-shadow .25s;}
.nav[data-over-hero="true"]:not(.scrolled){background:transparent;border-color:transparent;}
.nav.scrolled{box-shadow:0 6px 24px -18px rgba(18,22,34,.5);}
.nav.nav-hidden{transform:translateY(-100%);}
.nav-wrap{max-width:1280px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px);height:66px;display:flex;align-items:center;gap:30px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-.03em;color:var(--ink);}
.brand-mark{width:28px;height:28px;display:block;}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-link{font-family:var(--font-display);font-size:.98rem;font-weight:500;color:var(--muted);}
.nav-link:hover{color:var(--ink);}
.nav-link.current{color:var(--ink);font-weight:600;}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.gridwrap{position:relative;}
.grid-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;}
.grid-btn:hover{color:var(--ink);background:var(--surface-2);}
.grid-btn[aria-expanded="true"]{color:var(--accent);background:var(--accent-tint);}
.logo-lockup{height:32px;width:auto;display:block;}

/* app-grid popup */
.grid-pop{position:absolute;top:calc(100% + 10px);right:0;width:340px;background:#fff;border:1px solid var(--border);
  border-radius:16px;box-shadow:var(--shadow-l);padding:14px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.16s;z-index:60;}
.grid-pop.open{opacity:1;visibility:visible;transform:translateY(0);}
.gp-head{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:4px 6px 10px;}
.gp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;}
.gp-app{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;}
.gp-app:hover{background:var(--surface-2);}
.gp-ico{width:30px;height:30px;flex:none;}
.gp-ico img{width:30px;height:30px;display:block;}
.gp-name{font-size:.88rem;font-weight:500;color:var(--ink);}
.gp-all{display:block;margin-top:8px;padding:10px 6px 4px;border-top:1px solid var(--border);color:var(--accent);font-weight:600;font-size:.88rem;}

/* hamburger (mobile) */
.hamburger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;border:0;background:transparent;cursor:pointer;padding:9px;}
.hamburger span{height:2px;background:var(--ink);border-radius:2px;transition:.2s;}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(560px,82vh,820px);margin-top:-66px;padding-top:66px;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:58% center;display:block;}
.hero-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(248,249,251,.95) 0%,rgba(248,249,251,.82) 26%,rgba(248,249,251,.44) 48%,rgba(248,249,251,.08) 72%,rgba(248,249,251,0) 88%),
  linear-gradient(0deg,var(--bg) 0%,rgba(255,255,255,.55) 14%,rgba(255,255,255,0) 40%);}
.hero-in{position:relative;z-index:2;width:100%;padding-block:clamp(40px,8vw,88px);}
.hero-col{max-width:600px;}
.hero-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.hero h1{font-size:clamp(2.7rem,6.3vw,4.9rem);line-height:.97;color:var(--ink);margin-top:16px;font-weight:700;}
.hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0;color:var(--accent-soft);}
.hero-sub{margin-top:20px;font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--muted);max-width:40ch;}
.hero-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.hero-cta.center{justify-content:center;}
.hero-dl{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;max-width:480px;}
.hero-dl input{flex:1 1 220px;min-width:0;padding:14px 16px;font-size:1rem;font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow-s);}
.hero-dl input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}
.hero-dl .btn{flex:none;}
.hero-dl-note{margin-top:14px;font-size:.84rem;color:var(--muted);max-width:46ch;line-height:1.5;}
.hero-dl-note b{color:var(--ink);font-weight:600;}
.hero-dl-note a{color:var(--accent);font-weight:600;}
.plan-credit-note{margin:22px auto 0;text-align:center;max-width:60ch;font-size:.95rem;color:var(--muted);line-height:1.55;}
.plan-credit-note b{color:var(--ink);}
.plan-credit-note a{color:var(--accent);font-weight:600;}
.trust{margin-top:28px;display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;color:var(--faint);font-family:var(--font-mono);}
.trust span{display:inline-flex;align-items:center;gap:7px;}
.dot{width:5px;height:5px;border-radius:50%;background:var(--accent);}

/* page hero (light inner pages) */
.hero-lite{padding-top:clamp(56px,8vw,96px);padding-bottom:0;}
.page-h1{font-size:clamp(2.3rem,5.2vw,3.6rem);margin-top:12px;}
.pt0{padding-top:28px;}

/* ---------- sections ---------- */
.section{padding-block:clamp(52px,8vw,104px);}
.section.alt{background:var(--bg-soft);border-block:1px solid var(--border);}
.sec-head{max-width:640px;margin-bottom:44px;}
.sec-head.centered{margin-inline:auto;text-align:center;}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-top:12px;}
.sec-head p{margin-top:14px;color:var(--muted);font-size:1.06rem;}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.pillar{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 22px;box-shadow:var(--shadow-s);}
.pico{width:42px;height:42px;border-radius:11px;background:var(--accent-tint);display:grid;place-items:center;color:var(--accent);margin-bottom:18px;}
.pillar h3{font-size:1.12rem;font-weight:700;}
.pillar p{margin-top:9px;color:var(--muted);font-size:.93rem;}

/* showcase features */
.features{display:grid;gap:clamp(48px,8vw,84px);}
.feature{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(28px,5vw,60px);align-items:center;}
.feature.rev .feature-media{order:-1;}
.feature .k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.feature h3{font-size:clamp(1.5rem,3.4vw,2.2rem);margin-top:12px;}
.feature-txt p{color:var(--muted);margin:14px 0 18px;font-size:1.04rem;max-width:44ch;}
.feature-media{min-width:0;}
.shot{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-m);}

/* suite grid */
.suite-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.suite-grid.big{grid-template-columns:repeat(5,1fr);}
.app{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;transition:.16s;box-shadow:var(--shadow-s);}
.app:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--appc) 50%,var(--border));box-shadow:var(--shadow-m);}
.tile{width:54px;height:54px;flex:none;}
.tile img{width:54px;height:54px;display:block;}
.tile.lg{width:72px;height:72px;}
.tile.lg img{width:72px;height:72px;}
.app .name{font-family:var(--font-display);font-weight:700;font-size:1.03rem;display:block;}
.app .fn{font-size:.82rem;color:var(--muted);margin-top:2px;display:block;}

/* app list (apps page) */
.applist{display:grid;gap:14px;}
.approw{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-s);scroll-margin-top:90px;}
.approw-txt h3{font-size:1.3rem;}
.approw-fn{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}
.approw-txt p{color:var(--muted);margin:10px 0 14px;max-width:62ch;}

/* pricing */
.beta-banner{display:flex;gap:16px;align-items:flex-start;margin-bottom:30px;padding:18px 20px;border-radius:14px;border:1px solid var(--warn-bd);background:var(--warn-bg);}
.beta-flag{flex:none;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--warn);padding:5px 10px;border-radius:999px;margin-top:2px;}
.beta-banner p{color:#5c4a1f;font-size:.92rem;line-height:1.55;}
.beta-banner b{color:var(--warn);}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start;}
.price-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px 22px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-s);}
.price-card.feat{border-color:var(--accent);box-shadow:0 20px 50px -26px rgba(36,88,240,.5);}
.pc-badge{position:absolute;top:-11px;left:22px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:4px 10px;border-radius:999px;}
.pc-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;}
.pc-price{display:flex;align-items:baseline;gap:6px;margin-top:-4px;}
.pc-price .amt{font-family:var(--font-display);font-weight:800;font-size:2.4rem;letter-spacing:-.03em;line-height:1;}
.pc-price .per{color:var(--muted);font-size:.85rem;}
.pc-sub{color:var(--muted);font-size:.9rem;margin-top:-8px;}
.pc-cta{width:100%;}
.pc-feat{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.pc-feat li{position:relative;padding-left:24px;color:var(--ink);font-size:.9rem;}
.pc-feat li::before{content:"";position:absolute;left:1px;top:6px;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);}
.enterprise{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 24px;border:1px dashed var(--border-2);border-radius:14px;background:var(--surface);}
.enterprise b{font-family:var(--font-display);}
.fineprint{margin-top:18px;font-size:.8rem;color:var(--faint);font-family:var(--font-mono);}

/* data / cloud */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.checklist{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px;}
.checklist.cols{grid-template-columns:1fr 1fr;}
.checklist li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:.98rem;}
.checklist li b{color:var(--ink);font-weight:600;}
.ck{flex:none;width:22px;height:22px;border-radius:7px;background:var(--accent-tint);position:relative;margin-top:1px;}
.ck::after{content:"";position:absolute;left:7px;top:5px;width:6px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(40deg);}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 22px;font-family:var(--font-mono);font-size:.82rem;color:var(--muted);box-shadow:var(--shadow-s);}
.prow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed var(--border);}
.prow:last-child{border-bottom:0;}
.prow b{color:var(--ink);font-weight:500;}
.pill{color:var(--accent);background:var(--accent-tint);padding:2px 9px;border-radius:999px;}

/* faq */
.faq{display:grid;gap:12px;max-width:820px;}
details{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:4px 20px;box-shadow:var(--shadow-s);}
details[open]{border-color:var(--border-2);}
summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:16px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";color:var(--accent);font-size:1.3rem;font-family:var(--font-mono);transition:.2s;}
details[open] summary::after{transform:rotate(45deg);}
details p{padding:0 0 20px;color:var(--muted);font-size:.96rem;line-height:1.6;}
details p a{color:var(--accent);font-weight:600;}

/* prose (open source) */
.prose h2{font-size:1.5rem;margin-top:38px;}
.prose h2:first-child{margin-top:0;}
.prose p{color:var(--muted);margin-top:12px;font-size:1.02rem;line-height:1.7;}
.prose b{color:var(--ink);}
.table-wrap{overflow-x:auto;margin-top:18px;}
table.credits{width:100%;border-collapse:collapse;font-size:.92rem;min-width:420px;}
.credits th,.credits td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);}
.credits th{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.credits td:first-child{display:flex;align-items:center;gap:10px;font-weight:600;}
.ti{width:26px;height:26px;flex:none;}
.ti img{width:26px;height:26px;display:block;}
.credits code{font-family:var(--font-mono);font-size:.85rem;color:var(--accent-soft);background:var(--accent-tint);padding:2px 7px;border-radius:6px;}

/* download */
.platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.plat{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 24px;text-align:center;box-shadow:var(--shadow-s);color:var(--accent);}
.plat-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);margin-top:12px;}
.plat-sub{color:var(--muted);font-size:.86rem;margin-top:6px;}
.soon{display:inline-block;margin-top:14px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-bd);padding:4px 10px;border-radius:999px;}
.plat-ready{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-m);}
.plat-ready .soon{color:#0a7d34;background:rgba(16,160,70,.1);border-color:rgba(16,160,70,.3);}
.hero-dl.center-dl{margin-left:auto;margin-right:auto;justify-content:center;}
.hero-dl-note.center{text-align:center;margin-left:auto;margin-right:auto;}
.dl-note{margin-top:34px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow-s);}
.dl-note h3{font-size:1.1rem;margin-bottom:16px;}

/* closer + waitlist */
.closer{text-align:center;}
.closer h2{font-size:clamp(2rem,5vw,3rem);}
.closer .lead{margin-top:14px;}
.waitform{margin:28px auto 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.waitform input{padding:12px 16px;border-radius:11px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink);font-size:.95rem;min-width:min(300px,78vw);font-family:var(--font-body);}
.waitform input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
.formmsg{margin-top:14px;font-size:.9rem;min-height:1.2em;color:var(--accent-soft);}

/* footer */
.footer{background:var(--bg-soft);border-top:1px solid var(--border);padding-block:52px 40px;}
.foot-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(16px,4vw,40px);}
.foot-top{display:grid;grid-template-columns:1.3fr 2fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--border);}
.foot-tag{color:var(--muted);font-size:.92rem;margin-top:14px;max-width:34ch;}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fcol{display:flex;flex-direction:column;gap:10px;}
.ftitle{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;}
.fcol a{color:var(--muted);font-size:.92rem;}
.fcol a:hover{color:var(--ink);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:24px;}
.foot-floww{display:flex;align-items:center;gap:14px;color:var(--faint);font-size:.82rem;}
.foot-floww img{display:block;}
.foot-legal{color:var(--faint);font-size:.8rem;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .pillars{grid-template-columns:repeat(2,1fr);}
  .suite-grid,.suite-grid.big{grid-template-columns:repeat(3,1fr);}
  .price-grid{grid-template-columns:repeat(2,1fr);}
  .platforms{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .nav-links{position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 20px 16px;box-shadow:var(--shadow-m);display:none;}
  .nav-links.open{display:flex;}
  .nav-link{padding:12px 0;width:100%;color:var(--ink)!important;}
  .hamburger{display:flex;}
  .nav-right{margin-left:auto;order:2;}
  .brand{order:0;}
  .hamburger{order:3;}
  .gridwrap{display:none;}
  .nav-wrap{gap:12px;}
  .feature{grid-template-columns:1fr;}
  .feature.rev .feature-media{order:0;}
  .split{grid-template-columns:1fr;gap:28px;}
  .checklist.cols{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr;gap:28px;}
  .approw{grid-template-columns:1fr;gap:16px;}
  .grid-pop{right:auto;left:0;width:min(340px,86vw);}
}
@media (max-width:560px){
  .suite-grid,.suite-grid.big{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .foot-cols{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}

/* --- Axis × PSC co-brand page --- */
.psc-hero .hero-bg img{object-position:center 44%;}
/* Centered hero with an even (no side-to-side fade) dark overlay so the white
   logos + text read cleanly over the stadium image at every width. */
.psc-hero .hero-scrim{background:rgba(9,13,24,.66);}
.psc-hero .hero-in{display:flex;justify-content:center;}
.psc-hero .hero-col{max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;}
.psc-hero h1{color:#fff;}
.psc-hero .hero-sub{color:rgba(255,255,255,.9);max-width:48ch;}
.psc-lockup{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-bottom:30px;}
.psc-lockup .psc-axis{height:46px;width:auto;}
.psc-lockup .psc-mark{height:52px;width:auto;}
.psc-lockup .psc-x{font-family:'Instrument Serif',serif;font-style:italic;font-size:32px;line-height:1;color:rgba(255,255,255,.72);}
.psc-hero .hero-cta{justify-content:center;}
.hero-fine{margin-top:20px;font-size:.95rem;color:rgba(255,255,255,.85);}
.hero-fine a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
/* Light button variants for dark backgrounds. */
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:#eef1f5;transform:translateY(-1px);}
.btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.pico.psc-step{display:inline-flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:18px;}
@media (max-width:640px){
  .psc-lockup{gap:14px;margin-bottom:24px;}
  .psc-lockup .psc-axis{height:36px;}
  .psc-lockup .psc-mark{height:40px;}
}

/* --- Axis Forge page --- */
.spark{display:inline-block;width:1em;height:1em;vertical-align:-.12em;color:var(--accent);}

/* hero: headline block over a large, width-spanning product stage */
.forge-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border);
  background:
    radial-gradient(120% 80% at 50% -10%,rgba(90,120,230,.28) 0%,rgba(10,12,20,0) 55%),
    linear-gradient(180deg,rgba(9,11,19,.72) 0%,rgba(9,11,19,.84) 60%,rgba(9,11,19,.92) 100%),
    var(--forge-hero-bg) center/cover no-repeat,
    #0a0c14;
  padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(44px,6vw,72px);}
.forge-hero-head{max-width:720px;margin:0 auto;text-align:center;}
.forge-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:#aec1ff;}
.forge-eyebrow .spark{width:16px;height:16px;}
.forge-h1{font-size:clamp(3rem,8.4vw,5.8rem);line-height:.94;margin-top:16px;font-weight:700;letter-spacing:-.025em;color:#fff;}
.forge-h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0;color:#b9c8ff;}
.forge-lede{margin:22px auto 0;font-size:clamp(1.12rem,2.3vw,1.42rem);color:rgba(236,240,250,.86);max-width:44ch;line-height:1.45;}
.forge-hero .hero-cta{margin-top:30px;justify-content:center;}
.forge-hero .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.26);color:#fff;}
.forge-hero .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);}
.forge-hero-fine{margin-top:18px;font-size:.82rem;color:rgba(236,240,250,.55);font-family:var(--font-mono);}
.forge-hero-stage{margin-top:clamp(36px,5vw,56px);}
.forge-stage-cap{margin-top:16px;text-align:center;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.02em;color:rgba(236,240,250,.5);}

/* rounded device-ish frame around a real app screenshot */
.forge-frame{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--border-2);background:#1b1d24;box-shadow:var(--shadow-m);}
.forge-frame.lg{border-radius:18px;box-shadow:var(--shadow-l);}
.forge-frame .ff-bar{display:flex;gap:7px;padding:11px 14px;background:#23262f;border-bottom:1px solid rgba(255,255,255,.07);}
.forge-frame .ff-bar span{width:11px;height:11px;border-radius:50%;background:#3a3e4a;}
.forge-frame img{display:block;width:100%;height:auto;}

/* editorial feature rows (alternating) */
.forge-rows{display:grid;gap:clamp(44px,7vw,88px);}
.forge-row{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(28px,5vw,60px);align-items:center;}
.forge-row.rev .forge-row-media{order:1;}
.forge-row-media{min-width:0;}
.forge-row-txt{min-width:0;}
.forge-row-txt .k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.forge-row-txt h3{font-size:clamp(1.5rem,3.4vw,2.2rem);margin-top:12px;}
.forge-row-txt p{color:var(--muted);margin-top:14px;font-size:1.05rem;line-height:1.6;max-width:46ch;}

/* how it works — designed step flow */
.forge-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.forge-step{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 24px;box-shadow:var(--shadow-s);}
.forge-step .fs-n{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.2rem;}
.forge-step h3{font-size:1.2rem;margin-top:18px;}
.forge-step p{color:var(--muted);margin-top:10px;font-size:.95rem;line-height:1.55;}
@media (min-width:821px){.forge-step:not(:last-child)::after{content:"";position:absolute;top:49px;right:-13px;width:26px;height:2px;background:var(--border-2);z-index:1;}}

/* why forge — editorial split (sticky heading + ruled list) */
.forge-why{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,6vw,76px);align-items:start;}
.forge-why-head{position:sticky;top:90px;}
.forge-why-head h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:12px;}
.forge-why-head .lead{margin-top:14px;max-width:34ch;}
.forge-why-list{list-style:none;padding:0;margin:0;}
.forge-why-list li{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--border);}
.forge-why-list li:first-child{border-top:0;padding-top:0;}
.fw-ico{flex:none;width:42px;height:42px;border-radius:11px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.fw-ico svg{display:block;}
.forge-why-list li>div b{font-family:var(--font-display);font-size:1.08rem;display:block;}
.forge-why-list li>div span{color:var(--muted);font-size:.96rem;margin-top:6px;display:block;line-height:1.55;}

/* pricing */
.forge-sub{font-size:1.2rem;margin-top:8px;}
.forge-note{color:var(--muted);font-size:.95rem;margin-top:6px;margin-bottom:20px;}
.forge-bundles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:42px;}
.forge-bundle{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px 20px;text-align:center;box-shadow:var(--shadow-s);display:flex;flex-direction:column;align-items:center;}
.forge-bundle.pop{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-m);}
.forge-bundle .fb-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap;}
.forge-bundle .fb-credits{font-family:var(--font-display);font-weight:800;font-size:2.3rem;letter-spacing:-.03em;line-height:1;color:var(--ink);}
.forge-bundle .fb-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:6px;}
.forge-bundle .fb-price{margin-top:14px;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--accent);}
.forge-bundle .fb-buy{margin-top:16px;width:100%;}
.forge-incl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.forge-inc{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow-s);}
.forge-inc .fi-plan{font-family:var(--font-display);font-weight:700;font-size:1.1rem;}
.forge-inc .fi-price{color:var(--muted);font-size:.85rem;margin-top:2px;}
.forge-inc .fi-credits{font-family:var(--font-display);font-weight:800;font-size:2rem;letter-spacing:-.02em;margin-top:14px;color:var(--accent);line-height:1;}
.forge-inc .fi-unit{font-size:.82rem;color:var(--muted);margin-top:4px;}
@media (max-width:900px){
  .forge-why{grid-template-columns:1fr;gap:28px;}
  .forge-why-head{position:static;}
}
@media (max-width:820px){
  .forge-row{grid-template-columns:1fr;gap:24px;}
  .forge-row.rev .forge-row-media{order:0;}
  .forge-flow{grid-template-columns:1fr;}
  .forge-bundles{grid-template-columns:repeat(2,1fr);}
  .forge-incl{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){
  .forge-bundles,.forge-incl{grid-template-columns:1fr;}
}
