/* Raster artwork keeps its original image geometry but uses coordinated offering
   gradient assets until the next photographic set is installed. */
.implementation-page .implementation-hero { margin-bottom:0; }
.implementation-hero__media { position:absolute; inset:0; z-index:0; }
/* Match the Ethos hero's shared drift duration and timing curve. */
.implementation-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% center; transform-origin:center; animation:ethosHeroImageReveal var(--hero-image-reveal-duration) var(--hero-image-reveal-ease) both,ethosHeroImageDrift var(--hero-image-drift-pass-duration) var(--hero-image-drift-ease) infinite alternate; }
.implementation-page .about-landing-hero__content { width:var(--hero-banner-content-width); }
/* The client thought stream turns market signals into human questions before
   introducing the possible ways of working below. */
.implementation-visual-stage {
  position:relative;
  min-height:clamp(620px, 56vw, 760px);
  box-sizing:border-box;
  padding:clamp(76px,7vw,112px) var(--page-gutter);
  background:var(--color-brand);
  display:grid;
  grid-template-columns:clamp(132px,13vw,184px) 48px minmax(0,760px) var(--carousel-footer-control-size);
  grid-template-rows:auto auto;
  justify-content:center;
  align-items:center;
  align-content:center;
  column-gap:clamp(18px,2.5vw,38px);
  row-gap:clamp(24px,2.5vw,38px);
  overflow:hidden;
}
.implementation-visual-stage::before { display:none; }
.implementation-visual-stage__intro { display:contents; text-align:left; }
.implementation-visual-stage__intro h2 { grid-column:1; grid-row:2; align-self:start; margin:18px 0 0; color:#cfe0a3; font-family:var(--font-body); font-size:clamp(1.4rem,1.75vw,1.75rem); line-height:1.16; font-weight:var(--card-title-weight); text-align:center; transform:translate(-34px,-56px); }
.implementation-visual-stage__intro p { max-width:760px; margin:var(--space-3) auto 0; color:var(--color-text-inverse); font-size:var(--type-body-lg); line-height:var(--leading-body); }
.client-thought-stream { display:contents; }
.client-story-portrait { position:relative; width:clamp(132px,13vw,184px); aspect-ratio:1; margin:0; overflow:hidden; border:0; border-radius:50%; background:#2e7d52; box-shadow:0 0 0 5px var(--color-surface),var(--shadow-card); }
.client-story-portrait { grid-column:1; grid-row:1 / 3; align-self:center; transform:translateX(-34px); }
.client-thought-stream__arrow { display:block; grid-column:2; grid-row:1 / 3; align-self:center; z-index:1; width:48px; height:48px; object-fit:contain; }
.client-story-portrait img {
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  object-fit:cover;
  opacity:0;
  transform:scale(1.035);
  transform-origin:center;
  transition:opacity 1.25s cubic-bezier(.22,1,.36,1), transform 9.5s var(--hero-ken-burns-ease);
  will-change:opacity,transform;
}
.client-story-portrait img.is-active { opacity:1; transform:scale(1); }
.client-thought-stream__viewport { position:relative; grid-column:3; grid-row:1 / 3; width:min(100%,760px); height:480px; }
.client-thought-stream__controls { position:relative; z-index:4; grid-column:4; grid-row:1 / 3; align-self:center; display:flex; flex-direction:column; gap:12px; }
.client-thought-stream__controls .carousel-footer-nav__button:is(:hover,:focus-visible,:active) { border-color:var(--color-brand-accent); background:var(--color-brand-accent); color:#fff; }
.client-thought-stream__controls .carousel-footer-nav__button:focus-visible { outline-color:#fff; }
.client-thought-stream__controls .carousel-footer-nav__button:is(:hover,:focus-visible) [data-lucide="arrow-up"] { transform:translateY(calc(-1 * var(--arrow-hover-distance))); }
.client-thought-stream__controls .carousel-footer-nav__button:is(:hover,:focus-visible) [data-lucide="arrow-down"] { transform:translateY(var(--arrow-hover-distance)); }
.implementation-visual-stage .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.client-thought-stream__list { position:absolute; inset:0; margin:0; padding:0; list-style:none; }
.client-thought-stream__item { position:absolute; top:50%; left:0; width:100%; min-height:58px; box-sizing:border-box; display:flex; align-items:center; margin:0; padding:14px 38px; border:1px solid transparent; border-radius:14px; color:var(--color-text-inverse); font-size:1.1rem; line-height:1.45; opacity:0; transform:translate3d(0,180px,0) scale(.96); transform-origin:left center; transition:transform 1.25s cubic-bezier(.22,1,.36,1), opacity 1.25s cubic-bezier(.22,1,.36,1), background-color 1.25s ease, border-color 1.25s ease, box-shadow 1.25s ease; will-change:transform,opacity; }
.client-thought-stream__item[data-distance="-3"] { opacity:.2; transform:translate3d(0,-255px,0) scale(.78); }
.client-thought-stream__item[data-distance="-2"] { opacity:.28; transform:translate3d(0,-222.5px,0) scale(.84); }
.client-thought-stream__item[data-distance="-1"] { opacity:.5; transform:translate3d(0,-190px,0) scale(.92); }
.client-thought-stream__item[data-distance="0"] { z-index:2; min-height:150px; padding:26px 38px; border-color:var(--color-offering-tint,#cfe3d8); background:var(--color-surface); box-shadow:0 14px 34px rgba(31,82,60,.08); color:#2e7d52; font-size:clamp(1.25rem,1.55vw,1.5rem); font-weight:500; opacity:1; transform:translate3d(0,-78px,0) scale(1); }
.client-thought-stream__item[data-distance="1"] { opacity:.5; transform:translate3d(0,133px,0) scale(.9); }
.client-thought-stream__item[data-distance="2"] { opacity:.28; transform:translate3d(0,165.5px,0) scale(.82); }
.client-thought-stream__item[data-distance="3"] { opacity:.2; transform:translate3d(0,198px,0) scale(.78); }
.client-thought-stream__item:not([data-distance="0"]) {
  max-height:58px;
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 72%,transparent 98%);
  mask-image:linear-gradient(to right,#000 0%,#000 72%,transparent 98%);
}
.implementation-section-divider {
  display:none;
}
.implementation-process { padding:clamp(84px,9vw,140px) 0; background:var(--color-surface-cream); }
.implementation-process__heading { max-width:900px; margin:0 auto clamp(56px,6vw,90px); text-align:center; }
.implementation-process__heading .section-eyebrow { margin:0 0 var(--space-3); color:var(--color-brand-accent); }
.implementation-process__heading h2 { margin:0; color:var(--color-brand); font-family:var(--font-display); font-size:var(--type-heading-lg); line-height:var(--leading-heading); }
.implementation-process__heading > p:last-child { max-width:800px; margin:var(--space-4) auto 0; color:var(--color-text); font-size:var(--type-body-lg); line-height:var(--leading-body); }
.implementation-process__map { display:grid; grid-template-columns:minmax(460px,1.03fr) 56px minmax(610px,1.45fr); align-items:stretch; gap:clamp(20px,2vw,34px); }
.implementation-process__inputs { position:relative; isolation:isolate; display:grid; grid-template-columns:118px minmax(0,1fr); align-items:stretch; gap:clamp(50px,4vw,70px); }
.implementation-process__inputs::before { position:absolute; z-index:-1; top:calc(50% - 60px); right:-18px; left:58px; height:450px; content:""; background:linear-gradient(90deg,rgba(205,221,169,.5) 0%,rgba(220,228,187,.24) 58%,rgba(245,246,237,0) 100%); clip-path:polygon(0 50%,100% 0,100% 100%); transform:translateY(-50%); pointer-events:none; }
.implementation-process__client-needs { position:relative; min-height:430px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; transform:translateY(-60px); }
.implementation-process__client-needs::after { position:absolute; top:calc(50% - 14px); right:-52px; width:36px; height:36px; content:""; background:url("assets/how-we-implement/client-thought-arrow.svg?v=2") center / contain no-repeat; }
.implementation-process__client-needs > p { width:148px; margin:0; color:var(--color-text); font-size:1rem; line-height:1.35; font-weight:500; text-align:center; }
.implementation-process__client-needs > p,.implementation-process__client-portrait { top:20px; }
.implementation-process__client-needs > p { position:relative; }
.implementation-process__client-portrait { position:relative; width:110px; aspect-ratio:1; margin:0; overflow:hidden; border:3px solid var(--color-surface-cream); border-radius:50%; background:#2e7d52; box-shadow:0 7px 20px rgba(0,87,70,.14); }
.implementation-process__client-portrait img { position:absolute; inset:-2px; width:calc(100% + 4px); height:calc(100% + 4px); object-fit:cover; opacity:0; transform:scale(1.04); transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 7.2s var(--hero-ken-burns-ease); }
.implementation-process__client-portrait img.is-active { opacity:1; transform:scale(1); }
.implementation-process__frameworks > header,.implementation-process__rhythm > header { margin-bottom:clamp(34px,3vw,48px); text-align:center; }
.implementation-process__frameworks,.implementation-process__rhythm { display:flex; flex-direction:column; }
.implementation-process__frameworks h3,.implementation-process__rhythm h3 { margin:0; color:var(--color-brand-accent); font:500 clamp(1.3rem,1.65vw,1.75rem)/1.2 var(--font-body); }
.implementation-process__frameworks > header p { max-width:340px; margin:var(--space-2) auto 0; color:var(--color-text); font-size:.9rem; line-height:1.35; }
.implementation-process__framework-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.implementation-process__framework-grid.is-marquee { height:488px; overflow:hidden; gap:12px; margin-top:8px; padding-inline:2px; box-sizing:border-box; -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%); }
.implementation-process__framework-column { min-width:0; overflow:visible; }
.implementation-process__framework-track { display:flex; flex-direction:column; will-change:transform; animation:framework-stream 58s linear infinite; }
.implementation-process__framework-column:nth-child(2) .implementation-process__framework-track { animation-duration:72s; }
.implementation-process__framework-group { display:flex; flex-direction:column; gap:10px; padding-bottom:10px; }
@keyframes framework-stream { to { transform:translateY(-50%); } }
.implementation-process__framework-card { height:128px; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; padding:14px 16px; border:1px solid #cddda9; border-radius:14px; background:rgba(255,255,255,.58); text-align:left; }
.implementation-process__framework-card--wide { grid-column:1 / -1; }
.implementation-process__framework-card img { flex:0 0 22px; width:22px; height:22px; object-fit:contain; }
.implementation-process__framework-card h4 { margin:0; color:var(--color-brand); font-size:.8rem; line-height:1.3; font-weight:500; text-align:left; }
.implementation-process__framework-card--dense { gap:8px; }
.implementation-process__framework-card--dense h4 { font-size:.72rem; line-height:1.2; }
.implementation-process__framework-note,.implementation-process__rhythm-note { position:relative; height:96px; min-height:96px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; margin:var(--space-4) 0 0; padding:12px 0; color:var(--color-text); font-size:1rem; line-height:1.4; text-align:center; }
.implementation-process__framework-note,.implementation-process__rhythm-note { font-size:1.25rem; }
.implementation-process__framework-note { margin-top:clamp(42px,4vw,58px); }
.implementation-process__inputs .implementation-process__framework-note { margin-top:calc(clamp(42px,4vw,58px) + 24px); }
.implementation-process__framework-note::before,.implementation-process__rhythm-note::before { position:absolute; top:0; left:0; width:100%; height:50%; box-sizing:border-box; content:""; border-right:1px solid #8db6a7; border-bottom:1px solid #8db6a7; border-left:1px solid #8db6a7; }
.implementation-process__framework-note span,.implementation-process__rhythm-note span { position:relative; z-index:1; display:inline-block; max-width:calc(100% - 70px); padding:0 28px; background:var(--color-surface-cream); }
.implementation-process__framework-link { align-self:center; margin-top:14px; }
.implementation-process__handoff { display:block; width:76px; height:76px; align-self:center; justify-self:center; object-fit:contain; transform:translateY(-60px); }
.implementation-process__rhythm { position:relative; min-width:0; justify-content:center; }
.implementation-process__rhythm--placeholder { min-height:780px; }
.implementation-process__packages { width:min(100%,760px); margin-inline:auto; }
.implementation-process__package-marquee { width:100%; padding-block:8px 24px; }
.implementation-process__package-track { width:100%; }
.implementation-process__package-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.implementation-process__package-card { min-width:0; height:88px; display:grid; grid-template-columns:76px minmax(0,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-card); background:#0b6a55; box-shadow:0 8px 20px rgba(0,0,0,.12); }
.implementation-process__package-card[href] { color:inherit; text-decoration:none; cursor:pointer; transition:transform var(--card-lift-duration) var(--card-lift-ease),box-shadow var(--card-lift-duration) var(--card-lift-ease),background-color var(--card-lift-duration) var(--card-lift-ease),border-color var(--card-lift-duration) var(--card-lift-ease); }
.implementation-process__package-card[href]:is(:hover,:focus-visible) { transform:translateY(-4px); border-color:var(--color-brand-accent); background-color:var(--color-brand); box-shadow:0 12px 24px rgba(0,0,0,.18); }
.implementation-process__package-card[href]:focus-visible { outline:3px solid var(--color-focus); outline-offset:3px; }
.implementation-process__package-image {
  position:relative;
  min-width:0;
  overflow:hidden;
  background-color:#2e7d52;
}
.implementation-process__package-image::before {
  position:absolute;
  inset:0;
  content:"";
  background-image:url("assets/how-we-implement/package-card-grid.svg");
  background-position:-34px center;
  background-size:118px 118px;
  background-repeat:no-repeat;
  opacity:.76;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 34%,rgba(0,0,0,.62) 62%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 34%,rgba(0,0,0,.62) 62%,transparent 100%);
  pointer-events:none;
}
.implementation-process__package-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.implementation-process__package-copy { min-width:0; display:flex; align-items:center; box-sizing:border-box; padding:14px 16px; }
.implementation-process__package-copy .implementation-placeholder-mark { display:none; }
.implementation-process__package-copy h4 { margin:0; color:var(--color-text-inverse); font:500 .92rem/1.25 var(--font-body); }
.implementation-process__stages { position:relative; isolation:isolate; width:min(100%,620px); height:660px; margin-inline:auto; }
.implementation-process__stages::before { position:absolute; z-index:-1; top:78px; left:50%; width:440px; height:440px; box-sizing:border-box; content:""; border:1px solid #8db6a7; border-radius:50%; transform:translateX(-50%); }
.implementation-process__orbit-title { position:absolute; top:298px; left:50%; width:240px; margin:0; text-align:center; transform:translate(-50%,-50%); }
.implementation-process__stage { position:absolute; width:190px; min-width:0; text-align:center; }
.implementation-process__stage:nth-of-type(1) { top:0; left:50%; transform:translateX(-50%); }
.implementation-process__stage:nth-of-type(2) { top:220px; right:0; }
.implementation-process__stage:nth-of-type(3) { top:440px; left:50%; transform:translateX(-50%); }
.implementation-process__stage:nth-of-type(4) { top:220px; left:0; }
.implementation-process__stage-arrow { position:absolute; z-index:1; display:block; width:32px; height:32px; margin:0; object-fit:contain; background:var(--color-surface-cream); border-radius:50%; }
.implementation-process__stage-arrow:nth-of-type(1) { top:126px; right:138px; transform:rotate(45deg); }
.implementation-process__stage-arrow:nth-of-type(2) { top:438px; right:138px; transform:rotate(135deg); }
.implementation-process__stage-arrow:nth-of-type(3) { top:438px; left:138px; transform:rotate(225deg); }
.implementation-process__stage-arrow:nth-of-type(4) { top:126px; left:138px; transform:rotate(315deg); }
.implementation-process__stage > span { width:min(100%,156px); aspect-ratio:1; display:grid; place-items:center; margin:0 auto; border-radius:50%; background:var(--color-brand); color:#fff; font-size:clamp(1.05rem,1.35vw,1.35rem); line-height:1; }
.implementation-process__stage p { min-height:2.8em; margin:var(--space-4) auto 0; color:var(--color-text); font-size:.9rem; line-height:1.35; white-space:nowrap; }
.implementation-process__rhythm-note { position:relative; right:auto; bottom:auto; left:auto; width:auto; margin-top:var(--space-7); }
@media (prefers-reduced-motion: reduce) {
  .implementation-process__package-card[href] { transition:none; }
  .implementation-process__package-card[href]:is(:hover,:focus-visible) { transform:none; }
  .client-story-portrait img, .client-thought-stream__item, .implementation-process__client-portrait img { transition:none; }
  .implementation-index.is-card-reveal-ready .implementation-overview-card { opacity:1 !important; transform:none !important; transition:none !important; }
  .implementation-overview-artwork.is-reveal-ready :is(.implementation-overview-artwork__base,.implementation-overview-artwork__cta h3,.implementation-overview-artwork__cta > span,.implementation-overview-artwork__symbol,.implementation-overview-artwork__link) { opacity:1 !important; transition:none !important; }
  .implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__base { transform:translate(-50%,-50%) !important; }
  .implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__cta :is(h3,span) { transform:none !important; }
  .implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__symbol { transform:none !important; }
  .implementation-overview-artwork:has(.implementation-overview-artwork__link:is(:hover,:focus-visible)) .implementation-overview-artwork__symbol { animation:none !important; }
  .implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__link { transform:translateX(-50%) !important; }
  .implementation-process__framework-track { animation-play-state:paused; }
}
.implementation-overview { background:var(--color-surface-cream); padding:calc(var(--space-8) + var(--space-5)) 0 calc(var(--space-9) + var(--space-8)); }
.implementation-impact { padding:0 0 clamp(48px,6vw,88px); background:var(--color-surface-cream); color:var(--color-text-inverse); }
.implementation-impact__inner { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:stretch; height:340px; gap:clamp(28px,4vw,64px); overflow:hidden; border-radius:var(--radius-card); background:linear-gradient(115deg,var(--color-brand),#2e7d52); }
.implementation-impact__image { min-width:0; margin:0; overflow:hidden; }
.implementation-impact__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--card-media-zoom-duration) var(--card-media-zoom-ease); }
@media (hover:hover) and (pointer:fine) { .implementation-impact__inner:hover .implementation-impact__image img { transform:scale(var(--card-media-zoom-scale)); } }
.implementation-impact__inner:focus-within .implementation-impact__image img { transform:scale(var(--card-media-zoom-scale)); }
@media (max-width:1100px) and (min-width:761px) { .implementation-impact__inner { height:auto; min-height:340px; } }
@media (prefers-reduced-motion:reduce) { .implementation-impact__image img { transition:none; } .implementation-impact__inner:is(:hover,:focus-within) .implementation-impact__image img { transform:none; } }
.implementation-impact__copy { align-self:center; max-width:680px; padding:clamp(24px,3vw,42px) clamp(24px,3vw,42px) clamp(24px,3vw,42px) 0; }
.implementation-impact h2 { margin:0; font:500 clamp(2rem,2.7vw,3rem)/1.1 var(--font-body); }
.implementation-impact p:not(.section-eyebrow) { max-width:580px; margin:var(--space-4) 0 0; font-size:var(--type-body); line-height:var(--leading-body); }
.implementation-impact__link { margin-top:var(--space-5); border-color:var(--color-surface); background:var(--color-surface); color:var(--color-brand); white-space:nowrap; }
.implementation-impact__link:is(:hover,:focus-visible) { border-color:var(--moss); background:var(--moss); color:var(--color-brand); }
@media (max-width:760px) { .implementation-impact__inner { grid-template-columns:minmax(0,1fr); gap:0; height:auto; } .implementation-impact__image img { height:auto; } .implementation-impact__copy { max-width:760px; padding:clamp(24px,6vw,42px); } }
.implementation-page .site-footer { margin-top:0; }
.implementation-overview__heading { text-align:center; margin-bottom:var(--space-8); }
.implementation-overview__heading h2 { margin:0; font-family:var(--font-display); font-size:var(--type-heading-md); line-height:var(--leading-heading); color:#2e7d52; }
.implementation-overview__heading p { margin:0; color:var(--color-brand-accent); }
.implementation-overview__heading .implementation-overview__intro { max-width:820px; margin:var(--space-4) auto 0; color:var(--color-text); font-size:var(--type-body-lg); line-height:var(--leading-body); }
.implementation-index { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-5); }
/* The overview uses one restrained rounded-card silhouette across all offerings. */
.implementation-overview-card { display:flex; flex-direction:column; overflow:hidden; box-sizing:border-box; border:1px solid var(--mega-menu-card-border); border-radius:var(--radius-card); color:var(--color-text); text-decoration:none; text-align:left; min-width:0; box-shadow:0 8px 20px rgba(31,82,60,0); }
.implementation-overview-card[id] { scroll-margin-top:var(--space-8); }
.implementation-index.is-card-reveal-ready .implementation-overview-card {
  opacity:0;
  transform:translate3d(0,38px,0) scale(.985);
  transition:opacity 760ms var(--motion-ease-soft),transform 920ms var(--motion-ease-soft),box-shadow 420ms var(--motion-ease-soft);
  transition-delay:calc(var(--card-entry-index,0) * 105ms);
  will-change:opacity,transform;
}
.implementation-index.is-card-reveal-ready.is-card-reveal-visible .implementation-overview-card {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.implementation-overview-card__image { --package-fold-size:clamp(70px,5.25vw,92px); position:relative; overflow:hidden; aspect-ratio:2 / 1; background-color:#2e7d52; background-image:linear-gradient(90deg,rgba(46,125,82,0) 0%,rgba(46,125,82,.08) 30%,#2e7d52 78%),url("assets/how-we-implement/package-card-grid.svg"); background-position:left center,left center; background-size:100% 100%,auto 185%; background-repeat:no-repeat; }
.implementation-overview-card__image::before {
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  width:0;
  height:0;
  content:"";
  border-top:var(--package-fold-size) solid #cfe0a3;
  border-left:var(--package-fold-size) solid transparent;
}
.implementation-overview-card__image::after {
  position:absolute;
  z-index:3;
  top:clamp(21px,1.7vw,28px);
  right:clamp(-4px,-.2vw,-1px);
  width:clamp(58px,4.2vw,74px);
  content:"PACKAGE";
  color:#2e7d52;
  font:650 clamp(.56rem,.62vw,.7rem)/1 var(--font-body);
  letter-spacing:.06em;
  text-align:center;
  white-space:normal;
  transform:rotate(45deg);
  transform-origin:center;
}
.implementation-overview-card__copy { background:var(--color-surface); padding:var(--space-5) var(--space-4) var(--space-8); display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.implementation-icon { width:64px; height:64px; object-fit:contain; flex-shrink:0; }
.implementation-overview-card .implementation-icon,.implementation-overview-card .implementation-placeholder-mark { display:none; }
.implementation-overview-card__title { align-self:stretch; font-family:var(--font-body); font-weight:var(--card-title-weight); font-size:1.875rem; line-height:var(--leading-heading); color:var(--color-brand-accent); margin:0 0 var(--space-4); min-height:3.54em; display:flex; align-items:center; text-align:left; }
.implementation-overview-card p { width:100%; border-top:1px solid var(--color-border); padding-top:var(--space-5); margin:0; font-size:var(--type-body); line-height:1.5; }
/* Every option uses the same brand-green ink and soft tint for a cohesive grid. */
[data-offering="listening-engagement"],
[data-offering="booster-90"],
[data-offering="fresh-look"],
[data-offering="executive-cohesion"],
[data-offering="embedded-partner"],
[data-offering="human-ai-work-design"],
[data-offering="transformation-office"],
[data-offering="people-culture-integration"],
[data-offering="data-based-storytelling"],
[data-offering="adaptive-secondment"],
#listening-engagement,
#booster-90,
#fresh-look,
#executive-cohesion {
  --color-offering-ink:#2e7d52;
  --color-offering-tint:#cfe3d8;
}
.implementation-overview-card__title { color:var(--color-offering-ink); }
.implementation-overview-card p { border-color:var(--color-offering-tint); }
/* Keep the service-wide message in document flow so content determines card height. */
.implementation-overview-artwork { display:flex; flex-direction:column; position:relative; grid-column:span 2; align-self:stretch; min-width:0; min-height:min-content; margin:0; overflow:hidden; border-radius:var(--radius-card); background:#2e7d52; }
.implementation-overview-artwork__base { position:absolute; top:91%; left:50%; display:block; width:118%; height:118%; object-fit:contain; object-position:center; transform:translate(-50%,-50%); }
.implementation-overview-artwork__cta { position:relative; z-index:2; width:min(76%,520px); margin:0 auto; padding-block:clamp(34px,4vw,64px) var(--space-6); color:#fff; text-align:center; }
.implementation-overview-artwork__cta h3 { margin:0; font-family:var(--font-display); font-size:clamp(1.75rem,2.7vw,2.75rem); line-height:1.08; }
.implementation-overview-artwork__cta h3 span { display:block; }
.implementation-overview-artwork__cta > span { display:block; margin-top:clamp(22px,2vw,30px); font-size:clamp(.95rem,1.2vw,1.125rem); line-height:1.4; }
.implementation-overview-artwork__link { position:absolute; z-index:3; bottom:clamp(34px,4vw,58px); left:50%; border-color:var(--color-surface); background:var(--color-surface); color:var(--color-brand); box-shadow:var(--shadow-sm); transform:translateX(-50%); white-space:nowrap; transition:color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease); }
.implementation-overview-artwork__link:hover,.implementation-overview-artwork__link:focus-visible { border-color:var(--moss); background:var(--moss); color:var(--color-brand); box-shadow:var(--shadow-sm); transform:translate(-50%,-1px); }
.implementation-overview-artwork__link:active { transform:translate(-50%,0); }
.implementation-overview-artwork__symbol { position:relative; z-index:2; display:block; width:clamp(72px,7.5vw,112px); height:auto; margin:auto auto var(--space-6); flex-shrink:0; }
.implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__base { opacity:0; transform:translate(-50%,calc(-50% + 34px)) scale(.96); transition:opacity 820ms var(--motion-ease-soft),transform 1100ms var(--motion-ease-soft); }
.implementation-overview-artwork.is-reveal-ready .implementation-overview-artwork__link { opacity:0; transform:translate(-50%,24px); transition:opacity 620ms var(--motion-ease-soft) 480ms,transform 780ms var(--motion-ease-soft) 480ms,color 220ms ease,background 220ms ease,border-color 220ms ease,box-shadow 220ms ease; }
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__base { opacity:1; transform:translate(-50%,-50%) scale(1); }
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__cta h3,
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__cta > span { opacity:1; transform:translateY(0); }
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__symbol { opacity:1; transform:none; }
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__link { opacity:1; transform:translateX(-50%); }
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__link:hover,
.implementation-overview-artwork.is-reveal-ready.is-reveal-visible .implementation-overview-artwork__link:focus-visible { transform:translate(-50%,-1px); }
@keyframes implementation-symbol-pulse {
  0%,100% { transform:translate(-50%,-50%) scale(1); }
  45% { transform:translate(-50%,-50%) scale(1.12); }
  72% { transform:translate(-50%,-50%) scale(.97); }
}
.implementation-overview-artwork:has(.implementation-overview-artwork__link:is(:hover,:focus-visible)) .implementation-overview-artwork__symbol { animation:implementation-symbol-pulse 680ms var(--motion-ease-soft) 1; }
.implementation-placeholder-mark { width:64px; height:64px; box-sizing:border-box; border:1px solid var(--color-offering-tint); border-radius:50%; background:var(--color-surface); display:grid; place-items:center; color:var(--color-offering-ink); font-size:.75rem; font-weight:700; letter-spacing:.08em; }
.implementation-service { padding-top:var(--space-9); scroll-margin-top:var(--space-9); }
.implementation-service-feature { border-radius:var(--radius-card); overflow:hidden; }
.implementation-service__media img { display:block; width:100%; height:auto; aspect-ratio:1914 / 822; }
.implementation-service__heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-7); align-items:center; padding:var(--space-6); background:var(--color-offering-ink); color:var(--color-text-inverse); }
.implementation-service__heading > div { display:flex; align-items:center; gap:var(--space-5); }
.implementation-service__heading .implementation-icon { background:var(--color-surface); border-radius:var(--radius-round); padding:var(--space-2); }
.implementation-service h2 { margin:0; font-family:var(--font-display); font-weight:var(--card-title-weight); font-size:var(--type-heading-md); line-height:var(--leading-heading); color:inherit; }
.implementation-service sup, .implementation-overview-card sup { font-size:.55em; }
.implementation-service p { margin:0; font-size:var(--type-body); line-height:var(--leading-body); }
.implementation-service__heading > p { border-left:1px solid var(--color-border); padding-left:var(--space-7); }
.implementation-detail { margin-top:var(--space-7); padding:var(--space-7); border:1px solid var(--color-offering-tint); border-radius:var(--radius-card); background:var(--color-surface); }
.implementation-method > header { text-align:center; margin-bottom:var(--space-7); }
.implementation-method > header p { margin:var(--space-5) auto 0; max-width:var(--text-max); }
.implementation-service h3 { font-family:var(--font-display); font-size:var(--type-heading-md); font-weight:var(--card-title-weight); line-height:var(--leading-heading); color:var(--color-offering-ink); margin:0; }
.implementation-service h4 { font-family:var(--font-body); font-size:var(--type-body-lg); font-weight:var(--type-editorial-emphasis-weight); line-height:var(--leading-heading); color:var(--color-offering-ink); margin:0 0 var(--space-4); }
.implementation-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-7); list-style:none; counter-reset:method; margin:0; padding:0; }
.implementation-steps li { counter-increment:method; }
.implementation-steps li::before { content:counter(method) "."; display:grid; place-items:center; width:var(--space-7); height:var(--space-7); border-radius:var(--radius-round); background:var(--color-offering-tint); font-family:var(--font-display); font-size:var(--type-body-lg); line-height:1; color:var(--color-offering-ink); margin:0 0 var(--space-5); }
.implementation-benefits { margin-top:var(--space-7); padding:var(--space-6); background:var(--color-page); border-radius:var(--radius-card); text-align:center; }
.implementation-examples { position:relative; container-type:inline-size; margin:0 auto var(--space-7); max-width:834px; }
.implementation-examples > img { width:100%; height:auto; display:block; }
/* Positions follow the supplied 820:410 fan sectors; copy remains selectable HTML. */
.implementation-examples__text { position:absolute; inset:0; }
.implementation-examples__text h3 { position:absolute; left:39%; top:82%; width:22%; font-family:var(--font-body); font-size:clamp(18px, 2.8cqw, 23px); line-height:1.2; color:var(--color-text-inverse); }
.implementation-examples__text ul { list-style:none; margin:0; padding:0; }
.implementation-examples__text li { position:absolute; width:27%; top:66%; transform:translate(-50%,-50%); font-size:clamp(16px, 2.4cqw, 20px); line-height:1.35; color:var(--evening-bay); }
.implementation-examples__text li:nth-child(1) { left:20%; }
.implementation-examples__text li:nth-child(2) { left:50%; top:34%; width:28%; }
.implementation-examples__text li:nth-child(3) { left:80%; }
.implementation-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-6); }
.implementation-benefit { border-radius:var(--radius-card); overflow:hidden; background:var(--color-surface); border:1px solid var(--color-offering-tint); }
.implementation-benefit__image img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; display:block; }
/* Offering gradients replace former detail crops without changing their frames. */
.implementation-benefit:nth-child(1) img { object-position:28% center; }
.implementation-benefit:nth-child(2) img { object-position:52% center; }
.implementation-benefit:nth-child(3) img { object-position:78% center; }
#booster-90 .implementation-benefit:nth-child(1) img { object-position:60% center; }
.implementation-benefit__copy { position:relative; padding:var(--space-7) var(--space-5) var(--space-6); }
.implementation-benefit__seal { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); display:block; width:var(--space-7); height:var(--space-7); }
.implementation-benefit__seal img { display:block; width:100%; height:100%; object-fit:contain; }
@media (max-width:1400px) {
 .client-story-portrait { transform:none; }
 .implementation-visual-stage__intro h2 { transform:translateY(-56px); }
}
@media (max-width:1600px) {
 .implementation-process__map { grid-template-columns:minmax(0,1fr); gap:42px; }
 .implementation-process__inputs { max-width:780px; width:100%; margin:0 auto; }
 .implementation-process__handoff { transform:translateY(-60px) rotate(90deg); }
 .implementation-process__rhythm { position:static; width:100%; justify-content:flex-start; }
 .implementation-process__rhythm-note { position:relative; right:auto; bottom:auto; left:auto; width:auto; margin-top:var(--space-7); }
 .implementation-process__stage > span { width:min(100%,150px); }
 .implementation-process__stage-arrow { margin-top:44px; }
}
@media (max-width:1100px) {
 .implementation-process__map { grid-template-columns:minmax(0,1fr); gap:42px; }
 .implementation-process__inputs { max-width:780px; width:100%; margin:0 auto; }
 .implementation-process__handoff { transform:translateY(-60px) rotate(90deg); }
 .implementation-process__rhythm { width:100%; }
 .implementation-process__rhythm { position:static; justify-content:flex-start; }
 .implementation-process__rhythm-note { position:relative; right:auto; bottom:auto; left:auto; width:auto; margin-top:var(--space-7); }
 .implementation-process__stage > span { width:min(100%,150px); }
 .implementation-process__stage-arrow { margin-top:44px; }
 .implementation-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .implementation-overview-artwork { grid-column:1 / -1; }
 .implementation-detail { padding:var(--space-6); }
 .implementation-steps { gap:var(--space-5); }
 .implementation-benefits { padding:var(--space-5); }
 .implementation-benefits__grid { gap:var(--space-4); }
 .implementation-service__heading { gap:var(--space-5); }
}
@media (max-width:1180px) {
 .implementation-hero__media img { object-position:center; }
 .implementation-visual-stage { min-height:540px; padding-inline:0; display:block; }
 .implementation-visual-stage::before { display:none; }
 .implementation-visual-stage__intro { display:block; padding:0; }
 .implementation-visual-stage__intro h2 { margin:12px 0 0; font-size:1.25rem; transform:none; }
 .client-thought-stream { display:grid; width:100%; box-sizing:border-box; padding-inline:clamp(24px,4vw,36px); grid-template-columns:auto minmax(0,1fr) var(--carousel-footer-control-size); grid-template-rows:auto auto; align-items:center; justify-content:stretch; column-gap:clamp(16px,3vw,26px); }
 .client-story-portrait { grid-column:1; grid-row:1; width:clamp(88px,14vw,118px); margin:0; transform:none; }
 .implementation-visual-stage__intro { grid-column:1; grid-row:2; }
 .client-thought-stream__arrow { display:none; }
 .client-thought-stream__viewport { grid-column:2; grid-row:1 / 3; width:100%; height:400px; }
 .client-thought-stream__controls { grid-column:3; grid-row:1 / 3; }
 .client-thought-stream__item { padding-inline:var(--space-4); }
 .client-thought-stream__item[data-distance="-2"] { transform:translate3d(0,-222.5px,0) scale(.86); }
 .client-thought-stream__item[data-distance="-1"] { transform:translate3d(0,-190px,0) scale(.93); }
 .client-thought-stream__item[data-distance="1"] { transform:translate3d(0,133px,0) scale(.93); }
 .client-thought-stream__item[data-distance="2"] { transform:translate3d(0,165.5px,0) scale(.86); }
 .client-thought-stream__item[data-distance="-3"],
 .client-thought-stream__item[data-distance="3"] { opacity:0; }
}
@media (max-width:760px) {
 .implementation-visual-stage { min-height:580px; padding-block:56px; }
 .implementation-visual-stage__intro { display:block; box-sizing:border-box; padding-inline:20px; }
 .client-thought-stream { width:100%; box-sizing:border-box; padding-inline:20px; grid-template-columns:minmax(0,1fr) var(--carousel-footer-control-size); grid-template-rows:auto auto 420px; justify-items:center; column-gap:12px; row-gap:16px; }
 .client-story-portrait { grid-column:1 / -1; grid-row:1; width:88px; margin:0 auto; z-index:2; }
 .implementation-visual-stage__intro { grid-column:1 / -1; grid-row:2; }
 .client-thought-stream__viewport { grid-column:1; grid-row:3; width:100%; height:540px; margin-top:16px; }
 .client-thought-stream__controls { grid-column:2; grid-row:3; }
 .client-thought-stream__item { font-size:.9rem; }
 .client-thought-stream__item[data-distance="0"] { min-height:112px; padding:20px 22px; border-radius:12px; font-size:clamp(1.05rem,4.8vw,1.2rem); line-height:1.4; transform:translate3d(0,-110px,0) scale(1); }
 .client-thought-stream__item[data-distance="-2"] { transform:translate3d(0,-250px,0) scale(.88); }
 .client-thought-stream__item[data-distance="-1"] { transform:translate3d(0,-215px,0) scale(.94); }
 .client-thought-stream__item[data-distance="1"] { transform:translate3d(0,59px,0) scale(.94); }
 .client-thought-stream__item[data-distance="2"] { transform:translate3d(0,200px,0) scale(.88); }
 .client-thought-stream__item[data-distance="-3"],
 .client-thought-stream__item[data-distance="-2"],
 .client-thought-stream__item[data-distance="1"],
 .client-thought-stream__item[data-distance="2"],
 .client-thought-stream__item[data-distance="3"] { visibility:hidden; opacity:0; }
 .implementation-process { padding:72px 0; }
 .implementation-process__heading { margin-bottom:48px; }
 .implementation-process__inputs { grid-template-columns:minmax(0,1fr); gap:34px; }
 .implementation-process__client-needs { min-height:180px; }
 .implementation-process__client-needs { transform:none; }
 .implementation-process__client-needs::after { top:auto; right:50%; bottom:-36px; transform:translateX(50%) rotate(90deg); }
 .implementation-process__handoff { transform:rotate(90deg); }
 .implementation-process__inputs .implementation-process__framework-note { margin-top:clamp(42px,4vw,58px); }
 .implementation-process__rhythm--placeholder { min-height:520px; }
 .implementation-process__package-group { grid-template-columns:minmax(0,1fr); }
 .implementation-process__framework-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .implementation-process__framework-card--wide { grid-column:auto; }
 .implementation-process__framework-card { height:128px; }
 .implementation-process__stages { width:100%; height:370px; }
 .implementation-process__stages::before { top:56px; left:50%; width:220px; height:220px; }
 .implementation-process__orbit-title { top:166px; width:140px; }
 .implementation-process__stage { width:136px; }
 .implementation-process__stage:nth-of-type(1) { top:0; }
 .implementation-process__stage:nth-of-type(2) { top:110px; }
 .implementation-process__stage:nth-of-type(3) { top:220px; }
 .implementation-process__stage:nth-of-type(4) { top:110px; }
 .implementation-process__stage > span { width:112px; }
 .implementation-process__stage p { font-size:.8rem; white-space:normal; }
 .implementation-process__stage-arrow { width:26px; height:26px; }
 .implementation-process__stage-arrow:nth-of-type(1) { top:75px; right:calc(50% - 91px); }
 .implementation-process__stage-arrow:nth-of-type(2) { top:231px; right:calc(50% - 91px); }
 .implementation-process__stage-arrow:nth-of-type(3) { top:231px; left:calc(50% - 91px); }
 .implementation-process__stage-arrow:nth-of-type(4) { top:75px; left:calc(50% - 91px); }
 .implementation-process__inputs::before { display:none; }
 .implementation-process__client-needs > p,.implementation-process__client-portrait { top:0; }
}
@media (max-width:760px) {
 .implementation-page .about-landing-hero__content.hero-headline-reveal.is-hero-headline-ready .hero-headline__word,
 .implementation-page .about-landing-hero__content.hero-headline-reveal.is-hero-headline-ready .hero-headline__eyebrow,
 .implementation-page .about-landing-hero__content.hero-headline-reveal.is-hero-headline-ready .hero-headline__description {
   opacity:1;
   transform:none;
   animation:none;
   will-change:auto;
 }
 .implementation-index { grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
 .implementation-overview-card__image { --package-fold-size:clamp(70px,20vw,92px); }
 .implementation-overview-card__image::after { top:clamp(21px,6vw,28px); right:clamp(-4px,-.5vw,-1px); width:clamp(58px,17vw,74px); content:"PACKAGE"; font-size:clamp(.56rem,2.4vw,.7rem); line-height:1; white-space:normal; }
 .implementation-overview-artwork { grid-column:span 1; }
 .implementation-overview-artwork__link { bottom:24px; left:50%; min-height:42px; padding-inline:14px; font-size:.85rem; transform:translateX(-50%); }
 .implementation-overview-artwork__symbol { width:64px; }
 .implementation-overview-card__copy { padding:var(--space-5) var(--space-5) var(--space-8); }
 .implementation-service { padding-top:var(--space-8); }
 .implementation-service__heading { grid-template-columns:minmax(0,1fr); padding:var(--space-5); }
 .implementation-service__heading > p { border-left:0; border-top:1px solid var(--color-border); padding:var(--space-5) 0 0; }
 .implementation-detail { padding:var(--space-5); }
 .implementation-steps, .implementation-benefits__grid { grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
 .implementation-benefits { padding:var(--space-4); }
 .implementation-examples > img { display:none; }
 .implementation-examples__text { position:static; width:auto; height:auto; margin:0; overflow:visible; clip-path:none; white-space:normal; text-align:left; }
 .implementation-examples__text h3 { position:static; width:auto; font-size:var(--type-heading-md); color:var(--color-offering-ink); }
 .implementation-examples__text ul { list-style:disc; padding-left:var(--space-5); margin-bottom:0; }
 .implementation-examples__text li:nth-child(n) { position:static; width:auto; transform:none; margin-top:var(--space-4); font-size:var(--type-body); line-height:var(--leading-body); }
.implementation-benefit__image img { aspect-ratio:1914 / 822; }
}
@media (max-width:820px) {
 .implementation-page .about-landing-hero__content { width:var(--hero-banner-mobile-content-width); margin-inline:auto; }
 .implementation-hero__media img { object-position:right center; animation:ethosHeroImageReveal var(--hero-image-reveal-duration) var(--hero-image-reveal-ease) both,ethosHeroImageDriftMobile var(--hero-image-drift-pass-duration) var(--hero-image-drift-ease) infinite alternate; }
}
@media (prefers-reduced-motion:reduce) {
 .implementation-hero__media img { opacity:1; transform:none; animation:none; }
}

/* The enablement panel leads with its service-wide layer before the headline. */
.implementation-overview-artwork__cta > .implementation-overview-artwork__eyebrow { margin:0 0 var(--space-4); font-size:var(--type-eyebrow-size); font-weight:600; letter-spacing:var(--type-eyebrow-letter-spacing); }
