/* The source <details> cards remain usable when JavaScript is unavailable. */
.service-client-need,.service-client-case{margin:0;color:#e0e8f4;font-size:1rem;line-height:1.6}
.service-recommendations>.eyebrow:not(:first-of-type){margin-top:12px}
.service-bds-heading{margin:16px 0 0;color:var(--gold);font-size:1.2rem}
.service-bds-explainer{margin:0 0 10px;color:var(--muted);font-size:.92rem;line-height:1.55}
.service-person .service-person-bds{color:var(--gold);font-size:.88rem;font-weight:700}
.service-card .service-hint{font-size:.88rem}
.services-grid.is-enhanced .service-card{transition:border-color .28s,box-shadow .28s,transform .28s}
.services-grid.is-enhanced .service-card.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px #ebc57866,0 0 28px #ebc57832;transform:translateY(-3px)}
.service-stage[hidden]{display:none}
.service-stage{position:fixed;inset:0;z-index:80;pointer-events:none;perspective:1100px}
.service-stage-backdrop{position:absolute;inset:0;background:#020916ae;opacity:1;pointer-events:none;animation:service-backdrop-in .35s both}
.service-stage-position{position:absolute;left:50%;top:50%;width:min(var(--panel-width,700px),calc(100vw - 32px));max-height:calc(100dvh - 32px);transform:translate(-50%,-50%);transition:width .48s cubic-bezier(.2,.78,.2,1);pointer-events:none}
.service-stage-panel{position:relative;width:100%;max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid #ebc578a6;border-radius:18px;background:radial-gradient(circle at 88% 2%,#1e4b87 0%,#0b2349 32%,#06152f 78%);box-shadow:0 34px 100px #000b,0 0 0 1px #fff2 inset;pointer-events:auto;transition:height .48s cubic-bezier(.2,.78,.2,1);transform-style:preserve-3d;backface-visibility:hidden}
.service-stage-scroll{overflow:auto;max-height:calc(100dvh - 32px);padding:34px clamp(23px,4vw,40px) 36px}
.service-stage-kicker{margin:0 54px 7px 0;color:var(--gold);font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.service-stage-panel h2{margin:0 58px 13px 0;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.14;letter-spacing:-.035em}
.service-stage-description{max-width:56ch;margin:0 0 22px;color:#dce6f5;font-size:1.08rem;line-height:1.55}
.service-stage-switch-label{display:flex;gap:13px;align-items:center;flex-wrap:wrap;color:var(--gold);font-size:.91rem;font-weight:650}
.service-stage-switch{min-width:0;max-width:100%;padding:9px 28px 9px 10px;border:1px solid #ebc5788c;border-radius:5px;background:#071834;color:#fff;font:inherit;font-weight:500}
.service-stage-panel .service-recommendations{padding:23px 0 0;gap:12px;animation:none}
.service-stage-panel .service-recommendations>.eyebrow{font-size:.76rem;margin:8px 0 0}
.service-stage-panel .service-person{grid-template-columns:62px minmax(0,1fr);padding:14px;background:#030d21b8;transition:border-color .2s,transform .2s}
.service-stage-panel .service-person strong{font-size:1rem}
.service-stage-panel .service-person>span>span{font-size:.9rem;line-height:1.52}
.service-stage-panel .service-person:hover{border-color:var(--gold);transform:translateY(-2px)}
.service-stage-close{position:absolute;right:17px;top:16px;z-index:3;display:grid;place-items:center;width:43px;height:43px;border:1px solid #ebc578b5;border-radius:50%;background:#06152f;color:#fff;font-size:1.55rem;line-height:1}
.service-stage-close:hover{background:var(--gold);color:var(--midnight)}
.service-stage.is-switching .service-stage-scroll{animation:service-content-fade .52s both}
.service-stage-signal{position:absolute;inset:0;z-index:2;overflow:hidden;background:#03142be6;opacity:0;pointer-events:none}
.service-stage.is-switching .service-stage-signal{animation:service-signal .62s both}
.service-stage-signal svg{width:100%;height:100%;opacity:.85}
.service-stage-signal path{fill:none;stroke:#eaf8ff;stroke-width:1.4;stroke-dasharray:10 16;filter:drop-shadow(0 0 6px #b8efff);animation:service-current .55s linear infinite}
.service-stage-signal circle{fill:#fff;filter:drop-shadow(0 0 7px #d8f7ff);animation:service-node .52s ease-in-out infinite alternate}
.service-stage-signal circle:nth-of-type(3n){animation-delay:.14s}
.service-stage-signal circle:nth-of-type(4n){animation-delay:.26s}
.service-stage-code{position:absolute;left:6%;bottom:10%;color:#f0f9ff;font:700 .82rem/1.6 ui-monospace,monospace;letter-spacing:.3em;text-shadow:0 0 9px #9bdcff}
.service-stage-measure{position:fixed;left:-200vw;top:0;visibility:hidden;pointer-events:none}
@keyframes service-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes service-signal{0%,100%{opacity:0}22%,68%{opacity:1}}
@keyframes service-content-fade{0%,100%{opacity:1}42%,58%{opacity:0}}
@keyframes service-current{to{stroke-dashoffset:-52}}
@keyframes service-node{to{opacity:.35;transform:scale(.75)}}
@media(max-width:640px){.service-stage-scroll{padding:27px 20px 27px}.service-stage-panel h2{font-size:1.95rem}.service-stage-panel .service-person{grid-template-columns:48px minmax(0,1fr);gap:11px}.service-stage-panel .service-person>img{width:48px;height:48px}.service-stage-panel .service-person>span>span{font-size:.88rem}.service-stage-description{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.service-stage *, .services-grid.is-enhanced .service-card{animation:none!important;transition:none!important}.service-stage-signal{display:none}}
