/* =====================================================================================================================
   ASTORRE X — LAUNCH DESIGN SYSTEM (shared by amstercode.com and astorrex.com)
   ---------------------------------------------------------------------------------------------------------------------
   The Amstercode / Astorre X DNA, kept: near-black space, ice-cyan signal light, laser streaks, orbits, binary data
   streams, HUD brackets, perspective grids. Added: one type scale, one spacing rhythm, one accent per product, and
   motion that is purposeful, cheap (transform/opacity only) and switched off for prefers-reduced-motion.
   Everything is namespaced (ax-, axh-, axf-, axv-) so it coexists with each site's legacy stylesheet.
   ===================================================================================================================== */

:root{
  --ax-void:#010406;
  --ax-deep:#03101a;
  --ax-ink:#eef8fa;
  --ax-sub:#bccbd0;
  --ax-muted:#8aa1a8;
  --ax-dim:#6a8188;
  --ax-line:rgba(140,228,245,.13);
  --ax-line-2:rgba(140,228,245,.24);
  --ax-line-3:rgba(140,228,245,.42);
  --ax-glass:rgba(140,228,245,.045);
  --ax-cyan:#8ce4f5;
  --ax-ice:#e9fdff;
  --ax-blue:#82b4ff;
  --ax-panel:linear-gradient(180deg,rgba(11,29,37,.78),rgba(3,11,15,.9));
  --ax-accent:#8ce4f5;
  --ax-accent-rgb:140,228,245;

  --ax-font:Inter,"Inter var","Segoe UI Variable Display","Segoe UI Variable Text",-apple-system,BlinkMacSystemFont,"SF Pro Display",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ax-mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;

  --ax-w:1240px;
  --ax-gutter:clamp(16px,4vw,40px);
  --ax-s1:clamp(56px,7vw,96px);
  --ax-s2:clamp(88px,11vw,152px);
  --ax-r:18px;
  --ax-ease:cubic-bezier(.2,.7,.2,1);
  --ax-header:76px;
}

/* product identities — one hue each, all from the same cold spectrum except Opportunity's restrained gold */
[data-ax-accent="text"]{--ax-accent:#8ce4f5;--ax-accent-rgb:140,228,245}
[data-ax-accent="voice"]{--ax-accent:#a3b9ff;--ax-accent-rgb:163,185,255}
[data-ax-accent="phone"]{--ax-accent:#74ecc8;--ax-accent-rgb:116,236,200}
[data-ax-accent="opportunity"]{--ax-accent:#f0cf86;--ax-accent-rgb:240,207,134}
[data-ax-accent="government-desk"]{--ax-accent:#cfdcea;--ax-accent-rgb:207,220,234}
[data-ax-accent="smart"]{--ax-accent:#c8acff;--ax-accent-rgb:200,172,255}
[data-ax-accent="app"]{--ax-accent:#e9fdff;--ax-accent-rgb:233,253,255}

/* ------------------------------------------------------------------ base for pages built on this system */
.ax-page{position:relative;isolation:isolate;color:var(--ax-ink);font-family:var(--ax-font);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
.ax-page *,.ax-page *::before,.ax-page *::after{box-sizing:border-box}
.ax-page img,.ax-page svg{max-width:100%}
.ax-page a{color:inherit}
.ax-page :focus-visible{outline:2px solid var(--ax-ice);outline-offset:3px;border-radius:6px}
.ax-page p{margin:0}
.ax-page h1,.ax-page h2,.ax-page h3,.ax-page h4{margin:0;font-family:var(--ax-font);color:var(--ax-ink)}
.ax-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* deep-space field: starfield canvas + nebula, fixed behind the page */
.ax-space{position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(1100px 700px at 82% -8%,rgba(46,128,150,.20),transparent 62%),
  radial-gradient(900px 640px at -10% 34%,rgba(48,82,140,.12),transparent 66%),
  radial-gradient(800px 600px at 60% 108%,rgba(var(--ax-accent-rgb),.07),transparent 70%),
  linear-gradient(180deg,#020609 0%,#010406 48%,#02070a 100%)}
.ax-space canvas{position:absolute;inset:0;width:100%;height:100%}
.ax-space::after{content:"";position:absolute;inset:0;opacity:.5;background:
  linear-gradient(11deg,transparent 0 31%,rgba(140,228,245,.10) 31.06%,rgba(233,253,255,.22) 31.1%,transparent 31.2% 100%),
  linear-gradient(-8deg,transparent 0 74%,rgba(140,228,245,.08) 74.06%,rgba(233,253,255,.18) 74.1%,transparent 74.2% 100%)}

/* ------------------------------------------------------------------ layout */
.ax-wrap{width:min(var(--ax-w),100% - 2*var(--ax-gutter));margin-inline:auto;position:relative}
.ax-wrap--narrow{width:min(880px,100% - 2*var(--ax-gutter))}
.ax-section{position:relative;padding-block:var(--ax-s2)}
.ax-section--tight{padding-block:var(--ax-s1)}
.ax-section--line::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ax-line-2) 20%,var(--ax-line-2) 80%,transparent)}
.ax-section--line::after{content:"";position:absolute;top:-1px;left:-20%;width:18%;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,rgba(var(--ax-accent-rgb),.6),var(--ax-ice),transparent);filter:blur(.4px);
  animation:axSignal 7s linear infinite}
@keyframes axSignal{0%{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(680%);opacity:0}}
.ax-head{display:grid;gap:18px;max-width:780px;margin-bottom:clamp(40px,5vw,64px)}
.ax-head--center{margin-inline:auto;text-align:center;justify-items:center}
.ax-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.ax-split--wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.ax-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,32px)}
.ax-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,32px)}

/* ------------------------------------------------------------------ type */
.ax-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font:700 11px/1.2 var(--ax-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ax-accent)}
.ax-eyebrow::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--ax-ice);box-shadow:0 0 0 3px rgba(var(--ax-accent-rgb),.14),0 0 12px rgba(var(--ax-accent-rgb),.9)}
.ax-eyebrow b{font-weight:700;color:var(--ax-dim)}
.ax-h1{font-size:clamp(44px,7.4vw,104px);line-height:.95;letter-spacing:-.045em;font-weight:820;text-wrap:balance}
.ax-h2{font-size:clamp(34px,4.8vw,64px);line-height:1;letter-spacing:-.035em;font-weight:790;text-wrap:balance}
.ax-h3{font-size:clamp(21px,2vw,26px);line-height:1.18;letter-spacing:-.018em;font-weight:720}
.ax-h4{font-size:17px;line-height:1.3;letter-spacing:-.005em;font-weight:700}
.ax-grad{color:transparent;background:linear-gradient(96deg,#d6f8ff 0%,var(--ax-accent) 46%,#79a9ff 100%);-webkit-background-clip:text;background-clip:text}
.ax-dimtext{color:var(--ax-dim)}
.ax-lead{font-size:clamp(18px,1.55vw,21px);line-height:1.58;color:var(--ax-sub);max-width:62ch;text-wrap:pretty}
.ax-body{color:var(--ax-sub);line-height:1.65;max-width:64ch}
.ax-small{font-size:14px;line-height:1.55;color:var(--ax-muted)}
.ax-mono{font-family:var(--ax-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ax-muted)}
.ax-mono b{color:var(--ax-ice);font-weight:700}

/* ------------------------------------------------------------------ buttons */
.ax-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ax-btn{--b:rgba(var(--ax-accent-rgb),.42);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;
  border-radius:12px;border:1px solid var(--b);font:700 15px/1.15 var(--ax-font);letter-spacing:.005em;text-decoration:none!important;text-align:center;
  overflow:hidden;cursor:pointer;transition:transform .2s var(--ax-ease),box-shadow .2s,border-color .2s,background .2s,color .2s}
.ax-btn-primary{color:#021015!important;border-color:transparent;background:linear-gradient(135deg,#f2fdff 0%,#c4f3fc 42%,var(--ax-accent) 100%);
  box-shadow:0 0 0 1px rgba(233,253,255,.25) inset,0 10px 34px rgba(var(--ax-accent-rgb),.22)}
.ax-btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:28%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:axScan 5.2s ease-in-out infinite}
@keyframes axScan{0%,62%{left:-40%;opacity:0}66%{opacity:1}92%{left:120%;opacity:.8}100%{left:120%;opacity:0}}
.ax-btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(233,253,255,.4) inset,0 16px 44px rgba(var(--ax-accent-rgb),.32)}
.ax-btn-ghost{color:var(--ax-ice)!important;background:linear-gradient(135deg,rgba(var(--ax-accent-rgb),.10),rgba(255,255,255,.015));backdrop-filter:blur(6px)}
.ax-btn-ghost:hover{border-color:rgba(var(--ax-accent-rgb),.8);box-shadow:0 0 30px rgba(var(--ax-accent-rgb),.14);transform:translateY(-1px)}
.ax-btn-link{min-height:44px;padding:0 4px;border:0;background:none;color:var(--ax-ice)!important;border-radius:6px}
.ax-btn-link::after{content:"";position:absolute;left:4px;right:4px;bottom:9px;height:1px;background:currentColor;opacity:.35;transform-origin:left;transition:opacity .2s}
.ax-btn-link:hover::after{opacity:1}
.ax-btn .ax-arrow{transition:transform .2s var(--ax-ease)}
.ax-btn:hover .ax-arrow{transform:translate(2px,-2px)}

/* ------------------------------------------------------------------ chips, terms, HUD */
.ax-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ax-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--ax-line-2);
  background:rgba(var(--ax-accent-rgb),.05);color:var(--ax-sub);font-size:13.5px;font-weight:600;line-height:1.2}
.ax-chip::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ax-accent);box-shadow:0 0 8px rgba(var(--ax-accent-rgb),.9)}
.ax-terms{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ax-terms li{position:relative;padding-left:26px;color:var(--ax-sub);line-height:1.5}
.ax-terms li .ax-check,.ax-terms li::before{position:absolute;left:0;top:.2em;color:var(--ax-accent)}
.ax-terms li::before{content:"";top:.62em;width:12px;height:1px;background:var(--ax-accent)}
.ax-hud{position:relative;border:1px solid var(--ax-line);border-radius:var(--ax-r);background:var(--ax-panel);
  box-shadow:0 30px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03)}
.ax-hud::before,.ax-hud::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none;border-color:rgba(var(--ax-accent-rgb),.65);border-style:solid}
.ax-hud::before{top:-1px;left:-1px;border-width:1px 0 0 1px;border-top-left-radius:var(--ax-r)}
.ax-hud::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0;border-bottom-right-radius:var(--ax-r)}
.ax-hud-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ax-line);
  font:700 10.5px/1 var(--ax-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ax-muted)}
.ax-hud-bar i{display:inline-flex;align-items:center;gap:7px;font-style:normal;color:var(--ax-accent)}
.ax-hud-bar i::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ax-accent);box-shadow:0 0 10px var(--ax-accent);animation:axBlink 1.6s ease-in-out infinite}
@keyframes axBlink{50%{opacity:.25}}

/* ------------------------------------------------------------------ hero (product + inner pages) */
.ax-hero{position:relative;padding:calc(var(--ax-header) + clamp(56px,9vw,120px)) 0 clamp(64px,8vw,112px);overflow:clip}
.ax-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,5vw,80px);align-items:center}
.ax-hero-copy{display:grid;gap:26px;align-content:start}
.ax-hero-offer{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding-top:6px}
.ax-hero-offer .ax-price-amount{font-size:30px}
.ax-hero-offer .ax-small{max-width:none}
.ax-hero-plane{position:absolute;left:-10%;right:-10%;bottom:-2%;height:42%;pointer-events:none;z-index:-1;opacity:.6;
  background-image:linear-gradient(rgba(var(--ax-accent-rgb),.09) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ax-accent-rgb),.09) 1px,transparent 1px);
  background-size:72px 72px;transform:perspective(760px) rotateX(64deg);transform-origin:bottom;
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 80%);mask-image:linear-gradient(to top,#000 0%,transparent 80%)}
.ax-hero-crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:600 12px/1 var(--ax-mono);letter-spacing:.1em;color:var(--ax-dim)}
.ax-hero-crumb a{color:var(--ax-muted);text-decoration:none}
.ax-hero-crumb a:hover{color:var(--ax-ice)}

/* ------------------------------------------------------------------ prices */
.ax-price{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.ax-price-amount{font-size:clamp(34px,3.6vw,46px);line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--ax-ice)}
.ax-price-unit{font-size:15px;font-weight:600;color:var(--ax-muted)}

/* ------------------------------------------------------------------ family rail (product list, no card soup) */
.ax-rail{border-top:1px solid var(--ax-line);margin:0;padding:0;list-style:none}
.ax-rail-row{position:relative;display:grid;grid-template-columns:56px minmax(0,1.25fr) minmax(0,1.5fr) minmax(150px,.7fr) auto;gap:clamp(16px,2.4vw,32px);
  align-items:center;padding:clamp(22px,2.6vw,30px) 4px;border-bottom:1px solid var(--ax-line);isolation:isolate}
.ax-rail-row::before{content:"";position:absolute;inset:0 -12px;z-index:-1;border-radius:14px;opacity:0;transition:opacity .3s;
  background:radial-gradient(600px 120px at 20% 50%,rgba(var(--ax-accent-rgb),.10),transparent 70%),linear-gradient(90deg,rgba(var(--ax-accent-rgb),.05),transparent 70%)}
.ax-rail-row:hover::before,.ax-rail-row:focus-within::before{opacity:1}
.ax-rail-glyph{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;border:1px solid rgba(var(--ax-accent-rgb),.32);
  color:var(--ax-accent);background:radial-gradient(circle at 50% 30%,rgba(var(--ax-accent-rgb),.16),rgba(var(--ax-accent-rgb),.02) 70%)}
.ax-rail-name{display:grid;gap:4px}
.ax-rail-name small{font:700 11px/1 var(--ax-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ax-accent)}
.ax-rail-name a{font-size:clamp(20px,1.9vw,24px);font-weight:760;letter-spacing:-.02em;text-decoration:none;color:var(--ax-ice)}
.ax-rail-name a::after{content:"";position:absolute;inset:0;z-index:0}
.ax-rail-line{color:var(--ax-sub);font-size:15.5px;line-height:1.5}
.ax-rail-price{display:grid;gap:3px}
.ax-rail-price .ax-price-amount{font-size:26px}
.ax-rail-price .ax-small{font-size:13px;line-height:1.35}
.ax-rail-go{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--ax-line-2);
  color:var(--ax-ice);text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap;transition:border-color .2s,background .2s}
.ax-rail-go:hover{border-color:rgba(var(--ax-accent-rgb),.7);background:rgba(var(--ax-accent-rgb),.08)}

/* ------------------------------------------------------------------ constellation (family selector) */
.ax-constellation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.ax-orbit{position:relative;aspect-ratio:1;width:min(560px,100%);margin-inline:auto}
.ax-orbit svg.ax-orbit-rings{position:absolute;inset:0;width:100%;height:100%}
.ax-orbit-rings circle{fill:none;stroke:rgba(140,228,245,.15)}
.ax-orbit-rings .r2{stroke-dasharray:2 8}
.ax-orbit-rings .spin{transform-origin:50% 50%;animation:axSpin 60s linear infinite}
.ax-orbit-rings .spin2{transform-origin:50% 50%;animation:axSpin 90s linear infinite reverse}
@keyframes axSpin{to{transform:rotate(360deg)}}
.ax-orbit-core{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(140,228,245,.35);background:radial-gradient(circle,rgba(140,228,245,.18),rgba(2,10,14,.9) 70%);
  box-shadow:0 0 60px rgba(140,228,245,.18),inset 0 0 30px rgba(140,228,245,.12);font:800 clamp(28px,4vw,46px)/1 var(--ax-font);color:var(--ax-ice);letter-spacing:-.04em}
.ax-orbit-core::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(140,228,245,.12);animation:axPulse 3.6s ease-out infinite}
@keyframes axPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.ax-node{position:absolute;left:calc(50% + var(--x));top:calc(50% + var(--y));transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px;
  padding:0;border:0;background:none;color:var(--ax-sub);cursor:pointer;font:600 13px/1.2 var(--ax-font)}
.ax-node span.dot{display:grid;place-items:center;width:clamp(48px,6vw,64px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(var(--ax-accent-rgb),.35);
  color:var(--ax-accent);background:radial-gradient(circle at 50% 35%,rgba(var(--ax-accent-rgb),.22),rgba(2,10,14,.92) 72%);transition:transform .3s var(--ax-ease),box-shadow .3s,border-color .3s}
.ax-node:hover span.dot,.ax-node[aria-selected="true"] span.dot{transform:scale(1.1);border-color:rgba(var(--ax-accent-rgb),.9);box-shadow:0 0 0 6px rgba(var(--ax-accent-rgb),.08),0 0 36px rgba(var(--ax-accent-rgb),.45)}
.ax-node[aria-selected="true"]{color:var(--ax-ice)}
.ax-node:focus-visible{outline:none}
.ax-node:focus-visible span.dot{outline:2px solid var(--ax-ice);outline-offset:4px}
.ax-panelset{position:relative;min-height:420px}
.ax-panel{display:grid;gap:22px;align-content:start}
.ax-panel[hidden]{display:none}
.ax-panel .ax-h2{font-size:clamp(32px,3.6vw,48px)}
.ax-panel-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:18px 0;border-block:1px solid var(--ax-line)}
.ax-js .ax-panel:not([hidden]){animation:axPanelIn .5s var(--ax-ease)}
@keyframes axPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ------------------------------------------------------------------ compare ("which one solves my problem") */
.ax-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--ax-line);border-radius:var(--ax-r);overflow:hidden;background:var(--ax-line)}
.ax-compare-cell{position:relative;display:grid;gap:12px;align-content:start;padding:clamp(24px,2.6vw,34px);background:linear-gradient(180deg,rgba(6,18,24,.94),rgba(2,8,11,.97));text-decoration:none;transition:background .3s}
.ax-compare-cell:hover{background:linear-gradient(180deg,rgba(var(--ax-accent-rgb),.09),rgba(2,8,11,.97))}
.ax-compare-cell .q{font-size:clamp(19px,1.7vw,22px);font-weight:720;letter-spacing:-.015em;line-height:1.25;color:var(--ax-ice)}
.ax-compare-cell .a{display:flex;align-items:center;gap:10px;color:var(--ax-accent);font-weight:700;font-size:14.5px}
.ax-compare-cell .n{color:var(--ax-muted);font-size:14.5px;line-height:1.55}
.ax-compare-cell .k{font:700 10.5px/1 var(--ax-mono);letter-spacing:.2em;color:var(--ax-dim);text-transform:uppercase}

/* ------------------------------------------------------------------ flow (how it works) */
.ax-flow{position:relative;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin:0;padding:0;list-style:none;counter-reset:axflow}
.ax-flow::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:1px;background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.65),rgba(var(--ax-accent-rgb),.12))}
.ax-flow::after{content:"";position:absolute;left:24px;top:22px;width:60px;height:5px;border-radius:5px;background:linear-gradient(90deg,transparent,var(--ax-ice),transparent);
  box-shadow:0 0 14px rgba(var(--ax-accent-rgb),.9);animation:axFlowRun 5.5s var(--ax-ease) infinite}
@keyframes axFlowRun{0%{transform:translateX(0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateX(calc(var(--ax-flow-w,1000px) - 108px));opacity:0}}
.ax-flow li{position:relative;display:grid;gap:10px;align-content:start;padding-top:66px;counter-increment:axflow}
.ax-flow li::before{content:counter(axflow,decimal-leading-zero);position:absolute;top:0;left:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(var(--ax-accent-rgb),.5);background:radial-gradient(circle,rgba(var(--ax-accent-rgb),.16),#03121a 70%);color:var(--ax-ice);font:700 12px/1 var(--ax-mono);
  box-shadow:0 0 24px rgba(var(--ax-accent-rgb),.18)}
.ax-flow li b{font-size:17px;line-height:1.28;letter-spacing:-.01em;color:var(--ax-ice)}
.ax-flow li span{color:var(--ax-muted);font-size:15px;line-height:1.55}
.ax-flow li.is-human::before{content:"";background:radial-gradient(circle,rgba(233,253,255,.28),#03121a 72%);border-color:rgba(233,253,255,.7)}
.ax-flow li.is-human::after{content:"";position:absolute;top:15px;left:15px;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,var(--ax-ice) 0 3px,transparent 3.5px),radial-gradient(ellipse at 50% 110%,var(--ax-ice) 0 7px,transparent 7.5px)}

/* ------------------------------------------------------------------ capabilities */
.ax-caps{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:0 clamp(28px,4vw,56px)}
.ax-cap-group{display:grid;gap:14px;align-content:start;padding-top:22px;border-top:1px solid var(--ax-line-2)}
.ax-cap-group h3{font:700 11px/1.2 var(--ax-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ax-accent)}
.ax-cap-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.ax-cap-list li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--ax-line)}
.ax-cap-list li b{font-size:16.5px;font-weight:680;color:var(--ax-ice);letter-spacing:-.005em}
.ax-cap-list li span{color:var(--ax-muted);font-size:15px;line-height:1.55}

/* ------------------------------------------------------------------ statements (outcome band) */
.ax-statements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.ax-statement{display:grid;gap:12px;align-content:start;padding-left:22px;border-left:1px solid rgba(var(--ax-accent-rgb),.4)}
.ax-statement b{font-size:clamp(20px,1.9vw,25px);line-height:1.2;letter-spacing:-.02em;font-weight:740;color:var(--ax-ice)}
.ax-statement span{color:var(--ax-muted);line-height:1.6}

/* ------------------------------------------------------------------ boundaries (trust) */
.ax-bounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--ax-line);border-radius:var(--ax-r);overflow:hidden;background:var(--ax-line)}
.ax-bound{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;padding:clamp(22px,2.4vw,30px);background:linear-gradient(180deg,rgba(6,18,24,.95),rgba(2,8,11,.98))}
.ax-bound-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--ax-line-2);color:var(--ax-accent)}
.ax-bound.is-never .ax-bound-mark{color:#ffb4a8;border-color:rgba(255,180,168,.35)}
.ax-bound b{display:block;margin-bottom:6px;font-size:16.5px;color:var(--ax-ice)}
.ax-bound span{color:var(--ax-muted);font-size:15px;line-height:1.55}
.ax-doctrine{display:grid;gap:10px;margin:0;padding:clamp(28px,4vw,48px);border-radius:var(--ax-r);border:1px solid rgba(var(--ax-accent-rgb),.3);
  background:radial-gradient(700px 300px at 0% 0%,rgba(var(--ax-accent-rgb),.12),transparent 70%),rgba(3,12,16,.8)}
.ax-doctrine p{font-size:clamp(22px,2.6vw,34px);line-height:1.15;letter-spacing:-.025em;font-weight:760;color:var(--ax-ice)}
.ax-doctrine p span{color:var(--ax-dim)}

/* ------------------------------------------------------------------ pricing */
.ax-pricecard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}
.ax-pricecard-main{display:grid;gap:22px;align-content:start;padding:clamp(28px,4vw,48px);border-right:1px solid var(--ax-line)}
.ax-pricecard-side{display:grid;gap:18px;align-content:start;padding:clamp(28px,4vw,48px);background:rgba(var(--ax-accent-rgb),.035)}
.ax-pricecard .ax-price-amount{font-size:clamp(52px,6vw,76px)}
.ax-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ax-plan{position:relative;display:grid;gap:14px;align-content:start;padding:clamp(24px,3vw,34px);border-radius:16px;border:1px solid var(--ax-line-2);background:rgba(3,12,16,.7)}
.ax-plan.is-featured{border-color:rgba(var(--ax-accent-rgb),.6);background:radial-gradient(400px 200px at 100% 0%,rgba(var(--ax-accent-rgb),.14),transparent 70%),rgba(3,12,16,.78)}
.ax-plan .ax-tag{position:absolute;top:16px;right:16px}
.ax-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(var(--ax-accent-rgb),.5);
  color:var(--ax-accent);font:700 10.5px/1 var(--ax-mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(var(--ax-accent-rgb),.08)}
.ax-pricing{width:100%;border-collapse:collapse;font-size:15px}
.ax-pricing th,.ax-pricing td{padding:20px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--ax-line)}
.ax-pricing thead th{font:700 10.5px/1.2 var(--ax-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ax-dim);border-bottom-color:var(--ax-line-2)}
.ax-pricing tbody th{display:flex;align-items:center;gap:14px;font-weight:720;color:var(--ax-ice);font-size:17px}
.ax-pricing tbody th .ax-glyph{color:var(--ax-accent);flex:none}
.ax-pricing td.p b{display:block;font-size:22px;letter-spacing:-.03em;color:var(--ax-ice);white-space:nowrap}
.ax-pricing td.p small,.ax-pricing td small{display:block;color:var(--ax-muted);font-size:13px;line-height:1.4;margin-top:3px}
.ax-pricing td{color:var(--ax-sub)}
.ax-pricing tr{transition:background .2s}
.ax-pricing tbody tr:hover{background:rgba(var(--ax-accent-rgb),.04)}

/* ------------------------------------------------------------------ FAQ */
.ax-faq{border-top:1px solid var(--ax-line)}
.ax-faq-item{border-bottom:1px solid var(--ax-line)}
.ax-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4px;cursor:pointer;list-style:none;
  font-size:clamp(17px,1.5vw,19px);font-weight:680;color:var(--ax-ice);letter-spacing:-.01em}
.ax-faq-item summary::-webkit-details-marker{display:none}
.ax-faq-item summary i{position:relative;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--ax-line-2);transition:transform .3s var(--ax-ease),border-color .3s}
.ax-faq-item summary i::before,.ax-faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--ax-accent);transform:translate(-50%,-50%)}
.ax-faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ax-ease)}
.ax-faq-item[open] summary i{border-color:rgba(var(--ax-accent-rgb),.7)}
.ax-faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.ax-faq-a{padding:0 4px 26px;max-width:76ch}
.ax-faq-a p{color:var(--ax-sub);line-height:1.68}
.ax-faq-a a{color:var(--ax-ice)}

/* ------------------------------------------------------------------ closing CTA band */
.ax-final{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(var(--ax-accent-rgb),.28);padding:clamp(40px,7vw,96px) clamp(24px,6vw,88px);
  background:radial-gradient(900px 420px at 85% 0%,rgba(var(--ax-accent-rgb),.18),transparent 65%),radial-gradient(700px 400px at 0% 100%,rgba(70,110,200,.14),transparent 70%),rgba(2,9,12,.86)}
.ax-final::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(var(--ax-accent-rgb),.06) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ax-accent-rgb),.06) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 70%)}
.ax-final-in{position:relative;display:grid;gap:24px;max-width:760px}

/* ------------------------------------------------------------------ binary stream (DNA) */
.ax-binary{position:absolute;left:-6%;width:112%;white-space:nowrap;overflow:hidden;pointer-events:none;color:rgba(140,228,245,.09);
  font:700 9px/1.4 var(--ax-mono);letter-spacing:.16em;animation:axBinary 9s linear infinite}
@keyframes axBinary{from{transform:translateX(3%)}to{transform:translateX(-14%)}}

/* ------------------------------------------------------------------ reveal on scroll (progressive: content is visible without JS) */
.ax-js .ax-reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ax-ease),transform .9s var(--ax-ease)}
.ax-js .ax-reveal.is-in{opacity:1;transform:none}
.ax-js .ax-reveal[data-d="1"]{transition-delay:.08s}
.ax-js .ax-reveal[data-d="2"]{transition-delay:.16s}
.ax-js .ax-reveal[data-d="3"]{transition-delay:.24s}

/* =====================================================================================================================
   HEADER  (.axh) — shared by both sites
   ===================================================================================================================== */
.axh{position:fixed;inset:0 0 auto;z-index:20000;height:var(--ax-header);color:var(--ax-ink);font-family:var(--ax-font);
  background:radial-gradient(620px 110px at 18% 50%,rgba(140,228,245,.05),transparent 72%),rgba(2,6,8,.86);
  border-bottom:1px solid rgba(140,228,245,.11);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);transition:background .3s}
.axh.is-scrolled{background:rgba(2,6,8,.94)}
.axh::before{content:"01000001 01010011 01010100 01001111 01010010 01010010 01000101 00100000 01011000   01001000 01010101 01001101 01000001 01001110 00100000 00101011 00100000 01000001 01001001   01001101 01000101 01001110 01010011 00100000 01000101 01011000 00100000 01001101 01000001 01000011 01001000 01001001 01001110 01000001";
  position:absolute;left:-6%;top:3px;width:112%;white-space:nowrap;overflow:hidden;pointer-events:none;color:rgba(140,228,245,.06);font:700 7px/1.2 var(--ax-mono);letter-spacing:.15em;animation:axBinary 6s linear infinite}
.axh::after{content:"";position:absolute;left:-18%;bottom:-1px;width:18%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(140,228,245,.4),#e9fdff,rgba(140,228,245,.3),transparent);
  box-shadow:0 0 8px rgba(140,228,245,.44);animation:axSignal 4.6s linear infinite}
.axh-in{position:relative;z-index:2;display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:100%;width:min(1320px,100% - 2*var(--ax-gutter));margin-inline:auto}
.axh-brand{display:inline-flex;align-items:center;gap:12px;flex:none;color:var(--ax-ink);text-decoration:none}
.axh-mark{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(140,228,245,.16);
  background:radial-gradient(circle,rgba(140,228,245,.07),transparent 72%)}
.axh-mark::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(140,228,245,.08);border-radius:50%;animation:axSpin 13s linear infinite}
.axh-mark::after{content:"";position:absolute;width:5px;height:5px;right:-3px;top:18%;border-radius:50%;background:#e8fcff;box-shadow:0 0 7px rgba(140,228,245,.72);animation:axBlink 1.4s ease-in-out infinite}
.axh-mark img{width:34px;height:34px;object-fit:contain}
.axh-word{display:grid;gap:3px;line-height:1}
.axh-word strong{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f3fbfc}
.axh-word span{font:600 9px/1 var(--ax-mono);letter-spacing:.24em;text-transform:uppercase;color:rgba(173,202,209,.5)}
.axh-wordmark{font:850 19px/1 var(--ax-font);letter-spacing:.06em;color:#f3fbfc}
.axh-wordmark b{display:inline-block;margin-left:.18em;color:transparent;-webkit-text-stroke:1.2px #cdf6ff;font-weight:900}
.axh-nav{display:flex;align-items:center;gap:2px;margin-left:auto;padding:4px;border:1px solid rgba(140,228,245,.07);border-radius:999px;background:linear-gradient(180deg,rgba(140,228,245,.018),rgba(255,255,255,.006))}
.axh-nav > a,.axh-nav > .axh-mega > button{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 15px;border:0;border-radius:999px;background:none;cursor:pointer;
  color:rgba(212,229,233,.66);text-decoration:none;font:650 13px/1 var(--ax-font);letter-spacing:.02em;white-space:nowrap;transition:color .16s,background .16s}
.axh-nav > a:hover,.axh-nav > a[aria-current="page"],.axh-nav > .axh-mega > button:hover,.axh-nav > .axh-mega > button[aria-expanded="true"],.axh-nav > .axh-mega.is-current > button{
  color:#f2fbfc;background:linear-gradient(180deg,rgba(140,228,245,.07),rgba(140,228,245,.02))}
.axh-nav > .axh-mega > button svg{transition:transform .25s var(--ax-ease)}
.axh-nav > .axh-mega > button[aria-expanded="true"] svg{transform:rotate(180deg)}
.axh-cta{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:9px;border:1px solid rgba(140,228,245,.32);
  background:linear-gradient(135deg,rgba(140,228,245,.11),rgba(33,77,87,.04));color:#edfcff;text-decoration:none;font:750 12px/1 var(--ax-font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  position:relative;overflow:hidden;transition:border-color .16s,box-shadow .16s}
.axh-cta:hover{border-color:rgba(140,228,245,.6);box-shadow:0 0 22px rgba(140,228,245,.1)}
.axh-signin{flex:none;color:rgba(212,229,233,.7);text-decoration:none;font:650 13px/1 var(--ax-font);padding:10px 6px;border-radius:8px}
.axh-signin:hover{color:#fff}
.axh-burger{display:none;flex:none;width:44px;height:44px;margin-left:auto;place-items:center;border-radius:10px;border:1px solid rgba(140,228,245,.18);background:rgba(140,228,245,.02);color:#f0fbfc;cursor:pointer}

/* mega menu */
.axh-mega{position:static}
.axh-mega-panel{position:absolute;left:50%;top:calc(var(--ax-header) - 6px);width:min(1080px,100vw - 32px);transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s,transform .3s var(--ax-ease),visibility 0s .3s;border-radius:22px;border:1px solid rgba(140,228,245,.16);
  background:radial-gradient(800px 300px at 90% 0%,rgba(46,128,150,.18),transparent 70%),linear-gradient(180deg,rgba(5,15,20,.98),rgba(2,7,10,.985));
  box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.02) inset;padding:26px}
.axh-mega.is-open .axh-mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .22s,transform .3s var(--ax-ease),visibility 0s}
.axh-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.axh-mega-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border-radius:14px;text-decoration:none;color:var(--ax-ink);border:1px solid transparent;transition:background .2s,border-color .2s}
.axh-mega-item:hover,.axh-mega-item:focus-visible{background:rgba(var(--ax-accent-rgb),.07);border-color:rgba(var(--ax-accent-rgb),.22)}
.axh-mega-item .g{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(var(--ax-accent-rgb),.3);color:var(--ax-accent);background:rgba(var(--ax-accent-rgb),.06)}
.axh-mega-item b{display:block;font-size:15px;font-weight:720;letter-spacing:-.005em;color:#f4fcfd}
.axh-mega-item span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--ax-muted)}
.axh-mega-item em{display:block;margin-top:8px;font:700 10.5px/1 var(--ax-mono);letter-spacing:.1em;font-style:normal;color:var(--ax-accent)}
.axh-mega-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px 16px 2px;border-top:1px solid var(--ax-line)}
.axh-mega-foot p{margin:0;color:var(--ax-muted);font-size:13.5px}
.axh-mega-foot div{display:flex;flex-wrap:wrap;gap:6px 18px}
.axh-mega-foot a{color:var(--ax-ice);font-weight:650;font-size:13.5px;text-decoration:none}
.axh-mega-foot a:hover{text-decoration:underline;text-underline-offset:4px}

/* drawer (mobile) */
.axh-overlay{position:fixed;inset:0;z-index:20001;background:rgba(0,4,6,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.axh-overlay.open{opacity:1;visibility:visible;transition:opacity .25s}
.axh-drawer{position:fixed;top:0;right:0;bottom:0;z-index:20002;width:min(420px,100%);display:flex;flex-direction:column;gap:4px;padding:0 20px 28px;overflow-y:auto;
  transform:translateX(100%);visibility:hidden;transition:transform .35s var(--ax-ease),visibility 0s .35s;color:var(--ax-ink);font-family:var(--ax-font);
  background:radial-gradient(560px 400px at 100% 0%,rgba(60,139,154,.12),transparent 68%),linear-gradient(180deg,#041014 0%,#020608 65%,#010405 100%);border-left:1px solid rgba(140,228,245,.13)}
.axh-drawer.open{transform:none;visibility:visible;transition:transform .35s var(--ax-ease)}
.axh-drawer-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:var(--ax-header);margin:0 -20px 8px;padding:0 20px;border-bottom:1px solid rgba(140,228,245,.1);background:rgba(3,11,14,.96)}
.axh-drawer-top span{font:700 11px/1 var(--ax-mono);letter-spacing:.24em;text-transform:uppercase;color:#e9fbfd}
.axh-drawer-close{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid rgba(140,228,245,.18);background:rgba(140,228,245,.02);color:#f0fbfc;cursor:pointer}
.axh-drawer-label{margin:18px 4px 6px;font:700 10.5px/1 var(--ax-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ax-dim)}
.axh-drawer>*{flex-shrink:0}
.axh-drawer-product{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;min-height:56px;padding:8px 6px;border-radius:12px;text-decoration:none;color:var(--ax-ink)}
.axh-drawer-product .g{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid rgba(var(--ax-accent-rgb),.3);color:var(--ax-accent)}
.axh-drawer-product b{display:block;font-size:15px;font-weight:700}
.axh-drawer-product span{display:block;font-size:12.5px;color:var(--ax-muted);line-height:1.35}
.axh-drawer-product:hover{background:rgba(var(--ax-accent-rgb),.06)}
.axh-drawer-link{display:flex;align-items:center;min-height:50px;padding:0 6px;border-bottom:1px solid rgba(140,228,245,.07);color:rgba(219,233,236,.78);text-decoration:none;font-weight:620;font-size:16px}
.axh-drawer-link[aria-current="page"],.axh-drawer-link:hover{color:#fff}
.axh-drawer .axh-cta{justify-content:center;min-height:52px;margin-top:20px;font-size:13px}

@media (max-width:1180px){
  .axh-nav,.axh-signin{display:none}
  .axh-burger{display:grid;margin-left:12px}
  .axh-cta{margin-left:auto}
}
@media (max-width:560px){
  :root{--ax-header:68px}
  .axh-in > .axh-cta{display:none}
  .axh-burger{margin-left:auto}
  .axh-word span{display:none}
  .axh-mark{width:40px;height:40px}
  .axh-mark img{width:30px;height:30px}
}

/* =====================================================================================================================
   FOOTER (.axf) — astorrex.com
   ===================================================================================================================== */
.axf{position:relative;overflow:hidden;color:var(--ax-ink);font-family:var(--ax-font);border-top:1px solid var(--ax-line);
  background:radial-gradient(900px 400px at 85% 0%,rgba(46,128,150,.12),transparent 70%),linear-gradient(180deg,#020609,#010304)}
.axf-in{width:min(1320px,100% - 2*var(--ax-gutter));margin-inline:auto;padding:clamp(64px,8vw,104px) 0 36px}
.axf-top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.axf-brand{display:grid;gap:18px;align-content:start}
.axf-brand p{color:var(--ax-muted);font-size:15px;line-height:1.6;max-width:36ch}
.axf-col{display:grid;gap:10px;align-content:start}
.axf-col h2{margin:0 0 6px;font:700 10.5px/1 var(--ax-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ax-dim)}
.axf-col a{color:var(--ax-sub);text-decoration:none;font-size:14.5px;line-height:1.45}
.axf-col a:hover{color:#fff}
.axf-col a small{display:block;color:var(--ax-dim);font-size:12.5px}
.axf-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(48px,6vw,80px);padding-top:24px;border-top:1px solid var(--ax-line);color:var(--ax-dim);font-size:13px}
.axf-bottom nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.axf-bottom a{color:var(--ax-muted);text-decoration:none}
.axf-bottom a:hover{color:#fff}
.axf--app-safe .axf-bottom{margin-top:0;border-top:0}
.axf-giant{display:block;margin-top:clamp(40px,6vw,72px);font:900 clamp(56px,15.5vw,236px)/.8 var(--ax-font);letter-spacing:-.05em;text-align:center;color:transparent;
  -webkit-text-stroke:1px rgba(140,228,245,.14);user-select:none;pointer-events:none;white-space:nowrap}

/* =====================================================================================================================
   PRODUCT VISUALS (.axv-*)
   ===================================================================================================================== */
.axv{position:relative}
.axv-frame{position:relative;padding:clamp(18px,2.4vw,28px)}

/* Text — chat */
.axv-chat{display:grid;gap:12px}
.axv-msg{max-width:86%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.45}
.axv-msg.in{justify-self:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);color:var(--ax-sub);border-bottom-left-radius:5px}
.axv-msg.out{justify-self:end;background:linear-gradient(135deg,rgba(var(--ax-accent-rgb),.22),rgba(var(--ax-accent-rgb),.08));border:1px solid rgba(var(--ax-accent-rgb),.3);color:var(--ax-ice);border-bottom-right-radius:5px}
.axv-msg.staff{justify-self:end;background:rgba(233,253,255,.1);border:1px solid rgba(233,253,255,.3);color:#fff}
.axv-event{display:flex;align-items:center;gap:10px;justify-self:center;padding:7px 12px;border-radius:999px;border:1px dashed rgba(var(--ax-accent-rgb),.4);
  font:700 10.5px/1 var(--ax-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ax-accent)}
.axv-who{display:block;margin-bottom:4px;font:700 10px/1 var(--ax-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ax-muted)}
.ax-js .axv-chat > *{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ax-ease),transform .5s var(--ax-ease)}
.ax-js .axv-chat.is-in > *{opacity:1;transform:none}
.ax-js .axv-chat.is-in > *:nth-child(2){transition-delay:.5s}.ax-js .axv-chat.is-in > *:nth-child(3){transition-delay:1s}
.ax-js .axv-chat.is-in > *:nth-child(4){transition-delay:1.5s}.ax-js .axv-chat.is-in > *:nth-child(5){transition-delay:2s}
.ax-js .axv-chat.is-in > *:nth-child(6){transition-delay:2.5s}.ax-js .axv-chat.is-in > *:nth-child(7){transition-delay:3s}

/* Voice — orb + bars, in a browser frame */
.axv-browser{border-radius:16px;border:1px solid var(--ax-line-2);overflow:hidden;background:rgba(2,9,12,.9)}
.axv-browser-bar{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--ax-line)}
.axv-browser-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.axv-browser-bar span{flex:1;margin-left:8px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.04);font:600 11.5px/1 var(--ax-mono);color:var(--ax-muted)}
.axv-voice-stage{display:grid;place-items:center;gap:22px;padding:42px 20px 34px}
.axv-orb{position:relative;width:132px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f2f6ff,rgba(var(--ax-accent-rgb),.9) 30%,rgba(60,80,170,.4) 62%,transparent 72%);
  box-shadow:0 0 70px rgba(var(--ax-accent-rgb),.45);animation:axOrb 3.2s ease-in-out infinite}
.axv-orb::before,.axv-orb::after{content:"";position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(var(--ax-accent-rgb),.35);animation:axPulse 2.6s ease-out infinite}
.axv-orb::after{animation-delay:1.3s}
@keyframes axOrb{50%{transform:scale(1.06)}}
.axv-bars{display:flex;align-items:center;gap:4px;height:44px}
.axv-bars i{width:4px;height:var(--h,40%);border-radius:4px;background:linear-gradient(var(--ax-ice),var(--ax-accent));animation:axBar 1.1s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes axBar{50%{transform:scaleY(.35)}}
.axv-caption{font-size:15px;color:var(--ax-sub);text-align:center;max-width:34ch}
.axv-caption b{color:#fff}

/* Phone — keep your number */
.axv-call{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:0;position:relative}
.axv-call::before{content:"";position:absolute;top:38px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.6),rgba(var(--ax-accent-rgb),.25))}
.axv-call::after{content:"";position:absolute;top:35px;left:10%;width:8px;height:8px;border-radius:50%;background:var(--ax-ice);box-shadow:0 0 14px var(--ax-accent),0 0 30px rgba(var(--ax-accent-rgb),.6);animation:axCallRun 4.8s var(--ax-ease) infinite}
@keyframes axCallRun{0%{left:10%;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:89%;opacity:0}}
.axv-call-node{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:12px;padding:0 6px}
.axv-call-node .c{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:1px solid rgba(var(--ax-accent-rgb),.45);color:var(--ax-accent);
  background:radial-gradient(circle at 50% 35%,rgba(var(--ax-accent-rgb),.2),#02100d 72%);box-shadow:0 0 30px rgba(var(--ax-accent-rgb),.15)}
.axv-call-node.is-core .c{width:76px;height:76px;border-color:rgba(var(--ax-accent-rgb),.9);box-shadow:0 0 0 8px rgba(var(--ax-accent-rgb),.06),0 0 50px rgba(var(--ax-accent-rgb),.4)}
.axv-call-node.is-number .c{font:800 12px/1.2 var(--ax-mono);letter-spacing:.02em;color:var(--ax-ice)}
.axv-call-node b{font-size:15px;color:var(--ax-ice);line-height:1.25}
.axv-call-node span{font-size:13px;color:var(--ax-muted);line-height:1.4}
.axv-number{display:grid;gap:16px;padding:clamp(22px,3vw,34px)}
.axv-number-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-radius:12px;border:1px solid var(--ax-line);background:rgba(255,255,255,.02)}
.axv-number-row b{font:700 16px/1.2 var(--ax-mono);color:var(--ax-ice);letter-spacing:.02em}
.axv-number-row span{font-size:13.5px;color:var(--ax-muted)}
.axv-number-row em{font:700 10.5px/1 var(--ax-mono);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--ax-accent)}

/* Phone portal / generic app screen */
.axv-screen{border-radius:18px;border:1px solid var(--ax-line-2);overflow:hidden;background:linear-gradient(180deg,rgba(5,16,20,.96),rgba(2,8,10,.98))}
.axv-screen-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--ax-line);font:700 10.5px/1 var(--ax-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ax-muted)}
.axv-rows{display:grid}
.axv-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--ax-line)}
.axv-row:last-child{border-bottom:0}
.axv-row .d{width:8px;height:8px;border-radius:50%;background:var(--ax-accent);box-shadow:0 0 10px var(--ax-accent)}
.axv-row .d.off{background:var(--ax-dim);box-shadow:none}
.axv-row b{display:block;font-size:14.5px;color:var(--ax-ice);font-weight:650}
.axv-row span{display:block;font-size:12.5px;color:var(--ax-muted);margin-top:2px}
.axv-row small{font:700 10.5px/1 var(--ax-mono);letter-spacing:.1em;color:var(--ax-accent);text-transform:uppercase;white-space:nowrap}

/* SMART — evidence demo */
.axv-smart{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,56px);align-items:center}
.axv-steps{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.axv-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;width:100%;padding:16px 16px;border-radius:14px;border:1px solid transparent;background:none;
  color:var(--ax-muted);text-align:left;cursor:pointer;font:inherit;transition:background .25s,border-color .25s,color .25s}
.axv-step .n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(var(--ax-accent-rgb),.3);font:700 11px/1 var(--ax-mono);color:var(--ax-accent);transition:all .25s}
.axv-step b{display:block;font-size:17px;color:var(--ax-sub);letter-spacing:-.01em;transition:color .25s}
.axv-step span{display:block;margin-top:4px;font-size:14.5px;line-height:1.5}
.axv-step[aria-selected="true"]{background:rgba(var(--ax-accent-rgb),.07);border-color:rgba(var(--ax-accent-rgb),.28)}
.axv-step[aria-selected="true"] b{color:#fff}
.axv-step[aria-selected="true"] .n{background:var(--ax-accent);color:#120a22;border-color:transparent;box-shadow:0 0 24px rgba(var(--ax-accent-rgb),.5)}
.axv-device{position:relative;width:min(380px,100%);margin-inline:auto;aspect-ratio:9/17.5;border-radius:44px;padding:12px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(160deg,#141a24,#05070b 60%);box-shadow:0 50px 120px rgba(0,0,0,.6),0 0 80px rgba(var(--ax-accent-rgb),.12),inset 0 0 0 1px rgba(255,255,255,.04)}
.axv-device-screen{position:relative;height:100%;border-radius:34px;overflow:hidden;background:radial-gradient(500px 300px at 50% -10%,rgba(var(--ax-accent-rgb),.18),transparent 60%),#06070d;display:flex;flex-direction:column}
.axv-device-status{display:flex;justify-content:space-between;padding:16px 24px 6px;font:700 11px/1 var(--ax-mono);color:rgba(255,255,255,.7)}
.axv-device-title{padding:6px 22px 12px;font:700 10px/1 var(--ax-mono);letter-spacing:.24em;color:var(--ax-accent);text-transform:uppercase}
.axv-scenes{position:relative;flex:1}
.axv-scene{position:absolute;inset:0;padding:6px 16px 16px;display:grid;gap:10px;align-content:start;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ax-ease),transform .45s var(--ax-ease);pointer-events:none}
.axv-scene.is-on{opacity:1;transform:none;pointer-events:auto}
.axv-card{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.axv-card.hl{border-color:rgba(var(--ax-accent-rgb),.5);background:linear-gradient(160deg,rgba(var(--ax-accent-rgb),.16),rgba(255,255,255,.03))}
.axv-card small{display:block;margin-bottom:6px;font:700 9.5px/1 var(--ax-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ax-accent)}
.axv-card p{font-size:14px;line-height:1.42;color:#f3f0ff}
.axv-card p q{quotes:"“" "”"}
.axv-card .meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;font:600 11px/1.2 var(--ax-mono);color:var(--ax-muted)}
.axv-card .meta i{font-style:normal;color:var(--ax-ice)}
.axv-wave{display:flex;align-items:center;gap:2px;height:30px;margin-top:10px}
.axv-wave i{flex:1;height:var(--h);border-radius:2px;background:rgba(255,255,255,.22)}
.axv-wave i.p{background:var(--ax-accent)}
.axv-rec{display:grid;place-items:center;gap:14px;padding:24px 0}
.axv-rec-dot{width:84px;aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,120,120,.6);display:grid;place-items:center}
.axv-rec-dot::after{content:"";width:34px;height:34px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 30px rgba(255,107,107,.6);animation:axBlink 1.6s infinite}
.axv-rec b{font:800 30px/1 var(--ax-mono);color:#fff;letter-spacing:.02em}
.axv-rec span{font-size:12.5px;color:var(--ax-muted)}
.axv-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font:700 9.5px/1 var(--ax-mono);letter-spacing:.12em;text-transform:uppercase}
.axv-tag.ok{color:#9ff0c9;border:1px solid rgba(159,240,201,.4);background:rgba(159,240,201,.07)}
.axv-tag.wait{color:#ffd28a;border:1px solid rgba(255,210,138,.4);background:rgba(255,210,138,.07)}
.axv-approve{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.axv-approve span{display:grid;place-items:center;min-height:40px;border-radius:12px;font-size:13px;font-weight:700}
.axv-approve span:first-child{border:1px solid rgba(255,255,255,.14);color:var(--ax-sub)}
.axv-approve span:last-child{background:var(--ax-accent);color:#160b2b}
.axv-changed{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.axv-changed s{color:var(--ax-muted);text-decoration-color:rgba(255,120,120,.7)}
.axv-changed b{color:#fff}
.axv-mem{display:flex;gap:8px;overflow:hidden}
.axv-mem span{flex:none;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);font-size:11.5px;color:var(--ax-sub)}
.axv-tabs{display:grid;grid-template-columns:repeat(5,1fr);padding:10px 8px 14px;border-top:1px solid rgba(255,255,255,.07);font:600 9.5px/1 var(--ax-font);color:rgba(255,255,255,.45);text-align:center}
.axv-tabs span{display:grid;justify-items:center;gap:6px}
.axv-tabs span::before{content:"";width:18px;height:3px;border-radius:3px;background:currentColor;opacity:.6}
.axv-tabs span.on{color:var(--ax-accent)}

/* Evidence chain (static, used on both SMART and GD) */
.axv-chain{display:grid;gap:0}
.axv-chain-step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-bottom:22px}
.axv-chain-step::before{content:"";position:absolute;left:19.5px;top:40px;bottom:0;width:1px;background:linear-gradient(rgba(var(--ax-accent-rgb),.55),rgba(var(--ax-accent-rgb),.1))}
.axv-chain-step:last-child::before{display:none}
.axv-chain-step .k{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(var(--ax-accent-rgb),.4);color:var(--ax-accent);background:rgba(var(--ax-accent-rgb),.06)}
.axv-chain-step.is-human .k{border-color:rgba(233,253,255,.6);color:#fff;background:rgba(233,253,255,.08)}
.axv-chain-step.is-blocked .k{border-color:rgba(255,180,168,.45);color:#ffb4a8;background:rgba(255,180,168,.06)}
.axv-chain-step b{display:block;font-size:16px;color:var(--ax-ice);margin-top:2px}
.axv-chain-step span{display:block;font-size:14.5px;color:var(--ax-muted);line-height:1.55;margin-top:4px}
.axv-chain-step q{display:block;margin-top:10px;padding:10px 14px;border-left:2px solid var(--ax-accent);background:rgba(var(--ax-accent-rgb),.05);border-radius:0 10px 10px 0;
  color:var(--ax-ice);font-size:14.5px;font-style:normal;quotes:none}

/* Government Desk — letter */
.axv-letter{position:relative;padding:clamp(22px,3vw,32px);border-radius:14px;background:linear-gradient(180deg,#f4f6f8,#e4e9ee);color:#1c2733;box-shadow:0 40px 100px rgba(0,0,0,.5);font-size:13.5px;line-height:1.55}
.axv-letter header{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #c7d0d9;font-size:11.5px;color:#56677a}
.axv-letter header b{color:#13202d;font-size:13px}
.axv-letter p + p{margin-top:9px}
.axv-letter mark{background:linear-gradient(transparent 55%,rgba(116,194,214,.55) 55%);color:inherit;padding:0 2px}
.axv-letter .stamp{position:absolute;right:16px;bottom:16px;padding:6px 10px;border:1.5px solid #3b8aa0;border-radius:6px;color:#2d7084;font:800 10px/1 var(--ax-mono);letter-spacing:.12em;transform:rotate(-6deg)}

/* Opportunity — fit dimensions */
.axv-fit{display:grid;gap:12px;padding:clamp(20px,2.6vw,28px)}
.axv-fit-row{display:grid;grid-template-columns:118px minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:13.5px;color:var(--ax-sub)}
.axv-fit-row i{position:relative;height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
.axv-fit-row i::after{content:"";position:absolute;inset:0;width:var(--v);border-radius:6px;background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.5),var(--ax-accent));transform-origin:left;transition:transform 1.2s var(--ax-ease)}
.ax-js .axv-fit:not(.is-in) .axv-fit-row i::after{transform:scaleX(0)}
.axv-fit-row b{font:700 12px/1 var(--ax-mono);color:var(--ax-ice);text-align:right}
.axv-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-radius:12px;overflow:hidden;border:1px solid var(--ax-line);background:var(--ax-line)}
.axv-dates div{padding:12px 14px;background:rgba(3,12,16,.95)}
.axv-dates small{display:block;font:700 9.5px/1.2 var(--ax-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ax-dim)}
.axv-dates b{display:block;margin-top:6px;font:700 13.5px/1 var(--ax-mono);color:var(--ax-ice)}

/* App — device + entitlement list */
.axv-app-list{display:grid;gap:8px;padding:6px 14px 14px}
.axv-app-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03)}
.axv-app-item .g{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(var(--ax-accent-rgb),.35);color:var(--ax-accent)}
.axv-app-item b{display:block;font-size:13.5px;color:#fff}
.axv-app-item span{display:block;font-size:11.5px;color:var(--ax-muted)}
.axv-app-item em{font:700 9px/1 var(--ax-mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;padding:5px 7px;border-radius:999px;border:1px solid rgba(var(--ax-accent-rgb),.4);color:var(--ax-accent)}

/* Play badge */
.ax-play{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 20px 0 16px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#000;color:#fff!important;text-decoration:none;transition:border-color .2s,transform .2s}
.ax-play:hover{border-color:rgba(255,255,255,.5);transform:translateY(-1px)}
.ax-play span{display:grid;line-height:1.1}
.ax-play small{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.ax-play b{font-size:18px;font-weight:650}

/* =====================================================================================================================
   CALCULATOR (.axc)
   ===================================================================================================================== */
.axc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(24px,3vw,40px);align-items:start}
.axc-list{display:grid;gap:12px}
.axc-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border-radius:16px;border:1px solid var(--ax-line);background:rgba(3,12,16,.7);transition:border-color .2s,background .2s}
.axc-item.is-on{border-color:rgba(var(--ax-accent-rgb),.6);background:radial-gradient(500px 160px at 0% 0%,rgba(var(--ax-accent-rgb),.11),transparent 70%),rgba(3,12,16,.8)}
.axc-item .g{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;border:1px solid rgba(var(--ax-accent-rgb),.32);color:var(--ax-accent)}
.axc-item h3{font-size:18px;font-weight:720;color:var(--ax-ice)}
.axc-item p{margin-top:4px;font-size:14px;color:var(--ax-muted);line-height:1.45}
.axc-item .opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.axc-seg{display:inline-flex;padding:3px;border-radius:10px;border:1px solid var(--ax-line-2);background:rgba(255,255,255,.02)}
.axc-seg label{position:relative}
.axc-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.axc-seg span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:8px;font-size:13px;font-weight:650;color:var(--ax-muted)}
.axc-seg input:checked + span{background:rgba(var(--ax-accent-rgb),.18);color:#fff}
.axc-seg input:focus-visible + span{outline:2px solid var(--ax-ice);outline-offset:1px}
.axc-toggle{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer}
.axc-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.axc-toggle i{position:relative;width:52px;height:30px;border-radius:30px;border:1px solid var(--ax-line-2);background:rgba(255,255,255,.04);transition:background .2s,border-color .2s}
.axc-toggle i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ax-muted);transition:transform .25s var(--ax-ease),background .2s}
.axc-toggle input:checked + i{background:rgba(var(--ax-accent-rgb),.25);border-color:rgba(var(--ax-accent-rgb),.7)}
.axc-toggle input:checked + i::after{transform:translateX(22px);background:var(--ax-ice)}
.axc-toggle input:focus-visible + i{outline:2px solid var(--ax-ice);outline-offset:3px}
.axc-price{text-align:right}
.axc-price b{display:block;font-size:22px;letter-spacing:-.03em;color:var(--ax-ice);white-space:nowrap}
.axc-price small{display:block;font-size:12.5px;color:var(--ax-muted);white-space:nowrap}
.axc-sum{position:sticky;top:calc(var(--ax-header) + 20px);display:grid;gap:18px;padding:clamp(22px,3vw,30px)}
.axc-sum h3{font:700 10.5px/1 var(--ax-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ax-muted)}
.axc-lines{display:grid;gap:0;margin:0;padding:0;list-style:none}
.axc-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--ax-line);font-size:14.5px;color:var(--ax-sub)}
.axc-lines li b{color:var(--ax-ice);white-space:nowrap}
.axc-lines li small{grid-column:1/-1;color:var(--ax-muted);font-size:12.5px;margin-top:-4px}
.axc-total{display:grid;gap:4px}
.axc-total b{font-size:clamp(36px,4vw,48px);letter-spacing:-.04em;color:#fff;line-height:1}
.axc-total span{font-size:13.5px;color:var(--ax-muted)}
.axc-empty{color:var(--ax-muted);font-size:14.5px;padding:8px 0}
.axc-ctas{display:grid;gap:8px}
.axc-ctas .ax-btn{width:100%}

/* =====================================================================================================================
   RESPONSIVE
   ===================================================================================================================== */
@media (max-width:1080px){
  .ax-rail-row{grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"g n go" "g l l" "g p p"}
  .ax-rail-glyph{grid-area:g;align-self:start}.ax-rail-name{grid-area:n}.ax-rail-line{grid-area:l}.ax-rail-price{grid-area:p;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px}
  .ax-rail-go{grid-area:go}
  .axh-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax-caps{--cols:2!important}
  .ax-flow{--n:3!important;row-gap:40px}
  .ax-flow::before,.ax-flow::after{display:none}
  .axc{grid-template-columns:1fr}
  .axc-sum{position:relative;top:0}
}
@media (max-width:900px){
  .ax-hero-grid,.ax-split,.ax-split--wide,.ax-constellation,.axv-smart,.ax-pricecard{grid-template-columns:1fr}
  .ax-pricecard-main{border-right:0;border-bottom:1px solid var(--ax-line)}
  .ax-compare,.ax-statements,.ax-grid-3{grid-template-columns:1fr}
  .ax-bounds,.ax-grid-2{grid-template-columns:1fr}
  .axf-top{grid-template-columns:1fr 1fr}
  .axf-brand{grid-column:1/-1}
  .ax-panelset{min-height:0}
  .axv-call{grid-template-columns:1fr;gap:18px}
  .axv-call::before{top:0;bottom:0;left:38px;right:auto;width:1px;height:auto;background:linear-gradient(rgba(var(--ax-accent-rgb),.6),rgba(var(--ax-accent-rgb),.25))}
  .axv-call::after{display:none}
  .axv-call-node{grid-template-columns:76px minmax(0,1fr);justify-items:start;text-align:left;align-items:center;gap:4px 16px}
  .axv-call-node .c{grid-row:span 2}
  .ax-pricing thead{display:none}
  .ax-pricing,.ax-pricing tbody,.ax-pricing tr,.ax-pricing td,.ax-pricing th{display:block;width:100%}
  .ax-pricing tr{padding:18px 0;border-bottom:1px solid var(--ax-line)}
  .ax-pricing th,.ax-pricing td{padding:6px 0;border:0}
  .ax-pricing td[data-l]::before{content:attr(data-l);display:block;font:700 10px/1.2 var(--ax-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ax-dim);margin-bottom:3px}
}
@media (max-width:640px){
  .ax-page{font-size:16px}
  .ax-caps{--cols:1!important}
  .ax-flow{--n:1!important}
  .ax-flow li{grid-template-columns:48px minmax(0,1fr);padding-top:0;gap:4px 16px;align-items:center}
  .ax-flow li::before,.ax-flow li.is-human::before{position:relative;grid-row:span 2}
  .ax-flow li.is-human::after{top:15px;left:15px}
  .ax-plans{grid-template-columns:1fr}
  .ax-actions .ax-btn{flex:1 1 100%}
  .axf-top{grid-template-columns:1fr}
  .axv-fit-row{grid-template-columns:96px minmax(0,1fr) 40px}
  .axv-dates{grid-template-columns:1fr}
  .axc-item{grid-template-columns:44px minmax(0,1fr);}
  .axc-item .g{width:44px;height:44px}
  .axc-price{grid-column:2;text-align:left}
  .ax-orbit{width:min(360px,100%)}
  .ax-node span.dot{width:44px}
  .ax-node{font-size:11.5px}
}
@media (max-width:380px){
  .ax-btn{padding:0 16px;font-size:14.5px}
  .ax-h1{font-size:40px}
}

/* =====================================================================================================================
   MOTION PREFERENCE — every animation off, every reveal shown
   ===================================================================================================================== */
@media (prefers-reduced-motion:reduce){
  .ax-page *,.ax-page *::before,.ax-page *::after,.axh,.axh *,.axh::before,.axh::after,.axf *{animation:none!important;transition:none!important}
  .ax-js .ax-reveal,.ax-js .axv-chat > *{opacity:1!important;transform:none!important}
  .ax-js .axv-fit:not(.is-in) .axv-fit-row i::after{transform:none}
  .ax-space canvas{display:none}
}
@media print{
  .axh,.axf,.ax-space{display:none}
  .ax-page{color:#000}
}

/* skip link */
.ax-skip{position:fixed;left:12px;top:-80px;z-index:30000;padding:12px 16px;border-radius:10px;background:#e9fdff;color:#021015!important;font:700 14px/1 var(--ax-font);text-decoration:none;transition:top .2s}
.ax-skip:focus{top:12px;outline:2px solid #021015;outline-offset:2px}

/* refinements after first visual pass */
.axv-number-row > div > b,.axv-number-row > div > span{display:block}
.axv-number-row > div > span{margin-top:3px}
.ax-flow li.is-human::before{content:counter(axflow,decimal-leading-zero);color:#021015;background:radial-gradient(circle,#f4feff,#bfeff8 70%);border-color:rgba(233,253,255,.9);box-shadow:0 0 28px rgba(233,253,255,.35)}
.ax-flow li.is-human::after{content:none}
.axv-call-node.is-person .c{color:#fff;border-color:rgba(233,253,255,.7);background:radial-gradient(circle at 50% 35%,rgba(233,253,255,.22),#06121a 72%)}
.ax-h1--long{font-size:clamp(40px,5.1vw,74px);line-height:1}
.axv-device{width:min(340px,100%)}
.ax-pricing td .ax-btn{min-height:44px;padding:0 16px;font-size:13.5px;white-space:nowrap}
.ax-pricing td:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ax-pricing tbody th a{color:inherit}
.ax-pricing tbody th a:hover{text-decoration:underline!important;text-underline-offset:4px}

/* ------------------------------------------------------------------ product showcase (amstercode homepage, /ai-products) */
.ax-show{border-top:1px solid var(--ax-line)}
.ax-show-row{position:relative;display:grid;grid-template-columns:120px minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(20px,3.4vw,56px);align-items:start;
  padding:clamp(36px,4.6vw,60px) 0;border-bottom:1px solid var(--ax-line);isolation:isolate}
.ax-show-row::before{content:"";position:absolute;inset:0 calc(-1 * var(--ax-gutter));z-index:-1;opacity:0;transition:opacity .4s;
  background:radial-gradient(800px 260px at 30% 50%,rgba(var(--ax-accent-rgb),.09),transparent 70%)}
.ax-show-row:hover::before,.ax-show-row:focus-within::before{opacity:1}
.ax-show-id{display:grid;gap:14px;justify-items:start}
.ax-show-glyph{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid rgba(var(--ax-accent-rgb),.4);color:var(--ax-accent);
  background:radial-gradient(circle at 50% 35%,rgba(var(--ax-accent-rgb),.22),rgba(2,10,14,.9) 72%);box-shadow:0 0 40px rgba(var(--ax-accent-rgb),.12)}
.ax-show-copy{display:grid;gap:14px}
.ax-show-name{font-size:clamp(28px,3vw,40px);line-height:1.04;letter-spacing:-.03em;font-weight:800}
.ax-show-name a{text-decoration:none;color:#fff}
.ax-show-name a:hover{color:var(--ax-ice)}
.ax-show-outcome{font-size:clamp(19px,1.7vw,23px);line-height:1.3;font-weight:650;letter-spacing:-.012em;color:transparent;
  background:linear-gradient(96deg,#e2fbff,var(--ax-accent));-webkit-background-clip:text;background-clip:text}
.ax-show-offer{display:grid;gap:10px;align-content:start;padding:22px 24px;border-radius:16px;border:1px solid var(--ax-line);background:rgba(3,12,16,.62)}
.ax-show-offer .ax-actions{margin-top:8px}
.ax-show-offer .ax-btn{min-height:46px;font-size:14px}
@media (max-width:1080px){.ax-show-row{grid-template-columns:72px minmax(0,1fr)}.ax-show-offer{grid-column:2}.ax-show-glyph{width:56px;height:56px}.ax-show-id .ax-mono{display:none}}
@media (max-width:640px){.ax-show-row{grid-template-columns:1fr}.ax-show-offer{grid-column:1}.ax-show-id{grid-auto-flow:column;align-items:center;justify-content:start}.ax-show-id .ax-mono{display:block}}

/* ------------------------------------------------------------------ amstercode hero console (radar HUD, DNA of the old hero) */
.ax-console{position:relative;overflow:hidden}
.ax-console-main{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:22px}
.ax-radar{position:relative;width:150px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(140,228,245,.25);
  background:radial-gradient(circle,rgba(140,228,245,.10),transparent 70%)}
.ax-radar i{position:absolute;inset:var(--i);border-radius:50%;border:1px solid rgba(140,228,245,.14)}
.ax-radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(140,228,245,.42),transparent 22%,transparent);animation:axSpin 4.5s linear infinite}
.ax-radar::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#e9fdff;box-shadow:0 0 14px #8ce4f5}
.ax-radar b{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--c,#8ce4f5);box-shadow:0 0 10px var(--c,#8ce4f5);animation:axBlink 2.4s ease-in-out infinite;animation-delay:var(--d,0s)}
.ax-sys{display:grid;gap:0;margin:0;padding:0;list-style:none}
.ax-sys li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ax-line);font-size:13.5px;color:var(--ax-sub)}
.ax-sys li:last-child{border-bottom:0}
.ax-sys li i{width:7px;height:7px;border-radius:50%;background:var(--ax-accent);box-shadow:0 0 8px var(--ax-accent)}
.ax-sys li b{font:700 10.5px/1 var(--ax-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ax-accent)}
.ax-console-foot{padding:12px 18px;border-top:1px solid var(--ax-line);font:700 10px/1.3 var(--ax-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ax-dim)}
@media (max-width:520px){.ax-console-main{grid-template-columns:1fr}.ax-radar{width:120px;justify-self:center}}

/* SMART demo on small screens: device first, steps as a compact selector beneath it */
@media (max-width:900px){
  .axv-smart{gap:18px}
  .axv-smart > .axv-device{order:-1}
  .axv-smart .axv-steps{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .axv-smart .axv-steps::-webkit-scrollbar{display:none}
  .axv-smart .axv-step{flex:none;width:auto;grid-template-columns:auto auto;align-items:center;gap:10px;min-height:48px;padding:6px 14px 6px 6px;border-color:var(--ax-line);border-radius:999px;scroll-snap-align:start}
  .axv-smart .axv-step .n{width:34px;height:34px}
  .axv-smart .axv-step > span > span{display:none}
  .axv-smart .axv-step b{font-size:15px}
}

/* keyboard focus, always visible on the dark shell */
.axh :focus-visible,.axf :focus-visible,.axh-drawer :focus-visible,.axh-mega-panel :focus-visible{outline:2px solid #e9fdff;outline-offset:3px;border-radius:8px}

/* ASTORRE X SMART — its own pricing block on family pages */
.ax-smart-block{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(28px,4vw,48px);
  padding:clamp(28px,4vw,52px);background:radial-gradient(700px 360px at 100% 0%,rgba(var(--ax-accent-rgb),.16),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgba(120,90,220,.10),transparent 70%),rgba(4,6,14,.86)}
.ax-smart-block-copy{display:grid;gap:20px}
.ax-smart-block-copy .ax-h2{font-size:clamp(28px,3.2vw,44px)}
.ax-smart-block-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ax-smart-plan{display:grid;gap:8px;align-content:start;padding:20px;border-radius:14px;border:1px solid rgba(var(--ax-accent-rgb),.32);background:rgba(var(--ax-accent-rgb),.05)}
.ax-smart-plan .ax-price-amount{font-size:clamp(32px,3.2vw,42px)}
.ax-smart-block-terms{grid-column:1/-1;line-height:1.55}
@media (max-width:900px){.ax-smart-block{grid-template-columns:1fr}}
@media (max-width:420px){.ax-smart-block-plans{grid-template-columns:1fr}}

/* ===================================================================== FAMILY INDEX — every product, one clickable card */
.ax-fx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(22px,3vw,34px)}
.ax-fx{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;min-height:212px;padding:20px 20px 16px;border:1px solid rgba(var(--ax-accent-rgb),.18);border-radius:16px;background:radial-gradient(120% 90% at 0% 0%,rgba(var(--ax-accent-rgb),.10),transparent 55%),linear-gradient(180deg,rgba(6,18,24,.92),rgba(2,8,11,.96));color:var(--ax-ink);text-decoration:none;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s}
.ax-fx::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--ax-accent-rgb),.85),transparent);opacity:.55;transition:opacity .25s}
.ax-fx:hover,.ax-fx:focus-visible{border-color:rgba(var(--ax-accent-rgb),.55);transform:translateY(-3px);box-shadow:0 18px 50px -24px rgba(var(--ax-accent-rgb),.55)}
.ax-fx:hover::before,.ax-fx:focus-visible::before{opacity:1}
.ax-fx-need{font-size:12.5px;line-height:1.4;color:var(--ax-muted)}
.ax-fx-need::before{content:"Need? ";color:rgb(var(--ax-accent-rgb));font-family:var(--ax-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ax-fx-name{display:flex;align-items:center;gap:10px;font-size:clamp(17px,1.45vw,19px);font-weight:760;letter-spacing:-.01em;line-height:1.2;color:#fff}
.ax-fx-g{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;border:1px solid rgba(var(--ax-accent-rgb),.32);background:rgba(var(--ax-accent-rgb),.08);color:rgb(var(--ax-accent-rgb))}
.ax-fx-line{font-size:14px;line-height:1.5;color:var(--ax-sub)}
.ax-fx-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding-top:12px;border-top:1px solid rgba(var(--ax-accent-rgb),.14)}
.ax-fx-foot b{font-size:16px;font-weight:780;color:#fff;white-space:nowrap}
.ax-fx-foot span{font-size:12.5px;color:var(--ax-muted)}
.ax-fx-foot i{margin-left:auto;align-self:center;color:rgb(var(--ax-accent-rgb));font-style:normal;transition:transform .25s}
.ax-fx:hover .ax-fx-foot i{transform:translateX(4px)}
@media(max-width:1120px){.ax-fx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.ax-fx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ax-fx-grid{grid-template-columns:1fr;gap:10px}.ax-fx{min-height:0;padding:16px 16px 14px;gap:8px}}
@media(prefers-reduced-motion:reduce){.ax-fx,.ax-fx-foot i{transition:none}.ax-fx:hover{transform:none}}

/* ===================================================================== OUTCOMES · KEEPS GETTING BETTER · APP BAND */
.ax-outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(18px,2.4vw,28px);border:1px solid var(--ax-line);border-radius:16px;overflow:hidden;background:var(--ax-line)}
.ax-outcome{display:grid;gap:6px;padding:18px 20px;background:linear-gradient(180deg,rgba(6,18,24,.94),rgba(2,8,11,.97))}
.ax-outcome b{font-size:15.5px;font-weight:740;color:#fff;line-height:1.3}
.ax-outcome span{font-size:13.5px;line-height:1.5;color:var(--ax-muted)}
.ax-evolves{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(24px,3.4vw,44px)}
.ax-evolves .ax-lead{margin:0 0 10px}
.ax-appband{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:center;padding:clamp(24px,3.4vw,44px)}
.ax-appband .ax-small{margin-top:14px}
.ax-appband-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.ax-appband-list li{display:grid;gap:4px;padding:14px 16px;border:1px solid rgba(var(--ax-accent-rgb,140,228,245),.18);border-radius:12px;background:rgba(var(--ax-accent-rgb,140,228,245),.04)}
.ax-appband-list b{font-size:15px;color:#fff}
.ax-appband-list span{font-size:13.5px;line-height:1.5;color:var(--ax-muted)}
@media(max-width:980px){.ax-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-evolves,.ax-appband{grid-template-columns:1fr}}
@media(max-width:540px){.ax-outcomes{grid-template-columns:1fr}}
.ax-hero--family{padding-bottom:clamp(36px,5vw,64px)}
.ax-hero--family .ax-hero-copy .ax-lead{max-width:760px}
.ax-hero-after{margin-top:18px;color:var(--ax-muted)}
.ax-hero-after b{margin:0 8px;color:var(--ax-dim)}
.ax-hero-after a{color:var(--ax-sub)}
.ax-hero-after a:hover{color:#fff}

/* ===================================================================== SERVICES: steps and website plans */
.ax-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(20px,2.6vw,30px)}
.ax-step{position:relative;display:grid;gap:8px;align-content:start;padding:20px;border:1px solid var(--ax-line);border-radius:14px;background:linear-gradient(180deg,rgba(6,18,24,.92),rgba(2,8,11,.96))}
.ax-step .ax-mono{color:var(--ax-cyan)}
.ax-step b{font-size:17px;color:#fff}
.ax-step span:last-child{font-size:14px;line-height:1.55;color:var(--ax-muted)}
.ax-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(20px,2.6vw,30px)}
.ax-svc{display:grid;gap:10px;align-content:start;padding:clamp(20px,2.4vw,28px);border:1px solid var(--ax-line);border-radius:16px;background:radial-gradient(120% 90% at 0% 0%,rgba(140,228,245,.07),transparent 55%),linear-gradient(180deg,rgba(6,18,24,.92),rgba(2,8,11,.96))}
.ax-svc h3{margin:0;font-size:20px;color:#fff}
.ax-svc .ax-price{margin:4px 0}
@media(max-width:980px){.ax-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ax-svc-grid{grid-template-columns:1fr}}
@media(max-width:540px){.ax-steps{grid-template-columns:1fr}}

/* calculator: every row carries its own next step */
.axc-go{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}
.axc-go .ax-btn{min-height:40px;padding:0 14px;font-size:13px}
@media(max-width:720px){.axc-go{justify-content:flex-start}}

/* family strip inside a hero: every product, name + price, one tap away */
.ax-strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:clamp(18px,2.6vw,30px);max-width:1180px}
.ax-strip a{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;row-gap:2px;padding:10px 12px;border:1px solid rgba(var(--ax-accent-rgb),.24);border-radius:12px;background:rgba(2,10,14,.72);backdrop-filter:blur(6px);color:#fff;text-decoration:none;transition:border-color .2s,transform .2s,background .2s}
.ax-strip a:hover,.ax-strip a:focus-visible{border-color:rgba(var(--ax-accent-rgb),.7);background:rgba(var(--ax-accent-rgb),.08);transform:translateY(-2px)}
.ax-strip .g{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:rgb(var(--ax-accent-rgb));background:rgba(var(--ax-accent-rgb),.10)}
.ax-strip .n{font-size:14px;font-weight:720;line-height:1.15}
.ax-strip small{font-size:11.5px;color:var(--ax-muted,#8aa1a8);white-space:nowrap}
@media(max-width:1100px){.ax-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.ax-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ax-strip a{padding:8px 10px}.ax-strip .g{width:26px;height:26px}}

/* ===================================================================== FOOTER v2 — one balanced conclusion, both sites */
.axf--v2{background:radial-gradient(70% 120% at 50% 0%,rgba(140,228,245,.07),transparent 60%),#010406}
.axf--v2::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(140,228,245,.55),transparent)}
.axf--v2 .axf-in{padding:clamp(52px,6vw,84px) 0 26px}
.axf--v2 .axf-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,.85fr);gap:clamp(28px,3.6vw,52px);align-items:start}
.axf--v2 .axf-brand{gap:16px}
.axf--v2 .axf-brand p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ax-muted);max-width:34ch}
.axf-word{font-size:21px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.axf--v2 .axf-col{display:grid;align-content:start;gap:11px}
.axf--v2 .axf-col h2{margin:0 0 6px;font:600 11px/1.2 var(--ax-mono,ui-monospace,monospace);letter-spacing:.18em;text-transform:uppercase;color:var(--ax-dim)}
.axf--v2 .axf-col a{color:var(--ax-sub);font-size:14px;line-height:1.35;text-decoration:none;transition:color .2s}
.axf--v2 .axf-col a:hover{color:#fff}
.axf-col--products a{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px}
.axf-col--products .g{display:grid;place-items:center;color:rgb(var(--ax-accent-rgb))}
.axf-col--products small{font-size:12px;color:var(--ax-dim);white-space:nowrap}
.axf-app{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:4px}
.ax-play--sm{min-height:46px;padding:0 14px 0 12px}
.axf-small{font-size:12.5px;color:var(--ax-dim)!important;text-decoration:none}
.axf--v2 .axf-bottom{margin-top:clamp(34px,4vw,52px);padding-top:20px;font-size:12.5px;line-height:1.6}
.axf--v2 .ft-cookie-settings{background:none;border:0;padding:0;color:var(--ax-muted);font:inherit;cursor:pointer}
@media(max-width:1100px){.axf--v2 .axf-top{grid-template-columns:repeat(2,minmax(0,1fr))}.axf--v2 .axf-brand{grid-column:1/-1}}
@media(max-width:620px){.axf--v2 .axf-top{grid-template-columns:1fr}.axf--v2 .axf-bottom{flex-direction:column}}
/* the family hero: outcome + every product inside the first screen */
.ax-hero.ax-hero--family{min-height:0;padding-top:clamp(96px,9vw,128px)}
.ax-hero--family .ax-h1{font-size:clamp(36px,4.2vw,62px);line-height:1.04;max-width:20ch}
.ax-hero--family .ax-lead{margin-top:14px;font-size:clamp(16px,1.25vw,18px)}
.ax-hero--family .ax-fx{min-height:0}
.ax-hero--family .ax-fx-grid{margin-top:22px}
/* phones: the family index becomes compact one-line rows so the whole family fits the first screen */
@media(max-width:540px){
  .ax-hero--family{padding-top:calc(var(--ax-header,64px) + 28px)}
  .ax-hero--family .ax-lead{font-size:15px;line-height:1.5}
  .ax-fx-grid{gap:6px;margin-top:16px}
  .ax-fx{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 10px;padding:9px 12px;border-radius:12px}
  .ax-fx-need{display:none}
  .ax-fx-name{grid-column:1;grid-row:1;font-size:15px;gap:9px}
  .ax-fx-g{width:28px;height:28px;border-radius:8px}
  .ax-fx-line{grid-column:1;grid-row:2;padding-left:37px;font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ax-fx-foot{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;padding-top:0;border-top:0}
  .ax-fx-foot b{font-size:13.5px}
  .ax-fx-foot span,.ax-fx-foot i{display:none}
}
/* calculator plan: due today, billed later, ordered steps */
.axc-sub{margin:18px 0 8px;font:600 11px/1.2 var(--ax-mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--ax-dim)}
.axc-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:axcs}
.axc-steps li{counter-increment:axcs;display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px 10px;align-items:start;padding:12px;border:1px solid var(--ax-line);border-radius:12px;background:rgba(140,228,245,.03)}
.axc-steps li::before{content:counter(axcs);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--ax-line-2);font-size:12px;color:var(--ax-cyan)}
.axc-steps li[hidden]{display:none}
.axc-steps li span{font-size:13.5px;line-height:1.45;color:var(--ax-sub)}
.axc-steps li .ax-btn{grid-column:2;justify-self:start;min-height:40px;font-size:13px}

/* =====================================================================================================================
   PHONES — OPEN, EDITORIAL, WIDE (owner directive 2026-10-07). Ordinary content leaves its boxes; device mockups,
   dashboards and the calculator's live summary keep their frames. Luminous separators and pulses carry the structure.
   Desktop is untouched: every rule below sits inside this media query.
   ===================================================================================================================== */
@keyframes axLinePulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes axNodePulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--ax-accent-rgb),.0),0 0 10px rgba(var(--ax-accent-rgb),.55)}50%{box-shadow:0 0 0 5px rgba(var(--ax-accent-rgb),.10),0 0 18px rgba(var(--ax-accent-rgb),.9)}}
@media(max-width:640px){
  /* panels that only hold text become open sections with a luminous top line */
  .ax-evolves,.ax-appband,.ax-smart-block,.ax-pricecard,.ax-hud:has(> .ax-pricing){border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:26px 0 0!important}
  .ax-evolves::after,.ax-appband::after,.ax-smart-block::after,.ax-pricecard::after,.ax-hud:has(> .ax-pricing)::after{content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:1px;border:0;border-radius:0;background:linear-gradient(90deg,transparent,rgba(var(--ax-accent-rgb),.75),transparent);animation:axLinePulse 4.5s ease-in-out infinite;pointer-events:none}
  .ax-evolves::before,.ax-appband::before,.ax-smart-block::before,.ax-pricecard::before,.ax-hud:has(> .ax-pricing)::before{display:none}

  .ax-pricecard-main,.ax-pricecard-side{padding:0 0 20px!important;border-right:0!important;background:none!important}
  /* outcomes: an editorial list with glowing nodes, not a card of cards */
  .ax-outcomes{gap:0;border:0;border-radius:0;background:none;overflow:visible}
  .ax-outcome{position:relative;padding:18px 0 18px 26px;background:none;border-top:1px solid var(--ax-line)}
  .ax-outcome:last-child{border-bottom:1px solid var(--ax-line)}
  .ax-outcome::before{content:"";position:absolute;left:2px;top:24px;width:8px;height:8px;border-radius:50%;background:var(--ax-cyan);animation:axNodePulse 3.2s ease-in-out infinite}
  .ax-outcome:nth-child(2)::before{animation-delay:.8s}.ax-outcome:nth-child(3)::before{animation-delay:1.6s}.ax-outcome:nth-child(4)::before{animation-delay:2.4s}
  .ax-outcome b{font-size:17px}

  /* the family index: open rows divided by light, not boxes */
  .ax-fx-grid{gap:0}
  .ax-fx{border:0;border-radius:0;background:none;border-bottom:1px solid var(--ax-line);padding:13px 0;box-shadow:none}
  .ax-fx:first-child{border-top:1px solid var(--ax-line)}
  .ax-fx::before{display:none}
  .ax-fx:hover,.ax-fx:focus-visible{transform:none;box-shadow:none;background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.07),transparent 70%)}
  .ax-fx-g{box-shadow:0 0 14px rgba(var(--ax-accent-rgb),.25)}

  /* Services steps and website plans, app facts, calculator steps: open lists */
  .ax-steps,.ax-svc-grid{gap:0}
  .ax-step,.ax-svc,.ax-appband-list li,.axc-steps li,.ax-smart-plan{border:0;border-radius:0;background:none;border-top:1px solid var(--ax-line);padding:16px 0}
  .ax-appband-list{gap:0}
  .axc-steps{gap:0}
  .axc-steps li{padding:14px 0}

  /* calculator rows: open, the live summary keeps its frame */
  .axc-item{border:0;border-radius:0;background:none;border-bottom:1px solid var(--ax-line);padding:16px 0;gap:12px;grid-template-columns:40px minmax(0,1fr)}
  .axc-item .axc-price{grid-column:1/-1;text-align:left}
  .axc-item.is-on{background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.08),transparent 75%)}
  .axc-go{justify-content:flex-start}

  /* buttons never wider than the screen, never three lines */
  .ax-btn{max-width:100%;white-space:normal;text-align:center}

  /* the trial selector: one full-screen sheet instead of a box in a box */
  .ac26-trial-modal{padding:0;place-items:stretch}
  .ac26-trial-dialog{width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:max(18px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#05141b,#010406 55%)}
  .ac26-trial-dialog::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#8ce4f5,transparent);animation:axLinePulse 3.5s ease-in-out infinite}
  .ac26-trial-dialog h2{font-size:clamp(28px,8.4vw,36px);line-height:1.04}
  .ac26-trial-intro{margin-top:12px;font-size:14px;line-height:1.5}
  .ac26-trial-plans{gap:0;margin-top:18px}
  .ac26-trial-plan{border:0;border-radius:0;border-top:1px solid rgba(140,228,245,.14);background:none;padding:14px 4px 14px 16px;box-shadow:none;position:relative}
  .ac26-trial-plan:last-child{border-bottom:1px solid rgba(140,228,245,.14)}
  .ac26-trial-plan[aria-pressed="true"]{border-color:rgba(140,228,245,.14);background:linear-gradient(90deg,rgba(140,228,245,.12),transparent 80%);box-shadow:none}
  .ac26-trial-plan[aria-pressed="true"]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:2px;background:#8ce4f5;box-shadow:0 0 12px #8ce4f5}
  .ac26-trial-summary{border-radius:0;border-left:0;border-right:0;margin-top:16px}
  .ac26-trial-plan strong{font-size:21px;line-height:1.1}
  .ac26-trial-plan small,.ac26-trial-plan em{font-size:12.5px;line-height:1.4}
}

/* =====================================================================================================================
   MENU PANEL (both sites) — never parked off-screen (a closed panel translated to the right widened the layout on real
   Android Chrome and shifted the open panel left); a full-screen sheet on phones with a solid top bar.
   ===================================================================================================================== */
html{overflow-x:clip}
.axh-drawer{transform:translateY(-10px);opacity:0;transition:opacity .28s var(--ax-ease),transform .28s var(--ax-ease),visibility 0s .28s;overflow-x:hidden;overscroll-behavior:contain}
.axh-drawer.open{transform:none;opacity:1;transition:opacity .28s var(--ax-ease),transform .28s var(--ax-ease)}
.axh-drawer,.axh-drawer *{min-width:0;box-sizing:border-box}
.axh-drawer-top{z-index:3;background:#030b0e;box-shadow:0 10px 24px -14px rgba(0,0,0,.9)}
.axh-drawer-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(140,228,245,.7),transparent);animation:axLinePulse 4s ease-in-out infinite}
.axh-drawer .axh-cta{width:100%;max-width:100%;white-space:normal;text-align:center;line-height:1.2;padding:14px 18px}
@media(max-width:640px){
  .axh-drawer{left:0;right:0;width:100%;border-left:0;padding:0 18px max(28px,env(safe-area-inset-bottom))}
  .axh-drawer-top{margin:0 -18px 6px;padding:0 18px}
  .axh-drawer-label{margin:22px 0 4px}
  .axh-drawer-product{border-radius:0;padding:11px 0;min-height:60px;border-bottom:1px solid rgba(140,228,245,.07)}
  .axh-drawer-product .g{box-shadow:0 0 14px rgba(var(--ax-accent-rgb),.22)}
  .axh-drawer-product:hover,.axh-drawer-product:focus-visible{background:linear-gradient(90deg,rgba(var(--ax-accent-rgb),.08),transparent 75%)}
  .axh-drawer-link{padding:0;min-height:54px;font-size:17px}
}

/* smooth scrolling on phones: no live blur under the fixed header and no SVG blur filter on the hero circuit lines —
   both repaint on every scroll frame on mobile GPUs. The lasers, stars and motion stay. */
@media(max-width:820px){
  .axh{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(1,5,7,.94)}
  .hero-circuit-svg *{filter:none!important}
  .ax-space canvas,#signal-canvas{transform:translateZ(0)}
}

/* Hero motion on phones, same look, compositor-only: the laser pulses and the bottom scan travel with transform instead
   of left/right (which relaid and repainted the hero every frame), and the X breathes with opacity instead of a
   brightness filter over large glowing text. */
@keyframes axPulseR1{0%{transform:translateX(-200px) rotate(-12deg);opacity:0}10%{opacity:.75}90%{opacity:.55}100%{transform:translateX(calc(100vw + 200px)) rotate(-12deg);opacity:0}}
@keyframes axPulseL2{0%{transform:translateX(200px) rotate(15deg);opacity:0}10%{opacity:.65}90%{opacity:.45}100%{transform:translateX(calc(-100vw - 200px)) rotate(15deg);opacity:0}}
@keyframes axPulseL3{0%{transform:translateX(200px) rotate(-27deg);opacity:0}10%{opacity:.45}90%{opacity:.35}100%{transform:translateX(calc(-100vw - 200px)) rotate(-27deg);opacity:0}}
@keyframes axScanT{from{transform:translateX(-100%)}to{transform:translateX(455%)}}
@keyframes axXBreath{0%,100%{opacity:.9}50%{opacity:1}}
@media(max-width:820px){
  .hero-visual-field{contain:paint}
  .laser,.laser-pulse,.hero-bottom-line span{will-change:transform}
  .laser-pulse-1{left:0;animation-name:axPulseR1}
  .laser-pulse-2{right:0;animation-name:axPulseL2}
  .laser-pulse-3{right:0;animation-name:axPulseL3}
  .hero-bottom-line span{left:0;animation-name:axScanT}
  .hero-wordmark b{animation-name:axXBreath;filter:brightness(1.08)}
}

/* =====================================================================================================================
   HEADER v2 (both sites, 2026-10-10) — the model the owner approved for Ultima Redută, in Astorre X colours:
   desktop: logo · centred menu in spaced capitals with a hairline underline · bordered sign-in · the app.
   phones/tablets: MENU (CLOSE while open) · logo centred · SIGN IN; the menu drops from under the bar, full screen.
   Solid at the top of a page, transparent over the homepage hero, glass once the page scrolls. No shrink on scroll.
   ===================================================================================================================== */
.axh{background:linear-gradient(180deg,#041016 0%,#020709 100%);border-bottom:1px solid rgba(140,228,245,.1);box-shadow:0 20px 55px rgba(0,0,0,.32);
  -webkit-backdrop-filter:none;backdrop-filter:none;transition:background .45s var(--ax-ease),box-shadow .45s var(--ax-ease),border-color .45s var(--ax-ease)}
.axh.is-scrolled{background:rgba(3,10,13,.72);border-bottom-color:rgba(140,228,245,.12);box-shadow:0 10px 30px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(20px) saturate(60%);backdrop-filter:blur(20px) saturate(60%)}
.axh.over-hero{background:transparent;border-bottom-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.axh::before{transition:opacity .45s}
.axh.over-hero::before{opacity:0}
.axh.over-hero .axh-in{text-shadow:0 1px 12px rgba(0,0,0,.45)}
.axh.over-hero .axh-brand{filter:drop-shadow(0 1px 10px rgba(0,0,0,.5))}
html.axh-menu-open .axh{background:linear-gradient(180deg,#041016 0%,#020709 100%);border-bottom-color:rgba(140,228,245,.12);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html.axh-menu-open .axh::before{opacity:0}

/* desktop menu: spaced capitals, no pills; a 1px line marks hover and the current page */
.axh-nav{margin:0 auto;padding:0;border:0;border-radius:0;background:none;gap:clamp(2px,.9vw,14px)}
.axh-nav > a,.axh-nav > .axh-mega > button{min-height:44px;padding:12px 8px;border-radius:0;background:none;color:rgba(226,240,243,.8);
  font:500 12.5px/1 var(--ax-font);letter-spacing:.2em;text-transform:uppercase}
.axh-nav > a::after,.axh-nav > .axh-mega > button::after{content:"";position:absolute;left:8px;right:8px;bottom:9px;height:1px;background:linear-gradient(90deg,var(--ax-ice),var(--ax-cyan));
  transform:scaleX(0);transform-origin:left center;transition:transform .32s var(--ax-ease)}
.axh-nav > a:hover,.axh-nav > a[aria-current="page"],.axh-nav > .axh-mega > button:hover,.axh-nav > .axh-mega > button[aria-expanded="true"],.axh-nav > .axh-mega.is-current > button{color:#fff;background:none}
.axh-nav > a:hover::after,.axh-nav > a[aria-current="page"]::after,.axh-nav > .axh-mega > button:hover::after,.axh-nav > .axh-mega > button[aria-expanded="true"]::after,.axh-nav > .axh-mega.is-current > button::after{transform:scaleX(1)}

/* sign-in: a bordered button with a person mark; the trial / product button stays the bright one */
.axh-signin{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid rgba(140,228,245,.26);border-radius:4px;
  color:#e9f8fb;font:600 11.5px/1 var(--ax-font);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:border-color .2s,background .2s}
.axh-signin:hover{border-color:rgba(140,228,245,.6);background:rgba(140,228,245,.06)}
.axh-signin svg{flex:none;opacity:.85}
.axh-cta{min-height:42px;border-radius:4px;letter-spacing:.14em;font-size:11.5px;border-color:rgba(233,253,255,.5);background:linear-gradient(135deg,rgba(140,228,245,.2),rgba(33,77,87,.06))}

/* the app, behind a hairline */
.axh-play{display:none;align-items:center;gap:8px;flex:none;height:34px;padding:0 12px 0 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#000;color:#fff;text-decoration:none;transition:border-color .2s}
.axh-play:hover{border-color:rgba(255,255,255,.5)}
.axh-play span{display:grid;line-height:1.05}
.axh-play small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.axh-play b{font-size:12.5px;font-weight:650;letter-spacing:0}
.axh-burger-txt{display:none}
@media (min-width:901px) and (max-width:1399px){
  .axh-nav > a,.axh-nav > .axh-mega > button{font-size:11px;letter-spacing:.14em;padding:12px 6px}
  .axh-nav > a::after,.axh-nav > .axh-mega > button::after{left:6px;right:6px}
  .axh-signin span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .axh-signin{width:42px;padding:0;justify-content:center}
}
@media (min-width:1400px){
  .axh-play{display:inline-flex;position:relative;margin-left:8px}
  .axh-play::before{content:"";position:absolute;left:-15px;top:-4px;bottom:-4px;width:1px;background:rgba(190,238,248,.16)}
}

/* phones and tablets: MENU · logo · SIGN IN */
@media (max-width:900px){
  .axh-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
  .axh-in > *{grid-row:1}
  .axh-nav,.axh-in > .axh-cta,.axh-sig,.axh-play{display:none!important}
  .axh-burger{display:inline-flex;grid-column:1;justify-self:start;align-items:center;width:auto;min-width:44px;height:44px;margin:0;padding:0 2px;border:0;border-radius:0;background:none;
    color:#eef8fa;font:500 13px/1 var(--ax-font);letter-spacing:.24em;text-transform:uppercase}
  .axh-burger svg{display:none}
  .axh-burger .is-open{display:inline}
  .axh-burger[aria-expanded="true"] .is-open{display:none}
  .axh-burger[aria-expanded="true"] .is-close{display:inline}
  .axh-brand{grid-column:2;justify-self:center}
  .axh-signin{display:inline-flex;grid-column:3;justify-self:end;min-height:44px;margin:0;padding:0 2px;border:0;border-radius:0;background:none;
    font:500 13px/1 var(--ax-font);letter-spacing:.24em}
  .axh-signin:hover{background:none}
  .axh-signin svg{display:none}
  .axh-legal{grid-column:2 / 4;justify-self:end}

  /* the menu drops from under the bar, full screen; the bar stays and its MENU reads CLOSE */
  .axh-overlay{display:none}
  .axh-drawer{top:var(--ax-header);left:0;right:0;bottom:0;width:100%;z-index:19990;gap:0;border:0;
    padding:6px max(var(--ax-gutter),calc((100% - 720px) / 2)) max(34px,env(safe-area-inset-bottom));
    background:radial-gradient(700px 420px at 100% 0%,rgba(60,139,154,.14),transparent 70%),linear-gradient(180deg,#041016 0%,#020608 60%,#010405 100%);
    transform:translateY(-106%);opacity:0;visibility:hidden;transition:transform .22s var(--ax-ease),opacity .16s linear,visibility 0s .22s}
  .axh-drawer.open{transform:none;opacity:1;visibility:visible;transition:transform .22s var(--ax-ease),opacity .16s linear}
  .axh-drawer-top{display:none}
  .axh-drawer-label{margin:26px 0 6px;color:var(--ax-dim)}
  .axh-drawer-top + .axh-drawer-label{margin-top:18px}
  .axh-drawer-product{border-radius:0;padding:10px 0;min-height:60px;border-bottom:1px solid rgba(140,228,245,.08)}
  .axh-drawer-link{position:relative;min-height:64px;padding:0 0 0 2px;border-bottom:1px solid rgba(140,228,245,.1);color:#eef8fa;
    font:500 27px/1.1 var(--ax-font);letter-spacing:-.012em;transition:padding .2s var(--ax-ease),color .2s}
  .axh-drawer-link[aria-current="page"]{padding-left:16px;box-shadow:inset 3px 0 0 var(--ax-cyan);color:#fff}
  .axh-drawer-link:hover{color:#fff;padding-left:8px}
  .axh-drawer .axh-cta{min-height:56px;margin-top:26px;font-size:12.5px;letter-spacing:.16em}
  .axh-drawer-extra{display:grid;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(140,228,245,.1)}
  .axh-drawer-signin{display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid rgba(140,228,245,.3);border-radius:4px;color:#eef8fa;text-decoration:none;
    font:600 12.5px/1 var(--ax-font);letter-spacing:.22em;text-transform:uppercase}
  .axh-drawer-signin:hover{border-color:rgba(140,228,245,.6);background:rgba(140,228,245,.05)}
  .axh-drawer-extra .ax-play{justify-self:start;min-height:52px}
  .axh-drawer-pay{display:flex;align-items:center;gap:8px;margin:2px 0 0;color:var(--ax-muted);font-size:12.5px;letter-spacing:.04em}
  .axh-drawer-pay::before{content:"";width:12px;height:12px;flex:none;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h1.5A1.5 1.5 0 0 1 20 11.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 20.5v-9A1.5 1.5 0 0 1 5.5 10zm2 0h6V7a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h1.5A1.5 1.5 0 0 1 20 11.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 20.5v-9A1.5 1.5 0 0 1 5.5 10zm2 0h6V7a3 3 0 0 0-6 0z'/%3E%3C/svg%3E") center/contain no-repeat}
}
@media (max-width:820px){
  /* phones scroll without a live blur under the bar (smoothness, 2026-10-07): a deeper tint instead */
  .axh.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(2,7,9,.93)}
}
@media (max-width:480px){
  .axh-burger,.axh-signin{font-size:12px;letter-spacing:.18em}
  .axh-drawer-link{font-size:25px}
}
@media (max-width:359px){
  .axh-signin span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .axh-signin svg{display:block}
  .axh-signin{width:44px;justify-content:flex-end}
}
@media (prefers-reduced-motion:reduce){.axh-drawer,.axh-drawer.open{transition:none}}
@media (max-width:900px){.axh-drawer .axh-drawer-market{justify-content:center;min-height:48px;padding:0;border-bottom:0;box-shadow:none;color:var(--ax-muted);font-size:14px;letter-spacing:.02em}}
@media (max-width:900px){.axh-drawer .axh-drawer-product b{color:#eef8fa}}
.axh-burger .axh-burger-txt{font:inherit;letter-spacing:inherit;line-height:1}
@media (max-width:900px){.axh .axh-in .axh-burger{font-size:13px!important;font-weight:500!important;letter-spacing:.24em!important}}
@media (max-width:480px){.axh .axh-in .axh-burger{font-size:12px!important;letter-spacing:.18em!important}}
/* Astorre X emblem (owner, 2026-10-10): the circle mark alone, no wordmark */
.axh-emblem{display:block;width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(140,228,245,.18))}
@media (max-width:900px){.axh-emblem{width:56px;height:56px}}
@media (max-width:560px){.axh-emblem{width:52px;height:52px}}
/* Google Play badge in the official manner: black, grey hairline, the four-colour mark */
.ax-play,.axh-play{background:#000;border-color:#a6a6a6}
.ax-play:hover,.axh-play:hover{border-color:#fff}
.axh-play{height:38px;padding:0 13px 0 11px;border-radius:7px}
.axh-play small{font-size:8.5px;letter-spacing:.04em;color:#fff}
.axh-play b{font-size:14px;font-weight:500;letter-spacing:-.01em}
.ax-play small{letter-spacing:.04em;color:#fff}
.ax-play b{font-weight:500;letter-spacing:-.01em}

/* =====================================================================================================================
   FOOTER — luxury (both sites, 2026-10-10): a signature row with the mark, one line and the way in; spaced-capital
   column heads on hairlines; how customers pay (Stripe and the accepted methods); the legal line.
   ===================================================================================================================== */
.axf--lux{background:radial-gradient(60% 90% at 50% 0%,rgba(140,228,245,.075),transparent 62%),linear-gradient(180deg,#030b0f 0%,#010406 55%)}
.axf--lux::after{content:"";position:absolute;left:50%;top:-140px;width:min(900px,120vw);height:280px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(closest-side,rgba(140,228,245,.08),transparent);filter:blur(6px)}
.axf--lux .axf-in{position:relative;z-index:1;padding:clamp(64px,7vw,104px) 0 30px}
.axf-sign{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(22px,3.4vw,48px);
  padding-bottom:clamp(40px,5vw,60px);margin-bottom:clamp(40px,5vw,60px);border-bottom:1px solid rgba(140,228,245,.1)}
.axf-brandmark{display:inline-flex;align-items:center;gap:18px;color:#fff;text-decoration:none}
.axf-mark{display:block;flex:none;width:96px;height:96px}
.axf-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 22px rgba(140,228,245,.22))}
.axf-mark--ac{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid rgba(140,228,245,.18);background:radial-gradient(circle,rgba(140,228,245,.08),transparent 70%)}
.axf-mark--ac img{width:50px;height:50px}
.axf--lux .axf-word{display:grid;gap:8px;font:300 22px/1 var(--ax-font);letter-spacing:.32em;text-transform:uppercase;color:#f3fbfc}
.axf--lux .axf-word small{font:400 10.5px/1 var(--ax-font);letter-spacing:.42em;color:var(--ax-muted)}
.axf-line{margin:0;max-width:44ch;color:var(--ax-sub);font:300 clamp(17px,1.5vw,20px)/1.55 var(--ax-font);letter-spacing:.005em}
.axf-sign-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.axf-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:1px solid rgba(233,253,255,.55);border-radius:4px;
  background:linear-gradient(135deg,rgba(140,228,245,.18),rgba(33,77,87,.05));color:#effcff;text-decoration:none;font:600 12px/1 var(--ax-font);letter-spacing:.2em;text-transform:uppercase;
  transition:border-color .2s,box-shadow .2s}
.axf-cta:hover{border-color:#fff;box-shadow:0 0 28px rgba(140,228,245,.14)}
.axf-sign-actions .ax-play{justify-content:center}
.axf--lux .axf-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px)}
.axf--lux .axf-col h2{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(140,228,245,.1);font:500 11px/1 var(--ax-font);letter-spacing:.28em;color:#cfeef5}
.axf--lux .axf-col{gap:13px}
.axf--lux .axf-col a{font-size:14.5px;color:rgba(214,230,234,.78)}
.axf--lux .axf-col a:hover{color:#fff}

/* how customers pay */
.axf-pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;margin-top:clamp(44px,5vw,64px);padding:22px 26px;
  border:1px solid rgba(140,228,245,.12);border-radius:6px;background:linear-gradient(180deg,rgba(140,228,245,.035),rgba(140,228,245,.01))}
.axf-pay-note{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;margin:0;color:#e8f6f9;font-size:14px}
.axf-pay-note svg{color:var(--ax-cyan)}
.axf-pay-note b{font-weight:700;letter-spacing:.01em}
.axf-pay-note small{grid-column:2;color:var(--ax-dim);font-size:12.5px}
.axf-pay-marks{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.axf-pay-marks li{display:block;width:52px;height:33px;border-radius:5px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.axf-pay-marks svg{display:block;width:100%;height:100%}
.axf--lux .axf-bottom{margin-top:28px;padding-top:22px;border-top:1px solid rgba(140,228,245,.1);letter-spacing:.02em}

@media(max-width:1100px){
  .axf-sign{grid-template-columns:auto minmax(0,1fr)}
  .axf-sign-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .axf--lux .axf-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .axf--lux .axf-col--products{grid-column:1/-1}
}
@media(max-width:620px){
  .axf-sign{grid-template-columns:1fr;justify-items:start;gap:22px}
  .axf-mark{width:80px;height:80px}
  .axf--lux .axf-word{font-size:19px;letter-spacing:.26em}
  .axf-sign-actions{width:100%;flex-direction:column}
  .axf-sign-actions .ax-play{align-self:flex-start}
  .axf--lux .axf-top{grid-template-columns:1fr;gap:40px}
  .axf-pay{padding:20px 18px}
  .axf-pay-marks{gap:8px}
  .axf-pay-marks li{width:48px;height:30px}
}
@media(max-width:620px){.axf-pay-marks{gap:6px;flex-wrap:nowrap}.axf-pay-marks li{width:42px;height:27px;border-radius:4px}}
/* phones (owner review 2026-10-10): the bar is fully opaque once scrolled, nothing reads through it; the payment marks share one row in equal cells */
.axh.is-scrolled::before{opacity:0}
@media (max-width:820px){.axh.is-scrolled{background:linear-gradient(180deg,#041016 0%,#020709 100%);border-bottom-color:rgba(140,228,245,.12);box-shadow:0 10px 30px rgba(0,0,0,.35)}}
.axf-pay-marks{display:grid;grid-template-columns:repeat(6,52px);gap:10px}
.axf-pay-marks li{width:auto;height:auto;aspect-ratio:48/30}
@media(max-width:620px){.axf-pay-marks{width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.axf-pay-marks li{width:auto;height:auto;max-width:56px;border-radius:4px}}
/* desktop menu down to 901px, as on ultimareduta.ro (laptops at 125–150% display scaling report ~1000–1150px):
   the phone bar only at 900px and below */
@media (min-width:901px) and (max-width:1180px){
  .axh-nav{display:flex}
  .axh-signin{display:inline-flex}
  .axh-burger{display:none}
  .axh-in{gap:12px}
  .axh-nav{gap:0}
  .axh-nav > a,.axh-nav > .axh-mega > button{font-size:10.5px;letter-spacing:.12em;padding:12px 5px}
  .axh-nav > a::after,.axh-nav > .axh-mega > button::after{left:5px;right:5px}
  .axh-word span{display:none}
  .axh-mark{width:40px;height:40px}
  .axh-mark img{width:30px;height:30px}
  .axh-word strong{font-size:13px}
  .axh-emblem{width:54px;height:54px}
  .axh-cta{margin-left:0;padding:0 12px;font-size:10.5px;letter-spacing:.1em}
  .axh-sig{display:none}
}
@media (min-width:901px) and (max-width:1040px){
  .ax-site-astorrex .axh-in > .axh-cta{display:inline-flex}
  .axh-in > .axh-cta{display:none}
}

/* Homepage wordmark (owner, 2026-10-10: "much higher class"): the logo's own lettering — light capitals, wide
   tracking, a polished silver face and an ice X; no outline, no heavy glow. */
.hero-v6 .hero-wordmark{align-items:baseline;gap:.34em;width:auto;max-width:100%;font-family:var(--ax-font);font-weight:300;font-size:clamp(40px,6.6vw,104px);
  line-height:1;letter-spacing:.2em;text-transform:uppercase;position:relative;padding-bottom:.32em}
.hero-v6 .hero-wordmark span{color:transparent;background:linear-gradient(180deg,#ffffff 0%,#eef8fa 46%,#a9bec4 100%);-webkit-background-clip:text;background-clip:text}
.hero-v6 .hero-wordmark b{font-weight:300;color:transparent;-webkit-text-stroke:0;text-shadow:none;letter-spacing:0;
  background:linear-gradient(140deg,#ffffff 0%,#d9f8ff 38%,#8ce4f5 72%,#4fb4cb 100%);-webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 0 22px rgba(140,228,245,.28));animation:axXBreath 5s ease-in-out infinite}
.hero-v6 .hero-wordmark::after{content:"";position:absolute;left:0;bottom:0;width:min(100%,8.2em);height:1px;
  background:linear-gradient(90deg,rgba(233,253,255,.85),rgba(140,228,245,.35) 45%,transparent)}
@media (max-width:640px){.hero-v6 .hero-wordmark{font-size:clamp(30px,10.4vw,52px);letter-spacing:.16em;gap:.3em}}
@media (min-width:901px) and (max-width:1180px){
  .ax-site-astorrex .axh-nav > a,.ax-site-astorrex .axh-nav > .axh-mega > button{font-size:11px;letter-spacing:.16em;padding:12px 8px}
  .ax-site-astorrex .axh-nav > a::after,.ax-site-astorrex .axh-nav > .axh-mega > button::after{left:8px;right:8px}
}
.hero-v6 .hero-wordmark,.hero-v6 .hero-wordmark b{font-weight:340}
/* Astorre to the power of X (owner, 2026-10-10): the X is an exponent — small, raised, tight to the E */
.hero-v6 .hero-wordmark{gap:0;align-items:flex-start}
.hero-v6 .hero-wordmark b{font-size:.5em;line-height:1;margin:-.12em 0 0 -.02em;letter-spacing:0;font-weight:400}
@media (max-width:640px){.hero-v6 .hero-wordmark{gap:0}.hero-v6 .hero-wordmark b{font-size:.52em}}
.hero-v6 .hero-wordmark b{margin-left:-.1em}
/* the X written as in a formula: ASTORRE^X — a math-italic X set as a true superscript above the cap line */
.hero-v6 .hero-wordmark{display:block}
.hero-v6 .hero-wordmark span{display:inline}
.hero-v6 .hero-wordmark b{display:inline-block;position:relative;top:-.98em;margin:0 0 0 -.3em;font-size:.46em;line-height:1;
  font-family:"Cambria Math","STIX Two Math","Latin Modern Math",Cambria,"Times New Roman",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}
@media (max-width:640px){.hero-v6 .hero-wordmark b{font-size:.5em;top:-.9em}}
/* beats the approved-hero rule (.hero-wordmark.hero-wordmark-refined > b at 1.16em) */
.hero-v6 .hero-wordmark.hero-wordmark-refined > b{font-size:.46em;line-height:1;transform:none;flex:none}
@media (max-width:640px){.hero-v6 .hero-wordmark.hero-wordmark-refined > b{font-size:.5em;top:-.9em}}
.hero-v6 .hero-wordmark.hero-wordmark-refined > b{font-size:.56em;top:-.84em;margin-left:-.26em}
@media (max-width:640px){.hero-v6 .hero-wordmark.hero-wordmark-refined > b{font-size:.58em;top:-.8em}}
