/* ===========================================================================
   StreamForce Solutions — site stylesheet (clean rewrite)
   One authoritative rule per selector. Grids use auto-fit with real minimums
   so columns never collapse into unreadable slivers.
   Palette sampled from the logo: navy #204070, blue #4090D0, cyan #60D0F0.
   Gold is reserved for money figures only.
   =========================================================================== */

:root{
  --ink:#122A4E;
  --navy:#0C1E3C;
  --logo-navy:#204070;
  --blue:#2F6BB0;
  --force:#4090D0;
  --cyan:#60D0F0;
  --gold:#B8862B;
  --gold-lite:#E9B94F;
  --ice:#E7F0FA;
  --muted:#93A6C6;
  --grey:#55668C;
  --paper:#F5F8FC;
  --line:#E1E8F2;
  --white:#FFFFFF;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --wrap:1260px;
  --pad:clamp(20px,4vw,52px);
  --gap:20px;
}

/* ------------------------------------------------------------------ base */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.012em;margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.keyline{height:3px;background:linear-gradient(90deg,var(--logo-navy),var(--force) 55%,var(--cyan))}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

/* --------------------------------------------------------- section frame */
section.band{padding:clamp(46px,5.5vw,76px) 0}
.band.alt{background:var(--paper)}

.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);display:flex;align-items:center;gap:10px;margin:0 0 14px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--cyan);flex:0 0 auto}
.eyebrow.on-dark{color:var(--cyan)}
.eyebrow.mid{justify-content:center}

.sec-title{font-size:clamp(25px,2.9vw,37px);line-height:1.14;margin:0}
.sec-intro{color:var(--grey);font-size:16px;line-height:1.65;margin:12px 0 0;max-width:68ch}

.sec-head{margin-bottom:26px}
.sec-head .sec-title{max-width:34ch}
.sec-head .sec-intro{margin-top:12px;max-width:68ch}

.bottomline{font-size:14.5px;color:var(--grey);border-top:1px solid var(--line);
  padding-top:14px;margin-top:28px}
.bottomline b{color:var(--ink);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  font-size:10.5px;margin-right:9px}
.bottomline a{color:var(--blue);font-weight:600;text-decoration:none}
.bottomline a:hover{text-decoration:underline}

/* --------------------------------------------------------------- buttons */
.btn{font-family:var(--sans);font-weight:600;font-size:14px;border-radius:8px;padding:11px 18px;
  text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer;
  border:1px solid transparent;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(184,134,43,.3)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}

/* ---------------------------------------------------------------- header */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}
header.site .row{display:flex;align-items:center;gap:20px;height:68px}
header.site .logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
header.site .logo img{height:28px;width:auto;display:block}
nav.main{display:flex;align-items:center;gap:22px;margin-left:auto}
nav.main a{font-size:14px;font-weight:500;text-decoration:none;color:var(--ink);opacity:.82;
  padding:5px 0;border-bottom:2px solid transparent;transition:opacity .15s,border-color .15s}
nav.main a:hover{opacity:1}
nav.main a.on{opacity:1;border-bottom-color:var(--cyan)}
.navtoggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  border-radius:8px;padding:9px 12px;cursor:pointer}
.navtoggle span{display:block;width:18px;height:2px;background:var(--ink);margin:3px 0}
@media(max-width:1080px){
  nav.main{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;
    align-items:flex-start;gap:0;padding:6px var(--pad) 14px;border-bottom:1px solid var(--line);display:none}
  nav.main.open{display:flex}
  nav.main a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
  .navtoggle{display:block}
  header.site .btn{display:none}
}

/* ------------------------------------------------------------------ hero */
.hero{position:relative;overflow:hidden;color:#e9f0fb;background:
  radial-gradient(900px 400px at 84% 4%,rgba(96,208,240,.20),transparent 62%),
  radial-gradient(640px 340px at 0% 108%,rgba(64,144,208,.22),transparent 58%),
  linear-gradient(180deg,var(--ink),var(--navy))}
.hero .wrap{position:relative;z-index:1;
  padding-top:clamp(38px,5vw,64px);padding-bottom:clamp(34px,4.5vw,58px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(300px,.86fr);
  gap:clamp(28px,4vw,52px);align-items:center}
h1.thesis{font-size:clamp(30px,3.9vw,50px);line-height:1.08;color:#fff;letter-spacing:-.018em;
  max-width:19ch}
h1.thesis .l2{display:block;font-style:italic;color:var(--cyan);font-weight:500;
  font-size:.72em;margin-top:.24em}
.hero .lede{font-size:clamp(15px,1.4vw,17px);color:#c6d4ec;max-width:54ch;margin:18px 0 24px;
  line-height:1.62}
.cta-row{display:flex;gap:11px;flex-wrap:wrap}
.creds{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 18px;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--cyan)}
.creds span{padding-right:13px;margin-right:13px;border-right:1px solid rgba(146,175,220,.35);
  line-height:1.5}
.creds span:last-child{border-right:0;padding-right:0;margin-right:0}

.hero-figs{border:1px solid rgba(146,175,220,.24);border-radius:14px;
  background:rgba(255,255,255,.045);padding:22px 24px;display:grid;gap:16px;align-self:center}
.fig .n{font-family:var(--serif);font-size:clamp(23px,2.2vw,30px);line-height:1.05;color:#fff}
.fig .n.money{color:var(--gold-lite)}
.fig .k{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.hero-clients{margin-top:24px;padding-top:18px;border-top:1px solid rgba(146,175,220,.22)}
.hero-clients .lab{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:10px}
.hero-clients .names{display:flex;flex-wrap:wrap;gap:6px 20px;font-family:var(--serif);
  font-size:15.5px;color:#dbe6fb}
.hero-clients .names span{white-space:nowrap;opacity:.94}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-figs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  h1.thesis{max-width:none}
}

/* ------------------------------------------------------------ glance band */
.glance{background:var(--paper);border-bottom:1px solid var(--line)}
.glance .wrap{padding-top:0;padding-bottom:0}
.glance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.glance-grid>div{background:var(--paper);padding:22px 20px}
.glance h4{font-family:var(--sans);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:700;color:var(--blue);margin:0 0 9px}
.glance p{margin:0;font-size:14px;color:var(--grey);line-height:1.6}
.glance p b{color:var(--ink);font-weight:600}

/* ---------------------------------------------------------------- ticker */
.ticker{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden}
.ticker .lab{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);
  font-weight:700;text-align:center;margin-bottom:12px}
.ticker-track{display:flex;gap:30px;width:max-content;animation:tick 80s linear infinite;
  font-family:var(--serif);font-size:16.5px;color:var(--ink)}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{white-space:nowrap;opacity:.86}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ------------------------------------------------------------ practice cards */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:var(--gap)}
.svc-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--force);
  border-radius:10px;padding:24px 22px;display:flex;flex-direction:column;
  transition:transform .18s,box-shadow .18s}
.svc-card:nth-child(3n+2){border-top-color:var(--cyan)}
.svc-card:nth-child(3n+3){border-top-color:var(--logo-navy)}
.svc-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,42,78,.07)}
.band.alt .svc-card{background:var(--white)}
.svc-ic{display:none}
.svc-name{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);
  margin-bottom:8px;line-height:1.2}
.svc-desc{font-size:14px;color:var(--grey);line-height:1.62;margin-bottom:14px;flex:1}
.svc-tags{display:block;border-top:1px solid var(--line);padding-top:11px;
  font-size:12px;line-height:1.7;color:var(--grey)}
.svc-tags span::after{content:" · ";color:var(--cyan)}
.svc-tags span:last-child::after{content:""}

/* -------------------------------------------------- opportunity / cell grid */
.opp{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}
.opp .cell{background:var(--white);padding:22px 20px}
.band.alt .opp .cell{background:var(--paper)}
.opp .pct{font-family:var(--serif);font-size:29px;line-height:1;color:var(--force)}
.opp .cell:nth-child(even) .pct{color:var(--blue)}
.opp h4{font-family:var(--sans);font-size:14.5px;font-weight:700;margin:10px 0 7px;
  display:flex;align-items:center;gap:8px}
.opp h4 .icon{display:none}
.opp p{font-size:13.5px;color:var(--grey);margin:0;line-height:1.6}
.opp .cell ul{margin:8px 0 0;padding-left:16px}
.opp .cell li{font-size:13px;color:var(--grey);margin:3px 0}
.cell-k{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--blue);margin-bottom:9px}
.cell-h{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:8px}
.cell-p{font-size:13.5px;color:var(--grey);margin:0;line-height:1.6}

/* --------------------------------------------------------- audience columns */
.aud3{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--gap)}
.aud3 .a3{border:1px solid var(--line);border-top:3px solid var(--force);background:var(--white);
  border-radius:10px;padding:24px 22px;display:flex;flex-direction:column}
.aud3 .a3 h3{font-size:19px}
.aud3 .a3:nth-child(2){border-top-color:var(--cyan)}
.aud3 .a3:nth-child(3){border-top-color:var(--logo-navy)}
.band.alt .aud3 .a3{background:var(--white)}
.aud3 .num{font-family:var(--serif);font-size:13px;color:var(--force);letter-spacing:.08em;
  margin-bottom:9px}
.aud3 h3{font-size:19px;margin-bottom:5px;line-height:1.2}
.aud3 .who{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--grey);
  font-weight:700;margin-bottom:12px;line-height:1.5}
.aud3 p{margin:0 0 14px;font-size:14px;color:var(--grey);line-height:1.62;flex:1}
.aud3 ul{margin:0;padding:12px 0 0;list-style:none;border-top:1px solid var(--line)}
.aud3 li{font-size:13px;color:var(--ink);display:flex;align-items:center;gap:8px;padding:3px 0}
.aud3 li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--cyan);flex:0 0 auto}

/* ------------------------------------------------------------- case studies */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--gap)}
.case{border:1px solid var(--line);border-top:3px solid var(--force);border-radius:10px;
  padding:24px 22px;background:var(--white);display:flex;flex-direction:column}
.case:nth-child(3n+2){border-top-color:var(--cyan)}
.case:nth-child(3n+3){border-top-color:var(--logo-navy)}
.band.alt .case{background:var(--white)}
.case .tag{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--grey);
  font-weight:700;margin-bottom:10px;line-height:1.5}
.case h3{font-size:19px;line-height:1.22;margin-bottom:10px}
.case .desc{color:var(--grey);font-size:14px;margin:0 0 16px;line-height:1.62;flex:1}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:14px;
  border-top:1px solid var(--line);padding-top:14px}
.metrics.m1{grid-template-columns:1fr}
.metrics.m2{grid-template-columns:repeat(2,1fr)}
.metrics .n{font-family:var(--serif);font-size:21px;line-height:1.05;color:var(--ink)}
.metrics.m1 .n{font-size:27px}
.metrics .n.money{color:var(--gold)}
.metrics .k{font-size:11px;color:var(--grey);margin-top:4px;line-height:1.4}
.case .quote{font-family:var(--serif);font-style:italic;font-size:14px;margin-top:16px;
  line-height:1.55;color:var(--ink)}
.case .quote span{display:block;font-family:var(--sans);font-style:normal;font-size:11.5px;
  color:var(--grey);margin-top:6px}
.seeall{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;
  font-weight:600;color:var(--force);text-decoration:none;border-bottom:1px solid transparent}
.seeall:hover{border-bottom-color:var(--force)}

/* --------------------------------------------------------- horizontal rails */
.rail-head{display:flex;align-items:baseline;justify-content:flex-end;gap:16px;margin-bottom:2px}
.rail-hint{font-size:12px;color:var(--grey);letter-spacing:.03em;white-space:nowrap}
.rail-hint b{color:var(--force);font-weight:700}
.rail{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;
  padding:12px 2px 16px;scrollbar-width:thin;scrollbar-color:var(--force) var(--line)}
.rail>*{scroll-snap-align:start;flex:0 0 clamp(290px,31%,382px)}
.rail::-webkit-scrollbar{height:7px}
.rail::-webkit-scrollbar-track{background:var(--line);border-radius:99px}
.rail::-webkit-scrollbar-thumb{background:var(--force);border-radius:99px}
.rail::-webkit-scrollbar-thumb:hover{background:var(--blue)}
@media(max-width:640px){.rail>*{flex:0 0 85%}}

/* ------------------------------------------------------------ testimonials */
.tcard{border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:10px;
  padding:22px;background:var(--white);display:flex;flex-direction:column}
.tcard .q{font-family:var(--serif);font-style:italic;font-size:14.5px;line-height:1.6;flex:1}
.tcard .a{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--grey);
  font-weight:700;margin-top:14px;line-height:1.55}

/* ----------------------------------------------------------- paths / steps */
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:var(--gap)}
.path{border:1px solid var(--line);border-radius:10px;padding:24px 22px;background:var(--white)}
.band.alt .path{background:var(--white)}
.path .who{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:var(--blue);margin-bottom:9px}
.path h3{font-size:18.5px;margin-bottom:10px;line-height:1.24}
.path ol{margin:0;padding:0;list-style:none;counter-reset:s}
.path li{counter-increment:s;position:relative;padding:11px 0 11px 32px;
  border-top:1px solid var(--line);font-size:14px;color:var(--grey);line-height:1.6}
.path li:first-child{border-top:0;padding-top:4px}
.path li::before{content:counter(s);position:absolute;left:0;top:12px;width:20px;height:20px;
  border-radius:50%;background:var(--ice);color:var(--ink);font-weight:700;font-size:10.5px;
  display:flex;align-items:center;justify-content:center}
.path li:first-child::before{top:5px}
.path li b{color:var(--ink);font-weight:600}

/* --------------------------------------------------------- agent catalogue */
.agents{border-top:1px solid var(--line)}
.ag{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,1.9fr);gap:26px;
  align-items:start;padding:20px 0;border-bottom:1px solid var(--line);transition:background .15s}
.ag:hover{background:rgba(96,208,240,.05)}
.ag .ic{display:none}
.ag h3{font-size:18px;line-height:1.24;margin-bottom:5px}
.ag .stack{font-size:12px;color:var(--blue);font-weight:600;letter-spacing:.02em}
.ag p{margin:0;color:var(--grey);font-size:14px;line-height:1.62}
@media(max-width:820px){.ag{grid-template-columns:1fr;gap:8px}}
.stackrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.stackrow span{border:1px solid var(--line);background:var(--white);border-radius:7px;
  padding:8px 13px;font-size:13px;color:var(--grey)}
.stackrow span.k{border-color:var(--force);color:var(--force);font-weight:600}

/* --------------------------------------------------------------- industries */
.inds{display:flex;flex-wrap:wrap;gap:8px}
.inds span{border:1px solid var(--line);background:var(--white);border-radius:999px;
  padding:8px 15px;font-size:13.5px;color:var(--grey)}
.inds span b{color:var(--ink);font-weight:600}

/* --------------------------------------------------------------- leadership */
.lead{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap)}
.ld{border:1px solid var(--line);border-radius:10px;background:var(--white);padding:24px 22px}
.band.alt .ld{background:var(--white)}
.ld .ph{width:74px;height:74px;border-radius:50%;object-fit:cover;display:block;
  margin-bottom:15px;background:var(--ice);border:1px solid var(--line)}
.ld h3{font-size:18.5px;margin-bottom:4px}
.ld .role{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);
  font-weight:700;margin-bottom:11px}
.ld p{margin:0 0 12px;font-size:14px;color:var(--grey);line-height:1.62}
.ld a.li{font-size:12.5px;font-weight:600;color:var(--force);text-decoration:none}
.ld a.li:hover{text-decoration:underline}

/* --------------------------------------------------------- how we work */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--gap)}
.tm{border:1px solid var(--line);border-top:3px solid var(--force);border-radius:10px;
  padding:24px 22px;background:var(--white)}
.tm:nth-child(2){border-top-color:var(--cyan)}
.tm:nth-child(3){border-top-color:var(--logo-navy)}
.band.alt .tm{background:var(--white)}
.tm .role{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);
  font-weight:700;margin-bottom:9px}
.tm h3{font-size:18.5px;margin-bottom:8px;line-height:1.24}
.tm p{margin:0;font-size:14px;color:var(--grey);line-height:1.62}

/* ---------------------------------------------------------------- calculator */
.calc{border-radius:14px;padding:clamp(22px,3vw,34px);color:#e9f0fb;background:
  radial-gradient(620px 300px at 90% -20%,rgba(96,208,240,.18),transparent 62%),
  linear-gradient(180deg,var(--ink),var(--navy))}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(22px,3vw,38px);align-items:center}
.calc h3{color:#fff;font-size:clamp(19px,2vw,24px)}
.calc .csub{color:#c6d4ec;font-size:14px;margin-top:9px;max-width:46ch;line-height:1.6}
.calc label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cyan);font-weight:700;margin:20px 0 9px}
.calc input[type=range]{width:100%;accent-color:var(--gold-lite);height:4px;cursor:pointer}
.calc .arr{font-family:var(--serif);font-size:clamp(21px,2.2vw,27px);color:#fff;margin-top:11px}
.calc-out{background:rgba(255,255,255,.055);border:1px solid rgba(146,175,220,.24);
  border-radius:12px;padding:20px}
.calc-out .r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:10px 0;border-bottom:1px solid rgba(146,175,220,.2)}
.calc-out .r:last-of-type{border-bottom:0}
.calc-out .r .l{font-size:13px;color:var(--muted)}
.calc-out .r .v{font-family:var(--serif);font-size:19px;color:#fff;white-space:nowrap}
.calc-out .r.hi .v{color:var(--gold-lite);font-size:25px}
.calc-out .note{font-size:11.5px;color:var(--muted);margin:12px 0 0;line-height:1.55}

/* ---------------------------------------------------------------- data table */
.dtable{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--line)}
.dtable th{background:var(--ink);color:#fff;text-align:left;padding:11px 14px;font-weight:700;
  font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.dtable td{padding:11px 14px;border-top:1px solid var(--line)}
.dtable tbody tr:nth-child(even){background:var(--paper)}
.dtable .mid{color:var(--blue);font-weight:700}
.dtable .rec{color:var(--gold);font-weight:700}

/* --------------------------------------------------------------------- legal */
.legal{max-width:78ch}
.legal h3{font-size:20px;margin:30px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.legal h3 .num{color:var(--cyan);font-size:14px;margin-right:10px}
.legal p,.legal li{color:#3c4a66;font-size:15px;line-height:1.68}
.legal p{margin:0 0 11px}
.legal ul{margin:0 0 11px;padding-left:18px}
.legal .kv{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:6px 16px;
  border:1px solid var(--line);padding:16px;border-radius:10px;background:var(--paper);font-size:14px}
.legal .kv b{color:var(--ink)}

/* ----------------------------------------------------------------- final CTA */
.final{color:#fff;background:
  radial-gradient(700px 320px at 86% -18%,rgba(96,208,240,.2),transparent 62%),
  linear-gradient(180deg,var(--ink),var(--navy))}
.final .wrap{padding:clamp(44px,5.5vw,72px) var(--pad);text-align:center}
.final h2{font-size:clamp(24px,3.2vw,38px);line-height:1.14;color:#fff;max-width:24ch;margin:0 auto 10px}
.final p{color:#c6d4ec;max-width:56ch;margin:0 auto 24px;font-size:15.5px;line-height:1.62}

/* -------------------------------------------------------------------- footer */
footer.site{background:var(--navy);color:#a9b8d6;font-size:14px}
footer.site .wrap{padding:34px var(--pad) 20px}
.f-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;
  align-items:start}
.f-wordmark{font-family:var(--sans);font-weight:800;font-style:italic;font-size:19px;
  letter-spacing:-.01em;text-decoration:none;display:inline-block;margin-bottom:12px;line-height:1}
.f-wordmark .s1{color:#fff}
.f-wordmark .s2{color:var(--cyan)}
.f-wordmark .s3{color:#a9b8d6;font-style:normal;font-weight:600;font-size:14px;
  letter-spacing:.02em;margin-left:6px}
.f-brand p{margin:0 0 14px;font-size:13px;color:#a9b8d6;max-width:34ch;line-height:1.6}
.f-social{display:flex;gap:8px;flex-wrap:wrap}
.f-social a{border:1px solid rgba(146,175,220,.3);border-radius:7px;padding:6px 11px;
  font-size:12px;color:#cfdcf2;text-decoration:none}
.f-social a:hover{border-color:var(--cyan);color:var(--cyan)}
.fcol h5{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--cyan);margin:0 0 11px}
.fcol a{display:block;color:#cfdcf2;text-decoration:none;font-size:13px;padding:4px 0;opacity:.88}
.fcol a:hover{opacity:1;color:var(--cyan)}
.f-cta{border:1px solid rgba(146,175,220,.26);border-radius:11px;padding:18px;
  background:rgba(255,255,255,.045)}
.f-cta p{margin:0 0 12px;font-size:13px;color:#cfdcf2;line-height:1.55}
.f-cta .btn{padding:9px 15px;font-size:13px}
.f-cta .fmail{display:block;margin-top:10px;font-size:12.5px;color:#a9b8d6;text-decoration:none}
.f-cta .fmail:hover{color:var(--cyan)}
.f-legal{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:26px;
  padding-top:14px;border-top:1px solid rgba(146,175,220,.16);color:#7f90b4;font-size:11.5px}
.f-legal a{color:#a9b8d6;text-decoration:none}
.f-legal a:hover{color:var(--cyan)}

/* ------------------------------------------------------------- floating CTA */
.float{position:fixed;right:18px;bottom:18px;z-index:70;opacity:0;transform:translateY(12px);
  pointer-events:none;transition:opacity .25s,transform .25s}
.float.show{opacity:1;transform:none;pointer-events:auto}
.float .btn-gold{box-shadow:0 10px 26px rgba(12,30,60,.34)}

/* ----------------------------------------------------------------- utilities */
.icon{width:22px;height:22px;fill:var(--force);flex:0 0 auto}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
  .ticker-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:10px 24px}
}
