/* ── Web fonts ──────────────────────────────────────────────────────────
   The site declared 'Lato' and 'Helvetica Neue' but loaded neither. Lato is
   installed locally on the founder's Mac, so the site looked correct to him and
   fell back to Helvetica Neue or Arial for everyone else — two different sites
   depending on the visitor's machine. Lato is SIL Open Font License, so it is
   self-hosted here, subsetted to Latin plus the punctuation the site uses:
   112 KB for four faces, no third-party request, no CSP exception needed.

   Headlines were on the same system stack and fell to Arial on Windows.
   Helvetica Neue is licensed and cannot be self-hosted, so headlines move to
   Inter — the closest open face, also SIL OFL, drawn for screens. Subsetted
   from the full release rather than Google's hosted "latin" cut, which was
   missing the em dash, curly quotes, middot, trademark mark and every arrow
   this site uses; without them the browser swaps fonts mid-sentence. */
@font-face{font-family:'Inter';src:url('fonts/inter-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('fonts/inter-500.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('fonts/inter-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('fonts/inter-900.woff2') format('woff2');
  font-weight:900;font-style:normal;font-display:swap;}

@font-face{font-family:'Lato';src:url('fonts/lato-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/lato-400i.woff2') format('woff2');
  font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/lato-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/lato-900.woff2') format('woff2');
  font-weight:900;font-style:normal;font-display:swap;}


  :root{
    /* WHITE + BLACK + ONE SIGNAL COLOR. Blue is a ground, never an accent. */
    --black:#111315;
    --body:#4C545C;
    --white:#FFFFFF;
    --line:#DFE1E3;
    --field:#0F2438;
    --accent:#C85A38;

    --display:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;

    /* One circle size for the whole site. The ceiling is set by the tightest
       grid — the five-across demand row, whose column runs 214-230px depending
       on viewport — so 200px clears everywhere. */
    --circle:clamp(150px,14vw,200px);
    --circle-label:clamp(.8rem,1vw,1rem);
    --display-weight:700;
    --display-tracking:-0.022em;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Lato','Inter','Helvetica Neue',Helvetica,Arial,sans-serif;background:var(--white);color:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3.d,.d{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);color:var(--black);}
  .wrap{max-width:1240px;margin:0 auto;padding:0 5vw;}
  /* height:auto is load-bearing, and only became so on 2026-08-23 when every
     <img> gained real width/height attributes to reserve layout space and stop
     the page shifting as photos arrive. Those attributes also give the element
     an intrinsic pixel height. Without height:auto here, max-width:100% would
     shrink the width on any viewport narrower than the photo while the height
     stayed pinned at the attribute value — every image squashed, worst on a
     phone. With it, the attributes are read as an aspect ratio instead, which
     is the whole point of setting them. Specificity is a single element, so
     every sized rule below (.ed-media img, .nav-in .logo img, .tk img …) still
     wins; this only catches images no other rule sizes. */
  img{max-width:100%;display:block;height:auto;}

  .tag{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--black);font-weight:700;}
  .tag.light{color:rgba(255,255,255,.75);}

  .arrow{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.88rem;font-weight:700;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .18s,gap .18s;}
  .arrow:hover{border-bottom-color:var(--accent);gap:.85rem;}
  .arrow.light{color:#fff;}
  .arrow.light:hover{border-bottom-color:#fff;}

  .btn{display:inline-block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:1.05rem 2.1rem;background:var(--accent);color:#fff;border:1px solid var(--accent);transition:background .2s,color .2s;}
  .btn:hover{background:transparent;color:var(--accent);}
  .btn--secondary{background:transparent;color:var(--black);border-color:var(--black);}
  .btn--secondary:hover{background:var(--black);color:#fff;}

  .needs{position:relative;padding-bottom:2.2rem;}
  .needs:after{content:attr(data-needs);position:absolute;bottom:0;left:0;z-index:9;background:var(--accent);color:#fff;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.32rem .55rem;}

  /* ── PREVIEW CONTROLS ─────────────────────────────────────────────── */
  /* Preview-control styles (.ctrl/.sw/.tg) removed 2026-08-17 with the toggle strip. */

  /* ── NAV ──────────────────────────────────────────────────────────── */

  nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);}
  .nav-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 5vw;max-width:1400px;margin:0 auto;}
  /* Bumped 62px -> 76px 2026-08-17: the mark is a stacked lockup, so at 62px it
     read small and got lost at the left edge of a horizontal nav. Nav links carry
     2.4rem padding (~96px bar), so 76px still clears without changing bar height.
     A horizontal lockup would read larger again at the same height — see
     PROJECT-STATE open item 6. */
  /* flex:none is load-bearing. .nav-in is a flex row, and the logo anchor
     defaults to flex-shrink:1. Once the nav got crowded (bigger logo + a
     seventh item) the anchor squeezed, the global img{max-width:100%} clamped
     the width, and height:76px held — so the mark rendered horizontally
     squashed. Pin the anchor and lift the clamp; nav-links absorbs the
     pressure instead. */
  .nav-in .logo{flex:none;}
  .nav-in .logo img{height:76px;width:auto;max-width:none;}
  /* Seven items plus a CTA is a wide bar. Let the link row tighten before
     anything distorts. */
  @media(max-width:1320px){.nav-links{gap:1.5rem;}}
  @media(max-width:1180px){.nav-links{gap:1.15rem;}.nav-in .logo img{height:66px;}}
  .nav-links{display:flex;gap:2.15rem;align-items:center;}
  /* The nav CTA inherits the global .btn, which is sized for hero and section
     CTAs (1.05rem/2.1rem padding). At nav scale that reads oversized next to
     the 62px logo and the .805rem nav links. Scoped down here only — every
     other .btn on the site is unchanged. */
  .nav-links .btn{font-size:.7rem;padding:.78rem 1.5rem;letter-spacing:.1em;}
  .nav-item{position:static;}
  .nav-links a.top{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.805rem;font-weight:700;letter-spacing:.004em;color:var(--black);text-decoration:none;padding:2.4rem 0 2.4rem;display:inline-flex;align-items:center;gap:.4rem;border-bottom:3px solid transparent;}
  .nav-item:hover a.top{border-bottom-color:var(--accent);}
  .nav-item:not(.no-caret) a.top:after{content:"";width:5px;height:5px;border-right:1.5px solid var(--black);border-bottom:1.5px solid var(--black);transform:rotate(45deg);margin-top:-4px;display:inline-block;}
  .dropdown{position:absolute;top:100%;left:-1.2rem;background:var(--field);min-width:320px;padding:.5rem 0;box-shadow:0 26px 52px rgba(0,0,0,.32);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;}
  .nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
  .dropdown a{display:block;padding:.72rem 1.4rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.77rem;color:#B9C2CC;text-decoration:none;border-left:2px solid transparent;}
  .dropdown a:hover{color:#fff;border-left-color:var(--accent);background:rgba(255,255,255,.05);}
  .dropdown .see-all{border-top:1px solid rgba(255,255,255,.12);margin-top:.4rem;padding-top:.75rem;color:#fff;font-weight:700;}
  @media(max-width:1000px){.nav-links .nav-item{display:none;}}

  /* ── 1. HERO ──────────────────────────────────────────────────────── */
  .hero{position:relative;background:#080B0E;overflow:hidden;}
  .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;}
  .hero .scrim{position:absolute;inset:0;z-index:1;background:
    linear-gradient(96deg, rgba(8,14,22,.92) 0%, rgba(8,14,22,.80) 30%, rgba(8,14,22,.46) 55%, rgba(8,14,22,.12) 78%, rgba(8,14,22,0) 100%);}
  .hero .scrim.b{background:linear-gradient(to top, rgba(8,14,22,.55) 0%, rgba(8,14,22,0) 38%);}
  .slide{display:none;position:relative;}
  .slide.on{display:block;animation:slidein .7s ease both;}
  @keyframes slidein{from{opacity:0}to{opacity:1}}
  .slide.on .hero-in > *{animation:rise .65s cubic-bezier(.2,.7,.3,1) both;}
  .slide.on .hero-in > *:nth-child(1){animation-delay:.05s}
  .slide.on .hero-in > *:nth-child(2){animation-delay:.13s}
  .slide.on .hero-in > *:nth-child(3){animation-delay:.21s}
  .slide.on .hero-in > *:nth-child(4){animation-delay:.29s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.slide.on,.slide.on .hero-in > *{animation:none;}}

  /* ── Ken Burns: slow drift on the active slide ─────────────────────────
     8.4s against the 7s rotation, so the zoom never completes and there is no
     frame where the image sits still at full scale. If the interval changes,
     keep this roughly 20% longer than it.

     linear, not the site's easing token — this is continuous drift, and any
     ease-out would visibly decelerate mid-slide.

     1.06 reads as breathing. 1.2, which most tutorials use, reads as a zoom.

     transform-origin is set per slide to match that slide's own
     object-position, so the anchored corner is the one carrying the headline.
     A single global origin would drift the copy space on three of the four.

     No reset needed: .slide is display:none when inactive, so the animation
     restarts from scale(1) every time a slide becomes .on. */
  .slide.on img.bg{animation:kenburns 8.4s linear both;will-change:transform;}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
  .hero .slide:nth-child(1).on img.bg{transform-origin:78% 50%;}
  .hero .slide:nth-child(2).on img.bg{transform-origin:72% 50%;}
  .hero .slide:nth-child(3).on img.bg{transform-origin:80% 50%;}
  /* Slide 4's mirror is baked into the file rather than applied in CSS. An
     animation writes to transform, so an inline scaleX(-1) is overwritten the
     moment the keyframes run — the slide un-mirrored mid-drift and put the
     graded copy space on the wrong side of the screen. */
  @media(prefers-reduced-motion:reduce){.slide.on img.bg{animation:none;transform:none;}}
    /* 72vh with no ceiling meant the hero grew with the monitor: 1,041px tall on
     a 2560x1440 display, most of it padding, for about 420px of content. Capped
     so a large screen shows the page rather than just the hero. */
  .hero-in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:6rem 5vw 6.4rem;min-height:min(68vh,620px);display:flex;flex-direction:column;justify-content:center;}
  /* slide controls */
  .dots{position:absolute;bottom:4.2rem;left:0;right:0;z-index:7;max-width:1240px;margin:0 auto;padding:0 5vw;display:flex;gap:.7rem;}
  .dot{width:58px;height:3px;background:rgba(255,255,255,.28);border:none;padding:0;cursor:pointer;position:relative;overflow:hidden;}
  .dot i{position:absolute;inset:0;width:0;background:var(--accent);display:block;}
  .dot[aria-pressed="true"] i{width:100%;transition:width 7s linear;}
  @media(max-width:820px){.dots{bottom:3rem;}.dot{width:38px;}}
  .hero h1,.hero .slide-h{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:clamp(2.2rem,4.5vw,3.7rem);line-height:1.06;color:#fff;max-width:17ch;}
  .hero p.sub{margin-top:1.8rem;font-size:1.13rem;line-height:1.75;color:rgba(255,255,255,.85);max-width:48ch;}
  .hero .cta-row{margin-top:2.6rem;display:flex;gap:2.4rem;align-items:center;flex-wrap:wrap;}
  .hero .signature{margin-top:3.2rem;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:.94rem;color:rgba(255,255,255,.45);}
  .hero .ridgeline{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(30px,3vw,52px);
    z-index:6;display:block;pointer-events:none;}
  @media(max-width:820px){
    .hero img.bg{object-position:72% 50%;}
    .hero .scrim{background:linear-gradient(96deg, rgba(8,14,22,.94) 0%, rgba(8,14,22,.88) 26%, rgba(8,14,22,.62) 52%, rgba(8,14,22,.24) 74%, rgba(8,14,22,.06) 100%);}
  }


  /* ── PROOF STRIP — sits directly under the hero ───────────────────── */
  .proof{border-bottom:1px solid var(--line);background:#fff;}
  .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1760px;margin:0 auto;padding:0 3vw;}
    .proof-cell{padding:1.15rem 1.5rem 1.2rem;border-left:1px solid var(--line);
    display:flex;align-items:baseline;gap:.75rem;}
  .proof-cell:first-child{border-left:none;padding-left:0;}
  .proof-cell:last-child{padding-right:0;}
  .proof-cell svg{width:34px;height:34px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1rem;}
  .proof-cell .n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1;color:var(--black);flex:none;}
    .proof-cell .n.word{font-size:clamp(1.15rem,1.7vw,1.55rem);letter-spacing:.02em;text-transform:uppercase;line-height:1.1;padding-top:.35rem;}
    .proof-cell .lbl{margin-top:0;font-size:.82rem;line-height:1.35;color:var(--body);font-weight:400;max-width:22ch;}
  /* founder byline — currently lives in the Thinking section; one block to relocate */
  .byline{display:flex;align-items:center;gap:1.1rem;margin-top:1.6rem;padding-top:1.5rem;border-top:1px solid var(--line);}
  .byline img{width:62px;height:62px;border-radius:50%;object-fit:cover;flex:none;}
  .byline .who{font-size:.88rem;line-height:1.5;color:var(--body);}
  .byline .who b{display:block;color:var(--black);font-weight:700;font-size:1rem;letter-spacing:-.01em;}
  @media(max-width:900px){.proof-grid{grid-template-columns:1fr 1fr;}.proof-cell{border-top:1px solid var(--line);padding-left:2rem;}.proof-cell:first-child{padding-left:0;}.proof-cell:nth-child(3){padding-left:0;border-left:none;}}
  @media(max-width:540px){.proof-grid{grid-template-columns:1fr;}.proof-cell{border-left:none;padding-left:0;}}

  /* ── 2. EDITORIAL STATEMENT — copy left, image + intercept right ──── */
  .editorial{padding:4.88rem 0 4.5rem;}
  .editorial-in{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
  .editorial h2{font-size:clamp(2rem,4.1vw,3rem);line-height:1.14;max-width:16ch;}
  .editorial p{margin-top:2rem;font-size:1.08rem;line-height:1.85;max-width:52ch;}
  .editorial .arrow{margin-top:2rem;}
  .ed-media{position:relative;}
  .ed-media img{width:100%;height:480px;object-fit:cover;}
  /* the Bain-style corner intercept */
    /* ── Intercept router ──────────────────────────────────────────────────
     A full-width band directly under the hero, where a routing question can
     still do its job. It was a 310px card floating on a photograph a thousand
     pixels further down, covering one of the two people in the shot. Class
     hooks are unchanged, so the existing JavaScript needed no edits. */
  .router{background:var(--field);border-bottom:1px solid rgba(255,255,255,.1);}
  .intercept{max-width:1400px;margin:0 auto;padding:1.9rem 5vw 2rem;}
  .rt-in{display:grid;grid-template-columns:minmax(230px,1fr) 2.6fr;gap:3vw;align-items:center;}
  .rt-ask .tag{color:var(--accent);}
    .intercept .q{margin-top:.55rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);font-size:1.22rem;line-height:1.25;color:#fff;max-width:16ch;}
    .rt-opts{list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,1fr);
    gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);}
    .rt-opts li{position:relative;perspective:900px;}
  .rt-opts a{display:block;background:var(--field);text-decoration:none;height:100%;
    transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.7,.3,1);
    min-height:6.8rem;position:relative;}
  .rt-opts a:hover,.rt-opts a:focus-visible{transform:rotateX(180deg);}
  .rt-face{position:absolute;inset:0;padding:.95rem 1.05rem 1rem;backface-visibility:hidden;
    display:flex;flex-direction:column;justify-content:center;}
  .rt-front{background:var(--field);}
  .rt-back{transform:rotateX(180deg);background:#1D4568;}
  .rt-back .rt-go{margin-top:.4rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
  .rt-back p{font-size:.76rem;line-height:1.45;color:rgba(255,255,255,.86);margin:0;}
  @media(prefers-reduced-motion:reduce){
    .rt-opts a{transition:none;}
    .rt-opts a:hover,.rt-opts a:focus-visible{transform:none;}
    .rt-back{display:none;}
  }
  .rt-opts b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.86rem;font-weight:700;color:#fff;line-height:1.25;}
  .rt-opts span{display:block;margin-top:.3rem;font-size:.76rem;line-height:1.45;
    color:rgba(255,255,255,.62);}
    .rt-opts a:hover{background:#16324B;}
  .rt-opts a:hover b{color:var(--accent);}
  .intercept .answer{display:none;}
  .intercept.done .rt-opts{display:none;}
  .intercept.done .answer{display:contents;animation:rise .45s cubic-bezier(.2,.7,.3,1) both;}
    .intercept .answer .said{margin-top:.55rem;font-family:var(--display);
    font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1.22rem;line-height:1.25;color:#fff;text-transform:none;}
    .rt-reply .next{font-size:.98rem;line-height:1.65;color:rgba(255,255,255,.8);max-width:70ch;}
    .rt-reply .arrow{margin-top:.9rem;font-size:.84rem;}
    .rt-reply .reset{margin-left:1.4rem;background:none;border:none;padding:0;cursor:pointer;
    font:inherit;font-size:.74rem;color:rgba(255,255,255,.55);text-decoration:underline;}
    .rt-reply .reset:hover{color:#fff;}
  @media(max-width:940px){
    .editorial-in{grid-template-columns:1fr;gap:3rem;}
    .editorial h2,.editorial p{max-width:none;}
    .ed-media img{height:340px;}
      .rt-in{grid-template-columns:1fr;gap:1.2rem;align-items:start;}
  .rt-opts{grid-template-columns:1fr 1fr;}
  }

  /* ── 3. POINT OF VIEW — three ideas as colour fields ──────────────── */
  .pov{padding:0 0 6rem;}
  .pov-head{display:grid;grid-template-columns:1.25fr 1fr;gap:4.5rem;align-items:center;}
  .pov h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.18;max-width:22ch;}
  .pov p.lede{margin-top:1.8rem;font-size:1.05rem;line-height:1.85;max-width:56ch;}
  .pov-media img{width:100%;height:300px;object-fit:cover;}
  @media(max-width:940px){.pov-head{grid-template-columns:1fr;gap:2.4rem;}.pov-media img{height:220px;}}
  .three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:4.5rem;}
  .idea{padding:3.6rem clamp(1.8rem,3.5vw,4rem) 4rem;color:rgba(255,255,255,.8);}
  .idea:nth-child(1){background:var(--field);}
  .idea:nth-child(2){background:#2C5A8C;}
  .idea:nth-child(3){background:var(--accent);}
  .idea .step{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);}
  .idea h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.32rem;line-height:1.28;color:#fff;margin:1.4rem 0 .8rem;}
  .idea p{font-size:.98rem;line-height:1.7;}
  @media(max-width:820px){.three-up{grid-template-columns:1fr;}}

  /* ── 4. HUMAN / WORKPLACE ─────────────────────────────────────────── */
  .human{display:grid;grid-template-columns:1fr 1.02fr;align-items:stretch;border-top:1px solid var(--line);}
  .human .media{position:relative;min-height:520px;background:#E9ECEE;}
  .human .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .human .txt{padding:7rem 4.5rem 7rem 5vw;display:flex;flex-direction:column;justify-content:center;max-width:660px;margin-left:auto;}
  .human h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.18;max-width:16ch;}
  .human p{margin-top:1.8rem;font-size:1.06rem;line-height:1.85;}
  .human .arrow{margin-top:2rem;}
  @media(max-width:940px){.human{grid-template-columns:1fr;}.human .media{min-height:320px;}.human .txt{padding:4rem 5vw;max-width:none;}}

  /* ── 5. HOW IT WORKS — the ascent ─────────────────────────────────── */
  .model{position:relative;background:var(--field);color:rgba(255,255,255,.72);padding:4.88rem 0 4.5rem;overflow:hidden;}
  .model img.terrain{position:absolute;left:0;right:0;bottom:0;width:100%;height:62%;object-fit:cover;object-position:50% 40%;opacity:.22;filter:grayscale(.35);}
  .model .wrap{position:relative;z-index:2;}
  /* Two real columns. The children used to sit flat in this grid, so the eyebrow,
     headline and body auto-placed into separate cells and scattered across the band. */
  .model .head{display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:start;margin-bottom:2.4rem;}
  .model .head h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.18;margin-top:.9rem;max-width:17ch;}
  .model .head p{font-size:1.02rem;line-height:1.8;}
  .model .head p+p{margin-top:.9rem;}
  @media(max-width:940px){.model .head{grid-template-columns:1fr;gap:1.4rem;align-items:start;}.model .head h2{max-width:none;}}
  .ascent{position:relative;height:330px;}
  .ascent svg.track{position:absolute;inset:0;width:100%;height:100%;}
  .node{position:absolute;transform:translate(-50%,-50%);width:19%;text-align:center;}
  .node .pin{width:44px;height:44px;border-radius:50%;background:var(--field);border:2px solid var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.82rem;font-weight:700;}
  .node h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:1rem 0 .5rem;}
  .node p{font-size:.85rem;line-height:1.55;color:rgba(255,255,255,.66);}
  @media(max-width:1000px){
    .ascent{height:auto;display:grid;gap:2.2rem;}
    .ascent svg.track{display:none;}
    .node{position:static;transform:none;width:100%;text-align:left;display:grid;grid-template-columns:44px 1fr;gap:1.2rem;align-items:start;}
    .node .pin{margin:0;grid-row:1 / span 3;}
    .node h3{margin:.5rem 0 .4rem;grid-column:2;}
    .node p{grid-column:2;}
  }


  /* ── PROCESS, ALT: cinematic — photograph carries it, no diagram ──── */
  .model.cine{padding:0;}
  .model.cine img.terrain{position:absolute;inset:0;width:100%;height:100%;opacity:var(--veil,1);filter:grayscale(.2) contrast(1.05);object-position:50% 45%;}
  .model.cine:before{content:"";position:absolute;inset:0;background:
     linear-gradient(180deg, rgba(15,36,56,.86) 0%, rgba(15,36,56,.62) 42%, rgba(15,36,56,.90) 100%);z-index:1;}
  .model.cine .wrap{position:relative;z-index:2;padding-top:4.2rem;padding-bottom:4.4rem;}
  .model.cine .head{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:end;max-width:none;margin-bottom:3.4rem;}
  .model.cine .head h2{max-width:15ch;}
  .model.cine .head p{padding-bottom:.3rem;}
  @media(max-width:940px){.model.cine .head{grid-template-columns:1fr;gap:1.4rem;align-items:start;}.model.cine .head h2{max-width:none;}}
  .model.cine .head h2{max-width:none;}
  .model.cine .head p{margin-top:1.3rem;padding:0;max-width:54ch;}
  .stagerow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.22);}
  .st{padding:1.9rem 1.3rem 0 0;border-left:1px solid rgba(255,255,255,.22);padding-left:1.3rem;}
  .st:first-child{border-left:none;padding-left:0;}
  .st .num{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.03em;
    font-size:clamp(2.6rem,4.6vw,4rem);line-height:.9;color:#fff;}
  .st h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.9rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:1.1rem 0 .6rem;}
  .st p{font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.72);}
  @media(max-width:1000px){
    .stagerow{grid-template-columns:1fr 1fr;}
    .st{border-top:1px solid rgba(255,255,255,.22);padding-bottom:1.6rem;}
    .st:first-child{border-top:none;}
  }
  @media(max-width:560px){.stagerow{grid-template-columns:1fr;}.st{border-left:none;padding-left:0;}}

  /* which version is showing */

  /* ── 6. TRANSITIONS ───────────────────────────────────────────────── */
  .trans{border-bottom:1px solid var(--line);}
  .trans .head{padding-top:5.5rem;padding-bottom:2.8rem;}
  .trans .head h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.18;max-width:20ch;text-align:center;margin-left:auto;margin-right:auto;}
  .trans .head h2 em{font-style:normal;color:var(--accent);}
  .trans .head p{margin-top:1.6rem;font-size:1.06rem;line-height:1.85;max-width:56ch;text-align:center;margin-left:auto;margin-right:auto;}
  /* each transition carries its own colour — this is a product family, so the coding means something */
  .trans-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:0 auto;}
  .trans-cell{border-left:1px solid var(--line);border-top:4px solid var(--hue);text-decoration:none;display:flex;flex-direction:column;transition:background .2s;}
  .trans-cell:first-child{border-left:none;}
  .trans-cell:hover{background:#FAFAFA;}
  .trans-cell .body{padding:2.6rem 2.2rem 2.4rem;flex:1;}
  .trans-cell .who{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.86rem;line-height:1.55;color:var(--body);}
  .trans-cell .who b{color:var(--black);font-weight:700;}
  .trans-cell .foot{background:var(--hue);color:#fff;padding:1.05rem 2.2rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
  .trans-cell:hover .foot{filter:brightness(1.12);}
  .trans-cell svg{width:32px;height:32px;stroke:var(--hue);fill:none;stroke-width:1.4;}
  .trans-cell h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hue);margin:1.2rem 0 .35rem;}
  .trans-cell .role{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.14rem;color:var(--black);margin-bottom:.7rem;}
  .trans-cell p{font-size:.92rem;line-height:1.65;color:var(--body);}
  .trans .see-all{padding:2.4rem 0 2.55rem;}
  .trans .see-all .arrow{font-size:1.12rem;}
  @media(max-width:900px){.trans-grid{grid-template-columns:1fr 1fr;}.trans-cell{border-top:1px solid var(--line);}}
  @media(max-width:540px){.trans-grid{grid-template-columns:1fr;}.trans-cell{border-left:none;}}

  /* ── 7. WHY BLACKRIDGE ────────────────────────────────────────────── */
  /* full-bleed — this section uses the whole screen, not the 1240 column */
  .wrap-wide{max-width:1760px;margin:0 auto;padding:0 3vw;}
  .why{padding:3.38rem 0 3.75rem;text-align:center;}
  .why h2{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.25;max-width:24ch;margin:0 auto;}
  .why h2 em{font-style:normal;color:var(--accent);}
  .why p.lede{margin:1.4rem auto 0;font-size:1.06rem;line-height:1.8;max-width:64ch;}

  .four-up{display:grid;grid-template-columns:repeat(4,1fr);gap:2vw;margin-top:3rem;}
  .point{display:flex;flex-direction:column;align-items:center;}
  /* Circles are one size everywhere, from --circle. They had drifted apart:
     232px on the homepage against 162px on the transition pages. The ceiling is
     set by the tightest grid — the five-across demand row, whose column runs
     214-230px depending on viewport — so 200px clears at every width.

     The labels also needed compensating when the site moved to Inter: its
     x-height is 0.546em against Helvetica Neue's 0.517 and it sets wider, so the
     same font-size reads noticeably larger inside a disc. */
  .point .circ{width:var(--circle);height:var(--circle);flex:none;aspect-ratio:1;border-radius:50%;background:var(--hue);
    display:flex;align-items:center;justify-content:center;padding:1rem;}
  .point .circ span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:var(--circle-label);max-width:100%;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
    color:#fff;line-height:1.16;}
  .point h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--black);margin-top:1.6rem;}
  .point p{margin-top:.85rem;font-size:.95rem;line-height:1.7;max-width:38ch;}
  @media(max-width:900px){.four-up{grid-template-columns:1fr 1fr;gap:3rem 2rem;}}
  @media(max-width:520px){.four-up{grid-template-columns:1fr;}.point .circ{width:var(--circle);}}

  /* ── 8. INSIGHTS ──────────────────────────────────────────────────── */
  .insights{padding:3.75rem 0 4.12rem;border-top:1px solid var(--line);}
  .insights h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.18;margin-top:1.1rem;max-width:20ch;}
  .ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem 3.5rem;margin-top:2.8rem;}
  .ins{border-top:2px solid var(--black);padding-top:1.5rem;}
  .ins h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.26rem;line-height:1.3;color:var(--black);margin:.8rem 0 .7rem;}
  .ins p{font-size:.95rem;line-height:1.65;margin-bottom:1.1rem;color:var(--body);}
  .ins .arrow{font-size:.82rem;}
  .insights .see-all{margin-top:2.6rem;}
  @media(max-width:760px){.ins-grid{grid-template-columns:1fr;}}

  /* ── 9. FINAL INVITATION ──────────────────────────────────────────── */
  .final{position:relative;background:var(--field);color:rgba(255,255,255,.7);padding:3rem 0 2.7rem;overflow:hidden;}
  .final img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;}
  .final .wrap{position:relative;z-index:2;}
  .final h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.12;max-width:20ch;}
  .entries{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.2rem;border-top:1px solid rgba(255,255,255,.2);align-items:stretch;}
  .entry{padding:1.5rem 1.4rem 1.5rem 1.4rem;border-left:1px solid rgba(255,255,255,.2);text-decoration:none;display:flex;flex-direction:column;transition:background .2s;}
  .entry:first-child{border-left:none;padding-left:0;}
  .entry:hover{background:rgba(255,255,255,.05);}
  .entry span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.97rem;font-weight:700;color:#fff;line-height:1.4;display:block;min-height:2.8em;}
  .entry .go{margin-top:auto;padding-top:1rem;font-size:.8rem;font-weight:700;color:var(--accent);}
  .final .close{margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;}
  .final .close .sig{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#fff;font-size:1.15rem;}
  .final .close .sig b{display:block;font-family:var(--display);font-style:normal;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.42rem;margin-top:.5rem;}
  .final .btn{background:var(--accent);color:#fff;border-color:var(--accent);}
  .final .btn:hover{background:transparent;color:var(--accent);}
  @media(max-width:900px){.entries{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.entries{grid-template-columns:1fr;}.entry{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.2);}.entry:first-child{border-top:none;}}

  /* ── SUBSCRIBE + FOOTER ───────────────────────────────────────────── */
  .subscribe{border-top:1px solid var(--line);padding:2.55rem 0 2.55rem;}
  .sub-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
  .sub-in .d{font-size:1.15rem;}
  .sub-form{display:flex;}
  .sub-form input{border:2px solid var(--black);border-right:none;padding:1rem 1.2rem;font:inherit;font-size:.95rem;min-width:300px;color:var(--black);}
  .sub-form input:focus{outline:2px solid var(--accent);outline-offset:-2px;}
  .sub-form button{border:2px solid var(--accent);cursor:pointer;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0 1.8rem;background:var(--accent);color:#fff;}
  @media(max-width:640px){.sub-form{width:100%;}.sub-form input{min-width:0;flex:1;}}

  footer{background:#0A1826;color:rgba(255,255,255,.58);padding:2.4rem 0 2.4rem;}
  .foot-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding-bottom:2.2rem;border-bottom:1px solid rgba(255,255,255,.14);}
  .foot-top img{height:64px;width:auto;}
  .foot-top .sig{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#fff;font-size:1.02rem;}
  .foot-links{display:flex;gap:1.8rem;flex-wrap:wrap;padding-top:1.6rem;}
  .foot-links a{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;color:rgba(255,255,255,.58);text-decoration:none;}
  .foot-links a:hover{color:#fff;}

  /* ── FEDERAL PAGE ─────────────────────────────────────────────────── */
  .hero .scrim{background:linear-gradient(96deg,
     rgba(8,14,22,.94) 0%, rgba(8,14,22,.88) 22%, rgba(8,14,22,.58) 40%,
     rgba(8,14,22,.20) 56%, rgba(8,14,22,.04) 68%, rgba(8,14,22,0) 78%);}
  .hero img.bg{object-position:52% 42%;}
  @media(max-width:820px){
    .hero img.bg{object-position:64% 40%;}
    .hero .scrim{background:linear-gradient(96deg, rgba(8,14,22,.95) 0%, rgba(8,14,22,.9) 26%, rgba(8,14,22,.66) 52%, rgba(8,14,22,.28) 74%, rgba(8,14,22,.08) 100%);}
  }
  .authority{padding:3.15rem 0 3.38rem;}
  .auth-in{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center;}
  .auth-media img{width:100%;height:430px;object-fit:cover;}
  .authority .arrow{font-size:1.06rem;}
  @media(max-width:940px){.auth-in{grid-template-columns:1fr;gap:2.4rem;}.auth-media img{height:300px;}}
  .authority h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.18;max-width:24ch;}
  .authority p{margin-top:1.6rem;font-size:1.06rem;line-height:1.85;max-width:64ch;}
  .authority p + p{margin-top:1.1rem;}

  .moves{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;}
  .move{padding:2.4rem clamp(1.5rem,2.4vw,2.4rem) 2.8rem;background:var(--hue);color:rgba(255,255,255,.82);}
  
  .move h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.2rem;line-height:1.3;color:#fff;margin-bottom:.8rem;}
  .move p{font-size:.95rem;line-height:1.7;}
  @media(max-width:860px){.moves{grid-template-columns:1fr;}}

  .fields{background:#fff;padding:3.38rem 0 3.38rem;border-top:1px solid var(--line);text-align:center;}
  .fields h2{color:var(--black);font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.18;max-width:22ch;margin:1.1rem auto 0;}
  .field-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.6vw;margin-top:3rem;}
  .field{display:flex;flex-direction:column;align-items:center;text-align:center;}
  .field .circ{width:var(--circle);height:var(--circle);flex:none;aspect-ratio:1;border-radius:50%;background:var(--hue);display:flex;align-items:center;justify-content:center;padding:.9rem;}
  .field .circ span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:var(--circle-label);max-width:100%;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;line-height:1.16;}
  
  .field .n{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--body);margin-top:1.3rem;}
  .field h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.95rem;font-weight:700;color:var(--black);margin:.45rem 0 .55rem;line-height:1.3;}
  .field p{font-size:.86rem;line-height:1.6;max-width:26ch;}
  .fitline{margin:3rem auto 0;max-width:70ch;padding:1.5rem 1.8rem;border-left:3px solid var(--accent);background:#F6F7F8;text-align:left;font-size:1.02rem;line-height:1.75;color:var(--black);}
  @media(max-width:1000px){.field-grid{grid-template-columns:1fr 1fr;gap:2.4rem;}}
  @media(max-width:560px){.field-grid{grid-template-columns:1fr;}}

  .evidence{padding:3.6rem 0 3.75rem;border-top:1px solid var(--line);}
  .evidence h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;max-width:22ch;margin-top:1.1rem;}
  .ev-in{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center;}
  .ev-media img{width:100%;height:320px;object-fit:cover;}
  @media(max-width:940px){.ev-in{grid-template-columns:1fr;gap:2.2rem;}.ev-media img{height:250px;}}
  .evidence p.lede{margin-top:1.5rem;font-size:1.05rem;line-height:1.8;max-width:66ch;}
  .chain{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem;}
  .link{padding:1.7rem 1.6rem 1.9rem;background:var(--hue);}
  .link .k{color:rgba(255,255,255,.7)!important;}
  .link p{color:#fff!important;}
  
  .link .k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
  .link p{margin-top:.7rem;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.05rem;line-height:1.35;color:var(--black);}
  @media(max-width:820px){.chain{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.chain{grid-template-columns:1fr;}}

  .usecases{background:#fff;padding:3.6rem 0 3.75rem;border-top:2px solid var(--black);}
  .usecases h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;max-width:24ch;margin-top:1.1rem;}
  .usecases p.lede{margin-top:1.5rem;font-size:1.05rem;line-height:1.8;max-width:66ch;}
  .uc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;}
  .uc{background:#F6F7F8;border-top:4px solid var(--hue);padding:1.8rem 1.6rem 2rem;}
  .uc h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.08rem;line-height:1.3;color:var(--black);margin-bottom:.7rem;}
  .uc p{font-size:.92rem;line-height:1.65;}
  @media(max-width:900px){.uc-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:540px){.uc-grid{grid-template-columns:1fr;}}

  .teaming{background:var(--field);color:rgba(255,255,255,.72);padding:3.75rem 0 3.75rem;}
  .teaming h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;max-width:24ch;margin-top:1.1rem;}
  .teaming p.lede{margin-top:1.5rem;font-size:1.05rem;line-height:1.8;max-width:64ch;}
  .roles{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3.5rem;margin-top:2.8rem;}
  .role{padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;align-items:center;gap:.9rem;font-size:.98rem;color:#fff;}
  .role:before{content:"";width:6px;height:6px;background:var(--accent);flex:none;}
  .teaming .btn{margin-top:2.6rem;background:var(--accent);color:#fff;border-color:var(--accent);}
  .teaming .btn:hover{background:transparent;color:var(--accent);}
  @media(max-width:760px){.roles{grid-template-columns:1fr;}}

  .report{padding:3.6rem 0 3.6rem;border-top:1px solid var(--line);}
  .report-in{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;}
  .report h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.22;margin-top:1.1rem;}
  .report p{margin-top:1.4rem;font-size:1.04rem;line-height:1.8;}
  .report .btn{margin-top:1.9rem;}
  .report .cover{border:1px solid var(--line);box-shadow:0 22px 56px rgba(17,19,21,.16);max-width:76%;}
  @media(max-width:900px){.report-in{grid-template-columns:1fr;gap:2.5rem;}}

  .capability{padding:3.38rem 0 3.75rem;text-align:center;border-top:1px solid var(--line);}
  .capability h2{font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.2;max-width:22ch;margin:1.1rem auto 0;}
  .socio{display:inline-flex;gap:0;margin-top:1.8rem;border:2px solid var(--black);}
  .socio span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.3rem;color:var(--black);border-left:1px solid var(--line);}
  .socio span:first-child{border-left:none;background:var(--black);color:#fff;}
  .cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:2.6rem;border-top:2px solid var(--black);text-align:left;}
  .cap{padding:.85rem 2.4rem .9rem 0;border-bottom:1px solid var(--line);}
  .cap:nth-child(even){border-left:1px solid var(--line);padding-left:2.4rem;padding-right:0;}
  .cap .k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--body);}
  .cap .v{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.16rem;color:var(--black);margin-top:.45rem;}
  .cap .note{font-size:.84rem;margin-top:.3rem;}
  @media(max-width:720px){.cap-grid{grid-template-columns:1fr;}.cap:nth-child(even){border-left:none;padding-left:0;}.socio{flex-wrap:wrap;}}

  /* ── CONTACT FORM ─────────────────────────────────────────────────── */
  .brform label{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--black);margin-bottom:1.3rem;}
  .brform input,.brform select,.brform textarea{display:block;width:100%;margin-top:.55rem;border:2px solid var(--line);padding:.85rem 1rem;font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--black);background:#fff;border-radius:0;}
  .brform input:focus,.brform select:focus,.brform textarea:focus{outline:none;border-color:var(--accent);}
  .brform textarea{resize:vertical;}
  .brform .btn{border:none;cursor:pointer;margin-top:.4rem;}
  .brform .sent{display:none;margin-top:1.2rem;padding:1rem 1.2rem;border-left:3px solid var(--accent);background:#F6F7F8;font-size:.9rem;line-height:1.6;color:var(--black);}

  /* ── STAGE DETAIL BLOCKS (approach.html) ──────────────────────────── */
  .inst{border-top:1px solid var(--line);}
  .inst-block{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding:2.55rem 0 2.55rem;border-top:1px solid var(--line);}
  .inst-block:first-of-type{border-top:none;}
  .inst-block h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.24;margin-top:.85rem;}
  .inst-block .body p{font-size:1.02rem;line-height:1.8;}
  .inst-block .body p + p{margin-top:1.1rem;}
  @media(max-width:860px){.inst-block{grid-template-columns:1fr;gap:1.2rem;}}

  /* ── BREADCRUMB ───────────────────────────────────────────────────── */
  .crumb{border-bottom:1px solid var(--line);padding:.85rem 0;}
  .crumb .wrap{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;color:var(--body);}
  .crumb a{color:var(--body);text-decoration:none;}
  .crumb a:hover{color:var(--accent);}
  .crumb i{font-style:normal;color:#B9C0C6;margin:0 .35rem;}
  .crumb span{color:var(--black);font-weight:700;}

  /* ── KEY METRICS ──────────────────────────────────────────────────── */
  .metrics{border-bottom:1px solid var(--line);}
  .metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
  .metric{padding:2.2rem 2rem 2.4rem;border-left:1px solid var(--line);}
  .metric:first-child{border-left:none;padding-left:0;}
  .metric .n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:clamp(1.9rem,3vw,2.7rem);line-height:1;color:var(--black);}
  .metric .lbl{margin-top:.7rem;font-size:.9rem;line-height:1.5;font-weight:700;color:var(--black);max-width:24ch;}
  @media(max-width:760px){.metric-grid{grid-template-columns:1fr;}.metric{border-left:none;padding-left:0;border-top:1px solid var(--line);}.metric:first-child{border-top:none;}}

  /* ── PROGRAM BLOCK ────────────────────────────────────────────────── */
  .program{padding:3.75rem 0 3.75rem;border-top:1px solid var(--line);}
  .program-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
  .program h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;}
  .program p.lede{margin-top:1.5rem;font-size:1.05rem;line-height:1.8;}
  .status{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.6rem;padding:.55rem 1rem;border:2px solid var(--hue,var(--accent));font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hue,var(--accent));}
  .status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hue,var(--accent));}
  .curriculum{border-top:2px solid var(--black);}
    .cur-row{display:grid;grid-template-columns:7rem 1fr;gap:1.2rem;padding:.7rem 0;
    border-bottom:1px solid var(--line);align-items:baseline;}
    .cur-row .k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.64rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body);}
    .cur-row .v{font-size:.92rem;line-height:1.5;color:var(--black);}
  @media(max-width:900px){.program-in{grid-template-columns:1fr;gap:2.4rem;}}

  /* ── READY TO TALK ────────────────────────────────────────────────── */
  .talk{background:var(--field);color:rgba(255,255,255,.75);padding:3.15rem 0 3.15rem;}
  .talk-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
  .talk .tag{color:var(--accent);}
  .talk h2{color:#fff;font-size:clamp(1.6rem,2.9vw,2.15rem);line-height:1.22;margin-top:1rem;max-width:20ch;}
  .talk p{margin-top:1rem;font-size:.98rem;line-height:1.7;}
  .talk-form select,.talk-form input{display:block;width:100%;margin-bottom:.9rem;border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);padding:.9rem 1rem;font:inherit;font-size:.95rem;color:#fff;border-radius:0;}
  .talk-form select option{color:var(--black);}
  .talk-form select:focus,.talk-form input:focus{outline:none;border-color:var(--accent);}
  .talk-form input::placeholder{color:rgba(255,255,255,.5);}
  .talk-form .btn{border:none;cursor:pointer;width:100%;}
  .talk-form .sent{display:none;margin-top:1rem;font-size:.88rem;color:rgba(255,255,255,.8);}
  @media(max-width:820px){.talk-in{grid-template-columns:1fr;gap:2rem;}}

  /* ── RELATED ──────────────────────────────────────────────────────── */
  .related{padding:2.4rem 0 2.4rem;border-top:1px solid var(--line);}
  .rel-links{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin-top:1rem;}
  .rel-links a{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.92rem;font-weight:700;color:var(--black);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px;}
  .rel-links a:hover{border-bottom-color:var(--accent);color:var(--accent);}

  /* ── FEATURED PAPER ───────────────────────────────────────────────── */
  .featured-paper{background:var(--field);color:rgba(255,255,255,.75);padding:3.38rem 0 3.38rem;}
.featured-paper.featured-ai{padding-bottom:2.6rem;border-bottom:1px solid rgba(255,255,255,.14);}
.featured-paper.featured-ai .fp-cover img{width:100%;height:auto;display:block;}
.featured-paper.featured-ai + .featured-paper{padding-top:2.6rem;}
  .fp-in{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:center;}
  .featured-paper .tag{color:var(--accent);}
  .featured-paper h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.2;margin-top:1rem;max-width:22ch;}
  .featured-paper p.sub{margin-top:1rem;font-size:1.02rem;line-height:1.7;color:rgba(255,255,255,.82);font-style:italic;}
  .featured-paper p{margin-top:1.1rem;font-size:.98rem;line-height:1.75;}
  .featured-paper .btn{margin-top:1.8rem;}
  /* The two published AI papers, linked straight from the hub teaser so they
     are one click from /insights/ rather than two. GA4 (Aug 2026) showed both
     sitting at 1-2 sessions while the hub itself drew 10. */
  .featured-paper .fp-read{margin-top:1.2rem;font-size:.92rem;line-height:1.85;color:rgba(255,255,255,.7);}
  .featured-paper .fp-read b{font-weight:600;color:rgba(255,255,255,.85);}
  .featured-paper .fp-read a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28);}
  .featured-paper .fp-read a:hover{border-bottom-color:var(--accent);}
  .fp-mark{border:2px solid rgba(255,255,255,.28);padding:2.2rem 1.8rem;text-align:center;}
  .fp-mark span{display:block;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.02em;font-size:2.6rem;color:#fff;line-height:1;}
  .fp-mark b{display:block;margin-top:.7rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
  @media(max-width:900px){.fp-in{grid-template-columns:1fr;gap:2.2rem;}}

  /* ── PAPER SERIES ─────────────────────────────────────────────────── */
  .papers{padding:3.75rem 0 3.75rem;}
  .papers h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;}
  .papers p.lede{margin-top:1.3rem;font-size:1.05rem;line-height:1.8;max-width:62ch;}
  .paper-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:3rem;}
  .paper{display:block;text-decoration:none;border-top:4px solid var(--hue);background:#F6F7F8;padding:1.7rem 1.5rem 1.9rem;transition:background .2s;}
  .paper:hover{background:#EFF1F3;}
  .paper .code{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hue);}
  .paper .sub{font-size:.82rem;color:var(--body);margin-top:.25rem;}
  .paper h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.06rem;line-height:1.3;color:var(--black);margin:1.1rem 0 1rem;}
  .paper .go{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;color:var(--accent);}
  @media(max-width:1000px){.paper-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:540px){.paper-grid{grid-template-columns:1fr;}}

  /* ── REPORT CARDS AS LINKS ────────────────────────────────────────── */
  a.ins{display:block;text-decoration:none;}
  a.ins .go{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.82rem;font-weight:700;color:var(--accent);margin-top:1rem;}
  a.ins:hover h3{color:var(--accent);}

  /* ── PUBLISHING QUEUE ─────────────────────────────────────────────── */
  .queue{background:#fff;padding:3.38rem 0 3.75rem;border-top:2px solid var(--black);}
  .queue h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.2;margin-top:1.1rem;}
  .q-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-top:2.4rem;}
  .q{padding:.95rem 0;border-bottom:1px solid var(--line);font-size:.98rem;line-height:1.5;color:var(--black);display:flex;gap:.9rem;align-items:baseline;}
  .q:before{content:"";width:6px;height:6px;background:var(--accent);flex:none;transform:translateY(-2px);}
  @media(max-width:760px){.q-grid{grid-template-columns:1fr;}}

  /* ── SUBSCRIBE MODULE ─────────────────────────────────────────────── */
  .sub-block{padding:3.38rem 0 3.38rem;border-top:1px solid var(--line);background:#fff;}
  .sub-block-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
  .sub-block h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.2;margin-top:1rem;max-width:18ch;}
  .sub-block p{margin-top:1.2rem;font-size:1.02rem;line-height:1.75;max-width:52ch;}
  .sub-full input[type=email]{display:block;width:100%;border:2px solid var(--black);padding:1rem 1.2rem;font:inherit;font-size:.98rem;color:var(--black);border-radius:0;}
  .sub-full input[type=email]:focus{outline:none;border-color:var(--accent);}
  .sub-full .consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.1rem 0 1.3rem;font-size:.85rem;line-height:1.55;color:var(--body);}
  .sub-full .consent input{margin-top:.2rem;width:16px;height:16px;flex:none;accent-color:var(--accent);}
  .sub-full .consent a{color:var(--accent);font-weight:700;}
  .sub-full .btn{border:none;cursor:pointer;width:100%;}
  .sub-full .sent{display:none;margin-top:1rem;padding:.9rem 1.1rem;border-left:3px solid var(--accent);background:#F6F7F8;font-size:.88rem;color:var(--black);}
  @media(max-width:820px){.sub-block-in{grid-template-columns:1fr;gap:2rem;}}

  /* ── INQUIRY ROUTES (Bain's contact split) ────────────────────────── */
  .routes{padding:3.38rem 0 3.75rem;border-top:1px solid var(--line);}
  .routes h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.2;margin-top:1rem;}
  .route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.8rem;border-top:2px solid var(--black);}
  .route{padding:1.9rem 1.6rem 2rem 0;border-left:1px solid var(--line);padding-left:1.6rem;text-decoration:none;display:block;transition:background .2s;}
  .route:first-child{border-left:none;padding-left:0;}
  .route:hover{background:#FAFAFA;}
  .route h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.08rem;line-height:1.3;color:var(--black);}
  .route p{margin-top:.6rem;font-size:.9rem;line-height:1.6;}
  .route .go{margin-top:.9rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;color:var(--accent);}
  @media(max-width:900px){.route-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.route-grid{grid-template-columns:1fr;}.route{border-left:none;padding-left:0;}}
  /* ── INQUIRY ROUTES ───────────────────────────────────────────────── */
  .routes{padding:3.38rem 0 3.75rem;border-top:1px solid var(--line);}
  .routes h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.2;margin-top:1rem;}
  .route-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1760px;margin:2.8rem auto 0;padding:0 3vw;gap:1.3rem;}
  .route{display:flex;flex-direction:column;text-decoration:none;border-top:5px solid var(--hue);background:#F6F7F8;transition:background .2s,transform .2s;}
  .route:hover{background:#EFF1F3;transform:translateY(-3px);}
  .route-body{padding:1.8rem 1.6rem 1.6rem;flex:1;}
  .route h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.12rem;line-height:1.28;color:var(--hue);}
  .route p{margin-top:.75rem;font-size:.91rem;line-height:1.6;color:var(--body);}
  .route-foot{background:var(--hue);color:#fff;padding:.9rem 1.6rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
  .route:hover .route-foot{filter:brightness(1.14);}
  @media(max-width:900px){.route-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.route-grid{grid-template-columns:1fr;}}

  /* ── DIRECT CONTACT BAND ──────────────────────────────────────────── */
  .direct{border-bottom:1px solid var(--line);background:#fff;}
  .direct-in{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
  .d-block{padding:2.4rem 2rem 2.6rem;border-left:1px solid var(--line);}
  .d-block:first-child{border-left:none;padding-left:0;}
  .d-mail{display:block;margin-top:.8rem;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.02em;font-size:clamp(1.05rem,1.7vw,1.35rem);color:var(--accent);text-decoration:none;border-bottom:2px solid transparent;}
  .d-mail:hover{border-bottom-color:var(--accent);}
  .d-fact{margin-top:.8rem;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.02em;font-size:clamp(1.05rem,1.7vw,1.35rem);color:var(--black);}
  .d-block p{margin-top:.7rem;font-size:.9rem;line-height:1.6;}
  @media(max-width:820px){.direct-in{grid-template-columns:1fr;}.d-block{border-left:none;padding-left:0;border-top:1px solid var(--line);}.d-block:first-child{border-top:none;}}

  /* ── REPLY PROMISE ────────────────────────────────────────────────── */
  .promise{margin-top:2.2rem;border-top:2px solid var(--black);}
  .p-row{display:flex;gap:1.5rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline;}
  .p-row .k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);min-width:4.5rem;}
  .p-row .v{font-size:.96rem;color:var(--black);}

  /* two-up form fields */
  .brform .two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
  @media(max-width:600px){.brform .two-col{grid-template-columns:1fr;}}


  /* ── CONTACT FORM ZONE ────────────────────────────────────────────── */
  .formzone{background:#F6F7F8;padding:3.75rem 0 4.12rem;border-top:1px solid var(--line);}
  .formzone .editorial-in{align-items:start;}
  .form-img{width:100%;height:250px;object-fit:cover;object-position:50% 42%;margin-bottom:2rem;}
  .formzone h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.18;max-width:none;}
  .formzone p{margin-top:1.4rem;font-size:1.04rem;line-height:1.8;max-width:52ch;}
  .form-card{background:#fff;border-top:5px solid var(--accent);padding:2.2rem 2.2rem 2.4rem;box-shadow:0 22px 54px rgba(17,19,21,.10);}
  .form-card .brform label{margin-bottom:1.15rem;}
  .form-card .brform input,.form-card .brform select,.form-card .brform textarea{border-color:var(--line);}
  .form-card .brform input:focus,.form-card .brform select:focus,.form-card .brform textarea:focus{border-color:var(--accent);}
  .form-card .consent{text-transform:none;letter-spacing:0;font-weight:400;font-size:.85rem;line-height:1.55;color:var(--body);display:flex;gap:.7rem;align-items:flex-start;}
  .form-card .consent input{width:16px;height:16px;flex:none;margin-top:.2rem;accent-color:var(--accent);}
  .form-card .consent a{color:var(--accent);font-weight:700;}
  .form-card .btn{width:100%;}
  @media(max-width:940px){.form-img{height:200px;}.form-card{padding:1.8rem 1.6rem 2rem;}}

  /* ── TEAMING TWO-COLUMN ───────────────────────────────────────────── */
  .teaming-in{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:stretch;}
  .teaming-in .roles{grid-template-columns:1fr 1fr;column-gap:2.2rem;}
  .teaming-media{height:100%;}
  .teaming-media img{width:100%;height:100%;min-height:470px;object-fit:cover;object-position:50% 45%;}
  @media(max-width:1000px){.teaming-in{grid-template-columns:1fr;gap:2.4rem;}
    .teaming-media img{height:280px;min-height:0;}}
  @media(max-width:760px){.teaming-in .roles{grid-template-columns:1fr;}}

  /* ── CLOSER ENTRY CTAs — must read on a photographic ground ───────── */
  .entry .go{display:inline-block;margin-top:1rem;background:var(--accent);color:#fff;
    padding:.5rem .9rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
  .entry:hover .go{background:#fff;color:var(--field);}
  .entry span{text-shadow:0 1px 12px rgba(8,14,22,.55);}
  .final h2{text-shadow:0 2px 22px rgba(8,14,22,.5);}

  /* ── FINE PRINT ───────────────────────────────────────────────────── */
  .fineprint{margin:-.5rem 0 1.2rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.78rem;line-height:1.55;color:#8A9299;letter-spacing:0;text-transform:none;font-weight:400;}
  .fineprint a{color:#8A9299;text-decoration:underline;}
  .fineprint a:hover{color:var(--accent);}

  /* ── PAPER CARDS WITH COVER PREVIEW ───────────────────────────────── */
  /* four-across publication shelf: cover on top, small */
  .ins-grid.ins-grid--solo{grid-template-columns:1fr;}
.ins-grid--solo a.ins p{max-width:62ch;}
.ins-grid.four{grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2.6rem;}
  a.ins-cover{display:flex;flex-direction:column;border-top:2px solid var(--black);padding-top:1.1rem;text-decoration:none;}
a.ins-cover .topics{padding:10px 0 0;margin:8px 0 0}
a.ins-cover .go{margin-top:.5rem;padding-top:0}
  .ins-grid.four .ins-thumb{width:50%;margin-bottom:1.1rem;}
  .ins-grid.four .tag{font-size:.62rem;letter-spacing:.16em;}
  .ins-grid.four h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1rem;line-height:1.28;color:var(--black);margin:.5rem 0 .7rem;}
  .ins-grid.four .go{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:700;color:var(--accent);}
  @media(max-width:900px){.ins-grid.four{grid-template-columns:1fr 1fr;gap:1.8rem;}}
  @media(max-width:520px){.ins-grid.four{grid-template-columns:1fr;gap:1.5rem;}}
  .ins-thumb{position:relative;}
  .ins-thumb img{width:100%;height:auto;display:block;border:1px solid var(--line);
    box-shadow:0 4px 12px rgba(17,19,21,.12);transition:transform .2s,box-shadow .2s;}
  .ins-cover:hover .ins-thumb img{transform:translateY(-2px);box-shadow:0 8px 18px rgba(17,19,21,.18);}
  .ins-cover:hover h3{color:var(--accent);}
  

  /* ── DARK VARIANT OF THE HUMAN SPLIT ──────────────────────────────── */
  .human.dark{background:var(--field);border-top:none;}
  .human.dark h2{color:#fff;}
  .human.dark p{color:rgba(255,255,255,.76);}
  .human.dark .arrow{color:#fff;}
  .human.dark .arrow:hover{border-bottom-color:#fff;}

  /* ── FULL-BLEED PHOTOGRAPHIC BAND ─────────────────────────────────── */
  .band{display:block;line-height:0;}
  .band img{width:100%;height:clamp(300px,38vw,480px);object-fit:cover;display:block;}

  /* ── BAND WITH STATEMENT ──────────────────────────────────────────── */
  .band.stated{position:relative;}
  .band.stated:after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(8,14,22,0) 35%,rgba(8,14,22,.86) 100%);}
  .band-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 0 2.6rem;line-height:1.5;}
  .band-in p{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:clamp(1.15rem,2.3vw,1.85rem);line-height:1.35;color:#fff;max-width:30ch;
    border-left:4px solid var(--accent);padding-left:1.3rem;}

  /* ── STAGE DETAIL BLOCKS, COLOUR-CODED ────────────────────────────── */
  .inst-block{border-left:5px solid var(--hue,var(--line));padding-left:2.2rem;}
  .inst-block .tag{color:var(--hue,var(--black));}
  .inst-block h2{color:var(--black);}
  @media(max-width:860px){.inst-block{padding-left:1.4rem;}}

  /* ── TWO-CAUSES SECTION WITH IMAGE ────────────────────────────────── */
  .twocause-in{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center;}
  .twocause-media img{width:100%;height:420px;object-fit:cover;}
  @media(max-width:940px){.twocause-in{grid-template-columns:1fr;gap:2.2rem;}.twocause-media img{height:280px;}}

  /* ── SHIFT ONLY: the Friday / Monday break ────────────────────────── */
  .fridaymonday{padding:3.75rem 0 4.12rem;border-top:2px solid var(--black);}
  .fridaymonday h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;max-width:20ch;}
  .fridaymonday p.lede{margin-top:1.4rem;font-size:1.05rem;line-height:1.8;max-width:62ch;}
  .fm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:3rem;}
  .fm-col{padding:0;}
  .fm-col.was{background:#F6F7F8;}
  .fm-col.now{background:var(--field);}
  .fm-head{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:clamp(1.5rem,2.6vw,2rem);padding:1.6rem 2rem 1.2rem;}
  .fm-col.was .fm-head{color:var(--body);}
  .fm-col.now .fm-head{color:#fff;border-bottom:3px solid var(--accent);}
  .fm-row{padding:1rem 2rem;font-size:1.02rem;line-height:1.5;border-top:1px solid rgba(0,0,0,.08);}
  .fm-col.was .fm-row{color:var(--body);}
  .fm-col.now .fm-row{color:#fff;border-top-color:rgba(255,255,255,.14);}
  @media(max-width:760px){.fm-grid{grid-template-columns:1fr;}}

  /* ── ARENA ONLY: compounding layers ───────────────────────────────── */
  .layers{padding:3.75rem 0 4.12rem;border-top:2px solid var(--black);}
  .layers h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;max-width:20ch;}
  .layers p.lede{margin-top:1.4rem;font-size:1.05rem;line-height:1.8;max-width:62ch;}
  .ly-stack{margin-top:3rem;display:grid;gap:.6rem;}
  .ly{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:baseline;padding:1.5rem 2rem;color:#fff;}
  .ly-1{background:var(--field);width:52%;}
  .ly-2{background:#2C5A8C;width:76%;}
  .ly-3{background:var(--accent);width:100%;}
  .ly-k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;}
  .ly-v{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:clamp(.98rem,1.6vw,1.2rem);line-height:1.35;}
  @media(max-width:820px){.ly-1,.ly-2,.ly-3{width:100%;}.ly{grid-template-columns:1fr;gap:.5rem;}}

  /* ── ASCENT ONLY: two defensible positions ────────────────────────── */
  .tension{padding:3.75rem 0 4.12rem;border-top:2px solid var(--black);}
  .tension h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;max-width:22ch;}
  .tension p.lede{margin-top:1.4rem;font-size:1.05rem;line-height:1.8;max-width:64ch;}
  .tn-rows{margin-top:2.8rem;border-top:1px solid var(--line);}
  .tn{display:grid;grid-template-columns:104px 1fr 1fr;gap:1.6rem 2.2rem;align-items:start;
    padding:2.4rem 0 2.4rem;border-bottom:1px solid var(--line);}
  .tn-k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--black);padding-top:.25rem;}
  .tn-head{padding-bottom:.7rem;border-bottom:1px solid var(--black);}
  .tn-head .tn-a,.tn-head .tn-b{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8B949C;}
  .tn-head .tn-b{color:var(--accent);}
  .tn-a,.tn-b{font-size:1.04rem;line-height:1.5;color:var(--black);}
  .tn-b{color:var(--accent);}
  .tn>.tn-a{padding-right:1.4rem;border-right:1px solid var(--line);}
  .tn-head>.tn-a{border-right:0;}
  .tn-close{margin-top:2.4rem;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.45;color:var(--black);max-width:44ch;border-left:4px solid var(--accent);padding-left:1.4rem;}
  @media(max-width:820px){.tn{grid-template-columns:1fr;gap:.45rem;}
  .tn-head{display:none;}
  .tn>.tn-a{border-right:0;padding-right:0;}.tn-b:before{content:"vs  ";font-size:.7rem;letter-spacing:.16em;color:#B9C0C6;}}

  /* ── EDGE ONLY: the long feedback loop ────────────────────────────── */
    .lag{padding:2.8rem 0 3rem;border-top:2px solid var(--black);}
    .lag h2{font-size:clamp(1.55rem,2.8vw,2.1rem);line-height:1.18;margin-top:.9rem;max-width:20ch;}
    .lag p.lede{margin-top:0;font-size:1rem;line-height:1.75;max-width:64ch;}
  .lag p.lede + p.lede{margin-top:.9rem;}
  .lag .lag-turn{margin-top:1.2rem;}
  .lag-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem;border-top:2px solid var(--black);}
  .lg{padding:1.8rem 1.6rem 0 0;border-left:1px solid var(--line);padding-left:1.6rem;position:relative;}
  .lg:first-child{border-left:none;padding-left:0;}
  .lg:before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--accent);}
  .lg:nth-child(2):before{background:#1D7A7A;}
  .lg:nth-child(3):before{background:#2C5A8C;}
  .lg:nth-child(4):before{background:var(--field);}
  .lg-t{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.25rem;color:var(--black);}
  .lg-d{margin-top:.7rem;font-size:.94rem;line-height:1.65;color:var(--body);}
  @media(max-width:820px){.lag-line{grid-template-columns:1fr 1fr;}.lg{border-top:1px solid var(--line);padding-bottom:1.4rem;}}
  @media(max-width:520px){.lag-line{grid-template-columns:1fr;}.lg{border-left:none;padding-left:0;}}

  /* ── HERO VARIANT: split panel (text on navy, image beside) ───────── */
  .hero--split{background:var(--field);min-height:0;}
  .hero--split .slide{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
  .hero--split .slide img.bg{position:relative;inset:auto;height:100%;min-height:520px;}
  .hero--split .scrim{display:none;}
  .hero--split .hero-in{max-width:none;min-height:0;padding:5.5rem 4rem 5.5rem 5vw;justify-content:center;}
  .hero--split h1{font-size:clamp(2rem,3.6vw,3rem);max-width:16ch;}
  .hero--split .ridgeline{display:none;}
  @media(max-width:940px){
    .hero--split .slide{grid-template-columns:1fr;}
    .hero--split .slide img.bg{min-height:280px;order:2;}
    .hero--split .hero-in{padding:4rem 5vw;order:1;}
  }

  /* ── HERO VARIANT: type-led, no photograph ────────────────────────── */
  .hero--type{background:#fff;min-height:0;}
  .hero--type .slide img.bg,.hero--type .scrim,.hero--type .ridgeline{display:none;}
  .hero--type .hero-in{min-height:0;padding:5rem 5vw 3.4rem;}
  .hero--type .tag{color:var(--accent);}
  .hero--type h1{color:var(--black);font-size:clamp(2.3rem,5vw,4rem);max-width:18ch;}
  .hero--type p.sub{color:var(--body);max-width:58ch;}
  .hero--type .arrow.light{color:var(--accent);}
  .hero--type .arrow.light:hover{border-bottom-color:var(--accent);}
  .hero--type:after{content:"";display:block;height:6px;background:var(--accent);width:100%;}

  /* ── PROGRAMS ─────────────────────────────────────────────────────── */
  .programs{padding:5rem 0 0;}
  .programs h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;max-width:22ch;}
  .programs p.lede{margin-top:1.3rem;font-size:1.05rem;line-height:1.8;max-width:62ch;}
  .pcard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;max-width:1760px;margin:3rem auto 0;padding:0 3vw;}
  .pcard{display:flex;flex-direction:column;text-decoration:none;background:#F6F7F8;border-top:5px solid var(--hue);transition:background .2s,transform .2s;}
  .pcard:hover{background:#EFF1F3;transform:translateY(-3px);}
  .pcard-body{padding:1.7rem 1.6rem 1.8rem;flex:1;}
  .pstatus{display:inline-block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--hue);padding:.34rem .6rem;}
  .pcard h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.2rem;line-height:1.25;color:var(--hue);margin:1rem 0 .3rem;}
  .prole{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body);}
  .pcard p{margin-top:.85rem;font-size:.93rem;line-height:1.6;color:var(--body);}
  .pcard-foot{background:var(--hue);color:#fff;padding:.85rem 1.6rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:700;display:flex;justify-content:space-between;}
  .pcard:hover .pcard-foot{filter:brightness(1.14);}
  @media(max-width:1000px){.pcard-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.pcard-grid{grid-template-columns:1fr;}}

  .pdetail{padding:3.38rem 0 3.38rem;border-top:1px solid var(--line);}
  .pdetail:first-of-type{border-top:2px solid var(--black);margin-top:5rem;}
  .pd-head{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:start;}
  .pdetail h2{font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.2;color:var(--hue);margin:1rem 0 .6rem;}
  .ptag{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.12rem;line-height:1.4;color:var(--black);}
  .pwho{margin-top:1rem;font-size:.96rem;line-height:1.6;color:var(--body);}
  .pwho b{color:var(--black);}
  @media(max-width:900px){.pd-head{grid-template-columns:1fr;gap:2rem;}}

  /* programs hero: shorter measure so the headline clears the subject */
  .hero--programs h1{max-width:13ch;}
  .hero--programs p.sub{max-width:38ch;}

  /* ── metrics band: tighter ────────────────────────────────────────── */
  .metric{padding:1.6rem 1.8rem 1.8rem;}
  .metric .n{font-size:clamp(1.5rem,2.3vw,2.05rem);}
  .metric .lbl{margin-top:.5rem;font-size:.86rem;}

  /* ── PROGRAMS: the three movements ────────────────────────────────── */
  .movements{padding:3.75rem 0 4.12rem;border-top:2px solid var(--black);}
  .movements h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;}
  .movements p.lede{margin-top:1.3rem;font-size:1.05rem;line-height:1.8;max-width:60ch;}
  .mv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
  .mv{background:var(--hue);color:rgba(255,255,255,.82);padding:2rem 1.8rem 2.2rem;}
  .mv-day{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);}
  .mv h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:1.5rem;color:#fff;margin:.8rem 0 .9rem;}
  .mv p{font-size:.95rem;line-height:1.65;}
  .mv-after{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--line);}
  .mv-a{font-size:.98rem;line-height:1.7;color:var(--body);}
  .mv-a b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;}
  @media(max-width:900px){.mv-grid{grid-template-columns:1fr;}.mv-after{grid-template-columns:1fr;gap:1.4rem;}}

  /* ── CONTACT HERO — navy field, photograph showing through ────────── */
  .hero--contact{position:relative;background:var(--field);overflow:hidden;text-align:center;}
  .hero--contact img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.30;}
  .hero--contact:before{content:"";position:absolute;inset:0;z-index:1;
    background:radial-gradient(120% 90% at 50% 35%, rgba(15,36,56,.35) 0%, rgba(15,36,56,.88) 62%, rgba(15,36,56,.97) 100%);}
  .hero--contact .hero-in{position:relative;z-index:2;min-height:0;padding:6rem 5vw 8rem;align-items:center;}
  .hero--contact .tag{color:var(--accent);}
  .hero--contact h1{color:#fff;max-width:20ch;margin:1.2rem auto 0;text-shadow:0 2px 26px rgba(8,14,22,.5);}
  .hero--contact p.sub{color:rgba(255,255,255,.84);max-width:58ch;margin:1.6rem auto 0;}
  .hero--contact .mailbig{display:inline-block;margin-top:2.2rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.01em;font-size:clamp(1rem,1.5vw,1.24rem);color:var(--accent);text-decoration:none;
    border-bottom:3px solid transparent;padding-bottom:.2rem;transition:border-color .2s;}
  .hero--contact .mailbig:hover{border-bottom-color:var(--accent);}
  .hero--contact .replyline{margin-top:.6rem;font-size:.88rem;color:rgba(255,255,255,.58);}
  .hero--contact .cta-row{margin-top:2.6rem;justify-content:center;}

  /* ── CONTACT HERO: the four routes, visible before anyone commits ─── */
  .herochips{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;align-items:center;}
  .hc-lead{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-right:.4rem;}
  .herochips a{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.83rem;font-weight:700;
    color:#fff;text-decoration:none;padding:.55rem 1.05rem;border:1px solid rgba(255,255,255,.32);
    transition:background .18s,border-color .18s,color .18s;}
  .herochips a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
  @media(max-width:640px){.hc-lead{width:100%;margin:0 0 .3rem;}}

  /* ── CONTACT: quiet alternative routes ────────────────────────────── */
  .lookaround{border-top:1px solid var(--line);padding:2.4rem 0 2.4rem;}
  .lookaround .wrap{display:flex;flex-wrap:wrap;gap:.7rem 1.9rem;align-items:baseline;}
  .la-lead{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--body);}
  .lookaround a{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.95rem;font-weight:700;
    color:var(--black);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px;}
  .lookaround a:hover{border-bottom-color:var(--accent);color:var(--accent);}

  /* ── LEGAL / UTILITY PAGES ────────────────────────────────────────── */
  .hero--legal{background:var(--field);min-height:0;}
  .hero--legal-img{position:relative;overflow:hidden;}
  .hero--legal-img img.bg{position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:0;}
  .hero--legal-img .scrim{position:absolute;inset:0;z-index:1;background:
    linear-gradient(96deg, rgba(8,14,22,.95) 0%, rgba(8,14,22,.86) 32%,
    rgba(8,14,22,.58) 58%, rgba(8,14,22,.22) 80%, rgba(8,14,22,.06) 100%);}
  .hero--legal-img .hero-in{position:relative;z-index:2;}
  .hero--legal .hero-in{min-height:0;padding:4.5rem 5vw 4rem;}
  .hero--legal .tag{color:var(--accent);}
  .hero--legal h1{color:#fff;font-size:clamp(2rem,4vw,3.1rem);max-width:20ch;margin-top:1rem;}

  .legal{padding:3rem 0 3.75rem;}
.legal.legal--confirm{padding:2rem 0 2.6rem;}
.legal.legal--confirm h2:first-of-type{margin-top:0;}
@media (max-width:760px){.legal.legal--confirm{padding:1.6rem 0 2.2rem;}}
  .legal .wrap{max-width:820px;}
  .legal-intro{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.5;color:var(--black);margin-bottom:2.6rem;}
  .legal h2{font-size:1.22rem;line-height:1.3;margin:2.6rem 0 .9rem;padding-top:1.4rem;border-top:1px solid var(--line);}
  .legal h2:first-of-type{border-top:none;padding-top:0;}
  .legal p{font-size:1.02rem;line-height:1.8;margin-bottom:1rem;}
  .legal p b{color:var(--black);}
  .legal a{color:var(--accent);font-weight:700;}
  /* .legal a is (0,1,1) and .btn is (0,1,0), so the section link colour was
     repainting the button label coral on a coral background — an invisible
     button on the form thank-you page. Restore the button's own colours. */
  .legal a.btn{color:#fff;}
  .legal a.btn:hover{color:var(--accent);}
  .legal .bigmail{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.01em;font-size:1.3rem;}
  .legal-updated{margin-top:3rem;padding-top:1.4rem;border-top:2px solid var(--black);font-size:.9rem;color:var(--body);}
  .legalnote{background:#F6F7F8;border-left:4px solid var(--accent);padding:1.2rem 1.4rem;margin-bottom:2.4rem;font-size:.92rem;line-height:1.65;}
  .legalnote b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem;}

  /* ── PRESS ROOM ───────────────────────────────────────────────────── */
  .hero--legal p.sub{color:rgba(255,255,255,.82);max-width:56ch;margin-top:1.4rem;}
  .presscontact{border-bottom:1px solid var(--line);padding:2.55rem 0 2.85rem;}
  .pc-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
  .presscontact .wrap+.wrap{margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid var(--line);}
  .facts-wide{margin-top:1.6rem;display:grid;grid-template-columns:repeat(3,1fr);
    column-gap:3rem;}
  .facts-wide .fact-row{grid-template-columns:1fr;gap:.2rem;}
  @media(max-width:900px){.facts-wide{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.facts-wide{grid-template-columns:1fr;}}
  .presscontact .bigmail{display:inline-block;margin-top:.9rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.02em;font-size:clamp(1.2rem,2.3vw,1.7rem);color:var(--accent);text-decoration:none;
    border-bottom:3px solid transparent;padding-bottom:.15rem;}
  .presscontact .bigmail:hover{border-bottom-color:var(--accent);}
  .presscontact p{margin-top:1.1rem;font-size:1rem;line-height:1.75;color:var(--body);}
  .presscontact p b{color:var(--black);}
  .pc-note{font-size:.9rem!important;color:#8A9299!important;border-left:3px solid var(--line);padding-left:1rem;}
  .fact-block{border-top:2px solid var(--black);padding-top:1.2rem;}
  .fact-row{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.62rem 0;border-bottom:1px solid var(--line);}
  .fact-row .k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--body);padding-top:.15rem;}
  .fact-row .v{font-size:.96rem;line-height:1.5;color:var(--black);}
  @media(max-width:900px){.pc-in{grid-template-columns:1fr;gap:2.4rem;}.fact-row{grid-template-columns:9rem 1fr;}}

  .topics{padding:3.38rem 0 3.75rem;border-top:1px solid var(--line);}
  .topics h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1rem;}
  .topics p.lede{margin-top:1.2rem;font-size:1.04rem;line-height:1.8;max-width:64ch;}
  .topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.8rem;}
  .topic{border-top:4px solid var(--hue);background:#F6F7F8;padding:1.6rem 1.6rem 1.8rem;}
  .topic h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1.12rem;line-height:1.3;color:var(--hue);margin-bottom:.7rem;}
  .topic p{font-size:.94rem;line-height:1.65;color:var(--body);}
  @media(max-width:820px){.topic-grid{grid-template-columns:1fr;}}

  .formats{padding:3.38rem 0 3.75rem;background:var(--field);color:rgba(255,255,255,.76);}
  .formats .tag{color:var(--accent);}
  .formats h2{color:#fff;font-size:clamp(1.7rem,3.1vw,2.3rem);margin-top:1rem;}
  .fmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 2.6rem;margin-top:2.6rem;}
  .fmt h4{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:#fff;padding-bottom:.7rem;border-bottom:2px solid var(--accent);}
  .fmt p{margin-top:.8rem;font-size:.94rem;line-height:1.65;}
  @media(max-width:900px){.fmt-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.fmt-grid{grid-template-columns:1fr;}}

  /* ── WHAT GETS COVERED ────────────────────────────────────────────── */
  .covered{padding:3.75rem 0 4.12rem;border-top:2px solid var(--black);}
  .covered h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin-top:1.1rem;}
  .covered p.lede{margin-top:1.3rem;font-size:1.05rem;line-height:1.8;max-width:64ch;}
  .cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-top:2.8rem;border-top:1px solid var(--line);}
  .cv{padding:2.4rem 0 2.4rem;border-bottom:1px solid var(--line);}
  .cv h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1.06rem;line-height:1.3;color:var(--black);}
  .cv h3:before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);
    margin-right:.7rem;transform:translateY(-2px);}
  .cv p{margin-top:.45rem;padding-left:1.5rem;font-size:.93rem;line-height:1.6;color:var(--body);}
  .cv-note{margin-top:2rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);font-size:1.08rem;line-height:1.5;color:var(--black);
    border-left:4px solid var(--accent);padding-left:1.3rem;max-width:52ch;}
  @media(max-width:820px){.cv-grid{grid-template-columns:1fr;gap:0;}}

  /* honeypot — hidden from people, visible to bots */
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

  /* ── FAQ ──────────────────────────────────────────────────────────── */
  .faq{padding:2.4rem 0 2.6rem;border-top:2px solid var(--black);}
  .faq h2{font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.2;margin-top:.8rem;}
  .faq-list{margin-top:1.4rem;border-top:0;}
  /* Accordion layout lives with the other .faq-item rules further down. */
  .faq-item h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1.14rem;line-height:1.32;color:var(--black);}

  /* participant sign-in — quieter than a CTA, it is not a sales action */
  .nav-links .signin{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.76rem;
    font-weight:700;color:var(--body);text-decoration:none;white-space:nowrap;}
  .nav-links .signin:hover{color:var(--accent);}
  @media(max-width:1100px){.nav-links .signin{display:none;}}

  /* ── REPORT LANDING PAGES ─────────────────────────────────────────── */
  .hero--report{background:var(--hue,var(--field));min-height:0;}
  .hero--report .hero-in{min-height:0;padding:4.5rem 5vw 4.2rem;}
  .hero--report .tag{color:rgba(255,255,255,.72);}
  .hero--report h1{color:#fff;font-size:clamp(2rem,4.2vw,3.1rem);max-width:20ch;margin-top:1rem;}
  .hero--report p.sub{color:rgba(255,255,255,.84);max-width:60ch;margin-top:1.3rem;}
  .hero--report .btn{background:var(--accent);border-color:var(--accent);}

  .rsections{margin:1.6rem 0 2rem;padding:0;list-style:none;border-top:1px solid var(--line);}
  .rsections li{padding:.72rem 0 .72rem 1.6rem;border-bottom:1px solid var(--line);
    font-size:.98rem;line-height:1.5;color:var(--black);position:relative;}
  .rsections li:before{content:"";position:absolute;left:0;top:1.15rem;width:7px;height:7px;background:var(--accent);}
  .rnote{margin-top:1.2rem;font-size:.9rem;color:var(--body);}

  .rmore{padding:3.38rem 0 3.75rem;border-top:1px solid var(--line);background:#F6F7F8;}
  .rmore h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin-top:1rem;}
  .rcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.4rem;}
  .rcard{display:grid;grid-template-columns:70px 1fr;gap:1.1rem;align-items:start;background:#fff;
    border-top:4px solid var(--hue);padding:1.3rem 1.3rem 1.4rem;text-decoration:none;transition:transform .2s;}
  .rcard:hover{transform:translateY(-3px);}
  .rcard img{width:100%;height:auto;border:1px solid var(--line);}
  .rc-body{min-width:0;}
  .rcard h3{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:.99rem;line-height:1.3;color:var(--black);margin-top:.45rem;}
  .rcard:hover h3{color:var(--accent);}
  @media(max-width:900px){.rcard-grid{grid-template-columns:1fr;}}

  /* ── LIBRARY CONTENTS INDEX ───────────────────────────────────────── */
  .libindex{border-bottom:1px solid var(--line);padding:2.4rem 0 2.4rem;}
  .li-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;}
  .li{display:block;text-decoration:none;border-top:4px solid var(--hue);
    padding:1.3rem 1.3rem 1.5rem;background:#F6F7F8;transition:background .2s,transform .2s;}
  .li:hover{background:#EFF1F3;transform:translateY(-3px);}
  .li-n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.03em;
    font-size:clamp(2.1rem,3.4vw,2.9rem);line-height:1;color:var(--hue);}
  .li-t{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--black);margin:.7rem 0 .55rem;}
  .li-d{font-size:.9rem;line-height:1.55;color:var(--body);}
  .li-go{margin-top:.95rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.78rem;font-weight:700;color:var(--accent);}
  .li-foot{margin-top:1.8rem;font-size:1rem;line-height:1.6;color:var(--body);}
  .li-foot b{color:var(--black);font-family:var(--display);font-weight:var(--display-weight);font-size:1.15rem;}
  @media(max-width:1000px){.li-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.li-grid{grid-template-columns:1fr;}}

  /* ── FOUNDATIONAL PAPER PREVIEW ───────────────────────────────────── */
  .fp-cover{text-align:center;}
  .fp-cover img{width:100%;max-width:280px;margin:0 auto;border:1px solid rgba(255,255,255,.2);
    box-shadow:0 22px 50px rgba(0,0,0,.38);transition:transform .2s,box-shadow .2s;}
  .fp-cover a:hover img{transform:translateY(-4px);box-shadow:0 28px 60px rgba(0,0,0,.45);}
  .fp-meta{display:flex;justify-content:center;gap:1.4rem;margin-top:1.1rem;flex-wrap:wrap;}
  .fp-meta span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}

  /* ── two-column section head: headline left, context right ────────── */
  .sechead{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:end;margin-bottom:.4rem;}
  .sechead h2{margin-top:1rem;max-width:18ch;}
  .sechead .lede{margin:0;padding-bottom:.35rem;font-size:1.02rem;line-height:1.75;color:var(--body);}
  @media(max-width:900px){.sechead{grid-template-columns:1fr;gap:1.1rem;align-items:start;}.sechead h2{max-width:none;}}

  /* ── library: tighter vertical rhythm ─────────────────────────────── */
  .papers{padding:2.7rem 0 2.85rem;}
  .papers .paper-grid{margin-top:2rem;gap:1.1rem;}
  .insights{padding:2.85rem 0 3rem;}
  .insights .ins-grid{margin-top:2rem;}
  .insights .see-all{margin-top:2rem;}
  .queue{padding:2.7rem 0 3rem;}
  .queue .q-grid{margin-top:1.8rem;}
  .featured-paper{padding:2.7rem 0 2.7rem;}
  .libindex{padding:2.4rem 0 2.4rem;}
  .li-foot{margin-top:1.4rem;}

  /* ── The belief spine: ROLE → DEVELOPMENT → APPLICATION → EVIDENCE ─────
     Four independent statements read as a list. In this order they read as an
     argument, so the sequence is drawn rather than implied. */
  .spine{padding:3.15rem 0 3rem;}
  .spine .lede{max-width:70ch;margin-top:1.1rem;}
  .spine-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:2.6rem;}
  .spine-step{background:#fff;padding:1.4rem 1.3rem 1.5rem;border-top:5px solid var(--hue);}
  .spine-step b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;
    font-weight:700;letter-spacing:.2em;color:var(--hue);margin-bottom:.7rem;}
  .spine-step span{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:.98rem;line-height:1.32;}
  .spine-line{margin-top:2.2rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.32rem;line-height:1.4;}
  .spine-line.light{color:#fff;margin-top:2.6rem;}
  @media(max-width:840px){.spine-row{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.spine-row{grid-template-columns:1fr;}}

  /* ── One belief, at length ────────────────────────────────────────────── */
  .belief{border-top:1px solid var(--line);padding:2.7rem 0 2.55rem;}
  .belief:first-of-type{border-top:0;}
  .belief-in{display:grid;grid-template-columns:1fr 2.4fr;gap:4rem;align-items:start;}
  .belief-n{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.03em;font-size:3.4rem;line-height:1;color:var(--hue);}
  .belief-spine{margin-top:.5rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hue);}
  .belief-body h2{font-size:2rem;line-height:1.14;max-width:22ch;}
  .belief-short{margin-top:1.1rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.16rem;line-height:1.5;max-width:58ch;}
  .belief-body p{margin-top:1.1rem;max-width:66ch;}
  .rules-out{margin-top:1.9rem;padding-left:1.3rem;border-left:3px solid var(--hue);}
  .rules-out span{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.65rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hue);margin-bottom:.5rem;}
  .rules-out p{margin:0;color:var(--black);font-weight:700;}
  @media(max-width:840px){
    .belief-in{grid-template-columns:1fr;gap:1.4rem;}
    .belief-mark{display:flex;align-items:baseline;gap:1rem;}
    .belief-spine{margin-top:0;}
  }

  /* The About grid now links through to each belief in full. */
  .idea{display:block;text-decoration:none;}
  .idea-mark{display:flex;align-items:baseline;gap:.7rem;margin-bottom:1rem;}
  .idea-mark span{font-family:var(--display);font-weight:var(--display-weight);font-size:1.35rem;
    color:rgba(255,255,255,.55);line-height:1;}
  .idea-mark b{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.75);}
  .idea-go{margin-top:1.3rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;
    font-weight:700;letter-spacing:.1em;color:#fff;opacity:.72;transition:opacity .18s;}
  .idea:hover .idea-go{opacity:1;}

  /* ── Split hero: light panel, not a navy slab ──────────────────────────
     The navy half-panel appeared on About, Our Approach and What We Believe,
     which put a solid block of the ground colour beside three different
     photographs and read as decoration rather than as ground. Navy stays where
     it belongs — bands, dropdowns, footer, the closer. The panel is paper now,
     with the heavy black headline the rest of the site uses and the coral CTA
     doing the signalling. The image is also capped so a long headline can no
     longer stretch the photograph into a tall strip. */
  .hero--split{background:var(--white);border-bottom:1px solid var(--line);}
  .hero--split .slide{align-items:center;}
  .hero--split .slide img.bg{height:100%;min-height:430px;max-height:560px;object-fit:cover;}
  .hero--split .hero-in{padding:4.4rem 4rem 4.6rem 5vw;}
  .hero--split .tag{color:var(--accent);}
  .hero--split h1{color:var(--black);max-width:18ch;}
  .hero--split p.sub{color:var(--body);max-width:46ch;}
  .hero--split .arrow{color:var(--accent);}
  .hero--split .signature{color:var(--body);}
  @media(max-width:860px){
    .hero--split{border-bottom:0;}
    .hero--split .slide img.bg{min-height:260px;max-height:340px;}
    .hero--split .hero-in{padding:3.4rem 5vw 3.6rem;}
  }

  /* ── Founder essay ─────────────────────────────────────────────────────
     Long-form, one column, built to be read. The short standalone lines are
     the rhythm of the piece, so they get room rather than being packed
     together. Measure is held near 62ch — past that the eye loses the line. */
  .essay{padding:2.85rem 0 3.15rem;}
  .essay-in{max-width:1240px;margin:0 auto;padding:0 5vw;}
  .essay-in>*{max-width:66ch;}
  .essay p{font-size:1.01rem;line-height:1.75;margin:0 0 1.05rem;color:var(--body);}
  .essay p.beat{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.12rem;
    line-height:1.45;margin:1.45rem 0;}
  .essay p.lift{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.32rem;
    line-height:1.36;margin:1.8rem 0;padding-left:1.4rem;border-left:4px solid var(--accent);}
  .essay h2{font-size:1.66rem;line-height:1.18;margin:0 0 1.3rem;max-width:24ch;}
  .essay .stack{margin:1.5rem 0 1.9rem;}
  .essay .stack p{margin:0 0 .38rem;font-size:1rem;line-height:1.5;}
  .essay .stack p:last-child{margin-bottom:0;}
  .essay-rule{max-width:none;border:0;border-top:1px solid var(--line);margin:2.8rem 0 2.6rem;}

  /* The two "every new role" lines are the spine of the essay, so they break
     the measure and run full width. */
  .essay-statement{max-width:none;margin:2.3rem 0 .8rem;padding:2.4rem 0 2.4rem;
    border-top:3px solid var(--accent);border-bottom:1px solid var(--line);}
  .essay-statement p{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.028em;color:var(--black);font-size:clamp(1.42rem,2.7vw,2rem);
    line-height:1.1;margin:0;max-width:20ch;}

  .essay-process{max-width:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 2.4rem;}
  .essay-process span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.76rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;
    background:var(--hue);padding:.62rem 1.05rem;}

  .essay-fig{max-width:none;margin:2.6rem 0 3rem;}
  .essay-fig{max-width:none;display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:2.2rem;align-items:center;}
  .essay-fig img{width:100%;height:auto;display:block;}
  @media(max-width:700px){.essay-fig{grid-template-columns:1fr;}.essay-fig img{max-width:280px;}}

  .essay-sig{margin-top:3.4rem;padding-top:1.8rem;border-top:1px solid var(--line);}
  .sig-name{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.25rem;}
  .sig-role{margin-top:.5rem;font-size:.94rem;line-height:1.6;color:var(--body);}
  @media(max-width:700px){
    .essay p{font-size:.98rem;}
    .essay h2{font-size:1.42rem;}
    .essay p.lift{font-size:1.16rem;}
  }

  /* About: the founder pull-quote fills the space beside "What we believe". */
  .believe-head{display:grid;grid-template-columns:1.35fr 1fr;gap:5vw;align-items:start;}
  .pullquote{border-left:4px solid var(--accent);padding:.2rem 0 .3rem 1.5rem;}
  .pullquote blockquote{margin:0;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.12rem;line-height:1.5;}
  .pullquote .attr{margin-top:1rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--body);}
  .pullquote .arrow{margin-top:1.2rem;}
  @media(max-width:900px){.believe-head{grid-template-columns:1fr;gap:2.2rem;}}

  /* ── Founder hero ──────────────────────────────────────────────────────
     A half-page portrait made this page read as a billboard. On a founder page
     the sentence is the hook and the person is the credential, so the headline
     takes the width and the portrait sits beside it at the size of a byline
     photograph, carrying the credential in its caption. */
  .hero--founder{background:var(--white);min-height:0;border-bottom:1px solid var(--line);}
  .hero--founder .slide{display:grid;grid-template-columns:1fr 300px;gap:5vw;
    align-items:center;max-width:1240px;margin:0 auto;padding:4.4rem 5vw 4.6rem;}
  .hero--founder .hero-in{max-width:none;min-height:0;padding:0;}
  .hero--founder .tag{color:var(--accent);}
  .hero--founder h1{color:var(--black);font-size:clamp(2rem,4vw,3.15rem);
    line-height:1.05;max-width:17ch;margin-top:1.1rem;}
  .hero--founder p.sub{color:var(--body);max-width:52ch;}
  .founder-card{margin:0;}
  .founder-card img{width:100%;height:auto;display:block;border-bottom:4px solid var(--accent);}
  .founder-card figcaption{margin-top:1rem;}
  .founder-card b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.02rem;}
  .founder-card span{display:block;margin-top:.4rem;font-size:.82rem;line-height:1.55;color:var(--body);}
  @media(max-width:860px){
    .hero--founder .slide{grid-template-columns:1fr;gap:2.4rem;padding:3.2rem 5vw 3.4rem;}
    .founder-card{max-width:230px;}
  }
  /* .arrow.light is white for dark heroes; this one sits on paper. */
  .hero--founder .arrow.light{color:var(--accent);}
  .hero--founder .arrow.light:hover{border-bottom-color:var(--accent);}

  /* The line that turns the argument in an editorial section. Plain English
     first is the rule, so this is a sentence set heavy rather than a label. */
  .ed-turn{margin-top:1.6rem !important;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.22rem;line-height:1.45;max-width:52ch;}

  /* ── Transition page: the plain-English-first treatments ───────────────
     The demand headline is the sentence; the BlackRidge name sits under it as
     a label rather than above it as the title. */
  .f-name{margin:.5rem 0 .1rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hue);}
  .fields-lede{max-width:64ch;margin-top:1.1rem;}

  /* A statement over a full-bleed image, with room for the argument beneath it. */
  .feature{position:relative;line-height:0;}
  .feature img{width:100%;height:clamp(360px,44vw,560px);object-fit:cover;display:block;}
  .feature-in{position:absolute;inset:0;display:flex;align-items:flex-end;line-height:1.5;
    background:linear-gradient(to top,rgba(15,36,56,.92) 0%,rgba(15,36,56,.66) 45%,rgba(15,36,56,.12) 100%);}
  .feature-in .wrap{padding-bottom:3rem;}
  .feature-in h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.16;max-width:24ch;}
  .feature-in p{margin-top:1rem;color:rgba(255,255,255,.86);font-size:1.02rem;line-height:1.7;max-width:60ch;}

  /* The five stages, spelled out on the page rather than linked away. */
  .proc-list{margin-top:1.6rem;display:grid;gap:.85rem;max-width:74ch;}
  .proc-list div{padding-left:1.1rem;border-left:3px solid var(--line);font-size:1.02rem;line-height:1.65;}
  .proc-list b{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-right:.5rem;}

  /* "What leaders actually work on" — a list, not a card grid. */
  .cv-list{margin:2rem 0 0;padding:0;list-style:none;columns:2;column-gap:4rem;max-width:none;}
  .cv-list li{break-inside:avoid;padding:.62rem 0 .62rem 1.5rem;position:relative;
    font-size:1.01rem;line-height:1.6;color:var(--black);border-bottom:1px solid var(--line);}
  .cv-list li:before{content:"";position:absolute;left:0;top:1.15rem;width:7px;height:7px;
    background:var(--accent);}
  .cv-turn{margin-top:2rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.22rem;line-height:1.45;max-width:52ch;}
  .lag-turn{margin-top:1.6rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.22rem;line-height:1.45;max-width:54ch;}
  @media(max-width:720px){.cv-list{columns:1;}}

  /* ASCENT: three statements that have to be held at once. Stated rather than
     tabled — the table asked the reader to hold two halves and infer the link. */
  .truths{margin:2.2rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:none;}
  .truths div{background:#fff;padding:1.1rem 1.4rem;font-family:var(--display);
    font-weight:var(--display-weight);letter-spacing:var(--display-tracking);color:var(--black);
    font-size:1.06rem;line-height:1.4;}
  .truths div:last-child{border-left:4px solid var(--accent);}
  @media(max-width:760px){.truths{grid-template-columns:1fr;}}

  /* ── Two-column editorial ──────────────────────────────────────────────
     A headline on the left with nothing on the right leaves half the screen
     empty on desktop and costs a scroll on mobile. Headline and turn hold the
     left column; the argument fills the right. */
  .ed-two{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:start;}
  .ed-two h2{max-width:18ch;}
  .ed-two .ed-turn{margin-top:1.8rem !important;}
  .ed-two p:first-child{margin-top:0;}
  @media(max-width:900px){.ed-two{grid-template-columns:1fr;gap:2.2rem;}.ed-two h2{max-width:none;}}

  /* ── The four moves ────────────────────────────────────────────────────
     These were four grey rows tucked inside a text column — the payoff of the
     argument, set smaller than the paragraph above it, with SHIFT's navy
     reading as plain black. Now a full-bleed band: four solid panels in the
     product ramp, white type, each one a link to its transition. */
  .moves-band{display:grid;grid-template-columns:repeat(4,1fr);width:100%;}
  .mv{background:var(--hue);color:#fff;text-decoration:none;padding:2.6rem 2rem 2.2rem;
    display:flex;flex-direction:column;position:relative;transition:filter .2s;}
  .mv:hover{filter:brightness(1.12);}
  .mv-n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.03em;
    font-size:1.05rem;color:rgba(255,255,255,.5);}
  .mv h3{margin-top:.5rem;color:#fff;font-size:1.72rem;letter-spacing:.02em;line-height:1;}
  .mv-from{margin-top:1.5rem;font-size:.95rem;line-height:1.4;color:rgba(255,255,255,.72);}
  .mv-to{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.28);
    font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:1.08rem;line-height:1.3;color:#fff;}
  .mv-go{margin-top:auto;padding-top:1.8rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
    color:rgba(255,255,255,.85);}
  .mv:hover .mv-go{color:#fff;}
  @media(max-width:1000px){.moves-band{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.moves-band{grid-template-columns:1fr;}
    .mv{padding:2rem 1.6rem 1.8rem;}}

  .q-card{margin-top:2rem;border-left:4px solid var(--accent);padding:.2rem 0 .3rem 1.4rem;}
  .q-card span{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.66rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;}
  .q-card p{margin:0 !important;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.14rem;line-height:1.45;}

  /* ── "The leaders this work is for" ────────────────────────────────────
     A group photograph on an About page is read as the team by default. This
     one is not the team, so the caption says what it is rather than leaving a
     visitor to assume something that is not true. */
  .served{position:relative;line-height:0;}
  .served img{width:100%;height:clamp(320px,40vw,500px);object-fit:cover;object-position:50% 0;display:block;}
  .served-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;line-height:1.5;padding-bottom:1.4rem;
    background:linear-gradient(to top,rgba(15,36,56,.9) 0%,rgba(15,36,56,.55) 55%,rgba(15,36,56,0) 100%);
    padding-top:4rem;}
  .served-in{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;}
  .served-cap b{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:#fff;font-size:clamp(1.15rem,2vw,1.5rem);}
  .served-note{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);
    flex:none;}

  /* ══ METHODOLOGY ══════════════════════════════════════════════════════
     The five stages are unchanged. What is new is the journey around them:
     one front door, a fork into two paths, and the same discipline on both. */

  /* ── The Insight Brief: the universal front door ───────────────────── */
  .frontdoor{padding:3.3rem 0 3.45rem;background:#F7F9FA;border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);}
  .fd-lede{margin-top:1.3rem;font-size:1.1rem;line-height:1.7;color:var(--black);max-width:52ch;}
  .fd-q{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;}
  .fd-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;}
  .fd-list li{padding:.72rem 0 .72rem 1.5rem;position:relative;border-bottom:1px solid var(--line);
    font-size:1rem;line-height:1.5;color:var(--black);}
  .fd-list li:before{content:"";position:absolute;left:0;top:1.25rem;width:7px;height:7px;background:var(--accent);}
  .fd-note{margin-top:1.5rem;font-size:.95rem;line-height:1.7;color:var(--body);}

  /* ── One methodology, two paths ────────────────────────────────────── */
  .fork{background:var(--field);color:rgba(255,255,255,.78);padding:3.45rem 0 3.6rem;}
  .fork h2{color:#fff;font-size:clamp(2rem,4vw,2.9rem);margin-top:1rem;}
  .fork .lede{margin-top:1.2rem;color:rgba(255,255,255,.8);max-width:64ch;}
  .fork-top{margin:2.6rem 0 2.4rem;}
  .fork-top--centre{max-width:none;}
  .fk-step{border-left:4px solid var(--accent);padding:.15rem 0 .2rem 1.1rem;}
    .fk-step b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:#fff;font-size:1.16rem;}
    .fk-step span{display:block;margin-top:.3rem;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.72);}
  .fk-arrow{color:var(--accent);font-size:1.1rem;padding-left:.35rem;}
  .fork-grid{display:grid;grid-template-columns:1fr 1fr;gap:10rem;background:none;border:0;}
    .path{display:block;background:var(--ground);padding:2rem 1.9rem 1.9rem;text-decoration:none;
    border:1px solid var(--edge);border-top:5px solid var(--hue);transition:background .2s,border-color .2s;}
  .path:hover{border-color:var(--hue);}
  
  .p-eyebrow{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.66rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:var(--hue);}
  .path h3{margin-top:.9rem;color:#fff;font-size:1.32rem;line-height:1.24;max-width:24ch;}
  .path p{margin-top:1rem;font-size:.98rem;line-height:1.68;color:rgba(255,255,255,.76);}
    .p-chain{margin-top:1.5rem;display:grid;gap:1px;background:var(--edge);}
    .p-chain span{display:block;background:var(--ground);padding:.62rem .9rem;font-size:.88rem;
    line-height:1.45;color:rgba(255,255,255,.86);}
  .p-key{margin-top:1.4rem;padding-left:1.1rem;border-left:3px solid var(--hue);
    font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    color:#fff;font-size:1.02rem;line-height:1.45;}
  .path .go{margin-top:1.4rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.78rem;
    font-weight:700;letter-spacing:.09em;color:var(--accent);}
  .fork-note{margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.2);
    font-size:1rem;line-height:1.75;color:rgba(255,255,255,.8);max-width:82ch;}
  .fork-note b{color:#fff;}
  @media(max-width:860px){.fork-grid{grid-template-columns:1fr;}}

  /* ── The two diagnostics ───────────────────────────────────────────── */
  .diag-cards{display:grid;gap:1.4rem;}
  .diag{border:1px solid var(--line);border-top:5px solid var(--hue);padding:1.6rem 1.7rem 1.7rem;}
  .d-k{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.64rem;font-weight:700;
    letter-spacing:.18em;text-transform:uppercase;color:var(--hue);}
  .diag h3{margin-top:.8rem;font-size:1.2rem;line-height:1.25;}
  .d-lead{margin-top:.7rem !important;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.02rem;line-height:1.45;}
  .diag p{margin-top:.9rem;font-size:.96rem;line-height:1.68;}

  /* ── The loop ──────────────────────────────────────────────────────── */
  .loop{padding:3rem 0 3.15rem;border-top:1px solid var(--line);}
  .loop-row{margin-top:2.4rem;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);}
  .lp{background:#fff;padding:1.2rem 1.1rem 1.3rem;border-top:5px solid var(--hue);}
  .lp b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;
    font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hue);}
  .lp span{display:block;margin-top:.6rem;font-size:.92rem;line-height:1.5;color:var(--body);}
  .loop-back{margin-top:1.4rem;border-left:4px solid var(--accent);padding:.2rem 0 .3rem 1.3rem;}
  .loop-back span{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.64rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
  .loop-back p{margin-top:.5rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.1rem;line-height:1.45;}
  @media(max-width:900px){.loop-row{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.loop-row{grid-template-columns:1fr;}}

  .inst-lead{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.2rem;line-height:1.4;}
  .inst-key{margin-top:1.3rem;padding-left:1.1rem;border-left:3px solid var(--hue);}
  .inst-key span{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hue);margin-bottom:.45rem;}
  .inst-key p{margin:0 !important;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1.04rem;line-height:1.45;}

  /* ── Methodology: the five stages as one board ─────────────────────────
     The page previously drew the five stages three times — a strip, a loop row,
     and five stacked full-width blocks. One board carries all of it, which is
     what turns the process from a long scroll into a single view. */
  .mboard{padding:2.85rem 0 3rem;}
  .mb-head{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:2.4rem;}
  .mb-head h2{margin-top:1rem;max-width:20ch;}
  .mb-head .lede{margin:0;padding-bottom:.3rem;max-width:46ch;}
  .mboard-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);}
  .mstage{background:#fff;padding:1.4rem 1.15rem 1.5rem;border-top:5px solid var(--hue);
    display:flex;flex-direction:column;}
  .ms-top{display:flex;align-items:baseline;gap:.55rem;}
  .ms-n{font-family:var(--display);font-weight:var(--display-weight);font-size:1.05rem;color:var(--hue);}
  .mstage h3{font-size:1.12rem;line-height:1.15;}
  .ms-q{margin-top:.75rem;font-size:.82rem;line-height:1.45;color:var(--hue);font-weight:700;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;}
  .ms-lead{margin-top:.85rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:.98rem;line-height:1.35;}
  .ms-body{margin-top:.7rem;font-size:.87rem;line-height:1.62;color:var(--body);}
  .ms-key{margin-top:auto;padding-top:1rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:.9rem;line-height:1.4;}
  .ms-key span{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.58rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hue);margin-bottom:.4rem;}
  .mb-return{margin-top:1.1rem;display:flex;justify-content:flex-end;}
  .mb-return span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.66rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
  .mb-return span:before{content:"\21ba";margin-right:.5rem;font-size:.95rem;}
  @media(max-width:1100px){.mboard-grid{grid-template-columns:repeat(2,1fr);}
    .mb-head{grid-template-columns:1fr;gap:1.1rem;align-items:start;}}
  @media(max-width:620px){.mboard-grid{grid-template-columns:1fr;}}

  /* ── Fork cards, with more to hold onto ───────────────────────────────── */
  .p-head{display:flex;align-items:flex-start;gap:.85rem;}
  .p-num{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.03em;
    font-size:1.9rem;line-height:1;color:var(--hue);}
    .p-when{margin-top:1.2rem;padding:.85rem 1rem;background:rgba(255,255,255,.05);
    border-left:3px solid var(--hue);font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.86);}
  .p-when b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.6rem;
    font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hue);margin-bottom:.4rem;}
  .p-chain span{display:flex;gap:.7rem;align-items:baseline;}
  .p-chain i{font-style:normal;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.12em;color:var(--hue);flex:none;}

  /* ── FAQ accordion ─────────────────────────────────────────────────────
     Every answer stacked open made these sections long for content most
     visitors skip. <details> closes them without JavaScript and keeps the text
     in the DOM for the FAQPage schema. */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item:first-child{border-top:1px solid var(--line);}
  .faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;
    justify-content:space-between;gap:2rem;padding:.55rem 0;transition:color .15s;}
  .faq-item>summary::-webkit-details-marker{display:none;}
  .faq-item>summary h3{font-size:.92rem;line-height:1.3;margin:0;max-width:76ch;}
  .faq-item>summary:after{content:"";flex:none;width:11px;height:11px;margin-top:.42rem;
    border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
    transform:rotate(45deg);transition:transform .2s;}
  .faq-item[open]>summary:after{transform:rotate(-135deg);}
  .faq-item>summary:hover h3{color:var(--accent);}
  .faq-item>p{margin:0;padding:0 0 1.1rem;max-width:80ch;font-size:.95rem;line-height:1.7;}

  /* ── Mega menu ─────────────────────────────────────────────────────────
     Modeled on Bain's: a full-width white panel rather than a narrow dark card,
     with a section heading, columns of links, and a line of explanation under
     each one. Positioning context is the nav bar, not the nav item, which is
     why .nav-item is static above. */
  nav{position:relative;}
  .mega{position:absolute;left:0;right:0;top:100%;background:#fff;
    border-top:1px solid var(--line);box-shadow:0 24px 44px rgba(17,19,21,.13);
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .15s,transform .15s,visibility .15s;z-index:60;}
  .nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-in{max-width:1400px;margin:0 auto;padding:2.4rem 5vw 2.6rem;
    display:grid;grid-template-columns:1fr 2.25fr;gap:5vw;align-items:start;}
  .mg-head p{margin-top:.9rem;font-size:.95rem;line-height:1.65;color:var(--body);max-width:34ch;}
  .mg-head .arrow{margin-top:1.2rem;font-size:.8rem;}
  .mg-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;}
  .mg-col a{display:block;padding:.78rem 0;border-bottom:1px solid var(--line);text-decoration:none;}
  .mg-col a:last-child{border-bottom:0;}
  .mg-col b{display:block;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.86rem;
    font-weight:700;color:var(--black);letter-spacing:.01em;transition:color .14s;}
  .mg-col span{display:block;margin-top:.28rem;font-size:.82rem;line-height:1.5;color:var(--body);}
  .mg-col a:hover b{color:var(--accent);}
  .mg-col a:hover span{color:var(--black);}
  @media(max-width:1080px){
    .mega-in{grid-template-columns:1fr;gap:1.6rem;padding:1.8rem 5vw 2rem;}
    .mg-cols{gap:0 2rem;}
  }

  /* Front door runs across, then forks. */
  /* Three equal columns, each step centred in its own. That puts the middle
     step at a true 50% — directly above the medallion, which sits at 50% of the
     fork grid below it. The connecting arrows are drawn between the columns
     rather than occupying columns of their own, which is what pushed the middle
     step off centre before. */
  .fk-rail{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;}
  .fk-rail .fk-step{flex-direction:column;align-items:center;text-align:center;gap:.7rem;
    position:relative;padding:0 1.5rem;}
  .fk-rail .fk-step + .fk-step:before{content:"";position:absolute;left:-50%;top:1.25rem;
    width:100%;height:1px;background:rgba(255,255,255,.25);}
  .fk-rail .fk-step + .fk-step:after{content:"";position:absolute;left:calc(-50% + 100% - 6px);
    top:calc(1.25rem - 3px);width:7px;height:7px;border-top:1px solid rgba(255,255,255,.45);
    border-right:1px solid rgba(255,255,255,.45);transform:rotate(45deg);}
  .fk-rail .fk-step i{position:relative;z-index:2;background:#14304C;}
  .fk-rail .fk-step{border-left:0;border-top:4px solid var(--accent);padding:1rem 0 0;}
  .fk-rail .fk-arrow{align-self:center;padding:0;}
  .fk-split{border-top-color:rgba(255,255,255,.4) !important;}
  @media(max-width:860px){
    .fk-rail{grid-template-columns:1fr;gap:.5rem;}
    .fk-rail .fk-arrow{display:none;}
  }

  /* ── The two diagnostics ───────────────────────────────────────────────
     They were stacked in a column and carried two sentences each — not enough
     for a reader deciding which one applies to them. Side by side now, each
     answering the same three questions so the two can be compared directly. */
  .diagnostics{padding:2.55rem 0 2.7rem;}
  .diag-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2.2rem;}
  .diag{border:1px solid var(--line);border-top:5px solid var(--hue);padding:1.5rem 1.6rem 1.6rem;
    display:flex;flex-direction:column;}
  .d-facts{margin:1.2rem 0 0;display:grid;gap:0;}
  .d-facts dt{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.6rem;
    font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hue);
    padding-top:.8rem;border-top:1px solid var(--line);}
  .d-facts dd{margin:.35rem 0 .75rem;font-size:.92rem;line-height:1.6;color:var(--body);}
  .diag .arrow{margin-top:auto;padding-top:1.1rem;}
  @media(max-width:860px){.diag-row{grid-template-columns:1fr;}}

  /* ── Fork: numbered rail, medallion, paired footer ─────────────────────
     Structure follows the mockup; palette and type stay on the site's system —
     Inter and Lato rather than a serif, coral rather than gold. */
  .fk-step{display:flex;gap:.85rem;align-items:flex-start;}
  .fk-step i{flex:none;width:2.5rem;height:2.5rem;font-size:.84rem !important;border-radius:50%;border:1px solid var(--accent);
    display:flex;align-items:center;justify-content:center;font-style:normal;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:700;
    color:var(--accent);}
  .fk-rail .fk-step{border-top:0;padding:0;}
  .fork-grid{position:relative;}
    .fk-seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
    width:9.4rem;height:9.4rem;border-radius:50%;
    background:#fff;border:0;box-shadow:0 0 0 10px #14304C,0 18px 40px rgba(0,0,0,.4);
    display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;}
    .fk-seal span{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.64rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--body);}
    .fk-seal b{display:block;margin-top:.4rem;padding-top:.4rem;
    border-top:1px solid var(--line);color:var(--accent);}
  .fork-foot{margin-top:2.4rem;padding-top:1.9rem;border-top:1px solid rgba(255,255,255,.2);
    display:grid;grid-template-columns:1.25fr 1fr;gap:4vw;align-items:start;}
  .fork-foot b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:#fff;font-size:1.06rem;line-height:1.45;max-width:44ch;}
  .fork-foot p{margin-top:.7rem;font-size:.96rem;line-height:1.7;color:rgba(255,255,255,.78);}
  .fk-ask{border-left:3px solid var(--accent);padding-left:1.4rem;}
  .fk-ask .btn{margin-top:1.1rem;}
  @media(max-width:1180px){
    .fork-grid{gap:1.6rem;}
    .fk-seal{display:none;}
    .fork-foot{grid-template-columns:1fr;gap:1.8rem;}
  }

  /* ── Homepage research block ───────────────────────────────────────────
     Every competitor homepage carries a client logo wall, named outcome
     metrics, testimonials with faces, and awards. BlackRidge has none of those
     yet. The research is the asset that does exist and cannot be faked in a
     hurry, so it takes on that job and is given the room to do it. */
  .ins-lede{max-width:64ch;margin-top:1rem;}
  .rs-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin:2.4rem 0 2.8rem;}
  .rs{background:#fff;padding:1.1rem 1.2rem 1.2rem;}
  .rs b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);font-size:1.7rem;line-height:1;color:var(--black);}
  .rs:last-child b{color:var(--accent);}
  .rs span{display:block;margin-top:.45rem;font-size:.82rem;line-height:1.4;color:var(--body);}
  .rp-head{display:grid;grid-template-columns:1.15fr 1fr;gap:4vw;align-items:end;
    padding-top:1.9rem;border-top:1px solid var(--line);}
  .rp-head h3{margin-top:.8rem;font-size:1.42rem;line-height:1.2;max-width:22ch;}
  .rp-head p{font-size:.95rem;line-height:1.7;color:var(--body);max-width:56ch;padding-bottom:.2rem;}
  .rp-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2rem;}
  .rp{text-decoration:none;display:flex;flex-direction:column;}
  .rp img{width:100%;height:auto;display:block;border:1px solid var(--line);
    transition:transform .18s,box-shadow .18s;}
  .rp:hover img{transform:translateY(-3px);box-shadow:0 10px 22px rgba(17,19,21,.18);}
  .rp h3{margin-top:.9rem;font-size:1rem;line-height:1.28;}
  .rp p{margin-top:.5rem;font-size:.86rem;line-height:1.6;color:var(--body);}
  .rp-go{display:block;margin-top:auto;padding-top:.9rem;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:700;
    letter-spacing:.09em;color:var(--accent);}
  .rp:hover h3{color:var(--accent);}
  .rp-more{margin-top:1.8rem;}
  @media(max-width:1000px){.rp-strip{grid-template-columns:1fr 1fr;}
    .rs-rail{grid-template-columns:1fr 1fr;}
    .rp-head{grid-template-columns:1fr;gap:1rem;align-items:start;}}
  @media(max-width:560px){.rp-strip{grid-template-columns:1fr;}}

  /* ── The evaluation gap ────────────────────────────────────────────────
     Four questions in ascending order of usefulness. The last two carry the
     accent because they are the ones the industry mostly does not answer, and
     the ones this methodology is built to. */
  .gap{padding:3.4rem 0 3.6rem;background:#F7F9FA;border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);}
  /* ── course schedule ─────────────────────────────────────────────
     Three columns per session: when, what, how to buy. The price and the
     button sit together on the right because a buyer scanning for a date is
     really scanning for a number and a way to act on it. */
  .sched{padding:3.2rem 0 3rem;}
  .sched h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.18;margin-top:.7rem;}
  .sched .lede{margin-top:1rem;max-width:62ch;font-size:1.02rem;line-height:1.7;}
  .sess-list{margin-top:1.9rem;border-top:2px solid var(--black);}
  .sess{display:grid;grid-template-columns:11.5rem 1fr 11rem;gap:2rem;
    padding:1.35rem 0 1.45rem;border-bottom:1px solid var(--line);align-items:start;}
  .formzone.alt{background:#F7F9FA;border-top:1px solid var(--line);}
  /* The one nav item that leads to a transaction. Marked with the accent so a
     ready-to-buy visitor finds it without opening anything. */
  .nav-links a.top.enroll{color:var(--accent);}
  .nav-links a.top.enroll:after{content:"";display:block;height:2px;background:var(--accent);
    margin-top:.24rem;transform:scaleX(0);transform-origin:left;transition:transform .2s;}
  .nav-item:hover a.top.enroll:after{transform:scaleX(1);}
  .btn-ghost{background:transparent;color:var(--black);border:1px solid var(--black);}
  .btn-ghost:hover{background:var(--black);color:#fff;}
  .sess-when{display:block;}
  .sess-date{font-family:var(--display);font-weight:var(--display-weight);
    font-size:1.12rem;line-height:1.15;color:var(--black);letter-spacing:-.01em;}
  .sess-city{margin-top:.28rem;font-size:.86rem;color:var(--body);line-height:1.4;}
  .sess-badge{display:inline-block;margin-top:.55rem;background:var(--hue);color:#fff;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.6rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.24rem .5rem;}
  .sess-what h3{font-size:1.04rem;line-height:1.25;}
  .sess-track{margin-top:.22rem;font-size:.82rem;color:var(--accent);font-weight:700;}
  .sess-meta{margin-top:.35rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5A6875;}
  .sess-what p{margin-top:.6rem;font-size:.9rem;line-height:1.65;color:var(--body);max-width:60ch;}
  .sess-buy{text-align:right;}
  .sess-seats{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;
    font-weight:700;letter-spacing:.06em;color:var(--black);}
  .sess-seats.low{background:#FFF3D6;color:#8A5A00;padding:.22rem .45rem;display:inline-block;}
  .sess-closes{margin-top:.28rem;font-size:.72rem;color:var(--body);}
  .sess-ask{display:block;margin-top:.5rem;font-size:.76rem;color:var(--body);
    text-decoration:underline;text-underline-offset:2px;}
  .sess-ask:hover{color:var(--accent);}
  .sess-unit{margin-top:.2rem;font-size:.74rem;color:var(--body);}
  .sess-btn{margin-top:.6rem;width:100%;text-align:center;}
  .sess-btn+.sess-btn{margin-top:.4rem;}
  .fd-lede2{margin-top:.9rem;font-size:1rem;line-height:1.7;color:var(--body);}
  .fd-ind{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--line);
    font-size:.9rem;color:var(--body);}
  .fd-ind a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
  .cite-box{margin-top:1.1rem;background:#F7F9FA;border-left:2.5pt solid var(--accent);
    padding:1rem 1.2rem .9rem;}
  .cite-lab{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
    margin-top:.85rem;}
  .cite-lab:first-child{margin-top:0;}
  .cite-box p{margin-top:.25rem;font-size:.88rem;line-height:1.6;color:var(--black);}
  .avail{list-style:none;margin-top:.7rem;}
  .avail li{position:relative;padding-left:.9rem;margin-bottom:.42rem;font-size:.93rem;
    line-height:1.55;color:var(--body);}
  .avail li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;
    background:var(--accent);}
  .bp{margin-top:1.1rem;padding-left:.9rem;border-left:2px solid var(--line);}
  .bp-lab{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.62rem;
    font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
    margin-bottom:.3rem;}
  .bp p{font-size:.95rem;line-height:1.7;color:var(--black);}
  .covers{padding:3rem 0 3.2rem;background:#F7F9FA;border-top:1px solid var(--line);}
  .covers h2{font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.2;margin-top:.7rem;}
  .covers .lede{margin-top:.9rem;max-width:64ch;font-size:1rem;line-height:1.7;}
  .cov-list{margin-top:1.6rem;border-top:2px solid var(--black);}
  .cvr{display:grid;grid-template-columns:2.2rem 1fr 9rem;gap:1.2rem;align-items:start;
    padding:.85rem 0;border-bottom:1px solid var(--line);}
  .cvn{font-family:var(--display);font-weight:var(--display-weight);font-size:1rem;color:#9AA7B4;}
  .cvb h4{font-size:.98rem;line-height:1.25;}
  .cvb p{margin-top:.25rem;font-size:.88rem;line-height:1.6;color:var(--body);}
  .cvs{text-align:right;}
  .cv-tag{display:inline-block;background:var(--hue);color:#fff;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.6rem;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;padding:.22rem .45rem;white-space:nowrap;}
  .cv-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:1.6rem;
    padding-top:1.3rem;border-top:1px solid var(--line);}
  .cv-foot h4{font-size:.95rem;line-height:1.25;}
  .cv-foot p{margin-top:.4rem;font-size:.88rem;line-height:1.65;color:var(--body);}
  @media(max-width:900px){.cvr{grid-template-columns:1.8rem 1fr;}.cvs{grid-column:2;text-align:left;}
    .cv-foot{grid-template-columns:1fr;gap:1.3rem;}}
  .sched-more{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--line);
    display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;}
  .sched-more h3{font-size:1rem;line-height:1.25;}
  .sched-more p{margin-top:.55rem;font-size:.92rem;line-height:1.7;color:var(--body);}
  .sched-more .arrow{margin-top:.8rem;display:inline-block;}
  @media(max-width:900px){.sched-more{grid-template-columns:1fr;gap:1.6rem;}}
  @media(max-width:900px){.sess{grid-template-columns:1fr;gap:.9rem;}
    .sess-buy{text-align:left;} .sess-btn{width:auto;display:inline-block;}}
  /* A list that runs the page width instead of trailing off one column. */
  /* Field-report ticker. The covers are light, so they run on the navy field
     where they read as a shelf of documents rather than as page furniture.
     Gap sits on the item so each of the two runs is exactly half the track and
     the -50% translate loops without a seam. */
  .ticker{background:var(--field);padding:2.6rem 0 2.9rem;overflow:hidden;}
  .tk-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;}
  .tk-head h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.18;margin-top:.7rem;}
  .tk-rail{margin-top:1.7rem;overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);}
  .tk-track{display:flex;width:max-content;animation:tkscroll 46s linear infinite;}
  .tk-rail:hover .tk-track,.tk-rail:focus-within .tk-track{animation-play-state:paused;}
  @keyframes tkscroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .tk{flex:0 0 auto;width:176px;margin-right:1.15rem;text-decoration:none;display:block;}
  .tk img{width:176px;height:228px;display:block;background:#fff;
    box-shadow:0 6px 20px rgba(0,0,0,.4);transition:transform .25s;}
  .tk span{display:block;margin-top:.62rem;font-size:.79rem;line-height:1.35;font-weight:700;
    color:rgba(255,255,255,.9);transition:color .2s;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .tk:hover img,.tk:focus-visible img{transform:translateY(-5px);}
  .tk:hover span,.tk:focus-visible span{color:#fff;}
  .tk:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
  @media(prefers-reduced-motion:reduce){
    .tk-track{animation:none;}
    .tk-rail{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
    .tk img{transition:none;} .tk:hover img{transform:none;}}
  @media(max-width:760px){.tk-head{grid-template-columns:1fr;align-items:start;gap:1rem;}
    .tk{width:140px;} .tk img{width:140px;height:181px;}}
  .cv-wide{margin-top:2rem;display:grid;grid-template-columns:repeat(4,1fr);
    column-gap:2.2rem;}
  @media(max-width:900px){.cv-wide{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.cv-wide{grid-template-columns:1fr;}}
  .ladder{margin-top:2.2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);}
  .lr{background:#fff;padding:1rem 1.1rem 1.2rem;border-top:3px solid #C9D2DA;}
  .lr i{font-family:var(--display);font-weight:var(--display-weight);font-style:normal;
    font-size:.78rem;letter-spacing:.06em;color:#9AA7B4;display:block;}
  .lr b{display:block;margin-top:.45rem;font-size:.95rem;line-height:1.3;color:var(--black);}
  .lr span{display:block;margin-top:.4rem;font-size:.86rem;line-height:1.6;color:var(--body);}
  .lr-on{border-top-color:var(--accent);}
  .lr-on i,.lr-on b{color:var(--accent);}
  .ladder-key{display:grid;grid-template-columns:1fr 1fr;gap:1px 0;margin-top:.7rem;
    font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.68rem;
    font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;}
  .ladder-key span{padding-top:.55rem;border-top:2px solid #C9D2DA;color:#7B8894;padding-right:1.2rem;}
  .ladder-key .lk-off{border-top-color:#C9D2DA;color:#7B8894;}
  .ladder-key .lk-on{border-top-color:var(--accent);color:var(--accent);}
  @media(max-width:900px){.ladder{grid-template-columns:1fr 1fr;}
    .ladder-key{grid-template-columns:1fr;gap:.6rem;}}
  @media(max-width:560px){.ladder{grid-template-columns:1fr;}}

  /* ── Market evidence ───────────────────────────────────────────────────
     Third-party figures, kept visually separate from the proof strip so a
     reader can tell whose numbers are whose. Every figure carries its source;
     the attribution is small but never optional. */
    .market{padding:2.2rem 0 2.2rem;background:#F4EFE9;color:var(--body);
    border-top:1px solid #E5DCD2;border-bottom:1px solid #E5DCD2;}
  .mk-head .tag{color:var(--accent);}
    .market h2{color:var(--black);font-size:clamp(1.25rem,2.1vw,1.6rem);margin-top:.7rem;max-width:34ch;}
    .mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:1.2rem;}
    .mk{padding:0;border-top:3px solid var(--accent);padding-top:.9rem;}
    .mk b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.03em;font-size:1.5rem;line-height:1;color:var(--accent);}
    .mk p{margin-top:.5rem;font-size:.87rem;line-height:1.6;color:var(--body);}
    .mk cite{display:block;margin-top:.6rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.58rem;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:#A79A8C;}
    .mk-turn{margin-top:1.1rem;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);color:var(--black);font-size:1rem;line-height:1.5;max-width:70ch;}
  @media(max-width:820px){.mk-grid{grid-template-columns:1fr;}}

  .tstat{padding:2.6rem 0 2.8rem;border-top:1px solid var(--line);background:#F7F9FA;
    border-bottom:1px solid var(--line);}
  .ts-head{margin-bottom:1.6rem;}
  .ts-head h2{font-size:1.35rem;margin-top:.6rem;}
  .ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;}
  .ts{border-left:4px solid var(--hue);padding-left:1.2rem;}
  .ts b{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:-.03em;font-size:2.2rem;line-height:1;color:var(--hue);}
  .ts p{margin-top:.6rem;font-size:.98rem;line-height:1.6;color:var(--body);max-width:38ch;}
  .ts cite{display:block;margin-top:.7rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:.6rem;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:#9AA2A9;}
  @media(max-width:700px){.ts-grid{grid-template-columns:1fr;gap:1.6rem;}}

  /* ── Named competencies ────────────────────────────────────────────────
     Buyer-recognisable capability names. Deliberately the outer layer: what the
     program develops, not how it is sequenced or diagnosed. */
  .cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#fff;
    margin-top:1.5rem;}
  /* The six cards carry the ramp as ground, not as trim. Two steps were darkened
     5% from the palette ramp so white body copy clears 4.5:1 on every card:
     #4A7FB5 was 4.20:1 and #C85A38 was 4.22:1. */
  .cmp{padding:1.4rem 1.3rem 1.5rem;display:flex;flex-direction:column;
    background:var(--hue);position:relative;transition:transform .22s,box-shadow .22s;}
  .cmp:nth-child(1){--hue:#0F2438} .cmp:nth-child(2){--hue:#1E4568}
  .cmp:nth-child(3){--hue:#2C5A8C} .cmp:nth-child(4){--hue:#1D7A7A}
  .cmp:nth-child(5){--hue:#4678AB} .cmp:nth-child(6){--hue:#BE5535}
  .cmp:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(8,14,22,.22);}
  .cmp:hover .cmp-n{color:#fff;}
  @media(prefers-reduced-motion:reduce){.cmp{transition:none;}
    .cmp:hover{transform:none;}}
  .cmp-n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.03em;
    font-size:1.5rem;line-height:1;color:rgba(255,255,255,.42);transition:color .22s;}
  .cmp h3{margin-top:.6rem;font-size:1.04rem;line-height:1.25;color:#fff;}
  .cmp p{margin-top:.7rem;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.88);}
  @media(max-width:980px){.cmp-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:620px){.cmp-grid{grid-template-columns:1fr;}}

  /* ══ CAPABILITIES ═══════════════════════════════════════════════════
     Added 2026-08-17. A compact breadth signal on the homepage, sitting
     between the problem section and the methodology story, plus the
     matching grid on capabilities.html.

     Why it exists: the site led so hard on leadership *transition* that a
     contracting officer looking for a workshop, a seminar, curriculum design
     or an assessment had to read most of the site before discovering
     BlackRidge does those too. Four buckets here; the full seven live on
     capabilities.html.

     Deliberately NOT styled like .trans-cell. The transitions grid is the
     product architecture and has to stay the visual anchor — these cards are
     quieter on purpose, so breadth reads as breadth and not as a fifth
     transition. Hues follow the product ramp navy->blue->teal->coral. */
  /* Bottom padding cut 5.4rem -> 2.2rem. .editorial that follows carries its own
     4.88rem top padding, so the two stacked to ~165px of dead white between the
     positioning line and the editorial image, on a white-on-white join. */
  .caps{padding:4.4rem 0 3.4rem;background:#F5F7F8;border-bottom:1px solid var(--line);}
  .caps .tag{color:var(--accent);}
  .caps h1,
  .caps h2{margin:.55rem 0 0;max-width:19ch;}
  .caps .caps-lede{margin:1.05rem 0 0;max-width:62ch;color:var(--body);font-size:1.02rem;line-height:1.62;}
  .caps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.1rem;margin-top:2.9rem;}
  .cap{border-top:3px solid var(--hue);padding-top:1rem;}
  .cap h3{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.86rem;
    font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--black);margin:0 0 .5rem;}
  .cap p{margin:0;font-size:.9rem;line-height:1.62;color:var(--body);}
  .caps-foot{margin-top:2.6rem;display:flex;align-items:baseline;gap:1.6rem;flex-wrap:wrap;}
  .caps-line{font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);font-size:1.12rem;color:var(--black);margin:0;}
  @media(max-width:1000px){.caps-grid{grid-template-columns:repeat(2,1fr);gap:1.9rem;}}
  @media(max-width:640px){.caps-grid{grid-template-columns:1fr;}.caps{padding:3.6rem 0 1.8rem;}}




  /* ══ CAPABILITY INDEX ═══════════════════════════════════════════════
     Replaces the first-pass card grid, which read as a spreadsheet: seven
     equal boxes, equal weight, nothing to look at. This is an index instead
     — numbered rows, a hue rail, and a large ghosted numeral, so the eye has
     somewhere to go and the ramp does visible work.

     Hover floods the row with its hue and inverts the type. On touch there is
     no hover, so the rail and numeral carry the colour on their own and the
     row still reads complete. */
  .capx{margin-top:2.4rem;border-top:1px solid var(--line);}
  .capx-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.25fr);
    gap:1.6rem 2.2rem;align-items:baseline;padding:1.75rem 1.4rem 1.75rem 1.6rem;
    border-bottom:1px solid var(--line);overflow:hidden;
    transition:color .28s ease;}
  /* the flood */
  .capx-row:before{content:"";position:absolute;inset:0;background:var(--hue);
    transform:scaleX(0);transform-origin:left center;transition:transform .38s cubic-bezier(.4,0,.2,1);z-index:0;}
  /* the resting rail */
  .capx-row:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--hue);z-index:1;}
  .capx-row > *{position:relative;z-index:2;}
  .capx-n{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);
    font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1;color:var(--hue);
    font-variant-numeric:tabular-nums;transition:color .28s ease;min-width:2.2ch;}
  .capx-h{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:1rem;font-weight:700;
    letter-spacing:.045em;text-transform:uppercase;color:var(--black);margin:0;transition:color .28s ease;}
  .capx-p{margin:0;font-size:.95rem;line-height:1.62;color:var(--body);transition:color .28s ease;}

  @media(hover:hover){
    .capx-row:hover:before{transform:scaleX(1);}
    .capx-row:hover .capx-n,
    .capx-row:hover .capx-h{color:#fff;}
    .capx-row:hover .capx-p{color:rgba(255,255,255,.88);}
  }

  @media(max-width:820px){
    .capx-row{grid-template-columns:auto minmax(0,1fr);padding:1.4rem 1rem 1.4rem 1.35rem;}
    .capx-p{grid-column:2;}
  }

  /* Homepage: same language, four buckets, compact and side by side. */
  .caps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.7rem;
    border-top:1px solid var(--line);}
  .cap{position:relative;padding:1.5rem 1.5rem 1.7rem;border-bottom:1px solid var(--line);
    border-right:1px solid var(--line);overflow:hidden;}
  .cap:last-child{border-right:0;}
  .cap:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--hue);z-index:1;}
  .cap > *{position:relative;z-index:2;}
  .cap-n{display:block;font-family:var(--display);font-weight:var(--display-weight);
    letter-spacing:var(--display-tracking);font-size:1.35rem;line-height:1;color:var(--hue);
    font-variant-numeric:tabular-nums;margin-bottom:.75rem;}
  @media(max-width:1000px){
    .caps-grid{grid-template-columns:repeat(2,1fr);}
    .cap:nth-child(2n){border-right:0;}
  }
  @media(max-width:640px){
    .caps-grid{grid-template-columns:1fr;}
    .cap{border-right:0;}
  }


  /* ══ CAPABILITIES PAGE: centred header, bolder definitions ═════════
     Applied via .caps--center so the homepage capability block stays
     left-aligned, which the site's own rule wants for asymmetric content. */
  .caps--center .tag{display:block;text-align:center;font-size:.82rem;letter-spacing:.24em;}
  .caps--center h1,
  .caps--center h2{text-align:center;max-width:24ch;margin-left:auto;margin-right:auto;}
  .caps--center .caps-lede{text-align:center;margin-left:auto;margin-right:auto;max-width:74ch;}
  /* the closing line and its link belong to the centred block too, otherwise the
     section starts centred and finishes hard left. */
  .caps--center .caps-foot{justify-content:center;text-align:center;}

  /* The role definitions carry the substance a buyer scans for, so they read
     at semibold rather than body weight. Held at 600, not 700, so the row
     heading still leads. */
  .capx-p{font-weight:600;color:#3B434B;}
  @media(hover:hover){.capx-row:hover .capx-p{color:rgba(255,255,255,.95);}}

  /* ══ CLOSER: centred ══════════════════════════════════════════════
     Four equal entries under one question — symmetrical content, which is the
     condition the site's centring rule asks for. Shared component, so this
     lands on all 16 pages that carry a closer, not just capabilities. */
  .final h2{text-align:center;margin-left:auto;margin-right:auto;}
  .final .entries{justify-items:center;text-align:center;}
  .final .entry{align-items:center;}
  .final .close{justify-content:center;text-align:center;}
  .final .sig{text-align:center;}

  /* ══ MOBILE NAVIGATION ══════════════════════════════════════════════
     Added 2026-08-17. Below 1000px every .nav-item is display:none and there
     was no replacement, so a phone visitor got a logo and one button. Every
     content page was unreachable from the top of the screen, and the footer
     does not list Transitions, Capabilities, Programs, Methodology or
     Insights either. This is the replacement. */

  /* Burger: hidden on desktop, shown exactly where the links disappear. */
  .nav-burger{display:none;position:relative;z-index:210;background:none;border:0;cursor:pointer;
    width:48px;height:48px;padding:12px;margin-right:-12px;flex:none;}
  .nav-burger span{display:block;height:2px;background:var(--black);border-radius:2px;
    transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .18s ease,background .2s ease;}
  .nav-burger span + span{margin-top:5px;}
  .nav-burger.is-open span{background:#fff;}
  .nav-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger.is-open span:nth-child(2){opacity:0;}
  .nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* Panel: navy ground, per the design system. Full height so a long list
     never traps the last item under the fold. */
  .nav-panel{position:fixed;inset:0;z-index:200;background:var(--field);
    display:flex;flex-direction:column;justify-content:center;gap:.15rem;
    padding:5.5rem 8vw 3rem;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .24s ease,transform .24s ease,visibility .24s;}
  .nav-panel.is-open{opacity:1;visibility:visible;transform:none;}
  .nav-panel a{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:1.32rem;font-weight:700;letter-spacing:-.01em;color:#fff;text-decoration:none;
    padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.10);}
  .nav-panel a:last-of-type{border-bottom:0;}
  .nav-panel .np-enroll{color:var(--accent);}
  .nav-panel .np-rule{height:1px;background:rgba(255,255,255,.18);margin:1.1rem 0 .6rem;}
  /* the secondary block reads quieter than the primary destinations */
  .nav-panel .np-rule ~ a{font-size:1rem;font-weight:600;color:rgba(255,255,255,.72);
    padding:.55rem 0;border-bottom:0;}
  .nav-panel .np-cta{margin-top:1.6rem;align-self:flex-start;color:#fff;font-size:.78rem;
    padding:1rem 2rem;border-bottom:0;}
  .nav-panel .np-cta:hover{color:var(--accent);}

  /* Stop the page scrolling behind an open panel. */
  html.nav-locked,html.nav-locked body{overflow:hidden;}

  @media(max-width:1000px){
    .nav-burger{display:block;}
    /* The desktop CTA duplicates the one in the panel and crowds the burger. */
    .nav-links .btn{display:none;}
  }
  @media(min-width:1001px){
    .nav-panel{display:none;}
  }
  /* Tap targets: 44px minimum per Apple and Google guidance. The nav CTA was
     ~38px. It is hidden below 1000px now, but the rule keeps it honest if it
     ever comes back. */
  @media(max-width:1000px){
    .nav-links .btn{padding:.95rem 1.6rem;}
  }

  /* ══ STICKY MOBILE CTA ══════════════════════════════════════════════
     Added 2026-08-17. Mobile only. The nav CTA is hidden below 1000px to make
     room for the burger, and the homepage runs from the hero to roughly 88%
     before the next conversion point, so most of a long scroll had nothing to
     act on. Appears once the hero is off screen; disappears at the real closer
     so two CTAs are never on screen together. */
  .cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;
    background:rgba(15,36,56,.97);backdrop-filter:blur(6px);
    border-top:1px solid rgba(255,255,255,.12);
    padding:.7rem 5vw calc(.7rem + env(safe-area-inset-bottom));
    display:flex;justify-content:center;
    transform:translateY(110%);transition:transform .28s cubic-bezier(.4,0,.2,1);
    pointer-events:none;}
  .cta-bar.is-on{transform:none;pointer-events:auto;}
  .cta-bar .btn{width:100%;max-width:420px;text-align:center;
    padding:1rem 1.5rem;font-size:.76rem;}
  /* Desktop keeps the nav CTA; the bar never appears there. */
  @media(min-width:1001px){ .cta-bar{display:none;} }

/* ── CONTACT: THE FORM COMES FIRST ─────────────────────────────────
   The form started at 61% of the page. On a phone the entire left
   column stacked above it — photograph, heading, and the reply /
   then / outcome promise — so the form was several screens down and
   a visitor could reach the footer without ever seeing it. Source
   order now runs heading, form, supporting material. The desktop
   two-column layout is rebuilt with grid areas rather than source
   order, so nothing about it depends on the stacking order a phone
   uses. */
.fz-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;
  grid-template-areas:"lead form" "aside form";}
.fz-lead{grid-area:lead;}
.fz-grid > .form-card{grid-area:form;}
.fz-aside{grid-area:aside;}
.fz-aside .form-img{margin-top:2.4rem;margin-bottom:0;}
.fz-aside .promise{margin-top:2.2rem;}

@media(max-width:940px){
  .fz-grid{grid-template-columns:1fr;gap:2.2rem;
    grid-template-areas:"lead" "form" "aside";}
  .fz-lead p{margin-top:1rem;}
}

/* ── INTERCEPT: MAKE THE OPTIONS READ AS TAPPABLE ──────────────────
   The card flip was switched off further up this file, which also hid
   the back face — and the back face was where "See the transitions →"
   lived. What was left was four blocks of static text on a dark band
   whose only interactive signal was a hover colour, and hover does not
   exist on a phone. Each option now carries a permanent arrow and an
   accent rail, so it reads as a choice before anyone touches it.

   The faces were absolutely positioned to stack for that flip. With
   the back face permanently hidden that buys nothing and costs a
   collision: a three-line label overruns a fixed-position arrow. They
   are laid out in flow instead, and the card grows to fit. */
.router{border-top:3px solid var(--accent);}
.rt-opts a{display:flex;flex-direction:column;cursor:pointer;}
.rt-opts a::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:2;
  transition:transform .28s cubic-bezier(.2,.7,.3,1);}
.rt-opts a:hover::before,.rt-opts a:focus-visible::before{transform:scaleX(1);}
.rt-front{position:static;flex:1;padding:1.05rem 1.05rem 1.1rem;}
.rt-front::after{content:"\2192";display:block;margin-top:.65rem;
  font-size:1rem;line-height:1;color:var(--accent);
  transition:transform .28s cubic-bezier(.2,.7,.3,1);}
.rt-opts a:hover .rt-front::after,
.rt-opts a:focus-visible .rt-front::after{transform:translateX(5px);}
.rt-hint{margin-top:.7rem;font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.55);}

@media(max-width:640px){
  .rt-opts{grid-template-columns:1fr;}
  .rt-opts a{min-height:0;}
}

/* ── CONTACT HERO ON A PHONE ───────────────────────────────────────
   6rem/8rem of padding is right on a desktop and costs 224px of empty
   navy on a 390px screen, which is a quarter of the reason the form
   sat below the fold. The rhythm between elements is tightened to
   match. Nothing is removed — every route and both calls to action
   are still here, they are just closer together. */
@media(max-width:640px){
  .hero--contact .hero-in{padding:3.4rem 5vw 3.8rem;}
  .hero--contact p.sub{margin-top:1.1rem;font-size:.98rem;}
  .hero--contact .mailbig{margin-top:1.5rem;}
  .hero--contact .herochips{margin-top:1.6rem;gap:.5rem;}
  .hero--contact .cta-row{margin-top:1.8rem;gap:1.4rem;}
  .formzone{padding:2.6rem 0 3rem;}
}

/* ── MOBILE ACCORDIONS ─────────────────────────────────────────────
   Applies only under 760px. The script that creates .acc-head and
   .acc-body does not run at wider widths at all, so none of this can
   reach a desktop layout. The chevron uses currentColor because these
   sections run on both white and saturated cards. */
@media(max-width:760px){
  .acc-item .acc-body{display:none;}
  .acc-item.acc-open .acc-body{display:block;}
  html.acc-off .acc-item .acc-body{display:block;}

  .acc-head{position:relative;cursor:pointer;padding-right:2.2rem;}
  .acc-head::after{content:"";position:absolute;right:.5rem;top:.5rem;
    width:.58rem;height:.58rem;border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;transform:rotate(45deg);
    opacity:.55;transition:transform .22s ease;}
  .acc-item.acc-open .acc-head::after{transform:rotate(-135deg);}
  html.acc-off .acc-head::after{display:none;}
  .acc-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

  /* the demand cards centre themselves, which reads oddly as a stacked row */
  .field.acc-item{align-items:stretch;text-align:left;}
  .field.acc-item .acc-head{display:flex;flex-direction:column;align-items:flex-start;}
  /* The disc label is generated from the same string as the heading directly
     beneath it, so on a phone it is 200px of exact duplication sitting inside
     a collapsed row. Five of them per page is most of the scroll this is meant
     to remove. Hidden here only, and only under 760px. */
  .field.acc-item .circ{display:none;}
  .field.acc-item .n{margin-top:0;}
  /* the label/value grid goes to one column while it is a toggle */
  .cur-row.acc-item{grid-template-columns:1fr;gap:.3rem;}
}


/* ---- insights: browse by topic ---- */
.tfilter-sec{padding:34px 0 0}
.tf-lead{font:700 .72rem/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#4C545C;margin:0 0 14px}
.tfilter{display:flex;flex-wrap:wrap;gap:9px}
.tf{font:600 .84rem/1 Inter,Arial,sans-serif;color:#26313D;background:#fff;border:1px solid #DFE1E3;border-radius:999px;padding:9px 15px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.tf i{font-style:normal;color:#8A929B;margin-left:5px;font-size:.78rem}
.tf:hover{border-color:#0F2438}
.tf.on{background:#0F2438;border-color:#0F2438;color:#fff}
.tf.on i{color:rgba(255,255,255,.6)}
.topics{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.topics span{font:600 .64rem/1 Inter,Arial,sans-serif;letter-spacing:.05em;color:#5A6470;background:#F1F4F7;border-radius:3px;padding:4px 7px}
.tf-none{margin:18px 0 0;color:#4C545C;font-size:.92rem}
[data-topics].hide{display:none}
@media (max-width:760px){.tfilter{gap:7px}.tf{font-size:.78rem;padding:8px 12px}}

/* ---- research hero: the flagship paper sits in the first screen ---- */
/* Constrained to the scrimmed column. The proof row previously ran past the
   scrim and sat unreadable on the photograph. */
.hero-feat{margin-top:2rem;max-width:min(504px,66%)}
.hf-card{display:block;text-decoration:none;background:rgba(9,18,32,.62);
  border:1px solid rgba(255,255,255,.20);border-left:3px solid var(--accent);
  padding:1.05rem 1.2rem 1.1rem;backdrop-filter:blur(3px);transition:background .18s,border-color .18s}
.hf-card:hover{background:rgba(9,18,32,.76);border-left-color:#fff}
.hf-lab{font-family:'Inter',Helvetica,Arial,sans-serif;font-size:.64rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:.4rem}
.hf-card h2{font-size:1.06rem;line-height:1.3;color:#fff;margin:0 0 .3rem;font-weight:700}
.hf-card p{font-size:.82rem;line-height:1.45;color:rgba(255,255,255,.78);margin:0 0 .6rem}
.hf-go{font-family:'Inter',Helvetica,Arial,sans-serif;font-size:.76rem;font-weight:700;color:#fff}
.hf-proof{list-style:none;margin:.55rem 0 0;padding:.75rem 1.2rem;display:flex;gap:1.6rem;
  background:rgba(9,18,32,.62);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(3px)}
.hf-proof li{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.hf-proof b{font-size:1.3rem;font-weight:800;color:#fff;line-height:1}
.hf-proof span{font-size:.7rem;line-height:1.3;color:rgba(255,255,255,.76)}
@media (max-width:860px){
  .hero-feat{max-width:100%;margin-top:1.5rem}
  .hf-proof{gap:1.1rem;padding:.65rem .9rem}
  .hf-proof b{font-size:1.1rem}
  .hf-proof span{font-size:.64rem}
}

/* Research hero runs content-forward: the headline yields height so the
   flagship paper and the proof row clear the fold on a laptop. */
.hero--research .hero-in{padding-top:3.1rem;padding-bottom:2.4rem}
.hero--research h1{font-size:clamp(2rem,3.3vw,2.75rem);line-height:1.1;margin-bottom:.7rem}
.hero--research .sub{font-size:1rem;line-height:1.5;max-width:34rem;margin-bottom:1.3rem}
.hero--research .cta-row{margin-bottom:0}
.hero--research .hero-feat{margin-top:1.5rem}

/* ══ AI hub: /insights/ai-leadership-readiness/ ══════════════════════ */
/* Scale note: this page runs 10-15% larger than the site default. It is a
   pillar page read at arm's length, not a dense report page. */

.aihero{position:relative;background:#0B1626;color:#fff;overflow:hidden;padding:0}
.aihero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.aihero-scrim{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(11,22,38,.86) 0%,rgba(11,22,38,.70) 34%,rgba(11,22,38,.26) 62%,rgba(11,22,38,.10) 100%)}
.aihero-in{position:relative;z-index:2;padding:104px 0 92px}
.aihero .tag{color:rgba(255,255,255,.66);margin-bottom:1.3rem;font-size:.78rem;letter-spacing:.19em}
.aihero h1{font-size:clamp(2.6rem,5.4vw,4rem);line-height:1.04;color:#fff;margin:0 0 1.7rem;letter-spacing:-.02em}
.aihero-lede{font-size:1.18rem;line-height:1.68;color:rgba(255,255,255,.84);max-width:41rem;margin:0 0 1.2rem}
.aihero-last{margin-bottom:0}
.aihero-q{font-size:1.5rem;line-height:1.38;color:#fff;font-weight:600;max-width:41rem;
  border-left:3px solid #C85A38;padding-left:1.3rem;margin:1.9rem 0}

.aidef{background:#F4F6F8;padding:72px 0}
.aidef-lab{font:700 .74rem/1 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#C85A38;margin-bottom:1.1rem}
.aidef-body{font-size:1.32rem;line-height:1.58;color:#0F2438;max-width:50rem;margin:0 0 2.3rem}
.aidef-split{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;max-width:54rem;
  border-top:1px solid #DFE1E3;padding-top:1.8rem}
.aidef-split .k{font-weight:700;color:#0F2438;margin-bottom:.4rem;font-size:1.04rem}
.aidef-split p{margin:0;font-size:1.02rem;line-height:1.62;color:#4C545C}
.aidef-note{margin:2rem 0 0;font-size:.95rem;line-height:1.62;color:#7A828A;max-width:46rem}

.aiunb{padding:78px 0}
.aib.a{--aib-c:#2F6B5E}.aib.b{--aib-c:#2B5F86}.aib.c{--aib-c:#C85A38}.aib.d{--aib-c:#9E3D25}
.aiunb-close{font-size:1.22rem;line-height:1.56;color:#0F2438;font-weight:600;max-width:46rem;margin:0}

.aidist{background:#F4F6F8;padding:72px 0}
.aidist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin:.8rem 0 2.1rem}
.aidist-item{background:#fff;border:1px solid #DFE1E3;border-top:3px solid #C85A38;padding:1.7rem 1.6rem 1.8rem}
.aidist-item h3{font-size:1.14rem;line-height:1.32;color:#0F2438;margin:0 0 .7rem}
.aidist-item p{margin:0;font-size:1rem;line-height:1.64;color:#4C545C}
.aidist-close{font-size:1.16rem;color:#0F2438;font-weight:600;margin:0}

/* Report 09 as the flagship: cover beside the pitch, not a promo box. */
.airep{padding:82px 0}
.airep-flag{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:3rem;
  align-items:center;background:#0F2438;padding:3rem 3.2rem}
.airep-vis img{display:block;width:100%;height:auto;box-shadow:0 22px 54px rgba(0,0,0,.42)}
.airep-lab{font:700 .74rem/1 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#C9A227;margin-bottom:1rem}
.airep-txt h2{font-size:clamp(1.7rem,2.6vw,2.15rem);line-height:1.2;color:#fff;margin:0 0 .6rem;letter-spacing:-.01em}
.airep-sub{font-size:1.08rem;color:rgba(255,255,255,.74);margin:0 0 1.2rem}
.airep-txt p{color:rgba(255,255,255,.86);line-height:1.68;font-size:1.02rem;margin:0 0 1.6rem}
.airep-stats{display:flex;flex-wrap:wrap;gap:2.1rem;margin:0 0 1.8rem;padding:1.2rem 0;
  border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.airep-stats b{display:block;font-size:1.7rem;color:#fff;line-height:1}
.airep-stats span{font-size:.82rem;color:rgba(255,255,255,.6)}
.airep-txt .btn{background:#C85A38;border-color:#C85A38}
.airep-free{font-size:.9rem;color:rgba(255,255,255,.6);margin:1.1rem 0 0}

/* Six conditions as cards, so the page is not two tables in a row. */
.aicond{background:#F4F6F8;padding:72px 0}
.aicond-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:.9rem 0 2rem}
.aicd{background:#fff;border:1px solid #DFE1E3;padding:1.6rem 1.5rem 1.7rem;position:relative}
.aicd-n{font:800 .82rem/1 Inter,Arial,sans-serif;color:#C85A38;letter-spacing:.1em;margin-bottom:.7rem}
.aicd h3{font-size:1.1rem;line-height:1.3;color:#0F2438;margin:0 0 .6rem}
.aicd p{margin:0;font-size:.97rem;line-height:1.6;color:#4C545C}
.aicond-find{font-size:1.16rem;color:#0F2438;font-weight:600;margin:0}

.aitrans{padding:78px 0}
.aitrans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:1rem;
  border-top:2px solid #E6E8EA}
.aitr{padding:1.6rem 1.4rem 1.7rem;border-top:4px solid #DFE1E3;margin-top:-2px}
.aitr.shift{border-top-color:#0F2438}.aitr.arena{border-top-color:#4A7CA6}
.aitr.ascent{border-top-color:#2F6B5E}.aitr.edge{border-top-color:#C85A38}
.aitr-code{font:800 1.06rem/1 Inter,Arial,sans-serif;letter-spacing:.15em;color:#0F2438;margin-bottom:.5rem}
.aitr-move{font-size:1rem;line-height:1.48;color:#0F2438;margin-bottom:.6rem;font-weight:600}
.aitr p{margin:0;font-size:.93rem;line-height:1.58;color:#7A828A}

.aiproof{background:#F4F6F8;padding:72px 0}
.aiproof-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:.9rem 0 1.9rem}
.aipf{background:#fff;border:1px solid #DFE1E3;border-left:3px solid #C85A38;padding:1.5rem 1.6rem}
.aipf .claim{font-weight:700;color:#0F2438;margin-bottom:.65rem;font-size:1.1rem}
.aipf p{margin:0 0 .85rem;font-size:.99rem;line-height:1.62;color:#4C545C}
.aipf .rate{font:700 .8rem/1.5 Inter,Arial,sans-serif;color:#7A828A}
.aiproof-close{font-size:1.16rem;color:#0F2438;font-weight:600;margin:0;max-width:48rem}

/* Questions in two columns as disclosure blocks. All answers stay in the DOM,
   so a crawler reads them whether or not a reader opens them. */
.aiqa{padding:80px 0}
.aiq-cols{columns:2;column-gap:2.6rem;margin-top:1rem}
.aiq{break-inside:avoid;border-top:1px solid #E6E8EA;padding:1.15rem 0;margin:0}
.aiq summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:.8rem}
.aiq summary::-webkit-details-marker{display:none}
.aiq summary::before{content:"+";font:700 1.15rem/1.15 Inter,Arial,sans-serif;color:#C85A38;flex:none}
.aiq[open] summary::before{content:"\2013"}
.aiq summary h2{display:inline;font-size:1.1rem;line-height:1.38;color:#0F2438;margin:0;font-weight:600}
.aiq p{margin:.75rem 0 0 1.6rem;font-size:1rem;line-height:1.68;color:#4C545C}

.aiarts{background:#F4F6F8;padding:72px 0}
.aicard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:.9rem}
.aicard{display:block;background:#fff;border:1px solid #DFE1E3;padding:1.5rem 1.6rem 1.6rem;
  text-decoration:none;transition:border-color .16s,transform .16s}
.aicard:hover{border-color:#0F2438;transform:translateY(-2px)}
.aicard-cat{font:700 .68rem/1 Inter,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;
  color:#C85A38;margin-bottom:.7rem}
.aicard h3{font-size:1.12rem;line-height:1.32;color:#0F2438;margin:0 0 .5rem}
.aicard p{margin:0 0 .9rem;font-size:.97rem;line-height:1.58;color:#4C545C}
.aicard .go{font:700 .86rem/1 Inter,Arial,sans-serif;color:#C85A38}

.aiclose{background:#0F2438;color:#fff;padding:84px 0}
.aiclose-line{font-size:clamp(1.85rem,3.6vw,2.65rem);line-height:1.22;color:#fff;font-weight:700;
  margin:0 0 2rem;letter-spacing:-.015em}
.aiclose-links{display:flex;flex-wrap:wrap;gap:2rem}
.aiclose-links a{color:rgba(255,255,255,.84);font-size:1.02rem;font-weight:600}
.aiclose-links a:hover{color:#fff}

@media (max-width:1000px){
  .aitrans-grid{grid-template-columns:repeat(2,1fr)}
  .aicond-grid{grid-template-columns:repeat(2,1fr)}
  .airep-flag{grid-template-columns:1fr;gap:2rem;padding:2.2rem 1.8rem}
  .airep-vis{max-width:280px}
}
@media (max-width:760px){
  .aihero-in{padding:64px 0 56px}
  .aidef-split,.aidist-grid,.aitrans-grid,.aiproof-grid,.aicard-grid,.aicond-grid{grid-template-columns:1fr}
  .aiq-cols{columns:1}
  .aihero-scrim{background:linear-gradient(180deg,rgba(11,22,38,.58) 0%,rgba(11,22,38,.48) 100%)}
}

/* The four-verb block is the page's central argument, so it has to teach,
   not label. Each row states what the work actually is and whether software
   can take it. The ordering is the argument: it gets harder to hand over.
   It read as an oversized chart when the rows were full-width colour slabs
   with uppercase badges, so it now sits on the page's own ground as a ruled
   list. Only the left rule carries the colour, and it walks from green to
   red down the four so the argument is still visible without shouting. */
/* The at-a-glance pamphlet. Its h2 is scoped, because every unscoped heading
   on this page fell to the browser default of 24px. The preview is capped by
   height on desktop so a tall portrait pamphlet cannot dominate the section,
   and it goes full width and unforced on a phone rather than being squeezed. */
.aiglance{padding:82px 0;border-top:1px solid #DFE4E9}
.aig-in{display:grid;grid-template-columns:1.05fr .95fr;gap:3.6rem;align-items:center}
.aiglance h2{font-size:clamp(1.6rem,2.9vw,2.15rem);line-height:1.16;letter-spacing:-.015em;
  color:#0F2438;margin:.7rem 0 .9rem}
.aiglance p{margin:0;font-size:1.02rem;line-height:1.68;color:#4C545C;max-width:38rem}
.aig-txt{min-width:0}
.aig-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;margin-top:1.6rem}
.aig-alt{color:#C85A38;font:600 .92rem/1 Inter,Arial,sans-serif;text-decoration:underline;
  text-underline-offset:3px}
.aig-alt:hover{color:#A8452A}
.aig-vis{display:block;justify-self:center}
.aig-vis img{display:block;width:auto;height:500px;aspect-ratio:1024/1536;max-width:100%;object-fit:contain;
  border:1px solid #DFE4E9;box-shadow:0 18px 40px rgba(15,36,56,.13)}
.aig-vis:hover img{box-shadow:0 24px 52px rgba(15,36,56,.2)}
@media (max-width:860px){
  .aig-in{grid-template-columns:1fr;gap:2.1rem}
  .aiglance{padding:52px 0}
  .aig-vis img{height:auto;width:100%}
}
.aiunb-intro{font-size:1.02rem;color:#4C545C;margin:.4rem 0 1.1rem;max-width:44rem}
.aibundle{display:grid;gap:0;max-width:46rem;margin:0 0 2.2rem;border-top:1px solid #DFE4E9}
.aib{padding:1rem 0 1.05rem 1.15rem;border-bottom:1px solid #DFE4E9;
  border-left:3px solid var(--aib-c)}
.aib-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem;margin-bottom:.28rem}
.aib b{font-size:1.05rem;color:#0F2438;letter-spacing:-.01em}
.aib p{margin:0;font-size:.94rem;line-height:1.6;color:#4C545C;max-width:44rem}
.aib-state{font:600 .82rem/1.35 Inter,Arial,sans-serif;color:var(--aib-c)}
.s-soft,.s-part,.s-hum{background:none;padding:0}
.aiunb-so{background:#F4F6F8;border-left:3px solid #C85A38;padding:1.5rem 1.7rem;margin:0 0 1.9rem;max-width:52rem}
.aiunb-so .k{font:700 .74rem/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:#C85A38;margin-bottom:.6rem}
.aiunb-so p{margin:0;font-size:1.06rem;line-height:1.66;color:#0F2438}
@media (max-width:640px){.aib-head{display:block}.aib b{font-size:1rem}.aib-state{display:block;margin-top:.15rem}}

.airep-cta{display:inline-flex;flex-direction:column;align-items:center;gap:.7rem}
.airep-cta .airep-free{margin:0;text-align:center}

/* Images earn their place by carrying an idea the text just made, so each
   one sits directly under the passage it illustrates and is captioned. */
.aiband{margin:2rem 0 2.2rem;padding:0}
.aiband img{display:block;width:100%;height:auto}
.aiband figcaption{margin-top:.85rem;font-size:.92rem;line-height:1.55;color:#7A828A;max-width:44rem}
.aiband-tight{margin:0 0 2.4rem}
.aiunb .aiband + .aiband{margin-top:-.6rem}
.aidist .aiband figcaption,.aicond .aiband figcaption{color:#6E767E}
@media (max-width:760px){.aiband{margin:1.5rem 0 1.7rem}}

/* Section headings on the AI hub had no scoped rule, so they fell to the
   browser default of 24px while the rest of the site runs its sections at
   the clamp below. The hero was also set larger than any other page. Both
   now follow the site's own convention. */
.aiunb .sechead h2,.aidist .sechead h2,.aicond .sechead h2,
.aitrans .sechead h2,.aiproof .sechead h2,.aiqa .sechead h2,
.aiarts .sechead h2{font-size:clamp(1.9rem,3.7vw,2.7rem);line-height:1.14;letter-spacing:-.015em}
.aihero h1{font-size:clamp(2.1rem,3.9vw,3rem)}

/* Entry point to the AI hub from the research library. */
.aihub-card{display:block;background:#0F2438;color:#fff;text-decoration:none;
  padding:1.7rem 1.9rem 1.8rem;margin:0 0 1.6rem;border-left:4px solid #C85A38;
  transition:background .16s}
.aihub-card:hover{background:#15304a}
.aihub-lab{font:700 .68rem/1 Inter,Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;
  color:#C9A227;margin-bottom:.7rem}
.aihub-card h3{font-size:1.4rem;line-height:1.2;color:#fff;margin:0 0 .55rem;letter-spacing:-.01em}
.aihub-card p{margin:0 0 .9rem;font-size:.98rem;line-height:1.6;color:rgba(255,255,255,.84);max-width:44rem}
.aihub-card .go{font:700 .84rem/1 Inter,Arial,sans-serif;color:#C85A38}
.aihub-card:hover .go{color:#e8794f}

/* ══ Report 09 landing page ═════════════════════════════════════════ */
.r9-hero{background:#0F2438;color:#fff;padding:70px 0 66px}
.r9-hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:3.4rem;align-items:center}
.r9-hero .tag{color:#C9A227;margin-bottom:1.1rem}
.r9-hero h1{font-size:clamp(2.1rem,4vw,3rem);line-height:1.1;color:#fff;margin:0 0 1rem;letter-spacing:-.018em}
.r9-sub{font-size:1.14rem;color:rgba(255,255,255,.76);margin:0 0 1.4rem}
.r9-lede{font-size:1.02rem;line-height:1.68;color:rgba(255,255,255,.86);margin:0 0 1.9rem;max-width:38rem}
.r9-cta{display:inline-flex;flex-direction:column;align-items:center;gap:.7rem}
.r9-cta .btn{background:#C85A38;border-color:#C85A38}
.r9-free{margin:0;font-size:.86rem;color:rgba(255,255,255,.6);text-align:center}
.r9-hero-vis img{display:block;width:100%;height:auto;box-shadow:0 24px 56px rgba(0,0,0,.45)}

.r9-nums{background:#F4F6F8;padding:34px 0;border-bottom:1px solid #DFE1E3}
.r9-nums-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.r9-nums b{display:block;font-size:2.1rem;line-height:1;color:#0F2438;margin-bottom:.35rem}
.r9-nums span{font-size:.9rem;line-height:1.45;color:#4C545C}


/* The direct-answer block on the first-time-manager paper. Its heading is a
   real question a reader asks, so it must be visible and sized like a heading
   rather than left to the browser default, which is what happened to the AI
   hub's sections. The secondary CTA sits beside the primary button as a link,
   not a second button, so the primary stays obviously primary. */
.r9-aeo{background:#F4F6F8;border-top:1px solid #DFE4E9;border-bottom:1px solid #DFE4E9;padding:40px 0}
.r9-aeo h2{font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.24;letter-spacing:-.012em;
  color:#0F2438;margin:0 0 .7rem;max-width:44rem}
.r9-aeo p{margin:0;font-size:1.02rem;line-height:1.66;color:#3B434B;max-width:46rem}
.r9-alt{color:rgba(255,255,255,.78);font:600 .84rem/1 Inter,Arial,sans-serif;
  letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px}
.r9-alt:hover{color:#fff}
@media (max-width:760px){.r9-aeo{padding:30px 0}}

.r9-summary{padding:72px 0}
.r9-summary .sechead h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.16;letter-spacing:-.015em}
.r9-finds{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0 2rem}
.r9-find{background:#F4F6F8;border-top:3px solid #C85A38;padding:1.5rem 1.6rem}
.r9-find .n{font:800 .84rem/1 Inter,Arial,sans-serif;color:#8FA0B4;letter-spacing:.1em;margin-bottom:.6rem}
.r9-find h3{font-size:1.08rem;line-height:1.3;color:#0F2438;margin:0 0 .55rem}
.r9-find p{margin:0;font-size:.97rem;line-height:1.6;color:#4C545C}
.r9-decision{background:#0F2438;color:#fff;padding:1.6rem 1.8rem;max-width:52rem}
.r9-decision .k{font:700 .7rem/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#C9A227;margin-bottom:.6rem}
.r9-decision p{margin:0;font-size:1.1rem;line-height:1.55}

.r9-band img{display:block;width:100%;height:auto}

.r9-toc{padding:72px 0;background:#F4F6F8}
.r9-toc-list{margin-top:1rem;border-top:1px solid #DFE1E3}
.r9-toc-row{display:grid;grid-template-columns:44px minmax(0,240px) minmax(0,1fr);gap:1.2rem;
  align-items:baseline;padding:.95rem 0;border-bottom:1px solid #DFE1E3;text-decoration:none}
.r9-toc-row:hover{background:#EDF0F4}
.r9-toc-row .n{font:800 .82rem/1.5 Inter,Arial,sans-serif;color:#C85A38;letter-spacing:.06em}
.r9-toc-row .t{font-weight:700;color:#0F2438;font-size:1rem;line-height:1.4}
.r9-toc-row .d{font-size:.93rem;line-height:1.5;color:#5A6470}

.r9-boundary{padding:72px 0}
.r9-nots{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0 1.8rem}
.r9-not{background:#fff;border:1px solid #DFE1E3;border-left:3px solid #C85A38;padding:1.5rem 1.6rem}
.r9-not .claim{font-weight:700;color:#0F2438;font-size:1.06rem;margin-bottom:.6rem}
.r9-not p{margin:0 0 .85rem;font-size:.97rem;line-height:1.62;color:#4C545C}
.r9-not .rate{font:700 .78rem/1.5 Inter,Arial,sans-serif;color:#7A828A}
.r9-boundary-close{font-size:1.14rem;color:#0F2438;font-weight:600;margin:0;max-width:48rem}

.r9-use{padding:0 0 72px}
.r9-use-card{background:#F7F3EA;border-left:3px solid #C9A227;padding:1.6rem 1.8rem;max-width:52rem}
.r9-use-card .k{font:700 .7rem/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8A6A1E;margin-bottom:.6rem}
.r9-use-card p{margin:0;font-size:1rem;line-height:1.66;color:#4C545C}

.r9-close{background:#1B4A42;color:#fff;padding:78px 0}
.r9-close-line{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;font-weight:700;margin:0 0 1.2rem;letter-spacing:-.015em}
.r9-close-sub{font-size:1.06rem;line-height:1.66;color:rgba(255,255,255,.82);max-width:44rem;margin:0 0 2rem}
.r9-close-links{display:flex;flex-wrap:wrap;gap:1.9rem}
.r9-close-links a{color:rgba(255,255,255,.86);font-size:1rem;font-weight:600}
.r9-close-links a:hover{color:#fff}

@media (max-width:900px){
  .r9-hero-in{grid-template-columns:1fr;gap:2.2rem}
  .r9-hero-vis{max-width:260px}
  .r9-nums-grid{grid-template-columns:1fr 1fr;gap:1.4rem}
  .r9-finds,.r9-nots{grid-template-columns:1fr}
  .r9-toc-row{grid-template-columns:38px 1fr;gap:.8rem}
  .r9-toc-row .d{grid-column:2}
}
.r9-hero-txt{min-width:0}
