/* =========================================================
   Corwell — Demo 2: Business Consulting (home-consulting.html)
   Palette: deep emerald + warm brass, warm off-white surfaces
   ========================================================= */
.demo-consulting{
  --primary:#0E5A43;      /* 7.9:1 on white, white on it 7.9:1 */
  --primary-600:#0A4634;
  --primary-50:#E6F0EB;
  --accent:#E2C275;       /* brass — on forest / ink only */
  --logo:var(--primary);
  --cs-cream:#F7F4EE;
  --cs-cream-2:#EFE9DD;
  --cs-rule:#E2DCD0;
  --cs-forest:#0B2A22;
  --cs-forest-2:#103429;
  --cs-forest-line:#23483C;
  --cs-muted-dark:#AEC2B9;  /* 8.4:1 on forest */
}

/* Theme-wide touch-ups for this demo (hard-coded blue/lime in base styles) */
.demo-consulting .brand svg circle{fill:var(--accent)}
.demo-consulting .btn:not(.btn--dark):not(.btn--outline):not(.btn--accent):hover{box-shadow:0 12px 26px -12px rgba(14,90,67,.6)}
.demo-consulting .btn--accent:hover{--bg:#ECD396;--bd:#ECD396;box-shadow:0 10px 28px -10px rgba(226,194,117,.55)}
.demo-consulting .footer{--ink:var(--cs-forest);--ink-3:var(--cs-forest-line);--muted-on-dark:var(--cs-muted-dark)}
.demo-consulting .on-dark .btn--outline{--bd:rgba(255,255,255,.28)}
.demo-consulting .news-form--stack input{flex:none} /* workaround: shared flex:1 collapses the input in column direction */
.demo-consulting .pill-note b,.demo-consulting .avatars span:last-child{color:var(--accent)}

/* Shared helpers */
.cs-creds__grid>*,.cs-approach__grid>*,.cs-industries__grid>*,.cs-booking__grid>*,.cs-case__head>*,.cs-insights__head>*{min-width:0}
.demo-consulting h2 .serif,.demo-consulting h1 .serif{color:var(--primary)}
.demo-consulting .on-dark h2 .serif{color:var(--accent)}

/* =========================================================
   Hero Slider — Consulting
   Editorial split-screen: cream text panel (45%) + full-height image panel (55%).
   Uses the shared engine with .hs--curtain, but the wipe is moved from the whole
   slide to the image panel only (text panel swaps with masked line reveals).
   A gold seam rides the wipe edge. Vertical numeral pager on the image's right edge;
   on ≤992px it becomes a horizontal row over the bottom of the image band.
   The booking card sits outside .hs__slides, so it never changes with the slides.
   ========================================================= */
.csh{--split:45%;--csh-h:clamp(600px,calc(100svh - 88px),900px);--edge:max(var(--gutter),calc((100% - var(--container)) / 2));--csh-pad-r:clamp(32px,4vw,72px);--csh-shade:7,28,22;background:var(--cs-cream);overflow:hidden}
.csh::before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--split);z-index:-1;background-image:linear-gradient(90deg,var(--cs-rule) 1px,transparent 1px);background-size:calc(100% / 3) 100%;mask-image:linear-gradient(180deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);opacity:.6;pointer-events:none}
.csh .hs__slide{min-height:var(--csh-h);display:flex;align-items:center}

/* Image panel + curtain (wipe only the media, not the text) */
.csh__media{left:var(--split);background:var(--cs-forest)}
.csh__media img{object-position:var(--pos,50% 50%)}
.csh__media::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(var(--csh-shade),.82) 0%,rgba(var(--csh-shade),.42) 24%,rgba(var(--csh-shade),0) 52%),linear-gradient(0deg,rgba(var(--csh-shade),.5) 0%,rgba(var(--csh-shade),0) 42%)}
.csh__media::before{content:"";position:absolute;top:0;bottom:0;left:100%;width:3px;z-index:2;background:var(--accent);box-shadow:0 0 24px 2px rgba(226,194,117,.55);opacity:0;pointer-events:none}
.csh.hs--curtain .hs__slides .hs__slide.is-active{animation:none;clip-path:none}
.csh.hs--curtain .hs__slides .hs__slide.is-active .csh__media{animation:hsCurtainIn var(--hs-speed) cubic-bezier(.77,0,.18,1) both}
.csh.hs--curtain[data-dir="prev"] .hs__slides .hs__slide.is-active .csh__media{animation-name:hsCurtainInPrev}
.csh .hs__slide.is-active .csh__media::before{animation:cshSeam var(--hs-speed) cubic-bezier(.77,0,.18,1) both}
.csh[data-dir="prev"] .hs__slide.is-active .csh__media::before{animation-name:cshSeamPrev}
.csh .hs__slide.is-leaving .csh__media img{transform:scale(1.06);filter:brightness(.7) saturate(.8);transition:transform 1.2s var(--ease),filter 1.2s var(--ease)}
@keyframes cshSeam{0%{left:100%;opacity:1}86%{opacity:1}100%{left:0;opacity:0}}
@keyframes cshSeamPrev{0%{left:-3px;opacity:1}86%{opacity:1}100%{left:calc(100% - 3px);opacity:0}}

/* Text panel */
.csh__panel{position:relative;width:var(--split);min-width:0;padding:clamp(40px,6vh,88px) var(--csh-pad-r) calc(clamp(24px,4vh,44px) + 68px) var(--edge)}
.csh__kicker{display:flex;align-items:center;gap:14px;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.csh__kicker b{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:0;color:var(--ink)}
.csh__kicker i{width:36px;height:1px;background:var(--accent)}
.csh__title{font-size:clamp(2.4rem,min(1rem + 3.2vw,7.4vh),4.75rem);font-weight:500;letter-spacing:-.045em;line-height:1;color:var(--ink);margin:clamp(18px,3vh,28px) 0 clamp(16px,2.6vh,24px)}
.csh__title .serif{font-size:1.08em;letter-spacing:-.02em;line-height:.95}
.csh .hs-lines>span{padding:0 .1em .12em 0;margin-bottom:-.12em}
.csh__lead{font-size:var(--fs-lead);color:var(--muted);max-width:44ch}
@media (min-width:993px) and (max-height:820px){.csh__lead{font-size:1.0625rem}.csh__fact b{font-size:2.1rem}}
@media (min-width:993px) and (max-width:1365px){.csh__cta .link-arrow{display:none}} /* keeps the CTA on one row so the hero fits short laptop screens */
.csh__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:clamp(24px,4vh,36px)}
.csh__fact{position:relative;display:flex;align-items:baseline;gap:14px;max-width:420px;margin-top:clamp(24px,4.5vh,44px);padding-top:18px;border-top:1px solid var(--cs-rule)}
.csh__fact::before{content:"";position:absolute;left:0;top:-1px;width:48px;height:2px;background:var(--accent)}
.csh__fact b{flex:none;font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:2.4rem;line-height:1;letter-spacing:-.01em;color:var(--primary)}
.csh__fact span{font-size:.92rem;line-height:1.4;color:var(--muted)}

/* Counter + prev / next / pause (bottom of the text panel) */
.csh__ctrl{position:absolute;z-index:4;left:var(--edge);bottom:clamp(24px,4vh,44px);width:calc(var(--split) - var(--edge) - var(--csh-pad-r));display:flex;align-items:center;gap:10px}
.csh .hs__count{align-items:baseline;gap:8px;color:var(--muted);font-weight:500}
.csh .hs__count [data-hs-current]{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:2rem;line-height:1;color:var(--ink)}
.csh .hs__count i{font-style:normal;opacity:.5}
.csh .hs__count [data-hs-total]{opacity:1}
.csh__ctrl-rule{flex:1;min-width:16px;height:1px;background:var(--cs-rule);margin:0 8px}
.csh__ctrl .hs__btn{width:48px;height:48px;border-color:#D3CCBE}

/* Vertical numeral pager (on the image's right edge) */
.csh__pager{position:absolute;z-index:4;right:clamp(20px,2.6vw,48px);top:50%;transform:translateY(-50%);display:grid;gap:4px;width:clamp(150px,13vw,200px)}
.csh__pg{display:grid;grid-template-columns:2px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;padding:10px 0;text-align:left;color:#fff;opacity:.72;transition:opacity .3s var(--ease)}
.csh__pg b{grid-column:2;font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(2rem,1.2rem + 1.3vw,2.75rem);line-height:1;transition:color .3s var(--ease),transform .4s var(--ease);transform-origin:left}
.csh__pg-name{grid-column:2;margin-top:6px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.csh__pg:hover,.csh__pg[aria-current="true"]{opacity:1}
.csh__pg[aria-current="true"] b{color:var(--accent)}
.csh__pg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.csh .csh__pager .hs__bar{grid-row:1/3;grid-column:1;width:2px;height:auto;background:rgba(255,255,255,.28)}
.csh .csh__pager .hs__bar i{background:var(--accent)}
@media (min-width:993px){
  .csh__pager .hs__bar i{transform:scaleY(0);transform-origin:top}
  .csh__pager [data-hs-go][aria-current="true"] .hs__bar i{animation-name:cshBarY}
  .csh__pg[aria-current="true"] b{transform:scale(1.08)}
}
@keyframes cshBarY{to{transform:scaleY(1)}}

/* Booking mini card — static, docked over the image panel's bottom-left corner */
.cs-book{grid-template-columns:1fr;gap:14px;padding:24px;border:1px solid var(--cs-rule);box-shadow:var(--sh-lg)}
.csh .cs-book{position:absolute;z-index:5;left:calc(var(--split) + clamp(20px,2.4vw,40px));bottom:clamp(20px,2.4vw,40px);width:clamp(300px,24vw,340px)}
.cs-book__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cs-book h2{font-size:1.15rem;letter-spacing:-.02em;line-height:1.2}
.cs-book__free{flex:none;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:var(--primary-50);padding:4px 10px;border-radius:var(--r-pill)}
.cs-book .field{gap:6px}
.cs-book .field label{font-size:.8rem}
.cs-book .input{height:46px;font-size:.93rem;padding-left:14px}
.cs-book .btn{min-height:48px;margin-top:2px}
.cs-book__note{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);line-height:1.4}
.cs-book__note .ico{width:15px;height:15px;color:var(--primary)}
.cs-book .form__success{font-size:.86rem;padding:12px}
.cs-book.is-sent .cs-book__note{display:none}

/* Hero slider — responsive (stacked: image band → text → controls → booking card) */
@media (max-width:1200px){
  .csh__pg-name{font-size:.68rem;letter-spacing:.06em}
}
@media (max-width:992px){
  .csh{--band:clamp(260px,52vw,440px)}
  .csh::before{display:none}
  .csh .hs__slide{min-height:0;display:block}
  .csh__media{position:relative;inset:auto;left:auto;height:var(--band);z-index:0}
  .csh__media::after{background:linear-gradient(0deg,rgba(var(--csh-shade),.85) 0%,rgba(var(--csh-shade),.35) 40%,rgba(var(--csh-shade),0) 68%)}
  .csh__panel{width:auto;padding:clamp(32px,5vw,48px) var(--gutter) 28px}
  .csh__title{font-size:clamp(2.4rem,1.2rem + 4.4vw,3.75rem)}
  .csh__lead{max-width:56ch}
  .csh__pager{top:var(--band);bottom:auto;left:var(--gutter);right:var(--gutter);width:auto;transform:translateY(-100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,2.5vw,24px);padding-bottom:8px}
  .csh__pg{display:flex;flex-direction:column;gap:8px;padding:10px 0;min-width:0}
  .csh__pg b{order:-2;font-size:clamp(1.5rem,1rem + 2vw,2.25rem)}
  .csh__pg-name{order:-1;margin-top:0;overflow-wrap:anywhere}
  .csh .csh__pager .hs__bar{width:100%;height:2px}
  .csh__ctrl{position:relative;left:auto;bottom:auto;width:auto;margin:0 var(--gutter)}
  .csh .cs-book{position:relative;left:auto;bottom:auto;width:auto;margin:28px var(--gutter) clamp(40px,7vw,64px);box-shadow:0 24px 48px -28px rgba(11,42,34,.35)}
}
@media (min-width:601px) and (max-width:992px){
  .csh .cs-book{grid-template-columns:1fr 1fr;column-gap:16px}
  .csh .cs-book__head{grid-column:1/-1}
  .csh .cs-book__note{align-self:center}
}
@media (max-width:600px){
  .csh__pg-name{display:none}
  .csh__pg b{font-size:1.6rem}
}
@media (max-width:480px){
  .csh__cta{gap:16px 20px}
  .csh__cta .btn{flex:1 1 100%}
  .csh__fact b{font-size:2rem}
  .csh__ctrl{gap:8px}
  .csh__ctrl .hs__btn{width:44px;height:44px}
  .csh__ctrl-rule{margin:0 4px}
}

/* =========================================================
   Consulting Credentials Strip
   ========================================================= */
.cs-creds{background:#fff;border-bottom:1px solid var(--line);padding:clamp(32px,3vw,44px) 0}
.cs-creds__grid{display:grid;grid-template-columns:minmax(260px,.9fr) 2.1fr;gap:clamp(24px,4vw,64px);align-items:center}
.cs-creds__rank{display:flex;align-items:center;gap:18px}
.cs-creds__badge{flex:none;display:grid;place-items:center;align-content:center;width:76px;height:76px;border-radius:50%;background:var(--cs-forest);color:var(--accent);font-family:var(--f-serif);font-style:italic;font-size:2.4rem;line-height:.8;box-shadow:0 0 0 6px var(--cs-cream)}
.cs-creds__badge b{font-weight:400;font-size:2.6rem;line-height:.8;color:var(--accent)}
.cs-creds__badge small{font-family:var(--f-sans);font-style:normal;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-muted-dark);margin-bottom:4px}
.cs-creds__rank p b{display:block;color:var(--ink);font-weight:600;line-height:1.3;letter-spacing:-.01em}
.cs-creds__rank p span{font-size:.86rem;color:var(--muted)}
.cs-creds__nums{display:grid;grid-template-columns:repeat(4,1fr)}
.cs-creds__nums li{padding:4px 0 4px clamp(16px,2vw,28px);border-left:1px solid var(--line);min-width:0}
.cs-creds__nums b{display:flex;align-items:baseline;font-family:var(--f-serif);font-weight:400;font-size:clamp(2.25rem,1.6rem + 1.6vw,3.25rem);line-height:1;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cs-creds__nums sup{font-size:.5em;color:var(--primary);margin-left:2px}
.cs-creds__nums li>span{display:block;margin-top:8px;font-size:.86rem;color:var(--muted);line-height:1.35}

/* =========================================================
   Consulting Practice Areas — numbered rows
   ========================================================= */
.cs-pa-list{border-top:1px solid var(--ink)}
.cs-pa{border-bottom:1px solid var(--line)}
.cs-pa__row{position:relative;display:grid;grid-template-columns:clamp(56px,7vw,112px) minmax(0,1fr) auto 56px;gap:clamp(16px,2.5vw,40px);align-items:start;padding:clamp(24px,2.4vw,34px) clamp(0px,1.4vw,20px);transition:background .4s var(--ease)}
.cs-pa__row::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--primary);transition:width .6s var(--ease)}
.cs-pa__num{font-family:var(--f-serif);font-style:italic;font-size:clamp(1.75rem,1.3rem + 1.2vw,2.75rem);line-height:1;color:#9EA3B0;transition:color .3s}
.cs-pa__main{min-width:0}
.cs-pa__main h3{font-size:clamp(1.35rem,1.05rem + 1.1vw,2.1rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;transition:color .3s}
.cs-pa__line{display:block;margin-top:8px;color:var(--muted);font-size:1rem;max-width:60ch}
.cs-pa__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.cs-pa__inner{overflow:hidden;display:grid;gap:14px}
.cs-pa__desc{display:block;padding-top:16px;color:var(--text);font-size:.97rem;max-width:62ch}
.cs-pa__tags{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}
.cs-pa__tags span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--cs-rule);background:#fff;font-size:.8rem;font-weight:500;color:var(--ink)}
.cs-pa__meta{padding-top:10px;font-size:.84rem;color:var(--muted);white-space:nowrap}
.cs-pa__go{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);transition:background .35s var(--ease),border-color .35s,color .35s,transform .45s var(--ease)}
.cs-pa__row:hover,.cs-pa__row:focus-visible{background:var(--cs-cream)}
.cs-pa__row:focus-visible{outline-offset:-3px}
.cs-pa__row:hover::before,.cs-pa__row:focus-visible::before{width:100%}
.cs-pa__row:hover .cs-pa__num,.cs-pa__row:focus-visible .cs-pa__num{color:var(--primary)}
.cs-pa__row:hover h3,.cs-pa__row:focus-visible h3{color:var(--primary)}
.cs-pa__row:hover .cs-pa__more,.cs-pa__row:focus-visible .cs-pa__more{grid-template-rows:1fr}
.cs-pa__row:hover .cs-pa__go,.cs-pa__row:focus-visible .cs-pa__go{background:var(--primary);border-color:var(--primary);color:#fff;transform:rotate(-45deg)}
.cs-practice__note{margin-top:36px;color:var(--muted);font-size:.97rem}
.cs-practice__note a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (hover:none){.cs-pa__more{grid-template-rows:1fr}}

/* =========================================================
   Consulting Approach — sticky heading + principles
   ========================================================= */
.cs-approach{background:var(--cs-cream)}
.cs-approach__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,120px);align-items:start}
.cs-approach__aside{position:sticky;top:120px}
.cs-approach__aside h2{font-size:var(--fs-h2);margin:18px 0 22px}
.cs-approach__aside>p{color:var(--muted);font-size:var(--fs-lead);max-width:42ch}
.cs-sign{display:grid;gap:4px;margin-top:40px;padding-top:24px;border-top:1px solid var(--cs-rule);max-width:320px}
.cs-sign__name{font-size:2.25rem;line-height:1;color:var(--ink)}
.cs-sign__role{font-size:.88rem;color:var(--muted)}
.cs-principles{display:grid}
.cs-principle{display:grid;grid-template-columns:clamp(64px,7vw,96px) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);padding:clamp(28px,3vw,44px) 0;border-top:1px solid var(--cs-rule)}
.cs-principle:last-child{border-bottom:1px solid var(--cs-rule)}
.cs-principle__num{font-family:var(--f-serif);font-style:italic;font-size:clamp(2.5rem,1.8rem + 2vw,4rem);line-height:.85;color:var(--primary)}
.cs-principle h3{font-size:clamp(1.35rem,1.1rem + .8vw,1.85rem);font-weight:500;letter-spacing:-.03em;margin-bottom:12px}
.cs-principle p{color:var(--muted);font-size:1.02rem;max-width:56ch}
.cs-principle .checks{margin-top:20px;font-size:.95rem;color:var(--text)}
.cs-principle .checks .ico{width:20px;height:20px}

/* =========================================================
   Consulting Case Studies — featured + list (dark)
   ========================================================= */
.cs-case{background:var(--cs-forest);color:var(--cs-muted-dark);position:relative;overflow:hidden;isolation:isolate}
.cs-case::before{content:"";position:absolute;right:-240px;top:-260px;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,rgba(226,194,117,.14),transparent);z-index:-1}
.cs-case__head{display:flex;justify-content:space-between;align-items:end;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px)}
.cs-case__head h2{color:#fff;font-size:var(--fs-h2);margin-top:18px;max-width:16ch}
.cs-feature{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--cs-forest-line);border-radius:var(--r-xl);overflow:hidden;background:var(--cs-forest-2)}
.cs-feature>*{min-width:0}
.cs-feature__img{position:relative;min-height:440px;background:var(--cs-forest-line)}
.cs-feature__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.cs-feature:hover .cs-feature__img img{transform:scale(1.04)}
.cs-feature__tag{position:absolute;left:20px;top:20px;padding:6px 14px;border-radius:var(--r-pill);background:rgba(11,42,34,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.02em}
.cs-feature__body{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:18px}
.cs-feature__client{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.cs-feature__body h3{color:#fff;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.25rem);font-weight:500;letter-spacing:-.035em;line-height:1.12}
.cs-feature__body h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .5s var(--ease)}
.cs-feature__body h3 a:hover{background-size:100% 1.5px}
.cs-feature__body>p:not(.cs-feature__client){font-size:.98rem}
.cs-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:8px 0 6px;border-top:1px solid var(--cs-forest-line)}
.cs-metrics div{padding:20px 12px 0 0;min-width:0}
.cs-metrics div+div{padding-left:16px;border-left:1px solid var(--cs-forest-line)}
.cs-metrics dt{order:2;font-size:.8rem;line-height:1.35}
.cs-metrics dd{margin:0 0 6px;font-family:var(--f-serif);font-size:clamp(2rem,1.5rem + 1.4vw,2.9rem);line-height:1;color:var(--accent);letter-spacing:-.01em;white-space:nowrap}
.cs-metrics div{display:flex;flex-direction:column}
.cs-metrics dt{order:2}
.cs-metrics dd{order:1}
.cs-feature .link-arrow{color:#fff;margin-top:auto}
.cs-feature .link-arrow:hover{color:var(--accent)}

.cs-cases{margin-top:clamp(32px,4vw,48px);border-top:1px solid var(--cs-forest-line)}
.cs-cases li{border-bottom:1px solid var(--cs-forest-line)}
.cs-cases a{display:grid;grid-template-columns:64px minmax(140px,.7fr) minmax(0,1.6fr) minmax(0,.8fr) 24px;gap:24px;align-items:center;padding:22px 8px;transition:background .3s,padding .35s var(--ease)}
.cs-cases a>*{min-width:0}
.cs-cases__year{font-size:.86rem;font-variant-numeric:tabular-nums}
.cs-cases__client{color:#fff;font-weight:600}
.cs-cases__title{color:#E4ECE8;font-size:1.02rem}
.cs-cases__res{font-family:var(--f-serif);font-style:italic;font-size:1.3rem;color:var(--accent);text-align:right;line-height:1.15}
.cs-cases .ico{color:#fff;transition:transform .35s var(--ease)}
.cs-cases a:hover{background:rgba(255,255,255,.04);padding-inline:16px}
.cs-cases a:hover .ico{transform:rotate(-45deg);color:var(--accent)}

/* =========================================================
   Consulting Partners — portrait row
   ========================================================= */
.cs-partners{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.cs-partner{position:relative;display:flex;flex-direction:column;gap:18px;min-width:0}
.cs-partner__img{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--cs-cream-2)}
.cs-partner__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:filter .6s var(--ease),transform .9s var(--ease)}
.cs-partner:hover .cs-partner__img img,.cs-partner:focus-within .cs-partner__img img{filter:none;transform:scale(1.04)}
.cs-partner h3{font-size:1.3rem;font-weight:500;letter-spacing:-.025em}
.cs-partner h3 a::after{content:"";position:absolute;inset:0}
.cs-partner__role{color:var(--primary);font-size:.92rem;font-weight:600;margin-top:4px}
.cs-partner__exp{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}
.cs-partner__in{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ink);opacity:0;transform:translateY(-6px);transition:.3s var(--ease)}
.cs-partner:hover .cs-partner__in,.cs-partner:focus-within .cs-partner__in{opacity:1;transform:none}
@media (hover:none){.cs-partner__in{opacity:1;transform:none}}
.cs-partner__in .ico{width:16px;height:16px}
.cs-partner__in:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.cs-partners__foot{display:flex;justify-content:center;margin-top:48px}

/* =========================================================
   Consulting Industries — tag cloud
   ========================================================= */
.cs-industries{background:var(--cs-cream)}
.cs-industries__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px);align-items:center}
.cs-industries h2{font-size:var(--fs-h2);margin:18px 0 22px}
.cs-industries__grid p{color:var(--muted);font-size:var(--fs-lead);max-width:42ch}
.cs-ind-list{display:flex;flex-wrap:wrap;gap:12px}
.cs-ind-list a{display:inline-flex;align-items:flex-start;gap:6px;padding:14px 22px;border-radius:var(--r-pill);border:1px solid #D8D1C2;background:#fff;color:var(--ink);font-size:clamp(1rem,.92rem + .35vw,1.2rem);font-weight:500;letter-spacing:-.02em;line-height:1.2;max-width:100%;overflow-wrap:anywhere;transition:background .3s var(--ease),border-color .3s,color .3s,transform .3s var(--ease)}
.cs-ind-list sup{font-size:.68rem;font-weight:600;color:var(--primary);top:0;line-height:1;transition:color .3s}
.cs-ind-list a:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-2px)}
.cs-ind-list a:hover sup{color:var(--accent)}

/* =========================================================
   Consulting Testimonial — single large quote
   ========================================================= */
.cs-quote__fig{max-width:1040px;margin-inline:auto;text-align:center;display:grid;justify-items:center}
.cs-quote__mark{width:52px;height:52px;color:var(--primary)}
.cs-quote blockquote{margin:28px 0 40px}
.cs-quote blockquote p{font-size:clamp(1.5rem,1rem + 2vw,2.85rem);font-weight:500;line-height:1.25;letter-spacing:-.035em;color:var(--ink)}
.cs-quote blockquote .serif{color:var(--primary);font-size:1.08em}
.cs-quote figcaption{display:grid;justify-items:center;gap:10px}
.cs-quote__sig{font-size:clamp(2rem,1.6rem + 1.2vw,2.75rem);line-height:1;color:var(--ink);opacity:.8;transform:rotate(-3deg)}
.cs-quote__who{display:grid;gap:2px;padding-top:14px;border-top:1px solid var(--line);min-width:min(260px,100%)}
.cs-quote__who b{color:var(--ink);font-weight:600}
.cs-quote__who span{color:var(--muted);font-size:.9rem}
.cs-quote__foot{display:flex;justify-content:center;margin-top:40px}

/* =========================================================
   Consulting Insights — editorial list
   ========================================================= */
.cs-insights{background:var(--cs-cream)}
.cs-insights__head{display:flex;justify-content:space-between;align-items:end;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(36px,4vw,56px)}
.cs-insights__head h2{font-size:var(--fs-h2);margin-top:18px}
.cs-articles{border-top:1px solid var(--ink)}
.cs-article{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) clamp(180px,20vw,260px);gap:clamp(20px,3vw,48px);align-items:start;padding:clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--cs-rule)}
.cs-article__date{display:grid;line-height:1}
.cs-article__date b{font-family:var(--f-serif);font-weight:400;font-size:3.25rem;color:var(--ink);letter-spacing:-.02em}
.cs-article__date span{margin-top:8px;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cs-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.84rem;color:var(--muted)}
.cs-article__meta a{position:relative;z-index:2;color:var(--primary);font-weight:600}
.cs-article__meta i{width:4px;height:4px;border-radius:50%;background:#B9B3A6}
.cs-article h3{margin:12px 0 12px;font-size:clamp(1.3rem,1.05rem + .9vw,1.85rem);font-weight:500;letter-spacing:-.03em;line-height:1.18}
.cs-article h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ease)}
.cs-article h3 a::after{content:"";position:absolute;inset:0}
.cs-article:hover h3 a{background-size:100% 1.5px}
.cs-article__body>p:not(.cs-article__meta):not(.cs-article__by){color:var(--muted);max-width:60ch}
.cs-article__by{margin-top:14px;font-size:.88rem;color:var(--ink);font-weight:500}
.cs-article__img{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--cs-cream-2)}
.cs-article__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.cs-article:hover .cs-article__img img{transform:scale(1.05)}

/* =========================================================
   Consulting Booking Form (dark emerald)
   ========================================================= */
.cs-booking{position:relative;background:linear-gradient(160deg,var(--primary-600) 0%,var(--cs-forest) 70%);color:var(--cs-muted-dark);overflow:hidden;isolation:isolate}
.cs-booking::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:calc(100% / 6) 100%;mask-image:linear-gradient(180deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%)}
.cs-booking__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,96px);align-items:start}
.cs-booking h2{color:#fff;font-size:var(--fs-h2);margin:18px 0 22px;max-width:14ch}
.cs-booking__lead{font-size:var(--fs-lead);max-width:44ch}
.cs-next{counter-reset:nx;display:grid;margin-top:40px;border-top:1px solid rgba(255,255,255,.14)}
.cs-next li{counter-increment:nx;display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.cs-next li::before{content:"0" counter(nx);grid-row:1/3;font-family:var(--f-serif);font-style:italic;font-size:1.9rem;line-height:1;color:var(--accent)}
.cs-next b{color:#fff;font-weight:600}
.cs-next span{font-size:.94rem}
.cs-booking__contacts{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px}
.cs-booking__contacts a{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:500;overflow-wrap:anywhere}
.cs-booking__contacts .ico{color:var(--accent)}
.cs-booking__contacts a:hover{color:var(--accent)}
.cs-booking__form{box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.cs-booking__nda{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--cs-cream);color:var(--text);font-size:.86rem;line-height:1.45}
.cs-booking__nda .ico{width:18px;height:18px;color:var(--primary);margin-top:1px}

/* =========================================================
   Consulting Memberships
   ========================================================= */
.cs-members{background:#fff;padding:clamp(48px,5vw,72px) 0}
.cs-members__title{text-align:center;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:32px}
.cs-members__list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cs-members__list li{display:grid;justify-items:center;text-align:center;gap:6px;padding:28px 16px;min-width:0}
.cs-members__list li+li{border-left:1px solid var(--line)}
.cs-members__list .ico{width:28px;height:28px;color:var(--primary);margin-bottom:6px;stroke-width:1.5}
.cs-members__list b{color:var(--ink);font-weight:600;font-size:.98rem;letter-spacing:-.01em;line-height:1.25}
.cs-members__list span{color:var(--muted);font-size:.84rem;line-height:1.35}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1200px){
  .cs-creds__grid{grid-template-columns:1fr}
  .cs-pa__meta{display:none}
  .cs-pa__row{grid-template-columns:clamp(56px,7vw,96px) minmax(0,1fr) 56px}
  .cs-cases a{grid-template-columns:56px minmax(0,.7fr) minmax(0,1.5fr) minmax(0,.8fr) 20px;gap:18px}
}
@media (max-width:992px){
  .cs-approach__grid,.cs-industries__grid,.cs-booking__grid{grid-template-columns:1fr}
  .cs-approach__aside{position:static}
  .cs-feature{grid-template-columns:1fr}
  .cs-feature__img{min-height:0;aspect-ratio:16/9}
  .cs-cases a{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"y c r" "y t r";gap:4px 18px}
  .cs-cases__year{grid-area:y;align-self:start;padding-top:2px}
  .cs-cases__client{grid-area:c}
  .cs-cases__title{grid-area:t}
  .cs-cases__res{grid-area:r;align-self:center}
  .cs-cases .ico{display:none}
  .cs-partners{grid-template-columns:repeat(2,1fr)}
  .cs-members__list{grid-template-columns:repeat(3,1fr)}
  .cs-members__list li:nth-child(4){border-left:0}
  .cs-members__list li:nth-child(n+4){border-top:1px solid var(--line)}
  .cs-pa__more{grid-template-rows:1fr}
}
@media (max-width:768px){
  .cs-creds__nums{grid-template-columns:repeat(2,1fr);gap:24px 0}
  .cs-creds__nums li:nth-child(3){border-left:0;padding-left:0}
  .cs-creds__nums li:first-child{border-left:0;padding-left:0}
  .cs-pa__row{grid-template-columns:44px minmax(0,1fr) 44px;gap:14px;padding-inline:0}
  .cs-pa__row:hover,.cs-pa__row:focus-visible{background:transparent}
  .cs-pa__go{width:44px;height:44px}
  .cs-pa__num{font-size:1.6rem}
  .cs-pa__desc{display:none}
  .cs-pa__tags{padding-top:14px}
  .cs-article{grid-template-columns:72px minmax(0,1fr)}
  .cs-article__img{display:none}
  .cs-article__date b{font-size:2.5rem}
  .cs-cases a{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"y r" "c r" "t t";padding-inline:0}
  .cs-cases a:hover{padding-inline:0;background:transparent}
  .cs-cases__res{text-align:right}
  .cs-metrics dd{font-size:2rem}
  .cs-members__list{grid-template-columns:repeat(2,1fr)}
  .cs-members__list li:nth-child(n){border-left:0;border-top:1px solid var(--line)}
  .cs-members__list li:nth-child(even){border-left:1px solid var(--line)}
  .cs-members__list li:nth-child(-n+2){border-top:0}
  .cs-members__list li:last-child{grid-column:1/-1;border-left:0}
}
@media (max-width:600px){
  .cs-metrics{grid-template-columns:1fr}
  .cs-metrics div,.cs-metrics div+div{padding:16px 0;border-left:0;border-bottom:1px solid var(--cs-forest-line);flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px}
  .cs-metrics dd{margin:0}
  .cs-metrics dt{text-align:right}
}
@media (max-width:480px){
  .cs-creds__rank{gap:14px}
  .cs-creds__badge{width:64px;height:64px}
  .cs-creds__badge b{font-size:2.1rem}
  .cs-principle{grid-template-columns:1fr;gap:10px}
  .cs-principle__num{font-size:2.5rem}
  .cs-partners{grid-template-columns:1fr 1fr;gap:16px 12px}
  .cs-partner h3{font-size:1.1rem}
  .cs-partner__in{top:10px;right:10px;width:38px;height:38px}
  .cs-partner__exp{display:none}
  .cs-ind-list{gap:8px}
  .cs-ind-list a{padding:10px 16px}
  .cs-article{grid-template-columns:1fr;gap:12px}
  .cs-article__date{display:flex;align-items:baseline;gap:8px}
  .cs-article__date b{font-size:1.75rem}
  .cs-article__date span{margin-top:0}
  .cs-members__list{grid-template-columns:1fr}
  .cs-members__list li:nth-child(n){border-left:0;border-top:1px solid var(--line)}
  .cs-members__list li:first-child{border-top:0}
}
.demo-consulting .page-hero--image .serif,.demo-consulting .cta-band .serif,.demo-consulting .on-dark .serif,.demo-consulting .section--dark .serif{color:var(--accent)}

/* on tablet/phone the hero booking card is replaced by a compact CTA bar that scrolls to the booking section */
.cs-book-cta{display:none}
@media (max-width:992px){
  .csh .cs-book{display:none}
  .cs-book-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px var(--gutter) clamp(36px,6vw,56px);padding:16px 16px 16px 22px;border-radius:var(--r-lg);background:var(--primary);color:#fff;box-shadow:0 24px 48px -28px rgba(11,42,34,.45);transition:background .25s var(--ease)}
  .cs-book-cta:hover{background:var(--primary-600)}
  .cs-book-cta__txt{display:grid;gap:2px;min-width:0}
  .cs-book-cta b{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}
  .cs-book-cta small{font-size:.84rem;color:rgba(255,255,255,.82)}
  .cs-book-cta__go{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--accent);color:var(--ink)}
  .cs-book-cta__go .ico{width:18px;height:18px}
  .cs-book-cta:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
}
