/* A measured grid and one visual role for each piece of content. */
:root{--editorial-width:1440px}
.site-header{border-bottom:0}
.challenge .source-line{border-top:0}
.hero-title-wrap,.capacity-copy,.approach-intro,.approach-layout,.closing-content,.closing footer{max-width:var(--editorial-width);margin-left:auto;margin-right:auto}
.hero h1{font-size:clamp(70px,7.8vw,118px);line-height:.92;letter-spacing:-.065em}
.hero-deck{max-width:720px;margin-top:36px;font-size:clamp(20px,1.8vw,27px);line-height:1.34;letter-spacing:-.015em;text-wrap:pretty}
.hero .line>span{animation-duration:.7s}
.problem-statements{max-width:1120px}
.problem-statement{font-size:clamp(38px,4.3vw,64px);line-height:1.16;letter-spacing:-.04em;text-wrap:balance}
.problem-lead{max-width:940px}
.problem-lead span{color:var(--sage)}
.problem-statement-long{font-size:clamp(33px,3.4vw,52px)}
.stat-follow-on{display:block;margin-top:.65em;font-size:1em;line-height:1.16;color:var(--accent)}
@media(min-width:1000px){.stat-phrase{white-space:nowrap}}

.capacity{padding:clamp(88px,9vw,135px) var(--gutter) clamp(85px,8vw,120px)}
.capacity h2{max-width:1120px;font-size:clamp(44px,4.8vw,70px);line-height:1.07;letter-spacing:-.05em;text-wrap:balance}
.capacity h2 em{display:block;color:var(--green);font-style:italic}
.capacity-copy>p{max-width:720px;margin-top:42px;font-size:clamp(20px,1.7vw,25px);line-height:1.42;letter-spacing:-.015em;text-wrap:pretty}
.capacity-copy em{color:var(--green)}

.approach{padding:clamp(70px,7vw,105px) var(--gutter) clamp(110px,10vw,160px)}
.approach-label{display:block;margin-bottom:24px;color:var(--green)}
.approach-intro h2{max-width:810px;font-size:clamp(39px,3.8vw,56px);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.approach-intro h2 em{color:inherit}
.approach-intro>p{max-width:660px;margin-top:30px;font-size:clamp(18px,1.45vw,21px);line-height:1.5;letter-spacing:-.01em;text-wrap:pretty}
.approach-intro strong{color:inherit;font-weight:500}
.approach-layout{margin-top:clamp(55px,5vw,75px)}
.approach-steps{list-style:none;max-width:860px;margin:0;padding:0}
.approach-steps li{display:grid;grid-template-columns:45px minmax(0,1fr);gap:clamp(17px,2vw,30px);margin-bottom:clamp(43px,4.7vw,68px)}
.approach-steps li:last-child{margin-bottom:0}
.step-number{padding-top:6px;color:var(--green)}
.approach-steps h3{font-size:clamp(28px,2.5vw,36px);line-height:1.12;letter-spacing:-.04em}
.approach-steps li:last-child h3{color:var(--green)}
.approach-steps p{max-width:670px;margin-top:11px;font-size:16px;line-height:1.55;color:var(--muted)}
.approach-start{max-width:710px;margin-top:clamp(55px,6vw,84px);font-size:clamp(18px,1.6vw,22px);line-height:1.45;letter-spacing:-.015em;text-wrap:pretty}
.approach-start strong{display:block;margin-bottom:10px;font-weight:500;color:var(--green)}


.case-study{padding:clamp(85px,8vw,125px) var(--gutter) clamp(95px,9vw,140px)}
.case-inner{max-width:var(--editorial-width);margin:0 auto}
.case-label{display:block;color:var(--green)}
@media(min-width:761px){.approach-label,.case-label{font-size:13px}}
.case-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(45px,7vw,115px);align-items:end;margin:25px 0 clamp(46px,5vw,75px)}
.case-intro h2{max-width:900px;font-size:clamp(45px,4.3vw,66px);line-height:1.07;letter-spacing:-.05em;text-wrap:balance}
.case-intro p{max-width:455px;padding-bottom:5px;font-size:clamp(18px,1.5vw,21px);line-height:1.45;color:var(--muted);text-wrap:pretty}
.case-film{margin:0}
.case-film-well{padding:8px;background:var(--ink);border:1px solid rgba(38,27,25,.55);box-shadow:inset 0 2px 3px rgba(0,0,0,.24)}
.case-film video{display:block;width:100%;aspect-ratio:16/9;background:#050807}
.case-film figcaption{display:flex;justify-content:space-between;gap:18px;margin-top:17px;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.5;letter-spacing:.025em;color:var(--green)}

.closing{padding:clamp(88px,8vw,124px) var(--gutter) 0}
.closing-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:clamp(35px,5vw,100px);margin-top:0;margin-bottom:clamp(78px,8vw,120px)}
.closing-copy{position:relative;z-index:1}
.closing h2{max-width:860px;font-size:clamp(53px,5.65vw,86px);line-height:1.03;text-wrap:balance}
.closing h2 em{display:block;color:var(--sage);font-style:italic}
.closing-content p{max-width:640px;margin-top:30px;font-size:clamp(19px,1.7vw,25px);line-height:1.35;letter-spacing:-.015em;color:#d4c9c3;text-wrap:balance}
.growth-illustration{width:min(100%,440px);max-height:510px;object-fit:contain;justify-self:center;filter:contrast(1.08)}
.growth-ready:not(.reduced-growth) .growth-illustration{clip-path:inset(63% 0 32% 0);transition:clip-path 3.3s cubic-bezier(.2,.7,.2,1) .5s}
.growth-ready .closing.grown .growth-illustration{clip-path:inset(0)}
.closing .primary-link.compact-cta{width:218px;height:47px;margin-top:38px;padding:13px 18px;background:var(--accent);color:var(--ink)}
.closing footer{border-top:0;padding:26px 0 30px}

@media(max-width:760px){
  .hero h1{font-size:clamp(53px,13vw,78px)}
  .hero-deck{max-width:520px;margin-top:27px;font-size:19px;line-height:1.4}
  .problem-statement{font-size:clamp(30px,7.4vw,45px)}
  .problem-statement-long{font-size:clamp(27px,6.6vw,38px)}
  .stat-follow-on{margin-top:.65em}
  .capacity{padding:78px var(--gutter) 85px}
  .capacity h2{font-size:clamp(39px,8.5vw,58px)}
  .capacity-copy>p{margin-top:32px;font-size:clamp(19px,4.8vw,24px)}
  .approach{padding:65px var(--gutter) 90px}
  .approach-label{margin-bottom:20px}
  .approach-intro h2{font-size:clamp(36px,7.8vw,48px)}
  .approach-intro>p{margin-top:25px;font-size:18px}
  .approach-layout{margin-top:52px}
  .approach-steps li{grid-template-columns:35px minmax(0,1fr);gap:12px;margin-bottom:42px}
  .approach-steps h3{font-size:29px}
  .approach-steps p{font-size:16px}
  .approach-start{margin-top:56px;font-size:19px}
  .case-study{padding:78px var(--gutter) 88px}
  .case-intro{display:block;margin:22px 0 36px}
  .case-intro h2{font-size:clamp(41px,8.5vw,59px)}
  .case-intro p{margin-top:24px;font-size:18px}
  .case-film-well{padding:4px}
  .case-film figcaption{display:block;font-size:11px;margin-top:13px}
  .case-film figcaption span{display:block}
  .closing{padding-top:86px}
  .closing-content{grid-template-columns:1fr;gap:35px;margin:0 0 80px}
  .closing h2{font-size:clamp(48px,10vw,72px)}
  .closing-content p{font-size:20px}
  .growth-illustration{width:min(72%,300px);max-height:370px;justify-self:end}
  .closing .primary-link.compact-cta{width:190px;height:40px;padding:10px 13px}
}
@media(prefers-reduced-motion:reduce){.growth-ready .growth-illustration{clip-path:none;transition:none}}
