
/* =====================================================================
   NEXALIAN INDUSTRIES PAGE (same design system as the homepage)
   Type: Geist + Geist Mono (c) 2023 Vercel with basement.studio,
   SIL Open Font License 1.1. Embedded so the page has no external requests.
   ===================================================================== */
@font-face{font-family:"Geist";src:url(/assets/fonts/Geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/assets/fonts/GeistMono.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --navy-950:#060E1A; --navy-900:#0A1628; --navy-850:#0E1E36; --navy-800:#132744;
  --line-dark:rgba(148,178,214,.14); --line-dark-strong:rgba(148,178,214,.26);
  --on-dark:#F2F5F9; --on-dark-muted:#B3C0D0; --on-dark-subtle:#8798AE;
  --paper:#F3F6F9; --surface:#FCFDFE; --tint:#E6F7FB;
  --line:#DCE3EB; --line-strong:#C3CDD9;
  --ink:#0B1A2C; --body:#3B4858; --muted:#5B6879;
  --teal:#3FE6F6; --teal-hover:#7AF0FA; --teal-ink:#0A6D93;
  --error:#B42318;
  --focus:var(--teal-ink);
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --r-sm:0.5rem; --r:0.75rem; --r-lg:1rem; --r-xl:1.25rem;
  --shadow:0 1.125rem 2.5rem -1.375rem rgba(11,26,44,.28);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --container:75rem; --gutter:1.5rem;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%;scrollbar-color:#9AA8B8 var(--paper);accent-color:var(--teal-ink)}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;color:var(--body);background:var(--paper);caret-color:var(--teal-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:rgba(63,230,246,.32);color:inherit}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;color:var(--ink);font-weight:600;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
:focus-visible{outline:0.125rem solid var(--focus);outline-offset:0.1875rem;border-radius:0.25rem}
.dark{--focus:var(--teal)}
.skip{position:absolute;left:-624.9375rem;top:0.5rem;z-index:200;background:var(--teal);color:var(--navy-950);padding:0.625rem 0.875rem;border-radius:var(--r-sm);font-weight:600}
.skip:focus{left:0.75rem}
/* This page's section labels are authored in capitals, so they use the mono label style */
.eyebrow{margin-bottom:1rem;color:var(--teal-ink);font-family:var(--mono);font-size:0.75rem;font-weight:600;letter-spacing:.1em}
.dark .eyebrow{color:var(--teal)}
#nxProgress{position:fixed;top:0;left:0;right:0;height:0.125rem;z-index:100;background:var(--teal);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
#navSentinel{position:absolute;top:0;left:0;width:0.0625rem;height:3rem;pointer-events:none}

/* Utility bar + navigation */
.liveTopbar{background:var(--navy-950);border-bottom:0.0625rem solid var(--line-dark);color:var(--on-dark-muted);font-size:0.8438rem;line-height:1.3}
.liveTopbarInner{max-width:var(--container);margin:0 auto;padding:0.625rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:0.5rem 1.5rem;flex-wrap:wrap}
.liveTopbarServing{font-weight:500}
.liveTopbarContact{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.liveTopbarEmail,.liveTopbarPhone{display:inline-flex;align-items:center;gap:0.5rem;color:var(--on-dark);font-weight:500;font-variant-numeric:tabular-nums;transition:color 150ms ease}
.mailIcon,.phoneIcon{display:inline-flex;width:1rem;height:1rem;color:var(--teal)}
.mailIcon svg,.phoneIcon svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nav{position:sticky;top:0;z-index:50;background:var(--navy-900);border-bottom:0.0625rem solid var(--line-dark);transition:box-shadow 200ms ease}
.nav.is-scrolled{box-shadow:0 0.75rem 1.875rem -0.875rem rgba(2,8,18,.8)}
.navin{display:flex;align-items:center;gap:2rem;height:4.5rem}
.brand{display:flex;align-items:center;flex:none;color:var(--on-dark)}
.wordmark{display:inline-flex;align-items:baseline;font-size:1.6875rem;font-weight:600;letter-spacing:-.025em;line-height:1;color:var(--on-dark)}
.wordmark .x{display:inline-block;flex:none;width:.5em;height:.5em;margin:0 .035em 0 .045em;overflow:visible}
.navlinks{display:flex;align-items:center;gap:1.625rem;margin-left:auto;font-size:0.9375rem;font-weight:500;color:#C3CEDC}
.navlinks a{position:relative;padding:0.5rem 0;transition:color 150ms ease}
.navlinks a::after{content:"";position:absolute;left:0;right:0;bottom:0.125rem;height:0.0938rem;background:var(--teal);transform:scaleX(0);transform-origin:100% 50%;transition:transform 220ms var(--ease-out)}
.navlinks a[aria-current="page"]{color:var(--on-dark)}
.navlinks a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{min-height:2.5rem;padding:0 1rem;font-size:0.9062rem}
.mnav{display:none;position:relative;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:0.625rem;min-height:2.75rem;padding:0 0.875rem;border:0.0625rem solid var(--line-dark-strong);border-radius:var(--r-sm);color:var(--on-dark);font-size:0.9062rem;font-weight:500;transition:background-color 150ms ease,transform 160ms var(--ease-out)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary::before{content:"";width:1rem;height:0.625rem;background:linear-gradient(currentColor 0 0) top/100% 0.0938rem no-repeat,linear-gradient(currentColor 0 0) center/100% 0.0938rem no-repeat,linear-gradient(currentColor 0 0) bottom/100% 0.0938rem no-repeat}
.mnav[open] summary{background:rgba(255,255,255,.06)}
.mnavPanel{position:absolute;right:0;top:calc(100% + 0.625rem);width:min(16.25rem,calc(100vw - 2rem));display:grid;gap:0.125rem;padding:0.5rem;background:var(--navy-850);border:0.0625rem solid var(--line-dark-strong);border-radius:var(--r);box-shadow:0 1.5rem 3rem -1rem rgba(2,8,18,.75);transform-origin:top right}
.mnavPanel a{padding:0.75rem 0.875rem;border-radius:var(--r-sm);color:#DCE4EE;font-size:0.9688rem;font-weight:500;transition:background-color 150ms ease}
.mnavPanel a:hover{background:rgba(255,255,255,.06)}
.mnavPanel a[aria-current="page"]{color:var(--teal)}
.mnavPanel .mdemo{display:none;margin-top:0.375rem;background:var(--teal);color:var(--navy-950);font-weight:600;text-align:center}

/* Buttons + text links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:3rem;padding:0 1.375rem;border-radius:var(--r-sm);border:0.0625rem solid transparent;background:var(--teal);color:#04122B;font-size:0.9688rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,opacity 150ms ease}
.btn.ghost{padding:0 0.25rem;background:none;color:var(--on-dark)}
.btn.ghost::after{content:"";width:0.4375rem;height:0.4375rem;margin-left:0.125rem;border-top:0.0938rem solid currentColor;border-right:0.0938rem solid currentColor;transform:rotate(45deg);transition:transform 200ms var(--ease-out)}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-900);color:var(--on-dark-muted);padding:5rem 0 6rem}
.hero::before{content:"";position:absolute;right:-12%;top:-30%;width:70%;height:130%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(63,230,246,.10),transparent)}
.heroGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4rem;align-items:center}
.hero h1{max-width:15ch;margin-bottom:1.5rem;color:var(--on-dark);font-size:clamp(2.5rem,4.8vw,3.875rem);font-weight:600;line-height:1.04;letter-spacing:-.035em}
.lead{max-width:54ch;color:#BAC6D5;font-size:1.1562rem;line-height:1.62}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1.75rem;margin-top:2.25rem}
.heroPanel{padding:1.75rem;background:var(--navy-850);border:0.0625rem solid var(--line-dark);border-radius:var(--r-xl);box-shadow:0 3.125rem 5.625rem -3.125rem rgba(2,8,18,.9)}
.heroPanel .eyebrow{margin-bottom:0.5rem}
.signal{display:flex;gap:0.875rem;padding:1rem 0;border-top:0.0625rem solid var(--line-dark)}
.signal:first-of-type{border-top:0}
.signal .dot{flex:none;width:0.125rem;margin:0.1875rem 0;border-radius:0.0625rem;background:var(--teal)}
.signal b{color:var(--on-dark);font-size:1.0312rem;font-weight:600}
.signal small{display:inline-block;margin-top:0.125rem;color:var(--on-dark-muted);font-size:0.9062rem;line-height:1.45}

/* Light reading body */
.section{padding:6.5rem 0 7rem;background:var(--paper)}
.section.alt{background:var(--surface)}
.sectionHead{max-width:48.75rem;margin-bottom:3.25rem}
.sectionHead h2{margin-bottom:1.125rem;font-size:clamp(1.875rem,3.4vw,2.75rem);line-height:1.1;letter-spacing:-.03em}
.intro{max-width:66ch;color:var(--body);font-size:1.125rem;line-height:1.65}

/* Explore: two ways in, ruled columns rather than boxed cards */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}
.pairItem{padding-top:1.75rem;border-top:0.0625rem solid var(--line-strong)}
.tag{display:block;margin-bottom:0.875rem;color:var(--teal-ink);font-family:var(--mono);font-size:0.7812rem;font-weight:600;letter-spacing:.08em}
.pairItem h3{margin-bottom:0.625rem;font-size:1.5rem;letter-spacing:-.02em}
.pairItem p{max-width:52ch;font-size:1.0312rem}
.callout{margin-top:1.375rem;padding:1rem 1.125rem;background:var(--tint);border-radius:var(--r);color:#0B4A63;font-size:0.9688rem;line-height:1.55}
.callout b{color:var(--ink);font-weight:600}

/* Prepare: three numbered questions */
.questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2.5rem}
.question .tag{margin-bottom:1.125rem;color:var(--teal-ink);font-size:2.75rem;font-weight:500;line-height:1;letter-spacing:-.04em}
.question h3{margin-bottom:0.625rem;font-size:1.3125rem;letter-spacing:-.015em}
.question p{font-size:1rem}

/* Demo request form */
#demo-request{scroll-margin-top:5.625rem}
.demoGrid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem;align-items:start}
.demoIntro{position:sticky;top:7.5rem}
.demoIntro h2{margin-bottom:1.125rem;font-size:clamp(1.875rem,3.2vw,2.625rem);line-height:1.1;letter-spacing:-.03em}
.demoIntro .intro{margin-bottom:2rem}
.demoDirect{padding-top:1.5rem;border-top:0.0625rem solid var(--line-strong)}
.demoDirect p{margin:0 0 0.5rem;color:var(--muted);font-size:0.9688rem}
.demoDirect a{display:block;width:max-content;margin-top:0.375rem;color:var(--teal-ink);font-weight:600;font-variant-numeric:tabular-nums;text-decoration:underline;text-underline-offset:0.1875rem;text-decoration-thickness:0.0625rem}
.demoForm{padding:2.25rem;background:var(--surface);border:0.0625rem solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}
.field{margin:0 0 1.25rem;padding:0;border:0;min-width:0}
.demoForm label,.demoForm legend{display:block;margin-bottom:0.5rem;padding:0;color:var(--ink);font-size:0.9062rem;font-weight:600}
.req{color:var(--error)}
.opt{margin-left:0.375rem;color:var(--muted);font-size:0.8125rem;font-weight:400}
.demoForm input[type=text],.demoForm input[type=email],.demoForm input[type=tel],.demoForm textarea{width:100%;min-height:3rem;padding:0.75rem 0.875rem;border:0.0625rem solid var(--line-strong);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:inherit;font-size:1rem;transition:border-color 150ms ease,box-shadow 150ms ease}
.demoForm textarea{min-height:7.5rem;resize:vertical}
.demoForm input:focus,.demoForm textarea:focus{outline:none;border-color:var(--teal-ink);box-shadow:0 0 0 0.1875rem rgba(10,109,147,.18)}
.demoForm [aria-invalid="true"]{border-color:var(--error);background:#FFFBFA}
.demoForm [aria-invalid="true"]:focus{box-shadow:0 0 0 0.1875rem rgba(180,35,24,.15)}
.fieldError{margin:0.375rem 0 0;color:var(--error);font-size:0.8438rem}
.fieldError:empty{display:none}
.topicGrid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.demoForm label.topic{display:flex;align-items:center;gap:0.625rem;margin:0;padding:0.6875rem 0.8125rem;border:0.0625rem solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--body);font-size:0.9375rem;font-weight:400;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease}
.topic input{width:1.0625rem;height:1.0625rem;margin:0;flex:none}
.topic:has(input:checked){border-color:var(--teal-ink);background:var(--tint);color:var(--ink)}
.topic:has(input:focus-visible){outline:0.125rem solid var(--teal-ink);outline-offset:0.125rem}
.hp{position:absolute;left:-624.9375rem;width:0.0625rem;height:0.0625rem;overflow:hidden}
.formFoot{display:flex;flex-wrap:wrap;align-items:center;gap:0.875rem 1.25rem;margin-top:0.5rem}
.submitBtn[disabled]{opacity:.65;cursor:progress}
.privacyNote{flex:1;min-width:13.75rem;color:var(--muted);font-size:0.8438rem}
.privacyNote a{color:var(--teal-ink);text-decoration:underline;text-underline-offset:0.125rem}
.formStatus{margin-top:1rem}
.formStatus:empty{display:none}
.formStatus .msg{padding:1rem 1.125rem;border-radius:var(--r);font-size:0.9375rem;line-height:1.55}
.formStatus .ok{background:var(--tint);color:#0B4A63}
.formStatus .bad{background:#FFF4F2;color:#8A1C12}
.formStatus .msg a{color:inherit;font-weight:600;text-decoration:underline}
.demoForm.is-sent .field,.demoForm.is-sent .fieldRow,.demoForm.is-sent .formFoot{display:none}
.demoForm.is-sent .formStatus{margin-top:0}

/* CTA */
.ctaBand{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:4.5rem 4rem;background:var(--navy-900);border-radius:var(--r-xl);box-shadow:var(--shadow)}
.ctaBand::before{content:"";position:absolute;right:-10%;top:-60%;width:60%;height:220%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(63,230,246,.12),transparent)}
.ctaBand h2{max-width:20ch;margin-bottom:1rem;color:var(--on-dark);font-size:clamp(1.8125rem,3.1vw,2.5rem);line-height:1.12;letter-spacing:-.03em}
.ctaBand p{max-width:56ch;color:var(--on-dark-muted);font-size:1.0938rem;line-height:1.6}
.ctaBand .btn{flex:none;min-height:3.375rem;padding:0 1.75rem;font-size:1rem}

/* Footer */
footer{background:var(--navy-950);color:var(--on-dark-subtle);padding:5rem 0 2.25rem}
.nxFooterColumns{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:3rem;padding-bottom:3.5rem;border-bottom:0.0625rem solid var(--line-dark)}
.nxFooterCol{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem}
.nxFooterCol h3{margin-bottom:0.5rem;color:var(--on-dark);font-family:var(--mono);font-size:0.7188rem;font-weight:600;letter-spacing:.12em}
.nxFooterCol a{color:var(--on-dark-muted);font-size:0.9688rem;transition:color 150ms ease}
.nxFooterContact div{color:var(--on-dark-subtle);font-size:0.9688rem}
.nxFooterContact strong{color:var(--on-dark);font-weight:600}
.nxFooterContact .nxDemoLink{margin-top:0.375rem;color:var(--teal);font-weight:600}
.foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3.5rem;align-items:start;padding:2.25rem 0;border-bottom:0.0625rem solid var(--line-dark);font-size:0.8438rem;line-height:1.7}
.foot p{max-width:90ch}
.foot p+p{margin-top:0.75rem}
.footerCopyright{padding-top:1.5rem;font-size:0.8438rem}

/* Motion */
@keyframes rise{from{opacity:0;transform:translateY(1.125rem)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes menuIn{from{opacity:0;transform:scale(.96) translateY(-0.25rem)}to{opacity:1;transform:none}}
@keyframes progress{to{transform:scaleX(1)}}
@supports (animation-timeline:scroll()){#nxProgress{animation:progress linear both;animation-timeline:scroll(root)}}

@media (hover:hover) and (pointer:fine){
  .liveTopbarEmail:hover,.liveTopbarPhone:hover{color:var(--teal)}
  .navlinks a:hover{color:var(--on-dark)}
  .navlinks a:hover::after{transform:scaleX(1);transform-origin:0 50%}
  .btn:not(.ghost):hover{background:var(--teal-hover)}
  .btn.ghost:hover{color:var(--teal)}
  .btn.ghost:hover::after{transform:translateX(0.1875rem) rotate(45deg)}
  .mnav summary:hover{background:rgba(255,255,255,.06)}
  .demoForm label.topic:hover{border-color:var(--line-strong)}
  .demoDirect a:hover,.privacyNote a:hover{color:var(--ink)}
  .nxFooterCol a:hover{color:var(--on-dark)}
  .nxFooterContact .nxDemoLink:hover{color:var(--teal-hover)}
}

@media (prefers-reduced-motion:no-preference){
  .btn:active,.mnav summary:active{transform:scale(.97)}
  @media (hover:hover) and (pointer:fine){
    .btn:not(.ghost):hover{transform:translateY(-0.0625rem)}
    .btn:not(.ghost):hover:active{transform:translateY(-0.0625rem) scale(.97)}
  }
  .js .heroCopy>*{animation:rise 750ms var(--ease-out) both}
  .js .heroCopy>:nth-child(1){animation-delay:60ms}
  .js .heroCopy>:nth-child(2){animation-delay:140ms}
  .js .heroCopy>:nth-child(3){animation-delay:230ms}
  .js .heroCopy>:nth-child(4){animation-delay:320ms}
  .js .heroPanel{animation:rise 950ms var(--ease-out) 260ms both}
  .js .heroPanel .signal{animation:rise 700ms var(--ease-out) both}
  .js .heroPanel .signal:nth-of-type(1){animation-delay:520ms}
  .js .heroPanel .signal:nth-of-type(2){animation-delay:600ms}
  .js .heroPanel .signal:nth-of-type(3){animation-delay:680ms}
  .js [data-reveal]{opacity:0;transform:translateY(1rem);transition:opacity 650ms var(--ease-out),transform 650ms var(--ease-out);transition-delay:calc(var(--i,0) * 60ms)}
  .js [data-reveal="mask"]{opacity:1;transform:translateY(.45em);clip-path:inset(0 0 100% 0);transition:clip-path 800ms var(--ease-out),transform 800ms var(--ease-out);transition-delay:calc(var(--i,0) * 60ms)}
  .js [data-reveal="curtain"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0 round 1.25rem);transition:clip-path 900ms var(--ease-in-out)}
  .js [data-reveal].is-in{opacity:1;transform:none;clip-path:inset(0 0 -20% 0)}
  .js [data-reveal="curtain"].is-in{clip-path:inset(0 0 0 0 round 1.25rem)}
  .mnav[open] .mnavPanel{animation:menuIn 180ms var(--ease-out)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .heroCopy,.js .heroPanel{animation:fade 250ms ease both}
  .js [data-reveal]{opacity:0;transition:opacity 250ms ease}
  .js [data-reveal].is-in{opacity:1}
  #nxProgress{display:none}
}

/* Responsive */
@media (max-width:1100px){
  .navlinks{display:none}
  .mnav{display:block}
  .navin{gap:0.75rem}
  .heroGrid{grid-template-columns:1fr;gap:3rem}
  .heroPanel{max-width:35rem}
}
@media (max-width:900px){
  .section{padding:5rem 0 5.5rem}
  .pair{grid-template-columns:1fr;gap:2.5rem}
  .questions{grid-template-columns:1fr;gap:2.5rem}
  .demoGrid{grid-template-columns:1fr;gap:2.5rem}
  .demoIntro{position:static}
  .ctaBand{flex-direction:column;align-items:flex-start;gap:2rem;padding:3rem 2.25rem}
  .nxFooterColumns{grid-template-columns:1fr 1fr}
  .nxFooterContact{grid-column:1/-1}
  .foot{grid-template-columns:1fr;gap:1.25rem}
}
@media (max-width:640px){
  :root{--gutter:1rem}
  body{font-size:1.0312rem}
  .liveTopbarInner{justify-content:center;text-align:center}
  .liveTopbarContact{justify-content:center;gap:0.5rem 1.25rem}
  .navin{height:4rem}
  .wordmark{font-size:1.5rem}
  .nav>.navin>.btn{display:none}
  .mnavPanel .mdemo{display:block}
  .hero{padding:3.25rem 0 4rem}
  .lead{font-size:1.0625rem}
  .actions{flex-direction:column;align-items:stretch}
  .actions .btn:not(.ghost){width:100%}
  .actions .btn.ghost{justify-content:flex-start}
  .heroPanel{padding:1.375rem}
  .section{padding:4.25rem 0 4.75rem}
  .sectionHead{margin-bottom:2.25rem}
  .intro{font-size:1.0625rem}
  .demoForm{padding:1.5rem 1.125rem}
  .fieldRow,.topicGrid{grid-template-columns:1fr}
  .submitBtn{width:100%}
  .ctaBand{padding:2.5rem 1.375rem;border-radius:var(--r-lg)}
  .ctaBand .btn{width:100%}
  .nxFooterColumns{grid-template-columns:1fr;gap:2.25rem}
  footer{padding-top:3.75rem}
}

/* ---- Shared page components (same system as the homepage) ---- */
.heroCopy .lead{margin-bottom:0}
.sectionHead p+p{margin-top:1rem}
.tag{display:block;margin-bottom:0.875rem;color:var(--teal-ink);font-family:var(--mono);font-size:0.7812rem;font-weight:600;letter-spacing:.08em}
.item h3{margin-bottom:0.625rem;font-size:1.375rem;letter-spacing:-.018em}
.item p{font-size:1rem}

/* Ruled columns: 2 to 4 items side by side, each under a hairline */
.cols{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:2.5rem}
.cols>.item{padding-top:1.625rem;border-top:0.0625rem solid var(--line-strong)}

/* Ruled grid: longer sets (6 to 11 items) in a quiet table of cells */
.ruledGrid{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:0.0625rem;background:var(--line);border:0.0625rem solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ruledGrid>.item{padding:1.75rem 1.625rem 1.875rem;background:var(--surface)}
.section.alt .ruledGrid>.item{background:var(--paper)}
.ruledGrid[style*="--n:3"]>.item:last-child:nth-child(3n+1){grid-column:1/-1}
.ruledGrid[style*="--n:3"]>.item:last-child:nth-child(3n+2){grid-column:span 2}
.ruledGrid[style*="--n:2"]>.item:last-child:nth-child(2n+1){grid-column:1/-1}

/* Step flow: a sequence along one connecting line */
.stepFlow{position:relative;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:2rem}
.stepFlow .flowLine{position:absolute;left:0;right:0;top:0;height:0.0625rem;background:var(--line-strong)}
.stepFlow .flowLine::after{content:"";position:absolute;inset:-0.0312rem 0;background:var(--teal-ink);transform-origin:0 50%}
.flowStep{position:relative;padding-top:1.875rem}
.flowStep::before{content:"";position:absolute;left:0;top:-0.25rem;width:0.5625rem;height:0.5625rem;border-radius:0.125rem;background:var(--paper);border:0.0938rem solid var(--teal-ink)}
.section.alt .flowStep::before{background:var(--surface)}
.flowStep h3{margin-bottom:0.5rem;font-size:1.25rem;letter-spacing:-.015em}
.flowStep p{font-size:0.9688rem}

/* Dark panel: one dark object holding a short set of questions or principles */
.darkPanel{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:0.75rem;padding:0.75rem;background:var(--navy-900);border-radius:var(--r-xl);box-shadow:var(--shadow)}
.darkPanel>.panelItem{padding:1.75rem 1.625rem;background:var(--navy-850);border-radius:var(--r)}
.darkPanel .tag{color:var(--teal)}
.darkPanel h3{margin-bottom:0.625rem;color:var(--on-dark);font-size:1.25rem;letter-spacing:-.015em}
.darkPanel p{color:var(--on-dark-muted);font-size:0.9688rem}

/* Small topic tags inside items */
.pillrow{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:1.125rem}
.pill{padding:0.3125rem 0.625rem;border:0.0625rem solid var(--line-strong);border-radius:0.375rem;color:var(--body);font-size:0.8125rem;line-height:1.3}

/* Callout note */
.callout{margin-top:1.25rem;padding:1rem 1.125rem;background:var(--tint);border-radius:var(--r);color:#0B4A63;font-size:0.9688rem;line-height:1.55}
.callout b{color:var(--ink);font-weight:600}

/* Pricing plans: tiers earn cards, the recommended tier is marked by border and tint */
.planGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.planCard{display:flex;flex-direction:column;padding:2.125rem 1.875rem;background:var(--surface);border:0.0625rem solid var(--line);border-radius:var(--r-lg)}
.planCard.featured{border:0.125rem solid var(--teal-ink);background:#F3FBFE;box-shadow:var(--shadow)}
.planLabel{color:var(--teal-ink);font-family:var(--mono);font-size:0.7812rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.planCard h3{margin:0.5rem 0 0.25rem;font-size:2rem;letter-spacing:-.03em}
.planCard .for{color:var(--muted);font-size:0.875rem;font-weight:600}
.planCard .desc{margin:1.25rem 0 1.625rem;font-size:1rem}
.includes{margin-top:auto;padding-top:1.375rem;border-top:0.0625rem solid var(--line)}
.includes strong{display:block;margin-bottom:0.75rem;color:var(--ink);font-family:var(--mono);font-size:0.75rem;font-weight:600;letter-spacing:.1em}
.includes div{position:relative;margin:0.625rem 0;padding-left:1.625rem;font-size:0.9688rem;color:var(--body)}
.tick{position:absolute;left:0.1875rem;top:0.3125rem;width:0.375rem;height:0.6875rem;border-right:0.1094rem solid var(--teal-ink);border-bottom:0.1094rem solid var(--teal-ink);transform:rotate(40deg);font-size:0}

/* Pricing comparison table */
.compareBox{overflow-x:auto;background:var(--surface);border:0.0625rem solid var(--line);border-radius:var(--r-lg)}
.pricingTable{width:100%;min-width:47.5rem;border-collapse:collapse;font-size:0.9688rem}
.pricingTable th,.pricingTable td{padding:1.0625rem 1.375rem;border-bottom:0.0625rem solid var(--line);text-align:center}
.pricingTable tr:last-child td{border-bottom:0}
.pricingTable th{color:var(--ink);font-size:0.9062rem;font-weight:600;background:var(--paper)}
.pricingTable th.plus{color:var(--teal-ink)}
.pricingTable th:first-child,.pricingTable td:first-child{width:40%;text-align:left}
.pricingTable td:first-child{color:var(--ink);font-weight:500}
.full{color:var(--teal-ink);font-weight:600}
.partial{color:#8A5A12;font-weight:600}
.none{color:var(--muted)}

/* Forms share the demo form styles; this page's form spans two columns */
.applyForm{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem;max-width:55rem}
.applyForm .field.full,.applyForm .formFoot,.applyForm .formStatus{grid-column:1/-1}
.disclaimer{flex-basis:100%;margin-top:0.375rem;color:var(--muted);font-size:0.8125rem;line-height:1.6}

@media (prefers-reduced-motion:no-preference){
  .js [data-reveal="flow"]{opacity:1;transform:none}
  .js [data-reveal="flow"] .flowLine::after{transform:scaleX(0);transition:transform 1200ms var(--ease-in-out) 150ms}
  .js [data-reveal="flow"] .flowStep{opacity:.25;transition:opacity 500ms ease;transition-delay:calc(var(--s,0) * 220ms + 200ms)}
  .js [data-reveal="flow"].is-in .flowLine::after{transform:none}
  .js [data-reveal="flow"].is-in .flowStep{opacity:1}
}
@media (max-width:1000px){
  .cols,.ruledGrid,.darkPanel,.planGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ruledGrid>.item:last-child{grid-column:auto!important}
  .stepFlow{grid-template-columns:1fr;gap:0}
  .stepFlow .flowLine{right:auto;bottom:0;width:0.0625rem;height:auto}
  .stepFlow .flowLine::after{transform-origin:50% 0}
  .js .stepFlow[data-reveal="flow"] .flowLine::after{transform:scaleY(0)}
  .js .stepFlow[data-reveal="flow"].is-in .flowLine::after{transform:none}
  .flowStep{padding:0 0 2.25rem 2rem}
  .flowStep::before{left:-0.25rem;top:0.3125rem}
}
@media (max-width:640px){
  .cols,.ruledGrid,.darkPanel,.planGrid,.applyForm{grid-template-columns:1fr}
  .cols{gap:2rem}
  .ruledGrid>.item{padding:1.5rem 1.25rem}
  .darkPanel>.panelItem{padding:1.5rem 1.25rem}
  .planCard{padding:1.75rem 1.375rem}
}

/* Franchise partner badge */
.partnerBadge{flex:none;display:inline-flex;align-items:center;gap:0.875rem;white-space:nowrap;padding:0.875rem 1.25rem 0.875rem 1rem;border:0.0625rem solid rgba(63,230,246,.35);border-radius:var(--r);background:rgba(63,230,246,.05)}
.partnerBadge .seal{flex:none;width:1.875rem;height:1.875rem}
.badgeText small{display:block;color:var(--teal);font-family:var(--mono);font-size:0.6562rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.badgeText b{display:block;margin-top:0.1875rem;color:var(--on-dark);font-size:1rem;font-weight:600;letter-spacing:-.01em}
.badgeText em{display:block;margin-top:0.0625rem;color:var(--on-dark-muted);font-size:0.8125rem;font-style:normal}
.footBadge{margin-top:1.5rem;padding:0.625rem 1rem 0.625rem 0.75rem;gap:0.75rem}
.footBadge .seal{width:1.5rem;height:1.5rem}
.footBadge .badgeText b{font-size:0.875rem}

/* Franchise badge animation: the seal draws in when the badge comes into view, then a soft light passes across every few seconds */
.partnerBadge{position:relative;overflow:hidden;isolation:isolate}
.partnerBadge::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(63,230,246,.16) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .badgeAnim .seal circle,.badgeAnim .seal path{stroke-dasharray:1;stroke-dashoffset:1}
  .badgeAnim.on .seal circle{stroke-dashoffset:0;transition:stroke-dashoffset 900ms var(--ease-out)}
  .badgeAnim.on .seal path{stroke-dashoffset:0;transition:stroke-dashoffset 450ms var(--ease-out) 650ms}
  .badgeAnim.on::after{animation:badgeSheen 7s var(--ease-in-out) 1.2s infinite}
  .badgeAnim.on{animation:badgeGlow 7s ease-in-out 1.2s infinite}
}
@keyframes badgeSheen{0%{transform:translateX(-120%)}18%,100%{transform:translateX(120%)}}
@keyframes badgeGlow{0%,100%{border-color:rgba(63,230,246,.35)}9%{border-color:rgba(63,230,246,.7)}20%{border-color:rgba(63,230,246,.35)}}
html.nx-paused .badgeAnim::after,html.nx-paused .badgeAnim{animation-play-state:paused}
