*,
*::before,*::after{box-sizing:border-box}
:root{--blue:#102F3D;--deep:#082736;--soft:#193D4C;--red:#7A263A;--red2:#933248;--ivory:#F8F6F1;--paper:#FFFDF8;--ink:#172A37;--muted:#596B75;--line:rgba(16,47,61,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'IBM Plex Sans Condensed',system-ui,sans-serif}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);font-family:var(--sans);color:var(--ink);line-height:1.62;overflow-x:hidden}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 72px),1200px);margin:0 auto}.progress{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:999;width:0}
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,246,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);transition:background .35s ease,box-shadow .35s ease}.site-header.scrolled{background:rgba(8,39,54,.96);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--deep)}.site-header.scrolled .brand{color:#fff}.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--ink)}.site-header.scrolled .site-nav a{color:rgba(255,255,255,.84)}.site-nav a:hover,.site-nav a.active{color:var(--red)}.nav-cta{background:var(--red);color:#fff!important;padding:11px 18px;border-radius:999px}.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;color:var(--ink)}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--red);margin-bottom:18px}.eyebrow.light{color:#F0E5DC}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.018em}h1{font-size:clamp(54px,6.4vw,90px);line-height:.98;color:#fff;max-width:850px}h2{font-size:clamp(36px,3.6vw,56px);line-height:1.06;color:var(--deep)}h3{font-size:23px;line-height:1.15;color:var(--ink);font-weight:600}p{font-size:15.8px;line-height:1.68;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.08em}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red2)}
.hero{position:relative;min-height:660px;background:var(--deep);overflow:hidden}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{background:url('../images/case-studies/hero.jpg') center/cover no-repeat;opacity:.50;filter:brightness(.96) saturate(.88);transform:scale(1.05)}.hero-overlay{background:linear-gradient(90deg,rgba(8,39,54,.96),rgba(8,39,54,.84) 48%,rgba(8,39,54,.42) 78%,rgba(8,39,54,.22))}.hero-inner{position:relative;z-index:2;max-width:980px;margin-left:auto;margin-right:auto;text-align:left;min-height:660px;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 88px}.hero-inner p{max-width:700px;color:rgba(255,255,255,.82);font-size:17px;margin:24px 0 32px}
.opening-section{background:var(--ivory);padding:92px 0 82px}.opening-grid{display:grid;grid-template-columns:.82fr 1fr;gap:78px;align-items:start;margin-bottom:50px}.opening-title h2{max-width:620px}.opening-body p{max-width:780px;margin-bottom:16px}.opening-image{position:relative}.opening-image img{width:100%;height:430px;object-fit:cover;box-shadow:0 18px 46px rgba(16,47,61,.12)}.opening-image aside{position:absolute;right:32px;bottom:28px;width:min(520px,calc(100% - 64px));background:rgba(255,253,248,.94);padding:24px 28px;box-shadow:0 18px 42px rgba(0,0,0,.14)}.opening-image aside span{display:block;width:58px;height:3px;background:var(--red);margin-bottom:14px}.opening-image aside p{font-family:var(--serif);font-size:clamp(23px,2.2vw,34px);line-height:1.14;color:var(--deep)}
.layers-section{background:var(--deep);color:#fff;padding:92px 0}.layers-grid{display:grid;grid-template-columns:.46fr 1fr;gap:78px;align-items:start}.layers-title{position:sticky;top:116px}.layers-title h2{color:#fff}.layers-title p{color:rgba(255,255,255,.72);margin-top:20px}.layer-accordion{border-top:1px solid rgba(255,255,255,.16)}details{border-bottom:1px solid rgba(255,255,255,.16)}summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:70px .45fr 1fr;gap:24px;align-items:baseline;padding:25px 0}summary::-webkit-details-marker{display:none}summary span{font-family:var(--serif);font-size:38px;color:#B5485E;line-height:1}summary strong{font-size:28px;color:#fff;font-weight:600}summary em{font-style:normal;color:#F0E5DC;font-size:16px}.detail-body{padding:0 0 28px 94px}.detail-body p{color:rgba(255,255,255,.74);max-width:760px;margin-bottom:10px}
.services-section{background:var(--ivory);padding:100px 0}.services-head{text-align:left;margin-bottom:46px}.services-head h2{margin-bottom:16px}.services-head p{max-width:680px}.services-showcase{display:grid;grid-template-columns:360px 1fr;gap:28px}.service-nav{display:grid;gap:10px;align-self:start;position:sticky;top:106px}.service-nav button{border:1px solid var(--line);background:var(--paper);padding:18px 18px;text-align:left;color:var(--deep);font-family:var(--sans);font-size:16px;font-weight:600;cursor:pointer;transition:.25s}.service-nav button span{font-family:var(--serif);color:var(--red);font-size:24px;margin-right:10px}.service-nav button.active,.service-nav button:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateX(4px)}.service-nav button.active span,.service-nav button:hover span{color:#fff}.service-display{min-height:590px}.service-panel{display:none;background:var(--paper);box-shadow:0 18px 48px rgba(16,47,61,.10);overflow:hidden}.service-panel.active{display:grid;grid-template-rows:330px 1fr}.service-image img{width:100%;height:100%;object-fit:cover}.service-copy{padding:38px 42px}.service-copy>span{display:inline-flex;background:var(--red);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;letter-spacing:.13em;font-weight:800;margin-bottom:18px}.service-copy h3{font-size:34px;color:var(--deep);margin-bottom:14px}.format-box{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.format-box h4{font-size:16px;color:var(--deep);margin-bottom:8px}.format-box p{font-size:15px}
.work-section{background:var(--blue);padding:96px 0;color:#fff}.work-head{text-align:center;margin-bottom:50px}.work-head h2{color:#fff;max-width:780px;margin:0 auto}.work-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}.work-flow:before{content:"";position:absolute;left:8%;right:8%;top:40px;height:1px;background:rgba(255,255,255,.18)}.work-step{position:relative;text-align:left;padding:0 16px}.work-step span{position:relative;z-index:2;width:78px;height:78px;border-radius:50%;background:var(--deep);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;color:#B5485E;margin-bottom:20px}.work-step h3{color:#fff;font-size:23px;margin-bottom:10px}.work-step p{color:rgba(255,255,255,.73);font-size:14.8px}
.final-cta{background:var(--deep);padding:86px 0 96px;color:#fff}.cta-inner{max-width:980px;margin:0 auto}.final-cta h2{color:#fff;margin-bottom:16px}.final-cta p{color:rgba(255,255,255,.80);max-width:840px;margin-bottom:30px}.site-footer{background:#061923;color:rgba(255,255,255,.46);padding:26px 0;border-top:1px solid rgba(255,255,255,.08)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px}.flow{opacity:0;transform:translateY(30px);transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1)}.flow.in{opacity:1;transform:none}
@media(max-width:1080px){.site-nav{display:none}.nav-toggle{display:block}.hero-inner{max-width:calc(100% - 72px)}.opening-grid,.layers-grid,.services-showcase{grid-template-columns:1fr}.layers-title,.service-nav{position:relative;top:auto}summary{grid-template-columns:60px 1fr;gap:14px}summary em{grid-column:2}.detail-body{padding-left:74px}.work-flow{grid-template-columns:1fr;gap:22px}.work-flow:before{display:none}.work-step{display:grid;grid-template-columns:84px 1fr;gap:0 22px;border-bottom:1px solid rgba(255,255,255,.14);padding:0 0 22px}.work-step p{grid-column:2}}
@media(max-width:720px){.container{width:min(calc(100% - 34px),1200px)}.hero,.hero-inner{min-height:620px}.hero-inner{max-width:calc(100% - 34px)}h1{font-size:clamp(42px,12vw,62px)}h2{font-size:clamp(32px,9vw,44px)}.opening-section,.layers-section,.services-section,.work-section{padding:72px 0}.opening-image img{height:320px}.opening-image aside{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}.detail-body{padding-left:0}.service-panel.active{grid-template-rows:260px 1fr}.service-copy{padding:28px 24px}.work-step{grid-template-columns:1fr}.work-step p{grid-column:1}.footer-inner{flex-direction:column;align-items:flex-start}}


/* ===== V7 refinements: hero buttons, interaction cues, left-aligned CTA ===== */

/* Hero buttons: match original fixed-width CTA style */
.hero-actions {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.button {
  min-width: 188px !important;
  height: 48px !important;
  padding: 0 22px !important;
  font-size: 11.5px !important;
}
.button.secondary {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.32) !important;
}
.button.secondary:hover {
  background: rgba(255,255,255,.18) !important;
}

/* Make accordion/tabs visually obvious as interactive */
.interaction-note,
.service-note {
  color: rgba(255,255,255,.62);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  font-weight: 700;
}
.service-note {
  grid-column: 1 / -1;
  color: var(--red);
  margin-bottom: -8px;
}
.layer-accordion details summary {
  position: relative !important;
  padding-right: 44px !important;
}
.layer-accordion details summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--sans);
  font-size: 20px;
  line-height: 1;
}
.layer-accordion details[open] summary::after {
  content: "-";
  background: var(--red);
  border-color: var(--red);
}
.layer-accordion details summary:hover strong,
.layer-accordion details summary:hover em {
  color: #fff !important;
}
.layer-accordion details summary:hover span {
  color: #fff !important;
}

/* Service module buttons: clearer affordance */
.service-nav button {
  position: relative !important;
  padding-right: 38px !important;
}
.service-nav button::after {
  content: "→";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .55;
}
.service-nav button.active::after,
.service-nav button:hover::after {
  opacity: 1;
}

/* CTA should align with main page content, not float centered */
.final-cta .cta-inner {
  max-width: 980px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.final-cta .container.cta-inner {
  width: min(calc(100% - 72px), 1200px) !important;
}

/* Maintain the same button size in CTA */
.final-cta .button {
  min-width: 188px !important;
}

/* Mobile: make interaction cues plain and visible */
@media(max-width:1080px){
  .service-note {
    margin-bottom: 4px !important;
  }
  .service-nav {
    position: relative !important;
    top: auto !important;
  }
  .final-cta .container.cta-inner {
    width: min(calc(100% - 72px), 1200px) !important;
  }
}
@media(max-width:720px){
  .button {
    width: 100% !important;
    min-width: 0 !important;
  }
  .hero-actions {
    width: 100% !important;
  }
  .interaction-note,
  .service-note {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .layer-accordion details summary {
    padding-right: 38px !important;
  }
  .final-cta .container.cta-inner {
    width: min(calc(100% - 34px), 1200px) !important;
  }
}


/* ===== V8 layout correction: align hero/CTA with main grid and fix Five Layers overlap ===== */

/* Hero: use the same page container alignment as the rest of the site */
.hero-inner {
  max-width: none !important;
  width: min(calc(100% - 72px), 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  align-items: flex-start !important;
}
.hero-inner h1,
.hero-inner p,
.hero-actions {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.hero-inner p {
  max-width: 780px !important;
}

/* Five Layers: no side-by-side overlap; make it a clean stacked section */
.layers-grid {
  display: block !important;
}
.layers-title {
  position: relative !important;
  top: auto !important;
  max-width: 960px !important;
  margin-bottom: 34px !important;
}
.layers-title h2 {
  max-width: 920px !important;
  font-size: clamp(40px, 4.2vw, 64px) !important;
  line-height: 1.02 !important;
}
.layers-title p {
  max-width: 760px !important;
  margin-top: 18px !important;
}
.interaction-note {
  margin-bottom: 18px !important;
}
.layer-accordion {
  max-width: 980px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.layer-accordion details summary {
  grid-template-columns: 72px minmax(260px, .48fr) minmax(360px, 1fr) !important;
  column-gap: 26px !important;
}
.layer-accordion details summary strong {
  font-size: 26px !important;
  line-height: 1.15 !important;
}
.layer-accordion details summary em {
  font-size: 15.5px !important;
  line-height: 1.45 !important;
}
.detail-body {
  padding-left: 98px !important;
}
.detail-body p {
  max-width: 760px !important;
}

/* CTA: align to the same left edge as all main containers */
.final-cta .container.cta-inner,
.final-cta .cta-inner {
  width: min(calc(100% - 72px), 1200px) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.final-cta h2,
.final-cta p,
.final-cta .button {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.final-cta p {
  max-width: 840px !important;
}

/* Guard against horizontal overflow from long nav on smaller widths */
body {
  overflow-x: hidden !important;
}

/* Tablet/mobile: keep the Five Layers readable and clearly tappable */
@media(max-width:1080px){
  .hero-inner,
  .final-cta .container.cta-inner,
  .final-cta .cta-inner {
    width: min(calc(100% - 72px), 1200px) !important;
  }
  .layers-title h2 {
    font-size: clamp(36px, 7vw, 52px) !important;
  }
  .layer-accordion {
    max-width: 100% !important;
  }
  .layer-accordion details summary {
    grid-template-columns: 60px 1fr !important;
    gap: 10px 18px !important;
    align-items: start !important;
  }
  .layer-accordion details summary em {
    grid-column: 2 !important;
  }
  .detail-body {
    padding-left: 78px !important;
  }
}

@media(max-width:720px){
  .hero-inner,
  .final-cta .container.cta-inner,
  .final-cta .cta-inner {
    width: min(calc(100% - 34px), 1200px) !important;
  }
  .layers-title h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .layer-accordion details summary {
    grid-template-columns: 1fr !important;
    padding-right: 42px !important;
  }
  .layer-accordion details summary span {
    font-size: 32px !important;
  }
  .layer-accordion details summary em {
    grid-column: 1 !important;
  }
  .detail-body {
    padding-left: 0 !important;
  }
}


/* ===== V10: stable Five Layers layout, no hidden/stacked text; all content visible ===== */

/* Hero overlay narrowed and softened */
.hero-bg {
  opacity: .62 !important;
  filter: brightness(1.03) saturate(.88) !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(8,39,54,.96) 0%,
      rgba(8,39,54,.88) 28%,
      rgba(8,39,54,.58) 43%,
      rgba(8,39,54,.23) 62%,
      rgba(8,39,54,.06) 100%
    ) !important;
}
.hero {
  min-height: 635px !important;
}
.hero-inner {
  min-height: 635px !important;
  padding-top: 108px !important;
  padding-bottom: 76px !important;
}

/* Replace previous accordion/tab behavior */
.layer-accordion,
.interaction-note,
.layers-grid,
.layers-title,
.layers-panel-v9,
.layer-tabs,
.layer-stage {
  display: none !important;
}

.layers-section {
  background: #082736 !important;
  color: #fff !important;
  padding: 96px 0 108px !important;
  position: relative !important;
  overflow: hidden !important;
}
.layers-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 4%, rgba(122,38,58,.22), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 45%) !important;
  pointer-events: none !important;
}
.layers-v10 {
  position: relative !important;
  z-index: 1 !important;
}
.layers-head-v10 {
  max-width: 980px !important;
  margin-bottom: 52px !important;
}
.layers-head-v10 h2 {
  color: #fff !important;
  max-width: 920px !important;
  font-size: clamp(40px, 4.2vw, 64px) !important;
  line-height: 1.02 !important;
  margin-bottom: 20px !important;
}
.layers-head-v10 p {
  color: rgba(255,255,255,.72) !important;
  max-width: 760px !important;
  font-size: 16px !important;
}

/* Track/cards */
.layers-track-v10 {
  position: relative !important;
  display: grid !important;
  gap: 18px !important;
  max-width: 1080px !important;
}
.layers-track-v10::before {
  content: "" !important;
  position: absolute !important;
  left: 48px !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 1px !important;
  background: linear-gradient(180deg, #7A263A, rgba(255,255,255,.10)) !important;
}
.layer-card-v10 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 98px 1fr !important;
  gap: 30px !important;
  padding: 28px 34px 28px 0 !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  background: linear-gradient(90deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important;
  transition: transform .28s ease, background .28s ease, border-color .28s ease !important;
}
.layer-card-v10:last-child {
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
}
.layer-card-v10:hover {
  transform: translateX(6px) !important;
  background: linear-gradient(90deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  border-color: rgba(255,255,255,.24) !important;
}
.layer-number-v10 {
  position: relative !important;
  z-index: 2 !important;
  width: 96px !important;
  display: flex !important;
  justify-content: center !important;
  font-family: var(--serif) !important;
  color: #B5485E !important;
  font-size: 46px !important;
  line-height: 1 !important;
}
.layer-number-v10::after {
  content: "" !important;
  position: absolute !important;
  top: 12px !important;
  left: 42px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #7A263A !important;
  box-shadow: 0 0 0 8px rgba(122,38,58,.18) !important;
}
.layer-content-v10 {
  display: grid !important;
  grid-template-columns: minmax(240px,.44fr) minmax(360px,1fr) !important;
  gap: 34px !important;
  align-items: start !important;
}
.layer-content-v10 h3 {
  color: #fff !important;
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.12 !important;
  margin-bottom: 0 !important;
}
.layer-content-v10 .caption {
  color: #F0E5DC !important;
  font-size: 16px !important;
  line-height: 1.42 !important;
  margin: 4px 0 12px !important;
}
.layer-content-v10 p {
  color: rgba(255,255,255,.74) !important;
  font-size: 15.5px !important;
  line-height: 1.62 !important;
  max-width: 720px !important;
  margin-bottom: 10px !important;
}
.layer-content-v10 h3 + .caption,
.layer-content-v10 h3 + .caption + p,
.layer-content-v10 h3 + .caption + p + p {
  grid-column: 2 !important;
}
.layer-content-v10 h3 {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
}

/* CTA stays aligned to content grid */
.final-cta .container.cta-inner,
.final-cta .cta-inner {
  width: min(calc(100% - 72px), 1200px) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.final-cta h2,
.final-cta p,
.final-cta .button {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Responsive */
@media(max-width:1080px){
  .hero-overlay {
    background: linear-gradient(90deg, rgba(8,39,54,.95), rgba(8,39,54,.72) 54%, rgba(8,39,54,.18) 100%) !important;
  }
  .layer-content-v10 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .layer-content-v10 h3,
  .layer-content-v10 h3 + .caption,
  .layer-content-v10 h3 + .caption + p,
  .layer-content-v10 h3 + .caption + p + p {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
@media(max-width:720px){
  .hero {
    min-height: 610px !important;
  }
  .hero-inner {
    min-height: 610px !important;
  }
  .layers-section {
    padding: 74px 0 84px !important;
  }
  .layers-head-v10 h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .layers-track-v10::before {
    left: 26px !important;
  }
  .layer-card-v10 {
    grid-template-columns: 52px 1fr !important;
    gap: 18px !important;
    padding: 24px 18px 24px 0 !important;
  }
  .layer-number-v10 {
    width: 52px !important;
    font-size: 32px !important;
  }
  .layer-number-v10::after {
    left: 20px !important;
    top: 42px !important;
    width: 9px !important;
    height: 9px !important;
  }
  .layer-content-v10 h3 {
    font-size: 25px !important;
  }
  .final-cta .container.cta-inner,
  .final-cta .cta-inner {
    width: min(calc(100% - 34px), 1200px) !important;
  }
}


/* ===== V11: Five Layers redesigned as premium story stack ===== */

/* Hide any previous Five Layers implementations that may remain */
.layers-grid,
.layers-title,
.layer-accordion,
.interaction-note,
.layers-v10,
.layers-head-v10,
.layers-track-v10,
.layers-panel-v9,
.layer-tabs,
.layer-stage {
  display: none !important;
}

/* Section base */
.layers-section {
  background: #082736 !important;
  color: #fff !important;
  padding: 98px 0 108px !important;
  position: relative !important;
  overflow: hidden !important;
}
.layers-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 10% 2%, rgba(122,38,58,.20), transparent 27%),
    radial-gradient(circle at 86% 28%, rgba(255,255,255,.04), transparent 30%) !important;
  pointer-events: none !important;
}
.layers-v11 {
  position: relative !important;
  z-index: 1 !important;
}

/* Head */
.layers-head-v11 {
  max-width: 980px !important;
  margin-bottom: 46px !important;
}
.layers-head-v11 h2 {
  color: #fff !important;
  max-width: 900px !important;
  font-size: clamp(40px, 4.2vw, 62px) !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
}
.layers-head-v11 p {
  color: rgba(255,255,255,.72) !important;
  max-width: 740px !important;
  font-size: 16.5px !important;
}

/* Story stack */
.layer-stack-v11 {
  display: grid !important;
  gap: 18px !important;
  max-width: 1120px !important;
}
.layer-story-card {
  background: #FFFDF8 !important;
  color: #102F3D !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.18) !important;
  padding: clamp(26px, 3vw, 40px) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .32s ease, box-shadow .32s ease !important;
}
.layer-story-card::after {
  content: "" !important;
  position: absolute !important;
  right: -120px !important;
  top: -160px !important;
  width: 360px !important;
  height: 360px !important;
  border-radius: 50% !important;
  background: rgba(122,38,58,.045) !important;
  pointer-events: none !important;
}
.layer-story-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.23) !important;
}

/* Slightly stagger cards without becoming messy */
.layer-story-card:nth-child(2),
.layer-story-card:nth-child(4) {
  margin-left: min(5vw, 56px) !important;
}
.layer-story-card:nth-child(3),
.layer-story-card:nth-child(5) {
  margin-right: min(5vw, 56px) !important;
}

/* Card content */
.layer-topline {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}
.layer-topline span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #7A263A !important;
  color: #fff !important;
  font-family: var(--serif) !important;
  font-size: 25px !important;
  line-height: 1 !important;
}
.layer-topline small {
  color: #7A263A !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.layer-story-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, .42fr) minmax(420px, 1fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
  align-items: start !important;
}
.layer-story-title h3 {
  color: #102F3D !important;
  font-size: clamp(32px, 3.3vw, 48px) !important;
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  line-height: 1.02 !important;
  margin-bottom: 14px !important;
}
.layer-story-title .caption {
  color: rgba(16,47,61,.70) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
.layer-story-body p {
  color: #596B75 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  max-width: 720px !important;
  margin-bottom: 10px !important;
}

/* Hero remains lighter/narrower */
.hero-bg {
  opacity: .62 !important;
  filter: brightness(1.03) saturate(.88) !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(8,39,54,.96) 0%,
      rgba(8,39,54,.88) 27%,
      rgba(8,39,54,.55) 42%,
      rgba(8,39,54,.20) 62%,
      rgba(8,39,54,.05) 100%
    ) !important;
}

/* Responsive */
@media(max-width:1080px){
  .layer-story-card:nth-child(2),
  .layer-story-card:nth-child(4),
  .layer-story-card:nth-child(3),
  .layer-story-card:nth-child(5) {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .layer-story-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}
@media(max-width:720px){
  .layers-section {
    padding: 74px 0 84px !important;
  }
  .layers-head-v11 h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .layer-story-card {
    padding: 26px 22px !important;
  }
  .layer-topline span {
    width: 44px !important;
    height: 44px !important;
    font-size: 21px !important;
  }
  .layer-story-title h3 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}


/* ===== V12: Five Layers premium editorial board + How We Work alignment ===== */

/* Hide previous Five Layers experiments */
.layers-grid,
.layers-title,
.layer-accordion,
.interaction-note,
.layers-v10,
.layers-head-v10,
.layers-track-v10,
.layers-panel-v9,
.layer-tabs,
.layer-stage,
.layers-v11,
.layers-head-v11,
.layer-stack-v11 {
  display: none !important;
}

/* Five Layers section */
.layers-section {
  background: #082736 !important;
  color: #fff !important;
  padding: 96px 0 108px !important;
  position: relative !important;
  overflow: hidden !important;
}
.layers-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(122,38,58,.20), transparent 30%),
    radial-gradient(circle at 92% 24%, rgba(255,255,255,.045), transparent 30%) !important;
  pointer-events: none !important;
}
.layers-v12 {
  position: relative !important;
  z-index: 1 !important;
}
.layers-head-v12 {
  max-width: 980px !important;
  margin-bottom: 42px !important;
}
.layers-head-v12 h2 {
  color: #fff !important;
  max-width: 900px !important;
  font-size: clamp(40px, 4.2vw, 62px) !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
}
.layers-head-v12 p {
  color: rgba(255,255,255,.72) !important;
  max-width: 740px !important;
  font-size: 16.5px !important;
}

/* Ivory board */
.layers-board-v12 {
  background: #FFFDF8 !important;
  color: #102F3D !important;
  padding: clamp(28px, 4vw, 48px) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.24) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  position: relative !important;
}
.board-label-v12 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #7A263A !important;
  font-size: 12px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 26px !important;
}
.board-label-v12::before {
  content: "" !important;
  display: inline-block !important;
  width: 58px !important;
  height: 2px !important;
  background: #7A263A !important;
}

/* Rows */
.layer-row-v12 {
  display: grid !important;
  grid-template-columns: 88px minmax(260px, .42fr) minmax(420px, 1fr) !important;
  gap: clamp(24px, 3vw, 42px) !important;
  align-items: start !important;
  padding: 26px 0 !important;
  border-top: 1px solid rgba(16,47,61,.14) !important;
  transition: background .25s ease, transform .25s ease !important;
}
.layer-row-v12:first-of-type {
  border-top: 1px solid rgba(122,38,58,.30) !important;
}
.layer-row-v12:hover {
  background: rgba(16,47,61,.035) !important;
  transform: translateX(4px) !important;
}
.layer-number-v12 {
  font-family: var(--serif) !important;
  font-size: 48px !important;
  line-height: .95 !important;
  color: #7A263A !important;
}
.layer-title-v12 h3 {
  font-family: var(--serif) !important;
  font-size: clamp(30px, 2.8vw, 44px) !important;
  line-height: 1.02 !important;
  color: #102F3D !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.layer-title-v12 .caption {
  font-size: 16.5px !important;
  line-height: 1.45 !important;
  color: rgba(16,47,61,.68) !important;
  margin: 0 !important;
}
.layer-body-v12 p {
  color: #596B75 !important;
  font-size: 16px !important;
  line-height: 1.66 !important;
  max-width: 720px !important;
  margin-bottom: 10px !important;
}

/* How We Work: align section title to the main content left edge */
.work-head {
  text-align: left !important;
  margin-bottom: 50px !important;
}
.work-head h2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 900px !important;
}
.work-flow {
  justify-items: stretch !important;
}
.work-step span {
  color: #B5485E !important;
}

/* Responsive */
@media(max-width:1080px){
  .layer-row-v12 {
    grid-template-columns: 70px 1fr !important;
    gap: 18px 24px !important;
  }
  .layer-body-v12 {
    grid-column: 2 !important;
  }
}
@media(max-width:720px){
  .layers-section {
    padding: 74px 0 84px !important;
  }
  .layers-head-v12 h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .layers-board-v12 {
    padding: 26px 20px !important;
  }
  .board-label-v12 {
    line-height: 1.4 !important;
  }
  .layer-row-v12 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 24px 0 !important;
  }
  .layer-number-v12 {
    font-size: 38px !important;
  }
  .layer-body-v12 {
    grid-column: 1 !important;
  }
  .layer-title-v12 h3 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}


/* ===== V13: remove "document numbering" feel; Five Layers becomes a visual journey ===== */

/* Hide all previous Five Layers experiments */
.layers-grid,
.layers-title,
.layer-accordion,
.interaction-note,
.layers-v10,
.layers-head-v10,
.layers-track-v10,
.layers-panel-v9,
.layer-tabs,
.layer-stage,
.layers-v11,
.layers-head-v11,
.layer-stack-v11,
.layers-v12,
.layers-head-v12,
.layers-board-v12 {
  display: none !important;
}

/* Five Layers / Journey section */
.layers-section {
  background: #082736 !important;
  color: #fff !important;
  padding: 100px 0 110px !important;
  position: relative !important;
  overflow: hidden !important;
}
.layers-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(122,38,58,.20), transparent 28%),
    radial-gradient(circle at 78% 16%, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 48%) !important;
  pointer-events: none !important;
}
.layers-v13 {
  position: relative !important;
  z-index: 1 !important;
}
.layers-intro-v13 {
  max-width: 980px !important;
  margin-bottom: 50px !important;
}
.layers-intro-v13 h2 {
  color: #fff !important;
  max-width: 900px !important;
  font-size: clamp(40px, 4.3vw, 66px) !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
}
.layers-intro-v13 p {
  color: rgba(255,255,255,.72) !important;
  max-width: 760px !important;
  font-size: 16.5px !important;
}

/* Main canvas: more storytelling, less report-like */
.journey-canvas-v13 {
  display: grid !important;
  grid-template-columns: minmax(300px, .44fr) minmax(620px, 1fr) !important;
  gap: 34px !important;
  align-items: stretch !important;
}
.journey-left-v13 {
  position: sticky !important;
  top: 110px !important;
  align-self: start !important;
  min-height: 520px !important;
  background:
    linear-gradient(155deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    radial-gradient(circle at 20% 20%, rgba(122,38,58,.18), transparent 35%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  padding: 34px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  overflow: hidden !important;
}
.journey-left-v13::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  bottom: -90px !important;
  width: 260px !important;
  height: 260px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 50% !important;
}
.journey-kicker-v13 {
  color: #F0E5DC !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.journey-line-v13 {
  position: relative !important;
  display: grid !important;
  gap: 18px !important;
  margin: 42px 0 !important;
  padding-left: 26px !important;
}
.journey-line-v13::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 10px !important;
  bottom: 10px !important;
  width: 1px !important;
  background: linear-gradient(180deg, #7A263A, rgba(255,255,255,.12)) !important;
}
.journey-line-v13 span {
  position: relative !important;
  color: #fff !important;
  font-family: var(--serif) !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  line-height: 1 !important;
}
.journey-line-v13 span::before {
  content: "" !important;
  position: absolute !important;
  left: -25px !important;
  top: .35em !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #7A263A !important;
  box-shadow: 0 0 0 7px rgba(122,38,58,.16) !important;
}
.journey-left-v13 p {
  color: rgba(255,255,255,.70) !important;
  font-size: 15.8px !important;
  line-height: 1.62 !important;
}

/* Story cards: all text visible, organic stacking */
.journey-stories-v13 {
  display: grid !important;
  gap: 18px !important;
}
.journey-card-v13 {
  background: #FFFDF8 !important;
  color: #102F3D !important;
  padding: clamp(26px, 3vw, 38px) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.18) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.journey-card-v13::after {
  content: "" !important;
  position: absolute !important;
  right: -64px !important;
  top: -64px !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  background: rgba(122,38,58,.055) !important;
}
.journey-card-v13:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.22) !important;
}
.journey-card-v13:nth-child(even) {
  margin-left: min(4vw, 44px) !important;
}
.story-tag-v13 {
  display: inline-flex !important;
  align-items: center !important;
  background: #7A263A !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 7px 12px !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 20px !important;
}
.journey-card-v13 h3 {
  color: #102F3D !important;
  font-family: var(--serif) !important;
  font-size: clamp(32px, 3.2vw, 48px) !important;
  line-height: 1.02 !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.journey-card-v13 .caption {
  color: rgba(16,47,61,.68) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin-bottom: 18px !important;
}
.journey-card-v13 p {
  color: #596B75 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  max-width: 760px !important;
  margin-bottom: 10px !important;
}

/* What This May Include: reduce numbered-document feel */
.service-nav button span {
  display: inline-flex !important;
  min-width: auto !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #7A263A !important;
  background: rgba(122,38,58,.09) !important;
  border-radius: 999px !important;
  padding: 5px 9px !important;
  margin-right: 8px !important;
}
.service-nav button.active span,
.service-nav button:hover span {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.service-copy > span {
  width: auto !important;
  height: auto !important;
  border-radius: 999px !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 7px 11px !important;
}

/* How We Work alignment */
.work-head {
  text-align: left !important;
}
.work-head h2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Responsive */
@media(max-width:1080px){
  .journey-canvas-v13 {
    grid-template-columns: 1fr !important;
  }
  .journey-left-v13 {
    position: relative !important;
    top: auto !important;
    min-height: auto !important;
  }
  .journey-line-v13 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-left: 0 !important;
  }
  .journey-line-v13::before {
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    bottom: auto !important;
    width: auto !important;
    height: 1px !important;
  }
  .journey-line-v13 span {
    font-size: 22px !important;
    background: #082736 !important;
    padding-right: 6px !important;
  }
  .journey-line-v13 span::before {
    display: none !important;
  }
  .journey-card-v13:nth-child(even) {
    margin-left: 0 !important;
  }
}
@media(max-width:720px){
  .layers-section {
    padding: 74px 0 84px !important;
  }
  .layers-intro-v13 h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .journey-left-v13 {
    padding: 26px 22px !important;
  }
  .journey-line-v13 {
    grid-template-columns: 1fr !important;
    margin: 30px 0 !important;
  }
  .journey-line-v13::before {
    display: none !important;
  }
  .journey-line-v13 span {
    font-size: 30px !important;
  }
  .journey-card-v13 {
    padding: 26px 22px !important;
  }
  .journey-card-v13 h3 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}


/* ===== V14: Five Layers rebuilt as image-led storytelling mosaic ===== */

/* Hide previous layer experiments */
.layers-grid,
.layers-title,
.layer-accordion,
.interaction-note,
.layers-v10,
.layers-head-v10,
.layers-track-v10,
.layers-panel-v9,
.layer-tabs,
.layer-stage,
.layers-v11,
.layers-head-v11,
.layer-stack-v11,
.layers-v12,
.layers-head-v12,
.layers-board-v12,
.layers-v13,
.layers-intro-v13,
.journey-canvas-v13 {
  display: none !important;
}

.layers-section {
  background: #082736 !important;
  color: #fff !important;
  padding: 98px 0 112px !important;
  position: relative !important;
  overflow: hidden !important;
}
.layers-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(122,38,58,.20), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.055), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 45%) !important;
  pointer-events: none !important;
}
.behind-v14 {
  position: relative !important;
  z-index: 1 !important;
}
.behind-head-v14 {
  max-width: 980px !important;
  margin-bottom: 50px !important;
}
.behind-head-v14 h2 {
  color: #fff !important;
  max-width: 900px !important;
  font-size: clamp(40px, 4.4vw, 66px) !important;
  line-height: 1.02 !important;
  margin-bottom: 18px !important;
}
.behind-head-v14 p {
  color: rgba(255,255,255,.72) !important;
  max-width: 760px !important;
  font-size: 16.5px !important;
}

/* Mosaic chapter layout */
.chapter-grid-v14 {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.chapter-card-v14 {
  grid-column: span 6 !important;
  background: #FFFDF8 !important;
  color: #102F3D !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
  position: relative !important;
  min-height: 390px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .32s ease, box-shadow .32s ease !important;
}
.chapter-card-v14:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 28px 68px rgba(0,0,0,.27) !important;
}
.chapter-card-v14.feature {
  grid-column: span 12 !important;
  display: grid !important;
  grid-template-columns: .48fr 1fr !important;
  min-height: 430px !important;
}
.chapter-card-v14.wide {
  grid-column: span 12 !important;
  display: grid !important;
  grid-template-columns: .42fr 1fr !important;
  min-height: 360px !important;
  background: #102F3D !important;
  color: #fff !important;
}
.chapter-card-v14.image-backed {
  background: #102F3D !important;
  color: #fff !important;
}
.chapter-card-v14::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  top: -90px !important;
  width: 230px !important;
  height: 230px !important;
  border-radius: 50% !important;
  background: rgba(122,38,58,.055) !important;
  pointer-events: none !important;
}
.chapter-image-v14 {
  min-height: 240px !important;
  overflow: hidden !important;
}
.chapter-card-v14.feature .chapter-image-v14,
.chapter-card-v14.wide .chapter-image-v14 {
  min-height: 100% !important;
}
.chapter-image-v14 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(.9) contrast(.98) !important;
  transition: transform .55s ease !important;
}
.chapter-card-v14:hover .chapter-image-v14 img {
  transform: scale(1.035) !important;
}
.chapter-copy-v14 {
  position: relative !important;
  z-index: 1 !important;
  padding: clamp(28px, 3.5vw, 46px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.chapter-copy-v14 span {
  display: inline-flex !important;
  align-self: flex-start !important;
  background: #7A263A !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 7px 12px !important;
  font-size: 11px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 20px !important;
}
.chapter-copy-v14 h3 {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  color: #102F3D !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  line-height: 1.02 !important;
  margin-bottom: 13px !important;
}
.chapter-copy-v14 .caption {
  color: rgba(16,47,61,.70) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin-bottom: 18px !important;
}
.chapter-copy-v14 p {
  color: #596B75 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  max-width: 760px !important;
  margin-bottom: 10px !important;
}
.chapter-card-v14.image-backed .chapter-copy-v14 h3,
.chapter-card-v14.image-backed .chapter-copy-v14 p,
.chapter-card-v14.wide .chapter-copy-v14 h3,
.chapter-card-v14.wide .chapter-copy-v14 p {
  color: #fff !important;
}
.chapter-card-v14.image-backed .chapter-copy-v14 .caption,
.chapter-card-v14.wide .chapter-copy-v14 .caption {
  color: #F0E5DC !important;
}
.chapter-card-v14.image-backed .chapter-copy-v14 {
  background: linear-gradient(180deg, rgba(8,39,54,.54), rgba(8,39,54,.92)) !important;
}

/* How We Work alignment */
.work-head {
  text-align: left !important;
}
.work-head h2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.work-step span {
  color: #B5485E !important;
}

/* Responsive */
@media(max-width:1080px){
  .chapter-card-v14,
  .chapter-card-v14.feature,
  .chapter-card-v14.wide {
    grid-column: span 12 !important;
    display: block !important;
  }
  .chapter-card-v14.feature .chapter-image-v14,
  .chapter-card-v14.wide .chapter-image-v14 {
    min-height: 320px !important;
  }
}
@media(max-width:720px){
  .layers-section {
    padding: 74px 0 84px !important;
  }
  .behind-head-v14 h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
  .chapter-grid-v14 {
    gap: 18px !important;
  }
  .chapter-card-v14 {
    min-height: auto !important;
  }
  .chapter-image-v14,
  .chapter-card-v14.feature .chapter-image-v14,
  .chapter-card-v14.wide .chapter-image-v14 {
    min-height: 260px !important;
  }
  .chapter-copy-v14 {
    padding: 28px 22px !important;
  }
  .chapter-copy-v14 h3 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}


/* ===== V15: compact logical flow; services remain the main focus ===== */

/* Hide earlier layer experiments */
.behind-v14,
.layers-grid,
.layers-title,
.layer-accordion,
.interaction-note,
.layers-v10,
.layers-head-v10,
.layers-track-v10,
.layers-panel-v9,
.layer-tabs,
.layer-stage,
.layers-v11,
.layers-head-v11,
.layer-stack-v11,
.layers-v12,
.layers-head-v12,
.layers-board-v12,
.layers-v13,
.layers-intro-v13,
.journey-canvas-v13 {
  display: none !important;
}

.compact-layers {
  background: #082736 !important;
  color: #fff !important;
  padding: 72px 0 78px !important;
  position: relative !important;
  overflow: hidden !important;
}
.compact-layers::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(122,38,58,.18), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 45%) !important;
  pointer-events: none !important;
}
.compact-layers-inner {
  position: relative !important;
  z-index: 1 !important;
}
.compact-layers-head {
  display: grid !important;
  grid-template-columns: .42fr 1fr !important;
  gap: 60px !important;
  align-items: end !important;
  margin-bottom: 34px !important;
}
.compact-layers-head .eyebrow {
  grid-column: 1 / -1 !important;
  margin-bottom: -36px !important;
}
.compact-layers-head h2 {
  color: #fff !important;
  font-size: clamp(38px, 3.6vw, 54px) !important;
  line-height: 1.04 !important;
}
.compact-layers-head p {
  color: rgba(255,255,255,.72) !important;
  max-width: 720px !important;
  font-size: 16px !important;
}

/* Connected logic flow */
.logic-flow-v15 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0 !important;
  position: relative !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
}
.logic-flow-v15::before {
  content: "" !important;
  position: absolute !important;
  left: 7% !important;
  right: 7% !important;
  top: 52px !important;
  height: 1px !important;
  background: linear-gradient(90deg, #7A263A, rgba(255,255,255,.18)) !important;
}
.logic-step-v15 {
  position: relative !important;
  padding: 30px 22px 26px !important;
  min-height: 210px !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
}
.logic-step-v15:last-child {
  border-right: 0 !important;
}
.logic-step-v15::before {
  content: "" !important;
  position: absolute !important;
  top: 46px !important;
  left: 22px !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #7A263A !important;
  box-shadow: 0 0 0 7px rgba(122,38,58,.16) !important;
}
.logic-step-v15 span {
  display: inline-flex !important;
  margin-bottom: 54px !important;
  color: #F0E5DC !important;
  font-size: 11px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.logic-step-v15 h3 {
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1.12 !important;
  margin-bottom: 10px !important;
}
.logic-step-v15 p {
  color: rgba(255,255,255,.68) !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}

/* Details available, but secondary */
.logic-details-v15 {
  margin-top: 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
}
.logic-details-v15 summary {
  cursor: pointer !important;
  list-style: none !important;
  color: #F0E5DC !important;
  padding: 17px 20px !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  position: relative !important;
}
.logic-details-v15 summary::-webkit-details-marker {
  display: none !important;
}
.logic-details-v15 summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #fff !important;
}
.logic-details-v15[open] summary::after {
  content: "-" !important;
}
.logic-detail-grid-v15 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 18px !important;
  padding: 0 20px 22px !important;
}
.logic-detail-grid-v15 h4 {
  color: #fff !important;
  font-size: 18px !important;
  margin-bottom: 8px !important;
}
.logic-detail-grid-v15 p {
  color: rgba(255,255,255,.68) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
}

/* Make the main services section visually heavier / more important */
.services-section {
  padding-top: 112px !important;
}
.services-head h2 {
  font-size: clamp(42px, 4.2vw, 64px) !important;
}
.services-showcase {
  margin-top: 12px !important;
}

/* How We Work alignment */
.work-head {
  text-align: left !important;
}
.work-head h2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.work-step span {
  color: #B5485E !important;
}

/* Responsive */
@media(max-width:1080px){
  .compact-layers-head {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .compact-layers-head .eyebrow {
    grid-column: auto !important;
    margin-bottom: 0 !important;
  }
  .logic-flow-v15 {
    grid-template-columns: 1fr !important;
  }
  .logic-flow-v15::before {
    left: 28px !important;
    right: auto !important;
    top: 34px !important;
    bottom: 34px !important;
    width: 1px !important;
    height: auto !important;
  }
  .logic-step-v15 {
    min-height: auto !important;
    padding: 24px 24px 22px 62px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  .logic-step-v15:last-child {
    border-bottom: 0 !important;
  }
  .logic-step-v15::before {
    left: 22px !important;
    top: 31px !important;
  }
  .logic-step-v15 span {
    margin-bottom: 8px !important;
  }
  .logic-detail-grid-v15 {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width:720px){
  .compact-layers {
    padding: 62px 0 66px !important;
  }
  .compact-layers-head h2 {
    font-size: clamp(32px, 10vw, 42px) !important;
  }
  .logic-step-v15 {
    padding-left: 54px !important;
  }
}


/* ===== V16: polished Program Logic section; same logic, better visual rhythm ===== */

/* Hide V15 logic implementation */
.compact-layers-head,
.logic-flow-v15,
.logic-details-v15,
.logic-detail-grid-v15 {
  display: none !important;
}

.compact-layers {
  background: #082736 !important;
  color: #fff !important;
  padding: 70px 0 74px !important;
  position: relative !important;
  overflow: hidden !important;
}
.compact-layers::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(122,38,58,.18), transparent 25%),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.045), transparent 32%) !important;
  pointer-events: none !important;
}
.program-logic-v16 {
  position: relative !important;
  z-index: 1 !important;
}

/* Header: clean two-column editorial alignment */
.logic-head-v16 {
  display: grid !important;
  grid-template-columns: minmax(330px,.42fr) minmax(520px,1fr) !important;
  gap: 72px !important;
  align-items: end !important;
  margin-bottom: 42px !important;
}
.logic-head-v16 .eyebrow {
  margin-bottom: 16px !important;
}
.logic-head-v16 h2 {
  color: #fff !important;
  font-size: clamp(40px, 4vw, 58px) !important;
  line-height: 1.02 !important;
  max-width: 460px !important;
}
.logic-head-v16 p {
  color: rgba(255,255,255,.72) !important;
  font-size: 16.5px !important;
  line-height: 1.66 !important;
  max-width: 760px !important;
}

/* Flow: elevated cards, not boxed columns */
.logic-path-v16 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  padding-top: 26px !important;
}
.logic-path-v16::before {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  top: 8px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(122,38,58,.25), #7A263A 28%, rgba(255,255,255,.22) 100%) !important;
}
.logic-card-v16 {
  position: relative !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.038)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  padding: 28px 24px 26px !important;
  min-height: 230px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.12) !important;
  transition: transform .28s ease, background .28s ease, border-color .28s ease !important;
}
.logic-card-v16::before {
  content: "" !important;
  position: absolute !important;
  left: 24px !important;
  top: -24px !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #7A263A !important;
  box-shadow: 0 0 0 8px rgba(122,38,58,.18) !important;
}
.logic-card-v16::after {
  content: "→" !important;
  position: absolute !important;
  right: -14px !important;
  top: 96px !important;
  color: rgba(240,229,220,.36) !important;
  font-size: 22px !important;
  z-index: 2 !important;
}
.logic-card-v16:last-child::after {
  display: none !important;
}
.logic-card-v16:hover {
  transform: translateY(-4px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.logic-card-v16 span {
  display: inline-flex !important;
  color: #F0E5DC !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  margin-bottom: 26px !important;
}
.logic-card-v16 h3 {
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  margin-bottom: 12px !important;
}
.logic-card-v16 p {
  color: rgba(255,255,255,.68) !important;
  font-size: 14.8px !important;
  line-height: 1.54 !important;
}

/* Details: compact and elegant, no giant empty rectangle */
.logic-details-v16 {
  margin-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
}
.logic-details-v16 summary {
  cursor: pointer !important;
  list-style: none !important;
  padding: 17px 0 !important;
  color: #F0E5DC !important;
  position: relative !important;
}
.logic-details-v16 summary::-webkit-details-marker {
  display: none !important;
}
.logic-details-v16 summary span {
  font-size: 12px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.logic-details-v16 summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #fff !important;
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.logic-details-v16[open] summary::after {
  content: "-" !important;
  background: #7A263A !important;
  border-color: #7A263A !important;
}
.logic-detail-grid-v16 {
  display: grid !important;
  grid-template-columns: repeat(5,1fr) !important;
  gap: 18px !important;
  padding: 4px 0 24px !important;
}
.logic-detail-grid-v16 h4 {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
}
.logic-detail-grid-v16 p {
  color: rgba(255,255,255,.66) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
}

/* Responsive */
@media(max-width:1080px){
  .logic-head-v16 {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .logic-head-v16 h2 {
    max-width: 720px !important;
  }
  .logic-path-v16 {
    grid-template-columns: 1fr !important;
    padding-top: 0 !important;
  }
  .logic-path-v16::before {
    left: 7px !important;
    right: auto !important;
    top: 18px !important;
    bottom: 18px !important;
    width: 1px !important;
    height: auto !important;
  }
  .logic-card-v16 {
    min-height: auto !important;
    padding: 24px 24px 23px 58px !important;
  }
  .logic-card-v16::before {
    left: 1px !important;
    top: 28px !important;
  }
  .logic-card-v16::after {
    display: none !important;
  }
  .logic-card-v16 span {
    margin-bottom: 10px !important;
  }
  .logic-detail-grid-v16 {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width:720px){
  .compact-layers {
    padding: 62px 0 64px !important;
  }
  .logic-head-v16 h2 {
    font-size: clamp(32px, 10vw, 42px) !important;
  }
  .logic-card-v16 {
    padding-left: 48px !important;
  }
}


/* ===== V17 refinements ===== */
/* service module section closer to approved reference */
.services-head{margin-bottom:34px !important;}
.service-note{
  grid-column:1/-1;
  color:var(--red) !important;
  margin-bottom:4px !important;
  font-size:13px !important;
  letter-spacing:.12em !important;
}
.services-showcase{
  grid-template-columns: 34% 1fr !important;
  align-items:start !important;
  gap:30px !important;
}
.service-nav{
  gap:14px !important;
}
.service-nav button{
  background:#f6f3ef !important;
  min-height:88px !important;
  padding:26px 52px 24px 24px !important;
  font-size:17px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  display:flex !important;
  align-items:center !important;
}
.service-nav button span{
  min-width:34px !important;
  margin-right:14px !important;
  font-size:24px !important;
  line-height:1 !important;
}
.service-nav button.active, .service-nav button:hover{
  transform:none !important;
  background:var(--blue) !important;
}
.service-nav button::after{
  right:22px !important;
  font-size:22px !important;
}
.service-display{
  min-height: 720px !important;
}
.service-panel{
  box-shadow:none !important;
  border:1px solid var(--line) !important;
}
.service-panel.active{
  grid-template-rows: 440px 1fr !important;
}
.service-copy{
  padding:42px 56px 44px !important;
}
.service-copy>span{
  width:40px !important;
  height:40px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  font-size:19px !important;
  font-family:var(--sans) !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  margin-bottom:20px !important;
}
.service-copy h3{
  font-size:58px !important;
  line-height:1.02 !important;
  margin-bottom:20px !important;
}
.service-copy p{
  font-size:17px !important;
  line-height:1.7 !important;
}
.format-box{
  margin-top:28px !important;
  padding-top:18px !important;
}
.format-box h4{
  font-size:15px !important;
  letter-spacing:.03em !important;
}

/* New compact program logic */
.program-logic-v17{
  background:var(--blue) !important;
  color:#fff !important;
  padding:78px 0 66px !important;
  position:relative !important;
  overflow:hidden !important;
}
.program-logic-v17::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 8% 0%, rgba(181,72,94,.13), transparent 22%), radial-gradient(circle at 90% 16%, rgba(255,255,255,.04), transparent 28%) !important;
  pointer-events:none !important;
}
.logic-intro-v17, .logic-rail-v17, .logic-expand-wrap-v17{position:relative;z-index:1;}
.logic-intro-v17{
  display:grid !important;
  grid-template-columns:minmax(320px,.42fr) minmax(520px,1fr) !important;
  gap:56px !important;
  align-items:end !important;
  margin-bottom:34px !important;
}
.logic-intro-v17 .eyebrow{margin-bottom:12px !important;}
.logic-intro-v17 h2{color:#fff !important; font-size:clamp(38px,4vw,54px) !important; line-height:1.02 !important;}
.logic-intro-v17 p{color:rgba(255,255,255,.72) !important; font-size:16px !important; line-height:1.7 !important; max-width:760px !important;}
.logic-rail-v17{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:16px !important;
  position:relative !important;
  margin-bottom:22px !important;
}
.logic-rail-v17::before{
  content:"" !important;
  position:absolute !important;
  left:5% !important;
  right:5% !important;
  top:22px !important;
  height:1px !important;
  background:linear-gradient(90deg, rgba(181,72,94,.18), rgba(181,72,94,.9) 14%, rgba(255,255,255,.18) 100%) !important;
}
.rail-step-v17{
  position:relative !important;
  padding:0 10px 8px 0 !important;
}
.rail-step-v17::before{
  content:"" !important;
  display:block !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:var(--red) !important;
  box-shadow:0 0 0 8px rgba(181,72,94,.15) !important;
  margin-bottom:30px !important;
  position:relative !important;
  z-index:2 !important;
}
.rail-kicker{
  color:#F0E5DC !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  margin-bottom:10px !important;
}
.rail-step-v17 h3{color:#fff !important; font-size:27px !important; line-height:1.1 !important; margin-bottom:10px !important;}
.rail-step-v17 p{color:rgba(255,255,255,.70) !important; font-size:15px !important; line-height:1.55 !important; max-width:220px !important;}
.logic-expand-wrap-v17{margin-top:6px !important;}
.logic-details-v17{
  border-top:1px solid rgba(255,255,255,.18) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
}
.logic-details-v17 summary{
  list-style:none !important;
  cursor:pointer !important;
  padding:18px 0 20px !important;
  color:var(--red) !important;
}
.logic-details-v17 summary::-webkit-details-marker{display:none !important;}
.logic-details-v17 summary span{
  display:block !important;
  max-width:165px !important;
  font-size:13px !important;
  line-height:1.12 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
}
.logic-details-v17 summary::after{display:none !important;}
.logic-detail-grid-v17{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:18px !important;
  padding:12px 0 28px !important;
}
.logic-detail-grid-v17 article{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  padding:18px 18px 16px !important;
  min-height:186px !important;
}
.logic-detail-grid-v17 h4{color:#fff !important; font-size:18px !important; margin:0 0 8px !important; line-height:1.2 !important;}
.logic-detail-grid-v17 p{color:rgba(255,255,255,.67) !important; font-size:13.5px !important; line-height:1.58 !important; margin:0 !important;}

@media(max-width:1080px){
  .services-showcase{grid-template-columns:1fr !important;}
  .service-display{min-height:unset !important;}
  .service-panel.active{grid-template-rows:300px 1fr !important;}
  .service-copy h3{font-size:42px !important;}
  .logic-intro-v17{grid-template-columns:1fr !important; gap:18px !important;}
  .logic-rail-v17{grid-template-columns:1fr !important; gap:22px !important;}
  .logic-rail-v17::before{left:6px !important; right:auto !important; top:24px !important; bottom:24px !important; width:1px !important; height:auto !important;}
  .rail-step-v17{padding-left:34px !important;}
  .rail-step-v17::before{position:absolute !important; left:0 !important; top:0 !important; margin-bottom:0 !important;}
  .rail-step-v17 p{max-width:none !important;}
  .logic-detail-grid-v17{grid-template-columns:1fr !important;}
}
@media(max-width:720px){
  .service-nav button{min-height:74px !important; padding:18px 44px 18px 18px !important; font-size:16px !important;}
  .service-nav button span{font-size:22px !important; min-width:30px !important;}
  .service-panel.active{grid-template-rows:220px 1fr !important;}
  .service-copy{padding:28px 24px 30px !important;}
  .service-copy h3{font-size:34px !important;}
  .logic-intro-v17 h2{font-size:clamp(32px,9vw,42px) !important;}
  .logic-details-v17 summary span{max-width:180px !important;}
}


/* ===== V18 Program Logic refinement ===== */
.program-logic-v18{
  background:var(--blue) !important;
  color:#fff !important;
  padding:74px 0 68px !important;
  position:relative !important;
  overflow:hidden !important;
}
.program-logic-v18::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 6% 0%, rgba(181,72,94,.10), transparent 24%), radial-gradient(circle at 84% 14%, rgba(255,255,255,.04), transparent 30%) !important;
  pointer-events:none !important;
}
.logic-intro-v18,.logic-sequence-v18{position:relative;z-index:1;}
.logic-intro-v18{
  display:grid !important;
  grid-template-columns:minmax(320px,.42fr) minmax(520px,1fr) !important;
  gap:56px !important;
  align-items:end !important;
  margin-bottom:34px !important;
}
.logic-intro-v18 .eyebrow{margin-bottom:12px !important;}
.logic-intro-v18 h2{color:#fff !important;font-size:clamp(38px,4vw,54px) !important;line-height:1.02 !important;}
.logic-intro-v18 p{color:rgba(255,255,255,.74) !important;font-size:16px !important;line-height:1.7 !important;max-width:780px !important;}
.logic-sequence-v18{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:20px !important;
  position:relative !important;
}
.logic-sequence-v18::before{
  content:"" !important;
  position:absolute !important;
  left:6% !important;
  right:6% !important;
  top:16px !important;
  height:2px !important;
  background:linear-gradient(90deg, rgba(181,72,94,.85), rgba(181,72,94,.75)) !important;
}
.logic-step-v18{
  position:relative !important;
  padding-top:42px !important;
}
.logic-step-v18::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:8px !important;
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:var(--red) !important;
  box-shadow:0 0 0 8px rgba(181,72,94,.15) !important;
  z-index:2 !important;
}
.logic-step-v18:not(:last-child)::after{
  content:"➜" !important;
  position:absolute !important;
  right:-14px !important;
  top:2px !important;
  color:rgba(255,255,255,.58) !important;
  font-size:18px !important;
  line-height:1 !important;
  z-index:2 !important;
}
.step-marker-v18{
  color:#F2E7DE !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  margin-bottom:14px !important;
}
.logic-step-v18 h3{color:#fff !important;font-size:28px !important;line-height:1.08 !important;margin-bottom:12px !important;}
.logic-step-v18 p{color:rgba(255,255,255,.72) !important;font-size:15px !important;line-height:1.62 !important;max-width:230px !important;margin:0 !important;}

@media(max-width:1180px){
  .logic-intro-v18{grid-template-columns:1fr !important;gap:18px !important;}
  .logic-sequence-v18{grid-template-columns:repeat(2, minmax(0,1fr)) !important;gap:26px 24px !important;}
  .logic-sequence-v18::before{display:none !important;}
  .logic-step-v18:not(:last-child)::after{display:none !important;}
}
@media(max-width:720px){
  .program-logic-v18{padding:56px 0 52px !important;}
  .logic-intro-v18 h2{font-size:clamp(32px,10vw,42px) !important;}
  .logic-sequence-v18{grid-template-columns:1fr !important;gap:22px !important;}
  .logic-step-v18{padding-top:32px !important;}
  .logic-step-v18::before{top:0 !important;}
  .step-marker-v18{margin-bottom:10px !important;}
  .logic-step-v18 h3{font-size:24px !important;}
  .logic-step-v18 p{max-width:none !important;}
}


/* ===== V19 Program Logic micro-fixes ===== */
.logic-sequence-v18{padding-top:8px !important;}
.logic-step-v18::before{
  left:10px !important;
  top:10px !important;
}
.logic-step-v18:not(:last-child)::after{
  content:"→" !important;
  right:-6px !important;
  top:2px !important;
  font-size:22px !important;
  color:rgba(255,255,255,.52) !important;
}
.logic-sequence-v18::before{
  left:7.2% !important;
  right:7.2% !important;
  top:20px !important;
}
.step-marker-v18{margin-bottom:12px !important;}
.logic-step-v18 h3{
  font-size:23px !important;
  line-height:1.1 !important;
  margin-bottom:10px !important;
}
.logic-step-v18 p{
  font-size:14.8px !important;
  line-height:1.66 !important;
}
@media(max-width:720px){
  .logic-step-v18 h3{font-size:23px !important;}
}


/* ===== V20 refinements: hero title breathing + red flow arrows near dots ===== */

/* Hero H1: avoid unnecessary desktop wrapping */
.hero-inner h1 {
  max-width: 1120px !important;
  font-size: clamp(54px, 5.6vw, 86px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
}
.hero-inner p {
  max-width: 980px !important;
}
@media(min-width: 1280px) {
  .hero-inner h1 {
    max-width: 1180px !important;
  }
}
@media(max-width: 1180px) {
  .hero-inner h1 {
    max-width: 900px !important;
    font-size: clamp(48px, 7vw, 76px) !important;
  }
}
@media(max-width: 720px) {
  .hero-inner h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 12vw, 58px) !important;
    line-height: 1.03 !important;
  }
}

/* Program logic arrow/dot refinement */
.logic-sequence-v18::before {
  top: 20px !important;
  left: 7.4% !important;
  right: 7.4% !important;
  background: linear-gradient(90deg, rgba(122,38,58,.88), rgba(122,38,58,.88)) !important;
}
.logic-step-v18::before {
  left: 10px !important;
  top: 11px !important;
  background: var(--red) !important;
  box-shadow: 0 0 0 8px rgba(122,38,58,.20) !important;
}
.logic-step-v18:not(:last-child)::after {
  content: "→" !important;
  color: var(--red) !important;
  opacity: .95 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  right: -4px !important;
  top: 8px !important;
  line-height: 1 !important;
}
.logic-step-v18 h3 {
  font-size: 23px !important;
  line-height: 1.12 !important;
}

/* Keep mobile clean */
@media(max-width: 1180px) {
  .logic-sequence-v18::before {
    display: none !important;
  }
  .logic-step-v18:not(:last-child)::after {
    display: none !important;
  }
}


/* ===== V21 refinements: rebuilt program logic rail + cleaner hero line ===== */
.hero-inner h1 {
  max-width: 1320px !important;
}
.hero-inner p {
  max-width: 1320px !important;
}
@media(min-width: 1440px) {
  .hero-inner p {
    max-width: 1420px !important;
  }
}

/* Replace old pseudo rail with a dedicated aligned track */
.logic-track-v21 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  margin-top: 18px !important;
  margin-bottom: 12px !important;
  position: relative !important;
}
.track-node-v21 {
  position: relative !important;
  display: block !important;
  height: 30px !important;
}
.track-node-v21::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--red) !important;
  box-shadow: 0 0 0 10px rgba(122,38,58,.20) !important;
  z-index: 3 !important;
}
.track-arrow-v21 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: calc(100% + 20px) !important;
  height: 2px !important;
  background: var(--red) !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
}
.track-arrow-v21::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid var(--red) !important;
  border-right: 2px solid var(--red) !important;
  transform: translateY(-50%) rotate(45deg) !important;
  transform-origin: center !important;
}

.logic-sequence-v18 {
  padding-top: 0 !important;
  gap: 20px !important;
}
.logic-sequence-v18::before,
.logic-step-v18::before,
.logic-step-v18::after {
  display: none !important;
  content: none !important;
}
.logic-step-v18 {
  padding-top: 0 !important;
}
.step-marker-v18 {
  margin-bottom: 16px !important;
}
.logic-step-v18 h3 {
  font-size: 22px !important;
  line-height: 1.08 !important;
  margin-bottom: 12px !important;
}
.logic-step-v18 p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  max-width: 245px !important;
}

@media(max-width: 1180px) {
  .logic-track-v21 {
    display: none !important;
  }
  .logic-sequence-v18 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 24px !important;
  }
}
@media(max-width: 720px) {
  .hero-inner p {
    max-width: 100% !important;
  }
  .logic-sequence-v18 {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .logic-step-v18 h3 {
    font-size: 24px !important;
  }
  .logic-step-v18 p {
    max-width: none !important;
  }
}


/* ===== V22 refinements: tighter hero + cleaner program logic line ===== */
.hero-inner h1 {
  max-width: 1060px !important;
  font-size: clamp(48px, 4.8vw, 76px) !important;
  line-height: 1.04 !important;
}
.hero-inner p {
  max-width: 1500px !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
}
@media(max-width: 1280px) {
  .hero-inner h1 {
    max-width: 980px !important;
    font-size: clamp(46px, 5.6vw, 68px) !important;
  }
  .hero-inner p {
    max-width: 1100px !important;
  }
}
@media(max-width: 720px) {
  .hero-inner h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 10vw, 56px) !important;
  }
  .hero-inner p {
    max-width: 100% !important;
    font-size: 18px !important;
  }
}

.logic-track-v21 {
  gap: 20px !important;
  margin-top: 10px !important;
  margin-bottom: 18px !important;
  position: relative !important;
}
.logic-track-v21::before {
  content: "" !important;
  position: absolute !important;
  left: calc((100% - 80px) / 10) !important;
  right: calc((100% - 80px) / 10) !important;
  top: 50% !important;
  height: 2px !important;
  background: var(--red) !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
}
.track-node-v21 {
  height: 36px !important;
}
.track-node-v21::before {
  width: 18px !important;
  height: 18px !important;
  box-shadow: 0 0 0 10px rgba(122,38,58,.20) !important;
  z-index: 3 !important;
}
.track-arrow-v21 {
  display: none !important;
}
.track-node-v21:not(:first-child)::after {
  content: "" !important;
  position: absolute !important;
  left: calc(50% - 26px) !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid var(--red) !important;
  border-right: 2px solid var(--red) !important;
  transform: translateY(-50%) rotate(45deg) !important;
  z-index: 4 !important;
}
.logic-sequence-v18 {
  gap: 20px !important;
}
.logic-step-v18 h3 {
  font-size: 21px !important;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}
.logic-step-v18 p {
  font-size: 14.8px !important;
  line-height: 1.68 !important;
  max-width: 255px !important;
}
@media(max-width: 1180px) {
  .logic-track-v21::before,
  .track-node-v21:not(:first-child)::after {
    display: none !important;
  }
}


/* ===== V23 refinements: shift hero narrower + move logic line/dots left ===== */
.hero-inner h1 {
  max-width: 930px !important;
  font-size: clamp(46px, 4.55vw, 72px) !important;
}
.hero-inner p {
  max-width: 1180px !important;
}
@media(max-width: 1280px) {
  .hero-inner h1 {
    max-width: 900px !important;
    font-size: clamp(44px, 5.2vw, 64px) !important;
  }
  .hero-inner p {
    max-width: 980px !important;
  }
}

.logic-track-v21 {
  transform: translateX(-42px) !important;
}
.logic-track-v21::before {
  left: calc((100% - 80px) / 10 - 14px) !important;
  right: calc((100% - 80px) / 10 + 28px) !important;
}
.track-node-v21:not(:first-child)::after {
  left: calc(50% - 17px) !important;
  width: 11px !important;
  height: 11px !important;
}
@media(max-width: 1180px) {
  .logic-track-v21 {
    transform: none !important;
  }
}


/* ===== V24 refinements: logic line starts/ends on dots + slight left shift ===== */
.hero-inner h1 {
  max-width: 900px !important;
}
@media(max-width: 1280px) {
  .hero-inner h1 {
    max-width: 880px !important;
  }
}

.logic-track-v21 {
  transform: translateX(-28px) !important;
}
.logic-track-v21::before {
  left: calc((100% - 80px) / 10) !important;
  right: calc((100% - 80px) / 10) !important;
}
.track-node-v21:not(:first-child)::after {
  left: calc(50% - 16px) !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid var(--red) !important;
  border-right: 2px solid var(--red) !important;
}
@media(max-width: 1180px) {
  .logic-track-v21 {
    transform: none !important;
  }
}


/* ===== V25 refinements: use clean separate arrows between dots ===== */
.logic-track-v21::before {
  display: none !important;
}
.track-node-v21:not(:first-child)::after {
  display: none !important;
}
.track-arrow-v21 {
  left: 50% !important;
  top: 50% !important;
  width: calc(100% + 20px) !important;
  height: 2px !important;
  background: var(--red) !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
}
.track-arrow-v21::after {
  content: "" !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid var(--red) !important;
  border-right: 2px solid var(--red) !important;
  transform: translateY(-50%) rotate(45deg) !important;
  transform-origin: center !important;
  background: transparent !important;
}


/* ===== V26 patch: restore program logic line/arrows + correct service badges ===== */
.logic-track-v21{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  align-items:center !important;
  height:72px !important;
  margin:12px 0 8px !important;
}
.logic-track-v21::before{
  content:"" !important;
  position:absolute !important;
  left:10% !important;
  width:80% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:3px !important;
  background:var(--red) !important;
}
.track-node-v21{
  position:relative !important;
  justify-self:center !important;
  width:64px !important;
  height:64px !important;
}
.track-node-v21::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:50% !important;
  background:rgba(122,38,58,.18) !important;
}
.track-node-v21::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:28px !important;
  height:28px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:var(--red) !important;
}
.track-arrow-v21{
  position:absolute !important;
  right:calc(100% + 2px) !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:16px !important;
  height:16px !important;
  display:block !important;
}
.track-arrow-v21::before, .track-arrow-v21::after{
  content:"" !important;
  position:absolute !important;
  right:0 !important;
  width:10px !important;
  height:2px !important;
  background:var(--red) !important;
  transform-origin:right center !important;
}
.track-arrow-v21::before{ top:5px !important; transform:rotate(45deg) !important; }
.track-arrow-v21::after{ top:9px !important; transform:rotate(-45deg) !important; }
.logic-sequence-v18{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:36px !important;
  align-items:start !important;
}
.service-copy > span{
  min-width:50px !important;
  justify-content:center !important;
}
@media (max-width: 1100px){
  .logic-track-v21::before{ left:8%; width:84%; }
}
@media (max-width: 900px){
  .logic-track-v21{ display:none !important; }
  .logic-sequence-v18{ grid-template-columns:1fr !important; gap:22px !important; }
}


/* ===== V27 patch: clean program logic line + arrows + numeric badges ===== */
.hero-section.hero-compact {
  padding-top: 96px !important;
  padding-bottom: 72px !important;
}
@media (max-width: 900px) {
  .hero-section.hero-compact {
    padding-top: 82px !important;
    padding-bottom: 60px !important;
  }
}
.logic-track-v21 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  height: 84px !important;
  margin: 10px 0 4px !important;
  transform: none !important;
  overflow: visible !important;
}
.logic-track-v21::before {
  content: "" !important;
  position: absolute !important;
  left: 10% !important;
  right: 10% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 3px !important;
  background: var(--red) !important;
  display: block !important;
}
.track-node-v21 {
  position: relative !important;
  justify-self: center !important;
  width: 54px !important;
  height: 54px !important;
  overflow: visible !important;
}
.track-node-v21::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  background: rgba(122,38,58,.16) !important;
}
.track-node-v21::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 24px !important;
  height: 24px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50% !important;
  background: var(--red) !important;
}
.track-arrow-v21 {
  position: absolute !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  transform: translateY(-50%) !important;
  display: block !important;
  z-index: 3 !important;
}
.logic-track-v21 .track-node-v21:nth-child(1) .track-arrow-v21 { left: calc(30% - 18px) !important; }
.logic-track-v21 .track-node-v21:nth-child(2) .track-arrow-v21 { left: calc(50% - 18px) !important; }
.logic-track-v21 .track-node-v21:nth-child(3) .track-arrow-v21 { left: calc(70% - 18px) !important; }
.logic-track-v21 .track-node-v21:nth-child(4) .track-arrow-v21 { left: calc(90% - 18px) !important; }
.track-arrow-v21::before,
.track-arrow-v21::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  width: 10px !important;
  height: 2px !important;
  background: var(--red) !important;
  transform-origin: right center !important;
}
.track-arrow-v21::before { top: 5px !important; transform: rotate(45deg) !important; }
.track-arrow-v21::after { top: 9px !important; transform: rotate(-45deg) !important; }
.logic-sequence-v18 {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 36px !important;
  align-items: start !important;
}
.service-copy > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  border-radius: 50% !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  position: relative !important;
  z-index: 2 !important;
}
@media (max-width: 1180px) {
  .logic-track-v21 .track-node-v21:nth-child(1) .track-arrow-v21 { left: calc(30% - 16px) !important; }
  .logic-track-v21 .track-node-v21:nth-child(2) .track-arrow-v21 { left: calc(50% - 16px) !important; }
  .logic-track-v21 .track-node-v21:nth-child(3) .track-arrow-v21 { left: calc(70% - 16px) !important; }
  .logic-track-v21 .track-node-v21:nth-child(4) .track-arrow-v21 { left: calc(90% - 16px) !important; }
}
@media (max-width: 900px) {
  .logic-track-v21 { display: none !important; }
  .logic-sequence-v18 { grid-template-columns: 1fr !important; gap: 24px !important; }
}


/* ===== V28 patch: replace program logic rail with clean custom layout ===== */
.logic-track-v21{display:none !important;}
.logic-track-v28{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  align-items:center !important;
  height:88px !important;
  margin:6px auto 6px !important;
  overflow:visible !important;
}
.logic-rail-v28{
  position:absolute !important;
  left:10% !important;
  right:10% !important;
  top:50% !important;
  height:3px !important;
  background:var(--red) !important;
  transform:translateY(-50%) !important;
  z-index:1 !important;
}
.logic-node-v28{
  position:relative !important;
  justify-self:center !important;
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  background:var(--red) !important;
  box-shadow:0 0 0 14px rgba(122,38,58,.18) !important;
  z-index:2 !important;
}
.logic-arrow-v28{
  position:absolute !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  border-top:3px solid var(--red) !important;
  border-right:3px solid var(--red) !important;
  transform:translateY(-50%) rotate(45deg) !important;
  z-index:3 !important;
}
.logic-track-v28 .arrow-2{ left:calc(30% - 24px) !important; }
.logic-track-v28 .arrow-3{ left:calc(50% - 24px) !important; }
.logic-track-v28 .arrow-4{ left:calc(70% - 24px) !important; }
.logic-track-v28 .arrow-5{ left:calc(90% - 24px) !important; }
@media (max-width: 900px){
  .logic-track-v28{display:none !important;}
}

/* ===== V29 patch: shift program logic rail slightly left for better centering over each session ===== */
@media (min-width: 901px){
  .logic-track-v28{
    transform: translateX(-48px) !important;
  }
}
@media (min-width: 901px) and (max-width: 1180px){
  .logic-track-v28{
    transform: translateX(-32px) !important;
  }
}


/* ===== Case Studies Page ===== */

.case-studies-page {
  background: var(--ivory);
}

.case-hero {
  min-height: 690px;
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #082736;
}

.case-hero-bg {
  position: absolute;
  inset: 0;
  background: url("../images/case-studies/hero.jpg") center/cover no-repeat;
  opacity: .58;
  filter: saturate(.9) contrast(.95);
}

.case-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,39,54,.96) 0%, rgba(8,39,54,.83) 36%, rgba(8,39,54,.45) 68%, rgba(8,39,54,.12) 100%),
    radial-gradient(circle at 10% 20%, rgba(122,38,58,.20), transparent 30%);
}

.case-hero-inner {
  position: relative;
  z-index: 1;
  padding-top: 112px;
  padding-bottom: 86px;
}

.case-hero h1 {
  color: #fff;
  max-width: 1040px;
  font-size: clamp(52px, 5.7vw, 94px);
  line-height: .96;
}

.case-hero p {
  color: rgba(255,255,255,.78);
  max-width: 820px;
  font-size: 19px;
  line-height: 1.62;
}

.case-intro {
  padding: 92px 0 76px;
  background: var(--ivory);
}

.case-intro-grid {
  display: grid;
  grid-template-columns: .44fr 1fr;
  gap: 72px;
  align-items: start;
}

.case-intro-title h2 {
  max-width: 520px;
}

.case-intro-body {
  max-width: 780px;
  border-left: 1px solid rgba(122,38,58,.34);
  padding-left: 48px;
}

.case-intro-body p {
  font-size: 17px;
  line-height: 1.72;
}

.case-index-section {
  padding: 0 0 86px;
  background: var(--ivory);
}

.case-index {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.case-index-card {
  display: block;
  text-decoration: none;
  color: var(--deep);
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 28px;
  min-height: 230px;
  transition: transform .28s ease, background .28s ease, border-color .28s ease;
}

.case-index-card:hover {
  transform: translateY(-5px);
  border-color: rgba(122,38,58,.38);
  background: #fff;
}

.case-index-card span {
  display: inline-flex;
  background: rgba(122,38,58,.10);
  color: var(--red);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 26px;
}

.case-index-card h3 {
  font-size: 28px;
  line-height: 1.08;
  margin-bottom: 22px;
}

.case-index-card p {
  color: var(--muted);
  font-size: 15px;
}

.case-story {
  padding: 104px 0 112px;
  position: relative;
  overflow: hidden;
}

.case-story-dark {
  background: #082736;
  color: #fff;
}

.case-story-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 0%, rgba(122,38,58,.18), transparent 26%),
    radial-gradient(circle at 92% 20%, rgba(255,255,255,.045), transparent 30%);
  pointer-events: none;
}

.case-story-ivory {
  background: var(--ivory);
  color: var(--deep);
}

.case-story-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 38px;
  align-items: start;
  margin-bottom: 54px;
}

.case-label {
  color: var(--red);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
  padding-top: 16px;
}

.case-heading h2 {
  color: inherit;
  max-width: 980px;
  font-size: clamp(44px, 4.6vw, 76px);
  line-height: .98;
}

.case-heading p {
  color: inherit;
  opacity: .72;
  font-size: 16px;
  line-height: 1.6;
}

.case-story-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 34px;
  align-items: start;
}

.case-route-panel,
.sourcing-map {
  position: sticky;
  top: 108px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  padding: 30px;
}

.case-story-ivory .case-route-panel,
.case-story-ivory .sourcing-map {
  background: var(--paper);
  border-color: var(--line);
}

.route-title {
  color: #F0E5DC;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 28px;
}

.case-story-ivory .route-title {
  color: var(--red);
}

.route-step,
.sourcing-city {
  border-top: 1px solid rgba(255,255,255,.16);
  padding: 20px 0;
}

.case-story-ivory .route-step,
.case-story-ivory .sourcing-city {
  border-top-color: var(--line);
}

.route-step span,
.sourcing-city span {
  display: block;
  color: #fff;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1;
  margin-bottom: 10px;
}

.case-story-ivory .route-step span,
.case-story-ivory .sourcing-city span {
  color: var(--deep);
}

.route-step p,
.sourcing-city p {
  color: rgba(255,255,255,.68);
  font-size: 14.5px;
  line-height: 1.58;
}

.case-story-ivory .route-step p,
.case-story-ivory .sourcing-city p {
  color: var(--muted);
}

.case-story-main {
  min-width: 0;
}

.case-image-wrap {
  height: 360px;
  overflow: hidden;
  margin-bottom: 30px;
  background: rgba(255,255,255,.06);
}

.case-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.95) contrast(.98);
  transition: transform .55s ease;
}

.case-image-wrap:hover img {
  transform: scale(1.035);
}

.case-question {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  padding: 36px;
  margin-bottom: 28px;
}

.case-story-ivory .case-question {
  background: var(--paper);
  border-color: var(--line);
}

.case-question h3,
.case-box h3,
.case-next h3 {
  color: inherit;
  font-size: 28px;
  margin-bottom: 14px;
}

.case-question p,
.case-box p,
.case-next p,
.case-box li {
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.68;
}

.case-story-ivory .case-question p,
.case-story-ivory .case-box p,
.case-story-ivory .case-next p,
.case-story-ivory .case-box li {
  color: var(--muted);
}

.case-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 26px;
}

.case-box {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  padding: 32px;
}

.case-story-ivory .case-box {
  background: var(--paper);
  border-color: var(--line);
}

.case-box.highlight {
  background: rgba(122,38,58,.20);
  border-color: rgba(122,38,58,.34);
}

.case-story-ivory .case-box.highlight {
  background: rgba(122,38,58,.08);
}

.case-box ul {
  padding-left: 18px;
}

.case-box li {
  margin-bottom: 9px;
}

.case-next {
  border-top: 1px solid rgba(255,255,255,.18);
  padding-top: 24px;
}

.case-story-ivory .case-next {
  border-top-color: var(--line);
}

.case-two-column {
  display: grid;
  grid-template-columns: 1fr 370px;
  gap: 34px;
  align-items: start;
}

.case-route-inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 28px;
}

.case-route-inline article {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 28px;
}

.case-route-inline span {
  display: block;
  font-family: var(--serif);
  color: var(--red);
  font-size: 32px;
  line-height: 1;
  margin-bottom: 14px;
}

.case-route-inline p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.62;
}

.case-side-image {
  position: sticky;
  top: 108px;
  background: #082736;
  color: #fff;
  overflow: hidden;
}

.case-side-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  filter: saturate(.92) contrast(.98);
}

.case-side-image div {
  padding: 28px;
}

.case-side-image span {
  display: block;
  color: #F0E5DC;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 12px;
}

.case-side-image p {
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.55;
}

.sourcing-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 34px;
}

.case-usage {
  padding: 92px 0;
  background: var(--ivory);
}

.case-usage-inner {
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: 72px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 54px;
}

.case-usage-title h2 {
  max-width: 560px;
}

.case-usage-body {
  max-width: 780px;
}

.case-usage-body p {
  font-size: 17px;
  line-height: 1.72;
}

.case-studies-page .final-cta .cta-inner {
  text-align: left;
}

@media(max-width: 1080px) {
  .case-intro-grid,
  .case-story-head,
  .case-story-grid,
  .case-two-column,
  .sourcing-layout,
  .case-usage-inner {
    grid-template-columns: 1fr;
  }

  .case-index {
    grid-template-columns: 1fr;
  }

  .case-route-panel,
  .sourcing-map,
  .case-side-image {
    position: relative;
    top: auto;
  }

  .case-content-grid,
  .case-route-inline {
    grid-template-columns: 1fr;
  }

  .case-intro-body {
    border-left: 0;
    padding-left: 0;
  }
}

@media(max-width: 720px) {
  .case-hero {
    min-height: 640px;
  }

  .case-hero-inner {
    padding-top: 92px;
    padding-bottom: 72px;
  }

  .case-hero h1 {
    font-size: clamp(42px, 12vw, 60px);
  }

  .case-story,
  .case-intro,
  .case-usage {
    padding: 72px 0;
  }

  .case-image-wrap {
    height: 280px;
  }

  .case-question,
  .case-box,
  .case-route-panel,
  .sourcing-map {
    padding: 24px;
  }
}

/* ===== Case Studies V2 - dossier style ===== */
.case-v2{background:var(--ivory)}
.case-v2-hero{background:radial-gradient(circle at 72% 20%,rgba(122,38,58,.10),transparent 28%),linear-gradient(180deg,#F6F2EA 0%,#FFFDF8 100%);padding:150px 0 86px;border-bottom:1px solid var(--line)}
.case-v2-hero-grid{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(380px,.75fr);gap:78px;align-items:end}
.case-v2-hero-copy h1{color:var(--deep);font-size:clamp(54px,6vw,96px);line-height:.95;max-width:980px}
.case-v2-hero-copy p{color:var(--muted);max-width:760px;font-size:18px;line-height:1.68}
.case-v2-hero-board{position:relative;background:#082736;color:#fff;padding:34px;min-height:500px;display:grid;align-content:center;gap:22px;overflow:hidden}
.case-v2-hero-board:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(122,38,58,.22),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 55%);pointer-events:none}
.board-line{position:absolute;left:48px;top:68px;bottom:68px;width:1px;background:rgba(255,255,255,.18)}
.board-item{position:relative;z-index:1;display:grid;grid-template-columns:56px 1fr;column-gap:18px;text-decoration:none;color:#fff;padding:18px 0}
.board-item span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--serif);font-size:22px;line-height:1}
.board-item strong{font-size:25px;line-height:1.08;margin-bottom:6px;display:block}
.board-item em{grid-column:2;color:rgba(255,255,255,.64);font-style:normal;font-size:14px}
.case-v2-intro{padding:86px 0;background:var(--ivory)}
.intro-statement{display:grid;grid-template-columns:.48fr 1fr;gap:72px;align-items:start}
.intro-statement h2{font-size:clamp(40px,4vw,64px);line-height:1}
.intro-statement-body{border-left:1px solid rgba(122,38,58,.32);padding-left:50px;max-width:780px}
.intro-statement-body p{font-size:17px;line-height:1.72}
.dossier-section{padding:100px 0;background:#082736;color:#fff;position:relative;overflow:hidden}
.dossier-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 0%,rgba(122,38,58,.18),transparent 28%),radial-gradient(circle at 92% 20%,rgba(255,255,255,.04),transparent 32%);pointer-events:none}
.dossier-section.alt{background:var(--ivory);color:var(--deep)}
.dossier-section.alt:before{display:none}
.dossier{position:relative;z-index:1;display:grid;grid-template-columns:128px 1fr;gap:36px}
.dossier-number{position:sticky;top:112px;align-self:start;font-family:var(--serif);font-size:clamp(80px,9vw,142px);color:rgba(255,255,255,.10);line-height:.8}
.alt .dossier-number{color:rgba(122,38,58,.16)}
.dossier-main{min-width:0}
.dossier-title{display:grid;grid-template-columns:120px 1fr;column-gap:32px;align-items:start;margin-bottom:36px}
.dossier-title .case-label{color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding-top:16px}
.alt .dossier-title .case-label{color:var(--red)}
.dossier-title h2{color:inherit;font-size:clamp(42px,4.7vw,76px);line-height:.98}
.dossier-title p{grid-column:2;color:rgba(255,255,255,.68);font-size:16px;line-height:1.56}
.alt .dossier-title p{color:var(--muted)}
.dossier-visual{height:390px;overflow:hidden;margin-bottom:28px;background:rgba(255,255,255,.06)}
.dossier-visual.tall{height:100%;min-height:560px;margin-bottom:0}
.dossier-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(.98);transition:transform .55s ease}
.dossier-visual:hover img{transform:scale(1.035)}
.dossier-matrix,.dossier-split,.sourcing-board,.outcome-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dossier-split{margin-bottom:28px}
.matrix-card,.sourcing-question{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:34px}
.alt .matrix-card,.alt .sourcing-question{background:var(--paper);border-color:var(--line)}
.matrix-card span,.sourcing-question span,.outcome-main span,.outcome-next span{display:inline-flex;color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:16px}
.alt .matrix-card span,.alt .sourcing-question span,.alt .outcome-main span,.alt .outcome-next span{color:var(--red)}
.matrix-card p,.sourcing-question p,.outcome-main p,.outcome-next p{color:rgba(255,255,255,.72);font-size:16px;line-height:1.68}
.alt .matrix-card p,.alt .sourcing-question p,.alt .outcome-main p,.alt .outcome-next p{color:var(--muted)}
.mini-route{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;margin-top:16px}
.alt .mini-route{border-top-color:var(--line)}
.mini-route strong{display:block;color:#fff;font-family:var(--serif);font-size:28px;line-height:1;margin-bottom:8px}
.alt .mini-route strong{color:var(--deep)}
.experience-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);margin:28px 0}
.alt .experience-strip{border-top-color:var(--line);border-left-color:var(--line)}
.experience-strip div{min-height:118px;padding:22px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.74);font-size:15px;line-height:1.55}
.alt .experience-strip div{border-right-color:var(--line);border-bottom-color:var(--line);color:var(--muted)}
.outcome-main,.outcome-next{padding:34px;border:1px solid rgba(255,255,255,.16)}
.outcome-main{background:rgba(122,38,58,.18);border-color:rgba(122,38,58,.34)}
.outcome-next{background:rgba(255,255,255,.07)}
.alt .outcome-main{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.20)}
.alt .outcome-next{background:var(--paper);border-color:var(--line)}
.sourcing-board{margin-bottom:28px}
.sourcing-route{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sourcing-route div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:24px}
.sourcing-route strong{display:block;color:#fff;font-family:var(--serif);font-size:28px;line-height:1;margin-bottom:10px}
.sourcing-route p{color:rgba(255,255,255,.70);font-size:14.5px;line-height:1.58}
.case-v2-usage{padding:92px 0;background:var(--ivory)}
.usage-card{border-top:1px solid var(--line);padding-top:54px;display:grid;grid-template-columns:.42fr 1fr;gap:72px}
.usage-card h2{font-size:clamp(38px,4vw,62px);line-height:1}
.usage-body{max-width:780px}
.usage-body p{font-size:17px;line-height:1.72}
.case-v2 .final-cta .cta-inner{text-align:left}
@media(max-width:1080px){.case-v2-hero-grid,.intro-statement,.dossier,.dossier-title,.dossier-matrix,.dossier-split,.sourcing-board,.outcome-panel,.usage-card{grid-template-columns:1fr}.dossier-number{position:relative;top:auto}.case-v2-hero-board{min-height:auto}.dossier-title p{grid-column:1}.experience-strip,.sourcing-route{grid-template-columns:1fr 1fr}.intro-statement-body{border-left:0;padding-left:0}}
@media(max-width:720px){.case-v2-hero{padding:118px 0 70px}.case-v2-hero-copy h1{font-size:clamp(42px,12vw,60px)}.dossier-section,.case-v2-intro,.case-v2-usage{padding:72px 0}.dossier-visual,.dossier-visual.tall{height:280px;min-height:280px}.matrix-card,.sourcing-question,.outcome-main,.outcome-next{padding:24px}.experience-strip,.sourcing-route{grid-template-columns:1fr}}

/* ===== Case Studies V4 - image-led storytelling ===== */
.case-v4{background:var(--ivory)}
.case-v4 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.cs4-hero{background:#F7F3EC;padding:136px 0 82px;border-bottom:0}
.cs4-hero-grid{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(360px,.62fr);gap:62px;align-items:end}
.cs4-hero-copy h1{color:var(--deep);font-size:clamp(44px,4.6vw,72px);line-height:1.02;max-width:880px}
.cs4-hero-copy p{color:var(--muted);font-size:18px;line-height:1.68;max-width:760px}
.cs4-case-cards{display:grid;gap:14px}
.cs4-case-card{text-decoration:none;color:var(--deep);background:#FFFDF8;border:1px solid var(--line);padding:22px 24px;transition:.25s}
.cs4-case-card:hover{transform:translateY(-3px);border-color:rgba(122,38,58,.35);background:#fff}
.cs4-case-card span{display:block;color:var(--red);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:10px}
.cs4-case-card h3{font-size:25px;line-height:1.08;margin-bottom:8px}
.cs4-case-card p{font-size:14px;line-height:1.45;color:var(--muted)}
.cs4-intro{padding:78px 0 84px;background:var(--ivory)}
.cs4-intro-grid{display:grid;grid-template-columns:minmax(420px,.6fr) 1fr;gap:58px;align-items:start}
.cs4-intro-grid h2{font-size:clamp(36px,3.6vw,54px);line-height:1.08;max-width:610px}
.cs4-intro-copy{max-width:790px;border-left:1px solid rgba(122,38,58,.32);padding-left:44px}
.cs4-intro-copy p{font-size:17px;line-height:1.72}
.cs4-case{background:#082736;color:#fff;padding:92px 0 98px;position:relative;overflow:hidden}
.cs4-case:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 0%,rgba(122,38,58,.16),transparent 28%),radial-gradient(circle at 92% 16%,rgba(255,255,255,.035),transparent 30%);pointer-events:none}
.cs4-case-light{background:var(--ivory);color:var(--deep)}
.cs4-case-light:before{display:none}
.cs4-case .container{position:relative;z-index:1}
.cs4-case-heading{display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:start;margin-bottom:34px}
.cs4-case-label{color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding-top:12px}
.cs4-case-light .cs4-case-label{color:var(--red)}
.cs4-case-heading h2{color:inherit;font-size:clamp(38px,4vw,62px);line-height:1.03;max-width:980px}
.cs4-case-heading p{color:rgba(255,255,255,.70);font-size:17px;line-height:1.62;max-width:790px}
.cs4-case-light .cs4-case-heading p{color:var(--muted)}
.cs4-media-row{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:14px;height:360px;margin-bottom:24px}
.cs4-media-row img{width:100%;height:100%;object-fit:cover;filter:saturate(.93) contrast(.98);transition:transform .55s ease}
.cs4-media-row img:hover{transform:scale(1.03)}
.cs4-media-large,.cs4-media-small{overflow:hidden;background:rgba(255,255,255,.06)}
.cs4-media-reverse{grid-template-columns:.7fr .7fr 1.6fr}
.cs4-media-reverse .cs4-media-large{grid-column:3}
.cs4-snapshot{display:grid;grid-template-columns:1.3fr .65fr .85fr 1.2fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);margin-bottom:24px}
.cs4-case-light .cs4-snapshot{border-top-color:var(--line);border-left-color:var(--line)}
.cs4-snapshot div{padding:18px 20px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.cs4-case-light .cs4-snapshot div{border-right-color:var(--line);border-bottom-color:var(--line)}
.cs4-snapshot span{display:block;color:#F0E5DC;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:8px}
.cs4-case-light .cs4-snapshot span{color:var(--red)}
.cs4-snapshot strong{display:block;color:inherit;font-size:17px;line-height:1.34}
.cs4-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.cs4-question,.cs4-route{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:30px}
.cs4-case-light .cs4-question,.cs4-case-light .cs4-route{background:#FFFDF8;border-color:var(--line)}
.cs4-question span,.cs4-route span,.cs4-experience span,.cs4-outcome span{display:inline-flex;color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:14px}
.cs4-case-light .cs4-question span,.cs4-case-light .cs4-route span,.cs4-case-light .cs4-experience span,.cs4-case-light .cs4-outcome span{color:var(--red)}
.cs4-question p,.cs4-route p,.cs4-experience p,.cs4-outcome p{color:rgba(255,255,255,.72);font-size:16px;line-height:1.68}
.cs4-case-light .cs4-question p,.cs4-case-light .cs4-route p,.cs4-case-light .cs4-experience p,.cs4-case-light .cs4-outcome p{color:var(--muted)}
.cs4-route div{border-top:1px solid rgba(255,255,255,.16);padding-top:14px;margin-top:14px}
.cs4-case-light .cs4-route div{border-top-color:var(--line)}
.cs4-route strong{display:block;color:#fff;font-family:var(--serif);font-size:28px;line-height:1;margin-bottom:8px}
.cs4-case-light .cs4-route strong{color:var(--deep)}
.cs4-experience{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:24px 0;margin-bottom:24px}
.cs4-case-light .cs4-experience{border-top-color:var(--line);border-bottom-color:var(--line)}
.cs4-experience div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cs4-experience p{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:16px;margin:0;font-size:15px;line-height:1.5}
.cs4-case-light .cs4-experience p{background:#FFFDF8;border-color:var(--line)}
.cs4-outcome{display:grid;grid-template-columns:1.35fr .9fr;gap:18px}
.cs4-outcome article{padding:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07)}
.cs4-outcome article:first-child{background:rgba(122,38,58,.18);border-color:rgba(122,38,58,.34)}
.cs4-case-light .cs4-outcome article{background:#FFFDF8;border-color:var(--line)}
.cs4-case-light .cs4-outcome article:first-child{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.22)}
.cs4-usage{background:var(--ivory);padding:84px 0}
.cs4-usage-grid{display:grid;grid-template-columns:minmax(520px,.72fr) 1fr;gap:64px;align-items:start}
.cs4-usage-grid h2{font-size:clamp(34px,3.4vw,50px);line-height:1.12;max-width:660px}
.cs4-usage-grid p{font-size:17px;line-height:1.72;color:var(--muted)}
.case-v4 .final-cta .cta-inner{text-align:left}
@media(max-width:1080px){.cs4-hero-grid,.cs4-intro-grid,.cs4-case-heading,.cs4-story-grid,.cs4-outcome,.cs4-usage-grid{grid-template-columns:1fr}.cs4-media-row,.cs4-media-reverse{grid-template-columns:1fr 1fr;height:auto}.cs4-media-large,.cs4-media-small{height:260px}.cs4-media-reverse .cs4-media-large{grid-column:auto}.cs4-snapshot{grid-template-columns:1fr 1fr}.cs4-intro-copy{border-left:0;padding-left:0}.cs4-experience{grid-template-columns:1fr}.cs4-experience div{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.cs4-hero{padding:116px 0 70px}.cs4-hero-copy h1{font-size:clamp(40px,11vw,56px)}.cs4-case,.cs4-intro,.cs4-usage{padding:70px 0}.cs4-media-row,.cs4-media-reverse,.cs4-snapshot,.cs4-experience div{grid-template-columns:1fr}.cs4-question,.cs4-route,.cs4-outcome article{padding:24px}.cs4-case-heading h2{font-size:clamp(34px,10vw,46px)}}

/* ===== Case Studies V5 - sample program storytelling ===== */
.case-v5{background:var(--ivory)}
.case-v5 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.cs5-hero{background:#F7F3EC;padding:126px 0 76px}
.cs5-hero-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(440px,.72fr);gap:64px;align-items:center}
.cs5-hero-copy{transform:translateY(-18px)}
.cs5-hero-copy h1{color:var(--deep);font-size:clamp(42px,4.4vw,70px);line-height:1.02;max-width:880px}
.cs5-hero-copy p{color:var(--muted);font-size:18px;line-height:1.68;max-width:790px}
.cs5-hero-visual{position:relative;height:500px;overflow:hidden;background:#082736}
.cs5-hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.95)}
.cs5-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,39,54,.04),rgba(8,39,54,.48))}
.cs5-visual-tags{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;display:flex;gap:10px;flex-wrap:wrap}
.cs5-visual-tags span{background:rgba(255,255,255,.88);color:var(--deep);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;padding:9px 12px}
.cs5-intro{padding:76px 0 80px;background:var(--ivory)}
.cs5-intro-grid{display:grid;grid-template-columns:minmax(520px,.72fr) 1fr;gap:60px;align-items:center}
.cs5-intro-grid h2{font-size:clamp(34px,3.3vw,50px);line-height:1.1;max-width:720px}
.cs5-intro-copy{max-width:790px;border-left:1px solid rgba(122,38,58,.30);padding-left:44px}
.cs5-intro-copy p{font-size:17px;line-height:1.72}
.cs5-case{padding:92px 0 104px;position:relative;overflow:hidden}
.cs5-dark{background:#082736;color:#fff}
.cs5-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 0%,rgba(122,38,58,.16),transparent 28%),radial-gradient(circle at 92% 16%,rgba(255,255,255,.035),transparent 30%);pointer-events:none}
.cs5-light{background:var(--ivory);color:var(--deep)}
.cs5-case .container{position:relative;z-index:1}
.cs5-case-top{display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:start;margin-bottom:28px}
.cs5-case-label{color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding-top:12px}
.cs5-light .cs5-case-label{color:var(--red)}
.cs5-case-top h2{color:inherit;font-size:clamp(38px,4vw,62px);line-height:1.03;max-width:1080px}
.cs5-case-top p{color:rgba(255,255,255,.70);font-size:17px;line-height:1.62;max-width:900px}
.cs5-light .cs5-case-top p{color:var(--muted)}
.cs5-snapshot{display:grid;grid-template-columns:1.35fr .65fr .9fr 1.25fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);margin:28px 0 24px}
.cs5-light .cs5-snapshot{border-top-color:var(--line);border-left-color:var(--line)}
.cs5-snapshot div{padding:18px 20px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.cs5-light .cs5-snapshot div{border-right-color:var(--line);border-bottom-color:var(--line)}
.cs5-snapshot span{display:block;color:#F0E5DC;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:8px}
.cs5-light .cs5-snapshot span{color:var(--red)}
.cs5-snapshot strong{display:block;color:inherit;font-size:17px;line-height:1.34}
.cs5-media-strip{display:grid;grid-template-columns:1.65fr .72fr .72fr;gap:14px;height:360px;margin-bottom:24px}
.cs5-media-strip.reverse{grid-template-columns:.72fr .72fr 1.65fr}
.cs5-media-strip.reverse .cs5-media-main{grid-column:3}
.cs5-media-strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.93) contrast(.98);transition:transform .55s ease}
.cs5-media-main,.cs5-media-side{overflow:hidden;background:rgba(255,255,255,.06)}
.cs5-media-strip img:hover{transform:scale(1.03)}
.cs5-question-row{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:24px}
.cs5-question-row article,.cs5-question-row blockquote{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:30px;margin:0}
.cs5-light .cs5-question-row article,.cs5-light .cs5-question-row blockquote{background:#FFFDF8;border-color:var(--line)}
.cs5-question-row span,.cs5-section-head span,.cs5-exposure span,.cs5-outcome span{display:inline-flex;color:#F0E5DC;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:14px}
.cs5-light .cs5-question-row span,.cs5-light .cs5-section-head span,.cs5-light .cs5-exposure span,.cs5-light .cs5-outcome span{color:var(--red)}
.cs5-question-row p,.cs5-section-head p,.cs5-exposure li,.cs5-outcome p,.next-step{color:rgba(255,255,255,.72);font-size:16px;line-height:1.68}
.cs5-light .cs5-question-row p,.cs5-light .cs5-section-head p,.cs5-light .cs5-exposure li,.cs5-light .cs5-outcome p,.cs5-light .next-step{color:var(--muted)}
.cs5-question-row blockquote p{font-family:var(--serif);font-size:30px;line-height:1.18;color:#fff}
.cs5-light .cs5-question-row blockquote p{color:var(--deep)}
.cs5-question-row cite{display:block;margin-top:18px;color:rgba(255,255,255,.58);font-style:normal;font-size:14px}
.cs5-light .cs5-question-row cite{color:var(--muted)}
.cs5-program-flow{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:26px 0;margin-bottom:26px}
.cs5-light .cs5-program-flow{border-top-color:var(--line);border-bottom-color:var(--line)}
.cs5-section-head{display:grid;grid-template-columns:240px 1fr;gap:28px;margin-bottom:18px}
.cs5-section-head p{max-width:760px}
.cs5-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.cs5-days.compact{grid-template-columns:repeat(5,1fr)}
.cs5-days article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:18px;min-height:190px}
.cs5-light .cs5-days article{background:#FFFDF8;border-color:var(--line)}
.cs5-days article span{display:block;color:var(--red);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:16px}
.cs5-days article strong{display:block;color:inherit;font-size:21px;line-height:1.08;margin-bottom:10px}
.cs5-days article p{color:rgba(255,255,255,.70);font-size:14.5px;line-height:1.52}
.cs5-light .cs5-days article p{color:var(--muted)}
.cs5-exposure-outcome{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px}
.cs5-exposure,.cs5-outcome{padding:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07)}
.cs5-outcome{background:rgba(122,38,58,.18);border-color:rgba(122,38,58,.34)}
.cs5-light .cs5-exposure{background:#FFFDF8;border-color:var(--line)}
.cs5-light .cs5-outcome{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.22)}
.cs5-exposure ul{padding-left:18px}
.cs5-exposure li{margin-bottom:8px}
.next-step{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.cs5-light .next-step{border-top-color:var(--line)}
.cs5-usage{background:var(--ivory);padding:82px 0}
.cs5-usage-grid{display:grid;grid-template-columns:minmax(540px,.72fr) 1fr;gap:62px;align-items:start}
.cs5-usage-grid h2{font-size:clamp(34px,3.3vw,50px);line-height:1.12;max-width:720px}
.cs5-usage-grid p{font-size:17px;line-height:1.72;color:var(--muted)}
.case-v5 .final-cta .cta-inner{text-align:left}
@media(max-width:1180px){.cs5-days,.cs5-days.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1080px){.cs5-hero-grid,.cs5-intro-grid,.cs5-case-top,.cs5-question-row,.cs5-exposure-outcome,.cs5-section-head,.cs5-usage-grid{grid-template-columns:1fr}.cs5-media-strip,.cs5-media-strip.reverse{grid-template-columns:1fr 1fr;height:auto}.cs5-media-main,.cs5-media-side{height:270px}.cs5-media-strip.reverse .cs5-media-main{grid-column:auto}.cs5-snapshot{grid-template-columns:1fr 1fr}.cs5-intro-copy{border-left:0;padding-left:0}}
@media(max-width:720px){.cs5-hero{padding:116px 0 70px}.cs5-hero-copy h1{font-size:clamp(40px,11vw,56px)}.cs5-hero-visual{height:320px}.cs5-case,.cs5-intro,.cs5-usage{padding:70px 0}.cs5-media-strip,.cs5-media-strip.reverse,.cs5-snapshot,.cs5-days,.cs5-days.compact{grid-template-columns:1fr}.cs5-question-row article,.cs5-question-row blockquote,.cs5-exposure,.cs5-outcome{padding:24px}.cs5-question-row blockquote p{font-size:26px}}



/* ===== Case Studies V6 - editorial case storytelling ===== */
.case-v6{background:var(--ivory)}
.case-v6 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.case-v6 .button.primary{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cs6-hero{background:var(--ivory);padding:126px 0 62px;border-bottom:1px solid var(--line)}
.cs6-hero-inner{max-width:980px}
.cs6-hero h1{color:var(--deep);max-width:1000px;font-size:clamp(52px,6vw,84px);line-height:.96}
.cs6-hero p{color:var(--muted);font-size:19px;line-height:1.68;max-width:940px}
.cs6-summary{background:var(--ivory);padding:70px 0 82px}
.cs6-summary-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(460px,.9fr);gap:72px;align-items:start}
.cs6-summary-copy h2{font-size:clamp(42px,5vw,82px);line-height:.94;color:var(--deep);max-width:820px;margin-bottom:24px}
.cs6-summary-copy p{font-size:18px;line-height:1.8;color:var(--muted);max-width:850px}
.cs6-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.32)}
.cs6-summary-stats article{padding:42px 28px 46px;border-top:4px solid var(--red);border-left:1px solid rgba(16,47,61,.08);background:#F5F1EA;min-height:265px}
.cs6-summary-stats article:first-child{border-left:0}
.cs6-summary-stats strong{display:block;font-family:var(--serif);font-size:68px;line-height:.92;color:var(--deep);font-weight:500;margin-bottom:18px}
.cs6-summary-stats p{font-size:16px;line-height:1.72;color:var(--muted)}
.cs6-case-nav{position:sticky;top:76px;z-index:50;background:rgba(248,246,241,.94);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.cs6-case-nav-inner{display:flex;gap:30px;overflow:auto;padding:14px 0}
.cs6-case-nav a{white-space:nowrap;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ink);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
.cs6-case-nav a:hover{border-color:rgba(122,38,58,.35);color:var(--red)}
.cs6-case{background:var(--ivory)}
.cs6-band{position:relative;min-height:410px;background-size:cover;background-position:center center;color:#fff}
.cs6-band:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,39,54,.18),rgba(8,39,54,.62) 44%,rgba(8,39,54,.86) 100%)}
.cs6-band-inner{position:relative;z-index:1;display:flex;align-items:flex-end;min-height:410px;padding:66px 0 44px}
.cs6-band-copy{max-width:980px}
.cs6-band-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#F1E6DE;margin-bottom:20px}
.cs6-band h2{font-size:clamp(50px,5.7vw,88px);line-height:.92;color:#fff}
.cs6-band h2 em{font-style:italic;font-weight:500;opacity:.96}
.cs6-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.cs6-meta span{display:inline-flex;align-items:center;gap:10px;padding:8px 0;color:rgba(255,255,255,.82);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.cs6-meta span+span:before{content:"|";opacity:.4;margin-right:10px}
.cs6-split{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.cs6-side-note{padding-top:4px}
.cs6-side-note .eyebrow{margin-bottom:18px}
.cs6-side-note .eyebrow.light{color:#E6B1BD}
.cs6-side-note p{font-size:16px;line-height:1.7;color:var(--muted);max-width:220px}
.cs6-quote-section{padding:76px 0;background:var(--ivory)}
.cs6-big-quote{border-left:3px solid var(--red);padding-left:40px}
.cs6-big-quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(38px,4.25vw,66px);line-height:1.12;color:var(--deep);font-style:italic;max-width:1140px}
.cs6-route{padding:76px 0;background:var(--deep);color:#fff}
.cs6-route.light-route{background:#F7F3EC;color:var(--deep)}
.cs6-route.light-route .cs6-side-note p,.cs6-route.light-route .cs6-route-grid article p,.cs6-route.light-route .cs6-route-rationale{color:var(--muted)}
.cs6-route-main{min-width:0}
.cs6-route-grid{display:grid;gap:32px;align-items:start}
.cs6-route-grid.three{grid-template-columns:repeat(3,1fr)}
.cs6-route-grid.two{grid-template-columns:repeat(2,1fr)}
.cs6-route-grid.four{grid-template-columns:repeat(4,1fr)}
.cs6-route-grid article{position:relative;padding-right:20px}
.cs6-route-grid article:not(:last-child):after{content:"→";position:absolute;right:-18px;top:54px;font-size:48px;color:var(--red);line-height:1}
.cs6-route-grid h3{font-family:var(--serif);font-weight:500;color:inherit;font-size:clamp(32px,3vw,56px);line-height:1;margin-bottom:18px}
.cs6-route-grid p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.62)}
.cs6-route-rationale{margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:16px;line-height:1.8;color:rgba(255,255,255,.6)}
.cs6-route.light-route .cs6-route-rationale{border-top-color:rgba(16,47,61,.12)}
.cs6-ground{padding:78px 0 88px;background:var(--ivory)}
.cs6-ground.alt{background:#F9F6F0}
.cs6-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#D8D0C4}
.cs6-card-grid article{background:#F7F3EC;padding:34px 36px 38px;min-height:246px}
.cs6-card-grid span{display:block;font-family:var(--serif);font-size:40px;line-height:.9;color:#D2B7BE;margin-bottom:22px}
.cs6-card-grid p{font-size:16px;line-height:1.78;color:#496280}
.cs6-clarity{padding:84px 0;background:var(--deep);color:#fff}
.cs6-clarity.light-clarity{background:#F7F3EC;color:var(--deep)}
.cs6-clarity.light-clarity .cs6-side-note .eyebrow{color:var(--red)}
.cs6-clarity-main blockquote{margin:0 0 28px;font-family:var(--serif);font-size:clamp(40px,4.2vw,70px);line-height:1.14;color:#fff;font-style:italic;max-width:1200px}
.cs6-clarity.light-clarity .cs6-clarity-main blockquote{color:var(--deep)}
.cs6-clarity-main p{font-size:18px;line-height:1.8;color:rgba(255,255,255,.62);max-width:1080px}
.cs6-clarity.light-clarity .cs6-clarity-main p{color:var(--muted)}
.cs6-nextsteps{padding:78px 0 86px;background:var(--ivory)}
.cs6-tags{display:flex;flex-wrap:wrap;gap:12px 14px}
.cs6-tags span{display:inline-flex;align-items:center;min-height:56px;padding:14px 24px;border:1px solid rgba(200,184,154,.9);background:#FFFDF8;color:#213952;font-size:15px;font-weight:600;line-height:1.4}
.cs6-usage{padding:84px 0;background:#F7F3EC}
.cs6-usage-grid{display:grid;grid-template-columns:minmax(480px,.72fr) 1fr;gap:60px;align-items:start}
.cs6-usage-grid h2{font-size:clamp(40px,4vw,60px);line-height:1.02;max-width:640px;color:var(--deep)}
.cs6-usage-grid p{font-size:18px;line-height:1.8;color:var(--muted)}
.case-v6 .final-cta .cta-inner{text-align:left}

@media(max-width:1240px){
  .cs6-summary-grid,.cs6-split,.cs6-usage-grid{grid-template-columns:1fr}
  .cs6-side-note p{max-width:none}
  .cs6-summary-stats{grid-template-columns:repeat(3,1fr)}
  .cs6-route-grid.four{grid-template-columns:repeat(2,1fr)}
  .cs6-route-grid.four article:nth-child(2):after{display:none}
}
@media(max-width:1024px){
  .cs6-summary-stats{grid-template-columns:1fr}
  .cs6-summary-stats article{min-height:auto}
  .cs6-route-grid.three,.cs6-route-grid.two,.cs6-route-grid.four,.cs6-card-grid{grid-template-columns:1fr}
  .cs6-route-grid article:after{display:none}
  .cs6-big-quote blockquote,.cs6-clarity-main blockquote{font-size:clamp(32px,7vw,52px)}
}
@media(max-width:720px){
  .cs6-hero{padding:112px 0 52px}
  .cs6-hero h1{font-size:clamp(42px,12vw,58px)}
  .cs6-summary{padding:56px 0 64px}
  .cs6-summary-copy h2{font-size:clamp(38px,12vw,56px)}
  .cs6-band,.cs6-band-inner{min-height:300px}
  .cs6-band h2{font-size:clamp(38px,11vw,56px)}
  .cs6-meta{gap:2px 10px}
  .cs6-meta span{font-size:11px}
  .cs6-quote-section,.cs6-route,.cs6-ground,.cs6-clarity,.cs6-nextsteps,.cs6-usage{padding:58px 0}
  .cs6-split{gap:28px}
  .cs6-big-quote{padding-left:22px}
  .cs6-card-grid article{padding:26px 24px 28px;min-height:auto}
  .cs6-tags span{width:100%}
}



/* ===== Case Studies V7 - structured pathways with clear case transitions ===== */
.case-v7{background:var(--ivory)}
.case-v7 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.case-v7 .button.primary{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cs7-hero{background:#F7F3EC;padding:126px 0 74px;border-bottom:1px solid var(--line)}
.cs7-hero-inner{max-width:1060px}
.cs7-hero h1{color:var(--deep);font-size:clamp(48px,5.7vw,82px);line-height:.98;max-width:1040px}
.cs7-hero p{color:var(--muted);font-size:19px;line-height:1.68;max-width:920px}
.cs7-opening{background:var(--ivory);padding:76px 0 82px}
.cs7-opening-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(460px,.92fr);gap:70px;align-items:start}
.cs7-opening-copy h2{font-size:clamp(42px,5vw,72px);line-height:.98;color:var(--deep);max-width:820px}
.cs7-opening-copy p{font-size:18px;line-height:1.8;color:var(--muted);max-width:860px}
.cs7-principles{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#D8D0C4}
.cs7-principles article{background:#F7F3EC;padding:32px;min-height:200px}
.cs7-principles strong{display:block;font-family:var(--serif);font-size:34px;line-height:1;color:var(--deep);margin-bottom:20px}
.cs7-principles p{font-size:16px;line-height:1.7;color:var(--muted)}
.cs7-map{background:#082736;color:#fff;padding:78px 0 84px}
.cs7-map-head{display:grid;grid-template-columns:280px 1fr;gap:50px;align-items:end;margin-bottom:34px}
.cs7-map-head h2{font-size:clamp(38px,4.1vw,62px);line-height:1.02;color:#fff;max-width:980px}
.cs7-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:rgba(255,255,255,.14)}
.cs7-pathway{background:#0D3140;color:#fff;text-decoration:none;padding:34px;min-height:290px;transition:.25s}
.cs7-pathway:hover{background:#123D4E;transform:translateY(-3px)}
.cs7-pathway span{display:block;color:#E6B1BD;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:26px}
.cs7-pathway h3{font-size:30px;line-height:1.06;color:#fff;margin-bottom:18px}
.cs7-pathway p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.70);margin-bottom:22px}
.cs7-pathway em{font-style:normal;color:#F0E5DC;font-size:14px;line-height:1.5}
.cs7-case{padding:96px 0 0}
.cs7-dark{background:#082736;color:#fff}
.cs7-light{background:var(--ivory);color:var(--deep)}
.cs7-case-title{display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:start;margin-bottom:30px}
.cs7-case-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#E6B1BD;padding-top:12px}
.cs7-light .cs7-case-label{color:var(--red)}
.cs7-case-title h2{color:inherit;font-size:clamp(42px,4.7vw,68px);line-height:1.02;max-width:1080px}
.cs7-case-title p{font-size:18px;line-height:1.68;color:rgba(255,255,255,.70);max-width:960px}
.cs7-light .cs7-case-title p{color:var(--muted)}
.cs7-at-glance{display:grid;grid-template-columns:1.15fr .55fr .78fr 1.25fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);margin:26px 0 34px}
.cs7-light .cs7-at-glance{border-top-color:var(--line);border-left-color:var(--line)}
.cs7-at-glance div{padding:18px 20px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.cs7-light .cs7-at-glance div{border-right-color:var(--line);border-bottom-color:var(--line)}
.cs7-at-glance span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#E6B1BD;margin-bottom:8px}
.cs7-light .cs7-at-glance span{color:var(--red)}
.cs7-at-glance strong{display:block;color:inherit;font-size:17px;line-height:1.34}
.cs7-question-block,.cs7-route-story,.cs7-program-grid,.cs7-outcome{display:grid;grid-template-columns:240px 1fr;gap:46px;align-items:start}
.cs7-question-block{padding:44px 0;border-top:1px solid rgba(255,255,255,.12)}
.cs7-light .cs7-question-block{border-top-color:var(--line)}
.cs7-side-label span,.cs7-program-main>span,.cs7-culture-card span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#E6B1BD;margin-bottom:16px}
.cs7-light .cs7-side-label span,.cs7-light .cs7-program-main>span,.cs7-light .cs7-culture-card span{color:var(--red)}
.cs7-side-label p{font-size:15px;line-height:1.68;color:rgba(255,255,255,.56);max-width:220px}
.cs7-light .cs7-side-label p{color:var(--muted)}
.cs7-question-block blockquote{font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.15;font-style:italic;color:#fff;margin:0;max-width:1100px}
.cs7-light .cs7-question-block blockquote{color:var(--deep)}
.cs7-route-story{padding:54px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.cs7-light .cs7-route-story{border-top-color:var(--line);border-bottom-color:var(--line)}
.cs7-route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.14)}
.cs7-route-story.two .cs7-route-cards{grid-template-columns:repeat(2,1fr)}
.cs7-route-story.four .cs7-route-cards{grid-template-columns:repeat(4,1fr)}
.cs7-route-cards article{background:#0D3140;padding:32px;min-height:230px}
.cs7-light .cs7-route-cards{background:#D8D0C4}
.cs7-light .cs7-route-cards article{background:#F7F3EC}
.cs7-route-cards h3{font-family:var(--serif);font-size:42px;line-height:1;color:inherit;margin-bottom:18px}
.cs7-route-cards p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.68)}
.cs7-light .cs7-route-cards p{color:var(--muted)}
.cs7-program-grid{padding:54px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cs7-light .cs7-program-grid{border-bottom-color:var(--line)}
.cs7-program-main{min-width:0}
.cs7-moves{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.14)}
.cs7-moves article{background:#0D3140;padding:26px;min-height:185px}
.cs7-light .cs7-moves{background:#D8D0C4}
.cs7-light .cs7-moves article{background:#FFFDF8}
.cs7-moves b{display:block;font-size:24px;color:inherit;margin-bottom:14px}
.cs7-moves p,.cs7-culture-card p{font-size:15.5px;line-height:1.68;color:rgba(255,255,255,.68)}
.cs7-light .cs7-moves p,.cs7-light .cs7-culture-card p{color:var(--muted)}
.cs7-culture-card{align-self:stretch;background:rgba(122,38,58,.22);border:1px solid rgba(122,38,58,.34);padding:30px}
.cs7-light .cs7-culture-card{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.22)}
.cs7-outcome{padding:54px 0 64px}
.cs7-outcome h3{font-family:var(--serif);font-size:clamp(36px,4vw,60px);line-height:1.08;color:inherit;max-width:1050px}
.cs7-outcome p{font-size:18px;line-height:1.78;color:rgba(255,255,255,.66);max-width:1050px}
.cs7-light .cs7-outcome p{color:var(--muted)}
.cs7-next-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cs7-next-tags span{border:1px solid rgba(200,184,154,.8);padding:10px 18px;font-size:14px;color:inherit;background:rgba(255,255,255,.05)}
.cs7-light .cs7-next-tags span{background:#FFFDF8}
.cs7-next-case{display:grid;grid-template-columns:240px 1fr;gap:46px;align-items:center;background:#F7F3EC;color:var(--deep);padding:34px 40px;text-decoration:none;margin:0 calc((100vw - min(calc(100% - 72px),1200px)) / -2) 0; padding-left:calc((100vw - min(calc(100% - 72px),1200px)) / 2 + 40px); padding-right:calc((100vw - min(calc(100% - 72px),1200px)) / 2 + 40px);border-top:1px solid var(--line)}
.cs7-next-case span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red)}
.cs7-next-case strong{font-family:var(--serif);font-size:30px;line-height:1.14}
.cs7-usage{background:#F7F3EC;padding:84px 0}
.cs7-usage-grid{display:grid;grid-template-columns:minmax(440px,.6fr) 1fr;gap:62px;align-items:start}
.cs7-usage-grid h2{font-size:clamp(38px,4vw,60px);line-height:1.04;color:var(--deep);max-width:640px}
.cs7-usage-grid p{font-size:18px;line-height:1.8;color:var(--muted)}
.case-v7 .final-cta .cta-inner{text-align:left}
@media(max-width:1120px){
  .cs7-opening-grid,.cs7-map-head,.cs7-case-title,.cs7-question-block,.cs7-route-story,.cs7-program-grid,.cs7-outcome,.cs7-next-case,.cs7-usage-grid{grid-template-columns:1fr}
  .cs7-at-glance{grid-template-columns:1fr 1fr}
  .cs7-route-cards,.cs7-route-story.two .cs7-route-cards,.cs7-route-story.four .cs7-route-cards,.cs7-moves{grid-template-columns:1fr 1fr}
  .cs7-side-label p{max-width:none}
  .cs7-next-case{margin-left:0;margin-right:0;padding:30px}
}
@media(max-width:720px){
  .cs7-hero{padding:112px 0 58px}
  .cs7-hero h1{font-size:clamp(40px,12vw,58px)}
  .cs7-opening,.cs7-map,.cs7-case,.cs7-usage{padding-top:64px}
  .cs7-opening{padding-bottom:64px}
  .cs7-principles,.cs7-map-grid,.cs7-at-glance,.cs7-route-cards,.cs7-route-story.two .cs7-route-cards,.cs7-route-story.four .cs7-route-cards,.cs7-moves{grid-template-columns:1fr}
  .cs7-question-block blockquote{font-size:clamp(30px,9vw,44px)}
}



/* ===== Case Studies V8 - client-facing, culture-led case ideas ===== */
.case-v8{background:var(--ivory)}
.case-v8 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.case-v8 .button.primary{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.case-v8 .button.secondary{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border:1px solid rgba(8,39,54,.18);color:var(--deep);border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cs8-hero{background:#F7F3EC;padding:126px 0 84px}
.cs8-hero-grid{display:grid;grid-template-columns:minmax(620px,1fr) minmax(360px,.55fr);gap:72px;align-items:end}
.cs8-hero-copy h1{font-size:clamp(48px,5.6vw,82px);line-height:.98;color:var(--deep);max-width:1080px}
.cs8-hero-copy p{font-size:19px;line-height:1.68;color:var(--muted);max-width:920px}
.cs8-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.cs8-hero-note{background:#fff;border-top:4px solid var(--red);padding:34px;box-shadow:0 24px 70px rgba(8,39,54,.08)}
.cs8-hero-note span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red);margin-bottom:20px}
.cs8-hero-note p{font-size:17px;line-height:1.72;color:var(--muted)}
.cs8-lens{background:var(--ivory);padding:82px 0}
.cs8-lens-grid{display:grid;grid-template-columns:minmax(440px,.56fr) 1fr;gap:64px;align-items:start}
.cs8-lens-title h2{font-size:clamp(38px,4vw,60px);line-height:1.04;color:var(--deep)}
.cs8-lens-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#D8D0C4}
.cs8-lens-cards article{background:#F7F3EC;padding:28px 24px;min-height:220px}
.cs8-lens-cards strong{display:block;font-family:var(--serif);font-size:27px;line-height:1.05;color:var(--deep);margin-bottom:16px}
.cs8-lens-cards p{font-size:15px;line-height:1.68;color:var(--muted)}
.cs8-gallery{background:#082736;color:#fff;padding:86px 0 96px}
.cs8-section-head{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:end;margin-bottom:38px}
.cs8-section-head h2{font-size:clamp(38px,4.4vw,66px);line-height:1.02;color:#fff;max-width:960px}
.cs8-case-card{background:#F7F3EC;color:var(--deep);display:grid;grid-template-columns:.9fr 1.1fr;min-height:420px;text-decoration:none;margin-bottom:18px}
.cs8-case-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cs8-case-row .cs8-case-card{display:block;min-height:0}
.cs8-case-image{height:100%;min-height:320px;overflow:hidden;background:#0D3140}
.cs8-case-row .cs8-case-image{height:250px;min-height:250px}
.cs8-case-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(.98);transition:.55s}
.cs8-case-card:hover img{transform:scale(1.04)}
.cs8-case-body{padding:40px}
.cs8-case-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red)}
.cs8-case-body h3{font-size:clamp(34px,3.2vw,54px);line-height:1.02;color:var(--deep)}
.cs8-case-row .cs8-case-body h3{font-size:38px}
.cs8-case-intro{font-size:17px;line-height:1.66;color:var(--muted)}
.cs8-facts{display:flex;gap:8px;flex-wrap:wrap}
.cs8-facts span{font-size:13px;color:var(--deep);border:1px solid rgba(200,184,154,.9);background:#fff;padding:8px 12px}
.cs8-client-question{background:rgba(122,38,58,.08);border-left:3px solid var(--red);padding:16px 18px;font-size:16px;line-height:1.52;color:var(--deep)}
.cs8-case-link{display:inline-flex;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.cs8-deep-case{padding:92px 0 100px}
.cs8-dark{background:#082736;color:#fff}
.cs8-light{background:var(--ivory);color:var(--deep)}
.cs8-deep-title{display:grid;grid-template-columns:150px 1fr;gap:36px;align-items:start;margin-bottom:34px}
.cs8-deep-title h2{font-size:clamp(42px,4.8vw,70px);line-height:1.02;color:inherit}
.cs8-deep-title p{font-size:18px;line-height:1.68;color:rgba(255,255,255,.70);max-width:980px}
.cs8-light .cs8-deep-title p{color:var(--muted)}
.cs8-journey{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.14);margin-bottom:34px}
.cs8-journey-stage{background:#0D3140;padding:34px;min-height:280px}
.cs8-journey-stage.highlight{background:rgba(122,38,58,.24)}
.cs8-journey-stage span,.cs8-experience-main>span,.cs8-sell-box span,.cs8-story-panel span,.cs8-culture-sourcing span,.cs8-sourcing-question span,.cs8-compact-flow>span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#E6B1BD;margin-bottom:18px}
.cs8-journey-stage h3,.cs8-story-panel h3,.cs8-sourcing-question h3,.cs8-culture-sourcing h3,.cs8-result-band h3{font-size:32px;line-height:1.08;color:inherit;margin-bottom:16px}
.cs8-journey-stage p,.cs8-story-panel p,.cs8-sell-box p,.cs8-sourcing-question p,.cs8-culture-sourcing p,.cs8-result-band p{font-size:16.5px;line-height:1.72;color:rgba(255,255,255,.70)}
.cs8-experience-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;margin-bottom:30px}
.cs8-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.14)}
.cs8-experience-grid article{background:#0D3140;padding:28px;min-height:210px}
.cs8-experience-grid b{display:block;font-size:24px;margin-bottom:14px;color:#fff}
.cs8-experience-grid p{font-size:15.5px;line-height:1.68;color:rgba(255,255,255,.68)}
.cs8-sell-box{background:#F7F3EC;color:var(--deep);padding:32px;align-self:stretch}
.cs8-sell-box span{color:var(--red)}
.cs8-sell-box p{color:var(--muted)}
.cs8-outcome-line{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.cs8-compact-flow{display:grid;grid-template-columns:200px 1fr;gap:30px;border-top:1px solid rgba(255,255,255,.14);padding-top:28px}
.cs8-compact-flow div{display:flex;gap:10px;flex-wrap:wrap}
.cs8-compact-flow p{border:1px solid rgba(200,184,154,.65);padding:11px 16px;font-size:14.5px;color:#fff;margin:0}
.cs8-split-story{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}
.cs8-story-panel{background:#FFFDF8;border:1px solid var(--line);padding:34px}
.cs8-story-panel span,.cs8-light .cs8-experience-main>span{color:var(--red)}
.cs8-story-panel p{color:var(--muted)}
.cs8-story-panel.accent{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.22)}
.cs8-two-city{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#D8D0C4;margin-bottom:26px}
.cs8-two-city article{background:#F7F3EC;padding:36px}
.cs8-two-city h3{font-family:var(--serif);font-size:48px;line-height:1;color:var(--deep);margin-bottom:20px}
.cs8-two-city p,.cs8-two-city li{font-size:16px;line-height:1.72;color:var(--muted)}
.cs8-two-city ul{padding-left:18px;margin-top:16px}
.cs8-result-band{background:#082736;color:#fff;padding:42px;max-width:1060px}
.cs8-result-band p{color:rgba(255,255,255,.72)}
.cs8-sourcing-board{display:grid;grid-template-columns:.65fr 1fr;gap:20px;margin-bottom:28px}
.cs8-sourcing-question{background:rgba(122,38,58,.22);border:1px solid rgba(122,38,58,.34);padding:34px}
.cs8-sourcing-route{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(255,255,255,.14)}
.cs8-sourcing-route article{background:#0D3140;padding:28px}
.cs8-sourcing-route strong{display:block;font-family:var(--serif);font-size:36px;margin-bottom:12px;color:#fff}
.cs8-sourcing-route p{font-size:15.5px;line-height:1.68;color:rgba(255,255,255,.70)}
.cs8-culture-sourcing{display:grid;grid-template-columns:360px 1fr;gap:34px;background:#F7F3EC;color:var(--deep);padding:36px;margin-bottom:28px}
.cs8-culture-sourcing span{color:var(--red)}
.cs8-culture-sourcing p{color:var(--muted);font-size:18px}
.cs8-sourcing-outcome{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.14)}
.cs8-sourcing-outcome article{background:#0D3140;padding:30px}
.cs8-sourcing-outcome b{display:block;font-size:28px;margin-bottom:14px;color:#fff}
.cs8-sourcing-outcome p{font-size:16px;line-height:1.68;color:rgba(255,255,255,.70)}
.cs8-closing{background:#F7F3EC;padding:82px 0}
.cs8-closing-grid{display:grid;grid-template-columns:minmax(480px,.65fr) 1fr;gap:62px;align-items:start}
.cs8-closing h2{font-size:clamp(38px,4vw,60px);line-height:1.04;color:var(--deep)}
.cs8-closing p{font-size:18px;line-height:1.8;color:var(--muted)}
.case-v8 .final-cta .cta-inner{text-align:left}
@media(max-width:1120px){
  .cs8-hero-grid,.cs8-lens-grid,.cs8-section-head,.cs8-deep-title,.cs8-experience-layout,.cs8-sourcing-board,.cs8-culture-sourcing,.cs8-closing-grid{grid-template-columns:1fr}
  .cs8-lens-cards{grid-template-columns:repeat(2,1fr)}
  .cs8-case-card,.cs8-case-row,.cs8-journey,.cs8-experience-grid,.cs8-split-story,.cs8-two-city,.cs8-sourcing-outcome{grid-template-columns:1fr}
  .cs8-sourcing-route{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .cs8-hero{padding:112px 0 64px}
  .cs8-hero-copy h1{font-size:clamp(40px,12vw,58px)}
  .cs8-lens,.cs8-gallery,.cs8-deep-case,.cs8-closing{padding:64px 0}
  .cs8-lens-cards,.cs8-sourcing-route{grid-template-columns:1fr}
  .cs8-case-body,.cs8-journey-stage,.cs8-story-panel,.cs8-result-band{padding:26px}
}



/* ===== Case Studies V11 - compact one-page delivery ===== */
.case-v11{background:var(--ivory)}
.case-v11 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.case-v11 .button.primary{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cs11-hero{background:#F7F3EC;padding:122px 0 70px;border-bottom:1px solid var(--line)}
.cs11-hero-grid{display:grid;grid-template-columns:minmax(520px,.92fr) 1fr;gap:70px;align-items:end}
.cs11-hero h1{font-size:clamp(44px,5vw,76px);line-height:.98;color:var(--deep);max-width:940px}
.cs11-hero p{font-size:18px;line-height:1.68;color:var(--muted);max-width:760px}
.cs11-lens{background:var(--ivory);padding:58px 0}
.cs11-lens-inner{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.cs11-lens-title span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red);margin-bottom:14px}
.cs11-lens-title h2{font-size:34px;line-height:1.08;color:var(--deep)}
.cs11-lens-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#D8D0C4}
.cs11-lens-steps article{background:#F7F3EC;padding:22px;min-height:160px}
.cs11-lens-steps b{display:block;font-size:22px;line-height:1.1;color:var(--deep);margin-bottom:12px}
.cs11-lens-steps p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.cs11-cases{background:#082736;padding:74px 0 84px}
.cs11-case{background:#F7F3EC;color:var(--deep);display:grid;grid-template-columns:330px 1fr;margin-bottom:24px;min-height:520px}
.cs11-case:last-child{margin-bottom:0}
.cs11-case-media{position:relative;overflow:hidden;background:#0D3140;min-height:520px}
.cs11-case-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.96);transition:.55s}
.cs11-case:hover .cs11-case-media img{transform:scale(1.035)}
.cs11-case-tag{position:absolute;left:22px;top:22px;background:rgba(255,255,255,.92);color:var(--red);padding:8px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.cs11-case-content{padding:38px 42px 40px}
.cs11-case-top{display:grid;grid-template-columns:1fr 260px;gap:34px;align-items:start;margin-bottom:28px}
.cs11-case-top h2{font-size:clamp(34px,3.4vw,52px);line-height:1.02;color:var(--deep);max-width:820px}
.cs11-case-top p{font-size:16.5px;line-height:1.62;color:var(--muted);max-width:760px}
.cs11-meta{display:flex;flex-direction:column;gap:8px}
.cs11-meta span{border:1px solid var(--line);background:#FFFDF8;padding:9px 12px;font-size:13px;color:var(--deep);line-height:1.35}
.cs11-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cs11-case-grid>div{background:#FFFDF8;border:1px solid var(--line);padding:22px}
.cs11-case-grid span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red);margin-bottom:13px}
.cs11-quote-block p,.cs11-after p{font-family:var(--serif);font-size:24px;line-height:1.22;color:var(--deep);font-style:italic}
.cs11-route-mini p,.cs11-culture p{font-size:15.5px;line-height:1.65;color:var(--muted)}
.cs11-route-mini b{color:var(--deep)}
.cs11-highlights ul{padding-left:18px;margin:0}
.cs11-highlights li{font-size:15px;line-height:1.58;color:var(--muted);margin-bottom:7px}
.cs11-culture{background:rgba(122,38,58,.08)!important;border-color:rgba(122,38,58,.20)!important}
.cs11-culture em{display:block;margin-top:12px;padding-top:12px;border-top:1px solid rgba(122,38,58,.18);font-style:normal;color:#7A263A;font-size:14px;line-height:1.5}
.cs11-after{grid-column:1 / -1;background:#0D3140!important;color:#fff!important;border-color:#0D3140!important}
.cs11-after span{color:#E6B1BD!important}
.cs11-after p{color:#fff;font-size:27px;max-width:980px}
.cs11-closing{background:#F7F3EC;padding:72px 0}
.cs11-closing-grid{display:grid;grid-template-columns:minmax(420px,.58fr) 1fr;gap:60px;align-items:start}
.cs11-closing h2{font-size:clamp(36px,3.8vw,56px);line-height:1.05;color:var(--deep)}
.cs11-closing p{font-size:17px;line-height:1.76;color:var(--muted)}
.case-v11 .final-cta .cta-inner{text-align:left}
@media(max-width:1180px){
  .cs11-hero-grid,.cs11-lens-inner,.cs11-case,.cs11-case-top,.cs11-closing-grid{grid-template-columns:1fr}
  .cs11-case-media{min-height:300px}
  .cs11-lens-steps{grid-template-columns:repeat(2,1fr)}
  .cs11-meta{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:760px){
  .cs11-hero{padding:112px 0 58px}
  .cs11-hero h1{font-size:clamp(40px,12vw,58px)}
  .cs11-lens,.cs11-cases,.cs11-closing{padding:58px 0}
  .cs11-lens-steps,.cs11-case-grid{grid-template-columns:1fr}
  .cs11-case-content{padding:28px}
  .cs11-after{grid-column:auto}
  .cs11-quote-block p,.cs11-after p{font-size:23px}
}



/* ===== Case Studies V12 - media-led one-page layout ===== */
.case-v12{background:var(--ivory)}
.case-v12 .site-header{border-bottom:1px solid rgba(8,39,54,.08)}
.case-v12 .button.primary{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.cs12-hero{background:#F7F3EC;padding:118px 0 66px;border-bottom:1px solid var(--line)}
.cs12-hero-grid{display:grid;grid-template-columns:minmax(520px,.86fr) 1fr;gap:70px;align-items:end}
.cs12-hero h1{font-size:clamp(44px,5vw,74px);line-height:.98;color:var(--deep);max-width:860px}
.cs12-hero p{font-size:18px;line-height:1.68;color:var(--muted);max-width:760px}
.cs12-intro{background:var(--ivory);padding:44px 0 50px}
.cs12-intro-inner{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:start}
.cs12-intro-line{height:4px;background:var(--red);margin-top:14px}
.cs12-intro p{font-size:20px;line-height:1.72;color:var(--deep);max-width:1050px;font-family:var(--serif)}
.cs12-nav{background:#082736;padding:20px 0;position:sticky;top:76px;z-index:30}
.cs12-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cs12-nav a{text-decoration:none;color:#fff;background:#0D3140;padding:18px 20px;transition:.25s}
.cs12-nav a:hover{background:#123D4E;transform:translateY(-2px)}
.cs12-nav span{display:block;color:#E6B1BD;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:8px}
.cs12-nav strong{display:block;font-size:22px;line-height:1.1;margin-bottom:6px}
.cs12-nav em{font-style:normal;color:rgba(255,255,255,.62);font-size:13px}
.cs12-cases{background:#082736;color:#fff}
.cs12-case{padding:78px 0 86px;border-bottom:1px solid rgba(255,255,255,.12)}
.cs12-case-alt{background:#F7F3EC;color:var(--deep)}
.cs12-case-head{display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:start;margin-bottom:30px}
.cs12-case-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#E6B1BD;padding-top:12px}
.cs12-case-alt .cs12-case-kicker{color:var(--red)}
.cs12-case-head h2{font-size:clamp(38px,4vw,60px);line-height:1.02;color:inherit;max-width:1080px}
.cs12-case-head p{font-size:17px;line-height:1.66;color:rgba(255,255,255,.68);max-width:920px}
.cs12-case-alt .cs12-case-head p{color:var(--muted)}
.cs12-case-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:34px;align-items:start}
.cs12-case-layout.reverse{grid-template-columns:minmax(520px,1.05fr) minmax(420px,.95fr)}
.cs12-case-layout.reverse .cs12-media-stack{grid-column:2}
.cs12-case-layout.reverse .cs12-case-copy{grid-column:1;grid-row:1}
.cs12-media-stack{position:sticky;top:150px}
.cs12-media-main{position:relative;height:420px;overflow:hidden;background:#0D3140;margin-bottom:12px}
.cs12-media-main img,.cs12-thumb-row img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(.96);transition:.55s}
.cs12-media-main:hover img,.cs12-thumb-row figure:hover img{transform:scale(1.035)}
.cs12-media-caption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(8,39,54,.78);color:#fff;padding:12px 14px;font-size:14px;line-height:1.45}
.cs12-thumb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cs12-thumb-row figure{position:relative;height:132px;margin:0;overflow:hidden;background:#0D3140}
.cs12-thumb-row figcaption{position:absolute;left:9px;bottom:8px;background:rgba(255,255,255,.9);color:var(--deep);padding:5px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.cs12-case-copy{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:30px}
.cs12-case-alt .cs12-case-copy{background:#FFFDF8;border-color:var(--line)}
.cs12-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.cs12-meta span{border:1px solid rgba(255,255,255,.18);padding:8px 11px;font-size:12px;line-height:1.3;color:rgba(255,255,255,.80)}
.cs12-case-alt .cs12-meta span{border-color:var(--line);color:var(--deep);background:#F7F3EC}
.cs12-before,.cs12-after{font-family:var(--serif);font-size:25px;line-height:1.25;font-style:italic;color:#fff;margin:0 0 22px;padding-left:22px;border-left:3px solid var(--red)}
.cs12-case-alt .cs12-before,.cs12-case-alt .cs12-after{color:var(--deep)}
.cs12-route,.cs12-highlights,.cs12-culture{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:20px}
.cs12-case-alt .cs12-route,.cs12-case-alt .cs12-highlights,.cs12-case-alt .cs12-culture{border-top-color:var(--line)}
.cs12-route span,.cs12-highlights span,.cs12-culture span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#E6B1BD;margin-bottom:10px}
.cs12-case-alt .cs12-route span,.cs12-case-alt .cs12-highlights span,.cs12-case-alt .cs12-culture span{color:var(--red)}
.cs12-route p,.cs12-culture p{font-size:15.5px;line-height:1.68;color:rgba(255,255,255,.68)}
.cs12-case-alt .cs12-route p,.cs12-case-alt .cs12-culture p{color:var(--muted)}
.cs12-route b{color:#fff}
.cs12-case-alt .cs12-route b{color:var(--deep)}
.cs12-highlights ul{margin:0;padding-left:18px}
.cs12-highlights li{font-size:15px;line-height:1.58;color:rgba(255,255,255,.68);margin-bottom:7px}
.cs12-case-alt .cs12-highlights li{color:var(--muted)}
.cs12-culture{background:rgba(122,38,58,.16);border:1px solid rgba(122,38,58,.28);padding:20px;margin-top:20px}
.cs12-case-alt .cs12-culture{background:rgba(122,38,58,.08);border-color:rgba(122,38,58,.18)}
.cs12-after{margin-top:22px;margin-bottom:0;border-left-color:#E6B1BD}
.cs12-closing{background:#F7F3EC;padding:72px 0}
.cs12-closing-grid{display:grid;grid-template-columns:minmax(420px,.58fr) 1fr;gap:60px;align-items:start}
.cs12-closing h2{font-size:clamp(36px,3.8vw,56px);line-height:1.05;color:var(--deep)}
.cs12-closing p{font-size:17px;line-height:1.76;color:var(--muted)}
.case-v12 .final-cta .cta-inner{text-align:left}
@media(max-width:1120px){
  .cs12-hero-grid,.cs12-intro-inner,.cs12-case-head,.cs12-case-layout,.cs12-case-layout.reverse,.cs12-closing-grid{grid-template-columns:1fr}
  .cs12-case-layout.reverse .cs12-media-stack,.cs12-case-layout.reverse .cs12-case-copy{grid-column:auto;grid-row:auto}
  .cs12-media-stack{position:relative;top:auto}
  .cs12-nav{position:relative;top:auto}
  .cs12-nav-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .cs12-hero{padding:108px 0 56px}
  .cs12-hero h1{font-size:clamp(40px,12vw,56px)}
  .cs12-intro,.cs12-case,.cs12-closing{padding:56px 0}
  .cs12-thumb-row{grid-template-columns:1fr}
  .cs12-thumb-row figure{height:150px}
  .cs12-media-main{height:300px}
  .cs12-case-copy{padding:24px}
  .cs12-before,.cs12-after{font-size:23px}
}



/* ===== Case Studies V13 refinements ===== */
.case-v12 .cs12-hero{padding:122px 0 78px}
.case-v12 .cs12-hero-grid{align-items:start}
.case-v12 .cs12-hero-grid>.flow:first-child{transform:translateY(-10px)}
.case-v12 .cs12-hero-grid>.flow:last-child{padding-top:18px}
.case-v12 .cs12-hero .button.primary{margin-top:18px}
.cs12-media-note{color:rgba(255,255,255,.62);font-size:14px;line-height:1.6;padding:26px 0 0;max-width:900px}
.case-v12 .cs12-case-copy{background:transparent!important;border:0!important;padding:4px 0 0}
.case-v12 .cs12-case-alt .cs12-case-copy{background:transparent!important;border:0!important}
.case-v12 .cs12-meta{margin-bottom:24px}
.case-v12 .cs12-meta span{border:0;border-bottom:1px solid rgba(255,255,255,.24);padding:0 0 8px;background:transparent;color:rgba(255,255,255,.76);border-radius:0}
.case-v12 .cs12-case-alt .cs12-meta span{border:0;border-bottom:1px solid rgba(8,39,54,.18);background:transparent;color:var(--muted)}
.case-v12 .cs12-before,.case-v12 .cs12-after{font-size:22px;line-height:1.28;padding-left:18px;margin-bottom:20px}
.case-v12 .cs12-route,.case-v12 .cs12-highlights{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:18px}
.case-v12 .cs12-case-alt .cs12-route,.case-v12 .cs12-case-alt .cs12-highlights{border-top-color:rgba(8,39,54,.14)}
.case-v12 .cs12-culture{background:transparent!important;border:0!important;border-left:4px solid var(--red)!important;padding:8px 0 8px 20px!important;margin-top:20px}
.case-v12 .cs12-culture span{color:#E6B1BD}
.case-v12 .cs12-case-alt .cs12-culture span{color:var(--red)}
.case-v12 .cs12-culture p{font-family:var(--serif);font-size:21px;line-height:1.42;color:rgba(255,255,255,.82)}
.case-v12 .cs12-case-alt .cs12-culture p{color:var(--deep)}
.case-v12 .cs12-media-main{height:460px}
.case-v12 .cs12-thumb-row figure{height:150px}
.case-v12 .cs12-media-caption{max-width:72%;font-size:13.5px;line-height:1.42}
.case-v12 .cs12-case{padding:82px 0 92px}
.case-v12 .cs12-case-layout{gap:46px}
.case-v12 .final-cta .cta-inner{text-align:left;max-width:1180px}
.case-v12 .final-cta .cta-inner p{max-width:980px}
@media(max-width:1120px){
  .case-v12 .cs12-media-caption{max-width:none}
  .case-v12 .cs12-case-copy{padding-top:20px}
}
@media(max-width:760px){
  .case-v12 .cs12-hero-grid>.flow:first-child{transform:none}
  .case-v12 .cs12-hero-grid>.flow:last-child{padding-top:0}
  .case-v12 .cs12-media-main{height:320px}
  .case-v12 .cs12-thumb-row figure{height:160px}
  .case-v12 .cs12-before,.case-v12 .cs12-after,.case-v12 .cs12-culture p{font-size:20px}
}



/* ===== V14 small fixes: final CTA line width + hyphen cleanup ===== */
.case-v12 .final-cta .cta-inner {
  max-width: none !important;
  width: 100% !important;
}
.case-v12 .final-cta .cta-inner p {
  max-width: 1120px !important;
  width: 100% !important;
}
.case-v12 .final-cta .cta-inner h2 {
  max-width: 1120px !important;
}



/* ===== V15 fixes: clearer hero title + CTA alignment ===== */



/* ===== V16 fixes: hero title + final CTA alignment ===== */
.case-v12 .final-cta .container,
.case-v12 .final-cta .cta-inner {
  max-width: 1200px !important;
  width: min(calc(100% - 72px), 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}
.case-v12 .final-cta .cta-inner h2,
.case-v12 .final-cta .cta-inner p {
  max-width: 940px !important;
  width: auto !important;
  white-space: normal !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.case-v12 .final-cta .cta-inner .button {
  margin-left: 0 !important;
}
@media(max-width: 760px) {
  .case-v12 .final-cta .container,
  .case-v12 .final-cta .cta-inner {
    width: min(calc(100% - 40px), 1200px) !important;
  }
}
