/* Shared case-study rhythm: client context, decision, solution and outcomes. */
.project-page .story-section{padding-block:76px;scroll-margin-top:24px}
.project-page .story-hero{background:var(--navy);color:#fff}
.project-page .story-hero .breadcrumbs,.project-page .story-hero .breadcrumbs [aria-current]{color:#c1cfdb}
.project-page .story-hero .breadcrumbs li+li::before{color:#75919f}
.project-page .story-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:64px;padding-block:26px 56px}
.project-page .story-hero-copy{min-width:0}
.project-page .story-identity{margin-bottom:27px}
.project-page .story-client-logo{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:12px 18px;background:#fff;border-radius:4px}
.project-page .story-client-logo>img{width:164px;height:auto;max-width:100%}
.project-page .story-identity-integration .story-client-logo{padding:6px 17px}
.project-page .story-identity-integration img{width:105px}
.project-page .story-identity-quotation img{width:144px}
.project-page .story-identity>p{font-size:13px;line-height:1.6;color:#c1cfdb;margin-top:16px}
.project-page .story-hero h1{font-size:clamp(40px,3.4vw,49px);line-height:1.13;letter-spacing:-1.6px;font-weight:600;color:#fff;text-wrap:pretty;max-width:640px}
.project-page .story-hero-summary{font-size:18px;line-height:1.75;color:#c1cfdb;margin-top:25px;max-width:570px}
.project-page .story-hero .pv-figure{width:100%;max-width:610px;justify-self:end}
.project-page .story-hero .pv-figure>figcaption{color:#c1cfdb}
.project-page .story-hero a:focus-visible{outline-color:#89e1d3}
.project-page .story-project-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:52px;margin:0;padding-block:27px 32px;border-top:1px solid #345065}
.project-page .story-project-facts dt{font-size:12px;line-height:1.6;color:#a6bacb;margin-bottom:7px}
.project-page .story-project-facts dd{font-size:14px;color:#fff;line-height:1.6;margin:0}
.project-page .story-prose{font-size:16px;line-height:1.8;color:var(--muted)}
.project-page .story-prose p{line-height:1.8}
.project-page .story-prose p+p{margin-top:20px}
.project-page .story-prose a{color:#08796f;text-decoration:underline;text-underline-offset:4px}
.project-page .story-section-label{font-size:13px;line-height:1.6;color:#08796f;margin-bottom:15px}
.project-page .story-chapter-heading h2{font-size:38px;line-height:1.2;letter-spacing:-1.1px;text-wrap:pretty}
.project-page .story-challenge{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:100px;align-items:start}
.project-page .story-client{max-width:330px;padding-top:6px}
.project-page .story-client h2{font-size:18px;line-height:1.5;letter-spacing:-.2px}
.project-page .story-client>p{font-size:16px;line-height:1.8;color:var(--muted);margin-top:18px}
.project-page .story-challenge .story-prose{margin-top:26px;max-width:710px}
.project-page .story-approach{background:var(--mist);padding-block:68px 74px}
.project-page .story-approach .story-chapter-heading{max-width:860px}
.project-page .story-approach h2{font-size:40px;letter-spacing:-1.2px}
.project-page .story-decisions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:76px;margin-top:38px}
.project-page .story-decisions>div{padding-top:24px;border-top:1px solid #bfcdd3}
.project-page .story-decisions>div:last-child{padding-top:23px;border-top:2px solid #5ca99d}
.project-page .story-decisions h3{font-size:23px;line-height:1.3;letter-spacing:-.5px}
.project-page .story-decisions .story-prose{margin-top:17px}
.project-page .story-solution{background:var(--mint)}
.project-page .story-solution-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:76px;align-items:end}
.project-page .story-solution-heading h2{font-size:44px;line-height:1.18;letter-spacing:-1.3px;max-width:520px}
.project-page .story-solution .story-prose{color:#466359}
.project-page .story-solution-heading .story-prose{font-size:17px;max-width:630px}
.project-page .story-solution>.container>.pv-figure{margin-top:38px}
.project-page .story-solution-overview{max-width:950px;margin-top:30px}
.project-page .story-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 76px;list-style:none;padding:0;margin:34px 0 0}
.project-page .story-features>li{padding-top:22px;border-top:1px solid #b6cfc6;min-width:0}
.project-page .story-features h3{font-size:25px;line-height:1.3;letter-spacing:-.6px;text-wrap:pretty}
.project-page .story-features p{font-size:16px;line-height:1.8;color:#466359;margin-top:13px;max-width:540px}
.project-page .story-delivery{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:76px;margin-top:42px;padding-top:30px;border-top:1px solid #b6cfc6}
.project-page .story-delivery h3{font-size:22px;line-height:1.4;letter-spacing:-.4px;max-width:350px}
.project-page .story-delivery .story-prose{font-size:15px;max-width:760px}
.project-page .story-results{background:var(--navy);color:#fff}
.project-page .story-results .story-section-label{color:#c1cfdb}
.project-page .story-result-lead{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px;align-items:start}
.project-page .story-results h2{color:#fff;font-size:38px;line-height:1.22;letter-spacing:-1px;text-wrap:pretty;max-width:600px}
.project-page .story-result-summary>p{font-size:17px;line-height:1.8;color:#c1cfdb;max-width:640px}
.project-page .story-result-summary h2+p{margin-top:24px}
.project-page .story-result-with-metric{margin-top:30px}
.project-page .story-metric{color:#89e1d3;font-family:var(--heading)}
.project-page .story-metric>p:first-child{font-size:23px;line-height:1.3}
.project-page .story-metric strong{display:block;font-size:clamp(76px,7vw,98px);line-height:1.12;letter-spacing:-3px;font-weight:600;margin-block:5px}
.project-page .story-metric span{display:block;font-size:25px;line-height:1.4;letter-spacing:-.5px}
.project-page .story-metric .story-metric-detail{font-size:15px;font-family:var(--body);line-height:1.7;color:#c1cfdb;margin-top:20px;max-width:310px}
.project-page .story-result-details,.project-page .story-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 76px;padding:32px 0 0;margin:38px 0 0;border-top:1px solid #355060;list-style:none}
.project-page .story-results h3{color:#fff;font-size:22px;line-height:1.35;letter-spacing:-.4px;text-wrap:pretty}
.project-page .story-result-details p,.project-page .story-outcomes p{font-size:15px;line-height:1.8;color:#c1cfdb;margin-top:13px;max-width:600px}
.project-page .story-evolution{background:var(--mist)}
.project-page .story-evolution-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px;align-items:start}
.project-page .story-evolution h2{font-size:30px;line-height:1.3;letter-spacing:-.7px;text-wrap:pretty;max-width:440px}
.project-page .story-contact{padding-block:76px}
.project-page .story-contact h2{font-size:42px;line-height:1.18;letter-spacing:-1.3px;text-wrap:pretty}
.project-page .story-contact p:last-of-type{font-size:15px}

@media(max-width:1199px){
  .project-page .story-hero-grid{gap:36px;padding-bottom:44px}
  .project-page .story-hero h1{font-size:42px;letter-spacing:-1.3px}
  .project-page .story-hero-summary{font-size:17px}
  .project-page .story-project-facts{gap:30px}
  .project-page .story-challenge{gap:56px}
  .project-page .story-decisions,.project-page .story-solution-heading,.project-page .story-features,.project-page .story-delivery{column-gap:48px}
  .project-page .story-result-lead,.project-page .story-evolution-grid{gap:56px}
  .project-page .story-result-details,.project-page .story-outcomes{column-gap:48px}
}
@media(max-width:899px){
  .project-page .story-hero-grid{grid-template-columns:1fr;gap:32px;padding-block:20px 34px}
  .project-page .story-hero h1{font-size:46px;max-width:760px}
  .project-page .story-hero-summary{max-width:680px}
  .project-page .story-hero .pv-figure{justify-self:start}
  .project-page .story-section{padding-block:58px}
  .project-page .story-challenge{grid-template-columns:1fr;gap:32px}
  .project-page .story-client{max-width:650px;padding-top:0}
  .project-page .story-solution-heading{grid-template-columns:1fr;gap:22px}
  .project-page .story-solution-heading h2{max-width:none}
  .project-page .story-decisions,.project-page .story-features{gap:28px 36px}
  .project-page .story-delivery,.project-page .story-result-lead,.project-page .story-evolution-grid{grid-template-columns:1fr;gap:28px}
  .project-page .story-delivery h3{max-width:none}
  .project-page .story-result-summary>p{max-width:740px}
}
@media(max-width:599px){
  .project-page .story-section,.project-page .story-contact{padding-block:48px}
  .project-page .story-hero-grid{padding-block:14px 28px;gap:28px}
  .project-page .story-identity{margin-bottom:23px}
  .project-page .story-client-logo{min-height:57px;padding:10px 14px}
  .project-page .story-client-logo>img{width:145px}
  .project-page .story-identity-integration img{width:90px}
  .project-page .story-identity-quotation img{width:124px}
  .project-page .story-identity>p{font-size:12px;margin-top:14px}
  .project-page .story-hero h1{font-size:36px;line-height:1.17;letter-spacing:-1px}
  .project-page .story-hero-summary{font-size:16px;margin-top:22px}
  .project-page .story-project-facts{grid-template-columns:1fr;gap:17px;padding-block:24px 28px}
  .project-page .story-project-facts>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px}
  .project-page .story-project-facts dt{margin:0;font-size:11px}
  .project-page .story-project-facts dd{font-size:12px}
  .project-page .story-prose,.project-page .story-client>p{font-size:15px}
  .project-page .story-client>p{margin-top:13px}
  .project-page .story-chapter-heading h2,.project-page .story-results h2{font-size:31px;letter-spacing:-.8px}
  .project-page .story-challenge .story-prose{margin-top:22px}
  .project-page .story-section-label{font-size:12px}
  .project-page .story-decisions{grid-template-columns:1fr;gap:26px;margin-top:28px}
  .project-page .story-decisions h3{font-size:22px}
  .project-page .story-decisions .story-prose{margin-top:14px}
  .project-page .story-solution-heading h2,.project-page .story-contact h2{font-size:34px;letter-spacing:-1px}
  .project-page .story-solution-heading .story-prose{font-size:16px}
  .project-page .story-solution>.container>.pv-figure{margin-top:28px}
  .project-page .story-features{grid-template-columns:1fr;gap:26px;margin-top:28px}
  .project-page .story-features h3{font-size:23px}
  .project-page .story-features p{font-size:15px;margin-top:11px}
  .project-page .story-delivery{margin-top:30px;padding-top:24px;gap:18px}
  .project-page .story-delivery h3{font-size:21px}
  .project-page .story-result-details,.project-page .story-outcomes{grid-template-columns:1fr;gap:28px;margin-top:30px;padding-top:25px}
  .project-page .story-result-summary>p{font-size:16px}
  .project-page .story-metric>p:first-child{font-size:21px}
  .project-page .story-metric strong{font-size:76px;letter-spacing:-2.6px}
  .project-page .story-metric span{font-size:24px}
  .project-page .story-metric .story-metric-detail{font-size:14px;margin-top:16px}
  .project-page .story-evolution h2{font-size:28px}
}
@media(max-width:359px){
  .project-page .story-hero h1{font-size:32px}
}
