/* Progressive enhancement: content stays readable without JavaScript. */
.csoc-section{position:relative;min-height:940px;background:#080f0b}.csoc-stage{position:sticky;top:0;min-height:620px;height:min(760px,100svh);isolation:isolate;overflow:hidden}
.csoc-media{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#080f0b}.csoc-poster,.csoc-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}.csoc-video{opacity:0;transition:opacity .8s ease}.csoc-video.is-playing{opacity:1}
.csoc-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,13,8,.92) 0%,rgba(3,13,8,.72) 31%,rgba(3,13,8,.17) 75%),linear-gradient(0deg,rgba(3,13,8,.99),transparent 49%,rgba(3,13,8,.22));pointer-events:none}
.csoc-content{display:flex;flex-direction:column;min-height:inherit;height:100%;padding-block:38px 23px}.csoc-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:35px}.csoc-topline>.eyebrow{margin-bottom:0}.csoc-intro{max-width:430px}
.csoc-intro h2{font-size:clamp(2.8rem,4vw,4.1rem);line-height:1.07;letter-spacing:-.045em;text-shadow:0 3px 35px #06100b}.csoc-intro h2 span{color:var(--bright)}.csoc-intro p{max-width:320px;color:#c0d2c7;font-size:1.04rem;line-height:1.75;margin-top:22px}
.csoc-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative;margin-top:auto;padding-top:25px;border-top:1px solid #a6d4b936}.csoc-flow:after{content:"";position:absolute;top:-1px;left:0;height:2px;width:100%;background:linear-gradient(90deg,#20b070,#7bf1b5);transform:scaleX(0);transform-origin:left;box-shadow:0 0 15px #20b07075}
.csoc-step{position:relative;padding-left:17px;border-left:1px solid #9ac0a943}.csoc-step-number{font-size:.75rem;font-weight:500;letter-spacing:.11em;color:#90b6a0}.csoc-step h3{font-size:1.18rem;line-height:1.5;margin-top:6px;color:#f1f7f3}.csoc-step p{font-size:.875rem;line-height:1.6;margin-top:3px;color:#acbfaf}
.csoc-caption{align-self:flex-end;font-family:"Avenir Roman",var(--font);font-size:.75rem;line-height:1.5;color:#9caf9f;margin-top:20px}
.motion-enabled .hero-art{transform:translate3d(0,var(--hero-shift,0px),0) rotate(var(--hero-rotation,0deg));transform-origin:52% 52%;will-change:transform}.motion-enabled .csoc-media{transform:translate3d(0,var(--scene-y,0px),0) scale(var(--scene-scale,1.05));will-change:transform}
.motion-enabled .csoc-flow:after{transform:scaleX(var(--csoc-progress,0))}.motion-enabled .csoc-step{transition:border-color .4s ease}.motion-enabled .csoc-step.is-current{border-left-color:var(--bright)}.motion-enabled .csoc-step.is-current h3,.motion-enabled .csoc-step.is-current .csoc-step-number{color:var(--bright);transition:color .4s ease}
.motion-enabled .pdmi-step:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--green);transform:scaleX(var(--phase-fill,0));transform-origin:left}.motion-enabled .pdmi-step{transition:background .3s ease}.motion-enabled .pdmi-step.is-current{background:#eaf6ee}.motion-enabled .pdmi-step.is-current h3{color:var(--green-ink)}
.reveal.animate-in{animation:none}.motion-enabled .reveal.animate-in{animation:content-arrive .8s cubic-bezier(.2,.65,.25,1) backwards;animation-delay:var(--reveal-delay,0ms)}
@keyframes content-arrive{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.motion-paused .hero-art{transform:translate3d(0,var(--hero-shift,0px),0) rotate(var(--hero-rotation,0deg))}.motion-paused .csoc-media{transform:translate3d(0,var(--scene-y,0px),0) scale(var(--scene-scale,1.05))}.motion-paused .reveal{opacity:1;transform:none;animation:none!important}.motion-paused .csoc-flow:after{transform:scaleX(var(--csoc-progress,0))}
@media(max-width:1180px){.csoc-stage{height:650px;min-height:590px}.csoc-section{min-height:850px}.csoc-content{padding-block:33px 22px}.csoc-intro h2{font-size:3.4rem}.csoc-topline{margin-bottom:27px}}
@media(max-width:960px){.csoc-flow{gap:24px}.csoc-step{padding-left:12px}.csoc-step h3{font-size:1.05rem}.csoc-intro h2{font-size:3.1rem}}
@media(max-width:720px){.csoc-section{min-height:0}.csoc-stage{position:relative;top:0;height:auto;min-height:0}.csoc-content{padding-block:30px 22px}.csoc-topline{gap:15px;margin-bottom:35px}.csoc-topline>.eyebrow{font-size:.75rem;max-width:190px;letter-spacing:.08em}.csoc-intro h2{font-size:clamp(2.7rem,9vw,3.5rem)}.csoc-intro p{max-width:270px;font-size:1rem}.csoc-media{bottom:140px}.csoc-poster,.csoc-video{object-position:64% 50%}.csoc-stage:before{background:linear-gradient(90deg,#031008e8 0%,#03100899 50%,#03100833),linear-gradient(0deg,#030f08 11%,#030f08bf 30%,transparent 65%)}.csoc-flow{grid-template-columns:1fr;gap:20px;margin-top:55px;padding-top:24px}.csoc-step{padding-left:16px}.csoc-step h3{font-size:1.125rem}.csoc-step p{font-size:.875rem}.csoc-step-number{font-size:.75rem}.csoc-caption{align-self:flex-start;margin-top:24px}.motion-enabled .csoc-media,.motion-paused .csoc-media{transform:none;will-change:auto}}
@media(prefers-reduced-motion:reduce){.csoc-section{min-height:0}.csoc-stage{position:relative;top:0}.hero-art,.csoc-media{transform:none!important}.reveal{opacity:1!important;transform:none!important;animation:none!important}.csoc-flow:after{display:none}}
@media print{.csoc-section,.media-control{display:none!important}.hero-art,.csoc-media{transform:none!important}}

/* The entire image is the control; no playback badge or button chrome. */
.media-control{position:absolute;inset:0;z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.media-control[hidden]{display:none}.media-control:focus-visible{outline:2px solid var(--bright);outline-offset:-8px;border-radius:4px}
.hero-video{position:absolute;inset:0;mix-blend-mode:normal;opacity:0;transition:opacity .6s ease;pointer-events:none}.hero-video.is-playing{opacity:1}
.csoc-video{pointer-events:none}
@media(max-width:720px){.hero-video{inset:auto;left:-7.5%;top:-7%}.hero-visual{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.hero-video,.csoc-video{transition:none}}
video::-webkit-media-controls-start-playback-button{display:none!important}
