
:root{

  --logo-red:  #E52735;   
  --logo-blue: #46A9E3;   
  --logo-black:#000000;   


  --navy-900:  #06080C;
  --navy-800:  #0C1220;
  --navy-700:  #133150;
  --brand:     #0E6BAE;   
  --brand-lift:#46A9E3;   
  --brand-050: #EAF5FD;
  --brand-100: #CFE7F8;


  --teal:      #0E6BAE;   
  --teal-050:  #EAF5FD;
  --red:       #E52735;
  --red-deep:  #B8121F;   
  --red-050:   #FDEDEE;
  --gold:      #C88418;
  --gold-050:  #FBF3E3;


  --paper:     #FFFFFF;
  --paper-alt: #F5F8FC;
  --paper-warm:#FBF9F5;
  --ink:       #0B1119;   
  --ink-2:     #223040;   
  --on-dark:   #FFFFFF;
  --on-dark-2: #D9E7F7;   
  --rule:      #CBD8E6;
  --rule-soft: #E4ECF5;


  --wrap: 1160px;
  --serif: "Times New Roman", Times, Georgia, serif;
  --r:     14px;
  --r-sm:  8px;
  --r-pill:999px;
  --sh-1: 0 1px 2px rgba(7,27,51,.06), 0 6px 18px rgba(7,27,51,.07);
  --sh-2: 0 2px 6px rgba(7,27,51,.08), 0 18px 44px rgba(7,27,51,.13);
  --sh-3: 0 30px 70px rgba(7,27,51,.22);
  --focus: #C25E00;

  --s1:.75rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:5.5rem;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.1875rem;
  line-height:1.7;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; }
img{ display:block; }
a{ color:var(--brand); text-underline-offset:3px; transition:color .15s ease; }
a:hover{ color:var(--navy-700); }
:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; border-radius:2px; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 1.5rem; }
.wrap-narrow{ max-width:860px; }
.skip{
  position:absolute; left:-9999px; top:0; background:var(--paper); color:var(--ink);
  padding:.75rem 1.25rem; border:2px solid var(--brand); border-radius:var(--r-sm); z-index:200;
}
.skip:focus{ left:1rem; top:1rem; }
.sprite{ position:absolute; width:0; height:0; overflow:hidden; }


h1,h2,h3,h4{ margin:0; line-height:1.2; font-weight:700; letter-spacing:-.014em; }
h1{ font-size:clamp(1.625rem,2.7vw,2.25rem); }
h2{ font-size:clamp(1.375rem,1.9vw,1.625rem); }
h3{ font-size:1.25rem; letter-spacing:-.006em; }
h4{ font-size:1.0625rem; }
p{ margin:0 0 1.125rem; max-width:66ch; }
.lede{ font-size:clamp(1.1875rem,1.4vw,1.3125rem); line-height:1.6; }
.note{ font-size:.9375rem; color:var(--ink-2); line-height:1.55; max-width:62ch; }
.center{ text-align:center; }
.center p{ margin-left:auto; margin-right:auto; }


.swash{ position:relative; white-space:nowrap; }
.swash::after{
  content:""; position:absolute; left:-.04em; right:-.04em; bottom:.06em; height:.34em;
  background:linear-gradient(90deg,var(--logo-red),var(--logo-blue));
  opacity:.4; border-radius:var(--r-pill); z-index:0;
}
.swash > span{ position:relative; z-index:1; }


.eyebrow{
  display:inline-block; font-size:.875rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--brand); background:var(--brand-050);
  border:1px solid var(--brand-100); border-radius:var(--r-pill);
  padding:.3rem 1rem; margin:0 0 1.125rem;
}
.eyebrow-teal{ color:var(--red-deep); background:var(--red-050); border-color:#F6CFD2; }
.eyebrow-light{
  color:var(--on-dark); background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.34);
}


.masthead{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--rule-soft);
}
.masthead .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; min-height:80px; position:relative;
}
.brand{
  display:flex; align-items:center; gap:.65rem;
  font-size:1.5rem; font-weight:700; color:var(--ink);
  text-decoration:none; letter-spacing:-.03em; white-space:nowrap;
}
.brand:hover{ color:var(--ink); }
.wordmark{ display:inline; white-space:nowrap; }
.brand .tech{ color:var(--brand); }
.brandmark{
  width:46px; height:46px; flex:none; display:block; border-radius:50%;
  box-shadow:0 2px 10px rgba(6,8,12,.34);
}
.foot .brandmark{ box-shadow:0 2px 10px rgba(0,0,0,.5); }
.nav{ display:flex; align-items:center; gap:1.5rem; }
.nav a{
  position:relative; color:var(--ink); text-decoration:none;
  font-size:1.0625rem; padding:.4rem 0; white-space:nowrap;
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--brand); transform:scaleX(0); transform-origin:left;
  transition:transform .2s ease;
}
.nav a:hover{ color:var(--brand); }
.nav a:hover::after,
.nav a[aria-current="page"]::after{ transform:scaleX(1); }
.nav a[aria-current="page"]{ color:var(--brand); }
.nav .btn::after{ display:none; }

.nav .btn{
  padding:.8rem 1.9rem;
  font-size:1.0625rem;
  line-height:1.3;
  color:#FFFFFF;
  margin-left:.5rem;
  letter-spacing:.01em;
}
.nav .btn:hover{ color:#FFFFFF; }
.navtoggle{
  display:none; font-family:var(--serif); font-size:1rem; background:var(--paper);
  color:var(--ink); border:1.5px solid var(--rule); border-radius:var(--r-sm);
  padding:.55rem 1rem; cursor:pointer;
}


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--serif); font-size:1.0625rem; font-weight:700;
  padding:.85rem 1.9rem; border:1.5px solid transparent; border-radius:var(--r-pill);
  background:linear-gradient(160deg,var(--brand-lift),var(--brand));
  color:#FFFFFF; text-decoration:none; cursor:pointer; line-height:1.3;
  box-shadow:0 2px 6px rgba(27,95,168,.24);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover{ color:#FFFFFF; transform:translateY(-2px); box-shadow:0 8px 22px rgba(27,95,168,.32); }
.btn:active{ transform:translateY(0); }
.btn-teal{ background:linear-gradient(160deg,var(--logo-red),var(--red-deep)); box-shadow:0 2px 6px rgba(184,18,31,.28); }
.btn-teal:hover{ box-shadow:0 8px 22px rgba(229,39,53,.26); }
.btn-ghost{ background:var(--paper); color:var(--brand); border-color:var(--rule); box-shadow:none; }
.btn-ghost:hover{ background:var(--brand-050); color:var(--navy-700); border-color:var(--brand-100); }
.btn-light{ background:var(--paper); color:var(--navy-800); box-shadow:0 2px 10px rgba(0,0,0,.16); }
.btn-light:hover{ background:#FFFFFF; color:var(--navy-900); }
.btn-outline-light{ background:transparent; color:#FFFFFF; border-color:rgba(255,255,255,.5); box-shadow:none; }
.btn-outline-light:hover{ background:rgba(255,255,255,.12); color:#FFFFFF; border-color:#FFFFFF; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.875rem; margin-top:1.875rem; align-items:center; }


.section{ padding:var(--s5) 0; }
.section-alt{ background:var(--paper-alt); }
.section-warm{ background:var(--paper-warm); }
.section-tint{ background:linear-gradient(180deg,var(--brand-050),var(--paper)); }
.section-head{ max-width:62ch; margin-bottom:var(--s4); }
.section-head p:last-child{ margin-bottom:0; }


.section-dark{
  background:
    radial-gradient(1000px 460px at 78% -12%, rgba(70,169,227,.34), transparent 62%),
    linear-gradient(150deg,var(--navy-900),var(--navy-700));
  color:var(--on-dark); position:relative; overflow:hidden;
}
.section-dark::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:26px 26px; opacity:.5;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 72%);
          mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 72%);
}
.section-dark .wrap{ position:relative; z-index:1; }
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark strong{ color:var(--on-dark); }
.section-dark p,.section-dark li{ color:var(--on-dark-2); }
.section-dark .lede{ color:#EAF3FD; }
.section-dark a:not(.btn){ color:#9FD0FF; }
.section-dark a:not(.btn):hover{ color:#FFFFFF; }
.section-dark .note{ color:#C2D8F0; }


.pagehead{
  padding:var(--s5) 0 var(--s4);
  background:
    radial-gradient(820px 380px at 88% -30%, rgba(70,169,227,.14), transparent 64%),
    linear-gradient(180deg,var(--brand-050),var(--paper));
  border-bottom:1px solid var(--rule-soft);
}
.pagehead h1{ margin-bottom:1.125rem; }
.crumb{ font-size:.9375rem; color:var(--ink-2); margin:0 0 1.25rem; }
.crumb a{ color:var(--ink-2); text-decoration:none; }
.crumb a:hover{ color:var(--brand); text-decoration:underline; }


.hero{
  padding:var(--s6) 0 var(--s5);
  background:
    radial-gradient(900px 420px at 82% -18%, rgba(70,169,227,.40), transparent 60%),
    radial-gradient(700px 380px at 6% 105%, rgba(229,39,53,.26), transparent 62%),
    linear-gradient(155deg,var(--logo-black),var(--navy-800) 55%,#0F3A5E);
  color:var(--on-dark); position:relative; overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.17) 1px, transparent 1px);
  background-size:26px 26px; opacity:.55;
  -webkit-mask-image:radial-gradient(720px 460px at 20% 0%, rgba(0,0,0,.9), transparent 72%);
          mask-image:radial-gradient(720px 460px at 20% 0%, rgba(0,0,0,.9), transparent 72%);
}
.hero .wrap{ position:relative; z-index:1; }
.hero-grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:var(--s4); align-items:center; }
.hero h1{ margin-bottom:1.25rem; color:var(--on-dark); }
.hero .lede{ color:#EAF3FD; }
.hero .note{ color:#BFD6F0; }


.trust{ display:flex; flex-wrap:wrap; gap:.5rem .75rem; margin-top:1.75rem; list-style:none; padding:0; }
.trust li{
  display:flex; align-items:center; gap:.45rem; font-size:.9375rem; color:#EAF3FD;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.24);
  border-radius:var(--r-pill); padding:.35rem .95rem;
}
.trust svg{ width:15px; height:15px; flex:none; color:var(--logo-blue); }


.statement{
  background:var(--paper); color:var(--ink);
  border-radius:var(--r); padding:1.75rem 1.75rem 1.5rem;
  position:relative; box-shadow:var(--sh-3); transform:rotate(-.6deg);
}
.statement::after{
  content:""; position:absolute; left:0; right:0; bottom:-9px; height:10px;
  background:radial-gradient(circle at 9px 0, transparent 8px, var(--paper) 8.5px);
  background-size:18px 10px; background-repeat:repeat-x;
}
.statement-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-bottom:.75rem; border-bottom:2px solid var(--ink);
}
.statement h2{ font-size:1.0625rem; letter-spacing:.15em; text-transform:uppercase; }
.statement .stamp{
  font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--red-deep); background:var(--red-050); border:1px solid #F6CFD2;
  border-radius:var(--r-pill); padding:.2rem .75rem; white-space:nowrap;
}
.statement dl{ margin:.5rem 0 0; }
.line{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.6rem 0; border-bottom:1px solid var(--rule-soft);
}
.line dt{ margin:0; font-size:1.0625rem; }
.line dd{ margin:0; font-weight:700; white-space:nowrap; }
.line-total{ border-bottom:0; border-top:2px solid var(--ink); margin-top:.5rem; padding-top:.9rem; }
.line-total dt{ font-weight:700; }
.line-total dd{ color:var(--brand); font-size:1.5rem; }
.stmt-foot{ margin-top:1rem; padding-top:.875rem; border-top:1px dashed var(--rule); }


.ico{ width:24px; height:24px; flex:none; }
.iconbox{
  width:54px; height:54px; border-radius:var(--r-sm);
  display:grid; place-items:center; margin-bottom:1.25rem;
  background:linear-gradient(150deg,var(--brand-050),var(--brand-100));
  color:var(--brand);
}
.iconbox svg{ width:27px; height:27px; }
.iconbox-teal{ background:linear-gradient(150deg,var(--red-050),#F9D9DC); color:var(--red-deep); }
.iconbox-gold{ background:linear-gradient(150deg,var(--gold-050),#F3E2C0); color:#8A5B0C; }
.iconbox-light{ background:rgba(255,255,255,.16); color:#FFFFFF; }


.cols-2{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s3); }
.cols-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); }
.cols-tight{ gap:0 1.25rem; }

.card{
  background:var(--paper); border:1px solid var(--rule-soft);
  border-radius:var(--r); padding:1.875rem;
  box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.card h3{ margin-bottom:.6rem; }
.card p:last-child,.card ul:last-child{ margin-bottom:0; }
.card-flat:hover{ transform:none; box-shadow:var(--sh-1); }
.card-dark{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); box-shadow:none;
}
.card-dark:hover{ background:rgba(255,255,255,.12); box-shadow:none; }


.divisions{ display:grid; gap:1.25rem; }
.division{
  display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:start;
  background:var(--paper); border:1px solid var(--rule-soft); border-radius:var(--r);
  padding:1.875rem; box-shadow:var(--sh-1); position:relative; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.division::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
  background:linear-gradient(180deg,var(--brand-lift),var(--brand));
}
.division:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.division-pay::before{ background:linear-gradient(180deg,var(--logo-red),var(--red-deep)); }
.division-it::before{ background:linear-gradient(180deg,var(--gold),#8A5B0C); }
.division .iconbox{ margin-bottom:0; }
.division h3{ margin-bottom:.4rem; }
.division p{ margin-bottom:.75rem; }
.division .tag{
  font-size:.8125rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--ink-2); display:block; margin-bottom:.45rem;
}
.arrow{ font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; }
.arrow::after{ content:"\2192"; transition:transform .18s ease; }
.arrow:hover::after{ transform:translateX(4px); }


.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s3); }
.stat{ padding:1.25rem 0; border-top:3px solid rgba(255,255,255,.34); }
.stat .num{ display:block; font-size:2.5rem; font-weight:700; line-height:1.1; color:#FFFFFF; }
.stat .lbl{ display:block; font-size:1rem; color:var(--on-dark-2); margin-top:.35rem; }


ul.ticks{ list-style:none; margin:0 0 1.125rem; padding:0; max-width:66ch; }
ul.ticks li{ padding:.5rem 0 .5rem 2rem; position:relative; border-bottom:1px solid var(--rule-soft); }
ul.ticks li:last-child{ border-bottom:0; }
ul.ticks li::before{
  content:""; position:absolute; left:0; top:1.05em;
  width:11px; height:11px; border-radius:3px;
  background:linear-gradient(150deg,var(--logo-red),var(--red-deep));
}
ul.ticks-blue li::before{ background:linear-gradient(150deg,var(--brand-lift),var(--brand)); }
ul.ticks-gold li::before{ background:linear-gradient(150deg,var(--gold),#8A5B0C); }
.section-dark ul.ticks li{ border-bottom-color:rgba(255,255,255,.16); }


ol.steps{ list-style:none; counter-reset:step; margin:0; padding:0; }
ol.steps li{
  counter-increment:step; position:relative;
  padding:0 0 1.5rem 4.25rem; margin-bottom:1.5rem; max-width:66ch;
  border-bottom:1px solid var(--rule-soft);
}
ol.steps li:last-child{ border-bottom:0; margin-bottom:0; padding-bottom:0; }
ol.steps li::before{
  content:counter(step); position:absolute; left:0; top:-.15rem;
  width:2.875rem; height:2.875rem; line-height:2.875rem; text-align:center;
  border-radius:50%; font-weight:700; font-size:1.25rem;
  background:linear-gradient(150deg,var(--brand-lift),var(--brand));
  color:#FFFFFF; box-shadow:0 3px 10px rgba(27,95,168,.28);
}
ol.steps h3{ margin-bottom:.35rem; }
ol.steps p{ margin-bottom:0; }


.estimator{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s3); align-items:start; }
.panel{
  background:var(--paper); border:1px solid var(--rule-soft);
  border-radius:var(--r); padding:1.875rem; box-shadow:var(--sh-1);
}
.field{ margin-bottom:1.25rem; }
.field label{ display:block; font-weight:700; margin-bottom:.4rem; }
.field .hint{ display:block; font-size:.9375rem; color:var(--ink-2); font-weight:400; margin-top:.2rem; }
input,select,textarea{
  width:100%; font-family:var(--serif); font-size:1.0625rem; color:var(--ink);
  background:var(--paper); border:1.5px solid var(--rule);
  border-radius:var(--r-sm); padding:.7rem .9rem; line-height:1.4;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:hover,select:hover,textarea:hover{ border-color:#9FB4CC; }
input:focus,select:focus,textarea:focus{
  border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-050); outline:none;
}
textarea{ min-height:140px; resize:vertical; }
.result{
  border-radius:var(--r); padding:1.875rem; color:var(--on-dark);
  background:
    radial-gradient(560px 240px at 100% 0%, rgba(70,169,227,.34), transparent 62%),
    linear-gradient(155deg,var(--navy-900),var(--navy-700));
  box-shadow:var(--sh-2);
}
.result .eyebrow{ color:#FFFFFF; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.3); }
.result .big{ font-size:3.25rem; font-weight:700; color:#FFFFFF; line-height:1.05; display:block; }
.result .line{ border-bottom-color:rgba(255,255,255,.18); }
.result .line dt{ color:var(--on-dark-2); }
.result .line dd{ color:#FFFFFF; }
.result .line-total{ border-top-color:rgba(255,255,255,.5); }
.result .line-total dd{ color:#8FD3FF; }
.result .note{ color:#C2D8F0; }
.error{
  color:#8C1010; font-weight:700; margin:.75rem 0 0; max-width:66ch;
  background:#FDECEC; border:1px solid #F3C9C9; border-left:5px solid #B01818;
  border-radius:var(--r-sm); padding:.75rem 1rem;
}
.success{
  background:var(--brand-050); border:1px solid var(--brand-100); border-left:5px solid var(--brand);
  border-radius:var(--r-sm); padding:1.125rem 1.375rem; margin:1rem 0 0;
}
.success p{ margin:0; }


.audience{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s3); }
.audience > div{
  background:var(--paper); border:1px solid var(--rule-soft);
  border-radius:var(--r); padding:1.875rem; box-shadow:var(--sh-1);
  position:relative; overflow:hidden;
}
.audience > div::before{
  content:""; position:absolute; top:0; left:0; right:0; height:5px;
  background:linear-gradient(90deg,var(--logo-blue),var(--logo-red));
}
.audience h3{ display:flex; align-items:center; gap:.65rem; margin-bottom:1.125rem; }
.audience h3 svg{ width:26px; height:26px; color:var(--red-deep); flex:none; }


.tbl{
  width:100%; border-collapse:separate; border-spacing:0; background:var(--paper);
  border:1px solid var(--rule-soft); border-radius:var(--r); overflow:hidden;
  box-shadow:var(--sh-1); margin-bottom:1rem;
}
.tbl caption{ text-align:left; font-weight:700; padding:0 0 .875rem; caption-side:top; }
.tbl th,.tbl td{ text-align:left; padding:1rem 1.25rem; border-bottom:1px solid var(--rule-soft); vertical-align:top; }
.tbl thead th{ background:var(--navy-800); color:#FFFFFF; border-bottom:0; font-size:1.0625rem; }
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{ border-bottom:0; }
.tbl tbody tr:nth-child(even){ background:var(--paper-alt); }
.tbl tbody th{ font-weight:700; width:26%; color:var(--brand); }
.tbl-scroll{ overflow-x:auto; }


.faq{ max-width:80ch; }
details{
  background:var(--paper); border:1px solid var(--rule-soft); border-radius:var(--r);
  padding:1.125rem 1.5rem; margin-bottom:.875rem; box-shadow:var(--sh-1);
  transition:box-shadow .2s ease;
}
details[open]{ box-shadow:var(--sh-2); }
details summary{
  font-weight:700; font-size:1.0625rem; cursor:pointer; list-style:none;
  padding-right:2.5rem; position:relative;
}
details summary::-webkit-details-marker{ display:none; }
details summary::after{
  content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:28px; height:28px; line-height:26px; text-align:center;
  border-radius:50%; font-size:1.25rem; background:var(--brand-050); color:var(--brand);
}
details[open] summary::after{ content:"\2013"; background:var(--brand); color:#FFFFFF; }
details p{ margin:.875rem 0 0; }


.contact-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:var(--s4); align-items:start; }
.contact-card{
  background:var(--paper); border:1px solid var(--rule-soft); border-radius:var(--r);
  padding:1.875rem; box-shadow:var(--sh-1);
}
.contact-card dt{
  font-weight:700; margin-top:1.125rem; color:var(--brand);
  font-size:.875rem; letter-spacing:.08em; text-transform:uppercase;
}
.contact-card dt:first-child{ margin-top:0; }
.contact-card dd{ margin:.15rem 0 0; }


.prose h2{
  font-size:1.25rem; margin:var(--s4) 0 .875rem; padding-top:1.5rem;
  border-top:1px solid var(--rule-soft);
}
.prose h2:first-of-type{ margin-top:var(--s3); }
.prose h3{ font-size:1.0625rem; margin:1.75rem 0 .5rem; color:var(--brand); }
.prose ul,.prose ol{ max-width:66ch; padding-left:1.5rem; margin:0 0 1.125rem; }
.prose li{ padding:.3rem 0; }
.updated{
  border:1px solid #F3E2C0; border-left:5px solid var(--gold);
  background:var(--gold-050); border-radius:var(--r);
  padding:1.125rem 1.5rem; margin-bottom:var(--s3);
}
.updated p{ margin:0; }


.callout{
  border:1px solid var(--rule-soft); border-left:5px solid var(--logo-red);
  background:linear-gradient(120deg,var(--red-050),var(--paper) 60%);
  border-radius:var(--r); padding:1.75rem 2rem; margin:var(--s3) 0 0;
  box-shadow:var(--sh-1);
}
.callout h3{ margin-bottom:.5rem; }
.callout p:last-child{ margin-bottom:0; }
.callout-blue{ border-left-color:var(--brand); background:linear-gradient(120deg,var(--brand-050),var(--paper) 60%); }
.callout-gold{ border-left-color:var(--gold); background:linear-gradient(120deg,var(--gold-050),var(--paper) 60%); }


.cta{
  padding:var(--s5) 0;
  background:
    radial-gradient(760px 340px at 84% 8%, rgba(229,39,53,.22), transparent 62%),
    linear-gradient(150deg,var(--navy-900),var(--navy-700));
  color:var(--on-dark); position:relative; overflow:hidden;
}
.cta::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px);
  background-size:26px 26px; opacity:.45;
}
.cta .wrap{ position:relative; z-index:1; }
.cta h2{ margin-bottom:.75rem; color:#FFFFFF; }
.cta .lede{ color:#EAF3FD; }


.foot{ background:var(--navy-900); color:var(--on-dark-2); padding:var(--s5) 0 var(--s3); }
.foot .brand{ color:#FFFFFF; }
.foot .brand:hover{ color:#FFFFFF; }
.foot .brand .tech{ color:var(--logo-blue); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--s3); }
.foot h4{ font-size:.875rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:1rem; color:#FFFFFF; }
.foot ul{ list-style:none; margin:0; padding:0; }
.foot li{ padding:.3rem 0; }
.foot a{ color:var(--on-dark-2); text-decoration:none; }
.foot a:hover{ color:#FFFFFF; text-decoration:underline; }
.foot p{ color:var(--on-dark-2); }
.legal{
  border-top:1px solid rgba(255,255,255,.18); margin-top:var(--s4);
  padding-top:1.5rem; font-size:.875rem; color:#B9CFE8;
}
.legal p{ max-width:none; margin:0 0 .625rem; color:#B9CFE8; }


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


@media (max-width:980px){
  .stats{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:1160px){
  .navtoggle{ display:block; }


  .nav{
    display:none;
    position:absolute; top:calc(100% + .5rem); right:1.5rem; left:auto;
    width:min(230px, calc(100vw - 3rem));
    flex-direction:column; align-items:stretch; gap:0;
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    backdrop-filter:saturate(180%) blur(14px);
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:.4rem .9rem .9rem;
    box-shadow:0 18px 44px rgba(7,27,51,.22);
    max-height:calc(100vh - 6rem);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .nav[data-open="true"]{ display:flex; animation:navdrop .16s ease-out; }
  @keyframes navdrop{
    from{ opacity:0; transform:translateY(-6px); }
    to  { opacity:1; transform:none; }
  }
  .nav a{
    padding:.55rem .25rem; font-size:1rem; line-height:1.35;
    border-bottom:1px solid var(--rule-soft);
  }
  .nav a:last-of-type{ border-bottom:0; }
  .nav a::after{ display:none; }
  .nav a[aria-current="page"]{ color:var(--brand); font-weight:700; }
  .nav .btn{
    margin:.8rem 0 .2rem; padding:.8rem 1.5rem;
    font-size:1rem; width:100%;
  }
}

@media (max-width:900px){
  body{ font-size:1.125rem; }
  .hero{ padding:var(--s5) 0 var(--s4); }
  .hero-grid,.cols-2,.cols-3,.estimator,.contact-grid,.foot-grid,.audience{ grid-template-columns:1fr; }
  .statement{ transform:none; }
  .division{ grid-template-columns:1fr; gap:1rem; }
  .section{ padding:var(--s4) 0; }
  .pagehead{ padding:var(--s4) 0 var(--s3); }
}
@media (max-width:560px){
  .stats{ grid-template-columns:1fr; }
  .btn-row .btn{ width:100%; }
  .btn-row{ flex-direction:column; align-items:stretch; }
}

@media print{
  .masthead,.nav,.cta,.btn,.hero::before{ display:none; }
  body{ font-size:11pt; color:#000; }
  .hero,.section-dark,.foot,.result{ background:#FFF !important; color:#000 !important; }
  .hero *,.section-dark *,.foot *,.result *{ color:#000 !important; }
  a{ color:#000; }
}


.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.field-error{
  display:block; margin-top:.4rem; font-size:.9375rem; font-weight:700;
  color:#B8121F;
}
.field-error::before{ content:"\26A0\FE0E  "; }
input[aria-invalid="true"],
.field-error + input{ border-color:#B8121F; }
button[disabled]{ opacity:.65; cursor:progress; }


.announce{
  background:
    radial-gradient(620px 120px at 82% 50%, rgba(229,39,53,.34), transparent 68%),
    linear-gradient(100deg,var(--logo-black),var(--navy-700));
  color:#FFFFFF; position:relative; z-index:110;
}
.announce a{
  display:flex; align-items:center; justify-content:center; gap:.75rem;
  flex-wrap:wrap; padding:.7rem 1.5rem; text-align:center;
  color:#FFFFFF; text-decoration:none; font-size:1.0625rem; line-height:1.4;
}
.announce a:hover{ color:#FFFFFF; }
.announce a:hover .announce-go{ transform:translateX(4px); }
.announce .badge{
  font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  background:var(--red-deep); color:#FFFFFF;
  border-radius:var(--r-pill); padding:.22rem .8rem; white-space:nowrap;
}
.announce .announce-go{
  display:inline-block; font-weight:700; color:var(--logo-blue);
  transition:transform .18s ease;
}
.announce strong{ color:#FFFFFF; font-weight:700; }


.soon-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:var(--s4); align-items:center; }
.soon-badge{
  display:inline-flex; align-items:center; gap:.55rem;
  background:var(--red-deep); color:#FFFFFF;
  font-size:.875rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  border-radius:var(--r-pill); padding:.4rem 1.1rem; margin-bottom:1.25rem;
}
.soon-badge::before{
  content:""; width:9px; height:9px; border-radius:50%; background:#FFFFFF;
  animation:soonpulse 2.2s ease-in-out infinite;
}
@keyframes soonpulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%    { opacity:.45; transform:scale(.72); }
}
.soon-art{
  background:var(--paper); border-radius:var(--r);
  padding:1.75rem; box-shadow:var(--sh-3);
}
.soon-art svg{ width:100%; height:auto; display:block; }

/* module grid */
.modules{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.module{
  background:var(--paper); border:1px solid var(--rule-soft); border-radius:var(--r);
  padding:1.5rem; box-shadow:var(--sh-1);
  transition:transform .2s ease, box-shadow .2s ease;
}
.module:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.module h3{ font-size:1.0625rem; margin-bottom:.4rem; }
.module p{ font-size:1.0625rem; margin-bottom:0; }
.module .m-ico{
  width:44px; height:44px; border-radius:var(--r-sm); margin-bottom:1rem;
  display:grid; place-items:center;
  background:linear-gradient(150deg,var(--brand-050),var(--brand-100));
  color:var(--brand);
}
.module .m-ico svg{ width:23px; height:23px; }


.roadmap{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.roadmap li{
  position:relative; padding:0 0 2rem 2.75rem; border-left:2px solid var(--rule);
  margin-left:.5rem;
}
.roadmap li:last-child{ border-left-color:transparent; padding-bottom:0; }
.roadmap li::before{
  content:""; position:absolute; left:-9px; top:.35rem;
  width:16px; height:16px; border-radius:50%;
  background:var(--paper); border:3px solid var(--rule);
}
.roadmap li.done::before{ background:var(--brand); border-color:var(--brand); }
.roadmap li.now::before{ background:var(--logo-red); border-color:var(--logo-red); }
.roadmap h3{ font-size:1.0625rem; margin-bottom:.25rem; }
.roadmap .when{
  display:block; font-size:.8125rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-2); margin-bottom:.35rem;
}
.roadmap p{ margin-bottom:0; }

@media (max-width:900px){
  .soon-grid,.modules{ grid-template-columns:1fr; }
  .announce a{ font-size:1rem; padding:.65rem 1rem; }
}
@media (max-width:1320px){
  .nav{ gap:1.05rem; }
  .nav a{ font-size:1rem; }
  .nav .btn{ font-size:1rem; padding:.72rem 1.6rem; }
}


.hero-black{
  background:#000000;
  color:#FFFFFF;
  position:relative;
  overflow:hidden;
  padding:var(--s6) 0 var(--s5);
}
.hero-black::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(760px 520px at 22% 18%, rgba(70,169,227,.30), transparent 66%),
    radial-gradient(620px 440px at 82% 76%, rgba(229,39,53,.22), transparent 66%);
}
.hero-black::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px);
  background-size:30px 30px; opacity:.4;
  -webkit-mask-image:radial-gradient(700px 500px at 50% 40%, #000, transparent 74%);
          mask-image:radial-gradient(700px 500px at 50% 40%, #000, transparent 74%);
}
.hero-black .wrap{ position:relative; z-index:2; }
.hero-black h1,.hero-black h2,.hero-black h3,.hero-black strong{ color:#FFFFFF; }
.hero-black p{ color:#E6F0FA; }
.hero-black .lede{ color:#F2F8FE; }
.hero-black .note{ color:#C9DCF0; }
.hero-black a:not(.btn){ color:var(--logo-blue); }
.hero-black a:not(.btn):hover{ color:#FFFFFF; }


.soon3d{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(2.25rem,7.2vw,5.25rem);
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#FFFFFF;
  margin:0 0 1.5rem;
  transform:perspective(700px) rotateX(16deg);
  transform-origin:50% 100%;
  text-shadow:
     0  1px 0 #C9DCF0,  0  2px 0 #A9C6E4,  0  3px 0 #8FB2D6,
     0  4px 0 #7099C4,  0  5px 0 #5480B0,  0  6px 0 #3C689B,
     0  7px 0 #2A5484,  0  8px 0 #1D426C,  0  9px 0 #143355,
     0 10px 0 #0D2540,  0 12px 14px rgba(0,0,0,.7),
     0 0 34px rgba(70,169,227,.55), 0 0 72px rgba(70,169,227,.28);
  animation:soonfloat 6s ease-in-out infinite;
}
@keyframes soonfloat{
  0%,100%{ transform:perspective(700px) rotateX(16deg) translateY(0); }
  50%    { transform:perspective(700px) rotateX(13deg) translateY(-8px); }
}
.soon3d .sub{
  display:block; font-size:.26em; letter-spacing:.42em; margin-top:.55em;
  color:var(--logo-blue); text-shadow:0 0 18px rgba(70,169,227,.7);
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  .soon3d{ animation:none; }
}


.brainwrap{ position:relative; display:block; }
.brainwrap svg{ width:100%; height:auto; display:block; overflow:visible; }

.brain-outline{
  fill:none; stroke:var(--logo-blue); stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
  opacity:.85;
  filter:drop-shadow(0 0 10px rgba(70,169,227,.65));
}
.brain-fold{
  fill:none; stroke:#7FC4EE; stroke-width:1.5;
  stroke-linecap:round; opacity:.5;
}
.synapse{
  stroke:#5FB4E8; stroke-width:1.3; fill:none; opacity:.32;
}
.pulse{
  stroke:#FFFFFF; stroke-width:2.2; fill:none; stroke-linecap:round;
  stroke-dasharray:16 400;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.95));
  animation:travel 3.2s linear infinite;
}
.pulse-red{ stroke:#FF6B76; filter:drop-shadow(0 0 6px rgba(255,107,118,.9)); }
@keyframes travel{
  from{ stroke-dashoffset:416; }
  to  { stroke-dashoffset:0; }
}
.node{
  fill:#FFFFFF;
  filter:drop-shadow(0 0 7px rgba(70,169,227,.95));
  animation:blink 2.8s ease-in-out infinite;
}
.node-red{ fill:#FF6B76; filter:drop-shadow(0 0 8px rgba(255,107,118,.9)); }
@keyframes blink{
  0%,100%{ opacity:.45; r:3.2; }
  50%    { opacity:1;   r:5.2; }
}
.brain-glow{ fill:url(#brainGlow); opacity:.5; }

@media (prefers-reduced-motion:reduce){
  .pulse{ animation:none; stroke-dasharray:none; opacity:.5; }
  .node{ animation:none; opacity:.9; }
}


.section-black{ background:#000000; color:#FFFFFF; position:relative; }
.section-black h2,.section-black h3,.section-black strong{ color:#FFFFFF; }
.section-black p,.section-black li{ color:#E6F0FA; }
.section-black .lede{ color:#F2F8FE; }
.section-black .note{ color:#C9DCF0; }
.section-black a:not(.btn){ color:var(--logo-blue); }
.section-black a:not(.btn):hover{ color:#FFFFFF; }
.section-black .eyebrow{
  color:#FFFFFF; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3);
}
.section-black ul.ticks li{ border-bottom-color:rgba(255,255,255,.16); }
.section-black ul.ticks li::before{ background:linear-gradient(150deg,var(--logo-blue),var(--brand)); }

.panel-black{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r);
  padding:1.75rem;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.panel-black:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(70,169,227,.55);
  transform:translateY(-4px);
}
.panel-black h3{ margin-bottom:.5rem; }
.panel-black p:last-child{ margin-bottom:0; }
.panel-black .m-ico{
  width:46px; height:46px; border-radius:var(--r-sm); margin-bottom:1rem;
  display:grid; place-items:center;
  background:rgba(70,169,227,.18); color:var(--logo-blue);
  border:1px solid rgba(70,169,227,.35);
}
.panel-black .m-ico svg{ width:24px; height:24px; }


.section-black .roadmap li{ border-left-color:rgba(255,255,255,.22); }
.section-black .roadmap li::before{ background:#000000; border-color:rgba(255,255,255,.4); }
.section-black .roadmap li.done::before{ background:var(--logo-blue); border-color:var(--logo-blue); }
.section-black .roadmap li.now::before{ background:var(--logo-red); border-color:var(--logo-red); }
.section-black .roadmap .when{ color:var(--logo-blue); }


.family{
  display:inline-flex; align-items:center; gap:.6rem;
  border:1px solid rgba(255,255,255,.3); border-radius:var(--r-pill);
  padding:.4rem 1.1rem; font-size:.9375rem; color:#FFFFFF;
  background:rgba(255,255,255,.08); margin-bottom:1.25rem;
}
.family a{ color:var(--logo-blue); text-decoration:none; font-weight:700; }
.family a:hover{ color:#FFFFFF; text-decoration:underline; }

@media (max-width:900px){
  .hero-black{ padding:var(--s5) 0 var(--s4); }
  .soon3d{ transform:perspective(700px) rotateX(10deg); }
}




html, body{ overflow-x:hidden; max-width:100%; }
img, svg, video, table, pre{ max-width:100%; }


.prose a, .contact-card a, .foot a, .success a{
  word-break:break-word;
  overflow-wrap:anywhere;
}


.tbl-scroll{
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.tbl-scroll .tbl{ min-width:34rem; }

@media (max-width:768px){

  .nav a{ padding:.7rem .25rem; min-height:44px; display:flex; align-items:center; }
  .nav .btn{ min-height:46px; }
  .navtoggle{ min-height:44px; padding:.6rem 1rem; }
  .foot li{ padding:.15rem 0; }
  .foot a{ display:inline-block; padding:.35rem 0; min-height:40px; }
  .crumb a{ display:inline-block; padding:.2rem 0; }


  .masthead .wrap{ min-height:68px; }
  .brand{ font-size:1.3125rem; }
  .brandmark{ width:40px; height:40px; }

  
  .statement{ padding:1.375rem 1.25rem 1.25rem; }
  .statement h2{ font-size:.9375rem; }
  .line dt{ font-size:1rem; }
  .line-total dd{ font-size:1.25rem; }

  
  .card, .panel, .panel-black, .contact-card, .division,
  .audience > div, .callout, .module{ padding:1.375rem; }
  .callout{ padding:1.375rem 1.5rem; }

  
  ol.steps li{ padding-left:3.25rem; }
  ol.steps li::before{ width:2.375rem; height:2.375rem; line-height:2.375rem; font-size:1.0625rem; }

  
  .announce a{ padding:.6rem 1rem; gap:.4rem .6rem; font-size:.9375rem; }
  .announce .announce-go{ width:100%; }
}

@media (max-width:560px){
  .wrap{ padding:0 1.125rem; }
  .nav{ right:1.125rem; }

  
  .swash{ white-space:normal; }
  h1, h2{ overflow-wrap:break-word; hyphens:auto; }


  .brainwrap svg text{ font-size:19px; }
  .soon-art svg text{ font-size:19px; }

  
  .soon3d{ letter-spacing:.06em; }
  .soon3d .sub{ letter-spacing:.3em; font-size:.3em; }


  .hero-black{ padding:var(--s4) 0 var(--s3); }
  .family{ font-size:.875rem; padding:.35rem .9rem; }

 
  .stat{ padding:1rem 0; }
  .stat .num{ font-size:2.125rem; }


  .field{ margin-bottom:1rem; }
  input, select, textarea{ padding:.75rem .8rem; }
  textarea{ min-height:120px; }


  .foot{ padding:var(--s4) 0 var(--s3); }
  .legal{ margin-top:var(--s3); }
}

@media (max-width:380px){
  .wrap{ padding:0 1rem; }
  .nav{ right:1rem; width:calc(100vw - 2rem); }
  .brand{ font-size:1.1875rem; }
  .soon3d{ letter-spacing:.03em; }
  .tbl th, .tbl td{ padding:.75rem .875rem; }
}


@supports (height: 100dvh){
  @media (max-width:1160px){
    .nav{ max-height:calc(100dvh - 6rem); }
  }
}


@media (hover:none){
  .card:hover, .division:hover, .module:hover, .panel-black:hover{
    transform:none;
  }
  .arrow:hover::after{ transform:none; }
}


.manifest{
  background:var(--paper); color:var(--ink);
  border-radius:var(--r); padding:1.5rem 1.5rem 1.25rem;
  box-shadow:var(--sh-3);
}
.manifest h2{
  font-size:.9375rem; letter-spacing:.15em; text-transform:uppercase;
  padding-bottom:.75rem; margin-bottom:.25rem; border-bottom:2px solid var(--ink);
}
.manifest ul{ list-style:none; margin:0; padding:0; }
.manifest li{
  display:flex; align-items:center; gap:.75rem;
  padding:.7rem 0; border-bottom:1px solid var(--rule-soft);
}
.manifest li:last-child{ border-bottom:0; }
.manifest .m-name{ font-weight:700; flex:1; }
.manifest .m-what{ display:block; font-weight:400; font-size:.9375rem; color:var(--ink-2); }
.pip{
  width:9px; height:9px; border-radius:50%; flex:none;
  background:var(--brand); box-shadow:0 0 0 3px rgba(27,95,168,.16);
}
.pip-soon{ background:var(--logo-red); box-shadow:0 0 0 3px rgba(229,39,53,.16); }
.tagmini{
  font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-2); white-space:nowrap;
}
.tagmini-soon{ color:var(--red-deep); }


.tablist{
  display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:var(--s3);
  border-bottom:2px solid var(--rule-soft); padding-bottom:.75rem;
}
.tab{
  font-family:var(--serif); font-size:1.0625rem; font-weight:700;
  padding:.65rem 1.25rem; border-radius:var(--r-pill);
  border:1.5px solid var(--rule); background:var(--paper); color:var(--ink);
  cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.tab:hover{ border-color:var(--brand); color:var(--brand); }
.tab[aria-selected="true"]{
  background:linear-gradient(160deg,var(--brand-lift),var(--brand));
  border-color:transparent; color:#FFFFFF;
}
.tabpanel[hidden]{ display:none; }
.tabpanel{ animation:fadein .25s ease; }
@keyframes fadein{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.tab-lede{ margin-bottom:var(--s3); }


.prodgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.prodcard{
  display:flex; flex-direction:column;
  background:var(--paper); border:1px solid var(--rule-soft);
  border-radius:var(--r); padding:1.625rem; box-shadow:var(--sh-1);
  text-decoration:none; color:var(--ink);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative; overflow:hidden;
}
.prodcard::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--brand-lift),var(--brand));
}
.prodcard-soon::before{ background:linear-gradient(90deg,var(--logo-red),var(--red-deep)); }
.prodcard:hover{
  transform:translateY(-5px); box-shadow:var(--sh-2);
  border-color:var(--brand-100); color:var(--ink);
}
.prodcard .head{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.prodcard h3{ margin:0 0 .4rem; }
.prodcard p{ margin:0 0 1rem; font-size:1.0625rem; }
.prodcard ul{ list-style:none; margin:0 0 1.25rem; padding:0; font-size:1rem; }
.prodcard ul li{ padding:.25rem 0 .25rem 1.1rem; position:relative; color:var(--ink-2); }
.prodcard ul li::before{
  content:""; position:absolute; left:0; top:.85em;
  width:6px; height:6px; border-radius:2px; background:var(--brand);
}
.prodcard-soon ul li::before{ background:var(--logo-red); }
.prodcard .go{ margin-top:auto; font-weight:700; color:var(--brand); display:inline-flex; align-items:center; gap:.4rem; }
.prodcard .go::after{ content:"\2192"; transition:transform .18s ease; }
.prodcard:hover .go::after{ transform:translateX(4px); }
.prodcard-soon .go{ color:var(--red-deep); }

.status{
  font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:.25rem .7rem; border-radius:var(--r-pill); white-space:nowrap;
}
.status-live{ background:var(--brand-050); color:var(--brand); border:1px solid var(--brand-100); }
.status-soon{ background:var(--red-050); color:var(--red-deep); border:1px solid #F6CFD2; }


.head-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:1.5rem; margin-bottom:var(--s3); flex-wrap:wrap;
}
.head-row .section-head{ margin-bottom:0; }

@media (max-width:900px){
  .prodgrid{ grid-template-columns:1fr; }
  .tablist{ gap:.4rem; }
  .tab{ font-size:1rem; padding:.55rem 1rem; flex:1 1 auto; }
}
