.case-page{overflow-x:hidden}.case-header{position:sticky;top:0;transition:min-height .25s,padding .25s}.desktop-nav a[aria-current=page]{border-color:var(--navy)}
.back-link{display:inline-flex;gap:12px;align-items:center;margin-bottom:clamp(42px,6vw,84px);font-size:14px;font-weight:500}.back-link:hover{text-decoration:underline;text-underline-offset:5px}
.story-hero{padding:clamp(48px,6vw,90px) var(--gutter) 0;background:var(--paper);display:grid;grid-template-columns:.88fr 1.12fr;gap:0 6%}.story-hero-copy{padding-bottom:clamp(48px,7vw,94px);align-self:end}.story-hero h1{font-size:clamp(58px,7.2vw,118px);line-height:.94;letter-spacing:-.02em;max-width:940px}.story-hero h1 em,.story-intro h2 em,.solution h2 em,.results h2 em,.story-contact h2 em{color:#bd0871;font-style:normal}.story-deck{margin-top:36px;max-width:570px;font-size:clamp(19px,1.7vw,26px);line-height:1.5;font-weight:400}
.story-hero-image{min-height:610px;position:relative;overflow:hidden;border-radius:0 var(--image-curve) 0 0}.story-hero-image img{width:100%;height:100%;object-fit:cover;object-position:45% center}.story-hero-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(12,31,52,.82))}.story-hero-image figcaption{position:absolute;z-index:1;bottom:32px;left:34px;right:30px;color:#fff;font-family:var(--display);font-size:clamp(22px,2vw,34px);line-height:1.2}.story-hero-image figcaption span{display:block;font-family:var(--body);font-size:12px;letter-spacing:.1em;margin-bottom:8px}
.story-meta{grid-column:1/-1;border-top:1px solid #cdd4dc;display:grid;grid-template-columns:repeat(4,1fr)}.story-meta div{padding:24px 0 27px;border-right:1px solid #cdd4dc}.story-meta div+div{padding-left:30px}.story-meta div:last-child{border-right:0}.story-meta span,.story-meta strong{display:block}.story-meta span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.story-meta strong{font-size:15px;font-weight:500}
.story-pad{padding:clamp(90px,10vw,160px) var(--gutter)}.story-intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:end}.story-intro h2,.challenge h2,.solution h2,.results h2,.closing-image h2,.story-film h2{font-size:clamp(44px,5.3vw,84px)}.story-intro h2{max-width:970px}.story-copy{border-left:7px solid var(--aqua);padding-left:32px;font-size:18px}.story-copy p+p{margin-top:20px}
.impact-strip{min-height:500px;display:grid;grid-template-columns:1fr 1fr 1.45fr;background:var(--navy);color:#fff}.impact-strip article{padding:clamp(46px,5vw,84px) var(--gutter);display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid #ffffff40}.impact-strip article:nth-child(2){background:var(--green);color:var(--navy)}.impact-strip .impact-primary{background:var(--pink);color:var(--navy);border:0}.impact-strip strong{font-family:var(--display);font-size:clamp(82px,10vw,170px);line-height:.78;letter-spacing:0}.impact-strip strong span{font-size:.42em;display:inline-block;margin-left:.22em;letter-spacing:0}.impact-strip article>span{margin-top:28px;font-size:clamp(16px,1.45vw,22px);line-height:1.35;font-weight:500;max-width:330px}
.challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.editorial-image img{width:100%;height:650px;object-fit:cover;border-radius:var(--image-curve) 0 var(--image-curve-small) 0}.editorial-image figcaption{font-size:12px;margin-top:14px;letter-spacing:.03em}.challenge h2 span{box-shadow:inset 0 -.17em var(--aqua)}.challenge-copy>p:not(.eyebrow){margin-top:24px;font-size:18px}.margin-note{margin-top:48px;border-top:1px solid var(--navy);display:grid;grid-template-columns:120px 1fr;padding-top:16px;gap:20px}.margin-note span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.margin-note p{font-family:var(--display);font-size:24px;line-height:1.35}
.pull-quote{background:var(--navy);color:#fff;padding:clamp(80px,10vw,160px) var(--gutter);position:relative;overflow:hidden}.pull-quote blockquote{max-width:1250px;margin:0 auto;text-align:center;font-family:var(--display);font-size:clamp(45px,6.5vw,104px);line-height:1.04;letter-spacing:-.02em}.pull-quote blockquote em{color:var(--aqua);font-style:normal}.quote-mark{position:absolute;top:-85px;left:2vw;color:#00fff51f;font-family:Georgia,serif;font-size:430px;line-height:1}.quote-note{margin:45px auto 0;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.story-film{background:var(--green)}.film-heading{display:grid;grid-template-columns:1fr .6fr;gap:8%;align-items:end;margin-bottom:54px}.film-heading>p{font-size:18px;padding-bottom:8px}.film-player{position:relative;background:#0f2139;color:#fff;min-height:min(68vw,760px);overflow:hidden;border-radius:0 var(--image-curve) 0 var(--image-curve-small)}.film-frames,.film-frame{position:absolute;inset:0;margin:0}.film-frame{opacity:0;transition:opacity .8s ease}.film-frame.is-active{opacity:1}.film-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}.film-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081b30e6 0%,#081b3033 70%),linear-gradient(0deg,#081b30d9,transparent 55%)}.film-frame figcaption{position:absolute;z-index:1;left:clamp(30px,6vw,90px);bottom:clamp(44px,7vw,95px);max-width:560px}.film-frame figcaption span{display:block;color:var(--aqua);font-size:13px;margin-bottom:16px}.film-frame figcaption strong{display:block;font-family:var(--display);font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:-.02em}.film-frame figcaption small{display:block;margin-top:20px;font-size:17px;line-height:1.55}
.film-toggle{position:absolute;z-index:2;right:clamp(24px,4vw,60px);top:clamp(24px,4vw,60px);display:inline-flex;align-items:center;gap:14px;min-height:52px;border:1px solid #fff;background:#081b30bf;color:#fff;padding:12px 20px;cursor:pointer}.film-toggle:hover{background:var(--aqua);color:var(--navy);border-color:var(--aqua)}.play-icon{font-size:12px}.film-progress{position:absolute;z-index:2;left:0;right:0;bottom:0;height:8px;background:#ffffff40}.film-progress span{display:block;width:0;height:100%;background:var(--aqua)}.film-player.is-playing .film-progress span{animation:filmProgress 15s linear forwards}.film-status{position:absolute;right:28px;bottom:25px;z-index:2;font-size:12px;letter-spacing:.12em}@keyframes filmProgress{to{width:100%}}
.solution{background:var(--paper)}.solution-lead{display:grid;grid-template-columns:1fr 2fr;gap:7%;align-items:start}.solution-lead .eyebrow{padding-top:10px}.journey{list-style:none;margin:80px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b9c3cf}.journey li{padding:35px 28px 20px 0;border-right:1px solid #b9c3cf;position:relative}.journey li+li{padding-left:28px}.journey li:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--pink);top:-7px;left:0}.journey-num{font-family:var(--display);font-size:clamp(65px,7vw,112px);line-height:.9;letter-spacing:-.06em}.journey-unit{font-family:var(--display);font-size:24px;display:inline-block;margin-left:16px;letter-spacing:0}.journey p{margin-top:22px;max-width:230px}.solution-detail{margin-top:100px;padding-top:35px;border-top:1px solid var(--navy);display:grid;grid-template-columns:1fr 2fr;gap:7%}.solution-detail h3{font-family:var(--display);font-size:34px}.solution-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:8%;font-size:18px}
.results{background:var(--pink);display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.results-number{font-family:var(--display);font-size:clamp(160px,25vw,390px);line-height:.7;letter-spacing:0;white-space:nowrap}.results-number>span{font-family:var(--body);font-size:.13em;vertical-align:top;letter-spacing:0}.results-number sup{font-size:.22em;vertical-align:top;display:inline-block;margin-left:.25em;letter-spacing:0}.results-copy>p:last-child{font-size:18px;margin-top:28px}.result-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #15294380;margin-top:50px}.result-cards article{padding:34px 32px 0 0}.result-cards article+article{padding-left:32px;border-left:1px solid #15294380}.result-cards span{font-size:11px;letter-spacing:.12em}.result-cards h3{font-family:var(--display);font-size:28px;margin:18px 0 10px}
.closing-image{display:grid;grid-template-columns:1.18fr .82fr;min-height:720px}.closing-image>img{width:100%;height:100%;object-fit:cover}.closing-image>div{background:var(--aqua);padding:clamp(60px,8vw,130px) var(--gutter);display:flex;flex-direction:column;justify-content:center}.closing-image h2{margin-bottom:30px}.closing-image>div>p:last-child{font-size:18px}.story-contact{background:var(--navy);color:#fff;text-align:center;padding:clamp(100px,12vw,190px) var(--gutter)}.story-contact h2{font-size:clamp(62px,8vw,130px);margin-bottom:48px}.story-contact h2 em{color:var(--aqua)}.story-contact .button.light{margin:0 auto}
@media(max-width:980px){.story-hero{grid-template-columns:1fr}.story-hero-image{min-height:560px}.story-meta{grid-template-columns:1fr 1fr}.story-meta div:nth-child(2){border-right:0}.story-meta div:nth-child(n+3){border-top:1px solid #cdd4dc}.story-intro-grid,.challenge-grid,.results,.closing-image{grid-template-columns:1fr}.story-copy{margin-top:48px;max-width:700px}.impact-strip{min-height:420px}.impact-strip article{padding-left:30px;padding-right:30px}.challenge-copy{margin-top:55px}.film-heading{grid-template-columns:1fr}.film-heading>p{margin-top:28px}.journey{grid-template-columns:1fr 1fr}.journey li:nth-child(2){border-right:0}.journey li:nth-child(n+3){border-top:1px solid #b9c3cf}.results-number{padding-top:35px}.result-cards{grid-column:auto}.closing-image>img{height:620px}}
@media(max-width:780px){.story-hero{padding-top:30px}.back-link{margin-bottom:48px}.story-hero-image{min-height:460px;margin:0 calc(var(--gutter)*-1);border-radius:0}.story-hero-image figcaption{left:var(--gutter)}.story-meta{margin:0 calc(var(--gutter)*-1)}.story-meta div{padding-left:var(--gutter)!important}.story-meta div:nth-child(even){padding-left:20px!important}.impact-strip{grid-template-columns:1fr;min-height:0}.impact-strip article{min-height:280px;border-right:0;border-bottom:1px solid #ffffff4d}.editorial-image img{height:480px}.pull-quote blockquote,.quote-note{text-align:left}.film-player{min-height:610px;border-radius:0 44px 0 18px}.film-frame:after{background:linear-gradient(0deg,#081b30ed,#081b301a 85%)}.film-frame figcaption{left:28px;right:28px;bottom:65px}.film-toggle{right:20px;top:20px}.solution-lead,.solution-detail{grid-template-columns:1fr}.solution-detail>div{grid-template-columns:1fr;margin-top:28px}.solution-detail>div p+p{margin-top:22px}.journey{margin-top:55px}.journey li,.journey li+li{padding:28px 16px 24px}.journey li:before{left:16px}.result-cards{grid-template-columns:1fr}.result-cards article,.result-cards article+article{padding:28px 0;border-left:0;border-bottom:1px solid #15294359}.closing-image>img{height:480px}}
@media(max-width:480px){.story-meta{grid-template-columns:1fr}.story-meta div{border-right:0;border-top:1px solid #cdd4dc;padding-left:var(--gutter)!important}.story-meta div:first-child{border-top:0}.story-meta div:nth-child(even){padding-left:var(--gutter)!important}.story-intro h2,.challenge h2,.solution h2,.results h2,.closing-image h2,.story-film h2{font-size:42px}.story-copy{padding-left:22px}.journey{grid-template-columns:1fr}.journey li{border-right:0;border-top:1px solid #b9c3cf}.journey li:first-child{border-top:0}}
@media(prefers-reduced-motion:reduce){.film-frame{transition:none}.film-player.is-playing .film-progress span{animation:none;width:100%}}

/* Match the homepage and navigation frame, including wide desktop screens. */
.case-page { --story-inset: var(--gutter); }
.story-hero,
.story-pad,
.pull-quote,
.story-contact {
  padding-inline: var(--story-inset);
}
.story-hero { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.story-hero-copy,
.story-hero-image,
.story-intro-grid > *,
.challenge-grid > *,
.results > * { min-width: 0; }
/* Keep the statistics inside the same frame as the story and header. */
.impact-strip {
  margin-inline: var(--story-inset);
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, 1.2fr);
  min-height: 360px;
}
.impact-strip article { padding: clamp(28px, 3vw, 48px); }
.impact-strip strong { font-size: clamp(48px, 6.4vw, 104px); }
/* The closing photograph bleeds to the edge; its text ends on the page frame. */
.closing-image > div {
  padding-left: clamp(32px, 4vw, 64px);
  padding-right: var(--story-inset);
}
.story-contact > .eyebrow { margin-inline: auto; }
@media (min-width: 1700px) {
  .case-page { --story-inset: max(var(--gutter), calc((100vw - 1560px) / 2)); }
}
@media (max-width: 980px) {
  .story-hero { grid-template-columns: minmax(0, 1fr); }
  .closing-image > div { padding-inline: var(--story-inset); }
}
@media (max-width: 780px) {
  .case-page { --story-inset: 24px; }
  .story-hero-image {
    margin-inline: 0;
    border-radius: 0 var(--image-curve) 0 0;
  }
  .story-meta { margin-inline: 0; }
  .story-meta div,
  .story-meta div:nth-child(even) { padding-left: 0 !important; }
  .story-meta div:nth-child(even) { padding-left: 20px !important; }
  .impact-strip { grid-template-columns: minmax(0, 1fr); }
  .impact-strip article { min-height: 240px; padding: 32px 24px; }
  .impact-strip strong { font-size: clamp(58px, 12vw, 92px); }
}
@media (max-width: 480px) {
  .story-meta div:nth-child(even) { padding-left: 0 !important; }
}

/* One cropped W motif, following the brand's photographic treatment. */
.story-hero-image {
  min-height: 0;
  overflow: visible;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  padding-bottom: 32px;
}
.story-hero-photo {
  position: relative;
  overflow: hidden;
  flex: 1;
  min-height: 610px;
  border-radius: 0 var(--image-curve) 0 var(--image-curve-small);
}
.story-hero-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
}
.story-hero-image::after { content: none; }
.story-w-motif {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 32%;
  height: auto;
  stroke: #fff;
  stroke-width: 25;
  pointer-events: none;
}
.story-hero-image figcaption {
  position: static;
  margin-top: 16px;
  color: var(--navy);
  font-family: var(--body);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .015em;
}
.editorial-image > img {
  height: auto;
  aspect-ratio: 1.2;
  object-position: 50% center;
}
@media (max-width: 980px) {
  .story-hero-photo { min-height: 560px; }
}
@media (max-width: 780px) {
  .story-hero-image { border-radius: 0; }
  .story-hero-photo { min-height: 460px; }
}
