:root{
  --navy:#14284b; --navy-deep:#0d1e3a; --navy-mid:#1d3c6e;
  --ink:#1c2a40; --muted:#5b6b82;
  --red:#e35d55; --red-soft:#ff7a72; --blue:#1b62b3; --blue-lt:#3d8bd8;
  --paper:#fff; --mist:#f2f5f9; --rule:#dde4ee;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Source Sans 3',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --gut:clamp(20px,4vw,60px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:2px}
.doc{max-width:1240px;margin:0 auto}
.mast{
  --artW:clamp(40px,4.8vw,64px);
  --artH:calc(var(--artW) * 1.242);
  --markW:min(48vw,clamp(150px,20vw,208px));
  display:flex;align-items:flex-start;justify-content:flex-start;gap:0;
  padding:clamp(13px,1.9vw,23px) var(--gut) clamp(10px,1.3vw,14px);
  border-bottom:1px solid var(--rule)
}
/* the mark rides the slingshot's line: the circled S sits just past the
   fork, level with the shot, with the dog tucked in below it */
.mast-id{
  text-align:left;position:relative;z-index:1;
  margin-top:calc(var(--artH) * -.05);
  margin-left:calc(var(--artW) * -.15)
}
.mast-mark{width:var(--markW)}
.mast-mark img{width:100%;height:auto}
.mast-sup{
  font-family:'Jost',var(--display),sans-serif;font-weight:400;
  font-size:clamp(14px,1.75vw,22px);letter-spacing:.005em;line-height:1.1;
  color:#0e2841;margin-top:5px;padding-left:calc(var(--markW) * .19)
}
.mast-tag{
  font-family:'Jost',var(--display),sans-serif;font-weight:500;
  font-size:clamp(11.5px,1.3vw,16px);letter-spacing:.005em;line-height:1.15;
  color:var(--blue);margin-top:4px;padding-left:calc(var(--markW) * .19)
}
.mast-art{flex:0 0 auto;width:var(--artW);margin-left:calc(var(--artW) * -.16)}
.mast-art img{width:100%;height:auto}
@media (max-width:520px){ .mast{--artW:38px} }

/* ============================================================
   DRIVEN BY STORIES  —  complexity into clarity
   ============================================================ */
.driven{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;overflow:hidden}
.driven-in{max-width:1240px;margin:0 auto;padding:clamp(46px,6vw,86px) var(--gut) 0}
.driven .dv-k{justify-content:flex-start}

.dv-k{
  font-family:var(--mono);font-weight:500;font-size:clamp(10px,1vw,12px);
  letter-spacing:.14em;text-transform:uppercase;color:#7f9ec4;
  display:flex;align-items:center;justify-content:center;gap:11px
}
.dv-k::before{content:"";width:26px;height:2px;background:var(--red);border-radius:2px;flex:0 0 auto}

.dv-h{
  font-family:var(--display);font-weight:700;
  font-size:clamp(17px,5.5vw,64px);line-height:1.02;letter-spacing:-.035em;
  margin-top:clamp(14px,1.8vw,22px);white-space:nowrap;text-align:center
}

/* the four story types */
.dv-types{
  list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(9px,1.3vw,20px);margin-top:clamp(30px,4vw,48px)
}
.dv-types li{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.18)
}
.dv-types svg{width:21px;height:21px;flex:0 0 auto;color:#9fc0e4}
.dv-types li:nth-child(2) svg{color:var(--blue-lt)}
.dv-types li:nth-child(4) svg{color:#e0574f}
.dv-types li:nth-child(6) svg{color:var(--blue-lt)}
.dv-types b{
  font-family:var(--mono);font-weight:500;font-size:clamp(10.5px,.92vw,12px);
  letter-spacing:.07em;text-transform:uppercase;color:#dfe8f3;line-height:1.3
}

.dv-beat{
  font-family:var(--display);font-weight:600;
  font-size:clamp(16px,1.9vw,24px);letter-spacing:-.015em;
  color:#fff;margin-top:clamp(26px,3.4vw,40px);text-align:center
}
.dv-beat span{color:#8fb0d6}

/* ---- the diagram: complexity resolving into clarity ---- */
.dv-fig{
  margin:clamp(24px,3.4vw,40px) calc(50% - 50vw) 0;position:relative;
  background:linear-gradient(90deg,var(--navy-deep) 0%,var(--navy-deep) 34%,#1b3355 58%,#41618b 76%,#dfe7f1 92%,var(--mist) 100%)
}
.dv-fig svg{display:block;width:100%;height:auto}
.sg-w{fill:none;stroke-linecap:round}
.sg-t{stroke:rgba(191,213,238,.5);stroke-width:1.1}
.sg-x{stroke:rgba(211,34,42,.55);stroke-width:1}
.sg-m{stroke:rgba(191,213,238,.42);stroke-width:1.1}
.sg-r{stroke:#1d3c6e;stroke-width:1.7}
.sg-n{stroke:none}
.sg-nt{fill:#cfe0f2;opacity:.85}
.sg-nr{fill:#14284b}
.sg-hub{fill:var(--red)}
.sg-hub-r{fill:none;stroke:var(--red);stroke-width:1.4;opacity:.45}

/* one reveal: the tracks draw themselves on first view */
.dv-fig.draw .sg-r{stroke-dasharray:340;stroke-dashoffset:340;animation:sgdraw .9s cubic-bezier(.22,.7,.3,1) forwards}
.dv-fig.draw .sg-r2{animation-delay:.06s}
.dv-fig.draw .sg-r3{animation-delay:.12s}
.dv-fig.draw .sg-r4{animation-delay:.18s}
.dv-fig.draw .sg-r5{animation-delay:.24s}
.dv-fig.draw .sg-r6{animation-delay:.30s}
@keyframes sgdraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  .dv-fig.draw .sg-r{animation:none;stroke-dashoffset:0}
}

.dv-nav{
  max-width:1240px;margin:0 auto;padding:clamp(20px,2.6vw,30px) var(--gut) clamp(38px,4.6vw,60px);
  font-size:clamp(15px,1.45vw,18.5px);line-height:1.5;color:#c8d7e8;max-width:min(1240px,none)
}
.dv-nav p{max-width:62ch;margin:0 auto;text-align:center}
.dv-nav b{color:#fff;font-weight:600}

/* ---- clarity half ---- */
.clarity{padding:clamp(44px,5.6vw,78px) var(--gut) clamp(40px,5vw,72px)}
.clarity h2{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(17px,5.5vw,64px);line-height:1.02;letter-spacing:-.035em;
  white-space:nowrap;text-align:center
}
.clarity h2 em{font-style:normal;color:var(--red)}
.cl-beat{
  font-family:var(--display);font-weight:600;color:var(--navy);opacity:.72;
  font-size:clamp(16px,1.9vw,24px);letter-spacing:-.015em;margin-top:14px;text-align:center
}
.cl-head{display:table;margin:0 auto}
.clarity .cl-beat{color:var(--steel);opacity:1}
.cl-split{
  max-width:1240px;margin:clamp(34px,4.4vw,60px) auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,72px);align-items:center
}
.cl-left{display:flex;flex-direction:column;align-items:center;text-align:center;align-self:start;padding-top:clamp(4px,.8vw,12px)}
.cl-logo{width:clamp(230px,28vw,380px);height:auto;display:block}
.cl-sub{
  font-size:clamp(15px,1.3vw,18.5px);line-height:1.55;color:var(--ink);
  margin:clamp(16px,2vw,26px) 0 0;text-align:center;max-width:44ch
}
.cl-for{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,28px);margin-top:0}
.cl-for div{padding-top:14px;border-top:2px solid var(--navy)}
.cl-for div:nth-child(2){border-top-color:var(--blue-lt)}
.cl-for div:nth-child(3){border-top-color:var(--red)}
.cl-for b{
  display:block;font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(17px,1.75vw,22px);letter-spacing:-.02em
}
.cl-for span{display:block;font-size:clamp(14px,1.3vw,16px);color:var(--muted);margin-top:5px;line-height:1.5}
.cl-for span strong{color:var(--navy);font-weight:600}

@media (max-width:1080px){
  .dv-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,20px)}
}
@media (max-width:820px){
  .dv-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .cl-for{grid-template-columns:1fr;gap:16px}
  .dv-fig{min-height:0}
  .dv-fig svg{min-height:190px}
}


/* ============================================================
   TOKENS carried over for the transplanted sections
   ============================================================ */
:root{
  --faint:#8496ad; --steel:#3f7fa5; --grey:#6b7683; --mist-2:#e8edf5;
  --shadow:0 1px 2px rgba(20,40,75,.06),0 10px 34px rgba(20,40,75,.08);
  --red-warm:#e0574f;   /* accent red */
  --red-bar:#c0403b;    /* short rule before a section label */
  --ink-deep:#141a24;
  --blue-mid:#284d70;
  --shirt:#4a76a2;      /* the Who / What / Why label blue */
  --serif:'Century Schoolbook','Bookman Old Style',Georgia,serif;
}
html{scroll-behavior:smooth}

/* ============================================================
   MASTHEAD NAV
   The brand block is pinned to the left 60% of the strip, so the
   menu opens exactly 10% past the halfway mark, opposite the logo.
   No chips, no bubbles — blue print, red when live.
   ============================================================ */
.mast{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-bottom:clamp(13px,1.6vw,18px);column-gap:clamp(16px,2.2vw,34px)
}
.mast-brand{justify-self:start;min-width:0;display:flex;align-items:flex-start}
.mast{--markW:min(40vw,clamp(120px,13vw,150px))}
.mast-sup{font-size:clamp(11px,1.15vw,15px);white-space:nowrap;padding-left:calc(var(--markW) * .12)}

.mast-nav{
  justify-self:center;position:relative;
  display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:center;
  column-gap:clamp(13px,1.75vw,28px);
  row-gap:clamp(9px,1vw,13px);
  padding:clamp(10px,1.2vw,15px) 0
}
/* two light-blue streaks, half the menu's width — the shot's air line */
.mast-nav::before,.mast-nav::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  width:50%;height:1.5px;border-radius:2px;background:var(--blue-lt);opacity:.55
}
.mast-nav::before{top:0}
.mast-nav::after{bottom:0}

/* the slingshots: the circled S, stacked, each carrying half the tagline */
.mast-shots{
  justify-self:end;display:flex;flex-direction:column;
  gap:clamp(7px,.9vw,11px);align-items:flex-start
}
.shot{display:flex;align-items:center;gap:clamp(7px,.8vw,10px)}
.shot-s{width:clamp(18px,1.8vw,24px);height:clamp(18px,1.8vw,24px);flex:0 0 auto;display:block}
.shot-t{
  font-family:'Jost',var(--display),sans-serif;font-weight:500;
  font-size:clamp(10.5px,1vw,13.5px);letter-spacing:.005em;line-height:1.15;
  color:var(--blue);white-space:nowrap
}
.mn{
  display:block;text-decoration:none;color:var(--blue);
  border-bottom:2px solid transparent;padding-bottom:3px;
  transition:color .16s ease,border-color .16s ease
}
.mn-t{
  display:block;font-family:var(--display);font-weight:600;
  font-size:clamp(12.5px,1.15vw,16px);letter-spacing:-.008em;line-height:1.2;
  white-space:nowrap;text-align:center
}
.mn-s{
  display:block;font-family:var(--mono);font-weight:400;
  font-size:clamp(8.5px,.72vw,9.8px);letter-spacing:.11em;text-transform:uppercase;
  color:var(--faint);margin-top:3px;line-height:1.2;text-align:center;
  transition:color .16s ease
}
.mn:hover,.mn:focus-visible{color:var(--red);border-bottom-color:var(--red)}
.mn:hover .mn-s,.mn:focus-visible .mn-s{color:var(--red)}
.mn.on{color:var(--red);border-bottom-color:var(--red)}
.mn.on .mn-s{color:var(--red);opacity:.75}
.mn:focus-visible{outline:none}

@media (max-width:1150px){
  .mast{grid-template-columns:1fr auto;align-items:flex-start;row-gap:14px}
  .mast-brand{grid-row:1;grid-column:1;justify-self:start}
  .mast-shots{grid-row:1;grid-column:2;justify-self:end}
  .mast-nav{
    grid-row:2;grid-column:1 / -1;justify-self:stretch;
    flex-wrap:wrap;column-gap:clamp(14px,2.6vw,26px)
  }
  .mn-t{white-space:normal}
}
@media (max-width:620px){
  .mast{grid-template-columns:1fr}
  .mast-brand{grid-row:1;grid-column:1}
  .mast-shots{grid-row:2;grid-column:1;justify-self:start}
  .mast-nav{grid-row:3;grid-column:1}
}

/* ============================================================
   VIEWS — one section per menu item
   ============================================================ */
.view{display:none}
.view.on{display:block}
.pg-hd{padding:clamp(30px,4vw,52px) var(--gut) 0}
.pg-k{
  font-family:var(--mono);font-weight:500;font-size:clamp(10px,1vw,12px);
  letter-spacing:.14em;text-transform:uppercase;color:var(--shirt);
  display:flex;align-items:center;gap:11px
}
.pg-k::before{content:"";width:26px;height:2px;background:var(--red);border-radius:2px;flex:0 0 auto}
.pg-h{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(30px,4.4vw,56px);line-height:1.04;letter-spacing:-.032em;
  margin-top:clamp(10px,1.3vw,16px)
}
.pg-sub{
  font-size:clamp(15px,1.4vw,18.5px);color:var(--muted);
  max-width:66ch;margin-top:12px
}
.pg-hd + .qblock{margin-top:clamp(22px,2.8vw,38px)}

/* ============================================================
   DECK COMPONENTS (transplanted, unchanged in face)
   ============================================================ */
.dhead{
  font-family:var(--display);font-weight:700;color:var(--ink-deep);
  font-size:clamp(26px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;text-wrap:balance
}
.dhead .hot{color:var(--red-warm)}

.barlbl{
  display:flex;align-items:center;gap:12px;
  font-family:var(--display);font-weight:700;color:var(--blue-mid);
  font-size:clamp(15px,1.5vw,19px);letter-spacing:.06em;text-transform:uppercase;
  margin:clamp(20px,2.6vw,32px) 0 10px
}
.barlbl::before{content:"";flex:none;width:5px;height:1.15em;border-radius:2px;background:var(--red-bar)}
.barlbl.tight{margin-top:0}
.barlbl.qmk{color:var(--shirt);font-size:clamp(15px,1.7vw,21px);letter-spacing:.05em;margin-top:0}
.barlbl.qmk::before{width:6px;height:1.2em}

.qbody{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.5;color:var(--ink);max-width:none}
.qbody + .qbody{margin-top:14px}
.qblock{margin-top:clamp(26px,3.4vw,46px);padding:0 var(--gut)}

.pq,.assetline{
  font-family:var(--display);font-weight:700;color:var(--ink-deep);
  font-size:clamp(26px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;
  text-wrap:balance;max-width:none
}

.barlbl.qmk + .dhead,
.barlbl.qmk + .pq,
.barlbl.qmk + .assetline{margin-top:2px}
.dhead + .qbody,
.pq + .qbody,
.assetline + .qbody{margin-top:clamp(13px,1.4vw,19px)}
.qbody + .dhead,
.qbody + .pq,
.qbody + .assetline,
.qlist + .dhead,
.caps + .dhead,
.band + .dhead,
.band + .pq{margin-top:clamp(26px,3.2vw,42px)}
.dhead + .band,
.qbody + .band{margin-top:clamp(20px,2.4vw,30px)}

.band{border-radius:10px;overflow:hidden}
.band img{width:100%}

.split2{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(14px,1.8vw,26px);margin-top:clamp(26px,3.2vw,42px);align-items:stretch
}
.sp-card{border:2px solid var(--blue);border-radius:14px;padding:clamp(18px,2.1vw,28px);background:var(--paper)}
.sp-card.sp-red{border-color:var(--red-warm)}
.split2 .dhead{font-size:clamp(21px,2.15vw,31px);line-height:1.12}
.split2 .qbody{margin-top:clamp(11px,1.2vw,16px)}
.split2 .qlist li{font-size:clamp(15px,1.15vw,17px)}
.split2 .caps{grid-template-columns:1fr;gap:6px;margin-top:clamp(10px,1.1vw,14px)}
.split2 .caps li{font-size:clamp(14px,1.15vw,16.5px);line-height:1.25}
@media (max-width:820px){.split2{grid-template-columns:1fr}}

.bq{
  font-family:var(--display);font-weight:600;color:var(--navy);
  font-size:clamp(19px,1.95vw,27px);line-height:1.36;letter-spacing:-.012em;
  margin-top:clamp(14px,1.6vw,20px);padding-left:clamp(16px,1.8vw,26px);
  border-left:4px solid var(--red-bar);text-wrap:pretty
}

.em-red{color:var(--red-warm);font-weight:600}
.em-blue{color:var(--shirt)}
.qlist{list-style:none;margin-top:clamp(11px,1.2vw,15px);display:grid;gap:clamp(10px,1.1vw,14px)}
.qlist li{
  position:relative;padding-left:clamp(20px,1.8vw,26px);
  font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.5;color:var(--ink)
}
.qlist li::before{
  content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--red-bar)
}

.caps{list-style:none;display:grid;gap:12px}
.caps.row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px clamp(16px,2vw,30px);margin-top:clamp(14px,1.6vw,20px)}
.caps li{
  display:flex;gap:12px;align-items:baseline;
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(15px,1.3vw,18px)
}
/* ============================================================
   DARK BAND — the alternating navy step. Same full-bleed
   treatment as .serve-band / .nextswing so every page keeps the
   navy / white / navy rhythm the Core page sets.
   ============================================================ */
.dband{
  margin:clamp(28px,3.6vw,50px) calc(50% - 50vw) 0;
  background:var(--navy-deep);
  background-image:
    radial-gradient(820px 380px at 12% -30%,rgba(61,139,216,.24),transparent 62%),
    radial-gradient(680px 340px at 92% 130%,rgba(211,34,42,.14),transparent 64%);
  border-top:1px solid rgba(120,175,230,.28);
  border-bottom:1px solid rgba(120,175,230,.28);
  color:#fff
}
.dband-in{max-width:1240px;margin:0 auto;padding:clamp(30px,4vw,58px) var(--gut)}
.dband + .qblock,
.dband + .serve{margin-top:clamp(28px,3.6vw,50px)}

.dband .dhead,
.dband .pq,
.dband .assetline{color:#fff}
.dband .dhead .hot{color:#ff8a82}
.dband .qbody{color:#c8d7e8}
.dband .qbody b{color:#fff}
.dband .barlbl{color:#9ec4ea}
.dband .barlbl.qmk{color:#9ec4ea}
.dband .qlist li{color:#dbe5f2}
.dband .caps li{color:#fff}
.dband .em-blue{color:#9ec4ea}
.dband .em-red{color:#ff8a82}
.dband .sp-card{background:rgba(255,255,255,.035);border-color:rgba(120,175,230,.5)}
.dband .sp-card.sp-red{border-color:#e0574f}
.dband .split2{margin-top:0}

/* ---- Scope: tighter head, quote under the title, box beside the half image ---- */
.pg-hd.tight{padding-bottom:0}
.qblock.qblock-tight{margin-top:clamp(10px,1.2vw,16px)}
.qblock-tight .bq{margin-top:clamp(16px,1.9vw,24px)}

.scope-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(14px,1.8vw,26px);align-items:stretch;
  margin-top:clamp(24px,3vw,40px)
}
.scope-row .sp-card{display:flex;flex-direction:column;justify-content:center}
.scope-row .dhead{font-size:clamp(21px,2.15vw,31px);line-height:1.12}
.scope-row .qbody{margin-top:clamp(11px,1.2vw,16px)}
.scope-row .qlist li{font-size:clamp(15px,1.15vw,17px)}
.band-half{border-radius:14px;overflow:hidden;min-height:100%}
.band-half img{width:100%;height:100%;object-fit:cover;object-position:center}
.scope-lede{margin-top:clamp(24px,3vw,40px)}
@media (max-width:820px){
  .scope-row{grid-template-columns:1fr}
  .band-half{min-height:0}
  .band-half img{height:auto}
}

/* ---- Core: the line that closes Who We Serve ---- */
.pdline{
  font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(15px,1.7vw,22px);line-height:1.15;letter-spacing:-.02em;
  text-align:left;margin:0
}
.serve-head{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px);flex-wrap:wrap}
.pdline span{color:var(--red);padding:0 .12em}


/* ============================================================
   CRITICAL SCOPE — critical teams, transactions, ecosystems,
   and communities. Cut in the Core page's language: navy-deep
   opener, light "who / what" half, closing valuation band.
   ============================================================ */
.crit-hero{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;overflow:hidden;position:relative;isolation:isolate}
.crit-in{max-width:1240px;margin:0 auto;padding:clamp(26px,3.4vw,50px) var(--gut) clamp(30px,3.8vw,50px)}
.crit-k{justify-content:flex-start}
.crit-k svg{width:18px;height:18px;color:#9ec4ea;flex:0 0 auto}
.crit-tag{
  font-family:var(--display);font-weight:600;text-align:center;color:#8fb0d6;
  font-size:clamp(16px,1.9vw,24px);letter-spacing:-.015em;margin:clamp(10px,1.3vw,16px) auto 0
}
.crit-h{
  font-family:var(--display);font-weight:700;text-align:center;
  font-size:clamp(26px,4.6vw,56px);line-height:1.04;letter-spacing:-.035em;
  margin:clamp(6px,.9vw,12px) auto 0;max-width:24ch;text-wrap:balance
}
.crit-h em{font-style:normal;color:#e0574f}
.crit-sub{
  font-size:clamp(15px,1.45vw,18.5px);line-height:1.5;color:#c8d7e8;
  max-width:100ch;margin:clamp(10px,1.3vw,16px) auto 0;text-align:center
}
.crit-sub b{color:#fff;font-weight:600}
.crit-sub-after{max-width:74ch;margin-top:clamp(30px,4vw,48px)}

/* the eight critical sectors */
.crit-sectors{
  list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));
  gap:clamp(8px,1.1vw,18px);margin-top:clamp(20px,2.6vw,32px)
}
.crit-sectors li{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.18)
}
.crit-sectors svg{width:clamp(30px,2.6vw,38px);height:clamp(30px,2.6vw,38px);flex:0 0 auto;color:#9fc0e4}
.crit-sectors li:nth-child(2) svg,.crit-sectors li:nth-child(5) svg,.crit-sectors li:nth-child(8) svg{color:var(--blue-lt)}
.crit-sectors li:nth-child(3) svg,.crit-sectors li:nth-child(6) svg{color:#e0574f}
.crit-sectors b{
  font-family:var(--mono);font-weight:500;font-size:clamp(10px,.9vw,12px);
  letter-spacing:.07em;text-transform:uppercase;color:#dfe8f3;line-height:1.3
}

/* the illustration + collaborative stories + stacked blocks, on white */
.crit-story{padding:clamp(28px,3.6vw,48px) var(--gut) clamp(28px,3.6vw,48px)}
.crit-story-in{
  max-width:1240px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;
  gap:clamp(22px,3.6vw,56px);align-items:stretch
}
.crit-art{position:relative;width:100%;align-self:stretch;display:flex;flex-direction:column}
.crit-cta-wrap{margin-top:auto;padding-top:clamp(28px,3.2vw,44px);margin-bottom:clamp(22px,2.4vw,34px)}
.crit-art img{width:82%;max-width:440px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 14px 32px rgba(20,40,75,.22))}
.crit-cta-h{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(20px,2.15vw,30px);line-height:1.12;letter-spacing:-.03em;
  margin:clamp(20px,2.6vw,36px) 0 0;max-width:none;white-space:nowrap;
  width:max-content;position:relative;z-index:1
}
.crit-cta-h em{font-style:normal;color:var(--red)}
.crit-cta-k{margin-top:0;font-size:clamp(13px,1.2vw,15px)}
.crit-cta{display:flex;flex-wrap:wrap;gap:clamp(10px,1.4vw,18px);margin-top:12px;padding-left:clamp(18px,2.2vw,32px)}
.crit-btn{
  display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap;
  font-family:var(--display);font-weight:600;font-size:clamp(13px,1.15vw,15.5px);
  color:#fff;background:var(--navy);border-radius:999px;
  padding:clamp(9px,1vw,12px) clamp(16px,1.8vw,24px);
  transition:background .16s ease,transform .16s ease
}
.crit-btn:hover{background:var(--blue);transform:translateY(-1px)}
.crit-side{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px)}
.crit-gov{
  border-left:2px solid var(--red);padding-left:clamp(18px,2.2vw,30px);
  font-size:clamp(15px,1.35vw,17.5px);line-height:1.55;color:var(--ink)
}
.crit-gov .barlbl{margin-bottom:12px}
.crit-gov .barlbl::before{display:none}
.crit-gov b{color:var(--navy);font-weight:600}
.crit-venn{width:92%;max-width:470px;height:auto;display:block;margin:auto auto 0;overflow:visible}
.venn-set circle{fill:var(--mist);stroke:var(--rule);stroke-width:1.5;mix-blend-mode:multiply}
.venn-l{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.02em;fill:var(--navy)}
.venn-c{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.03em;fill:var(--red)}

/* ---- what we map: the long read, set as lead + note ---- */
.crit-read{
  max-width:1240px;margin:0 auto;padding:0 var(--gut) clamp(40px,5vw,66px)
}
.crit-lead{font-size:clamp(15.5px,1.45vw,19px);line-height:1.55;color:var(--ink);columns:2;column-gap:clamp(22px,3.6vw,56px)}
.crit-lead p{break-inside:avoid}
.crit-lead p+p{margin-top:1em}
.crit-lead b{color:var(--navy);font-weight:600}
.crit-note{
  background:var(--mist);border:1px solid var(--rule);border-radius:14px;
  padding:clamp(18px,2.2vw,28px);font-size:clamp(14px,1.2vw,16px);line-height:1.55;color:var(--ink)
}
.crit-note .barlbl{margin-bottom:12px}
.crit-note b{color:var(--navy);font-weight:600}

/* ---- valuation band (closes the view) ---- */
.crit-val{
  margin:0 calc(50% - 50vw);
  background:var(--navy-deep);
  background-image:
    radial-gradient(820px 380px at 12% -30%,rgba(61,139,216,.24),transparent 62%),
    radial-gradient(680px 340px at 92% 130%,rgba(211,34,42,.16),transparent 64%);
  border-top:1px solid rgba(120,175,230,.28);color:#fff
}
.crit-val .ns-in{grid-template-columns:1fr auto;align-items:end}
.crit-val .cv-head{grid-column:1/-1}
.crit-val .ns-p{max-width:72ch;margin-top:clamp(10px,1.4vw,18px)}
.crit-val .ns-acts{flex-direction:row;gap:clamp(18px,2.4vw,32px);padding-bottom:6px}

@media (max-width:1080px){
  .crit-sectors{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,20px)}
  .crit-story-in{grid-template-columns:1fr}
  .cl-split{grid-template-columns:1fr}
  .smb-hero-split{grid-template-columns:1fr;min-height:0;padding-bottom:220px}
  .smb-nav p{text-align:center;margin:0 auto}
  .crit-art{max-width:520px;margin:0 auto}
}
@media (max-width:820px){
  .crit-sectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .crit-lead{columns:1}
}

/* ---- Story Advisory ---- */
.adv{max-width:1240px;margin:0 auto;padding:clamp(30px,4.5vw,58px) var(--gut) clamp(24px,3vw,40px)}
.adv-top{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(18px,3vw,40px);align-items:start}
.adv-ttl{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(34px,5vw,62px);letter-spacing:-.035em;line-height:.98
}
.adv-sub{
  font-family:var(--display);font-weight:700;color:var(--red);
  font-size:clamp(17px,2.1vw,27px);letter-spacing:-.018em;margin-top:8px
}
.adv-k{
  font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--faint);margin:clamp(20px,2.6vw,30px) 0 12px
}
.adv-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,16px)}
.wcard{background:var(--mist);border-radius:10px;padding:clamp(13px,1.7vw,18px)}
.wcard h4{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(15px,1.5vw,18.5px);letter-spacing:-.015em;margin-bottom:7px
}
.wcard p{font-size:clamp(13px,1.2vw,14.6px);line-height:1.5;color:var(--ink)}
.adv-map{position:relative;display:flex;align-items:flex-start;justify-content:center}
.adv-map img{width:100%;max-width:520px;height:auto;opacity:.92}
.adv-how{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,44px);align-items:start;margin-top:clamp(26px,3.6vw,44px)}
.adv-art{width:min(100%,150px)}
.adv-art img{width:100%;height:auto}
.steps{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,26px)}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(13px,1.8vw,22px);align-items:start}
.step-n{
  width:clamp(38px,4vw,50px);height:clamp(38px,4vw,50px);border-radius:50%;
  border:1.6px solid var(--steel);display:grid;place-items:center;flex:0 0 auto;
  font-family:var(--display);font-weight:700;font-size:clamp(15px,1.5vw,18px);color:var(--navy)
}
.step-hd{display:flex;align-items:baseline;gap:clamp(12px,2vw,26px);flex-wrap:wrap}
.step-hd h4{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(17px,1.9vw,24px);letter-spacing:-.02em
}
.step-hd .say{
  font-family:var(--display);font-weight:700;color:var(--red);
  font-size:clamp(14.5px,1.55vw,19px);letter-spacing:-.015em
}
.step p{font-size:clamp(13.6px,1.28vw,15.8px);line-height:1.55;color:var(--ink);margin-top:6px;max-width:82ch}
.wband{
  margin-top:clamp(14px,2vw,20px);background:var(--navy);color:#fff;border-radius:11px;
  padding:clamp(13px,1.6vw,17px) clamp(15px,2vw,22px);
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap
}
.wband .wb-steps{
  font-family:var(--display);font-weight:700;font-size:clamp(14px,1.4vw,17px);
  letter-spacing:-.012em;color:#fff;white-space:nowrap
}
.wband .wb-steps i{color:var(--red);font-style:normal;padding:0 3px}
.wband .wb-tail{font-size:clamp(13px,1.25vw,15px);line-height:1.5;color:#c9d8ec}
.wband--full{
  margin-top:clamp(22px,3vw,38px);
  padding:clamp(16px,2vw,22px) clamp(18px,2.4vw,30px);
  justify-content:center;text-align:center
}
.wband--full .wb-steps{font-size:clamp(15px,1.6vw,19px)}
.wband--full .wb-tail{font-size:clamp(13.5px,1.3vw,15.5px)}
@media (max-width:900px){
  .adv-top{grid-template-columns:1fr}
  .adv-map{order:-1;justify-content:flex-start}
  .adv-map img{max-width:340px}
  .adv-where{grid-template-columns:1fr}
  .adv-how{grid-template-columns:1fr}
  .adv-art{width:min(40%,132px)}
}

/* ---- Slingshots: the red box runs full width across the top ---- */
.sl-top{padding:clamp(20px,2.4vw,32px) clamp(20px,2.6vw,34px)}
.sl-top .dhead{font-size:clamp(24px,2.8vw,38px);line-height:1.1}
.sl-top .qbody{margin-top:clamp(11px,1.2vw,16px);max-width:88ch}
.sl-top .barlbl.sl-lands{margin-top:0}
#slingshots .caps.row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px clamp(16px,2vw,30px)}
/* where a Slingshot lands: all five sit on one row */
#slingshots .caps.row.sl-lands-row{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px clamp(12px,1.5vw,22px)
}
@media (max-width:900px){#slingshots .caps.row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){#slingshots .caps.row{grid-template-columns:1fr}}

/* the portfolio takes the navy step on this page */
.dband .pf-cols{
  background:rgba(255,255,255,.04);
  border-color:rgba(120,175,230,.4)
}
.dband .pf-cols li{color:#dbe5f2}

.caps li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--red-warm);transform:translateY(-2px)}
/* at full page width the auto-fit row breaks unevenly — the column count is
   set alongside the .sl-top card rules above */
@media (max-width:700px){#slingshots .caps.row{grid-template-columns:1fr}}

/* ---- Where a Slingshot lands: the bullets run the full width, five across ---- */
@media (max-width:1100px){
  #slingshots .caps.row.sl-lands-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  #slingshots .caps.row.sl-lands-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  #slingshots .caps.row.sl-lands-row{grid-template-columns:1fr}
}

/* ---------- Big Swings ---------- */
.swings{padding:clamp(26px,3.4vw,46px) var(--gut) clamp(30px,4.5vw,64px)}
.sw-sub{font-family:var(--serif);font-style:italic;color:var(--steel);font-size:clamp(16px,1.7vw,23px);margin-top:10px}
.sw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.5vw,20px);margin-top:clamp(22px,3vw,38px)}
.sw-card{
  background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--blue);
  border-radius:12px;padding:clamp(16px,1.9vw,24px);box-shadow:var(--shadow)
}
.sw-card:nth-child(2){border-top-color:var(--steel)}
.sw-card:nth-child(3){border-top-color:var(--navy)}
.sw-card:nth-child(4){border-top-color:var(--red)}
.sw-ic{
  width:clamp(40px,4.2vw,54px);aspect-ratio:1;border-radius:50%;
  background:var(--blue);display:grid;place-items:center;margin-bottom:14px;
  box-shadow:0 2px 8px rgba(20,40,75,.14)
}
.sw-card:nth-child(2) .sw-ic{background:var(--steel)}
.sw-card:nth-child(3) .sw-ic{background:var(--navy)}
.sw-card:nth-child(4) .sw-ic{background:var(--red)}
.sw-ic svg{width:52%;height:52%;color:#fff}
.sw-card h4{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(15px,1.35vw,18px);letter-spacing:-.018em;line-height:1.25;margin-bottom:9px
}
.sw-card p{font-size:clamp(13px,1.05vw,15px);color:var(--muted);line-height:1.55}

/* ---------- Who we serve ---------- */
.serve{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;padding:clamp(30px,3.8vw,52px) 0 0}
.serve-in{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.serve .dv-k{justify-content:flex-start}
.serve-band{
  max-width:1240px;margin:clamp(22px,3vw,40px) auto 0;padding:0 var(--gut) clamp(30px,3.8vw,54px)
}
.serve-grid{list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(9px,1.3vw,20px)}
.serve-grid li{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.18);text-align:left
}
.serve-grid svg{width:clamp(30px,2.8vw,38px);height:clamp(30px,2.8vw,38px);flex:0 0 auto;color:#9fc0e4}
.serve-grid li:nth-child(2) svg,.serve-grid li:nth-child(6) svg{color:var(--blue-lt)}
.serve-grid li:nth-child(4) svg,.serve-grid li:nth-child(8) svg{color:#e0574f}
.serve-grid .lbl{
  font-family:var(--mono);font-weight:500;font-size:clamp(10.5px,.92vw,12px);
  letter-spacing:.07em;text-transform:uppercase;color:#dfe8f3;line-height:1.3
}

.pf-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,34px);
  background:var(--mist);border:1px solid var(--rule);border-radius:14px;
  padding:clamp(18px,2.2vw,28px)
}
.pf-cols ul{list-style:none;display:grid;gap:10px;align-content:start}
.pf-cols li{display:flex;gap:10px;font-size:clamp(13px,1.05vw,15px);color:var(--ink);line-height:1.45}
.pf-cols li::before{content:"\2022";color:var(--red-bar);font-weight:700;flex:none}

.footnote{
  padding:0 var(--gut) clamp(40px,6vw,70px);
  font-size:12.5px;color:var(--faint);max-width:80ch
}

/* ============================================================
   NEXT BIG SWING — closes the Core view.
   Re-cut to the landing page's language: full-bleed navy-deep,
   mono kicker on a red rule, Archivo display. No art.
   ============================================================ */
.nextswing{
  margin:0 calc(50% - 50vw) 0;
  background:var(--navy-deep);
  color:#fff
}
.ns-in{
  max-width:1240px;margin:0 auto;
  padding:clamp(22px,3vw,44px) var(--gut) clamp(38px,5vw,70px);
  display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(22px,3.4vw,56px);align-items:center
}
.ns-k{
  font-family:var(--mono);font-weight:500;font-size:clamp(10px,1vw,12px);
  letter-spacing:.14em;text-transform:uppercase;color:#7f9ec4;
  display:flex;align-items:center;gap:11px
}
.ns-k::before{content:"";flex:none;width:26px;height:2px;border-radius:2px;background:var(--red)}
.ns-h{
  font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(30px,4.6vw,60px);line-height:1.02;letter-spacing:-.035em;
  margin-top:clamp(12px,1.6vw,20px)
}
.ns-h em{font-style:normal;color:#8fb0d6}
.ns-p{
  margin-top:clamp(14px,1.8vw,24px);color:#c8d7e8;
  font-size:clamp(14.5px,1.3vw,17px);line-height:1.5;max-width:56ch
}
.ns-p b{color:#fff;font-weight:600}
.ns-copy{padding-left:clamp(40px,11%,140px)}
.ns-side{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ns-net{width:100%;max-width:400px;height:auto;display:block;overflow:visible}
.ns-s{opacity:.9;animation:nsfloat 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.ns-s2{animation-delay:-1.2s;animation-duration:7s}
.ns-s3{animation-delay:-2.6s;animation-duration:5.5s}
.ns-s4{animation-delay:-3.8s;animation-duration:6.5s}
.ns-s5{animation-delay:-5s;animation-duration:7.5s}
@keyframes nsfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){.ns-s{animation:none}}
.ns-acts{display:flex;flex-direction:row;flex-wrap:wrap;gap:clamp(12px,1.6vw,20px);margin-top:clamp(18px,2.2vw,28px)}
.ns-btn{
  display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap;
  font-family:var(--display);font-weight:600;font-size:clamp(13px,1.15vw,15.5px);
  color:var(--navy);background:#fff;border-radius:999px;
  padding:clamp(9px,1vw,12px) clamp(16px,1.8vw,24px);
  transition:background .16s ease,transform .16s ease
}
.ns-btn:hover{background:#dfe8f3;transform:translateY(-1px)}
.ns-a{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font-family:var(--display);font-weight:600;font-size:clamp(13px,1.15vw,15.5px);
  color:#cfe0f5;border-bottom:2px solid rgba(207,224,245,.34);
  padding-bottom:6px;white-space:nowrap;
  transition:color .16s ease,border-color .16s ease
}
.ns-a:hover,.ns-a:focus-visible{color:#fff;border-bottom-color:var(--red);outline:none}
.ns-f{
  border-top:1px solid rgba(255,255,255,.14);
  max-width:1240px;margin:0 auto;padding:14px var(--gut) clamp(26px,3vw,40px);
  font-family:var(--mono);font-weight:500;font-size:clamp(9.5px,.85vw,11px);
  letter-spacing:.16em;text-transform:uppercase;color:#7f9ec4
}

@media (max-width:1000px){
  .sw-grid{grid-template-columns:repeat(2,1fr)}
  .serve-grid{grid-template-columns:repeat(4,1fr)}
  .pf-cols{grid-template-columns:1fr}
  .ns-in{grid-template-columns:1fr;align-items:start}
  .crit-cta-h{white-space:normal;width:auto}
  .ns-copy{padding-left:0}
  .crit-val .ns-in{grid-template-columns:1fr}
  .crit-val .ns-acts{flex-wrap:wrap}
}
@media (max-width:620px){
  .sw-grid{grid-template-columns:1fr}
  .serve-grid{grid-template-columns:repeat(2,1fr)}
}


/* ============================================================
   SLINGSHOTS TITLE BAND  —  navy field, brand lockup
   ============================================================ */
.slhero{
  margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;overflow:hidden;
  background-image:
    radial-gradient(900px 520px at 88% -10%,rgba(211,34,42,.20),transparent 62%),
    radial-gradient(760px 440px at 6% 112%,rgba(27,98,179,.26),transparent 60%)
}
.slhero-in{
  max-width:1240px;margin:0 auto;padding:clamp(34px,4.6vw,66px) var(--gut);
  display:flex;align-items:center;gap:clamp(24px,4.2vw,64px)
}
.slhero-mark{flex:0 0 auto;width:clamp(136px,17vw,224px)}
.slhero-mark svg{width:100%;height:auto;display:block}
.slhero-copy{flex:1 1 auto;min-width:0}
.slhero-k{
  font-family:var(--mono);font-weight:500;font-size:clamp(10px,1vw,12px);
  letter-spacing:.14em;text-transform:uppercase;color:#7f9ec4;
  display:flex;align-items:center;gap:11px
}
.slhero-k::before{content:"";width:26px;height:2px;background:var(--red);border-radius:2px;flex:0 0 auto}
.slhero-h{
  font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(30px,4.4vw,56px);line-height:1.04;letter-spacing:-.032em;
  margin-top:clamp(10px,1.3vw,16px)
}
.slhero-sub{
  font-size:clamp(15.5px,1.45vw,19.5px);line-height:1.52;color:#8fc0f0;
  max-width:74ch;margin-top:15px
}
.slhero-sub b{color:#cfe4fa;font-weight:600}
@media (max-width:760px){
  .slhero-in{flex-direction:column;align-items:flex-start;gap:26px}
  .slhero-mark{align-self:center}
}

/* ============================================================
   STORY MAPPING & BUILDING
   ============================================================ */
.smb-hero{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;overflow:hidden}
.smb-types{margin-top:clamp(20px,2.6vw,34px)}
.smb-hero-split{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(10px,1.4vw,18px);min-height:clamp(240px,30vw,380px)}
.smb-hero-split .smb-nav{position:relative;z-index:1}
.smb-net{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.smb-net-path{stroke-dasharray:6 14;animation:smbflow 3s linear infinite;opacity:.9}
.smb-net-ring{animation:smbring 3s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes smbflow{to{stroke-dashoffset:-40}}
@keyframes smbring{0%{transform:scale(.8);opacity:.5}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.smb-net-path,.smb-net-ring{animation:none}}
.smb-hero-in{max-width:1240px;margin:0 auto;padding:clamp(30px,3.8vw,52px) var(--gut) clamp(20px,2.4vw,34px);text-align:center}
.smb-h{
  font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(30px,4.6vw,60px);line-height:1.02;letter-spacing:-.035em;
  text-align:center;margin:0
}
.smb-h em{font-style:normal;color:#8fb0d6}
.smb-s{width:.98em;height:.98em;flex:0 0 auto;display:block}
.smb-h-t{margin-left:-.03em}
.smb-sub{
  font-family:var(--display);font-weight:600;color:#8fb0d6;
  font-size:clamp(17px,2.1vw,28px);letter-spacing:-.02em;line-height:1.14;
  margin-top:clamp(20px,2.6vw,34px)
}
.smb-sub span{color:#fff}
.smb-nav{font-size:clamp(16px,1.55vw,20px);line-height:1.55;color:#c8d7e8}
.smb-nav p{max-width:52ch;margin:0;text-align:left}
.smb-nav b{color:#fff;font-weight:600}

/* the quote, alongside the world it looks at */
.smb-quote{
  max-width:1240px;margin:clamp(26px,3.4vw,48px) auto 0;padding:0 var(--gut)
}
.smb-fig{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 0 6px #fff}
.smb-fig img{width:100%;height:auto;display:block}

/* Map -> Evaluate -> Act */
.smb-band{margin:clamp(28px,3.6vw,52px) calc(50% - 50vw) 0;background:var(--navy-deep);color:#fff}
.smb-band-in{
  max-width:1240px;margin:0 auto;padding:clamp(16px,2vw,24px) var(--gut);
  display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center
}
/* it now titles the white section: blue words, red arrows, centred over the split */
.smb-light .smb-band{margin:0 0 clamp(24px,3vw,42px);background:transparent;color:inherit}
.smb-light .smb-band-in{max-width:none;padding:0;justify-content:center;text-align:center}
.smb-light .smb-band .wb-steps{color:var(--navy)}
.smb-light .smb-band .wb-steps i{background:var(--red)}
.smb-band .wb-steps{
  font-family:var(--display);font-weight:700;font-size:clamp(17px,5.5vw,64px);
  letter-spacing:-.035em;line-height:1.02;color:#fff;white-space:nowrap
}
/* separators borrow the red rule that leads "Why we exist" in Core */
.smb-band .wb-steps i{
  display:inline-block;vertical-align:.32em;font-style:normal;
  width:clamp(18px,2vw,28px);height:2px;border-radius:2px;
  background:#ff7a72;margin:0 clamp(10px,1.1vw,18px);padding:0
}
.smb-band .wb-tail{font-size:clamp(13.5px,1.3vw,15.5px);line-height:1.5;color:#c9d8ec}

/* the method, on the navy ground */
/* the method sits on the page's own white ground */
.smb-light{margin:0 calc(50% - 50vw);background:var(--paper);color:var(--ink)}
.smb-light-in{max-width:1240px;margin:0 auto;padding:clamp(30px,4vw,58px) var(--gut) clamp(34px,4.6vw,66px)}
/* .smb-copy carries dark-ground colours from the old layout; take them back */
.smb-light .smb-copy .qbody{color:var(--ink)}
.smb-light .smb-copy .em-red{color:var(--red-warm)}
.smb-light .smb-copy .em-blue{color:var(--shirt)}
.smb-light .smb-copy b{color:var(--navy);font-weight:700}
.smb-light .smb-globe{background:transparent}
.smb-light .smb-globe-map{filter:none;mix-blend-mode:normal;opacity:1}
/* the map box is measured off the artwork itself, so the mark lands where it should */
.smb-globe-wrap{position:relative;display:block;width:100%;max-width:560px}
/* the mark rides the open Atlantic, between the Americas and Africa */
.smb-globe-s{
  position:absolute;left:39%;top:47.5%;transform:translate(-50%,-50%);
  width:clamp(30px,4vw,52px);height:auto;
  filter:drop-shadow(0 6px 16px rgba(20,40,75,.28))
}

.smb-dark{
  margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;
  border-top:1px solid rgba(125,180,235,.45)
}
.smb-dark-in{max-width:1240px;margin:0 auto;padding:clamp(30px,4vw,58px) var(--gut) clamp(34px,4.6vw,66px)}
/* where we look, stacked, against how it works */
.adv-cols{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(24px,4vw,64px);align-items:start
}
.adv-cols .adv-k{margin-top:0}
.smb-dark .adv-where{
  grid-template-columns:1fr;gap:clamp(11px,1.5vw,17px);
  padding-left:clamp(15px,1.8vw,24px);border-left:3px solid #ff7a72
}
@media (max-width:900px){ .adv-cols{grid-template-columns:1fr} }

/* the picture reads at close to its native 800px rather than blown up */
.smb-fig{max-width:850px;margin-left:auto;margin-right:auto}
/* the copy and the map hold the same height, and the copy sits a size up */
.smb-light .smb-split{align-items:stretch}
.smb-light .smb-copy{display:flex;flex-direction:column;justify-content:center}
.smb-light .smb-copy .qbody{font-size:clamp(18px,1.6vw,22.5px);line-height:1.52}
/* the navy column, a size up as well */
.smb-dark .wcard h4{font-size:clamp(16.5px,1.65vw,20.5px)}
.smb-dark .wcard p{font-size:clamp(14px,1.35vw,16.5px)}
.smb-dark .step-hd h4{font-size:clamp(18.5px,2.05vw,26px)}
.smb-dark .step-hd .say{font-size:clamp(15.5px,1.7vw,20.5px)}
.smb-dark .step p{font-size:clamp(14.6px,1.4vw,17.4px)}

/* ---- one title face across Slingshots and Our Story ---- */
.slhero-h,.pg-h{font-size:clamp(17px,5.5vw,64px);line-height:1.02;letter-spacing:-.035em}
#slingshots .lab-h{font-size:clamp(26px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em}
.smb-split{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(20px,3.4vw,52px);align-items:center}
.smb-copy .qbody{color:#eaf1fa}
.smb-copy .em-red{color:#ff7a72}
.smb-copy .em-blue{color:#8fc0f0}
.smb-copy .qlist li{color:#c9d8ec}
.smb-copy .qlist li::before{background:#ff7a72}
.smb-globe{position:relative;display:flex;align-items:center;justify-content:center;background:var(--navy-deep)}
.smb-globe-map{width:100%;max-width:560px;height:auto;filter:invert(1);mix-blend-mode:screen;opacity:.9}
.smb-globe-art{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(88px,13vw,168px);height:auto;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.6))
}
@media (max-width:820px){
  .smb-split{grid-template-columns:1fr}
  .smb-globe{order:-1}
}
.smb-dark .adv-k{color:#7f9ec4;margin:clamp(26px,3.2vw,40px) 0 13px}
.smb-dark .wcard{background:rgba(255,255,255,.055);border:1px solid rgba(125,180,235,.26)}
.smb-dark .wcard h4{color:#fff}
.smb-dark .wcard p{color:#c9d8ec}
.smb-dark .step-n{border-color:rgba(125,180,235,.55);color:#fff}
.smb-dark .step-hd h4{color:#fff}
.smb-dark .step-hd .say{color:#ff7a72}
.smb-dark .step p{color:#c9d8ec}

/* ============================================================
   STRATEGIC STORY BUILDING — the build that follows the map
   ============================================================ */
.ssb{margin:0 calc(50% - 50vw);background:var(--paper);color:var(--ink);border-top:1px solid var(--rule)}
.ssb-in{max-width:1240px;margin:0 auto;padding:clamp(34px,4.4vw,64px) var(--gut) clamp(38px,5vw,72px)}
.ssb-h{
  font-family:var(--display);font-weight:700;color:var(--navy);text-align:center;
  font-size:clamp(26px,4.2vw,52px);line-height:1.04;letter-spacing:-.03em
}
.ssb-h em{font-style:normal;color:var(--red)}
.ssb-lede{
  font-family:var(--body);font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:var(--muted);
  text-align:center;max-width:72ch;margin:clamp(12px,1.4vw,18px) auto 0
}
.ssb-lede b{color:var(--navy);font-weight:700}
.ssb-fig{
  margin:clamp(24px,3.2vw,44px) auto 0;max-width:1080px;
  border-radius:14px;overflow:hidden;border:1px solid var(--rule)
}
.ssb-fig img{width:100%;height:auto;display:block}
/* the four builds, on the same accent run as Core's three columns */
.ssb-grid{
  list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2.2vw,30px);margin-top:clamp(26px,3.4vw,46px)
}
.ssb-grid li{padding-top:14px;border-top:3px solid var(--navy)}
.ssb-grid li:nth-child(2){border-top-color:var(--blue)}
.ssb-grid li:nth-child(3){border-top-color:var(--blue-lt)}
.ssb-grid li:nth-child(4){border-top-color:var(--red)}
.ssb-n{
  display:block;font-family:var(--mono);font-weight:500;
  font-size:clamp(10px,.92vw,12px);letter-spacing:.14em;color:var(--muted);margin-bottom:9px
}
.ssb-grid h4{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(16px,1.55vw,20px);line-height:1.22;letter-spacing:-.015em
}
@media (max-width:900px){ .ssb-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .ssb-grid{grid-template-columns:1fr} }

/* ============================================================
   SLINGSHOTS — red rules run to the edges, no box
   ============================================================ */
.sl-rules{
  margin:clamp(26px,3.4vw,46px) calc(50% - 50vw) 0;
  border-top:2px solid var(--red-warm);border-bottom:2px solid var(--red-warm)
}
.sl-rules .sl-top{
  max-width:1240px;margin:0 auto;
  padding:clamp(22px,2.6vw,34px) var(--gut)
}

/* ============================================================
   THE LAB  —  active project placards
   ============================================================ */
.lab{padding:0 var(--gut);margin-top:clamp(32px,4.4vw,64px)}
.lab-hd{
  max-width:1240px;margin:0 auto;
  display:grid;grid-template-columns:clamp(118px,13vw,180px) minmax(0,1fr);
  gap:clamp(18px,3vw,44px);align-items:center
}
.lab-hd-art{display:flex;justify-content:flex-start}
.lab-hd-art img{width:min(100%,180px);height:auto}
@media (max-width:620px){
  .lab-hd{grid-template-columns:1fr;gap:clamp(12px,2.4vw,20px)}
  .lab-hd-art img{width:min(40%,132px)}
}
.lab-h{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(27px,3.6vw,46px);line-height:1.05;letter-spacing:-.03em
}
.lab-h::before{
  content:"";display:block;width:42px;height:3px;border-radius:2px;
  background:var(--red);margin-bottom:clamp(11px,1.3vw,17px)
}
.lab-tag{
  font-family:var(--display);font-weight:600;color:var(--red);
  font-size:clamp(17px,2vw,26px);letter-spacing:-.018em;line-height:1.15;
  margin-top:clamp(8px,1vw,12px)
}
.lab-sub{
  font-size:clamp(15px,1.4vw,18.5px);line-height:1.5;color:var(--muted);
  max-width:70ch;margin-top:12px
}
.lab-grid{
  max-width:1240px;margin:clamp(18px,2.4vw,30px) auto 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(12px,1.6vw,20px)
}
.lp{
  display:flex;flex-direction:column;position:relative;
  background:var(--mist);border:1px solid var(--rule);border-radius:12px;
  padding:clamp(17px,2vw,24px);text-decoration:none;color:inherit
}
a.lp{transition:border-color .18s,box-shadow .18s,transform .18s}
a.lp:hover,a.lp:focus-visible{
  border-color:#c2cfe2;box-shadow:0 10px 26px rgba(20,40,75,.10);transform:translateY(-1px)
}
.lp-mark{
  width:64px;height:64px;border-radius:14px;background:var(--navy-deep);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex:0 0 auto;
  color:#8fb6e2            /* the sprite draws with currentColor, so set it here */
}
.lp-mark svg{width:33px;height:33px;fill:none;stroke:#8fb6e2;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.lp-mark svg text{fill:#fff;stroke:none}
.lp-mark svg circle[stroke="#e0574f"]{stroke:#e0574f;stroke-width:4}
/* the TEAM wordmark takes the same square as the drawn marks */
.lp-mark-img{width:64px;height:64px;padding:0 5px}
.lp-mark-img img{width:100%;height:auto;display:block}
.lp-tag{
  font-family:var(--mono);font-weight:600;font-size:clamp(9px,.82vw,10.5px);
  letter-spacing:.15em;text-transform:uppercase;color:var(--red-warm);
  display:flex;align-items:center;gap:8px
}
.lp-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red-warm);flex:0 0 auto}
.lp-t{
  font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(18px,1.8vw,23px);letter-spacing:-.022em;line-height:1.12;margin-top:9px
}
.lp-s{
  font-family:'Jost',var(--display),sans-serif;font-weight:400;color:var(--blue);
  font-size:clamp(13px,1.15vw,15px);line-height:1.25;margin-top:4px
}
.lp-p{font-size:clamp(13.5px,1.2vw,15.5px);line-height:1.5;color:var(--muted);margin-top:11px}
.lp-go{
  margin-top:auto;padding-top:14px;
  font-family:var(--mono);font-weight:600;font-size:clamp(9.5px,.88vw,11.5px);
  letter-spacing:.14em;text-transform:uppercase;color:var(--red);
  display:flex;align-items:center;gap:8px
}
.lp-go .arw{font-size:14px;letter-spacing:0}
a.lp:hover .lp-go .arw{transform:translateX(3px)}
.lp-go .arw{transition:transform .18s}



/* ---- masthead: tagline shot from the logo; menu on the right ---- */
.mast{grid-template-columns:auto 1fr;column-gap:clamp(20px,3vw,48px)}
.mast-brand{align-items:center}
.mast-id,.mast-tag{transform:translateY(calc(var(--artH) * -.2))}
.mast-nav{justify-self:end}
.mast-tag{
  display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,.6vw,8px);
  margin-left:clamp(14px,2vw,30px);padding-top:calc(var(--artH) * .08);overflow:hidden
}
.tag-shot{display:flex;align-items:center;gap:10px;white-space:nowrap;
  animation:tagfly .75s cubic-bezier(.16,.84,.3,1) both}
.tag-shot:nth-child(2){animation-delay:.32s}
.tag-trail{display:block;height:2px;width:clamp(22px,2.6vw,40px);border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--red));transform-origin:left center;
  animation:tagtrail .75s cubic-bezier(.16,.84,.3,1) both}
.tag-shot:nth-child(2) .tag-trail{animation-delay:.32s}
.tag-t{font-family:'Jost',var(--display),sans-serif;font-weight:500;letter-spacing:.005em;line-height:1.15;
  font-size:clamp(12.5px,1.25vw,17px);color:var(--navy)}
.tag-shot:nth-child(2) .tag-t{color:var(--red)}
@keyframes tagfly{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
@keyframes tagtrail{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.tag-shot,.tag-trail{animation:none}}
@media (max-width:1150px){
  .mast{grid-template-columns:1fr}
  .mast-nav{grid-row:2;grid-column:1;justify-self:stretch}
}
@media (max-width:620px){
  .mast-brand{flex-wrap:wrap;row-gap:8px}
  .mast-tag{margin-left:0;flex-basis:100%;padding-top:0}
}

.clarity .cl-beat{font-size:clamp(20px,2.5vw,32px);margin-top:16px}
.cl-left{align-items:stretch;text-align:left}
.cl-logo{margin:0 auto}
.cl-sub{text-align:left;max-width:none;font-size:clamp(17px,1.6vw,21px);line-height:1.5}
.cl-for span{font-size:clamp(16px,1.55vw,19px);line-height:1.5;margin-top:7px}

.crit-art img{width:76%;max-width:410px}
.crit-cta-h{font-size:clamp(22px,2.7vw,40px);line-height:1.08;white-space:nowrap;width:max-content;max-width:none}
@media (max-width:900px){.crit-cta-h{white-space:normal;width:auto;font-size:clamp(24px,5vw,40px)}}
.crit-gov .barlbl{white-space:nowrap}

/* ---- storyboard ---- */
.sb-grid{max-width:1240px;margin:clamp(26px,3.4vw,46px) auto 0;padding:0 var(--gut) clamp(46px,5.6vw,80px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.sb-col{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,18px)}
.sb-col .barlbl{margin-bottom:4px}
.sb-card{border:1px solid var(--rule);border-radius:14px;padding:clamp(16px,2vw,24px);background:#fff;
  border-top:3px solid var(--navy)}
.sb-now .sb-card{border-top-color:var(--red)}
.sb-next .sb-card{border-top-color:var(--blue-lt)}
.sb-tag{font-family:var(--mono);font-weight:500;font-size:clamp(9.5px,.85vw,11px);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.sb-card h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(17px,1.7vw,21px);
  letter-spacing:-.02em;margin-top:8px;line-height:1.15}
.sb-card p{font-size:clamp(14px,1.25vw,16px);line-height:1.55;color:var(--ink);margin-top:8px}
.sb-meta{margin-top:12px;font-family:var(--mono);font-size:clamp(9.5px,.85vw,11px);letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint)}
.sb-ask{background:var(--mist);border-top-color:var(--red)}
.sb-ask .crit-btn{margin-top:14px}
@media (max-width:900px){.sb-grid{grid-template-columns:1fr}}


/* ---- menu two-line subline ---- */
.mn-s2{white-space:nowrap}
/* ---- story services: dog + text ---- */
.smb-split2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(22px,3.4vw,52px);align-items:center;margin-top:clamp(26px,3.4vw,46px)}
.smb-dogfig{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--rule)}
.smb-dogfig img{display:block;width:100%;height:auto}
.smb-copy2 .qbody{font-size:clamp(16px,1.35vw,19px);line-height:1.55}
@media (max-width:860px){.smb-split2{grid-template-columns:1fr}}
/* ---- blue section: original colours, rules stretched across ---- */
.smb-dark2{border-top:1px solid rgba(125,180,235,.45)}
.adv-rule{display:flex;align-items:center;gap:18px;margin:0 0 clamp(16px,2vw,26px)}
.adv-rule::before,.adv-rule::after{content:"";flex:1}
.adv-rule-red::before,.adv-rule-red::after{height:3px;background:#ff7a72}
.adv-rule-blue::before,.adv-rule-blue::after{height:1px;background:rgba(125,180,235,.45)}
.smb-dark .adv-rule .adv-k{margin:0;white-space:nowrap}
.smb-dark .adv-where3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);padding-left:0;border-left:0;margin-bottom:clamp(30px,4vw,54px)}
.steps-wide .step p{max-width:none}
.step-cta{margin-top:14px;background:var(--red)}
.step-cta:hover{background:#ff5a52}
.ssb-dark{margin-top:clamp(16px,2vw,26px)}
.ssb-dark li{border-top:2px solid rgba(125,180,235,.45)}
.ssb-dark .ssb-n{color:#7f9ec4}
.ssb-dark h4{color:#fff}
@media (max-width:900px){.smb-dark .adv-where3{grid-template-columns:1fr}.ssb-dark{grid-template-columns:1fr}}
/* ---- slingshots & storyboards ---- */
.slhero-h2{font-family:var(--display);font-weight:600;color:var(--red);font-size:clamp(16px,1.7vw,22px);letter-spacing:-.01em;margin:8px 0 14px}
.sbd{max-width:1240px;margin:clamp(10px,1.6vw,22px) auto 0;padding:0 var(--gut) clamp(34px,4.4vw,60px);border-bottom:1px solid var(--rule)}
.sbd-h{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;line-height:1.1;margin-top:10px}
.sb-grid2{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin-top:clamp(20px,2.6vw,34px)}
@media (max-width:900px){.sb-grid2{grid-template-columns:1fr}}
.lab{margin-top:clamp(30px,4vw,56px)}


/* ---- where we look on white ---- */
.smb-light .adv-rule{margin-top:clamp(26px,3.4vw,46px)}
.smb-light .adv-rule .adv-k{color:#7f9ec4;margin:0;white-space:nowrap}
.smb-light .adv-where3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);padding-left:0;border-left:0}
.smb-light .adv-where3 .wcard{background:var(--mist);border:1px solid var(--rule)}
.smb-light .adv-where3 .wcard h4{color:var(--navy);font-size:clamp(16.5px,1.65vw,20.5px)}
.smb-light .adv-where3 .wcard p{color:var(--ink);font-size:clamp(14px,1.35vw,16.5px)}
@media (max-width:900px){.smb-light .adv-where3{grid-template-columns:1fr}}
/* ---- squarer dog ---- */
.smb-dogfig{aspect-ratio:3/2}
.smb-dogfig img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
/* ---- story process title ---- */
.sp-h{text-align:center;margin:0 0 clamp(22px,2.8vw,38px);font-size:clamp(28px,4vw,52px)}
/* ---- learn more buttons ---- */
.lm-rule{margin:clamp(18px,2.2vw,28px) auto 0;width:86%}
.lm-rule::before,.lm-rule::after{height:2px;background:var(--red-soft)}
.lm-k{color:#7db4eb!important}
.lm-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(12px,1.6vw,20px)}
.lm-btn{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:clamp(14px,1.3vw,17px);letter-spacing:-.01em;
  padding:clamp(11px,1.2vw,14px) clamp(18px,2vw,26px);border-radius:10px}
.lm-red{background:var(--red-soft);color:var(--navy-deep)}
.lm-blue{background:var(--blue-lt);color:#fff}
.lm-navy{background:var(--navy-mid);color:#fff;border:1px solid rgba(125,180,235,.45);transition:background .16s ease}
.lm-navy:hover{background:var(--blue)}



.smb-dark .fh-k{margin:clamp(18px,2.2vw,28px) 0 12px}
.fh-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(11px,1.5vw,17px);
  padding-left:clamp(15px,1.8vw,24px);border-left:3px solid #ff7a72}
.fh-card{display:flex;align-items:center;gap:14px;text-decoration:none;
  background:rgba(255,255,255,.055);border:1px solid rgba(125,180,235,.26);border-radius:10px;padding:clamp(14px,1.7vw,20px)}
.fh-card h4{margin:0;color:#fff;font-size:clamp(15.5px,1.55vw,19px)}
.fh-ic{width:42px;height:42px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  border:1.4px solid rgba(125,180,235,.55);color:#9fc0e4;background:rgba(255,255,255,.04)}
.fh-ic svg{width:22px;height:22px}
.fh-link{transition:background .16s ease,border-color .16s ease}
.fh-link:hover{background:rgba(255,255,255,.1);border-color:#ff7a72}
.fh-link .fh-ic{border-color:#ff7a72;color:#ff7a72}
@media (max-width:860px){.fh-cards{grid-template-columns:1fr}}


.sp-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(28px,4.5vw,72px);row-gap:clamp(30px,4vw,56px);align-items:stretch}
.sp-left,.sp-right{display:flex;flex-direction:column}
.sp-grid .adv-k{margin:0 0 13px}
.fh-stack{flex:1;display:flex;flex-direction:column;gap:clamp(11px,1.5vw,17px);padding-left:clamp(15px,1.8vw,24px);border-left:3px solid #ff7a72}
.fh-stack .fh-card{flex:1;min-height:0}
.ss-card{padding:clamp(11px,1.3vw,15px) clamp(14px,1.7vw,20px)}
.ss-card h4{font-size:clamp(14.5px,1.4vw,17px);line-height:1.25}
.ss-card .ssb-n{display:block;flex:0 0 auto;width:2.2em;color:#7f9ec4;margin:0}
.sp-right.sp-r2{justify-content:center}
.sp-right.sp-r2 .steps{justify-content:center}
.sp-r2 .step p{font-size:clamp(15px,1.5vw,18px)}
.sp-right .steps{flex:1;justify-content:space-between}
.sp-right .step p{max-width:none}
.smb-dark2 .smb-dark-in{padding-bottom:clamp(44px,5.6vw,84px)}
@media (max-width:900px){.sp-grid{grid-template-columns:1fr}.sp-left{order:1}.sp-right{order:0}}


/* ---- title strip tweaks ---- */
.smb-types{margin-top:clamp(28px,3.4vw,44px)}
.smb-types svg{width:27px;height:27px}
.smb-types b{font-size:clamp(11.5px,1.05vw,13.5px)}
.smb-hero-split{padding-bottom:280px}
.smb-quote{font-size:clamp(17px,1.75vw,23px)!important;line-height:1.45;max-width:62ch;font-style:italic}
.smb-quote b{font-style:normal}
/* ---- story process ---- */
.sp-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:clamp(30px,4vw,56px)}
.sp-tag{justify-self:start;margin:0;color:#7db4eb;font-size:clamp(11px,1vw,13px);white-space:nowrap}
.sp-tag::before{background:#ff7a72}
.sp-head .sp-h{margin:0;font-size:clamp(30px,4.6vw,60px)}
.sp-head .sp-h em{color:#8fb0d6}
.sp-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:clamp(40px,5.2vw,76px);column-gap:clamp(30px,5vw,80px)}
.sp-cell{display:flex;flex-direction:column;justify-content:center;min-width:0}
.sp-step .steps{flex:0 0 auto;justify-content:center}
.sp-step .step p{max-width:none;font-size:clamp(15px,1.45vw,17.6px)}
.sp-hd-big h4{font-size:clamp(26px,2.9vw,38px)!important}
.sp-hd-big .say{font-size:clamp(17px,1.9vw,24px)!important}
.sp-art{position:relative;min-height:clamp(220px,26vw,340px)}
.sp-art .sp-net{position:absolute;inset:0;width:100%;height:100%}
.sp-left .fh-stack{flex:0 0 auto}
.sp-left .fh-stack .fh-card{flex:0 0 auto;min-height:0}
@media (max-width:900px){.sp-head{grid-template-columns:1fr}.sp-tag{justify-self:center}.sp-grid2{grid-template-columns:1fr}.sp-cell{order:0}.sp-art{min-height:240px}}


/* A. title-strip quote: lower and justified */
.smb-quote{margin-top:clamp(56px,6.2vw,92px)!important;text-align:justify;text-align-last:left;hyphens:auto}
/* B. story process row 1 */
.sp-head .sp-h{font-size:clamp(26px,3.9vw,50px)}
.sp-tag{font-size:clamp(10px,.9vw,12px)}
.sp-row1{position:relative;z-index:1;justify-content:center}
.sp-row1 .step{width:150%}
.sp-row1 .step p{max-width:52ch;font-size:clamp(15.5px,1.5vw,18.5px)}
/* C. where a slingshot lands: light coral rules, only as wide as the text */
.sl-rules{margin-left:0;margin-right:0;border-top:0;border-bottom:0}
.sl-rules .sl-top{padding-left:var(--gut);padding-right:var(--gut)}
.sl-lands-copy{display:inline-block;max-width:100%;border-top:1px solid #ffb3ad;border-bottom:1px solid #ffb3ad;padding:clamp(14px,1.6vw,20px) 0}
#slingshots .caps.row.sl-lands-row{display:inline-grid;grid-template-columns:repeat(5,auto);gap:12px clamp(22px,2.6vw,40px)}
@media (max-width:1100px){#slingshots .caps.row.sl-lands-row{grid-template-columns:repeat(3,auto)}}
@media (max-width:760px){#slingshots .caps.row.sl-lands-row{grid-template-columns:repeat(2,auto)}}
/* D. storyboard column labels */
.sb-k{color:#7f9ec4;font-weight:400;margin:0 0 6px}
/* E. the Lab on dark navy */
.lab-dark{margin:clamp(32px,4.4vw,64px) calc(50% - 50vw) 0;padding:clamp(34px,4.6vw,64px) var(--gut) clamp(40px,5vw,70px);
  background:var(--navy-deep);color:#fff;
  background-image:radial-gradient(900px 520px at 88% -10%,rgba(255,90,82,.14),transparent 62%),
                   radial-gradient(760px 440px at 6% 112%,rgba(61,139,216,.20),transparent 60%)}
.lab-dark .lab-h{color:#fff}
.lab-dark .lab-tag{color:#8fb0d6}
.lab-dark .lab-sub{color:#c9d6e6}
.lab-dark .lp{background:rgba(255,255,255,.055);border:1px solid rgba(125,180,235,.26);color:#fff}
.lab-dark .lp-mark{background:rgba(255,255,255,.06);border:1px solid rgba(125,180,235,.35)}
.lab-dark .lp-tag{color:#ff7a72}
.lab-dark .lp-t{color:#fff}
.lab-dark .lp-p{color:#c9d6e6}
.lab-dark + .footnote{padding-top:clamp(18px,2vw,26px)}


/* quote: four-line justified block, centred */
.smb-quote{max-width:88ch!important;margin-left:auto!important;margin-right:auto!important;margin-top:0!important;font-size:clamp(19px,1.85vw,24px)!important;line-height:1.42}
.smb-nav p.smb-quote{text-align:justify}
.smb-hero-split{padding-bottom:0!important;grid-template-columns:1fr!important;min-height:clamp(300px,34vw,400px)!important;align-items:center}
.smb-hero-split>.smb-net{transform:scale(.9);transform-origin:right center}
.smb-hero-split .smb-nav{max-width:88ch;margin:0 auto;width:100%}
/* story process head */
.sp-head{display:block;margin-bottom:0}
.sp-head .sp-h{white-space:nowrap;font-size:clamp(22px,3.55vw,46px);text-align:center}
.sp-head .sp-tag{justify-self:auto;margin:clamp(26px,3.2vw,46px) 0;font-weight:500;color:#9fbde3;opacity:.9}
/* rows: uniform spacing, step 1 sits on the row's baseline */
.sp-grid2{row-gap:clamp(30px,4vw,56px)}
.sp-art{min-height:clamp(200px,22vw,300px)}
.sp-row1{justify-content:flex-end}
/* storyboard → lab: no gap */
.sbd{padding-bottom:clamp(26px,3.4vw,46px)}
.lab-dark{margin-top:0}


.sp-row1{justify-content:center}
.sp-art{min-height:clamp(220px,25vw,330px);overflow:visible}
.sp-art .sp-net{width:112%;left:-12%;height:112%;top:-6%}


.smb-dark2 .smb-dark-in{padding-top:clamp(40px,4.4vw,62px)}
.sp-head .sp-tag{margin:clamp(16px,2vw,26px) 0 6px}
.sp-grid2 .sp-art{min-height:clamp(200px,22vw,290px)}


.who-block{padding-top:clamp(30px,4vw,52px)}
.who-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,3.6vw,56px);align-items:center}
.who-copy{background:var(--mist);border:1px solid var(--rule);border-radius:16px;padding:clamp(22px,2.8vw,40px)}
.who-copy .qbody{margin-top:14px}
.who-fig{margin:0}
.who-fig img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
@media (max-width:900px){.who-grid{grid-template-columns:1fr}}
.sbd-story{border-bottom:0;margin-top:clamp(10px,1.6vw,22px);padding-bottom:clamp(40px,5vw,70px)}


/* target behind the crowd slingshot */
.who-fig-target{position:relative}
.who-fig-target img{position:relative;z-index:1}
.who-target{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;overflow:visible}
.who-fig-target{padding-right:12%;padding-top:6%}
.who-fig-target img{width:100%}
/* storyboard on dark navy, styled like the Lab */
.sbd-story{margin:clamp(30px,4vw,56px) calc(50% - 50vw) 0;max-width:none;padding:clamp(34px,4.6vw,64px) var(--gut) clamp(40px,5vw,70px);
  background:var(--navy-deep);color:#fff;
  background-image:radial-gradient(900px 520px at 88% -10%,rgba(255,90,82,.14),transparent 62%),radial-gradient(760px 440px at 6% 112%,rgba(61,139,216,.20),transparent 60%)}
.sbd-story .sbd-in{max-width:1240px;margin:0 auto}
.sbd-story .sbd-k{color:#9fc0e4}
.sbd-story .sbd-h{color:#fff}
.sbd-story .sb-k{color:#7f9ec4}
.sbd-story .sb-card{background:rgba(255,255,255,.055);border:1px solid rgba(125,180,235,.26);border-top:3px solid var(--blue-lt)}
.sbd-story .sb-now .sb-card{border-top-color:#ff7a72}
.sbd-story .sb-tag{color:#ff7a72}
.sbd-story .sb-card h3{color:#fff}
.sbd-story .sb-card p{color:#c9d6e6}
.sbd-story .sb-meta{color:#7f9ec4}
.sbd-story .sb-ask{background:rgba(255,255,255,.09)}
.sbd-story .sb-ask .crit-btn{background:#ff7a72;color:var(--navy-deep)}


/* strategic stories: critical phrase bold in its existing blue */
.smb-copy2 .crit-txt{color:var(--blue-lt);font-weight:700}
/* slingshot lab: centre "where a slingshot lands"; equal placards */
.sl-rules .sl-top{text-align:center}
.sl-lands-copy{text-align:left;display:block;width:max-content;max-width:100%;margin:0 auto}
#slingshots .sl-lands-row li{max-width:15ch}
.lab-grid{grid-auto-rows:1fr}
/* our story: outlined who box, equal to the graphic, both centred */
.who-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.who-copy{background:#fff;border:2px solid var(--navy);border-top:4px solid var(--red);border-radius:16px;display:flex;flex-direction:column;justify-content:center}
.who-copy .qbody{font-size:clamp(17px,1.5vw,21px)}
.who-fig-target{display:flex;align-items:center}

.who-credit{position:absolute;right:0;bottom:0;z-index:2;font-family:var(--mono);font-size:clamp(10px,.85vw,11.5px);letter-spacing:.04em;color:var(--blue-lt)}
/* Heroic wordmark: same height as the Slingshot mark it replaces */
.mast-mark{width:calc(var(--markW) * .82)}
.mast-id{transform:translate(calc(var(--artW) * .30), calc(var(--artH) * -.18))}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}

/* longer headline: scale down so it stays on one line inside the column */
.clarity h2{font-size:clamp(17px,4.5vw,56px)}
.cl-logo{width:clamp(200px,24vw,320px)}

/* ================= adjustments round ================= */
/* core: second block */
.cl-split{align-items:start}
.cl-sub p+p{margin-top:.8em}
.cl-dog{align-self:center}
.cl-where{max-width:1240px;margin:clamp(34px,4.4vw,60px) auto 0}
.cl-where .adv-where3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.cl-where .wcard{background:var(--mist);border:1px solid var(--rule)}
.cl-where .wcard h4{color:var(--navy);font-size:clamp(16.5px,1.65vw,20.5px)}
.cl-where .wcard p{color:var(--ink);font-size:clamp(14px,1.35vw,16.5px)}
@media (max-width:900px){.cl-where .adv-where3{grid-template-columns:1fr}}
/* ported Story Engine pieces */
.heng{--navy:#14284b; --navy-deep:#0d1e3a; --navy-mid:#1d3c6e;
  --ink:#1c2a40; --muted:#5b6b82; --faint:#8496ad;
  --red:#e35d55; --red-soft:#ff7a72; --blue:#1b62b3; --blue-lt:#3d8bd8; --steel:#3f7fa5; --grey:#6b7683;
  --paper:#ffffff; --mist:#f2f5f9; --mist-2:#e8edf5; --rule:#dde4ee;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Source Sans 3',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --shadow:0 1px 2px rgba(20,40,75,.06),0 10px 34px rgba(20,40,75,.08);
  --gut:clamp(20px,4vw,60px);

  /* --- palette carried over from the slide deck --- */
  --red-warm:#e0574f;   /* deck accent red (Big Swings, HERO tiles, CTA) */
  --red-bar:#c0403b;    /* the short rule before a section label */
  --ink-deep:#141a24;   /* near-black used on dark cards + CTA */
  --blue-mid:#284d70;   /* section label blue */
  --sand:#f6f4f1;       /* warm card fill */
  --cream:#ede4da;
  --grey-2:#6b7684;
  --tint-red:#f0c9c6;
  --steel-lt:#aeb8c4;
  /* sampled from the boy's shirt on the cover — used for the
     section kickers and the Who / What / Why labels */
  --shirt:#4a76a2;
  --serif:'Century Schoolbook','Bookman Old Style',Georgia,serif;}
.heng-band .storyband{margin-top:0;margin-bottom:0;border-top:0}
.heng .sb-logo{width:clamp(150px,17vw,230px)}
.heng .uh-intro{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:clamp(20px,3.4vw,52px);align-items:center;margin-bottom:clamp(26px,3.4vw,46px)}
.heng .uh-dog{width:100%;max-width:260px;height:auto;justify-self:center}
.heng .uh-box{border:1px solid var(--rule);border-left:4px solid var(--red);border-radius:12px;background:var(--mist);padding:clamp(18px,2.4vw,32px)}
.heng .uh-h{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(24px,3vw,40px);letter-spacing:-.025em;line-height:1.08}
.heng .uh-h em{font-style:normal;color:var(--red)}
.heng .uh-p{margin-top:clamp(10px,1.3vw,16px);font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--ink)}
.heng .uh-p b{color:var(--navy)}
@media (max-width:760px){.heng .uh-intro{grid-template-columns:1fr}.heng .uh-dog{max-width:180px}}
.heng-cta .hs-cta{padding-bottom:clamp(36px,5vw,76px)}
/* story process titles */
.sp-h2{font-family:var(--display);font-weight:700;color:#fff;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.02em;line-height:1.12;margin-top:clamp(8px,1vw,14px)}
.sp-h2 em{font-style:normal;color:#8fb0d6}
.heng .storyband{margin:clamp(26px,3.6vw,44px) calc(50% - 50vw) clamp(6px,1.4vw,16px);
  background:var(--navy-deep);color:#fff;
  background-image:
    radial-gradient(760px 360px at 10% -35%,rgba(61,139,216,.26),transparent 62%),
    radial-gradient(640px 340px at 93% 125%,rgba(61,139,216,.15),transparent 64%);
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10)}
.heng .sb-in{max-width:none;margin:0 auto;padding:clamp(26px,3.6vw,46px) var(--gut)}
.heng .sb-row{list-style:none;display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:clamp(6px,1vw,18px)}
.heng .sb-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.heng .sb-disc{width:clamp(46px,5.4vw,70px);height:clamp(46px,5.4vw,70px);border-radius:50%;
  display:grid;place-items:center;flex:0 0 auto;
  background:rgba(255,255,255,.055);
  border:1.6px solid rgba(255,255,255,.30);
  transition:border-color .18s ease,background .18s ease,transform .18s ease}
.heng .sb-disc svg{width:50%;height:50%;color:#fff}
.heng .sb-item:hover .sb-disc{border-color:var(--blue-lt);background:rgba(61,139,216,.20);transform:translateY(-2px)}
.heng .sb-item.is-red .sb-disc{border-color:#e0574f;background:rgba(224,87,79,.14)}
.heng .sb-item.is-red .sb-disc svg{color:#ff8a82}
.heng .sb-item.is-red:hover .sb-disc{border-color:#ff8a82;background:rgba(224,87,79,.24)}
.heng .sb-lbl{font-family:var(--mono);font-weight:500;
  font-size:clamp(9px,.95vw,12px);letter-spacing:.09em;text-transform:uppercase;
  color:#c3d2e6;line-height:1.35}
.heng .sb-split{display:flex;align-items:center;gap:clamp(12px,1.8vw,22px);margin:clamp(20px,2.8vw,34px) 0}
.heng .sb-split::before, .heng .sb-split::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.16)}
.heng .sb-mark{width:clamp(40px,4.4vw,56px);height:auto;flex:0 0 auto}
@media (max-width:900px){.heng .sb-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,24px) clamp(6px,1.6vw,14px)}}
@media (max-width:520px){.heng .sb-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.heng .sect-k{font-family:var(--mono);font-size:clamp(14px,1.6vw,19px);font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--shirt);display:flex;align-items:center;gap:14px}
.heng .sect-k::after{content:"";flex:1;height:1px;background:var(--rule)}
.heng .boxgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:12px;
  overflow:hidden;margin-top:clamp(14px,2vw,20px)}
.heng .boxgrid .bx{background:var(--mist);padding:clamp(14px,1.8vw,20px)}
.heng .boxgrid .bx.wide{grid-column:1 / -1}
.heng .bx-h{font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(14.5px,1.4vw,17px);letter-spacing:-.015em;line-height:1.2;
  padding-bottom:8px;margin-bottom:9px;border-bottom:2px solid var(--blue)}
.heng .bx.t .bx-h{border-bottom-color:var(--steel)}
.heng .bx.g .bx-h{border-bottom-color:var(--red)}
.heng .bx.n .bx-h{border-bottom-color:var(--navy)}
.heng .boxgrid.wpn{background:transparent;border:0;overflow:visible;
  gap:clamp(10px,1.4vw,15px)}
.heng .boxgrid.wpn .bx{background:#eef4fb;border:1px solid #d5e3f4;border-radius:12px;
  padding:clamp(15px,1.9vw,21px)}
.heng .boxgrid.wpn .bx-h{border-bottom:0;padding-bottom:0;margin-bottom:8px;
  display:flex;align-items:baseline;gap:9px}
.heng .boxgrid.wpn .bx-h::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;
  background:var(--red);transform:translateY(-1px)}
.heng .bx-l{font-size:clamp(13px,1.2vw,14.6px);line-height:1.62;color:var(--ink)}
.heng .bx-l .s{color:var(--muted)}
.heng .bx-p{font-size:clamp(13.5px,1.24vw,15.2px);line-height:1.55;color:var(--ink)}
.heng .bx-p b{color:var(--navy);font-weight:600}
.heng .inside-split{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(14px,2vw,24px);align-items:stretch;margin-top:clamp(14px,2vw,20px)}
.heng .inside-split .rings{margin-top:0;order:2;height:100%;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(12px,1.5vw,18px)}
.heng .inside-split .boxgrid{grid-template-columns:1fr;margin-top:0;order:1}
.heng .inside-split .boxgrid .bx{padding:clamp(11px,1.4vw,16px)}
.heng .inside-split .boxgrid .bx-h{font-size:clamp(14px,1.28vw,15.4px);padding-bottom:6px;margin-bottom:7px}
.heng .inside-split .boxgrid .bx-l{font-size:12.5px;line-height:1.46}
@media (max-width:900px){.heng .inside-split{grid-template-columns:1fr}
.heng .inside-split .rings{order:1}
.heng .inside-split .boxgrid{order:2}}
.heng .rings{margin-top:clamp(14px,2vw,20px);border:1px solid var(--rule);border-radius:12px;background:#fff;padding:clamp(14px,2vw,22px)}
.heng .rings-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.heng .rings-t{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.heng .rings-leg{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.heng .rings-leg span{display:inline-flex;align-items:center;gap:6px}
.heng .rings-leg i{width:9px;height:9px;border-radius:3px;display:inline-block}
.heng .rings svg{width:100%;height:auto;display:block}
.heng .rings-note{font-size:13.4px;line-height:1.55;color:var(--muted);margin-top:11px;max-width:80ch}
.heng .sb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:clamp(12px,1.7vw,20px);margin-top:6px}
.heng .sb-card{display:flex;flex-direction:column;gap:9px;text-decoration:none;cursor:pointer;
  font-family:var(--body);text-align:left;
  background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--blue);
  border-radius:12px;padding:clamp(15px,1.8vw,21px);
  box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.heng .sb-card:hover{transform:translateY(-3px);border-left-color:var(--red);
  box-shadow:0 2px 4px rgba(20,40,75,.07),0 16px 44px rgba(20,40,75,.13)}
.heng .sb-card .sb-k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--steel)}
.heng .sb-card h3{font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(17px,1.65vw,21px);letter-spacing:-.022em;line-height:1.14}
.heng .sb-card p{font-size:13.2px;line-height:1.52;color:var(--muted)}
.heng .sb-card .sb-m{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--faint)}
.heng .sb-card .sb-go{margin-top:auto;padding-top:8px;font-family:var(--mono);font-weight:500;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--blue);
  display:inline-flex;align-items:center;gap:8px}
.heng .sb-card:hover .sb-go{color:var(--red)}
.heng .sb-card .arw{transition:transform .18s ease}
.heng .sb-card:hover .arw{transform:translateX(4px)}
.heng .sb-card.shelf{background:var(--mist-2);border-color:#d5dce7;border-left-color:var(--grey)}
.heng .sb-card.shelf h3{color:var(--navy-deep)}
.heng .sb-card.shelf .sb-k{color:var(--grey)}
.heng .sb-card.shelf .sb-go{color:var(--grey)}
.heng .sb-card.shelf:hover{border-left-color:var(--navy)}
.heng .sb-card.shelf:hover .sb-go{color:var(--navy)}
@media (max-width:760px){.heng .boxgrid{grid-template-columns:1fr}
.heng .boxgrid .bx.wide{grid-column:auto}}
.heng .qbody{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.5;color:var(--ink);max-width:none}
.heng .qbody + .qbody{margin-top:14px}
.heng .dhead + .qbody, .heng .pq + .qbody, .heng .assetline + .qbody{margin-top:clamp(13px,1.4vw,19px)}
.heng .qbody + .dhead, .heng .qbody + .pq, .heng .qbody + .assetline{margin-top:clamp(26px,3.2vw,42px)}
.heng .qbody + .band{margin-top:clamp(20px,2.4vw,30px)}
.heng .split2 .qbody{margin-top:clamp(11px,1.2vw,16px)}
.heng .hsect-intro{padding-top:clamp(60px,7.2vw,112px);padding-bottom:clamp(60px,7.2vw,112px)}
.heng .sb-logo{width:clamp(150px,17vw,246px);height:auto;display:block}
.heng .hsect{padding:clamp(30px,4vw,58px) var(--gut) 0;max-width:1240px;margin-left:auto;margin-right:auto}
.heng .storyband .sb-in{max-width:1240px}
.heng .hsect.last{padding-bottom:clamp(36px,5vw,76px)}
.heng .wp-btn{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:13px 18px;border-radius:3px;text-decoration:none;display:inline-block;background:var(--navy);color:#fff}
.heng .wp-btn:hover{background:var(--navy-mid)}
.heng .storyband{margin-top:clamp(40px,5vw,72px)}
.heng .hs-cta{border-top:1px solid var(--rule);margin-top:0}
.heng .hs-cta-in{max-width:1240px;margin:0 auto;padding:clamp(22px,3vw,40px) var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.heng .hs-cta-h{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(20px,2.3vw,30px);letter-spacing:-.02em;line-height:1.15;max-width:30ch;margin-top:8px}
.heng .hs-cta .wp-btn{background:var(--red)}
.heng .hs-cta .wp-btn:hover{background:#e0574f}
.heng .hc-p{margin-top:clamp(18px,2.2vw,30px);max-width:62ch;font-size:clamp(15.5px,1.45vw,19px);line-height:1.55;color:#dbe6f3;white-space:normal}
.heng .hc-p b{color:#fff;font-weight:600}
.heng .hsect.last{padding-bottom:clamp(22px,2.8vw,36px)}

/* overrides that must follow the ported engine rules */
.heng.heng-band .storyband{margin-top:0;margin-bottom:0;border-top:0}
.heng .sb-logo{width:clamp(150px,17vw,230px);height:auto;display:block}
.heng .hsect.last .qbody{margin-top:12px}

/* ---- round 2: core second block, tighter and smaller ---- */
.clarity{padding-top:clamp(30px,3.6vw,52px);padding-bottom:clamp(28px,3.4vw,48px)}
.clarity .cl-split{margin-top:clamp(20px,2.6vw,34px);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,3.4vw,56px);align-items:center}
.clarity .cl-logo{width:clamp(170px,18vw,240px)}
.clarity .cl-sub{font-size:clamp(15.5px,1.4vw,18.5px);line-height:1.5;margin-top:clamp(12px,1.5vw,18px)}
.clarity .cl-dog{max-width:400px;width:100%;justify-self:end}
.clarity .cl-where{margin-top:clamp(22px,2.8vw,38px)}
@media (max-width:900px){.clarity .cl-dog{justify-self:center}}
/* ---- round 2: Stories & Strategies first block, one navy field ---- */
.smb-hero-plain .smb-hero-in{padding-bottom:0}
.smb-hero-plain .smb-quote{max-width:1120px!important;margin:clamp(14px,1.8vw,24px) auto 0!important;text-align:center!important;text-align-last:center;hyphens:manual;color:#c8d7e8;
  font-size:clamp(15px,1.45vw,19px)!important;line-height:1.5}
.smb-hero-plain .smb-quote b{color:#fff;font-weight:600}
.heng.heng-band .storyband{background:var(--navy-deep);background-image:none;border:0}

/* ================= round 3 ================= */
/* header menu: one size up, more air */
.mn-t{font-size:clamp(14px,1.3vw,18px)}
.mn-s{font-size:clamp(9.5px,.8vw,11px)}
.mast-nav{column-gap:clamp(18px,2.4vw,40px)}
/* core: equal text + dog boxes right under the beat */
.clarity .cl-boxes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(16px,2.2vw,28px);margin-top:clamp(20px,2.6vw,32px)}
.cl-textbox{background:var(--mist);border:1px solid var(--rule);border-radius:14px;padding:clamp(18px,2.4vw,34px);display:flex;align-items:center}
.clarity .cl-textbox .cl-sub{margin:0;font-size:clamp(15.5px,1.4vw,18.5px);line-height:1.55;text-align:left}
.clarity .cl-dog{max-width:none;justify-self:stretch;height:100%}
.clarity .cl-dog img{width:100%;height:100%;object-fit:cover;object-position:right center;aspect-ratio:2/1}
.cl-rule .adv-k{font-size:clamp(11px,1vw,13.5px);color:var(--shirt)}
@media (max-width:900px){.clarity .cl-boxes{grid-template-columns:1fr}}
/* core: Hero logo, one red line, label at the end */
.cl-rule{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);margin:0 0 clamp(16px,2vw,26px)}
.cl-rule-logo{width:clamp(130px,13vw,180px);height:auto;flex:0 0 auto}
.cl-rule-line{flex:1;height:3px;background:#ff7a72;border-radius:2px}
.cl-rule .adv-k{margin:0;white-space:nowrap}
/* Stories & Strategies: boxed quote spanning first icon's edge to last icon's edge */
.heng .sb-qrow{margin:0 0 clamp(26px,3.2vw,40px)}
.heng .sb-quote{margin:0 calc((100% - 7 * clamp(6px,1vw,18px)) / 16 + clamp(46px,5.4vw,70px) / 2);
  border:1px solid rgba(143,176,214,.38);border-radius:12px;background:rgba(255,255,255,.045);
  padding:clamp(14px,1.6vw,22px) clamp(16px,2vw,28px);
  font-family:var(--body);font-style:italic;font-size:clamp(16px,1.6vw,21px);line-height:1.5;color:#c8d7e8;text-align:center}
.heng .sb-quote b{font-style:normal;color:#fff;font-weight:600}
@media (max-width:900px){.heng .sb-quote{margin:0}}
.smb-hero-plain .smb-hero-in{padding-bottom:clamp(18px,2.2vw,30px)}
/* Slingshots title in white + light blue */
.slhero-h em{font-style:normal;color:#8fb0d6}
.heng.heng-band .sb-in{padding-top:clamp(6px,.8vw,12px)}
.smb-hero-plain .smb-hero-in{padding-bottom:clamp(14px,1.8vw,24px)}

/* ================= round 4 ================= */
/* core, first white section */
.clarity .cl-beat{color:var(--navy)}
.clarity .cl-boxes{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(12px,2vw,26px)}
.clarity .cl-textbox{background:none;border:0;border-radius:0;padding:0}
.clarity .cl-textbox .cl-sub{font-size:clamp(16.5px,1.55vw,20.5px);line-height:1.55}
.clarity .cl-dog{border:0;border-radius:0;overflow:visible;background:none}
.clarity .cl-dog img{aspect-ratio:2.6/1;object-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%);
  mask-composite:intersect}
@media (max-width:900px){.clarity .cl-dog img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%)}}
/* stories & strategies quote: same size and place, no box */
.heng .sb-quote{border:0;background:none}
/* slingshots: target graphic left, where-it-lands right */
.sl-rules .sl-top.sl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;text-align:left}
.sl-split .sl-art{display:flex;justify-content:center}
.sl-split .sl-fig{position:relative;margin:0;width:min(100%,460px)}
.sl-split .sl-fig > img{display:block;width:100%;height:auto}
.sl-split .sl-lands-copy{width:auto;margin:0;justify-self:start}
#slingshots .sl-split .caps.row.sl-lands-row{display:grid;grid-template-columns:1fr;gap:12px}
#slingshots .sl-split .sl-lands-row li{max-width:none}
@media (max-width:820px){.sl-rules .sl-top.sl-split{grid-template-columns:1fr}}
/* lab of big swings: copy left, boy right */
.lab-hd.lab-hd-flip{grid-template-columns:minmax(0,1fr) clamp(118px,13vw,180px);max-width:1240px}
.lab-hd-flip .lab-hd-copy{order:1;text-align:left}
.lab-hd-flip .lab-hd-art{order:2;justify-content:flex-end}
/* our story: the "who" card has the row to itself now */
.who-grid{grid-template-columns:1fr}
.clarity .cl-dog{height:auto;align-self:center}
.clarity .cl-dog img{height:auto!important}
.clarity .cl-boxes{align-items:center}
.clarity .cl-dog{aspect-ratio:auto}
.sl-split .sl-fig{flex-direction:column;align-items:stretch}
.sl-split .sl-fig .who-credit{position:static;align-self:flex-end;margin-top:6px}

/* ================= round 5 ================= */
.dv-nav p{font-size:clamp(16px,1.56vw,20px);text-wrap:balance}
.sl-rules .sl-top.sl-split-flip{gap:clamp(40px,7vw,120px)}
.sl-split-flip .sl-lands-copy{order:1;justify-self:end}
.sl-split-flip .sl-art{order:2;justify-content:flex-start}
@media (max-width:820px){.sl-split-flip .sl-lands-copy{justify-self:start}}

/* ================= round 6 ================= */
.sl-split-flip .sl-lands-copy{justify-self:start;margin-left:var(--sl-x,0px)}
#slingshots .sl-split .sl-lands-row{padding-left:.9em}
#slingshots .sl-split .sl-lands-row li{font-size:clamp(16.5px,1.45vw,20px)}


/* ---- core: two lenses (risk / opportunity) + slingshots strip ---- */
.cl-lead{display:block;color:var(--navy);margin-bottom:.45em}
.cl-lenses{max-width:1240px;margin:clamp(30px,4vw,54px) auto 0}
.cl-lens-k{font-family:var(--mono);font-size:clamp(11px,1vw,13.5px);letter-spacing:.14em;text-transform:uppercase;color:var(--shirt);text-align:center;margin-bottom:clamp(14px,1.8vw,22px)}
.cl-lens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.cl-lens{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--navy);border-radius:10px;padding:clamp(18px,2.2vw,30px)}
.cl-lens-opp{border-top-color:var(--red)}
.cl-lens-tag{font-family:var(--mono);font-size:clamp(11px,.95vw,12.5px);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--navy)}
.cl-lens-opp .cl-lens-tag{color:var(--red)}
.cl-lens h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(21px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em;margin:.35em 0 .15em}
.cl-lens h3 em{font-style:normal;color:var(--navy)}
.cl-lens-opp h3 em{color:var(--red)}
.cl-lens .cl-lens-sub{font-weight:600;color:var(--muted);font-size:clamp(14px,1.25vw,16px);margin:0 0 .7em}
.cl-lens p{color:var(--ink);font-size:clamp(15px,1.4vw,17.5px);line-height:1.55;margin:0}
.cl-sling{max-width:1240px;margin:clamp(22px,2.8vw,36px) auto 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,28px);
  padding:clamp(14px,1.6vw,20px) clamp(16px,2vw,26px);background:var(--navy);color:#fff;border-radius:10px;text-decoration:none}
.cl-sling-k{font-family:var(--display);font-weight:700;color:var(--red-soft);font-size:clamp(17px,1.7vw,22px)}
.cl-sling-t{font-size:clamp(14.5px,1.3vw,17px);line-height:1.5;color:#dfe7f2}
.cl-sling-go{font-family:var(--mono);font-size:clamp(11px,1vw,13px);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#8fb0d6}
.cl-sling:hover .cl-sling-go{color:#fff}
@media (max-width:760px){
  .cl-lens-grid{grid-template-columns:1fr}
  .cl-sling{grid-template-columns:1fr;gap:6px}
}
@media (max-width:640px){ #clarity .cl-boxes{grid-template-columns:1fr!important} #clarity .cl-dog{order:-1} }

/* ---- Stories & Strategies: Hero Story Engine header (rev 4) ---- */
.heng .hsect.uh .qbody{margin-top:12px}
.smb-h.hse-title{display:block}
.heng .hse-mark{float:left;display:block;height:calc(3lh - 10px);width:auto;margin:5px 14px 0 0}
.heng.heng-band .sb-disc{width:clamp(34px,3.3vw,42px);height:clamp(34px,3.3vw,42px)}
.heng.heng-band .sb-item{gap:8px}
.smb-hero-plain .hse-top{text-align:center}
.heng .sb-split.hse-split{container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,50%);
  align-items:center;gap:0;margin:clamp(22px,3vw,38px) 0;padding:0;border:0}
.heng .sb-split.hse-split::before,.heng .sb-split.hse-split::after{content:none}
.heng .hse-art{display:block;width:100%;max-width:none;height:auto;position:relative;z-index:0}
.heng .hse-p{position:relative;z-index:1;margin:0;padding-left:clamp(14px,2.2cqw,28px);
  font-family:var(--body);font-size:clamp(14px,1.4cqw,16.5px);line-height:1.55;color:#c8d7e8;
  text-align:justify;text-justify:inter-word;hyphens:none}
.heng .hse-p b{color:#fff;font-weight:600}
@media (max-width:720px){
  .heng .sb-split.hse-split{grid-template-columns:1fr;gap:14px}
  .heng .hse-art{width:100%}
  .heng .hse-p{padding-left:0;font-size:16px;text-align:left}
  .heng .hse-mark{margin:4px 12px 0 0}
}

@media (min-width:721px){#clarity .cl-boxes.cl-split{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important}}
@media (max-width:720px){#clarity .cl-textbox{flex-direction:column;align-items:flex-start;gap:18px}}
/* ---- Core: tighter first white section + Investigate/Evaluate/Act ladder (rev 5) ---- */
#driven{padding-bottom:clamp(18px,2.4vw,32px)}
#clarity{padding-top:clamp(28px,3.2vw,40px)}
#clarity .cl-textbox{display:flex;align-items:center;gap:clamp(20px,2.6vw,36px)}
.iea{list-style:none;margin:0;padding:22px 0 0 26px;position:relative;flex:0 0 auto;
  display:flex;flex-direction:column;gap:clamp(18px,2vw,24px)}
.iea::before{content:"";position:absolute;left:5px;top:6px;bottom:9px;width:2px;border-radius:2px;
  background:linear-gradient(to top,var(--steel,#3f7fa5),var(--red,#e35d55))}
.iea::after{content:"";position:absolute;left:0;top:-2px;width:0;height:0;
  border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--red,#e35d55)}
.iea li{position:relative;font-family:var(--display);font-weight:600;font-size:clamp(14px,1.25vw,16.5px);
  letter-spacing:.06em;text-transform:uppercase;color:var(--navy);line-height:1}
.iea li::before{content:"";position:absolute;left:-25px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;
  background:#fff;border:2px solid var(--steel,#3f7fa5);box-sizing:border-box}
.iea li.iea-act{color:var(--red,#e35d55)}
.iea li.iea-act::before{background:var(--red,#e35d55);border-color:var(--red,#e35d55)}

/* ---- Core: value-streams quote (rev 6) ---- */
.cl-quote{max-width:62em;margin:clamp(10px,1.3vw,16px) auto clamp(18px,2.4vw,30px);text-align:center;text-wrap:balance;
  font-family:var(--body);font-style:italic;font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:var(--muted,#5b6b82)}
.cl-quote b{font-style:normal;font-weight:600;color:var(--navy)}

.cl-vs{background:var(--navy-deep,#0d1e3a);border-radius:14px;padding:clamp(22px,2.8vw,36px) clamp(20px,4vw,64px);margin-bottom:clamp(16px,2vw,24px)}
.cl-vs .cl-lens-k{color:#8fb0d6}
.cl-vs .cl-quote{margin:clamp(10px,1.3vw,16px) auto 0;color:#c8d7e8}
.cl-vs .cl-quote b{color:#fff}

.cl-vs .cl-lens-k{display:flex;align-items:center;gap:clamp(12px,1.8vw,24px);
  font-size:clamp(17px,2vw,26px);font-weight:600;letter-spacing:.14em;line-height:1.25;color:#fff;text-align:center;margin:0}
.cl-vs .cl-lens-k::before,.cl-vs .cl-lens-k::after{content:"";flex:1;min-width:24px;height:0;border-top:2px dashed var(--red,#e35d55)}

/* ---- Core: lenses under "Where we look", smaller (rev 7) ---- */
.cl-where .cl-lens-grid{margin-bottom:clamp(12px,1.6vw,20px)}
.cl-where .cl-lens{padding:clamp(14px,1.7vw,22px) clamp(16px,2vw,26px);border-top-width:3px}
.cl-where .cl-lens h3{font-size:clamp(18px,1.75vw,23px);margin:.3em 0 .1em}
.cl-where .cl-lens .cl-lens-sub{font-size:clamp(13px,1.1vw,14.5px);margin:0 0 .55em}
.cl-where .cl-lens p{font-size:clamp(14px,1.25vw,16px);line-height:1.5}
.cl-where .cl-lens-tag{font-size:clamp(10.5px,.9vw,11.5px)}
.cl-vs{margin-bottom:0}

/* ---- Core: Critical Stories re-layout (rev 8) ---- */
.crit-tag.crit-tag-pp{font-style:normal}
.crit-story2{padding:clamp(28px,3.6vw,48px) var(--gut) clamp(32px,4vw,56px)}
.crit-story2 .crit-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(20px,3.4vw,56px);align-items:center}
.crit-story2 .crit-art{display:flex;justify-content:center}
.crit-story2 .crit-art img{display:block;width:100%;max-width:520px;height:auto}
.crit-vennbox{display:flex;flex-direction:column;align-items:center;text-align:center}
.crit-venn-h{font-family:var(--display);font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1.15;
  font-size:clamp(20px,2.2vw,30px);margin:0 0 clamp(6px,1vw,12px)}
.crit-story2 .crit-venn{width:100%;max-width:440px;height:auto;display:block;margin:0 auto}
.crit-value{max-width:1240px;margin:clamp(26px,3.4vw,46px) auto 0;
  text-align:center;display:flex;flex-direction:column;align-items:center}
.crit-value .crit-cta-h{margin:0;text-align:center}
.crit-value-p{max-width:none;text-wrap:balance;margin:clamp(10px,1.3vw,16px) auto 0;font-size:clamp(15.5px,1.4vw,18.5px);line-height:1.55;color:var(--ink)}
.crit-value .crit-cta-wrap{margin-top:clamp(16px,2vw,24px)!important;padding-top:0!important;display:flex;flex-direction:column;align-items:center}
.crit-value .crit-cta-k{justify-content:center}
.crit-value .crit-cta{justify-content:center}
@media (max-width:720px){.crit-story2 .crit-row{grid-template-columns:1fr}}

/* ---- rev 9: lens tags + navy outlines, bigger assessment buttons ---- */
.cl-where .cl-lens{border:2px solid var(--navy);border-top-width:2px;border-top-color:var(--navy)}
.cl-where .cl-lens-tag{font-size:clamp(11px,.95vw,12.5px);color:var(--ink)}
.cl-where .cl-lens-risk .cl-tag-k{color:var(--red)}
.cl-where .cl-lens-opp .cl-tag-k{color:#2e8f4e}
.cl-where .cl-tag-sep{color:var(--ink);margin:0 .15em}
.cl-where .cl-tag-s{color:#111;font-family:var(--body);font-weight:600;font-size:1.22em;letter-spacing:0;text-transform:none}
.cl-where .cl-lens h3{margin-top:.4em}
.crit-value .crit-btn{font-size:clamp(14.5px,1.35vw,18px);padding:clamp(11px,1.2vw,15px) clamp(20px,2.2vw,30px)}

/* ---- Our Story: no box, lead under Big Swings (rev 10) ---- */
#story .who-copy{border:0;border-radius:0;background:none;padding:0;box-shadow:none}
#story .who-block{padding-top:clamp(28px,3.4vw,44px)}
#story .sw-head .sw-lead{margin-top:clamp(10px,1.3vw,16px);font-size:clamp(17px,1.5vw,21px);line-height:1.5}

/* ---- Story Engine: Story Building head (rev 11) ---- */
.sp-head .sp-sub{font-family:var(--display);font-weight:600;color:#dbe6f3;letter-spacing:-.015em;line-height:1.2;
  font-size:clamp(18px,2vw,27px);margin:clamp(8px,1vw,12px) 0 clamp(14px,1.8vw,22px);text-align:center}
.sp-head .sp-sub em{font-style:normal;color:#8fb0d6}


/* ==== C2 edits (Oct 13 2026): Where-we-look box, Heroic Services ==== */
#clarity .cl-boxes.cl-split{align-items:center}
#clarity .cl-textbox{display:block}
#clarity .cl-where{margin-top:clamp(30px,4vw,52px)}
/* C2.9 cards now live in the navy box: three columns, red dotted separators */
#clarity .cl-vs-where{padding:clamp(20px,2.6vw,34px) clamp(18px,2.6vw,36px)}
#clarity .cl-vs-where .adv-where3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
#clarity .cl-vs-where .wcard{background:none;border:0;border-radius:0;padding:4px clamp(16px,2.2vw,30px)}
#clarity .cl-vs-where .wcard + .wcard{border-left:2px dashed var(--red-soft,#ff7a72)}
#clarity .cl-vs-where .wcard:first-child{padding-left:0}
#clarity .cl-vs-where .wcard:last-child{padding-right:0}
#clarity .cl-vs-where .wcard h4{color:#fff;font-size:clamp(17px,1.75vw,22px)}
#clarity .cl-vs-where .wcard p{color:#fff;opacity:.9;font-size:clamp(14px,1.3vw,16px)}
/* Heroic Services */
#clarity .cl-svc{max-width:1240px;margin:clamp(40px,5vw,68px) auto 0}
#clarity .cl-svc-k{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);margin-bottom:clamp(18px,2.4vw,30px)}
#clarity .cl-svc-k .adv-k{margin:0;white-space:nowrap;font-size:clamp(13px,1.2vw,16px);font-weight:600;color:var(--navy)}
#clarity .cl-svc-k .cl-rule-line{flex:1;height:3px;background:#ff7a72;border-radius:2px}
#clarity .cl-svc-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,3vw,44px);align-items:center}
#clarity .cl-svc-steps{gap:clamp(22px,2.6vw,34px);padding-left:30px}
#clarity .cl-svc-steps li{text-transform:none;letter-spacing:0;line-height:1.3}
#clarity .cl-svc-steps li b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(17px,1.7vw,22px);letter-spacing:.06em;text-transform:uppercase}
#clarity .cl-svc-steps li p{font-family:var(--body);font-weight:400;font-size:clamp(14.5px,1.3vw,17px);line-height:1.5;color:var(--ink);margin-top:6px;max-width:42ch}
#clarity .cl-svc-steps li::before{left:-29px;top:.55em;margin-top:-5px}
#clarity .cl-rings{border:1px solid var(--rule);border-radius:12px;background:#fff;padding:clamp(14px,2vw,22px)}
#clarity .cl-rings .rings-h{display:flex;margin-bottom:10px}
#clarity .cl-rings .rings-leg{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
#clarity .cl-rings .rings-leg span{display:inline-flex;align-items:center;gap:6px}
#clarity .cl-rings .rings-leg i{width:9px;height:9px;border-radius:3px;display:inline-block}
#clarity .cl-rings svg{width:100%;height:auto;display:block}
@media (max-width:820px){
  #clarity .cl-vs-where .adv-where3{grid-template-columns:1fr}
  #clarity .cl-vs-where .wcard{padding:14px 0}
  #clarity .cl-vs-where .wcard + .wcard{border-left:0;border-top:2px dashed var(--red-soft,#ff7a72)}
  #clarity .cl-svc-grid{grid-template-columns:1fr}
}


/* ==== C2 round 2: no headline, Where-we-look block first ==== */
#clarity .cl-where.cl-where-top{margin-top:0}
#clarity .cl-where-top + .cl-boxes{margin-top:clamp(30px,4vw,52px)}


/* ==== C2 round 3: boxed intro text, softer image, navy box below ==== */
#clarity .cl-where-top .cl-rule{margin-bottom:0}
#clarity .cl-where-top + .cl-boxes{margin-top:clamp(24px,3vw,40px)}
#clarity .cl-boxes.cl-split{align-items:stretch}
#clarity .cl-textbox.cl-textcard{display:flex;align-items:center;background:var(--mist);border:1px solid var(--rule);
  border-radius:14px;padding:clamp(20px,2.6vw,34px) clamp(22px,2.8vw,38px)}
#clarity .cl-textcard .cl-sub{margin:0;max-width:none;text-align:left;text-wrap:balance;font-size:clamp(16.5px,1.71vw,21.5px);line-height:1.5}
#clarity .cl-dog{align-self:center}
#clarity .cl-dog img{opacity:.82;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to bottom,transparent 0,#000 14%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to bottom,transparent 0,#000 14%,#000 84%,transparent 100%);
  mask-composite:intersect}
#clarity .cl-where-box{margin-top:clamp(24px,3vw,40px)}
@media (max-width:720px){
  #clarity .cl-dog img{opacity:.9;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 86%,transparent 100%)}
}


/* ==== Changes.docx round (Oct 13) ==== */
/* 1. C2 intro: no box */
#clarity .cl-textbox.cl-textplain{background:none;border:0;border-radius:0;padding:0}

/* 2. Critical Teams, Communities, & Stories: taller navy band, text + Venn side by side */
.crit-hero2 .crit-in{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(30px,3.6vw,48px)}
.crit-hero2 .crit-h{max-width:none}
.crit-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;
  margin-top:clamp(30px,4vw,56px)}
.crit-two .crit-sub2{text-align:left;margin:0;max-width:none;font-size:clamp(16px,1.6vw,21px);line-height:1.55}
.crit-venn-dark .crit-venn{width:100%;max-width:440px;margin:0 auto}
.crit-venn-dark .venn-set circle{fill:rgba(143,176,214,.10);stroke:rgba(159,192,228,.55);stroke-width:1.5;mix-blend-mode:normal}
.crit-venn-dark .venn-l{fill:#fff}
.crit-venn-dark .venn-c{fill:#ff7a72}
.crit-hero2 .crit-sectors{margin-top:clamp(48px,6vw,88px)}
@media (max-width:820px){ .crit-two{grid-template-columns:1fr} .crit-venn-dark .crit-venn{max-width:340px} }

/* 3. Slingshots intro on the Core page (white) */
.core-sling{padding:clamp(48px,6vw,84px) var(--gut) clamp(52px,6.4vw,90px)}
.core-sling .cs-head{display:flex;align-items:center;gap:clamp(22px,3.4vw,52px)}
.core-sling .cs-mark{flex:0 0 auto;width:clamp(120px,15vw,200px)}
.core-sling .cs-mark svg{width:100%;height:auto;display:block}
.core-sling .cs-h{font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(28px,4.4vw,56px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.core-sling .cs-h em{font-style:normal;color:var(--blue)}
.core-sling .cs-p{font-size:clamp(15.5px,1.45vw,19.5px);line-height:1.55;color:var(--ink);max-width:70ch;margin-top:clamp(12px,1.4vw,18px)}
.core-sling .cs-p b{color:var(--navy);font-weight:600}
.core-sling .cs-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;
  margin-top:clamp(36px,4.6vw,64px)}
.core-sling .cs-art{display:flex;justify-content:center}
.core-sling .cs-fig{width:min(100%,400px);margin:0;flex-direction:column;align-items:stretch}
.core-sling .cs-fig .who-credit{position:static;align-self:flex-end;margin-top:6px}
.core-sling .cs-lands{border-top:1px solid #ffb3ad;border-bottom:1px solid #ffb3ad;padding:clamp(16px,2vw,24px) 0;justify-self:start}
.core-sling .cs-lands-list{grid-template-columns:1fr;gap:12px;margin-top:clamp(12px,1.4vw,16px);padding-left:.9em}
.core-sling .cs-lands-list li{font-size:clamp(16.5px,1.45vw,20px)}
@media (max-width:820px){
  .core-sling .cs-head{flex-direction:column;align-items:flex-start}
  .core-sling .cs-row{grid-template-columns:1fr}
}


/* ==== Changes.docx round 2 (Oct 13) ==== */
/* 1. Critical: tighter navy band, bigger Venn + text, red pills under the text */
.crit-hero2 .crit-in{padding-top:clamp(30px,3.6vw,52px);padding-bottom:clamp(24px,3vw,40px)}
.crit-hero2 .crit-two{margin-top:clamp(18px,2.4vw,32px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(20px,3vw,48px)}
.crit-two .crit-sub2{font-size:clamp(17px,1.85vw,24px);line-height:1.5}
.crit-venn-dark .crit-venn{max-width:540px}
.crit-hero2 .crit-sectors{margin-top:clamp(24px,3vw,40px)}
.crit-assess{margin-top:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;align-items:center;text-align:center}
.crit-assess-k{font-family:var(--display);font-weight:700;font-size:clamp(13px,1.2vw,15px);letter-spacing:.06em;text-transform:uppercase;color:#9ec4ea}
.crit-assess-pills{display:flex;flex-wrap:nowrap;justify-content:center;gap:clamp(10px,1.2vw,16px);margin-top:12px}
.crit-btn.crit-btn-red{background:#ff7a72;color:var(--navy-deep);font-size:clamp(13.5px,1.25vw,16.5px)}
.crit-btn.crit-btn-red:hover{background:#fff;color:var(--navy-deep)}
@media (max-width:480px){ .crit-assess-pills{flex-wrap:wrap} }

/* 2. Core Slingshots: one-line title, bigger logo, body text matched to logo height, lands box left from logo centre */
.core-sling{--logo:clamp(150px,19vw,236px)}
.core-sling .cs-h{white-space:nowrap;font-size:clamp(22px,4.15vw,52px);text-wrap:nowrap}
.core-sling .cs-head{margin-top:clamp(20px,2.6vw,34px);align-items:stretch;gap:clamp(24px,3.6vw,52px)}
.core-sling .cs-mark{width:var(--logo)}
.core-sling .cs-mark svg{margin-top:calc(var(--logo) * -0.06)}
.core-sling .cs-p{margin:0;max-width:22.5em;text-wrap:balance;align-self:center;font-size:clamp(16.5px,1.9vw,24px);line-height:1.6}
.core-sling .cs-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:clamp(30px,4vw,56px)}
.core-sling .cs-lands{margin-left:calc(var(--logo) / 2)}
.core-sling .cs-art{justify-content:center}
.core-sling .cs-fig{width:min(100%,380px);margin-right:6%}
@media (max-width:820px){
  .crit-hero2 .crit-two{grid-template-columns:1fr}
  .crit-venn-dark .crit-venn{max-width:360px}
  .core-sling .cs-row{grid-template-columns:1fr}
  .core-sling .cs-head{flex-direction:column;align-items:flex-start}
  .core-sling .cs-p{max-width:none;align-self:auto}
  .core-sling .cs-h{white-space:normal;text-wrap:balance}
  .core-sling .cs-lands{margin-left:0}
.core-sling .cs-lands-list li{font-size:clamp(16px,1.42vw,19px)}
  .core-sling .cs-art{justify-content:center}
}


/* ==== Core Slingshots polish (Oct 13) ====
   indent = half the logo width, so everything lines up on the logo's centre line:
   - "Where a Slingshot lands" starts at that indent on the left
   - the slingshot graphic (incl. its target) ends at the same indent on the right
   - the body text ends at that same right edge */
.core-sling .cs-h{text-align:center}
.core-sling .cs-head{padding-right:calc(var(--logo) / 2)}
.core-sling .cs-p{max-width:none;text-wrap:pretty;font-size:clamp(17px,2.03vw,26px);line-height:1.8;flex:1 1 auto}
.core-sling .cs-row{grid-template-columns:auto minmax(0,1fr);gap:clamp(22px,2.4vw,32px);
  margin-left:calc(var(--logo) / 2);margin-right:calc(var(--logo) / 2)}
.core-sling .cs-lands{margin-left:0}
.core-sling .cs-art{justify-content:flex-end}
/* the target pokes out ~10.8% past the figure box, so pull the figure in by that much */
.core-sling .cs-fig{width:min(90.25%,470px);margin-right:min(9.75%,51px)}
@media (max-width:820px){
  .core-sling .cs-head{padding-right:0;align-items:center}
  .core-sling .cs-mark{align-self:center}
  .core-sling .cs-p{font-size:clamp(16px,4.2vw,19px);line-height:1.6}
  .core-sling .cs-row{grid-template-columns:1fr;margin-left:0;margin-right:0}
  .core-sling .cs-art{justify-content:center}
  .core-sling .cs-fig{width:min(88%,420px);margin-right:9%}
}


/* ---- Oct 14 2026: new Heroic logo in the masthead ---- */
.mast{--markW:clamp(150px,15vw,210px)}
.mast-mark{width:var(--markW)}
.mast-id{transform:translate(calc(var(--artW) * .42), calc(var(--artH) * -.04));margin-top:0}
.mast-sup{margin-top:clamp(9px,1vw,14px);padding-left:calc(var(--markW) * .02)}
.cl-rule-logo{width:clamp(140px,14vw,196px)}
@media (max-width:620px){.mast{--markW:min(46vw,170px)}.mast-sup{white-space:normal}}


/* ---- Oct 14 2026: Core opening tightened; Understand Risk block ---- */
.driven-in{padding-top:clamp(34px,4.4vw,64px)}
.driven .dv-h{margin-top:0}
.hse-title .ur-red{color:var(--red-soft)}
:is(#core,#core-more,#bigswing) .smb-hero-plain .hse-top{padding-top:clamp(26px,3.2vw,44px)}

/* ---- Oct 14 2026 (r2): Core story band — icons, dog + text, closing line ---- */
.heng-core .sb-in{padding-top:clamp(14px,1.8vw,26px)!important;padding-bottom:clamp(34px,4.2vw,60px)}
.heng-core .sb-split.hse-split{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);margin:clamp(26px,3.4vw,46px) 0 clamp(20px,2.6vw,34px)}
.heng-core .hse-art{width:146%;margin:-8% 0 -8% -46%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 84%,transparent 100%);
  mask-composite:intersect}
.heng-core .hse-p{font-size:clamp(16px,1.75cqw,20px);line-height:1.6;text-align:left;padding-left:clamp(10px,1.6cqw,22px)}
.heng-core .hse-close{text-align:center;padding-top:clamp(6px,1vw,14px)}
@media (max-width:760px){
  .heng-core .sb-split.hse-split{grid-template-columns:1fr;gap:18px}
  .heng-core .hse-art{width:calc(100% + 2*var(--gut));margin:-2% calc(-1*var(--gut))}
  .heng-core .hse-p{font-size:17px}
}

/* ---- Oct 14 2026 (r3) ---- */
/* header: logo out one step left, menu one step right (only where there is room) */
.mast{margin-inline:calc(-1 * clamp(0px, (100vw - 1240px) / 2, 80px))}
/* story icons sit just above the stories graphic so they show on first view */
.driven .dv-icons{background:none;margin:clamp(24px,3vw,38px) 0 clamp(4px,.8vw,10px)}
.driven .dv-icons .sb-row{margin:0;padding:0}
@media (max-width:520px){.driven .dv-icons .sb-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 4px}.driven .dv-icons .sb-lbl{font-size:8.5px;letter-spacing:.06em}}
/* closing line: one line lower */
.heng-core .hse-close{padding-top:clamp(30px,3.8vw,54px)}
/* Hero Story Engine text: justified, one size up; left edge set by script to the period in "Risk." */
.heng-core .hse-p{text-align:justify;text-justify:inter-word;hyphens:auto;font-size:clamp(17px,1.9cqw,21.5px);padding-left:0}
.heng-core .hse-mark{height:calc(3lh - 22px);margin:8px 12px 0 0}
.heng-core .sb-split.hse-split{gap:0;margin-top:clamp(6px,1vw,16px)}
@media (max-width:760px){.heng-core .hse-p{text-align:left;hyphens:manual;font-size:17.5px}}

/* ---- Oct 14 2026 (r4): icons directly above the dog + Story Engine text ---- */
.heng-core .hse-icons{margin:clamp(6px,1vw,14px) 0 clamp(18px,2.4vw,32px)}
.heng-core .hse-icons .sb-row{margin:0;padding:0}
@media (max-width:520px){.heng-core .hse-icons .sb-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 4px}.heng-core .hse-icons .sb-lbl{font-size:8.5px;letter-spacing:.06em}}

/* ---- Oct 14 2026 (r5): icon row up one line, icons + labels 10% larger; nothing else moves ---- */
.heng-core .hse-icons{position:relative;top:-1.9em;font-size:16px;
  margin-bottom:calc(clamp(18px,2.4vw,32px) - (.1 * clamp(34px,3.3vw,42px) + .27 * clamp(9px,.95vw,12px)))}
.heng.heng-core .hse-icons .sb-disc{width:clamp(37.4px,3.63vw,46.2px);height:clamp(37.4px,3.63vw,46.2px)}
.heng-core .hse-icons .sb-lbl{font-size:clamp(9.9px,1.045vw,13.2px)}
@media (max-width:520px){
  .heng-core .hse-icons{margin-bottom:calc(clamp(18px,2.4vw,32px) - 2 * (3.4px + .27 * 8.5px))}
  .heng-core .hse-icons .sb-lbl{font-size:9.35px}
}

/* ---- Oct 14 2026 experiment: dog in the opening graphic ---- */
.dv-fig .dv-dog{opacity:.55}
/* centre the opening graphic: its right edge stops as far in from the screen edge as its first lines start on the left */


/* ==== Oct 14 2026 (V13) ==== */
/* header: logo alone, aligned to the page edge */
.mast-id{transform:none!important;margin:0!important}
/* story icons: reference design (icon beside a two-line label, thin rule above), eight across */
.dv-types8{grid-template-columns:repeat(8,minmax(0,1fr))}
.dv-types8 li svg{color:#9fc0e4}
.dv-types8 li.t-blue svg{color:var(--blue-lt)}
.dv-types8 li.t-red svg{color:#e0574f}
@media (max-width:1080px){.dv-types8{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.dv-types8{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* closing line under the graphic ends the navy block */
.dv-close{max-width:1240px;margin:0 auto;padding:clamp(34px,4.4vw,60px) var(--gut) clamp(8px,1.2vw,16px);text-align:center}
.dv-close .hse-title .ur-red{color:var(--red-soft)}
/* white section: boy + dog left, text right */
#clarity .cl-boxes.cl-kidrow{grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:clamp(28px,4.4vw,64px);margin-top:clamp(14px,1.8vw,24px)}
#clarity .cl-kid{margin:0 0 0 clamp(0px,2vw,30px);justify-self:start}
#clarity .cl-kid img{display:block;width:clamp(180px,18vw,250px);height:auto}
#clarity .cl-kidrow .cl-sub{text-align:left;font-size:clamp(17px,1.75vw,22.5px);line-height:1.6}
#clarity .cl-inl-hero{display:inline-block;height:1.75em;width:auto;vertical-align:-.42em;margin:0 .06em}
@media (max-width:720px){#clarity .cl-boxes.cl-kidrow{grid-template-columns:1fr!important}#clarity .cl-kid{order:-1;justify-self:center;margin:0}}

/* ==== Oct 14 2026 (V14): white section widened to the header's edges ==== */
#clarity .cl-where-top,#clarity .cl-kidrow,#clarity .cl-svc{
  max-width:none;margin-left:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px));margin-right:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px))}
#clarity .cl-svc{margin-top:clamp(40px,5vw,68px)}
/* "Where we look" styled like "Heroic Services" */
#clarity .cl-rule .adv-k{font-size:clamp(13px,1.2vw,16px);font-weight:600;color:var(--navy)}
/* boy + dog start in line with the logo above */
#clarity .cl-kid{margin:0!important;justify-self:start}
/* body text: two sizes up, justified; centred under the red line by script */
#clarity .cl-kidrow .cl-sub{font-size:clamp(19px,1.9vw,24.5px);line-height:1.6;text-align:justify;text-justify:inter-word;margin:0}
#clarity .cl-kidrow .cl-textbox{display:block}
@media (max-width:720px){#clarity .cl-kidrow .cl-sub{font-size:19px}}

/* ==== Oct 14 2026 (V15): title moves into the white section ==== */
.driven{padding-bottom:clamp(40px,5vw,72px)}
@media (min-width:721px){#clarity .cl-boxes.cl-kidrow{grid-template-columns:minmax(0,1fr) minmax(0,2fr)!important;align-items:start}}
#clarity .cl-kid img{width:clamp(220px,24vw,340px)}
#clarity .cl-urso{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.1;
  font-size:clamp(24px,2.7vw,38px);color:var(--navy);text-align:center;margin:0;white-space:nowrap}
#clarity .cl-urso .u-red{color:var(--red,#e35d55)}
#clarity .cl-kidrow .cl-sub{hyphens:auto;-webkit-hyphens:auto}
#clarity .cl-urso .u-blue{color:#8fb0d6}
#clarity .cl-urso-rule{display:block;height:2px;background:#ff7a72;border-radius:2px;margin:clamp(14px,1.6vw,22px) 0 clamp(16px,1.9vw,26px)}
@media (max-width:720px){#clarity .cl-urso{white-space:normal}#clarity .cl-kidrow .cl-sub{text-align:left}#clarity .cl-kid img{width:min(70vw,280px)}#clarity .cl-kid{justify-self:center}}

/* ==== Oct 14 2026 (V16): bigger title, no rule, text one line in from each side ==== */
#clarity .cl-urso{font-size:clamp(28px,3.4vw,48px);width:max-content;margin-left:50%;transform:translateX(-50%)}
#clarity .cl-kidrow .cl-sub{margin-top:clamp(12px,1.4vw,20px)}
@media (max-width:720px){#clarity .cl-urso{width:auto;margin-left:0;transform:none}}

/* ==== Oct 14 2026 (V18): Critical section widened to the same edges as the sections above ==== */
.crit-hero2 .crit-in{max-width:calc(1240px + 2 * clamp(0px,(100vw - 1240px) / 2,80px))}
.crit-hero2 .crit-two{grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,4.4vw,72px)}
.crit-hero2 .crit-two .crit-sub2{font-size:clamp(18px,2vw,26.5px);line-height:1.5}
.crit-hero2 .crit-venn-dark{justify-self:end}
.crit-hero2 .crit-venn-dark .crit-venn{width:clamp(300px,33vw,470px);max-width:none;margin:0 0 0 auto}
@media (max-width:820px){.crit-hero2 .crit-two{grid-template-columns:1fr}.crit-hero2 .crit-venn-dark{justify-self:center}.crit-hero2 .crit-venn-dark .crit-venn{width:min(80vw,340px);margin:0 auto}}

/* ==== Oct 14 2026 (V19) ==== */
/* first white section: network + dog picture in the old boy-and-dog slot */
#clarity .cl-net img{object-fit:cover;object-position:96% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-composite:intersect}
@media (max-width:720px){#clarity .cl-net img{width:100%!important;height:auto!important;-webkit-mask-image:none;mask-image:none}}
/* Slingshot section: same outer edges as the sections above */
.core-sling{margin-left:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px));margin-right:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px))}
.core-sling .cs-head{padding-right:0}
.core-sling .cs-row.cs-row-kid{grid-template-columns:var(--logo) minmax(0,1fr);gap:clamp(24px,3.6vw,52px);margin:clamp(30px,4vw,56px) 0 0;align-items:center}
.core-sling .cs-kid{margin:0;justify-self:center}
.core-sling .cs-kid img{display:block;height:clamp(230px,22.4vw,313px);width:auto}
.core-sling .cs-row-kid .cs-lands{justify-self:center;margin:0}
@media (max-width:820px){
  .core-sling .cs-row.cs-row-kid{grid-template-columns:1fr}
  .core-sling .cs-kid img{height:auto;width:min(70vw,260px)}
}

/* ==== Oct 14 2026 (V20) ==== */
/* network picture: more of the people, reaching toward the page edge */
#clarity .cl-net img{object-position:87% 50%}
/* Heroic Services one line closer */
#clarity .cl-svc{margin-top:clamp(10px,1.6vw,30px)}
/* Who we serve: rule with the label at its end, then the strip on white */
#clarity .cl-serve{margin:clamp(40px,5vw,68px) calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px)) 0}
#clarity .cl-serve-k{margin-bottom:clamp(16px,2vw,24px)}
#clarity .cl-serve .pdline{color:var(--navy);text-align:center;font-size:clamp(17px,1.9vw,24px)}
#clarity .cl-serve .pdline span{color:var(--red)}
#clarity .cl-serve-grid{grid-template-columns:repeat(7,minmax(0,1fr));margin-top:clamp(18px,2.4vw,30px)}
#clarity .cl-serve-grid li{border-top:1px solid var(--rule)}
#clarity .cl-serve-grid svg{color:var(--navy)}
#clarity .cl-serve-grid li:nth-child(2) svg,#clarity .cl-serve-grid li:nth-child(6) svg{color:var(--blue)}
#clarity .cl-serve-grid li:nth-child(4) svg{color:var(--navy)}
#clarity .cl-serve-grid li:nth-child(7) svg{color:var(--red)}
#clarity .cl-serve-grid .lbl{color:var(--navy)}
@media (max-width:1080px){#clarity .cl-serve-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){#clarity .cl-serve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Slingshot section: paragraph margin to margin; S logo sits on the box's red top line */
.core-sling .cs-head{display:block;padding:0}
.core-sling .cs-p{max-width:none;width:100%;text-align:left}
.core-sling .cs-kid img{height:clamp(270px,29vw,410px)}
@media (min-width:821px){.core-sling .cs-row.cs-row-kid{grid-template-columns:auto minmax(0,1fr)}}
.core-sling .cs-lands.cs-lands-logo{position:relative;border-top:2px solid var(--red);border-bottom:1px solid #ffb3ad;
  padding:clamp(22px,2.6vw,34px) 0 clamp(18px,2.2vw,28px) calc(var(--logo) * .785 + clamp(18px,2.4vw,34px));
  margin-top:calc(var(--logo) * 312 / 340 * .36)}
.core-sling .cs-mark-onbox{position:absolute;left:calc(var(--logo) * -.215);top:calc(var(--logo) * 312 / 340 * -.359 - 1px);width:var(--logo)}
.core-sling .cs-mark-onbox svg{margin:0!important}
@media (max-width:820px){
  .core-sling .cs-kid img{height:auto;width:min(72vw,280px)}
  .core-sling{--logo:clamp(110px,30vw,150px)}
  .core-sling .cs-row.cs-row-kid{grid-template-columns:1fr}
  .core-sling .cs-mark-onbox{left:0}
  .core-sling .cs-row-kid .cs-lands{justify-self:stretch;margin-top:calc(var(--logo) * 312 / 340 * .36 + 10px)}
  .core-sling .cs-lands.cs-lands-logo{padding-left:0;padding-top:calc(var(--logo) * 312 / 340 * .7)}
}

/* ==== Oct 14 2026 (V21) ==== */
#clarity .cl-urso{font-size:clamp(30px,3.75vw,52.5px)}
#clarity .cl-kidrow .cl-sub{margin-top:clamp(36px,4.2vw,58px)}
#clarity .cl-kid.cl-net{position:relative}
#clarity .cl-net img{max-width:none}
#clarity .cl-net img{object-position:87% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%,#000 72%,transparent 92%)}
/* Who we serve: tagline twice the size; icons and labels a size up */
#clarity .cl-serve .pdline{font-size:clamp(26px,3.4vw,48px);letter-spacing:-.025em}
#clarity .cl-serve-grid{margin-top:clamp(24px,3vw,40px)}
#clarity .cl-serve-grid li{padding-top:18px}
#clarity .cl-serve-grid svg{width:clamp(34px,3.2vw,44px);height:clamp(34px,3.2vw,44px)}
#clarity .cl-serve-grid .lbl{font-size:clamp(11.5px,1.02vw,13.5px)}
/* Slingshot paragraph centred under the title */
.core-sling .cs-p{margin-left:auto!important;margin-right:auto!important;text-align:left}
@media (max-width:820px){.core-sling .cs-p{text-align:left}}

/* ==== Oct 14 2026 (V22) ==== */
/* Where we look: title on its own centred line, two lines of space, then picture and text in equal halves */
#clarity .cl-wl{margin:clamp(22px,2.8vw,38px) calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px)) 0}
#clarity .cl-wl .cl-urso{width:auto;margin:0;transform:none;text-align:center;white-space:normal}
#clarity .cl-wl-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3.6vw,52px);align-items:stretch;
  margin-top:clamp(56px,5.6vw,78px)}
#clarity .cl-wl-fig{margin:0;position:relative;min-height:220px;overflow:visible}
#clarity .cl-wl-fig img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);
  mask-composite:intersect}
#clarity .cl-wl-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:94% 50%;display:block;max-width:none}
#clarity .cl-wl-text .cl-sub{margin:0;font-size:clamp(18px,1.75vw,24.5px);line-height:1.6;text-align:justify;text-justify:inter-word;hyphens:auto}
#clarity .cl-wl-text .cl-inl-hero{display:inline-block;height:1.75em;width:auto;vertical-align:-.42em;margin:0 .06em}
#clarity .cl-svc{margin-top:clamp(40px,5vw,68px)}
@media (max-width:760px){
  #clarity .cl-wl-row{grid-template-columns:1fr}
  #clarity .cl-wl-fig{aspect-ratio:2/1;min-height:0}
  #clarity .cl-wl-text .cl-sub{text-align:left}
}
/* Who we serve: two lines of space around the tagline and the icons */
#clarity .cl-serve-k{margin-bottom:clamp(44px,5vw,72px)}
#clarity .cl-serve-grid{margin-top:clamp(44px,5vw,72px)}
#clarity .cl-serve{padding-bottom:clamp(44px,5vw,72px)}
#clarity{padding-bottom:0!important}
/* Critical Scope label matches "Who we serve" */
.crit-hero2 .crit-k{font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.22em}
.crit-hero2 .crit-k svg{width:22px;height:22px}
/* Slingshot boy + dog at 85% */
.core-sling .cs-kid img{height:clamp(230px,24.65vw,348px)}
@media (max-width:820px){.core-sling .cs-kid img{height:auto;width:min(61vw,238px)}}

/* ==== Oct 14 2026 (V23) ==== */
/* Where we look: new white-background picture, shown whole (no crop, no edge fade) */
#clarity .cl-wl-row{align-items:center}
#clarity .cl-wl-fig{min-height:0}
#clarity .cl-wl-fig img{position:static;width:100%;height:auto;object-fit:contain;
  -webkit-mask-image:none;mask-image:none}
@media (max-width:760px){#clarity .cl-wl-fig{aspect-ratio:auto}}
/* Heroic Services: two more lines of white space above */
#clarity .cl-svc{margin-top:calc(clamp(40px,5vw,68px) + clamp(44px,5vw,72px))}
/* Slingshot paragraph runs margin to margin */
.core-sling .cs-p{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important;text-align:justify;text-justify:inter-word;hyphens:auto}
@media (max-width:820px){.core-sling .cs-p{text-align:left}}
/* Slingshot boy + dog at 90% of previous size */
.core-sling .cs-kid img{height:clamp(207px,22.185vw,313px)}
@media (max-width:820px){.core-sling .cs-kid img{height:auto;width:min(54.9vw,214px)}}

/* ==== Oct 14 2026 (V24) ==== */
#clarity .cl-wl{--ln:calc(clamp(18px,1.75vw,24.5px) * 1.6)}
/* Heroic Services: one line less space above */
#clarity .cl-svc{margin-top:calc(clamp(40px,5vw,68px) + clamp(22px,2.5vw,36px))}
/* Story Engine text: one line of margin */
#clarity .cl-wl-text{margin-right:var(--ln)}
/* picture: one line in from the left, runs up toward the title, fades into title, left and bottom */
#clarity .cl-wl-row{align-items:stretch}
#clarity .cl-wl-fig{margin:calc(-1 * clamp(40px,4vw,58px)) 0 calc(-1 * var(--ln)) var(--ln);min-height:0;position:relative}
#clarity .cl-wl-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% 55%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%),linear-gradient(180deg,transparent 0,#000 26%,#000 58%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%),linear-gradient(180deg,transparent 0,#000 26%,#000 58%,transparent 100%);
  mask-composite:intersect}
@media (max-width:760px){
  #clarity .cl-wl-text{margin:0 var(--ln) 0 0}
  #clarity .cl-wl-fig{margin:0 0 0 var(--ln);aspect-ratio:3/2}
}

/* ==== Oct 14 2026 (V25) ==== */
/* Slingshot line: same weight as the bottom rule, with a small gap before the S circle (right end unchanged) */
.core-sling .cs-lands.cs-lands-logo{border-top-width:1px}
.core-sling .cs-mark-onbox{top:calc(var(--logo) * 312 / 340 * -.359 - .5px)}
.core-sling .cs-mark-onbox svg circle:first-of-type{stroke:#fff;stroke-width:40}

/* ==== Oct 14 2026 (V26) ==== */
/* Core title rhythm: 38px label -> title, 78px title -> content (matches "Understand Risk. Seize Opportunity.") */
#clarity .cl-svc .cl-svc-k{margin-bottom:0}
#clarity .cl-svc .cl-svc-t{width:auto;margin:clamp(22px,2.8vw,38px) 0 0;transform:none;text-align:center;white-space:normal;text-wrap:balance}
#clarity .cl-svc .cl-svc-grid{margin-top:clamp(56px,5.6vw,78px)}
/* Critical: promoted subtitle as the title, same size and spacing as the Core titles */
.crit-hero2 .crit-h.crit-h-v26{font-size:clamp(30px,3.75vw,52.5px);line-height:1.1;letter-spacing:-.025em;
  margin:clamp(22px,2.8vw,38px) auto 0;max-width:none;text-wrap:balance}
.crit-hero2 .crit-h-v26 .u-blue{color:#8fb0d6}
.crit-hero2 .crit-h-v26 em{color:#e0574f}
.crit-hero2 .crit-two{margin-top:clamp(56px,5.6vw,78px)}

/* ==== Oct 14 2026 (V28) ==== */
/* Heroic Services opens the white section */
#clarity .cl-svc{margin-top:0}
/* section labels two sizes bigger */
#clarity .cl-svc-k .adv-k{font-size:clamp(16px,1.5vw,20px)}
/* Story Engine text under "We Value...": margin to margin */
#clarity .cl-svc-intro{margin-top:clamp(22px,2.8vw,38px)}
#clarity .cl-svc-intro .cl-svc-p{margin:0;font-size:clamp(18px,1.75vw,24.5px);line-height:1.6;color:var(--ink);
  text-align:justify;text-justify:inter-word;hyphens:auto}
#clarity .cl-svc-intro .cl-inl-hero{display:inline-block;height:1.75em;width:auto;vertical-align:-.42em;margin:0 .06em}
@media (max-width:760px){#clarity .cl-svc-intro .cl-svc-p{text-align:left}}
/* rings box: "Where we look" top left, outline twice as thick */
#clarity .cl-rings{border-width:2px}
#clarity .cl-rings .rings-h{align-items:center;gap:16px;margin-bottom:clamp(14px,1.8vw,24px)}
#clarity .cl-rings .cl-rings-k{font-family:var(--mono);font-size:clamp(16px,1.5vw,20px);font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--navy);white-space:nowrap}
/* Critical title: one line across on desktop */
@media (min-width:821px){
  .crit-hero2 .crit-h.crit-h-v26{white-space:nowrap;font-size:min(52.5px,calc((100vw - 2 * var(--gut)) / 26.5))}
}
/* Critical Scope label stays matched to the Core section labels */
.crit-hero2 .crit-k{font-size:clamp(16px,1.5vw,20px)}
@media (max-width:600px){
  #clarity .cl-rings .rings-h{flex-wrap:wrap;gap:10px}
  #clarity .cl-rings .rings-leg{margin-left:0;width:100%}
}

/* ==== Oct 14 2026 (V29): Hero Story Engine — Our Weapons: Your Advantage (catalog inline, navy) ==== */
.se-weap{background:#0d1e3a;color:#b9c9de;
  background-image:radial-gradient(900px 520px at 88% -10%,rgba(255,90,82,.16),transparent 62%),
                   radial-gradient(760px 440px at 6% 112%,rgba(61,139,216,.20),transparent 60%);
  padding:clamp(48px,6vw,84px) var(--gut) clamp(52px,6.4vw,90px)}
.se-weap .wcat-in{max-width:1120px;margin:0 auto}
.se-weap .wcat-suite + .wcat-suite{
  margin-top:clamp(30px,4vw,54px);padding-top:clamp(26px,3.4vw,44px);
  border-top:1px solid rgba(255,255,255,.14)
}
.se-weap .wcat-se{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:#93a8c4;
  display:flex;align-items:center;gap:11px
}
.se-weap .wcat-se::before{content:"";width:24px;height:2px;background:#ff5a52;border-radius:2px;flex:0 0 auto}
.se-weap .wcat-sn{
  font-family:var(--display);font-weight:700;font-size:clamp(17px,5.5vw,64px);
  letter-spacing:-.035em;line-height:1.02;color:#eef2f7;margin-top:13px;
  white-space:nowrap
}
.se-weap .wcat-sn em{font-style:normal;color:#7fb2e8}
.se-weap .wcat-sl{font-size:clamp(14px,1.25vw,16.5px);line-height:1.55;color:#b9c9de;max-width:none;margin-top:13px}
.se-weap .wcat-plates{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(14px,1.8vw,24px);margin-top:clamp(18px,2.2vw,28px)
}
.se-weap .wplate{
  --mark:#c9a95f;
  position:relative;display:flex;flex-direction:column;text-align:left;
  padding:26px 24px 22px 26px;border-radius:3px;overflow:hidden;
  background:linear-gradient(100deg,#1f3d69 0%,#17305a 34%,#102341 78%,#17305a 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.3),
    inset 0 0 0 2px var(--mark),
    0 12px 26px -13px rgba(0,0,0,.7);
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease
}
.se-weap .wplate:hover,.se-weap .wplate:focus-within{
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    inset 0 -1px 0 rgba(0,0,0,.3),
    inset 0 0 0 2px var(--mark),
    0 22px 36px -16px rgba(0,0,0,.8)
}
.se-weap .wplate .screw{
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#f2eee2,#a4977c 62%,#7e735c);
  box-shadow:0 0 0 1px rgba(0,0,0,.16),inset 0 0 2px rgba(0,0,0,.4)
}
.se-weap .wplate .screw::after{
  content:"";position:absolute;inset:0;margin:auto;
  width:4px;height:1px;background:rgba(0,0,0,.45);transform:rotate(38deg)
}
.se-weap .wplate .screw.tl{top:9px;left:9px}
.se-weap .wplate .screw.tr{top:9px;right:9px}
.se-weap .wplate .screw.bl{bottom:9px;left:9px}
.se-weap .wplate .screw.br{bottom:9px;right:9px}
.se-weap .wp-sub{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mark);margin-bottom:12px
}
.se-weap .wp-name{
  font-family:var(--display);font-weight:700;font-size:clamp(19px,1.9vw,24px);
  line-height:1.1;letter-spacing:-.025em;color:#eef2f7
}
.se-weap .wp-rule{height:1px;background:rgba(74,118,173,.7);margin:15px 0 13px}
.se-weap .wp-desc{font-size:13.5px;line-height:1.5;color:#b9c9de;flex:1 1 auto;margin-bottom:20px}
.se-weap .wp-sub-under{margin-top:9px;margin-bottom:0}
.se-weap .wp-note{
  font-size:12.5px;line-height:1.5;color:#93a8c4;
  margin:-8px 0 20px;padding-left:11px;border-left:2px solid rgba(255,255,255,.16)
}
.se-weap .wp-note b{color:#c3d2e6;font-weight:600}
.se-weap .wp-open{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mark);
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;align-self:flex-start
}
.se-weap .wp-open::after{content:"";position:absolute;inset:0;z-index:1}
.se-weap .wp-open svg{transition:transform .22s ease}
.se-weap .wplate:hover .wp-open svg{transform:translateX(4px)}
.se-weap .wp-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;position:relative;z-index:2}
.se-weap .wp-pill{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:#c3d2e6;text-decoration:none;
  border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:6px 11px;
  transition:border-color .16s,color .16s,background .16s
}
.se-weap .wp-pill:hover{border-color:var(--mark);color:#fff;background:rgba(255,255,255,.06)}
@media (max-width:620px){.se-weap .wplate{padding:22px 20px 20px 22px}}
@media print{.se-weap .netcanvas{display:none}}
.se-weap .wp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.se-weap .wp-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--mark);
  border:1.5px solid var(--mark);background:rgba(255,255,255,.04);flex:0 0 auto}
.se-weap .wp-ic svg{width:24px;height:24px}
.se-weap .wp-tag{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:#0d1e3a;background:var(--mark);padding:5px 9px 4px;border-radius:2px;white-space:nowrap}
.se-weap .wp-open.mail{margin-top:auto}
.se-weap .hc-lead-t{font-family:'Jost',var(--display),sans-serif;font-weight:400;color:#fff;font-size:clamp(20px,2.3vw,30px);line-height:1.3;letter-spacing:-.01em;max-width:60ch}
.se-weap .hc-lead-p{margin-top:clamp(14px,1.8vw,24px);max-width:62ch;font-size:clamp(15.5px,1.45vw,19px);line-height:1.55;color:#dbe6f3}
.se-weap .hcover{min-height:0}
.se-weap .wp-ask{margin-top:clamp(34px,4vw,58px);padding-top:clamp(24px,3vw,40px);border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.se-weap .wp-ask p{font-size:clamp(15px,1.3vw,18px);color:#eef2f7;max-width:52ch;line-height:1.45}
.se-weap .wp-btn{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:#0d1e3a;background:#eef2f7;padding:13px 18px;border-radius:3px;text-decoration:none;white-space:nowrap;display:inline-block}
.se-weap .wp-btn:hover{background:#fff}
.se-weap .wcat-in{max-width:1124px}
.se-weap .sw-h{margin:0;text-align:center;color:#fff;font-size:clamp(22px,3.55vw,46px);white-space:normal;text-wrap:balance}
.se-weap .sw-h em{font-style:normal;color:#8fb0d6}
.se-weap .sw-p{margin:clamp(22px,2.8vw,38px) 0 clamp(56px,5.6vw,78px);font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:#dbe6f3}
.se-weap .wp-btn:hover{background:#fff}
@media (max-width:600px){.se-weap .wcat-sn{white-space:normal}}
.se-weap{margin:0 calc(50% - 50vw)}

/* ==== Oct 14 2026 (V30) ==== */
/* Hero Story Engine title: logo + "Our Story Engine", subtitle under it */
.hse-title-v30{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .28em}
.hse-title-v30 .hse-tlogo{height:1.12em;width:auto;display:block;transform:translateY(.04em)}
.hse-title-v30 em{font-style:normal;color:#8fb0d6}
.smb-hero-plain .hse-sub{font-family:var(--display);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.15;
  font-size:clamp(20px,2.6vw,34px);margin:clamp(12px,1.4vw,18px) 0 0;text-align:center}
.hse-sub .hs-red{color:var(--red-soft,#ff7a72)}
.hse-sub .hs-blue{color:#8fb0d6}
/* icons now sit under the picture + text */
#scope .heng-band .hse-split + .sb-row{margin-top:clamp(18px,2.4vw,32px)}
/* Weapons: section title and suite titles swap sizes */
.se-weap .sw-h{font-size:clamp(28px,5.5vw,64px);letter-spacing:-.035em;line-height:1.05}
.se-weap .wcat-sn{font-size:clamp(22px,3.55vw,46px)}

/* ==== Oct 14 2026 (V31) ==== */
/* --- Story Engine: Hero logo bigger than the title words --- */
.hse-title-v30{gap:0 .4em}
.hse-title-v30 .hse-tlogo{height:1.6em;transform:translateY(.02em)}
.smb-hero-plain .hse-sub{margin-top:clamp(6px,.8vw,12px)}
/* --- Heroic Communities placard: illustration blended into the navy --- */
.wp-comm{position:relative;isolation:isolate;overflow:hidden}
.wp-comm::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url("../images/background-texture.webp") right bottom/100% auto no-repeat;opacity:.3;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}
.se-weap .wp-comm .wp-desc,.se-weap .wp-comm .wp-name{text-shadow:0 1px 10px rgba(13,30,58,.55)}
/* --- Relationship Capital: TEAM mark in place of the icon --- */
.se-weap .wp-team{display:grid;place-items:center;width:64px;height:64px;border-radius:12px;background:#24344f;border:1px solid rgba(255,255,255,.14)}
.se-weap .wp-team img{width:54px;height:auto;display:block}
/* --- "Not sure which weapon fits?": two lines, runs to the button --- */
.se-weap .wp-ask{flex-wrap:nowrap}
.se-weap .wp-ask p{max-width:none;flex:1 1 auto;font-size:clamp(15px,1.4vw,19px)}
@media (max-width:700px){.se-weap .wp-ask{flex-wrap:wrap}}

/* --- Story Advisory: white title section --- */
.sa-top{max-width:1240px;margin:0 auto;padding:clamp(40px,5vw,72px) var(--gut) clamp(56px,5.6vw,78px)}
.sa-h{font-family:var(--display);font-weight:700;color:var(--navy);text-align:center;margin:0;
  font-size:clamp(30px,3.75vw,52.5px);line-height:1.1;letter-spacing:-.025em}
.sa-h em{font-style:normal;color:#8fb0d6}
.sa-sub{font-family:var(--display);font-weight:700;color:var(--navy);text-align:center;letter-spacing:-.02em;line-height:1.15;
  font-size:clamp(20px,2.6vw,34px);margin:clamp(6px,.8vw,12px) 0 0}
.sa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(56px,5.6vw,78px)}
.sa-qh{font-family:var(--display);font-weight:700;color:var(--navy);margin:0;text-align:center;
  font-size:clamp(22px,2.1vw,30px);line-height:1.15;letter-spacing:-.02em}
.sa-q{margin:clamp(14px,1.8vw,22px) clamp(14px,2vw,28px) 0;font-style:italic;color:var(--ink);
  font-size:clamp(16.5px,1.55vw,20.5px);line-height:1.6;text-align:justify;text-justify:inter-word;hyphens:auto}
.sa-lenses{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,22px)}
.sa-lenses .cl-lens{background:#fff;border:2px solid var(--navy);border-radius:10px;padding:clamp(16px,1.9vw,24px) clamp(18px,2.2vw,28px)}
.sa-lenses .cl-lens-tag{font-family:var(--mono);font-size:clamp(11px,.95vw,12.5px);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.sa-lenses .cl-tag-s{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:600;font-size:1.25em}
.sa-lenses .cl-lens-risk .cl-tag-k{color:var(--red)}
.sa-lenses .cl-lens-opp .cl-tag-k{color:#2e8f4e}
.sa-lenses .cl-lens h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(20px,1.95vw,26px);line-height:1.15;letter-spacing:-.02em;margin:.35em 0 .2em}
.sa-lenses .cl-lens h3 em{font-style:normal;color:var(--navy)}
.sa-lenses .cl-lens-opp h3 em{color:var(--red)}
.sa-lenses .cl-lens p{color:var(--ink);font-size:clamp(15px,1.35vw,17.5px);line-height:1.55;margin:0}
@media (max-width:820px){.sa-row{grid-template-columns:1fr}.sa-q{text-align:left;margin-left:0;margin-right:0}}

/* --- Story Advisory navy: process label one line below the top --- */
#advisory .smb-dark2 .smb-dark-in{padding-top:clamp(24px,2.6vw,36px)}
#advisory .sp-head .sp-tag{margin-top:0}
/* Find Your Heroes / Strategic Stories: same size as the process label */
#advisory .sp-k{font-family:var(--display);font-size:clamp(15px,1.7vw,21px);font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  color:#9fbde3;opacity:.9;white-space:nowrap;margin:0 0 clamp(12px,1.4vw,18px)}
#advisory .sp-k::before{background:#ff7a72}
#advisory .sp-fh{margin-top:calc(-1 * clamp(20px,2vw,28px))}
@media (max-width:900px){#advisory .sp-row1 .step{width:auto}#advisory .sp-fh{margin-top:0}}

/* --- Map your story: centred, placards on white --- */
.hs-cta-v31{text-align:center}
.hs-cta-v31 .cta-k{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,20px);margin:0}
.hs-cta-v31 .cta-k::before,.hs-cta-v31 .cta-k::after{content:"";flex:1;max-width:none;height:2px;border-radius:2px;background:var(--blue-lt,#3d8bd8);opacity:.55}
.hs-cta-v31 .hs-cta-h{max-width:none;margin:clamp(14px,1.8vw,22px) auto 0;font-size:clamp(20px,1.85vw,28px);text-wrap:balance}
@media (min-width:900px){.hs-cta-v31 .hs-cta-h{white-space:nowrap}}
.se-weap.se-weap-white{background:none;margin:clamp(30px,4vw,52px) 0 0;padding:0;color:var(--ink);text-align:left}
.se-weap-white .cta-plates{margin-top:0}
.se-weap-white .wplate{background:#fff;border:2px solid var(--mark);box-shadow:0 1px 2px rgba(20,40,75,.06),0 10px 30px rgba(20,40,75,.08)}
.se-weap-white .wplate:hover,.se-weap-white .wplate:focus-within{background:#fff;transform:none}
.se-weap-white .wplate .screw{background:#cfd8e4;box-shadow:none}
.se-weap-white .wplate .screw::after{background:#9aa9bd}
.se-weap-white .wp-name{color:var(--navy)}
.se-weap-white .wp-desc{color:var(--ink);font-size:clamp(14.5px,1.25vw,16px)}
.se-weap-white .wp-note{color:var(--muted);border-left-color:var(--rule)}
.se-weap-white .wp-note b{color:var(--navy)}
.se-weap-white .wp-rule{background:var(--rule)}
.se-weap-white .wp-ic{background:#fff}
.se-weap-white .wplate[style*="ff5a52"]{--mark:#e35d55}
.se-weap-white .wplate[style*="4f9fe0"]{--mark:#1b62b3}
.se-weap-white .wp-comm::before{opacity:.13}
.se-weap-white .wp-comm .wp-desc,.se-weap-white .wp-comm .wp-name{text-shadow:0 0 12px #fff,0 0 4px #fff}
.se-weap-white .wp-act{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:auto}
.se-weap-white .wp-open{font-size:clamp(12.5px,1.05vw,14px)}
.se-weap-white .wp-open::after{content:none}
.se-weap-white .wp-cta{position:relative;z-index:2;background:var(--red,#e35d55);color:#fff}
.se-weap-white .wp-cta:hover{background:#c94a42;color:#fff}

/* ==== Oct 14 2026 (V32): Story Advisory ==== */
#advisory{--sa-qf:clamp(15.5px,1.17vw,18px);--sa-ln:calc(var(--sa-qf) * 1.65)}
.sa-top.sa-navy{max-width:none;margin:0 calc(50% - 50vw);background:#0d1e3a;padding:clamp(40px,5vw,72px) var(--gut) calc(1.5 * var(--sa-ln))}
.sa-navy .sa-in{max-width:1240px;margin:0 auto}
.sa-navy .sa-h{color:#fff}
.sa-navy .sa-sub{color:#fff}
.sa-navy .sa-q{margin:calc(1.5 * var(--sa-ln)) 0 0;color:#c8d7e8;font-style:italic;text-align:center;text-wrap:balance;hyphens:manual;
  font-size:var(--sa-qf);line-height:1.65}
#advisory .smb-dark2{border-top:0}
#advisory .smb-dark2 .smb-dark-in{padding-top:0}
/* Map your story: bigger section, white space at the bottom */
#advisory .hs-cta-v31{padding-top:clamp(56px,6vw,90px);padding-bottom:clamp(72px,8vw,120px)}
.hs-cta-v31 .hs-cta-h{font-size:clamp(20px,2.05vw,30px)}
.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2vw,26px);align-items:stretch;text-align:left}
.cta-col{display:flex;flex-direction:column}
.se-weap-white .wpw{display:flex;flex-direction:column}
.se-weap-white .wpw-top{display:flex;align-items:center;gap:14px;position:relative;z-index:2}
.se-weap-white .wpw-top .wp-name{flex:1 1 auto;margin:0}
.se-weap-white .wpw-top .wp-ic{flex:0 0 auto;width:44px;height:44px}
.se-weap-white .wpw-top .wp-cta{flex:0 0 auto}
.se-weap-white .wpw .wp-desc{margin-bottom:16px}
.se-weap-white .wpw .wp-note{margin:0}
/* community box: same height as its companion column, text centred */
.se-weap-white .wp-comm{height:100%}
.se-weap-white .wp-comm .wpw-center{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-start;text-align:center;padding:clamp(10px,1.4vw,20px) clamp(6px,2vw,30px)}
.se-weap-white .wp-comm .wpw-center .wp-rule{width:60%;margin-left:auto;margin-right:auto}
.se-weap-white .wp-comm .wp-desc{font-size:clamp(15.5px,1.4vw,18px);line-height:1.6;margin:0}
.se-weap-white .wp-comm::before{opacity:.5;background-position:center 92%;background-size:92% auto;filter:none}
.se-weap-white .wp-comm .wp-desc,.se-weap-white .wp-comm .wp-sub{text-shadow:0 0 14px #fff,0 0 6px #fff,0 0 2px #fff}
/* attached Understand Risk / Seize Opportunity placards: dotted connectors */
.sa-att{position:relative;background:#fff;border-radius:10px;padding:clamp(12px,1.4vw,18px) clamp(14px,1.7vw,22px);
  margin-top:clamp(22px,2.4vw,32px)}
.sa-att::before{content:"";position:absolute;left:clamp(30px,3vw,44px);top:calc(-1 * clamp(24px,2.6vw,34px));height:clamp(22px,2.4vw,32px);border-left:3px dotted var(--att)}
.att-risk{--att:var(--red,#e35d55);border:2px dotted var(--att)}
.att-opp{--att:#2e8f4e;border:2px dotted var(--att)}
.sa-att .cl-lens-tag{font-family:var(--mono);font-size:clamp(10px,.85vw,11.5px);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.sa-att .cl-tag-s{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:600;font-size:1.2em}
.att-risk .cl-tag-k{color:var(--red)}
.att-opp .cl-tag-k{color:#2e8f4e}
.sa-att h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(17px,1.55vw,21px);line-height:1.15;letter-spacing:-.02em;margin:.35em 0 .2em}
.sa-att h3 em{font-style:normal;color:var(--navy)}
.att-opp h3 em{color:var(--red)}
.sa-att p{color:var(--ink);font-size:clamp(14px,1.2vw,15.5px);line-height:1.5;margin:0}
@media (max-width:820px){.cta-grid{grid-template-columns:1fr}.se-weap-white .wp-comm{height:auto;min-height:0;padding-bottom:calc(58vw + 16px)}.se-weap-white .wp-comm::before{background-position:center calc(100% - 14px);background-size:88% auto}}
@media (max-width:520px){.se-weap-white .wpw-top{flex-wrap:wrap}.se-weap-white .wpw-top .wp-name{flex-basis:calc(100% - 60px)}}

/* ==== Oct 14 2026 (V33) ==== */
.wp-comm::before{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 40%);mask-image:linear-gradient(180deg,transparent 0,#000 40%)}
/* white Map Community Stories box: town graphic shown in full under the text */
.se-weap-white .wp-comm::before{opacity:1;inset:auto 18px 22px 18px;height:calc((100% - 36px) * 0 + (min(100%, 1100px) - 36px) * .386);
  background-position:center bottom;background-size:100% auto;-webkit-mask-image:none;mask-image:none;filter:none}
.se-weap-white .wp-comm .wp-desc,.se-weap-white .wp-comm .wp-sub{text-shadow:none}
/* note now sits in the Understand Risk box */
.sa-att .wp-note{font-size:clamp(12.5px,1.05vw,13.5px);line-height:1.5;color:var(--muted);margin:10px 0 0;padding-left:11px;border-left:2px solid var(--rule)}
.sa-att .wp-note b{color:var(--navy);font-weight:600}
@media (max-width:820px){.se-weap-white .wp-comm{padding-bottom:calc(36vw + 30px)}.se-weap-white .wp-comm::before{background-size:100% auto;background-position:center bottom}}

/* town graphic sized by the box width; text centred in the space above it */
.se-weap-white .wp-comm{container-type:inline-size}
.se-weap-white .wp-comm::before{inset:auto 18px 22px 18px;height:auto;aspect-ratio:1100/424}
.se-weap-white .wp-comm .wpw-center{justify-content:center;margin-bottom:calc((100cqw - 36px) * .3855 + 22px)}
@media (max-width:820px){.se-weap-white .wp-comm{padding-bottom:0}.se-weap-white .wp-comm .wpw-center{padding-top:24px;padding-bottom:20px}}
.se-weap-white .wp-comm .wpw-center .wp-desc{flex:0 0 auto}

/* ==== Oct 14 2026 (V34): quote two sizes up, subtitle one size down ==== */
#advisory{--sa-qf:clamp(18.5px,1.45vw,22px)}
.sa-navy .sa-sub{font-size:clamp(18px,2.1vw,30px)}

/* ==== Oct 14 2026 (V35) ==== */
/* Our Story: text in the left block, Big Swing network on the right (white background) */
#story .who-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
#story .who-art{display:flex;justify-content:center;align-items:center}
#story .ns-net-light{width:100%;max-width:440px}
#story .ns-net-light > g[stroke]{stroke:#3d8bd8;opacity:.75}
#story .ns-net-light .ns-s{opacity:1}
@media (max-width:900px){#story .who-grid{grid-template-columns:1fr}#story .ns-net-light{max-width:340px}}
/* Slingshots page header: boy/dog, Slingshots mark, title block — centred over the placards */
.lab-hd.lab-hd-v35{display:flex;align-items:center;justify-content:center;gap:clamp(22px,3.4vw,56px);max-width:none;grid-template-columns:none}
.lab-hd-v35 .lab-hd-art{flex:0 0 auto}
.lab-hd-v35 .lab-hd-art img{width:clamp(120px,12.5vw,180px)}
.lab-hd-v35 .lab-hd-mark{flex:0 0 auto;width:clamp(120px,12.5vw,180px)}
.lab-hd-v35 .lab-hd-mark svg{display:block;width:100%;height:auto}
.lab-hd-v35 .lab-hd-copy{flex:0 1 auto;max-width:34em;text-align:left}
@media (max-width:820px){
  .lab-hd.lab-hd-v35{flex-wrap:wrap;gap:18px 26px}
  .lab-hd-v35 .lab-hd-art img,.lab-hd-v35 .lab-hd-mark{width:min(36vw,150px)}
  .lab-hd-v35 .lab-hd-copy{flex-basis:100%;max-width:none}
}
.lab-hd-v35 .lab-hd-copy{flex:0 0 auto;max-width:none}
.lab-hd-v35 .lab-sub{width:23.5em;max-width:100%;text-wrap:balance}
@media (max-width:820px){.lab-hd-v35 .lab-hd-copy{flex:1 1 100%}.lab-hd-v35 .lab-sub{width:auto}}

/* ==== V36 ==== */
/* Our Story: justified intro copy */
#story .who-copy .qbody{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
/* Story Advisory: larger network graphic, centred on the H, filling quote -> Evaluate, fading to the edges */
#advisory .sp-grid2 .sp-art{overflow:visible}
#advisory .sp-grid2 .sp-art .sp-net{left:-7%;width:114%;top:-22%;height:142%;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 32%,rgba(0,0,0,.5) 60%,transparent 94%);
          mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 32%,rgba(0,0,0,.5) 60%,transparent 94%)}
@media (max-width:900px){#advisory .sp-grid2 .sp-art{min-height:300px}#advisory .sp-grid2 .sp-art .sp-net{left:0;width:100%;top:0;height:100%}}

/* Story Engine band (V36): larger image + text block, band grows with it; text two sizes up */
@media (min-width:721px){
#scope .heng-band .hse-split{--hw:max(100%,min(1440px,calc(100vw - 2 * var(--gut) - 16px)));width:var(--hw);max-width:none;
  margin-left:calc((100% - var(--hw)) / 2);margin-right:0}
#scope .heng-band .hse-p{font-size:clamp(16.5px,1.48cqw,19.5px);line-height:1.6}
}
@media (max-width:720px){#scope .heng-band .hse-p{font-size:18px}}

/* Story Advisory quote (V36): justified, two sizes up, thin red rule at content width, process label one line lower */
#advisory .sa-navy .sa-q{text-align:justify;text-justify:inter-word;text-wrap:wrap;hyphens:auto;-webkit-hyphens:auto;
  font-size:clamp(20.5px,1.66vw,25px);line-height:1.6}
#advisory .sa-navy .sa-in::after{content:"";display:block;height:1px;background:#ff7a72;margin-top:calc(1.2 * var(--sa-ln))}
#advisory .smb-dark2 .smb-dark-in{padding-top:var(--sa-ln)}
#advisory .sa-navy .sa-in{max-width:calc(1240px - 2 * var(--gut))}

/* ==== V37: Core opening — tagline under title, icons, "Heroic Simplifies." ==== */
.driven .dv-tagline{margin-top:clamp(10px,1.3vw,18px)}
.driven .dv-tagline .dvt-red{color:var(--red-soft,#ff7a72)}
.driven .dv-types{margin-top:clamp(36px,4.2vw,60px)!important;margin-bottom:clamp(36px,4.2vw,60px)!important}
.driven .dv-simplify{font-family:var(--display);font-weight:700;color:#fff;letter-spacing:-.025em;line-height:1.1;
  font-size:clamp(28px,3.4vw,48px);margin-top:0}
.driven .dv-simplify .dvs-blue{color:#8fb0d6}

/* ==== V38: "Heroic Simplifies." two sizes bigger ==== */
.driven .dv-simplify{font-size:clamp(34px,4.2vw,60px)}

/* ==== V38: Our Story runs to the margins of the thin line under the header; one size up throughout ==== */
#story{--st-w:calc(100vw - 2 * max(20px, (100vw - 1400px) / 2))}
#story > .qblock,#story > .swings{width:var(--st-w);max-width:none;margin-left:calc(50% - var(--st-w) / 2);margin-right:0;
  padding-left:0;padding-right:0}
#story .barlbl{font-size:clamp(17px,1.6vw,23px)}
#story .dhead{font-size:clamp(30px,3.62vw,52px)}
#story .who-copy .qbody,#story .sw-head .sw-lead{font-size:clamp(18px,1.6vw,23px)}
#story .who-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
#story .ns-net-light{max-width:560px}
#story .sw-card{padding:clamp(20px,1.95vw,28px)}
#story .sw-card h4{font-size:clamp(17px,1.46vw,21px)}
#story .sw-card p{font-size:clamp(14.5px,1.18vw,17px)}
#story .sw-ic{width:clamp(50px,4.3vw,62px);height:clamp(50px,4.3vw,62px)}
@media (max-width:900px){#story .who-grid{grid-template-columns:1fr}}

/* ==== V39 ==== */
/* Core, Critical: body text starts level with the top of the circles; buttons stay put */
.crit-hero2 .crit-two{align-items:stretch}
.crit-hero2 .crit-textcol{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(4px,.45vw,7px) 0 clamp(40px,6vw,86px)}
.crit-hero2 .crit-venn-dark{align-self:start}
@media (max-width:820px){.crit-hero2 .crit-textcol{padding:0;justify-content:flex-start}}
/* Core, Take the next Big Swing: block runs to the page's outer margins; text and network a size up */
.nextswing .ns-in{max-width:calc(1240px + 2 * clamp(0px, (100vw - 1240px) / 2, 80px))}
.nextswing .ns-copy{padding-left:0}
.nextswing .ns-side{align-items:flex-end}
.nextswing .ns-net{max-width:520px}
.nextswing .ns-h{font-size:clamp(36px,5vw,72px)}
.nextswing .ns-p{font-size:clamp(17px,1.46vw,21px);line-height:1.55;max-width:34em}
.nextswing .ns-btn{font-size:clamp(15.5px,1.22vw,17.5px)}
.nextswing .ns-f{max-width:calc(1240px + 2 * clamp(0px, (100vw - 1240px) / 2, 80px))}
@media (max-width:900px){.nextswing .ns-side{align-items:center}}
/* Hero Story Engine title: "Hero: Our Story Engine" */
.hse-title-v30 .hse-lc{display:inline-flex;align-items:center;margin-right:.18em}
.hse-title-v30 .hse-colon{margin-left:.06em}
/* Weapons: suite lines and the closing line match the text under "Our Weapons" */
.se-weap .wcat-sl,.se-weap .wp-ask p{font-size:clamp(17px,1.6vw,21px);line-height:1.6}
/* Story Advisory, Map Community Stories: larger text + Heroic Communities cover panel */
.se-weap-white .wp-comm .wp-desc{font-size:clamp(17px,1.5vw,21px);line-height:1.6}
.hc-cover{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(8px,1vw,14px);
  margin-top:clamp(18px,2vw,28px);padding:clamp(14px,1.6vw,22px) clamp(16px,1.8vw,24px);border-radius:12px;text-align:left;
  background:linear-gradient(150deg,#12263d 0%,#16304d 46%,#24507f 100%)}
.hc-cover-t{display:flex;flex-direction:column;gap:8px}
.hc-eye{font-family:var(--mono);font-size:clamp(8.5px,.72vw,10px);letter-spacing:.2em;text-transform:uppercase;color:#e0b066}
.hc-title{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:.98;
  font-size:clamp(26px,2.5vw,38px)}
.hc-cover-art{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
@media (max-width:420px){.hc-cover{grid-template-columns:1fr}.hc-cover-art{max-width:260px;margin:0 auto}}
.hc-cover{grid-template-columns:auto minmax(0,1fr);gap:clamp(12px,1.6vw,22px)}
.hc-title{font-size:clamp(24px,2.2vw,32px);white-space:nowrap}
@media (max-width:420px){.hc-cover{grid-template-columns:1fr}.hc-title{white-space:normal}}



/* ===== CORE v2: three services + restyled rings (site colors otherwise unchanged) ===== */
#clarity .cl-svc-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center}
.svc3{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.svc{position:relative;padding:2px 0 0 clamp(18px,1.8vw,24px);border-left:3px solid var(--svc,#14284b)}
.svc-team{--svc:#d03a33}
.svc-dossier{--svc:#2f6593}
.svc-sling{--svc:#14284b}
.svc-k{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--svc)}
.svc-k em{font-style:normal;font-size:10px;letter-spacing:.12em;color:#fff;background:var(--red);padding:3px 7px 2px;border-radius:2px}
.svc h4{margin:6px 0 0;font-family:var(--display);font-weight:700;font-size:clamp(19px,1.8vw,24px);line-height:1.2;letter-spacing:-.01em;color:var(--navy)}
.svc p{margin:8px 0 0;font-family:var(--body);font-size:clamp(14.5px,1.25vw,16.5px);line-height:1.55;color:var(--ink);
  text-align:justify;text-justify:inter-word;hyphens:auto}
.svc p b{color:var(--navy);font-weight:600}
#clarity .cl-rings{border:0;background:transparent;padding:0;border-radius:0}
#clarity .cl-rings .rings-h{align-items:center;margin-bottom:14px}
#clarity .cl-rings .rings-leg{font-size:12px;gap:18px}
#clarity .cl-rings .rings-leg i{width:11px;height:11px}
@media (max-width:860px){#clarity .cl-svc-grid{grid-template-columns:1fr}.svc p{text-align:left}}

/* ===== CORE v3: Core Principles section (white) with Who We Serve beneath ===== */
#clarity .cl-cp{max-width:none;margin-left:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px));margin-right:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px))}
#clarity .cl-cp .cl-serve{margin-left:0;margin-right:0}
#clarity .cl-cp .cp-t{text-wrap:balance}
#clarity .cl-cp .cp-p{margin:clamp(22px,2.8vw,38px) 0 0;font-family:var(--body);font-size:clamp(18px,1.75vw,24.5px);line-height:1.6;color:var(--ink);
  text-align:justify;text-justify:inter-word;hyphens:auto}
#clarity .cl-cp .cp-p b{color:var(--navy);font-weight:600}
#clarity .cl-cp .cl-serve{margin-top:clamp(34px,4.2vw,58px);padding-bottom:0}
#clarity .cl-cp .cl-serve-k{margin-bottom:clamp(26px,3vw,40px)}
#clarity .cl-cp .cl-serve .pdline{margin-bottom:clamp(20px,2.4vw,32px)}
#clarity .cl-cp + .cl-svc{margin-top:clamp(64px,7vw,104px)}
#clarity .cl-svc:last-child{padding-bottom:clamp(44px,5vw,72px)}
@media (max-width:760px){#clarity .cl-cp .cp-p{text-align:left}}

/* ===== CORE v4 ===== */
#clarity .cl-cp .cp-title{margin-bottom:clamp(26px,3.2vw,44px)}
#clarity .cl-cp .cp-p{margin-top:0}
#clarity .cl-cp .cp-red{color:var(--red);font-weight:600}
/* short, thin kicker rules (1/4 width) */
#clarity .cl-svc-k.k-short .cl-rule-line{flex:0 0 25%;height:1.5px}
#clarity .cl-svc-k.k-right{justify-content:flex-end}
#clarity .cl-cp .cl-serve{margin-top:clamp(30px,3.6vw,50px)}
#clarity .cl-cp .cl-serve-k{margin-bottom:clamp(14px,1.8vw,22px)}
#clarity .cl-cp + .cl-svc{margin-top:clamp(48px,5.4vw,80px)}
#clarity .cl-cp .cp-core-k,#clarity .cl-svc > .cl-svc-k{margin-bottom:clamp(18px,2.2vw,28px)}
#clarity .cl-svc .cl-svc-intro{margin-top:0}
#clarity .cl-cp .cl-serve-grid{margin-top:clamp(10px,1.4vw,18px)}
/* services + graphic pulled up ~1.5 lines */
#clarity .cl-svc .cl-svc-grid{margin-top:clamp(22px,2.4vw,36px)}

/* ===== CORE v5 ===== */
#clarity .cl-svc-k.cp-focus-k{margin-top:clamp(34px,4vw,56px)}
#clarity .cl-cp .cp-focus-p .cl-inl-hero{display:inline-block;height:1.75em;width:auto;vertical-align:-.42em;margin:0 .06em}
#clarity .cl-cp .cp-focus-p em{font-style:italic}
#clarity .cp-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,64px);align-items:center;
  margin-top:clamp(40px,4.6vw,64px);padding-bottom:clamp(48px,5.4vw,80px)}
#clarity .cp-serve{justify-self:center;width:min(100%,340px)}
#clarity .cp-serve-k{text-align:center;font-family:var(--mono);font-size:clamp(16px,1.5vw,20px);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);margin-bottom:clamp(14px,1.6vw,20px)}
#clarity .cp-serve .cl-serve-grid{display:flex;flex-direction:column;gap:0;margin:0}
#clarity .cp-serve .cl-serve-grid li{display:flex;align-items:center;gap:16px;padding:11px 6px;border-top:1px solid var(--rule)}
#clarity .cp-serve .cl-serve-grid li:last-child{border-bottom:1px solid var(--rule)}
#clarity .cp-serve .cl-serve-grid li{justify-content:flex-start;text-align:left;padding-left:clamp(14px,2vw,28px)}
#clarity .cp-serve .cl-serve-grid .lbl{text-align:left}
#clarity .cp-serve .cl-serve-grid svg{width:32px;height:32px;flex:0 0 32px}
#clarity .cp-two .cl-svc-steps li p{max-width:54ch}
@media (max-width:860px){#clarity .cp-two{grid-template-columns:1fr}}

.hsvc{margin:0 calc(50% - 50vw);background:var(--navy);color:#fff;padding:clamp(48px,5.6vw,84px) var(--gut) clamp(52px,6vw,90px)}
.hsvc-in{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));margin:0 auto}
.hsvc-h{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.75vw,52.5px);letter-spacing:-.025em;line-height:1.1;text-align:center;color:#fff}
.hsvc-h .hs-red{color:#ff7a72}
.hsvc-h .hs-blue{color:#8fb0d6}
.hs-k{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);margin:clamp(30px,3.6vw,50px) 0 clamp(24px,3vw,40px)}
.hs-k-t{font-family:var(--mono);font-size:clamp(16px,1.5vw,20px);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#fff;white-space:nowrap}
.hs-k-line{flex:1;height:3px;background:#ff7a72;border-radius:2px}
.hsvc-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,44px);align-items:center}
.hsvc .svc-team{--svc:#ff7a72}
.hsvc .svc-dossier{--svc:#8fb0d6}
.hsvc .svc-sling{--svc:#e6e4df}
.hsvc .svc h4{color:#fff}
.hsvc .svc p{color:#c8d7e8}
.hsvc .svc p b{color:#fff}
.hsvc .svc-k em{background:#e0574f}
.hsvc .cl-rings{border:0;background:transparent;padding:0}
.hsvc .cl-rings .rings-h{display:flex;justify-content:flex-end;margin-bottom:14px}
.hsvc .cl-rings .rings-leg{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#c8d7e8}
.hsvc .cl-rings .rings-leg span{display:inline-flex;align-items:center;gap:6px}
.hsvc .cl-rings .rings-leg i{width:11px;height:11px;border-radius:3px;display:inline-block}
.hsvc .cl-rings svg{width:100%;height:auto;display:block}
@media (max-width:860px){.hsvc-grid{grid-template-columns:1fr}}

/* ===== CORE v6 ===== */
#clarity .cl-svc-k.cp-thin .cl-rule-line{height:1.5px}
#clarity .cl-cp .cl-svc-intro{margin-top:clamp(22px,2.8vw,38px)}
#clarity .cp-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#clarity .cp-ladder{justify-self:center;gap:clamp(34px,4vw,56px);padding-top:30px}
#clarity .cp-ladder li b{font-size:clamp(20px,2vw,28px)}
#clarity .cp-ladder li::before{top:50%}
#clarity .cp-serve .cl-serve-grid li.serve-h svg{color:var(--red)}
#clarity .cp-serve .cl-serve-grid li.serve-h .lbl{color:var(--red);font-weight:600}

.hsvc{background:var(--navy-deep)}
.hsvc-grid{align-items:start}
.hsvc-grid > .svc3{gap:clamp(28px,3.2vw,42px)}
.hsvc-right{display:flex;flex-direction:column;gap:clamp(22px,2.6vw,34px)}
.hsvc .cl-rings .rings-h-bottom{justify-content:center;margin:14px 0 0}
.hsvc .svc-see{color:#ff7a72!important;font-weight:600;text-align:left!important}

/* Critical Scope on white */
:is(#core,#core-more,#bigswing) .crit-light{background:#fff;color:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-k{color:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-k svg{color:var(--blue)}
:is(#core,#core-more,#bigswing) .crit-light .crit-h{color:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-h-v26 .u-blue{color:#8fb0d6}
:is(#core,#core-more,#bigswing) .crit-light .crit-h-v26 em{color:var(--red)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sub{color:var(--ink)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sub b{color:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-assess-k{color:var(--blue)}
:is(#core,#core-more,#bigswing) .crit-light .crit-btn.crit-btn-red{background:var(--red);color:#fff}
:is(#core,#core-more,#bigswing) .crit-light .crit-btn.crit-btn-red:hover{background:var(--navy);color:#fff}
:is(#core,#core-more,#bigswing) .crit-light .crit-venn-dark .venn-set circle{fill:rgba(143,176,214,.12);stroke:#9fb6d2}
:is(#core,#core-more,#bigswing) .crit-light .crit-venn-dark .venn-l{fill:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-venn-dark .venn-c{fill:var(--red)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li{border-top-color:var(--rule)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors svg{color:var(--navy)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li:nth-child(2) svg,:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li:nth-child(5) svg,:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li:nth-child(8) svg{color:var(--blue)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li:nth-child(3) svg,:is(#core,#core-more,#bigswing) .crit-light .crit-sectors li:nth-child(6) svg{color:var(--red)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors b{color:var(--navy)}

/* Slingshots + Big Swing: one navy section */
:is(#core,#core-more,#bigswing) .cs-navy{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;padding-left:max(var(--gut),calc(50vw - 620px + var(--gut) - clamp(0px,(100vw - 1240px) / 2,80px)));padding-right:max(var(--gut),calc(50vw - 620px + var(--gut) - clamp(0px,(100vw - 1240px) / 2,80px)))}
:is(#core,#core-more,#bigswing) .cs-navy .cs-h{color:#fff}
:is(#core,#core-more,#bigswing) .cs-navy .cs-h em{color:#8fb0d6}
:is(#core,#core-more,#bigswing) .cs-navy .cs-p{color:#c8d7e8}
:is(#core,#core-more,#bigswing) .cs-navy .cs-p b{color:#fff}
:is(#core,#core-more,#bigswing) .cs-navy .cs-lands-k{color:#9ec4ea}
:is(#core,#core-more,#bigswing) .cs-navy .caps li{color:#fff}
:is(#core,#core-more,#bigswing) .cs-navy .cs-lands,:is(#core,#core-more,#bigswing) .cs-navy .cs-lands.cs-lands-logo{border-bottom-color:rgba(255,122,114,.45)}
:is(#core,#core-more,#bigswing) .cs-navy .cs-mark-onbox svg circle:first-of-type{stroke:var(--navy-deep)}
:is(#core,#core-more,#bigswing) .cs-navy{padding-bottom:clamp(20px,2.4vw,34px)}
:is(#core,#core-more,#bigswing) .ns-joined .ns-in{border-top:1px solid rgba(255,255,255,.12);padding-top:clamp(40px,4.6vw,64px)}

/* ===== CORE v7 ===== */
/* left block: Map -> Evaluate -> Build across, boy & dog centred below */
#clarity .cp-two{align-items:stretch}
#clarity .cp-left{display:flex;flex-direction:column;align-items:center}
#clarity .cp-flow{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.4vw,20px);min-height:clamp(28px,2.6vw,36px);flex-wrap:wrap;
  margin-bottom:clamp(14px,1.6vw,20px)}
#clarity .cp-step{font-family:var(--display);font-size:clamp(20px,2vw,28px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);line-height:1}
#clarity .cp-step-act{color:var(--red)}
#clarity .cp-arr{width:clamp(36px,3.6vw,56px);height:auto;flex:0 0 auto;overflow:visible}
#clarity .cp-arr line,#clarity .cp-arr path{fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#clarity .cp-kid{margin:0;flex:1;display:flex;align-items:center;justify-content:center;padding-top:clamp(10px,1.4vw,20px)}
#clarity .cp-kid img{display:block;height:clamp(260px,27vw,390px);width:auto}

/* Who we serve: bigger heading, icons and labels */
#clarity .cp-serve{width:min(100%,430px)}
#clarity .cp-serve-k{font-size:clamp(18px,1.75vw,24px);letter-spacing:.2em}
#clarity .cp-serve .cl-serve-grid li{gap:20px;padding:13px 6px 13px clamp(14px,2vw,28px)}
#clarity .cp-serve .cl-serve-grid svg{width:40px;height:40px;flex:0 0 40px}
#clarity .cp-serve .cl-serve-grid .lbl{font-size:clamp(14px,1.25vw,17px);letter-spacing:.1em}

/* Slingshots row without the illustration: centre the box */
:is(#core,#core-more,#bigswing) .core-sling .cs-row.cs-row-solo{grid-template-columns:1fr;justify-items:center}
:is(#core,#core-more,#bigswing) .core-sling .cs-row-solo .cs-lands{justify-self:center}
@media (max-width:860px){#clarity .cp-kid img{height:auto;width:min(70vw,280px)}}

/* ===== CORE v9: Heroic Services copy from Change.docx ===== */
.hsvc .svc-k .svc-mode{font-style:normal;letter-spacing:.08em;text-transform:none;font-weight:500;color:#9fb6d2}
.hsvc .svc h4 .svc-fav{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:#e0574f;padding:3px 7px 2px;border-radius:2px;vertical-align:middle;margin-left:10px;position:relative;top:-2px}
.hsvc .svc p .svc-see-in{color:#ff7a72;font-weight:600}
.hsvc .svc-bul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.hsvc .svc-bul li{position:relative;padding-left:18px;font-family:var(--body);font-size:clamp(13.5px,1.15vw,15.5px);line-height:1.5;color:#c8d7e8;text-align:left}
.hsvc .svc-bul li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--svc)}
.hsvc .svc-bul .b-red{color:#ff7a72;font-weight:600}
.hsvc .svc-bul .b-blue{color:#8fb0d6;font-weight:600}
.hsvc .hsvc-grid > .cl-rings{align-self:start}

/* ===== CORE v10 ===== */
.hsvc .svc p .b-red{color:#ff7a72;font-weight:600}
.hsvc .svc p .b-blue{color:#8fb0d6;font-weight:600}

/* ===== CORE v11: graphic tucked to the right margin, larger service text ===== */
.hsvc-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.hsvc .hsvc-grid > .cl-rings{justify-self:end;width:100%}
.hsvc .cl-rings svg{overflow:visible}
.hsvc .svc p{font-size:clamp(16.5px,1.45vw,18.5px)}
.hsvc .svc-k{font-size:13px}
.hsvc .svc-k .svc-mode{font-size:13px}
.hsvc .svc h4 .svc-fav{font-size:12px}

/* ===== CORE v12: service colours ===== */
.hsvc .svc-team{--svc:#8fb0d6}
.hsvc .svc-dossier{--svc:#ff7a72}
.hsvc .svc-sling{--svc:#ede4da}
.hsvc .svc p b i{font-style:italic}

/* ===== CORE v13: #1 full width; #2/#3 left with graphic beside, starting at #2 ===== */
.hsvc-grid{grid-template-columns:minmax(0,1.78fr) minmax(0,1fr);column-gap:clamp(16px,2vw,28px);row-gap:0;align-items:start}
.hsvc-grid > .svc3{display:contents}
.hsvc-grid .svc-team{grid-column:1 / -1;grid-row:1;padding-right:2em;margin-bottom:clamp(28px,3.2vw,42px)}
.hsvc-grid .svc-dossier{grid-column:1;grid-row:2;margin-bottom:clamp(28px,3.2vw,42px)}
.hsvc-grid .svc-sling{grid-column:1;grid-row:3}
.hsvc-grid > .cl-rings{grid-column:2;grid-row:2 / span 2;align-self:start}
@media (max-width:860px){
  .hsvc-grid{grid-template-columns:1fr}
  .hsvc-grid .svc-team,.hsvc-grid .svc-dossier,.hsvc-grid .svc-sling,.hsvc-grid > .cl-rings{grid-column:1;grid-row:auto}
  .hsvc-grid .svc-team{padding-right:0}
}

/* ===== CORE v14 ===== */
.hsvc{padding-top:clamp(26px,3.4vw,50px);padding-bottom:clamp(66px,7.6vw,112px)}
.hsvc .svc p{font-size:clamp(17.5px,1.55vw,19.5px)}
.hsvc-grid{grid-template-columns:minmax(0,1.58fr) minmax(0,1fr)}

/* ===== CORE v15: Critical section ===== */
:is(#core,#core-more,#bigswing) .crit-light .crit-assess-k{font-size:clamp(16px,1.55vw,20px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-btn.crit-btn-red{font-size:clamp(16px,1.55vw,20px);padding:clamp(12px,1.3vw,16px) clamp(22px,2.4vw,34px)}
:is(#core,#core-more,#bigswing) .crit-light .venn-core{fill:#14284b;opacity:.92}
:is(#core,#core-more,#bigswing) .crit-light .crit-venn-dark .venn-c{fill:#ff7a72}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors b{font-size:clamp(15px,1.35vw,18px);letter-spacing:.02em}

/* ===== CORE v16: combined Slingshots / Big Swing section ===== */
:is(#core,#core-more,#bigswing) .sling2{margin:0 calc(50% - 50vw);background:var(--navy-deep);color:#fff;padding:clamp(40px,5vw,72px) var(--gut) clamp(52px,6vw,90px)}
:is(#core,#core-more,#bigswing) .sl-in{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));margin:0 auto}
:is(#core,#core-more,#bigswing) .sl-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,2vw,28px)}
:is(#core,#core-more,#bigswing) .sl-kid{margin:0;justify-self:start}
:is(#core,#core-more,#bigswing) .sl-kid img{display:block;height:clamp(110px,11vw,160px);width:auto}
:is(#core,#core-more,#bigswing) .sl-h{margin:0;text-align:center;font-size:clamp(34px,4.4vw,64px);text-wrap:balance}
:is(#core,#core-more,#bigswing) .sl-p{margin:clamp(20px,2.4vw,32px) auto 0;max-width:none;font-size:clamp(17.5px,1.55vw,19.5px);line-height:1.6;color:#c8d7e8;
  text-align:justify;text-justify:inter-word;hyphens:auto}
:is(#core,#core-more,#bigswing) .sl-cta{display:flex;justify-content:center;margin-top:clamp(20px,2.4vw,30px)}
:is(#core,#core-more,#bigswing) .sl-cta .ns-btn{font-size:clamp(15px,1.4vw,18px);padding:clamp(11px,1.2vw,14px) clamp(22px,2.4vw,32px)}
:is(#core,#core-more,#bigswing) .sl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(36px,4.4vw,60px)}
:is(#core,#core-more,#bigswing) .sl-lands{border-top:2px solid var(--red);border-bottom:1px solid rgba(255,122,114,.45);padding:clamp(18px,2.2vw,28px) 0;justify-self:start;width:min(100%,520px)}
:is(#core,#core-more,#bigswing) .sl-lands .cs-lands-k{color:#9ec4ea}
:is(#core,#core-more,#bigswing) .sl-lands .cs-lands-list{grid-template-columns:1fr;gap:12px;margin-top:clamp(12px,1.4vw,16px);padding-left:.9em}
:is(#core,#core-more,#bigswing) .sl-lands .cs-lands-list li{color:#fff;font-size:clamp(16.5px,1.45vw,20px)}
:is(#core,#core-more,#bigswing) .sl-net{display:flex;justify-content:flex-end}
:is(#core,#core-more,#bigswing) .sl-net .ns-net{width:100%;max-width:520px}
@media (max-width:860px){
  :is(#core,#core-more,#bigswing) .sl-head{grid-template-columns:1fr;justify-items:center}
  :is(#core,#core-more,#bigswing) .sl-kid{justify-self:center}
  :is(#core,#core-more,#bigswing) .sl-two{grid-template-columns:1fr}
  :is(#core,#core-more,#bigswing) .sl-p{text-align:left}
}

/* ===== CORE v17 ===== */
:is(#core,#core-more,#bigswing) .sling2{padding-top:clamp(22px,2.8vw,40px)}
:is(#core,#core-more,#bigswing) .sl-cta{margin-top:clamp(40px,3.4vw,56px)}
:is(#core,#core-more,#bigswing) .sl-p{font-size:clamp(18.5px,1.7vw,21px);margin-top:clamp(28px,3vw,42px)}
:is(#core,#core-more,#bigswing) .sl-two{align-items:start}
:is(#core,#core-more,#bigswing) .sl-net{padding-top:clamp(4px,.6vw,10px)}
:is(#core,#core-more,#bigswing) .sl-net .ns-net{max-width:640px}

/* ===== CORE v18 ===== */
:is(#core,#core-more,#bigswing) .sl-head{position:relative;display:block;min-height:clamp(110px,11vw,160px);display:flex;align-items:center;justify-content:center}
:is(#core,#core-more,#bigswing) .sl-kid{position:absolute;left:0;top:0}
:is(#core,#core-more,#bigswing) .sl-kid img{height:clamp(143px,14.3vw,208px)}
:is(#core,#core-more,#bigswing) .sl-cta{margin-top:clamp(14px,1.4vw,22px)}
:is(#core,#core-more,#bigswing) .sl-net{padding-top:0;margin-top:calc(-1 * clamp(24px,2.2vw,32px))}
@media (max-width:860px){:is(#core,#core-more,#bigswing) .sl-head{flex-direction:column}:is(#core,#core-more,#bigswing) .sl-kid{position:static}}

/* ===== HERO page v19 ===== */
#scope .hse-p .hse-inl-logo{display:inline-block;height:1.75em;width:auto;vertical-align:-.45em;margin:0 .08em 0 0}

/* ===== CORE v22 ===== */
.hsvc .svc h4 .h4-sub{font-style:italic}
/* Critical: icons on top, centred title, body + Venn raised one line */
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors{margin-top:clamp(18px,2.2vw,28px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-h-v22{margin-top:clamp(30px,3.6vw,50px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-two{margin-top:clamp(10px,1.6vw,22px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-assess-v22{text-align:left;margin-top:clamp(24px,2.8vw,38px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-assess-v22 .crit-assess-k{color:var(--red);text-align:center}
:is(#core,#core-more,#bigswing) .crit-light .crit-assess-v22{align-self:stretch;width:100%}
:is(#core,#core-more,#bigswing) .crit-placards{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,18px);margin-top:clamp(12px,1.4vw,18px)}
:is(#core,#core-more,#bigswing) .placard-link{display:block;text-decoration:none;border-radius:12px;transition:transform .16s ease,box-shadow .16s ease}
:is(#core,#core-more,#bigswing) .placard-link:hover,:is(#core,#core-more,#bigswing) .placard-link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,40,75,.16);outline:none}
:is(#core,#core-more,#bigswing) .crit-pl{position:relative;margin:0;background:#fff;border:2px solid var(--blue);border-radius:12px;overflow:hidden;aspect-ratio:1.55}
:is(#core,#core-more,#bigswing) .crit-pl img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain}

/* ===== CORE v23: text in left block; Who We Serve up top on the right ===== */
#clarity .cp-two{align-items:start;margin-top:clamp(26px,3.2vw,44px)}
#clarity .cp-left{align-items:stretch}
#clarity .cl-cp .cp-intro{margin:0 0 clamp(26px,3vw,40px)}
#clarity .cp-intro .cl-svc-p{font-size:clamp(17px,1.5vw,21px)}
#clarity .cp-left .cp-flow{justify-content:center}
#clarity .cp-kid{flex:none;padding-top:0;margin-top:clamp(36px,3.6vw,52px)}
#clarity .cp-kid img{height:clamp(234px,24.3vw,351px)}
#clarity .cp-serve{justify-self:center;width:min(100%,387px)}
#clarity .cp-serve-k{font-size:clamp(16px,1.58vw,21.5px);margin-bottom:clamp(12px,1.4vw,18px)}
#clarity .cp-serve .cl-serve-grid li{gap:18px;padding:11.5px 5px 11.5px clamp(13px,1.8vw,25px)}
#clarity .cp-serve .cl-serve-grid svg{width:36px;height:36px;flex:0 0 36px}
#clarity .cp-serve .cl-serve-grid .lbl{font-size:clamp(12.6px,1.125vw,15.3px)}

/* ===== ADVISORY v24: title on white, Map Your Story (white) first, then the navy Story Building Process ===== */
#advisory .sa-top.sa-white{padding-bottom:clamp(8px,1.2vw,16px)}
#advisory .sa-white .sa-h em{color:#8fb0d6}
#advisory .hs-cta-v31{padding-top:clamp(28px,3.2vw,44px);padding-bottom:clamp(56px,6vw,90px)}
#advisory .smb-dark2 .smb-dark-in{padding-top:clamp(48px,5.2vw,78px)}

/* ===== ONE PAGE v25 ===== */
html{scroll-behavior:auto}
.view{display:block;scroll-margin-top:72px}
#critical.view{display:none!important}
.mast{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);
  border-bottom:0;transition:padding .2s ease}
.mast::after{content:"";position:absolute;left:calc(50% - 50vw);width:100vw;bottom:0;height:1px;background:var(--rule)}
.mast.compact{padding-top:8px;padding-bottom:6px;--markW:clamp(104px,9.5vw,128px)}
.mast.compact .mast-sup{display:none}
@media (prefers-reduced-motion:reduce){.mast{transition:none}}

/* ===== ONE PAGE v26: Story Engine third; dark opening + Under the Hood; new rings ===== */
#scope .smb-hero,#scope .heng-band .storyband{background:var(--navy-deep,#0d1e3a)}
#scope .heng-band .sb-in{padding-bottom:clamp(34px,4vw,56px)}
#scope .heng-uh-dark{display:flow-root;margin:0 calc(50% - 50vw);background:#0d1e3a;padding:0 var(--gut)}
#scope .heng-uh-dark .hsect{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));margin:0 auto;padding-top:clamp(36px,4.4vw,64px);padding-bottom:clamp(44px,5vw,76px);padding-left:0;padding-right:0}
#scope .heng-uh-dark .sect-k{color:#9ec4ea}
#scope .heng-uh-dark .sect-k::after{background:rgba(255,255,255,.16)}
#scope .heng-uh-dark .qbody{color:#c8d7e8}
#scope .heng-uh-dark .qbody b{color:#fff}
#scope .heng-uh-dark .boxgrid{background:transparent;border-color:rgba(255,255,255,.14)}
#scope .heng-uh-dark .boxgrid .bx{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}
#scope .heng-uh-dark .bx-h{color:#fff}
#scope .heng-uh-dark .bx-l{color:#c8d7e8}
#scope .heng-uh-dark .bx.n .bx-h{border-bottom-color:#9ec4ea}
#scope .rings.rings-v26{border:0;background:transparent;padding:0;box-shadow:none}
#scope .rings-v26 svg{width:100%;height:auto;display:block}
#scope .rings-v26 .rings-h-bottom{display:flex;justify-content:center;margin:12px 0 0}
#scope .rings-v26 .rings-leg{display:flex;gap:18px;flex-wrap:wrap;margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#c8d7e8}
#scope .rings-v26 .rings-leg span{display:inline-flex;align-items:center;gap:6px}
#scope .rings-v26 .rings-leg i{width:11px;height:11px;border-radius:3px;display:inline-block}

/* ===== ONE PAGE v27: Story Engine after Core Focus ===== */
#scope .hse-p .hs-red{color:#ff7a72}
#scope .hse-p .hs-blue{color:#8fb0d6}
#scope .hse-p .hse-inl-logo{height:2.275em;vertical-align:-.62em}
#scope .heng-band .sb-in{padding-bottom:0}
#scope .heng-band .sb-split{margin-bottom:0}
#scope .heng-uh-dark .hsect{padding-top:clamp(44px,3.8vw,58px)}
#scope .heng-uh-dark .sect-k{color:#ff7a72}
#scope .heng-uh-dark .sect-k::after{background:#ff7a72;height:1px;opacity:1}

/* ===== ONE PAGE v28 ===== */
/* Story Engine opening: text left, taller picture right */
#scope .heng .sb-split.hse-split{grid-template-columns:minmax(0,50%) minmax(0,1fr);align-items:stretch;margin-top:clamp(56px,5vw,72px);margin-bottom:clamp(44px,4vw,58px)}
#scope .heng .hse-p{padding-left:0;padding-right:clamp(16px,2.4cqw,32px);align-self:center}
#scope .hse-art-wrap{position:relative;min-height:200px}
#scope .hse-art-wrap .hse-art{position:absolute;left:0;top:calc(-1 * clamp(36px,3vw,44px));width:100%;height:calc(100% + 2 * clamp(36px,3vw,44px));object-fit:cover;object-position:62% 50%}
#scope .hse-p .hse-inl-logo{float:left;height:4.55em;width:auto;vertical-align:baseline;margin:.15em .55em .1em 0}
@media (max-width:760px){#scope .heng .sb-split.hse-split{grid-template-columns:1fr}#scope .hse-art-wrap{min-height:0}#scope .hse-art-wrap .hse-art{position:static;height:auto;margin:0}}
/* Our Weapons up one line */
#weapons{scroll-margin-top:72px}
#scope #weapons{margin-top:calc(-1 * clamp(24px,2.2vw,32px))}
/* placards under the Big Swing block, on navy */
:is(#core,#core-more,#bigswing) .sl-cards{margin-top:clamp(40px,4.6vw,64px)}
#bigswing .sw-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-top-width:3px;box-shadow:none}
#bigswing .sw-card:nth-child(1){border-top-color:#ff7a72}
#bigswing .sw-card:nth-child(2){border-top-color:#8fb0d6}
#bigswing .sw-card:nth-child(3){border-top-color:#e6e4df}
#bigswing .sw-card:nth-child(4){border-top-color:#ff7a72}
#bigswing .sw-card .sw-ic{background:#e0574f}
#bigswing .sw-card:nth-child(2) .sw-ic{background:#3f7fa5}
#bigswing .sw-card:nth-child(3) .sw-ic{background:#2b4a7a}
#bigswing .sw-card h4{color:#fff}
#bigswing .sw-card p{color:#c8d7e8}

/* v28 fix: keep the opening band navy to the bottom; Under the Hood ~2 lines under the text */
#scope .heng-band .storyband,#scope .heng-band .sb-in{display:flow-root}
#scope .heng .sb-split.hse-split{margin-bottom:0}
#scope .heng-band .sb-in{padding-bottom:clamp(40px,3.2vw,46px)}
#scope .heng-uh-dark .hsect{padding-top:clamp(12px,1.2vw,18px)}

/* ===== ONE PAGE v29 ===== */
#scope .heng .hse-p{font-size:clamp(15.5px,1.55cqw,18px);text-align:justify;text-justify:inter-word}
#scope .hse-p .hse-inl-logo{float:left;height:4.4em;margin:.12em .6em .15em 0;shape-outside:margin-box}
#scope .hse-art-wrap .hse-art{object-position:100% 50%}

/* ===== ONE PAGE v30: Under the Hood — text + circles left, boxes right ===== */
#scope .uh-two{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,64px);align-items:stretch}
#scope .uh-left{display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,2.2vw,30px)}
#scope .uh-left .qbody{margin:0;text-align:justify;text-justify:inter-word}
#scope .uh-left .rings-v26{width:100%;max-width:640px;align-self:center;height:auto}
#scope .uh-right{display:flex;flex-direction:column;justify-content:center}
#scope .uh-right .boxgrid.boxgrid-stack{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(14px,1.6vw,22px);height:100%;margin:0;background:transparent;border:0;overflow:visible}
#scope .uh-right .boxgrid .bx{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:clamp(16px,1.8vw,24px);flex:1;display:flex;flex-direction:column;justify-content:center}
#scope .uh-right .boxgrid .bx-h{font-size:clamp(15px,1.4vw,18px)}
#scope .uh-right .boxgrid .bx-l{font-size:clamp(14px,1.2vw,16px);line-height:1.5}
@media (max-width:900px){#scope .uh-two{grid-template-columns:1fr}}

#scope .uh-two{margin-top:clamp(22px,2.6vw,36px)}
#scope .uh-left .rings-v26 svg{overflow:visible}

/* ===== ONE PAGE v31 ===== */
/* Story Engine opening: text 1/3, picture 2/3 fading in from the left under the text */
#scope .heng .sb-split.hse-split{grid-template-columns:minmax(0,33%) minmax(0,1fr);position:relative;isolation:isolate}
#scope .heng .hse-p{position:relative;z-index:2;padding-right:clamp(10px,1.4cqw,20px)}
#scope .hse-art-wrap{z-index:1}
#scope .hse-art-wrap .hse-art{left:-22%;width:122%;object-position:100% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 38%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 38%)}
/* body text = the diagram description size; Under the Hood descriptions now the old body size */
#scope .heng .hse-p{font-size:clamp(17px,1.52vw,22px);line-height:1.55}
#scope .uh-left .qbody{font-size:clamp(17px,1.52vw,22px);line-height:1.55}
@media (max-width:760px){#scope .hse-art-wrap .hse-art{left:0;width:100%;-webkit-mask-image:none;mask-image:none}}
/* Weapons intro with the inline Email Hero button */
.se-weap .sw-p .wp-btn-inline{display:inline-block;vertical-align:middle;margin-left:.6em;padding:9px 16px 8px;font-size:11px}
/* Heroic Companies: faded illustration like Heroic Communities */
.wp-comp{position:relative;isolation:isolate;overflow:hidden}
.wp-comp::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url("../images/companies-cover.webp") right bottom/100% auto no-repeat;opacity:.3;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}
.se-weap .wp-comp .wp-desc,.se-weap .wp-comp .wp-name{text-shadow:0 1px 10px rgba(13,30,58,.55)}
/* Valuation placards: white body text */
#weapons .wcat-suite:first-of-type .wp-desc{color:#fff}

#scope .hse-p .hse-inl-logo{height:3.3em;margin:.2em .5em .1em 0}
#scope .heng .hse-p{hyphens:auto;-webkit-hyphens:auto}

/* ===== ONE PAGE v32 ===== */
/* Story Engine opening one line closer to the title */
#scope .heng .sb-split.hse-split{margin-top:clamp(28px,2.6vw,40px)}
/* thin grey divider above Our Weapons (same as the one above Capital Suite) */
#weapons > .wcat-in{border-top:1px solid rgba(255,255,255,.14);padding-top:clamp(36px,4vw,56px)}
/* boy & dog 25% smaller */
#clarity .cp-kid img{height:clamp(176px,18.2vw,263px)}
/* Critical: no assessment block; Venn sized to the paragraph (a little taller top & bottom) */
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-textcol{padding:0;justify-content:center}
:is(#core,#core-more,#bigswing) .crit-light .crit-two{align-items:stretch}
:is(#core,#core-more,#bigswing) .crit-light .crit-vennbox{position:relative;min-height:220px}
:is(#core,#core-more,#bigswing) .crit-light .crit-vennbox .crit-venn{position:absolute;left:50%;top:calc(-1 * clamp(14px,1.6vw,24px));height:calc(100% + 2 * clamp(14px,1.6vw,24px));width:auto;max-width:none;transform:translateX(-50%);margin:0}
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in{padding-bottom:clamp(44px,5vw,72px)}
@media (max-width:820px){:is(#core,#core-more,#bigswing) .crit-light .crit-vennbox{min-height:0}:is(#core,#core-more,#bigswing) .crit-light .crit-vennbox .crit-venn{position:static;transform:none;height:auto;width:min(80vw,320px)}}

:is(#core,#core-more,#bigswing) .crit-light .crit-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-textcol{min-width:0}
@media (max-width:820px){:is(#core,#core-more,#bigswing) .crit-light .crit-two{grid-template-columns:1fr}}

:is(#core,#core-more,#bigswing) .crit-light .crit-vennbox{display:block;width:100%;justify-self:stretch;align-self:stretch;margin:0}

/* ===== ONE PAGE v33 ===== */
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in{padding-top:clamp(14px,2.6vw,40px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-h-v22{margin-top:clamp(14px,1.8vw,24px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-two{margin-top:clamp(18px,2.2vw,30px)}
:is(#core,#core-more,#bigswing) .crit-light .crit-sectors{margin-top:clamp(40px,4.4vw,62px)}
#scope .heng .sb-split.hse-split{grid-template-columns:minmax(0,40%) minmax(0,1fr)}
#scope .hse-art-wrap .hse-art{left:-26%;width:126%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 18%,rgba(0,0,0,.6) 34%,#000 52%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.18) 18%,rgba(0,0,0,.6) 34%,#000 52%)}
#scope #weapons{padding-top:clamp(28px,3.6vw,54px)}

/* ===== ONE PAGE v34 ===== */
/* Story Engine opening aligned to the same content margins as the other sections; lighter text */
#scope .heng .sb-split.hse-split{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));margin-left:auto;margin-right:auto}
#scope .heng .hse-p{color:#e3ecf7}
/* Critical: paragraph, Venn and icons down 1.5 lines (title stays) */
:is(#core,#core-more,#bigswing) .crit-light .crit-two{margin-top:clamp(44px,5vw,74px)}

/* Our Weapons on white (trial) */
#scope #weapons{background:#fff;background-image:none;color:var(--ink)}
#scope #weapons > .wcat-in{border-top-color:var(--rule)}
#weapons .sw-h{color:var(--navy)}
#weapons .sw-h em,#weapons .wcat-sn em{color:#8fb0d6}
#weapons .sw-p{color:var(--ink)}
#weapons .sw-p .wp-btn-inline{background:var(--navy);color:#fff;border:0}
#weapons .sw-p .wp-btn-inline:hover{background:var(--red);color:#fff}
#weapons .wcat-se{color:var(--muted)}
#weapons .wcat-sn{color:var(--navy)}
#weapons .wcat-sl{color:var(--ink)}
#weapons .wcat-suite + .wcat-suite{border-top-color:var(--rule)}
#weapons .wplate{background:#fff;border:2px solid var(--mark);border-radius:6px;box-shadow:0 1px 2px rgba(20,40,75,.06),0 10px 30px rgba(20,40,75,.08)}
#weapons .wplate:hover,#weapons .wplate:focus-within{background:#fff}
#weapons .wplate[style*="ff5a52"]{--mark:#e35d55}
#weapons .wplate[style*="4f9fe0"]{--mark:#1b62b3}
#weapons .wplate[style*="4fc39a"]{--mark:#2e9a73}
#weapons .wplate[style*="e3bd6a"]{--mark:#c9a14a}
#weapons .wplate .screw{background:#cfd8e4;box-shadow:none}
#weapons .wplate .screw::after{background:#9aa9bd}
#weapons .wp-name{color:var(--navy)}
#weapons .wp-sub{color:var(--mark)}
#weapons .wp-rule{background:var(--rule)}
#weapons .wp-desc,#weapons .wcat-suite:first-of-type .wp-desc{color:var(--ink);font-size:clamp(14.5px,1.25vw,16px)}
#weapons .wp-note{color:var(--muted);border-left-color:var(--rule)}
#weapons .wp-note b{color:var(--navy)}
#weapons .wp-ic{background:#fff}
#weapons .wp-team{background:var(--navy)}
#weapons .wp-comm::before,#weapons .wp-comp::before{opacity:.42}
#weapons .wp-comm .wp-desc,#weapons .wp-comm .wp-name,#weapons .wp-comp .wp-desc,#weapons .wp-comp .wp-name{text-shadow:0 0 12px #fff,0 0 4px #fff}

#scope .heng-band .sb-in{max-width:none;margin-left:0;margin-right:0}

#weapons .wp-comp::before{opacity:.2}
#weapons .wp-comp .wp-note{background:rgba(255,255,255,.75)}

/* ===== ONE PAGE v35: Weapons ===== */
#weapons .sw-p .wp-btn-inline{display:table;margin:clamp(14px,1.6vw,20px) 0 0 auto;padding:11px 20px 10px;font-size:11.5px}
#weapons .wp-head{align-items:flex-start}
#weapons .wp-tagcol{display:flex;flex-direction:column;align-items:stretch;width:max-content;gap:8px}
#weapons .wp-note.wp-note-tag{width:0;min-width:100%;margin:0;padding:0 0 0 8px;font-size:11px;line-height:1.45;border-left:2px solid var(--rule)}
#weapons .wp-comp::before{opacity:.4}
#weapons .wp-hands .wp-tag{background:var(--mark);color:#fff}
#weapons .wp-hands .wp-ic{color:var(--mark);border-color:var(--mark)}
/* faded art in the Capital cards */
#weapons .wp-yy,#weapons .wp-hands{position:relative;isolation:isolate;overflow:hidden}
#weapons .wp-yy::before,#weapons .wp-hands::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:50%;right:-4%;width:46%;aspect-ratio:1;transform:translateY(-50%);
  background:center/contain no-repeat;opacity:.28;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);mask-image:linear-gradient(90deg,transparent 0,#000 55%)}
#weapons .wp-yy::before{background-image:url("../images/capital-relationship.webp")}
#weapons .wp-hands::before{background-image:url("../images/capital-hands.webp");opacity:.32}
#weapons .wp-yy .wp-desc,#weapons .wp-hands .wp-desc,#weapons .wp-yy .wp-name,#weapons .wp-hands .wp-name{text-shadow:0 0 10px #fff,0 0 3px #fff}

/* ===== ONE PAGE v35: Story Services (navy) + Heroic Stories & Strategies / Map Your Story (white) ===== */
#advisory .sa-top.sa-navy{padding-top:clamp(40px,4.6vw,66px)}
#advisory .smb-dark2 .smb-dark-in{padding-top:clamp(22px,2.6vw,36px)}
#advisory .ss-white{margin:0 calc(50% - 50vw);background:#fff}
#advisory .hsvc.hsvc-white{margin:0;background:#fff;color:var(--navy);padding-top:clamp(52px,5.6vw,80px);padding-bottom:clamp(20px,2.6vw,36px)}
#advisory .hsvc-white .hsvc-h{color:var(--navy)}
#advisory .hsvc-white .hsvc-h .hs-red{color:var(--red)}
#advisory .hsvc-white .hsvc-h .hs-blue{color:#8fb0d6}
#advisory .hsvc-white .hs-k-t{color:var(--navy)}
#advisory .hsvc-white .hsvc-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,2.6vw,40px);row-gap:24px;align-items:stretch}
#advisory .hsvc-white .hsvc-grid .svc{grid-column:auto;grid-row:1;margin:0;padding-right:0}
#advisory .hsvc-white .svc-team{--svc:#5b8fc9}
#advisory .hsvc-white .svc-dossier{--svc:var(--red)}
#advisory .hsvc-white .svc-sling{--svc:var(--navy)}
#advisory .hsvc-white .svc h4{color:var(--navy);font-size:clamp(18px,1.6vw,22px)}
#advisory .hsvc-white .svc p{color:var(--ink);font-size:clamp(15.5px,1.3vw,17.5px);text-align:left}
#advisory .hsvc-white .svc p b{color:var(--navy)}
#advisory .hsvc-white .svc p .b-red,#advisory .hsvc-white .svc p .svc-see-in{color:var(--red)}
#advisory .hsvc-white .svc p .b-blue{color:var(--blue)}
#advisory .ss-white .heng-cta{margin:0;max-width:none}
#advisory .ss-white .hs-cta-v31{padding-top:clamp(40px,4.4vw,64px)}
#advisory .wp-comm::before{content:none}
#advisory .se-weap-white .wp-comm{padding-bottom:clamp(18px,2vw,26px);height:auto}
@media (max-width:900px){#advisory .hsvc-white .hsvc-grid{grid-template-columns:1fr}#advisory .hsvc-white .hsvc-grid .svc{grid-row:auto}}

#advisory .se-weap-white .wp-comm .wpw-center{justify-content:center;padding-top:0;padding-bottom:clamp(20px,2.4vw,34px)}
#weapons .wp-comp .wp-tagcol{position:absolute;top:22px;right:24px;z-index:2}
#weapons .wp-comp .wp-note.wp-note-tag{font-size:10.5px;line-height:1.4;background:rgba(255,255,255,.82)}
#weapons .wp-comp .wp-name,#weapons .wp-comp .wp-sub{max-width:calc(100% - 170px)}

/* ===== ONE PAGE v36: Story Advisory ===== */
#advisory .sa-navy .sa-h{font-size:clamp(28px,5.5vw,64px);letter-spacing:-.035em;line-height:1.05}
#advisory .sa-navy .sa-in::after{height:1px;transform:scaleY(.5);transform-origin:top;opacity:.7}
/* Map (1) and Evaluate (2) stacked on the left; network art on the right beside both */
#advisory .sp-grid2 > .sp-row1{grid-column:1;grid-row:1}
#advisory .sp-grid2 > .sp-art{grid-column:2;grid-row:1 / span 2}
#advisory .sp-grid2 > .sp-step:not(.sp-row1):nth-of-type(3){grid-column:1;grid-row:2}
#advisory .sp-grid2 > .sp-step:not(.sp-row1):nth-of-type(4){grid-column:1;grid-row:3}
#advisory .sp-grid2 > .sp-left{grid-column:2;grid-row:3}
#advisory .sp-row1 .step{width:100%}
@media (max-width:900px){#advisory .sp-grid2 > *{grid-column:1 !important;grid-row:auto !important}}

#advisory .smb-dark2{margin-top:-2px;position:relative}
#advisory .step-hd.sp-hd-big h4{font-size:26px!important}
#advisory .step-hd.sp-hd-big .say{font-size:clamp(15px,1.43vw,20.5px)!important}
#advisory .step-hd.sp-hd-big{font-size:inherit}

/* ===== ONE PAGE v37: Story Advisory from the outline ===== */
#advisory .sa-navy .sa-sub .hs-red{color:#ff7a72}
#advisory .sa-navy .sa-sub .hs-blue{color:#8fb0d6}
#advisory .sp-step .step p b{color:#fff;font-weight:600}
/* white: four story types */
#advisory .hss{background:#fff;padding:clamp(52px,5.6vw,80px) var(--gut) clamp(56px,6vw,90px)}
#advisory .hss-in{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));margin:0 auto}
#advisory .hss-h{font-family:var(--display);font-weight:700;color:var(--navy);text-align:center;font-size:clamp(28px,5.5vw,64px);letter-spacing:-.035em;line-height:1.05;margin:0}
#advisory .hss-h em{font-style:normal;color:#8fb0d6}
#advisory .hss-k{margin:clamp(30px,3.6vw,50px) 0 0}
#advisory .hss-k .hs-k-t{color:var(--navy)}
#advisory .hss-row{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:clamp(24px,3.6vw,56px);padding:clamp(28px,3.2vw,44px) 0;border-top:1px solid var(--rule)}
#advisory .hss-k + .hss-row{border-top:0}
#advisory .hss-t{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;line-height:1.1;margin:0}
#advisory .hss-t em{font-style:normal;color:#8fb0d6}
#advisory .hss-sub{margin:6px 0 0;font-family:var(--display);font-weight:600;color:var(--red);font-size:clamp(15px,1.3vw,18px)}
#advisory .hss-icons{list-style:none;margin:clamp(14px,1.6vw,20px) 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
#advisory .hss-icons li{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:clamp(11.5px,.95vw,13px);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
#advisory .hss-ic{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rule);color:var(--blue)}
#advisory .hss-ic svg{width:18px;height:18px}
#advisory .hss-body{align-self:center}
#advisory .hss-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,44px)}
#advisory .hss-svc h4{color:var(--navy);font-size:clamp(18px,1.6vw,22px)}
#advisory .hss-svc h4 .h4-it{font-style:italic;font-weight:700}
#advisory .hss-svc p{color:var(--ink);font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.6;text-align:left}
#advisory .hss-svc p:first-child{margin-top:0}
#advisory .hss-svc p b{color:var(--navy);font-weight:600}
#advisory .hss-svc .b-red{color:var(--red);font-weight:600}
#advisory .hss-svc .b-blue{color:var(--blue);font-weight:600}
@media (max-width:900px){#advisory .hss-row{grid-template-columns:1fr}#advisory .hss-two{grid-template-columns:1fr}}

#advisory .sp-grid2 > .sp-step:not(.sp-row1):nth-of-type(4){justify-content:flex-start;padding-top:clamp(30px,2.6vw,38px)}

/* ===== ONE PAGE v38: Lab of Big Swings header ===== */
#slingshots .lab-hd.lab-hd-v38{display:grid;grid-template-columns:clamp(120px,12.5vw,170px) minmax(0,1fr) minmax(0,.9fr);align-items:center;justify-content:stretch;gap:clamp(22px,3vw,48px);margin-left:auto;margin-right:auto}
#slingshots .lab-hd-v38 .lab-hd-mark{width:100%;justify-self:start}
#slingshots .lab-hd-v38 .lab-hd-copy{text-align:left}
#slingshots .lab-hd-v38 .lab-sub{max-width:none}
#slingshots .lab-hd-v38 .lab-lead{color:#dbe6f3;font-size:clamp(16px,1.35vw,18.5px);line-height:1.55;margin-top:clamp(12px,1.4vw,18px)}
#slingshots .lab-hd-people{justify-content:flex-end}
#slingshots .lab-hd-people img{width:100%;max-width:520px;height:auto}
@media (max-width:900px){#slingshots .lab-hd.lab-hd-v38{grid-template-columns:1fr;justify-items:center}#slingshots .lab-hd-v38 .lab-hd-mark{width:140px;justify-self:center}}

#slingshots .lab-hd.lab-hd-v38{max-width:1240px;width:100%;box-sizing:border-box;padding-left:0;padding-right:0}

#slingshots .lab-hd-v38 .lab-hd-people{min-width:0;width:100%;display:flex;justify-content:flex-end}
#slingshots .lab-hd-v38 .lab-hd-people img{width:100%!important;max-width:520px!important;height:auto}

/* ===== ONE PAGE v39: Lab of Big Swings header — title centred, art 1/3 left, text 2/3 ===== */
#slingshots .lab-hd.lab-hd-v39{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(28px,4vw,64px);row-gap:clamp(18px,2vw,28px);
  align-items:center;max-width:1240px;width:100%;margin-left:auto;margin-right:auto;padding:0}
#slingshots .lab-hd-v39 .lab-h-center{grid-column:1 / -1;text-align:center;margin:0}
#slingshots .lab-hd-v39 .lab-h-center::before{margin-left:auto;margin-right:auto}
#slingshots .lab-art{position:relative;container-type:inline-size;width:100%}
#slingshots .lab-art .lab-art-mark{position:absolute;left:0;top:0;width:26cqw;margin:0}
#slingshots .lab-art .lab-art-mark svg{width:100%;height:auto;display:block}
#slingshots .lab-art .lab-art-img{display:block;width:100%;height:auto;margin-top:calc(3.9cqw + 48px)}
#slingshots .lab-hd-v39 .lab-hd-copy{text-align:left}
#slingshots .lab-hd-v39 .lab-sub{max-width:none}
#slingshots .lab-hd-v39 .lab-lead{color:#dbe6f3;font-size:clamp(17px,1.5vw,20px);line-height:1.6;margin-top:0;text-align:justify;text-justify:inter-word}
#slingshots .lab-hd-v39 .lab-lead + .lab-sub{font-size:clamp(16px,1.35vw,18.5px);margin-top:clamp(14px,1.6vw,20px)}
@media (max-width:900px){#slingshots .lab-hd.lab-hd-v39{grid-template-columns:1fr}#slingshots .lab-art{max-width:420px;justify-self:center}#slingshots .lab-hd-v39 .lab-lead{text-align:left}}

/* ===== ONE PAGE v40: Lab header — logo top-left, title over the text, red line under ===== */
#slingshots .lab-hd.lab-hd-v40{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(28px,4vw,64px);row-gap:48px;
  max-width:1240px;width:100%;margin:0 auto;padding:0}
#slingshots .lab-mark40{grid-column:1;grid-row:1;width:clamp(120px,12.5vw,180px);margin:0}
#slingshots .lab-mark40 svg{width:100%;height:auto;display:block}
#slingshots .lab-h40{grid-column:2;grid-row:1;align-self:end;margin:0;text-align:left;padding-bottom:16px;position:relative}
#slingshots .lab-h40::before{content:none!important}
#slingshots .lab-h40::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;border-radius:2px;background:var(--red)}
#slingshots .lab-art40{grid-column:1;grid-row:2}
#slingshots .lab-art40 img{display:block;width:100%;height:auto;margin:0}
#slingshots .lab-hd-v40 .lab-hd-copy{grid-column:2;grid-row:2;align-self:start;text-align:left}
#slingshots .lab-hd-v40 .lab-sub{max-width:none}
#slingshots .lab-hd-v40 .lab-lead{color:#dbe6f3;font-size:clamp(17px,1.5vw,20px);line-height:1.6;margin-top:0;text-align:justify;text-justify:inter-word}
#slingshots .lab-hd-v40 .lab-lead + .lab-sub{font-size:clamp(16px,1.35vw,18.5px);margin-top:clamp(14px,1.6vw,20px)}
@media (max-width:900px){#slingshots .lab-hd.lab-hd-v40{grid-template-columns:1fr;row-gap:20px}#slingshots .lab-hd-v40>*{grid-column:1!important;grid-row:auto!important}#slingshots .lab-hd-v40 .lab-lead{text-align:left}}

#slingshots .lab.lab-dark{padding-top:26px}
#slingshots .lab-hd.lab-hd-v40{margin-top:0}

/* ===== ONE PAGE v41: labeled world map replaces the boy & dog in Core Focus ===== */
#clarity .cp-map{margin:clamp(22px,2.6vw,36px) 0 0;width:100%}
#clarity .cp-map .wm-svg{display:block;width:100%;height:auto}

/* ===== ONE PAGE v43: labeled world map, full width under the Core Focus columns ===== */
#clarity .cp-map.cp-map-full{margin:clamp(8px,1.4vw,20px) 0 clamp(36px,4vw,56px);width:100%}
#clarity .cp-two{padding-bottom:0}

/* ===== ONE PAGE v44: map beside Who We Serve (where the boy & dog sat) ===== */
#clarity .cp-two{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
#clarity .cp-map.cp-map-side{margin:clamp(14px,1.8vw,26px) 0 0;width:100%}
#clarity .cp-map.cp-map-side .wm-svg{display:block;width:100%;height:auto}
#clarity .cp-serve{width:min(100%,360px)}
@media (max-width:900px){#clarity .cp-two{grid-template-columns:1fr}}

/* ===== ONE PAGE v45: intro across the row; Who We Serve bottom-aligned with the map ===== */
#clarity .cl-cp .cp-intro.cp-intro-full{margin:clamp(22px,2.8vw,38px) 0 0}
#clarity .cp-intro-full .cl-svc-p{font-size:clamp(18px,1.75vw,24.5px);line-height:1.6;text-align:justify;text-justify:inter-word}
#clarity .cp-two{margin-top:clamp(26px,3vw,42px);align-items:stretch}
#clarity .cp-serve{align-self:end}
@media (max-width:760px){#clarity .cp-intro-full .cl-svc-p{text-align:left}}

#clarity .cp-left{padding-bottom:0;margin-bottom:0}
#clarity .cp-left > *:last-child{margin-bottom:0}
#clarity .cp-two > *{margin-bottom:0}

#clarity .cp-serve .cl-serve-grid li{padding-top:clamp(6px,.55vw,9px);padding-bottom:clamp(6px,.55vw,9px)}
#clarity .cp-two{align-items:end}
#clarity .cp-left{align-self:start}

/* ===== ONE PAGE v47 ===== */
:is(#core,#core-more,#bigswing) .crit-light .crit-sub{text-align:justify;text-justify:inter-word;hyphens:auto}
/* Story Engine: subtitle; text column ends under the "t" of Story (set by script) */
#scope .hse-sub-v47{margin:clamp(8px,1vw,14px) 0 0;text-align:center;font-family:var(--display);font-weight:700;color:#fff;font-size:clamp(18px,2.1vw,30px);letter-spacing:-.02em}
#scope .hse-sub-v47 .hs-red{color:#ff7a72}
#scope .hse-sub-v47 .hs-blue{color:#8fb0d6}
#scope .heng .sb-split.hse-split{grid-template-columns:minmax(0,var(--se-tw,40%)) minmax(0,1fr)}
/* Weapons: shared right margin, justified */
#weapons .wcat-in{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px))}
#weapons .sw-p,#weapons .wcat-sl,#weapons .wp-desc{text-align:justify;text-justify:inter-word;hyphens:auto}
/* Story Advisory process */
#advisory .sp-head{margin-bottom:clamp(22px,2.6vw,36px)}
#advisory .sp-step .step p{text-align:justify;text-justify:inter-word;hyphens:auto}
#advisory .sp-grid2{grid-template-rows:auto auto auto;row-gap:clamp(30px,3.4vw,48px);align-content:start}
#advisory .sp-grid2 > .sp-art{grid-column:2;grid-row:1 / span 3;min-height:0;align-self:stretch}
#advisory .sp-grid2 > .sp-step:not(.sp-row1):nth-of-type(4){padding-top:0;justify-content:flex-start}
#advisory .sp-grid2 > .sp-step{justify-content:flex-start}
#advisory .ha-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);margin-top:clamp(36px,4vw,56px)}
#advisory .ha-card{display:flex;align-items:center;gap:12px;padding:clamp(14px,1.4vw,18px) clamp(14px,1.4vw,18px);border:1px solid rgba(255,255,255,.12);border-top:2px solid #ff7a72;border-radius:8px;background:rgba(255,255,255,.04)}
#advisory .ha-n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:#9ec4ea;flex:0 0 auto}
#advisory .ha-card h4{margin:0;font-family:var(--display);font-weight:700;color:#fff;font-size:clamp(14px,1.15vw,16px);line-height:1.3}
@media (max-width:900px){#advisory .ha-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* bullets in story types */
#advisory .hss-bul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
#advisory .hss-bul li{position:relative;padding-left:18px;color:var(--ink);font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.6;text-align:justify;text-justify:inter-word;hyphens:auto}
#advisory .hss-bul li::before{content:"";position:absolute;left:2px;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--svc)}
#advisory .hss-bul li b{color:var(--navy);font-weight:600}
#advisory .hss-bul .b-red{color:var(--red);font-weight:600}
#advisory .hss-bul .b-blue{color:var(--blue);font-weight:600}

#scope .heng .hse-p{padding-right:0}

/* ===== ONE PAGE v48 ===== */
#scope .hse-sub-v47{font-size:clamp(15px,1.6vw,22px)}
/* Weapons: Contact us inline after "team."; content up a line */
#weapons .sw-p .wp-btn-inline.wp-btn-after{display:inline-block;margin:0 0 0 2.2em;vertical-align:text-top;padding:6px 14px 5px;font-size:11px;line-height:1.2;position:relative;top:.05em}
#weapons .sw-p{margin-bottom:clamp(30px,3.2vw,46px)}
/* Process label up a line */
#advisory .smb-dark2 .smb-dark-in{padding-top:clamp(2px,.6vw,10px)}
/* network graphic out to the right margin */
#advisory .sp-grid2 > .sp-art{margin-right:calc(-1 * clamp(0px,(100vw - 1240px) / 2,80px))}
#advisory .sp-art .sp-net{left:0!important;right:0!important;width:100%!important}
/* story types */
#weapon-heroic-companies{scroll-margin-top:90px}
#advisory .hss-btn{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-family:var(--display);font-weight:600;font-size:clamp(13px,1.05vw,15px)}
#advisory .hss-btn:hover{background:var(--navy)}
#advisory .hss-p{color:var(--ink);font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.6;margin:8px 0 0;text-align:justify;text-justify:inter-word;hyphens:auto}
#advisory .hss-p b{color:var(--navy);font-weight:600}
#advisory .hss-p .b-red{color:var(--red)}
#advisory .hss-p .b-blue{color:var(--blue)}
#advisory .hss-t{font-size:clamp(26px,2.6vw,36px)}
#advisory .hss-t i{font-style:normal;color:var(--red)}
#advisory .hss-icons li{font-size:clamp(12.5px,1.05vw,14px)}
#advisory .hss-ic{width:46px;height:46px;flex:0 0 46px}
#advisory .hss-ic svg{width:25px;height:25px}
/* Lab header: composite in the left column, title + text on the right */
#slingshots .lab-hd.lab-hd-v40{grid-template-rows:auto auto}
#slingshots .lab-comp{grid-column:1;grid-row:1 / span 2;position:relative;width:100%;max-width:340px;aspect-ratio:1 / 1.02;align-self:start}
#slingshots .lc-word{position:absolute;top:0;left:0;right:0;text-align:center;font-family:Jost,Archivo,sans-serif;font-weight:500;letter-spacing:.28em;color:#fff;font-size:clamp(18px,1.9vw,26px)}
#slingshots .lc-word span{color:#e35d55}
#slingshots .lc-circle{position:absolute;top:13%;right:2%;width:58%}
#slingshots .lc-circle svg{display:block;width:100%;height:auto}
#slingshots .lc-kid{position:absolute;left:0;bottom:0;width:78%;height:auto}
#slingshots .lab-hd-v40 .lab-h40{grid-row:1}
#slingshots .lab-hd-v40 .lab-hd-copy{grid-row:2}
@media (max-width:900px){#slingshots .lab-comp{grid-row:auto;justify-self:center;max-width:280px}}

#slingshots .lab-comp{aspect-ratio:1 / 1.1;max-width:320px;margin-top:clamp(6px,1vw,14px)}
#slingshots .lc-circle{top:15%;right:4%;width:56%}
#slingshots .lc-kid{width:66%;left:2%}

/* ===== ONE PAGE v49 ===== */
/* Story Engine: Hero logo 25% larger, glass bottom level with the bottom of line 1 */
#scope .hse-p .hse-inl-logo{height:4.125em;margin:-2.65em .55em .1em 0}
/* divider between the map and Critical Scope, like the one above Capital Suite */
#clarity{padding-bottom:clamp(30px,4vw,54px)!important}
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in{position:relative;padding-top:clamp(26px,3.4vw,44px)!important}
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in::before{content:"";position:absolute;top:0;left:var(--gut);right:var(--gut);height:1px;background:var(--rule)}
/* Transaction + KYE side by side */
#advisory .hss-row.hss-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
#advisory .hss-half{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px)}
#advisory .hss-half .hss-icons{flex-direction:row;flex-wrap:wrap;gap:10px 22px}
#advisory .hss-half .hss-body{align-self:stretch}
#advisory .hss-half .hss-svc p{text-align:justify;text-justify:inter-word;hyphens:auto}
#advisory .hss{padding-bottom:clamp(8px,1.2vw,40px)}
@media (max-width:900px){#advisory .hss-row.hss-pair{grid-template-columns:1fr}}
/* Slingshots: S logo 25% smaller */
#slingshots .lc-circle{width:42%;top:17%;right:8%}

/* ===================== ONE PAGE v50: consistency pass ===================== */
:root{--cw:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px));
  --sec-pt:clamp(30px,3.2vw,46px);--sec-gap:clamp(34px,3.6vw,52px);--sec-pb:clamp(52px,5.4vw,78px);
  --t-title:clamp(34px,4.2vw,60px);--t-sub:clamp(16px,1.9vw,24px);--t-body:clamp(18px,2vw,26.5px)}
/* divider at every colour change (2px — a touch heavier than the old 1px suite line) */
.sec-line{display:block;height:2px;border-radius:2px;width:min(var(--cw),calc(100vw - 2 * var(--gut)));
  margin:var(--sec-pt) 0 var(--sec-gap) calc(50% - min(var(--cw),calc(100vw - 2 * var(--gut))) / 2)}
.sec-line-light{background:#cdd6e2}
.sec-line-dark{background:rgba(255,255,255,.22)}
/* divider that carries a title (Core Focus) */
.sec-title-line{display:flex;align-items:center;gap:clamp(14px,1.6vw,22px);margin:var(--sec-pt) 0 var(--sec-gap);
  font-family:var(--mono);font-weight:600;font-size:clamp(14px,1.6vw,19px);letter-spacing:.18em;text-transform:uppercase}
.sec-title-line::after{content:"";flex:1;height:2px;border-radius:2px}
.sec-tl-light{color:#d9473f}.sec-tl-light::after{background:#cdd6e2}
/* sub-section titles inside a same-colour run: the Under the Hood style */
.sub-k{display:flex;align-items:center;gap:clamp(14px,1.6vw,22px);font-family:var(--mono);font-weight:600;font-size:clamp(14px,1.6vw,19px);
  letter-spacing:.18em;text-transform:uppercase;color:#d9473f;margin:0}
.sub-k::after{content:"";flex:1;height:1px;background:currentColor;opacity:.85}
.sub-k.sub-k-dark,#scope .sect-k{color:#ff7a72}
#scope .heng-uh-dark .sect-k::after{background:#ff7a72;height:1px}
/* zero the old top spacing so the divider sets it */
#clarity{padding-top:0!important}
#clarity .cl-cp > .cl-urso{margin-top:0}
#scope .smb-hero-plain .hse-top{padding-top:0!important}
#weapons{padding-top:0!important}
#weapons > .wcat-in{border-top:0!important;padding-top:0!important;margin-top:0!important}
#advisory .sa-top.sa-navy{padding-top:0!important}
#advisory .hss{padding-top:0!important}
#slingshots .lab.lab-dark{padding-top:0!important;margin-top:0!important}
#story .who-block{padding-top:0!important}
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in::before{content:none}
:is(#core,#core-more,#bigswing) .crit-hero2 .crit-in{padding-top:var(--sec-gap)!important}
/* top-level titles = "Heroic Simplifies." */
.driven .dv-h,#clarity .cl-urso,.crit-hero2 .crit-h-v22,#scope .hse-title-v30,#weapons .sw-h,#advisory .sa-h,#advisory .hss-h,#slingshots .lab-h40,#bigswing .sl-h,#story .who-copy .dhead{
  font-family:var(--display)!important;font-weight:700!important;font-size:var(--t-title)!important;letter-spacing:-.025em!important;line-height:1.1!important}
/* subtitles = "Interconnected. Complicated. Constantly changing." */
#scope .hse-sub-v47,#advisory .sa-sub{font-family:var(--display)!important;font-weight:600!important;font-size:var(--t-sub)!important;letter-spacing:-.015em!important;line-height:1.55!important}
/* body text = the Critical paragraph */
#clarity .cp-intro p,.crit-hero2 .crit-sub2,#scope .hse-p,#scope .uh-left .qbody,#weapons .sw-p,#weapons .wcat-sl,#advisory .sp-step .step p,
#advisory .hss-bul li,#advisory .hss-p,#advisory .hss-svc p,#slingshots .lab-sub,#bigswing .sl-p,#story .qbody{
  font-family:'Source Sans 3',system-ui,sans-serif!important;font-weight:400;font-size:var(--t-body)!important;line-height:1.5!important}
/* keep the inline Hero logo at its size; glass bottom on the first line */
#scope .hse-p .hse-inl-logo{font-size:clamp(17px,1.52vw,22px);height:4.125em;margin:-2.45em .55em .1em 0}
/* Core Focus: map first, Map > Evaluate > Build under it; Who We Serve ends with that row */
#clarity .cp-left .cp-map{margin-top:0}
#clarity .cp-left .cp-flow{margin:clamp(16px,1.8vw,26px) 0 0}

#clarity,#scope .smb-hero-plain,#weapons,#advisory .sa-top.sa-navy,#advisory .ss-white,#slingshots .lab.lab-dark,#story,.crit-hero2,#scope .heng-uh-dark,#advisory .smb-dark2,#bigswing .sling2{display:flow-root}
#scope #weapons{margin-top:0!important}

/* uniform section bottoms */
#driven.driven{padding-bottom:calc(var(--sec-pb) - 2px)!important}
.crit-hero2 .crit-in{padding-bottom:calc(var(--sec-pb) - 2px)!important}
#scope .heng-uh-dark .hsect.uh.last{padding-bottom:calc(var(--sec-pb) - 30px)!important}
#weapons.se-weap{padding-bottom:var(--sec-pb)!important}
#advisory .smb-dark2 .smb-dark-in{padding-bottom:calc(var(--sec-pb) - 3px)!important}
#heroic-stories.hss{padding-bottom:max(0px,calc(var(--sec-pb) - 44px))!important}
#core-sling.sling2{padding-bottom:calc(var(--sec-pb) - 28px)!important}
#story .who-block{margin-top:0!important}

#scope .hse-title-v30{gap:0 .26em!important}
#advisory .hss .sub-k{margin:var(--sec-gap) 0 clamp(22px,2.4vw,34px)!important}
#advisory .hss .sub-k + .hss-row{border-top:0!important;margin-top:0!important;padding-top:0!important}
#story{--st-w:min(var(--cw),calc(100vw - 2 * var(--gut)))}

#scope .heng-band,#scope .storyband{overflow:hidden}

/* ============================================================
   v51 (Oct 18 2026)
   ============================================================ */
/* Critical Scope: blue target-scope icon right after the label; the rule starts after it */
.sub-k.sub-k-ic .sk-ic{width:1.35em;height:1.35em;flex:0 0 auto;color:var(--blue);margin-left:calc(-1 * clamp(14px,1.6vw,22px) + .45em)}

/* Story Engine: the navy band runs full-bleed (no white blocks either side) */
#scope .heng.heng-band{overflow:visible}
@media (max-width:760px){
  #scope .heng .sb-split.hse-split{grid-template-columns:1fr!important;width:auto}
}

/* Story Advisory: same outer margins as the sections above; no red rule under the subtitle */
#advisory .sa-in{max-width:calc(1240px - 2 * var(--gut) + 2 * clamp(0px,(100vw - 1240px) / 2,80px))}
#advisory .sa-in::after{content:none!important;display:none!important}
#advisory .sa-top.sa-navy{padding-bottom:0!important}
#advisory .smb-dark-in{max-width:calc(1240px + 2 * clamp(0px,(100vw - 1240px) / 2,80px));padding-left:var(--gut);padding-right:var(--gut)}
#advisory .smb-dark2 .smb-dark-in{padding-top:calc(1.2 * var(--sa-ln) + clamp(2px,.6vw,10px))}
#advisory .smb-dark2{overflow-x:clip}

/* Heroic Strategies & Stories (v51 rows) */
#advisory .hss-v51{grid-template-columns:clamp(200px,18vw,250px) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
#advisory .hss-v51 .hss-body{align-self:stretch}
#advisory .hss-v51 .hss-svc{display:flex;flex-direction:column}
#advisory .hss-v51 .hss-svc .hss-p,#advisory .hss-v51 .hss-bul li{text-align:left;hyphens:manual}
#advisory .hss-v51 .hss-btn{align-self:center;margin-top:auto;transform:translateY(clamp(14px,1.6vw,20px))}
#advisory .hss-v51 .hss-two{padding-bottom:clamp(14px,1.6vw,20px)}
#advisory .hss-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.6vw,40px)}
#advisory .hss-svc .hss-tag{font-weight:600;line-height:1.4;margin:4px 0 0;font-family:var(--mono);font-size:clamp(10.5px,.85vw,12px);letter-spacing:.1em;text-transform:uppercase;color:var(--svc)}
#advisory .hss-svc h4 i{font-style:normal;color:var(--red)}
/* combined icon list, grouped to match the three blocks */
#advisory .hss-groups{gap:9px}
#advisory .hss-groups li.g-first{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}
#advisory .hss-groups .g-dos .hss-ic{color:var(--navy);border-color:#9fb0c6}
#advisory .hss-groups .g-trx .hss-ic{color:#3f7fa5;border-color:#a9c7dc}
#advisory .hss-groups .g-kye .hss-ic{color:var(--red);border-color:#f0b7b2}
@media (max-width:1100px){#advisory .hss-three{grid-template-columns:1fr}}
@media (max-width:900px){
  #advisory .hss-v51{grid-template-columns:1fr}
  #advisory .hss-v51 .hss-icons{flex-direction:row;flex-wrap:wrap;gap:10px 22px}
  #advisory .hss-groups li.g-first{margin-top:0;padding-top:0;border-top:0}
  #advisory .hss-v51 .hss-btn{transform:none;margin-top:16px}
  #advisory .hss-v51 .hss-two{padding-bottom:0}
}

/* ============================================================
   v52 (Oct 18 2026)
   ============================================================ */
/* Story Advisory: Heroic Actions as a 2 x 2 opposite step 3, same height as that block */
#advisory .sp-grid2 > .sp-art{grid-row:1 / span 2}
#advisory .sp-grid2 > .ha-row.ha-in{grid-column:2;grid-row:3;margin:0;align-self:stretch;
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
#advisory .ha-in .ha-card{min-height:0}
@media (max-width:900px){#advisory .sp-grid2 > .ha-row.ha-in{grid-template-rows:none}}

#advisory .ha-in{gap:clamp(8px,.9vw,12px)}
#advisory .ha-in .ha-card{padding:clamp(8px,.8vw,11px) clamp(12px,1.1vw,16px);gap:10px}
#advisory .ha-in .ha-card h4{font-size:clamp(13px,1vw,14.5px);line-height:1.25}
/* one even navy from the placards into Big Swing: drop the Lab's bottom-left glow */
#slingshots .lab.lab-dark{background-image:radial-gradient(900px 520px at 88% -10%,rgba(255,90,82,.14),transparent 62%)}
/* Heroic Strategies & Stories: titles up one size, body down one size (the five story blocks) */
#advisory .hss-v51 .hss-svc h4{font-size:clamp(21px,1.95vw,27px)}
#advisory .hss-v51 .hss-p,#advisory .hss-v51 .hss-bul li{font-size:clamp(16px,1.6vw,22px)!important}

/* Their Team: small group titles that open each thin rule */
#advisory .hss-groups li.g-label{display:flex;align-items:center;gap:8px;margin-top:14px;
  font-size:clamp(10px,.8vw,11px);font-weight:600;letter-spacing:.14em}
#advisory .hss-groups li.g-label::after{content:"";flex:1;height:1.5px;border-radius:2px;background:currentColor;opacity:.6}
#advisory .hss-groups li.g-label.g-trx{color:#3f7fa5}
#advisory .hss-groups li.g-label.g-kye{color:var(--red)}
@media (max-width:900px){#advisory .hss-groups li.g-label{flex-basis:100%;margin-top:6px}}

/* Slingshot placards: marks at 75% */
#slingshots .lp-mark{width:48px;height:48px;border-radius:10.5px;margin-bottom:11px}
#slingshots .lp-mark svg{width:25px;height:25px}
#slingshots .lp-mark-img{width:48px;height:48px;padding:0 4px}
#slingshots .lp-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
#slingshots .lp-list li{position:relative;padding-left:16px;color:#c9d6e6;font-size:clamp(14.5px,1.15vw,16px);line-height:1.45}
#slingshots .lp-list li::before{content:"";position:absolute;left:1px;top:.6em;width:6px;height:6px;border-radius:50%;background:#ff7a72}

/* Big Swing: same background as the Lab above, opened by a thin red rule */
#slingshots .lab.lab-dark{padding-bottom:clamp(40px,4.6vw,64px)!important}
#bigswing .sling2{background:var(--navy-deep);background-image:none;padding-top:0!important}
#bigswing .sl-rule{height:1px;background:#ff7a72;opacity:.85;margin:0 0 clamp(36px,4.4vw,60px)}
#bigswing .sl-cta + .sw-grid{margin-top:clamp(36px,4.4vw,56px)}

/* ============================================================
   v53 (Oct 18 2026)
   ============================================================ */
#weapon-heroic-communities{scroll-margin-top:90px}
#advisory .hss-btn.hss-btn-blue{background:var(--blue)}
#advisory .hss-btn.hss-btn-blue:hover{background:var(--navy)}

/* Slingshots: S badge at 80%, Lab title + copy aligned to the 2nd and 3rd placards */
#slingshots .lc-circle{width:33.6%;top:20.8%;right:12.2%}
#slingshots .lab-hd.lab-hd-v40{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(12px,1.6vw,20px)}
#slingshots .lab-hd-v40 .lab-h40,#slingshots .lab-hd-v40 .lab-hd-copy{grid-column:2 / -1}

/* Our Story (navy, after the thin red rule) */
#story.os53 .sub-k{margin:0 0 clamp(26px,3vw,42px)}
#slingshots .lab.lab-dark{padding-bottom:clamp(40px,4.6vw,64px)!important}
#story .os-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:start}
#story .os-h{margin:0;text-align:left!important}
#story .os-p{margin:clamp(18px,2vw,28px) 0 0;color:#c8d7e8;font-family:var(--body);font-size:var(--t-body);line-height:1.55;text-align:left}
#story .os-p b{color:#fff;font-weight:700}
#story .os-right{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,34px)}
#story .os-btns{display:flex;flex-wrap:nowrap;gap:clamp(8px,.8vw,12px);justify-content:center}
#story .os-btns .os-btn{padding-left:clamp(12px,1.1vw,18px);padding-right:clamp(12px,1.1vw,18px);font-size:clamp(13px,.98vw,15px)}
@media (max-width:1100px){#story .os-btns{flex-wrap:wrap}}
#story .os-btn{display:inline-block;padding:clamp(10px,1vw,13px) clamp(18px,1.8vw,26px);border-radius:999px;text-decoration:none;
  font-family:var(--display);font-weight:600;font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.2;white-space:nowrap;
  transition:transform .16s ease,background .16s ease,color .16s ease;border:2px solid transparent}
#story .os-btn:hover,#story .os-btn:focus-visible{transform:translateY(-1px)}
#story .os-btn-white{background:#fff;color:var(--navy)}
#story .os-btn-white:hover{background:#dfe8f3}
#story .os-btn-red{background:#ff7a72;color:#fff}
#story .os-btn-red:hover{background:#e35d55}
#story .os-btn-blue{background:var(--blue);color:#fff}
#story .os-btn-blue:hover{background:var(--blue-lt)}
#story .os-art{display:flex;justify-content:center;margin-top:calc(var(--t-body) * 1.55)}
#story .os-art .ns-net-light{width:100%;max-width:520px;height:auto}
#story .sw-grid.sl-cards{margin-top:clamp(36px,4.4vw,60px)}
@media (max-width:900px){#story .os-grid{grid-template-columns:1fr}#story .os-art .ns-net-light{max-width:340px}}

/* ============================================================
   v55 (Oct 18 2026)
   ============================================================ */
#advisory .sa-sub .sa-red{color:#ff7a72}
/* body text justified throughout */
#advisory .hss-v51 .hss-svc .hss-p,#advisory .hss-v51 .hss-bul li,
#slingshots .lab-sub,#slingshots .lp-p,#story .os-p,#story .sw-card p,#bigswing .sw-card p{
  text-align:justify!important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
/* story blocks: room between the numbered kicker and the block title */
#advisory .hss-v51 .hss-svc h4{margin-top:clamp(10px,1vw,14px)}
/* Our Story: body one size down, pills start level with the top of the title letters */
#story .os-p{font-size:clamp(16px,1.6vw,22px)}
#story .os-p + .os-p{margin-top:clamp(12px,1.2vw,18px)}
#story .os-right{padding-top:calc(var(--t-title) * .18)}
#story .os-art{margin-top:calc(clamp(16px,1.6vw,22px) * 1.55)}
@media (max-width:900px){#story .os-right{padding-top:0}}

/* v56: Our Story cards - icons at 80%, one text line shorter */
#story .sw-ic{width:calc(clamp(50px,4.3vw,62px) * .8);height:calc(clamp(50px,4.3vw,62px) * .8)}
#story .sw-card{padding-bottom:calc(clamp(20px,1.95vw,28px) - 14px)}
