*,
*::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/what-we-offer/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;
  }
}
