/* Services page, built from the home page's own parts: navy night-sky bands with
   the particle network, rounded white cards on warm off-white, hairline stat
   columns with gold numerals, gold outline / gradient buttons.
   Sits on bain-shared.css and reuses its tokens. */

:root{--svc-gold:#D4A849;--svc-gold-deep:#B8860B;--svc-gold-grad:linear-gradient(135deg,#E0B84A,#B8860B);--svc-card-radius:18px}

/* ---------- shared bits ---------- */
.svc-fx{position:absolute;inset:0;z-index:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.7;pointer-events:none}
.svc-head{max-width:900px}
.svc-head .lede{margin-top:20px;max-width:60ch}
.headline em{font-style:normal;color:var(--svc-gold)}
.svc-sub{margin-top:clamp(56px,7vw,88px)}
.svc-sub h3{font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.svc-sub__hint{margin-top:8px;font-family:var(--font-serif);font-size:15.5px;line-height:1.5;color:var(--text-muted);max-width:52ch}
.svc-sub .pillars,.svc-sub .svc-strip{margin-top:28px}

/* night-sky band, same recipe as the home page's "Who we are" */
.svc-night{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(160% 140% at 50% 30%,rgba(34,81,255,.2) 0%,rgba(var(--ink-rgb),.35) 55%,var(--ink) 100%),
    radial-gradient(140% 120% at 85% 90%,rgba(34,81,255,.1) 0%,transparent 65%),
    var(--ink);
}
.svc-night__inner{position:relative;z-index:1}
.svc-night :focus-visible{outline-color:#fff}
.svc-night .lede{color:rgba(255,255,255,.9)}

/* ---------- hero ---------- */
.svc-hero{
  text-align:center;padding:clamp(72px,11vw,140px) var(--section-x) clamp(64px,9vw,104px);
  background:
    radial-gradient(160% 140% at 50% 30%,rgba(34,81,255,.2) 0%,rgba(var(--ink-rgb),.35) 55%,var(--ink) 100%),
    radial-gradient(140% 120% at 85% 90%,rgba(34,81,255,.1) 0%,transparent 65%),
    var(--ink);
}
.svc-hero .eyebrow{color:var(--on-dark-faint)}
.svc-hero h1{margin:14px auto 0;max-width:18ch;font-size:clamp(2.4rem,6vw,5rem);line-height:1.05;letter-spacing:-.025em;font-weight:500;text-wrap:balance}
.svc-hero .lede{margin:22px auto 0;max-width:56ch;font-size:clamp(1.1rem,1.9vw,1.3rem);color:rgba(255,255,255,.9)}
.svc-cue{
  display:grid;place-items:center;width:64px;height:64px;margin:clamp(40px,6vw,64px) auto 0;
  border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;
  transition:background .4s var(--ease-out-quart), color .4s var(--ease-out-quart), border-color .4s var(--ease-out-quart), transform .5s var(--ease-out-expo);
}
.svc-cue svg{width:18px;height:18px;transform:rotate(90deg)}
.svc-cue:hover,.svc-cue:focus-visible{background:var(--svc-gold);border-color:var(--svc-gold);color:var(--ink);transform:translateY(4px)}

/* ---------- hero: the three services as ruled rows ---------- */
.svc-hero-rows h1{max-width:20ch;text-wrap:balance}
.svc-index{margin-top:clamp(36px,5vw,56px);border-bottom:1px solid rgba(255,255,255,.2)}
.svc-index li{border-top:1px solid rgba(255,255,255,.2)}
.svc-row{
  position:relative;isolation:isolate;display:grid;align-items:center;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 44px;gap:clamp(16px,3vw,48px);
  padding:clamp(22px,3vw,34px) 0;color:#fff;
}
.svc-row::before{
  content:"";position:absolute;z-index:-1;inset:0 calc(-1 * var(--section-x));
  background:var(--svc-gold);transform:scaleX(0);transform-origin:left;
  transition:transform 1.3s var(--ease-out-quart);
}
.svc-row__name{
  font-size:clamp(1.9rem,4.6vw,3.7rem);line-height:1.04;letter-spacing:-.025em;font-weight:500;
  transition:transform 1s var(--ease-out-quart);
}
.svc-row__body{display:grid;gap:8px;transition:transform 1s var(--ease-out-quart) .05s}
.svc-row__line{font-family:var(--font-serif);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.45;color:var(--on-dark-muted)}
.svc-row__meta{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-faint)}
.svc-row__arrow{
  width:44px;height:44px;justify-self:end;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.4);border-radius:50%;
  transition:transform 1s var(--ease-out-quart), background .6s, border-color .6s, color .6s;
}
.svc-row__arrow svg{width:16px;height:16px;transform:rotate(90deg)}
.svc-row:focus-visible{outline-offset:-3px;outline-color:#fff}
@media (hover:hover){
  .svc-row:hover::before,.svc-row:focus-visible::before{transform:scaleX(1)}
  .svc-row:hover .svc-row__name,.svc-row:focus-visible .svc-row__name{transform:translateX(14px)}
  .svc-row:hover .svc-row__body,.svc-row:focus-visible .svc-row__body{transform:translateX(14px)}
  .svc-row:hover .svc-row__name,.svc-row:hover .svc-row__line,.svc-row:hover .svc-row__meta,
  .svc-row:focus-visible .svc-row__name,.svc-row:focus-visible .svc-row__line,.svc-row:focus-visible .svc-row__meta{color:var(--ink)}
  .svc-row:hover .svc-row__arrow,.svc-row:focus-visible .svc-row__arrow{background:var(--ink);border-color:var(--ink);color:var(--svc-gold);transform:translateY(5px)}
}
@media (max-width:760px){
  .svc-row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"name arrow" "body body"}
  .svc-row__name{grid-area:name}
  .svc-row__arrow{grid-area:arrow}
  .svc-row__body{grid-area:body}
}

/* ---------- sticky sub-nav with scroll progress ---------- */
.svc-nav{position:sticky;top:var(--svc-header-h,72px);z-index:55;background:linear-gradient(180deg,#0A0A0A 0%,#121A3C 100%);border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 6px 16px rgba(0,0,0,.2)}
/* The three chapter links sit in a dark pill; a gold thumb slides under the one being read
   (same control as the level filter on Our Programs). On narrow screens the pill scrolls sideways
   and the active link is kept in view. */
.svc-nav__inner{display:flex;justify-content:center;padding:10px var(--section-x);overflow-x:auto;scrollbar-width:none}
.svc-nav__inner::-webkit-scrollbar{display:none}
.svc-nav__pill{position:relative;display:flex;flex:none;padding:3px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.svc-nav__thumb{position:absolute;top:3px;left:0;height:44px;width:0;border-radius:999px;opacity:0;background:linear-gradient(135deg,#E0B84A,#C99A2E);box-shadow:0 4px 14px rgba(212,168,73,.35);pointer-events:none;transition:transform .5s var(--ease-out-expo),width .5s var(--ease-out-expo),opacity .3s var(--ease-out-quart)}
.svc-nav__thumb.is-placing{transition:none}
.svc-nav a{
  position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;
  font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.82);
  transition:color .25s var(--ease-out-quart);
}
.svc-nav a:hover{color:#fff}
.svc-nav a[aria-current="true"]:hover{color:var(--ink)}
.svc-nav a{transition:color .25s var(--ease-out-quart),box-shadow .3s var(--ease-out-quart)}
.svc-nav__thumb.is-picked{animation:svc-pick .7s var(--ease-out-expo)}
@keyframes svc-pick{
  0%{box-shadow:0 0 0 0 rgba(224,184,74,.6),0 4px 14px rgba(212,168,73,.35);filter:brightness(1.15)}
  100%{box-shadow:0 0 0 16px rgba(224,184,74,0),0 4px 14px rgba(212,168,73,.35);filter:brightness(1)}
}
.svc-nav a[aria-current="true"]{color:var(--ink)}
.svc-nav a:focus-visible{outline:2px solid #fff;outline-offset:1px}
.svc-nav__bar{
  position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--svc-gold);
  transform:scaleX(var(--svc-progress,0));transform-origin:left;
}
/* Phone: the pill is wider than the screen, so it scrolls sideways. The pill carries the page margins itself
   (so its last link can scroll clear of the edge) and a fade on whichever side has more tells you to swipe. */
@media (max-width:640px){
  .svc-nav__inner{justify-content:flex-start;padding:8px 0;scroll-padding:0 var(--section-x);overscroll-behavior-x:contain}
  .svc-nav__pill{margin-inline:var(--section-x)}
  .svc-nav a{padding:0 16px;font-size:11px;letter-spacing:.1em}
  .svc-nav__inner{--fade-l:0px;--fade-r:0px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%)}
  .svc-nav.has-more-left .svc-nav__inner{--fade-l:36px}
  .svc-nav.has-more-right .svc-nav__inner{--fade-r:36px}
}

/* ---------- overview cards (home "Services" block) ---------- */
.svc-overview{background:var(--surface-alt);border-top:1px solid var(--border);scroll-margin-top:calc(var(--svc-header-h,72px) + 52px)}
.svc-chapter{scroll-margin-top:calc(var(--svc-header-h,72px) + 52px)}
.svc-cards{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc-card{
  background:#fff;padding:32px 30px 30px;display:flex;flex-direction:column;min-height:270px;border-radius:var(--svc-card-radius);
  box-shadow:0 0 0 0 rgba(212,168,73,0);
  transition:box-shadow .35s var(--ease-out-quart), transform .5s var(--ease-out-expo) !important;
}
.svc-card:hover{box-shadow:0 0 0 2px var(--svc-gold);transform:translateY(-6px) !important}
.svc-card h3{margin:0 0 12px;font-size:22px;line-height:1.25;color:var(--ink)}
.svc-card p{font-family:var(--font-serif);font-size:16px;line-height:1.55;color:#3d3d3d;flex:1}
.svc-card__meta{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.7}
.svc-card .link-arrow{margin-top:22px;align-self:flex-start}
.svc-card__num{font-size:11px;letter-spacing:.1em;color:var(--text-muted);margin-bottom:14px}
@media (max-width:900px){ .svc-cards{grid-template-columns:1fr} .svc-card{min-height:0} }

/* ---------- tools marquee (single row, hairline ruled) ---------- */
.svc-marquee{
  margin-top:28px;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.svc-marquee__track{display:flex;width:max-content;animation:svc-marq var(--svc-marq-dur,46s) linear infinite;will-change:transform}
.svc-marquee__set{display:flex;flex:none}
.svc-tool{
  display:inline-flex;align-items:center;gap:clamp(22px,3vw,40px);padding:clamp(18px,2.4vw,28px) clamp(22px,3vw,40px) clamp(18px,2.4vw,28px) 0;
  font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.2;letter-spacing:-.02em;font-weight:500;color:var(--ink);white-space:nowrap;
}
.svc-tool img{display:block;height:calc(clamp(28px,3.4vw,44px) * var(--k,1));width:auto}
.svc-tool img[src*="notebooklm"]{--k:.62}
.svc-tool img[src*="chatgpt"]{--k:1.3}
.svc-tool::after{content:"";width:8px;height:8px;background:var(--svc-gold);flex:none}
.svc-note{margin-top:18px;font-family:var(--font-serif);font-size:15.5px;line-height:1.5;color:var(--text-muted)}
/* shifts by exactly one logo set (width measured in services.js) so the loop is seamless; 50% = one of the two copies in the markup if the script is off */
@keyframes svc-marq{to{transform:translateX(calc(-1 * var(--svc-set-w,50%)))}}

/* ---------- framework: home "Achievements" columns, line draws in gold ---------- */
.svc-fwband{padding:var(--section-y) var(--section-x)}
.svc-fwband h2.headline{margin-top:14px}
.svc-fw{list-style:none;padding:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:44px}
.svc-fw__node{position:relative;padding-top:18px;border-top:1px solid rgba(255,255,255,.28)}
.svc-fw__node::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--svc-gold);
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out-expo);
}
.svc-fw__node.is-on::before{transform:scaleX(1)}
.svc-fw__num{display:block;font-size:clamp(2.6rem,5vw,4rem);line-height:1;letter-spacing:-.02em;font-weight:500;color:var(--svc-gold);opacity:.5;transition:opacity .9s var(--ease-out-expo)}
.svc-fw__node.is-on .svc-fw__num{opacity:1}
.svc-fw__node h3{margin-top:16px;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.15;letter-spacing:-.01em;font-weight:500;color:#fff}
.svc-fw__node p{margin-top:10px;font-family:var(--font-serif);font-size:16px;line-height:1.55;color:var(--on-dark-muted);max-width:32ch}
.svc-fw.is-armed .svc-fw__node h3,.svc-fw.is-armed .svc-fw__node p{
  opacity:.3;transform:translateY(10px);transition:opacity .8s var(--ease-out-expo), transform .8s var(--ease-out-expo);
}
.svc-fw.is-armed .svc-fw__node.is-on h3,.svc-fw.is-armed .svc-fw__node.is-on p{opacity:1;transform:none}
.svc-fw.is-armed .svc-fw__node.is-on p{transition-delay:.1s}
@media (max-width:900px){ .svc-fw{grid-template-columns:1fr 1fr;gap:28px} }
@media (max-width:520px){ .svc-fw{grid-template-columns:1fr} }

.svc-guard{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:clamp(40px,6vw,64px)}
.svc-guard__label{font-size:clamp(15px,1.6vw,21px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--svc-gold);margin-right:12px}
.svc-guard li:not(.svc-guard__label){
  padding:clamp(9px,1vw,12px) clamp(18px,1.9vw,24px);border:1.5px solid rgba(212,168,73,.6);border-radius:999px;
  font-size:clamp(.95rem,1.25vw,1.1rem);line-height:1.2;color:#fff;
  transition:background-color .35s var(--ease-out-quart), color .35s var(--ease-out-quart), border-color .35s var(--ease-out-quart), transform .5s var(--ease-out-expo);
}
.svc-guard li:not(.svc-guard__label):hover{background:var(--svc-gold);border-color:var(--svc-gold);color:var(--ink);transform:translateY(-3px)}

/* ---------- photo strip ---------- */
.svc-photos{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:18px;margin-top:36px;
  margin-right:calc(-1 * var(--section-x));padding-right:var(--section-x);
  scrollbar-width:thin;scrollbar-color:var(--ink) var(--border);
}
.svc-photos::-webkit-scrollbar{height:4px}
.svc-photos::-webkit-scrollbar-track{background:var(--border)}
.svc-photos::-webkit-scrollbar-thumb{background:var(--ink)}
.svc-photo{
  position:relative;flex:none;height:clamp(260px,32vw,380px);scroll-snap-align:start;overflow:hidden;
  background:var(--surface-muted);border-radius:var(--svc-card-radius);
}
.svc-photo--wide{width:clamp(280px,38vw,500px)}
.svc-photo--tall{width:clamp(200px,24vw,300px)}
.svc-photo--mid{width:clamp(240px,30vw,400px)}
.svc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease-out-expo)}
.svc-photo:hover img{transform:scale(1.04)}
.svc-photo--empty{background:repeating-linear-gradient(135deg,transparent 0 11px,rgba(10,10,10,.05) 11px 12px),var(--surface-muted)}
.svc-photo--empty figcaption{position:absolute;left:18px;bottom:16px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.reveal-armed .svc-photo[data-reveal]{
  clip-path:inset(0 0 0 100% round var(--svc-card-radius));transform:none;opacity:1;
  transition:clip-path 1.1s var(--ease-out-expo);transition-delay:var(--reveal-delay,0ms);
}
.reveal-armed .svc-photo[data-reveal].is-visible{clip-path:inset(0 0 0 0 round var(--svc-card-radius))}
.svc-scroll-btns{display:flex;gap:8px;margin-top:22px}
.svc-scroll-btns button{
  width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ink);background:transparent;color:var(--ink);
  border-radius:50%;cursor:pointer;transition:background .25s var(--ease-out-quart), color .25s var(--ease-out-quart);
}
.svc-scroll-btns button:hover:not(:disabled){background:var(--ink);color:#fff}
.svc-scroll-btns button:disabled{opacity:.3;cursor:default}
.svc-scroll-btns svg{width:16px;height:16px}
.svc-scroll-btns button:first-child svg{transform:rotate(180deg)}

/* ---------- private corporate training (night band + seal) ---------- */
.svc-private{padding:var(--section-y) var(--section-x)}
.svc-private__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.svc-private h2.headline{margin-top:14px}
.svc-facts{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-fact{background:rgba(255,255,255,.06);border-radius:10px;padding:24px 22px}
.svc-fact b{display:block;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;letter-spacing:-.015em;font-weight:500;color:#fff}
.svc-fact b em{font-style:normal;color:var(--svc-gold);font-variant-numeric:tabular-nums}
.svc-fact span{display:block;margin-top:8px;font-family:var(--font-serif);font-size:16px;line-height:1.5;color:var(--on-dark-muted)}
@media (max-width:860px){ .svc-private__grid{grid-template-columns:1fr} .svc-facts{grid-template-columns:1fr} }

.svc-private__aside{display:grid;justify-items:stretch;align-content:center}
/* A. credentials ledger */
.svc-cred{border-bottom:0}
.svc-cred li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:28px 0;border-top:1px solid rgba(255,255,255,.22)}
.svc-cred li::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--svc-gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out-expo) .2s}
.svc-cred li:last-child::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--svc-gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out-expo) .6s}
.reveal-armed .svc-cred li.is-visible::before,.reveal-armed .svc-cred li.is-visible:last-child::after,html:not(.reveal-armed) .svc-cred li::before,html:not(.reveal-armed) .svc-cred li:last-child::after{transform:scaleX(1)}
.svc-cred__logo{display:grid;place-items:center;width:84px;height:84px;background:#fff;border-radius:50%;padding:8px}
.svc-cred__logo img{width:100%;height:100%;object-fit:contain;display:block}
.svc-cred h3{font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.2;font-weight:500;color:#fff}
.svc-cred p{margin-top:6px;font-family:var(--font-serif);font-size:15.5px;line-height:1.5;color:var(--on-dark-muted)}
.svc-cred__check{width:26px;height:26px;color:var(--svc-gold);stroke-dasharray:30;stroke-dashoffset:0}
.reveal-armed .svc-cred li .svc-cred__check{stroke-dashoffset:30;transition:stroke-dashoffset 1s var(--ease-out-expo) .9s}
.reveal-armed .svc-cred li.is-visible .svc-cred__check{stroke-dashoffset:0}

/* ---------- board briefings fact strip ---------- */
.svc-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border)}
.svc-strip div{background:#fff;padding:24px 22px}
.svc-strip b{display:block;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.15;letter-spacing:-.015em;font-weight:500;color:var(--ink)}
.svc-strip span{display:block;margin-top:8px;font-family:var(--font-serif);font-size:15.5px;line-height:1.5;color:var(--text-muted)}
@media (max-width:760px){ .svc-strip{grid-template-columns:1fr} }

/* ---------- actions ---------- */
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:clamp(32px,4vw,48px)}
.svc-btn{
  display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 28px;color:var(--ink);
  background:var(--svc-gold-grad);background-size:140% 140%;background-position:0% 0%;
  font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;border-radius:var(--radius);
  transition:background-position .4s var(--ease-out-quart), box-shadow .4s var(--ease-out-quart), gap .4s var(--ease-out-expo);
}
.svc-btn:hover,.svc-btn:focus-visible{color:var(--ink);background-position:100% 100%;box-shadow:0 4px 16px rgba(184,134,11,.25);gap:18px}
.svc-btn svg{width:16px;height:16px}
.svc-link{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;
  border:1px solid var(--svc-gold);border-radius:var(--radius);color:var(--svc-gold-deep);background:transparent;
  font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  transition:color .4s var(--ease-out-quart), border-color .4s var(--ease-out-quart), box-shadow .4s var(--ease-out-quart);
}
.svc-link::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--svc-gold-grad);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-quart);
}
.svc-link:hover::before,.svc-link:focus-visible::before{transform:scaleX(1)}
.svc-link:hover,.svc-link:focus-visible{color:var(--ink);border-color:transparent;box-shadow:0 4px 16px rgba(184,134,11,.25)}
.svc-link:active{box-shadow:0 4px 6px rgba(184,134,11,.25)}
.svc-night .svc-link{color:var(--svc-gold)}
.svc-night .svc-link:hover,.svc-night .svc-link:focus-visible{color:var(--ink)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .svc-nav__thumb{transition:none}
  .svc-nav__thumb.is-picked{animation:none}
  .svc-fw__node::before{transform:scaleX(1);transition:none}
}

.svc-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){ .svc-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .svc-cards--4{grid-template-columns:1fr} }

/* closing CTAs: long labels wrap inside the screen instead of pushing the page sideways */
@media (max-width:640px){
  .closer .nav-cta{flex:0 1 auto;max-width:100%;justify-content:center;text-align:center;line-height:1.35;padding:12px 24px !important}
}

/* ---------- fit block: the three Cs, large and gold ---------- */
.svc-fit__title{font-size:clamp(2.2rem,6.2vw,5.4rem);line-height:1.04;letter-spacing:-.03em;font-weight:500;color:var(--ink);text-wrap:balance}
.svc-fit__word{display:inline-block;margin-right:.24em}
.svc-fit__word b{display:inline-block;font-weight:500;font-size:1.32em;line-height:.82;letter-spacing:-.04em;color:var(--svc-gold-deep)}
.svc-fit__value{display:block;margin-top:.1em;font-size:1em;line-height:1.04;letter-spacing:-.03em;color:var(--text-muted)}
.svc-fit__body{margin-top:clamp(20px,3vw,32px);max-width:62ch}

/* ---------- practices as distinct bands ---------- */
.svc-bands{padding:0}
.svc-band{padding:clamp(40px,6vw,72px) var(--section-x)}
.svc-band--tint{background:var(--surface-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.svc-band--rule{border-top:1px solid var(--border)}
.svc-band__title{position:relative;padding-top:22px;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;letter-spacing:-.02em;font-weight:500;color:var(--ink)}
.svc-band__title::before{content:"";position:absolute;top:0;left:0;width:48px;height:3px;background:var(--svc-gold)}
.svc-band__title--lg{font-size:clamp(2rem,4.2vw,3.4rem)}
.svc-band .svc-strip{margin-top:28px}
.svc-band .pillars{margin-top:20px}
.svc-band .svc-cards{margin-top:28px}
.svc-band .svc-marquee{margin-top:24px}

/* "What your team leaves with": three big verbs */
.svc-leave{list-style:none;margin:clamp(28px,4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.svc-leave li{border-top:2px solid var(--ink);padding-top:18px}
.svc-leave__word{margin:0;font-size:clamp(2.8rem,6vw,5rem);line-height:1;letter-spacing:-.035em;font-weight:500;color:var(--ink)}
.svc-leave p{margin-top:14px;max-width:34ch;font-family:var(--font-serif);font-size:15.5px;line-height:1.55;color:#3d3d3d}
@media (max-width:760px){ .svc-leave{grid-template-columns:1fr} }

/* ---------- Workplace Change Management: night sky + gold timeline ---------- */
.svc-change{padding:var(--section-y) var(--section-x)}
.svc-night .svc-note{color:var(--on-dark-muted)}
.svc-night .svc-note b{color:#fff}
.svc-sub .svc-night__sub{font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.2;letter-spacing:-.01em;color:#fff}
.svc-night .svc-sub__hint{color:var(--on-dark-muted)}
.svc-steps{list-style:none;margin:clamp(36px,5vw,56px) 0 clamp(28px,4vw,44px);padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.svc-step{position:relative;padding:46px clamp(16px,2vw,28px) 0 0}
.svc-step::before{content:"";position:absolute;top:9px;left:0;right:0;height:1px;background:rgba(255,255,255,.28)}
.svc-step::after{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:var(--svc-gold);transform:scaleX(1);transform-origin:left;transition:transform 1.1s var(--ease-out-expo)}
.svc-step__node{position:absolute;top:0;left:0;z-index:1;width:19px;height:19px;box-sizing:border-box;border-radius:50%;border:2px solid var(--svc-gold);background:var(--svc-gold);transition:background-color .5s var(--ease-out-quart),border-color .5s var(--ease-out-quart)}
.svc-steps.is-armed .svc-step::after{transform:scaleX(0)}
.svc-steps.is-armed .svc-step.is-on::after{transform:scaleX(1)}
.svc-steps.is-armed .svc-step__node{border-color:rgba(255,255,255,.4);background:var(--ink)}
.svc-steps.is-armed .svc-step.is-on .svc-step__node{border-color:var(--svc-gold);background:var(--svc-gold)}
.svc-step__num{display:block;font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--svc-gold)}
.svc-step h3{margin-top:10px;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.01em;font-weight:500;color:#fff}
.svc-step p{margin-top:10px;max-width:30ch;font-family:var(--font-serif);font-size:16px;line-height:1.55;color:var(--on-dark-muted)}
@media (max-width:900px){ .svc-steps{grid-template-columns:1fr 1fr;row-gap:40px} }
@media (max-width:520px){ .svc-steps{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .svc-step::after{transition:none} }

/* ---------- fit block on night sky, tighter to Core Training ---------- */
.svc-fit{padding:clamp(40px,5vw,64px) var(--section-x) clamp(32px,4vw,48px)}
.svc-night .svc-fit__title{color:#fff}
.svc-night .svc-fit__word b{color:var(--svc-gold)}
.svc-night .svc-fit__value{color:var(--on-dark-muted)}
.svc-fit + .svc-bands .svc-band:first-child{padding-top:clamp(32px,4vw,52px)}
.svc-night .svc-fit__value b{font-weight:500;color:var(--svc-gold)}
