/* Six business layers assemble into one system as the visitor scrolls. */
#expertise.consulting-section{min-height:185svh;padding-block:70px 40px;position:relative}
.consulting-section .section-head{margin-bottom:35px}
.consulting-build{position:sticky;top:105px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;min-height:580px}
.stack-visual{min-width:0;position:relative;height:510px;perspective:1100px}
.stack-world{position:absolute;left:50%;top:54%;width:280px;height:225px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(54deg) rotateZ(-28deg);transition:rotate .6s}
.stack-layer{position:absolute;inset:0;border:1px solid #b8acd6;border-radius:13px;background:linear-gradient(135deg,#f9f7ffec,#e5def4ee);box-shadow:0 3px 0 #d4cae5,0 14px 32px #503b7315;transform:translate3d(calc((1 - var(--assembly,1)) * var(--offset) * 1px),calc((1 - var(--assembly,1)) * 85px),calc(var(--level) * 31px + (1 - var(--assembly,1)) * var(--level) * 27px));transition:background .45s,border-color .45s,box-shadow .45s;display:flex;align-items:flex-end;justify-content:space-between;padding:17px 20px;color:#8c7aa8;backface-visibility:hidden}
.stack-layer::before{content:'';position:absolute;inset:24px;border:1px solid #b7a6d333;background:linear-gradient(90deg,transparent 49.5%,#b7a6d322 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#b7a6d322 50%,transparent 50.5%);border-radius:8px}
.stack-layer span{font-size:13px;font-weight:600;letter-spacing:1.5px;position:relative}.stack-layer b{font-size:24px;font-weight:400}
.stack-layer.is-active{background:linear-gradient(135deg,#e1e9fc,#e9def7);border-color:#8460bd;box-shadow:0 3px 0 #ac95ce,0 0 32px #9161cb28;color:#674199}
.stack-legend{position:absolute;bottom:7px;left:0;right:0;text-align:center;color:#877891;font-size:12px;letter-spacing:2px}
.stack-legend strong{display:block;color:#6b4d90;font-size:28px;letter-spacing:-1px;font-weight:500;margin-bottom:2px}
.scope-reading{min-width:0}.scope-switches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.scope-choice{min-height:48px;padding:9px 8px;border:1px solid #e0d8eb;background:transparent;border-radius:5px;color:#7c718b;text-align:center;font-size:12px;transition:background .25s,border-color .25s,color .25s}
.scope-choice:hover,.scope-choice:focus-visible,.scope-choice.active{background:#eee8f8;border-color:#aa8ecd;color:#6a419e}
.consulting-build .scope-panel{padding:0;background:transparent!important;border:0;border-radius:0;min-height:0;box-shadow:none}
.consulting-build .scope-content:not([hidden]){animation:scope-arrive .35s ease both}
.consulting-build .scope-kicker{font-size:12px;letter-spacing:1.8px;color:#987db7}
.consulting-build .scope-content h3{font-size:clamp(28px,2.8vw,40px);line-height:1.15;letter-spacing:-1.5px;margin:17px 0}
.consulting-build .scope-content>p{font-size:16px;line-height:1.65;max-width:480px}
.consulting-build .scope-content ul{margin:20px 0;padding:0;list-style:none}
.consulting-build .scope-content li{font-size:14px;padding:7px 0 7px 16px;position:relative}
.consulting-build .scope-content li::before{content:'';width:4px;height:4px;background:#aa8bcc;border-radius:50%;position:absolute;left:0;top:17px}
.consulting-build .scope-footer{margin-top:22px;padding-top:20px;border-top:1px solid #dfd6e8}
.consulting-build .scope-footer p{font-size:13px;line-height:1.6;margin-bottom:16px}
@keyframes scope-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
#cases{--brand-row-gap:24px}.case-grid{row-gap:var(--brand-row-gap)!important}
#cases .expanded-brands{margin-top:var(--brand-row-gap);text-align:center}
#cases .expanded-brands summary{display:flex!important;margin:0 auto;width:fit-content}
#cases .expanded-brands[open] summary{display:none!important}
#cases .expanded-brands .case-grid{text-align:left}
@media(max-width:800px){
 #expertise.consulting-section{min-height:0;padding-block:50px}
 .consulting-build{position:relative;top:auto;grid-template-columns:1fr;gap:25px;min-height:0}
 .stack-visual{height:365px}.stack-world{scale:.76;top:57%}.stack-legend{bottom:0}.stack-legend strong{font-size:24px}
 .scope-switches{gap:6px}.scope-choice{font-size:11px}.consulting-build .scope-content h3{font-size:30px}
 #cases{--brand-row-gap:18px}
}
@media(prefers-reduced-motion:reduce){#expertise.consulting-section{min-height:0}.consulting-build{position:relative;top:auto}.stack-layer{transform:translateZ(calc(var(--level) * 31px));transition:none}.consulting-build .scope-content:not([hidden]){animation:none}}
/* Six parts complete a single wheel; rotation begins only after assembly. */
.wheel-plane{position:absolute;inset:0;display:grid;place-items:center;transform:rotateX(16deg);transform-style:preserve-3d}
.cycle-rotor{width:min(100%,510px);overflow:visible;filter:drop-shadow(0 12px 2px #ad9bc52b) drop-shadow(0 20px 26px #77608d12);animation:consulting-wheel 38s linear infinite;animation-play-state:paused}
.wheel-piece{transform:translate(calc((1 - var(--assembly,0)) * var(--dx)),calc((1 - var(--assembly,0)) * var(--dy)))}
.wheel-piece path{fill:#eee8f8;stroke:#b9a3d4;stroke-width:1.2;transition:fill .4s,stroke .4s}
.wheel-piece:nth-of-type(even) path{fill:#e5e9f8}
.wheel-piece.is-active path{fill:#d8cbed;stroke:#8762b8;stroke-width:2}
.wheel-piece text{font-family:inherit;font-size:17px;font-weight:500;fill:#816996}
.wheel-link{opacity:0;transition:opacity .6s}
.is-assembled .wheel-link{opacity:1}
.is-assembled .cycle-rotor{animation-play-state:running}
.wheel-core{position:absolute;width:180px;text-align:center;pointer-events:none;color:#8c78a4;line-height:1.5}
.wheel-core>span{font-size:13px;letter-spacing:5px}.wheel-core strong{display:block;font-size:54px;letter-spacing:-3px;font-weight:400;color:#7b56a7}.wheel-core small{font-size:13px}
.wheel-visual .stack-legend{bottom:-4px;font-size:11px;letter-spacing:1.5px}
@keyframes consulting-wheel{to{transform:rotate(360deg)}}
@media(max-width:800px){.wheel-visual{height:370px}.cycle-rotor{max-width:350px}.wheel-core{width:140px}.wheel-core strong{font-size:42px}.wheel-core small{font-size:11px}.wheel-visual .stack-legend{font-size:9px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.cycle-rotor{animation:none}.wheel-piece{transform:none}}
