
/* ══════════════════════════════════════════════════════════════════
   AAT FORWARDING — V2 DESIGN SYSTEM
   Authoritative brand colours (do not alter):
     #2A4A81 primary blue · #FEEC4D yellow
     #16174B deep navy surface · #101138 dark base
   Breakpoints are deliberate compositions, not scaled versions:
     mobile  <  700   single column, thumb-first, sticky call bar
     tablet  700-1023 two-up cards, rail below content
     laptop  1024-1399 12-col grid, rail beside content
     desktop >= 1400  wider measure, larger display scale
   ══════════════════════════════════════════════════════════════════ */
:root{
  --blue:#2A4A81; --blue-d:#1F3862; --blue-l:#3D63A2;
  --gold:#FEEC4D; --navy:#16174B; --dark:#101138;
  --on-dark:#FFFFFF; --on-dark-soft:#BCC4D9;
  --paper:#FFFFFF; --paper-2:#F4F6F9; --paper-3:#EAEEF4;
  --text:#14171F; --muted:#59626F; --rule:#D8DCE4;
  --disp:"Archivo","Arial Narrow",Helvetica,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --serif:"Playfair Display",Georgia,serif;
  --gut:clamp(20px,calc(-4.47px + 6.275vw),116px);
  --maxw:2040px;
  --sect:clamp(56px,calc(42.75px + 3.399vw),108px);
  --hdr-h:64px;

  /* ── spacing scale: every vertical gap on the site is one of these ── */
  --s1:8px; --s2:clamp(12px,calc(10.47px + 0.392vw),18px);
  --s3:clamp(16px,calc(13.45px + 0.654vw),26px);
  --s4:clamp(24px,calc(19.92px + 1.046vw),40px);
  --s5:clamp(32px,calc(25.37px + 1.699vw),58px);
  --s6:clamp(44px,calc(33.29px + 2.745vw),92px);
  /* ── divider system: three components, three fixed treatments ── */
  --accent-w:44px; --accent-h:4px;      /* yellow accent above a section title */
  --link-underline:2px;                  /* yellow underline on an inline link  */
  --card-border:3px;                     /* structural card top border, blue    */
  /* ── sticky element heights (content must never hide behind these) ── */
  --callbar-h:62px;
}
@media(min-width:1024px){:root{--hdr-h:84px}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--text);font-family:var(--body);
     font-size:clamp(18px,calc(17.36px + 0.163vw),20.5px);line-height:1.66;-webkit-font-smoothing:antialiased;
     overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.04;letter-spacing:-.018em}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
ul{list-style:none}
/* QA: sticky header must never cover a target heading */
[id]{scroll-margin-top:calc(var(--hdr-h) + 24px)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.measure{max-width:none}
.g12{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,calc(12.39px + 1.438vw),40px)}
/* every grid child spans the full row unless a later rule narrows it.
   Without this, a class-name mismatch collapses an item to 1/12 width. */
.g12>*{min-width:0;grid-column:1/-1}
.eyebrow{font-family:var(--mono);font-size:clamp(13px,calc(12.49px + 0.131vw),15px);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.tagline{font-family:var(--serif);font-style:italic;color:var(--gold)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--gold);color:var(--dark);padding:10px 16px;font-family:var(--mono);font-size:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.on-dark :focus-visible{outline-color:var(--gold)}

/* ══════════════════════════════════════════════════════════════
   TYPOGRAPHIC HIERARCHY — four explicit, distinct levels.
   L1 .stitle    MAJOR SECTION TITLE   dominant, uppercase
   L2 .stmt      section statement     large, clearly subordinate
   L3 .lead      lead / body
   L4 .sublabel  subsection label      smaller, still comfortable
   Nothing readable is set below 12px anywhere on the site.
   ══════════════════════════════════════════════════════════════ */
.stitle{font-family:var(--disp);font-weight:700;text-transform:uppercase;
  font-size:clamp(23px,calc(19.69px + 0.850vw),36px);line-height:1.16;letter-spacing:.04em;
  color:var(--blue);max-width:none;position:relative;
  padding-top:16px;margin-bottom:var(--s2)}
.stitle::before{content:"";position:absolute;left:0;top:0;width:var(--accent-w);height:var(--accent-h);background:var(--gold)}
.on-dark .stitle{color:#fff}
.stmt{font-family:var(--disp);font-weight:600;
  font-size:clamp(21px,calc(19.22px + 0.458vw),28px);line-height:1.3;letter-spacing:-.008em;
  color:var(--text);max-width:none;text-wrap:nowrap}
.on-dark .stmt{color:#fff}
.sublabel{font-family:var(--disp);font-weight:700;text-transform:uppercase;
  font-size:clamp(18px,calc(16.98px + 0.261vw),22px);letter-spacing:.08em;color:var(--blue);line-height:1.3}
.on-dark .sublabel{color:var(--gold)}
.railtitle{font-family:var(--disp);font-weight:700;text-transform:uppercase;
  font-size:clamp(23px,calc(19.69px + 0.850vw),36px);letter-spacing:.04em;color:var(--blue);
  margin-bottom:var(--s3);line-height:1.25;padding-top:15px;position:relative}
.railtitle::before{content:"";position:absolute;left:0;top:0;width:var(--accent-w);height:var(--accent-h);background:var(--gold)}
.on-dark .railtitle{color:var(--gold)}
.kicker{font-family:var(--mono);font-weight:500;font-size:clamp(13px,calc(12.24px + 0.196vw),16px);letter-spacing:.16em;
  text-transform:uppercase;display:block}

/* ══════════════════════════════════════════════════════════════
   MOBILE FLOW — text fills the available width and wraps naturally.
   Nothing here is a scaled-down desktop rule.
   ══════════════════════════════════════════════════════════════ */
@media(max-width:820px){
  /* balance breaks headings into short even lines — that is the opposite
     of flowing. Let every line run to the edge of the column. */
  h1,h2,h3,h4,.stmt,.lead,p{text-wrap:normal}
  .hero h1,
  .stitle,.railtitle{letter-spacing:.04em;max-width:none}
  .sublabel{letter-spacing:.08em}

  /* the group label + its note stack instead of fighting over one line */
  .gl{display:block;border-bottom:2px solid var(--blue);padding-bottom:var(--s2);margin-bottom:var(--s2)}
  .gl small{display:block;margin-top:4px;font-family:var(--body);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);color:var(--muted);line-height:1.4}

  /* rail: label above value, full width — not a squeezed two-column table */
  .rail dl{display:block}
  .rail dt{margin-top:var(--s3)}
  .rail dd{margin-top:2px}

  /* the section divider label is absolutely positioned on desktop; on a
     narrow screen it wraps and overlaps whatever follows. Make it flow. */
  .brk{height:auto;background:none;margin:34px 0}
  .brk span{position:static;display:block;background:none;padding:14px 0 0;
    border-top:2px solid var(--blue);letter-spacing:.06em}

  /* long unbroken strings (numbers, emails, uppercase labels) never overflow */
  body{overflow-wrap:break-word}
  .hero .kicker::after{display:none}
  .hero .kicker{gap:0 10px}
}
@media(max-width:420px){
  .lock .wm{font-size:14px}
  .lock .wm i{letter-spacing:.22em}
  .cta-sm{padding:10px 12px;font-size:11.5px}
  body .callbar{padding-left:14px;padding-right:14px;gap:8px}
  body .callbar b{font-size:17px}
}

/* ══════════════════════════════════════════════════════════════
   NO TEXT MAY EVER LEAVE ITS CONTAINER.
   Nothing that renders words is allowed to use white-space:nowrap.
   Long words, phone numbers and emails break rather than overflow.
   ══════════════════════════════════════════════════════════════ */
h1,h2,h3,h4,p,li,dd,dt,summary,span,a,b,em,small,.stmt,.lead,.stitle,.railtitle,
.sublabel,.gnote,.kicker,.eyebrow,.crumb{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  max-width:100%;
}
/* the only exceptions are single-word chrome elements that must not break */
.brand .wm,.nav a,.cta-sm,.callbar span,.callbar b,.top-call{white-space:nowrap}
.wrap,.g12,section,main,footer{max-width:100%;min-width:0}
.g12>*{min-width:0}

/* ── utility strip (laptop+) ───────────────────────────── */
.util{background:var(--dark);color:var(--on-dark-soft);display:none}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:20px}
.util span,.util a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.util a{color:var(--gold)}
.util a:hover{text-decoration:underline}
@media(min-width:1024px){.util{display:block}}

/* ── header ────────────────────────────────────────────── */
.hdr{background:var(--navy);position:sticky;top:0;z-index:60;box-shadow:0 1px 0 rgba(255,255,255,.14)}
.hdr .wrap{display:flex;align-items:center;gap:clamp(14px,calc(7.37px + 1.699vw),40px);height:var(--hdr-h)}
.lock{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.lock img{width:44px}
.lock .wm{font-family:var(--disp);font-weight:700;color:#fff;font-size:15.5px;line-height:1;white-space:nowrap}
.lock .wm i{display:block;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.28em;color:var(--gold);margin-top:3px}
.nav{display:none;gap:clamp(12px,calc(7.92px + 1.046vw),28px);margin-left:auto;align-items:center}
.nav a{font-size:clamp(14.5px,calc(13.61px + 0.229vw),18px);color:#fff;text-decoration:none;opacity:.86;padding:7px 0;border-bottom:2px solid transparent;transition:opacity .18s,border-color .18s;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{opacity:1;border-bottom-color:var(--gold)}
.cta-sm{margin-left:auto;background:var(--gold);color:var(--dark);font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:11px 15px;text-decoration:none;white-space:nowrap;transition:filter .18s}
.cta-sm:hover{filter:brightness(1.08)}
@media(min-width:1024px){.lock img{width:54px}.lock .wm{font-size:16.5px}}
@media(min-width:1120px){.nav{display:flex}.cta-sm{margin-left:clamp(12px,calc(7.92px + 1.046vw),28px)}}

/* ── mobile sticky call bar ────────────────────────────── */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--gold);min-height:var(--callbar-h);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 18px;text-decoration:none;color:var(--dark);
  box-shadow:0 -8px 24px -12px rgba(16,17,56,.55)}
.callbar b{font-family:var(--disp);font-weight:700;font-size:18.5px}
.callbar span{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase}
body{padding-bottom:calc(var(--callbar-h) + env(safe-area-inset-bottom,0px))}
@media(min-width:1024px){.callbar{display:none}body{padding-bottom:0}}

/* ══════════════════════════════════════════════════════════════
   A350 HERO — the shared hero component. Used by the homepage and
   by every service page. Content differs; the treatment does not.
   ══════════════════════════════════════════════════════════════ */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;z-index:-2}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:58% 44%}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:
 linear-gradient(96deg,rgba(16,17,56,.97) 0%,rgba(16,17,56,.93) 34%,rgba(22,23,75,.74) 63%,rgba(22,23,75,.52) 100%),
 linear-gradient(to top,rgba(16,17,56,.96) 0%,rgba(16,17,56,0) 48%)}
.hero .wrap{position:relative;padding:clamp(40px,calc(26.75px + 3.399vw),92px) var(--gut) 0}
.hero .kicker{color:var(--gold);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;line-height:1.4;margin-bottom:clamp(18px,calc(13.92px + 1.046vw),34px)}
.hero .kicker::after{content:"";flex:1 0 40px;max-width:130px;height:1px;background:rgba(254,236,77,.45)}
.hero h1{font-size:clamp(30px,calc(21.33px + 2.222vw),64px);max-width:20ch;text-wrap:pretty;line-height:1.06;letter-spacing:-.022em}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lede{margin-top:clamp(16px,calc(12.43px + 0.915vw),30px);max-width:44ch;font-size:clamp(19px,calc(17.73px + 0.327vw),24px);color:#DDE2EE;line-height:1.5}
.hero .tagline{margin-top:clamp(14px,calc(10.94px + 0.784vw),26px);font-size:clamp(20px,calc(16.94px + 0.784vw),32px);display:block}
.hero-act{margin-top:clamp(26px,calc(21.41px + 1.176vw),44px);grid-column:1/-1}
.hero-head{grid-column:1/-1}
.hstrip{margin-top:clamp(32px,calc(24.86px + 1.830vw),60px);border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:1fr 1fr}
.hstrip div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.hstrip .l{font-family:var(--mono);font-size:clamp(12px,calc(11.24px + 0.196vw),15px);letter-spacing:.13em;text-transform:uppercase;color:var(--on-dark-soft);display:block}
.hstrip .v{font-family:var(--disp);font-weight:600;font-size:clamp(17px,calc(16.24px + 0.196vw),20px);margin-top:6px;display:block}
@media(min-width:700px){.hstrip{grid-template-columns:repeat(4,1fr);gap:0 clamp(18px,calc(12.39px + 1.438vw),40px)}
 .hstrip div{border-bottom:none;padding:18px 0 24px}}
@media(min-width:1024px){.hero .wrap{padding-bottom:0}.hero-head{grid-column:1/8}
 .hero-act{grid-column:8/13;align-self:end;margin-top:0;padding-bottom:10px}}

/* hero on an interior page: breadcrumb sits above the kicker */
.hero .crumb{position:relative;margin-bottom:var(--s3)}
.hero-head .crumb a:hover{color:var(--gold)}

/* ── page hero (interior pages without the A350) ───────────── */

.crumb{font-family:var(--mono);font-size:clamp(13px,calc(12.49px + 0.131vw),15px);letter-spacing:.11em;text-transform:uppercase;color:var(--on-dark-soft);margin-bottom:clamp(20px,calc(16.43px + 0.915vw),34px)}
.crumb a{text-decoration:none;color:var(--on-dark-soft)}
.crumb a:hover{color:var(--gold)}
.crumb span{color:#fff}

@media(min-width:700px){}

/* ── sections ──────────────────────────────────────────── */
.sect{padding:var(--sect) 0}
.sect+.sect{border-top:1px solid var(--rule)}
.sect.tint{background:var(--paper-2)}
.shead{display:none}
.shead .eyebrow{color:var(--blue);flex-shrink:0}
.shead::after{content:"";flex:1;height:1px;background:var(--rule)}
.on-dark .shead::after{background:rgba(255,255,255,.24)}
.on-dark .shead .eyebrow{color:var(--gold)}
h2.big{font-size:clamp(21px,calc(19.22px + 0.458vw),28px);max-width:none;color:var(--text);text-wrap:nowrap}
.on-dark h2.big{color:#fff}
h3.mid{font-size:clamp(19px,calc(18.24px + 0.196vw),22px);color:var(--blue);margin-bottom:12px}
.lead{font-size:clamp(19px,calc(18.49px + 0.131vw),21px);color:var(--muted);max-width:none;margin-top:var(--s2);line-height:1.5}
.on-dark .lead{color:#DDE2EE}
.prose{max-width:none}
.gnote,.prose p,.step p,.why p,.faq p,.pcard p{max-width:74ch}
/* leads are single-sentence intros: wide enough to stay on one line on
   desktop, still wrapping naturally on narrow screens (no nowrap). */
.lead{max-width:112ch}
.prose p{margin-top:clamp(14px,calc(12.47px + 0.392vw),20px);color:var(--muted);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.55;max-width:none}
.prose h2{font-size:clamp(21px,calc(18.71px + 0.588vw),30px);color:var(--blue);margin-top:clamp(28px,calc(23.41px + 1.176vw),46px);max-width:none;letter-spacing:-.012em}
.prose h3{font-size:clamp(19px,calc(18.24px + 0.196vw),22px);color:var(--blue);margin-top:clamp(28px,calc(23.92px + 1.046vw),44px)}
.prose h4{font-size:clamp(18px,calc(17.49px + 0.131vw),20px);font-family:var(--body);font-weight:700;margin-top:22px}
.prose ul{margin-top:14px}
.prose li{position:relative;padding-left:18px;margin-top:9px;color:var(--muted)}
.prose li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--blue)}
.prose a{color:var(--blue);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}

/* ── custody line ──────────────────────────────────────── */
.chain{position:relative;padding-left:40px;margin-top:clamp(28px,calc(22.39px + 1.438vw),50px)}
.chain::before{content:"";position:absolute;left:6px;top:10px;bottom:12px;width:2px;
  background:linear-gradient(to bottom,var(--blue) 0%,var(--blue) 82%,rgba(42,74,129,.2) 100%)}
.step{position:relative;padding-bottom:var(--s4)}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:-38px;top:8px;width:14px;height:14px;border-radius:50%;
  background:var(--gold);border:2px solid var(--blue);box-shadow:0 0 0 4px var(--paper)}
.tint .step::before{box-shadow:0 0 0 4px var(--paper-2)}
.step.last::before{background:var(--blue)}
.step .k{font-family:var(--mono);font-weight:500;font-size:clamp(13px,calc(12.36px + 0.163vw),16px);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.step h3{font-size:clamp(19px,calc(18.24px + 0.196vw),22px);color:var(--text)}
.step p{color:var(--muted);max-width:none;margin-top:8px;font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.55}

/* ── content + rail ────────────────────────────────────── */
.main8{grid-column:1/-1}
.rail{grid-column:1/-1;margin-top:var(--s4);border-top:2px solid var(--blue);padding-top:var(--s3)}

.rail dt{font-family:var(--disp);color:var(--muted);text-transform:uppercase;font-size:clamp(13px,calc(12.49px + 0.131vw),15px);letter-spacing:.14em;margin-top:var(--s3);font-weight:700}
.rail dd{font-family:var(--body);color:var(--blue);font-weight:600;font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.4;margin-top:4px}
.on-dark .rail dd{color:var(--gold)}
@media(min-width:1024px){
  .main8{grid-column:1/9}
  .rail{grid-column:9/13;margin-top:0;border-top:none;border-left:2px solid var(--blue);padding:2px 0 0 clamp(24px,calc(18.90px + 1.307vw),44px)}
}

/* ── product cards / control groups ────────────────────── */
.gl{display:block;border-bottom:2px solid var(--blue);padding-bottom:var(--s2);margin-bottom:var(--s2)}
.gl .eyebrow{color:var(--blue)}
.gl small{display:block;margin-top:4px;font-family:var(--body);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);color:var(--muted);line-height:1.4}
.gnote{color:var(--muted);max-width:none;overflow-wrap:break-word;overflow-wrap:break-word;margin-bottom:var(--s3);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);margin-top:var(--s1);line-height:1.55}
.pcard{grid-column:1/-1;background:var(--paper);border:1px solid var(--rule);border-top:var(--card-border) solid var(--blue);
  padding:clamp(22px,calc(14.35px + 1.961vw),52px);text-decoration:none;display:block;
  transition:border-color .2s,box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:0 16px 44px -24px rgba(20,23,31,.5);transform:translateY(-2px);border-color:var(--blue)}
.pcard .st{font-family:var(--disp);font-weight:700;font-size:clamp(14px,calc(13.36px + 0.163vw),17px);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px}
.pcard h3{font-size:clamp(20px,calc(18.98px + 0.261vw),24px);letter-spacing:-.012em;color:var(--blue)}
.pcard p{color:var(--muted);margin-top:clamp(10px,calc(8.47px + 0.392vw),16px);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);max-width:none;line-height:1.62}
.pcard .go{font-family:var(--mono);font-size:clamp(12px,calc(11.24px + 0.196vw),15px);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);
  margin-top:var(--s3);display:inline-block;border-bottom:var(--link-underline) solid var(--gold);padding-bottom:3px}
.pcard.car.solo{grid-column:1/-1}
.pcard.car{border-top-color:var(--blue);background:linear-gradient(180deg,rgba(42,74,129,.05),rgba(42,74,129,0))}
.brk{margin:var(--s5) 0;position:relative;height:2px;background:var(--rule)}
.brk span{position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--paper);padding-right:22px;
  font-family:var(--disp);font-weight:700;font-size:clamp(15px,calc(13.72px + 0.327vw),20px);
  letter-spacing:.06em;text-transform:uppercase;color:var(--blue);line-height:1.2}
.tint .brk span{background:var(--paper-2)}
.brk{overflow:visible}
.note{grid-column:1/-1;border-left:3px solid var(--blue);padding:6px 0 6px 20px}
.note h3{font-family:var(--body);font-size:16px;font-weight:700;color:var(--text);letter-spacing:0}
.note p{color:var(--muted);font-size:clamp(17px,calc(16.49px + 0.131vw),19px);margin-top:8px;max-width:none;line-height:1.62}
@media(min-width:700px){.pcard{grid-column:span 6}}
@media(min-width:900px){.pcard.car{grid-column:span 8}.note{grid-column:span 5;align-self:center}}

/* ── capability band ───────────────────────────────────── */
.band{background:var(--paper-2);border-bottom:1px solid var(--rule)}
.band .wrap{padding:clamp(26px,calc(19.88px + 1.569vw),50px) var(--gut)}
.band .banditems{margin-top:var(--s3)}
.band .stitle{margin-bottom:var(--s2)}
.band .i{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:var(--s2)}
.band h3{font-size:clamp(18px,calc(17.49px + 0.131vw),20px);font-family:var(--body);font-weight:700;margin-top:11px;letter-spacing:0}
.band p{font-size:clamp(17px,calc(16.62px + 0.098vw),18.5px);color:var(--muted);margin-top:7px;line-height:1.55}
@media(min-width:700px){.band .i{grid-column:span 6}}
@media(min-width:1024px){.band .i{grid-column:span 3}}

/* ── situations grid ───────────────────────────────────── */
.sits{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:var(--s4)}
.sit{background:var(--paper);padding:clamp(24px,calc(19.92px + 1.046vw),40px);text-decoration:none;transition:background .18s,box-shadow .18s}
.sit:hover{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--gold)}
.sit h3{font-family:var(--body);font-weight:700;font-size:clamp(18px,calc(17.49px + 0.131vw),20px);letter-spacing:0;line-height:1.3}
.sit .m{font-family:var(--mono);font-weight:500;font-size:clamp(13px,calc(12.36px + 0.163vw),16px);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px;display:block}
.sit .rt{font-family:var(--mono);font-weight:500;font-size:clamp(13px,calc(12.36px + 0.163vw),16px);letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-top:12px;display:block}
@media(min-width:700px){.sits{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.sits{grid-template-columns:repeat(3,1fr)}}

/* ── tagline band ──────────────────────────────────────── */
.tband{background:var(--blue);color:#fff;text-align:center}
.tband .wrap{padding:clamp(44px,calc(32.78px + 2.876vw),88px) var(--gut)}
.tband .tagline{font-size:clamp(22px,calc(17.41px + 1.176vw),40px);display:block;line-height:1.1}
.tband p{color:#E3E8F3;margin-top:clamp(14px,calc(11.96px + 0.523vw),22px);font-size:clamp(16px,calc(14.73px + 0.327vw),21px);max-width:34ch;margin-inline:auto;line-height:1.4}

/* ── why columns ───────────────────────────────────────── */
.why{grid-column:1/-1;border-top:2px solid var(--blue);padding-top:16px}
.why h3{font-size:clamp(19px,calc(18.24px + 0.196vw),22px);color:var(--blue)}
.why p{color:var(--muted);margin-top:11px;font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.55}
@media(min-width:700px){.why{grid-column:span 6}}
@media(min-width:1024px){.why{grid-column:span 4}}

/* ── facts ─────────────────────────────────────────────── */
.facts{margin-top:var(--s4);border-top:1px solid var(--rule);padding-top:20px;max-width:64ch}

.facts li{font-family:var(--body);font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.7;padding-left:16px;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--blue)}

/* ── faq (semantic, AI-search friendly) ────────────────── */
.faq{margin-top:clamp(24px,calc(20.43px + 0.915vw),38px);border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding:clamp(21px,calc(19.22px + 0.458vw),28px) 0;font-family:var(--disp);font-weight:600;font-size:clamp(19px,calc(18.49px + 0.131vw),21px);
  display:flex;justify-content:space-between;gap:16px;align-items:baseline;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-size:clamp(22px,calc(19.96px + 0.523vw),30px);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{color:var(--blue)}
.faq p{color:var(--muted);padding:0 0 24px;max-width:none;font-size:clamp(18px,calc(17.49px + 0.131vw),20px);line-height:1.55}

/* ── intake entry card (shared component) ──────────────── */
.entry{grid-column:1/-1;border:1px solid var(--rule);border-left:5px solid var(--blue);
 background:var(--paper);padding:clamp(20px,calc(13.88px + 1.569vw),44px);text-decoration:none;display:block;
 transition:border-color .18s,box-shadow .18s,transform .18s}
.entry:hover{box-shadow:0 14px 40px -24px rgba(20,23,31,.45);transform:translateY(-2px);border-left-color:var(--gold)}
.entry .st{font-family:var(--mono);font-size:clamp(12.5px,calc(11.86px + 0.163vw),15px);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px}
.entry h3{font-size:clamp(19px,calc(18.24px + 0.196vw),22px);color:var(--blue);line-height:1.2}
.entry p{color:var(--muted);font-size:clamp(17px,calc(16.49px + 0.131vw),19px);margin-top:10px;max-width:none;line-height:1.6}
@media(min-width:900px){.entry{grid-column:span 6}}

/* ── intake ────────────────────────────────────────────── */
.intake{background:var(--navy);color:#fff}
.opt{grid-column:1/-1;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.05);
  padding:clamp(20px,calc(16.43px + 0.915vw),34px) clamp(22px,calc(18.43px + 0.915vw),36px);text-decoration:none;display:block;transition:border-color .18s,background .18s,transform .18s}
.opt:hover{border-color:var(--gold);background:rgba(255,255,255,.1);transform:translateY(-2px)}
.opt b{display:block;font-weight:700;font-size:clamp(19px,calc(18.49px + 0.131vw),21px);line-height:1.25}
.opt span{color:var(--on-dark-soft);font-size:clamp(17px,calc(16.49px + 0.131vw),19px);display:block;margin-top:6px}
.ogrid{margin-top:var(--s4)}
@media(min-width:900px){.opt{grid-column:span 6}}

/* ── cta block ─────────────────────────────────────────── */
.callbtn{display:block;background:var(--gold);color:var(--dark);text-decoration:none;
  padding:clamp(20px,calc(16.94px + 0.784vw),32px) clamp(24px,calc(20.43px + 0.915vw),38px);border-left:6px solid var(--dark);transition:filter .18s,transform .18s}
.callbtn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.callbtn .k{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:block}
.callbtn .v{font-family:var(--disp);font-weight:700;font-size:clamp(23px,calc(20.20px + 0.719vw),34px);line-height:1.06;margin-top:5px;display:block;letter-spacing:-.01em}
.altbtn{display:block;margin-top:12px;border:1px solid rgba(255,255,255,.42);color:#fff;
  text-decoration:none;padding:clamp(16px,calc(13.45px + 0.654vw),26px) clamp(22px,calc(19.45px + 0.654vw),32px);font-size:clamp(15.5px,calc(14.35px + 0.294vw),20px);transition:border-color .18s,background .18s}
.altbtn:hover{border-color:var(--gold);background:rgba(255,255,255,.07)}
.altbtn b{font-weight:600;display:block}
.altbtn span{color:var(--on-dark-soft);font-size:clamp(17px,calc(16.49px + 0.131vw),19px)}
.closer{background:var(--dark);color:#fff}
.closer .wrap{padding:clamp(44px,calc(31.76px + 3.137vw),92px) var(--gut)}

.closer .cgrid{align-items:start}
.closer .ctext,.closer .ccopy{grid-column:1/-1}
.closer .cwrap{grid-column:1/-1;margin-top:clamp(24px,calc(18.90px + 1.307vw),44px);max-width:clamp(520px,calc(458.82px + 15.686vw),760px)}
@media(min-width:1024px){
  .closer .ctext,.closer .ccopy{grid-column:1/7;align-self:start}
  .closer .cwrap{grid-column:7/13;margin-top:0;max-width:none;width:100%;justify-self:end;align-self:start}
}

/* ── footer ────────────────────────────────────────────── */
footer{background:var(--dark);color:var(--on-dark-soft);padding:clamp(44px,calc(33.80px + 2.614vw),84px) 0 34px;font-size:clamp(16.5px,calc(15.99px + 0.131vw),18.5px)}
footer .fb{grid-column:1/-1;margin-bottom:34px}
footer .fb .tagline{font-size:19px;display:block;margin-top:12px}
footer .fb p{margin-top:16px;max-width:38ch;font-size:clamp(15px,calc(14.24px + 0.196vw),18px);line-height:1.65}
footer .fc{grid-column:1/-1;margin-bottom:26px}
footer .fh{font-family:var(--disp);font-size:clamp(13px,calc(12.24px + 0.196vw),16px);letter-spacing:.15em;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.16);text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:700;line-height:1.3}
footer a{color:var(--on-dark-soft);text-decoration:none;display:block;padding:6px 0;line-height:1.4;transition:color .16s}
footer a:hover{color:var(--gold)}
footer .legal{margin-top:clamp(30px,calc(23.37px + 1.699vw),56px);padding-top:24px;border-top:1px solid rgba(255,255,255,.18);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 30px;font-family:var(--mono);font-size:clamp(12px,calc(11.36px + 0.163vw),14.5px);letter-spacing:.09em;text-transform:uppercase}
@media(min-width:700px){footer .fb{grid-column:span 6;margin-bottom:34px}footer .fc{grid-column:span 3;margin-bottom:0;align-content:start}}
@media(min-width:1024px){footer .fb{grid-column:span 4;margin-bottom:0}footer .fc{grid-column:span 2;margin-bottom:0}footer .g12{row-gap:clamp(28px,2.4vw,44px)}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.hdr,.util,.callbar,.closer{display:none}body{padding:0}}
