/* Full-screen chapters. Deliberately no hero, brand, form or global type overrides. */
#compliance,#problems,#forge,#mission,#waitlist{min-height:100vh;min-height:100svh;margin-top:0;padding-top:clamp(36px,6svh,78px);padding-bottom:clamp(36px,6svh,78px);scroll-margin-top:0;border-top:1px solid var(--line)}
#compliance,#problems,#forge{display:flex;flex-direction:column;justify-content:center}
#mission,#waitlist{align-content:center}
#compliance{position:relative;isolation:isolate;overflow:clip;gap:0}
.compliance-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
#compliance .eyebrow{color:var(--accent)}
.planned-label{display:flex;align-items:center;gap:8px;color:#a4a4ad;font:10px var(--font-mono);letter-spacing:.03em}
.planned-label>span{width:5px;height:5px;background:var(--accent);border-radius:50%}
.compliance-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;position:relative;z-index:1}
#compliance h2{font-size:clamp(42px,5.4vw,82px);font-weight:500;letter-spacing:-.058em;line-height:1.02;max-width:none;margin:0}
#compliance h2>span{color:#98989e}
.compliance-heading>p{font-size:13px;line-height:1.8;color:#999aa2;padding-bottom:6px;flex-shrink:0}
.compliance-heading strong{font-weight:500;color:#f4f4ee}
.compliance-visual{position:relative;margin:0 -12px;min-height:0;display:flex;flex-direction:column;align-items:center}
.control-stack{display:block;width:min(100%,1160px);height:clamp(280px,42svh,490px);overflow:visible;flex-shrink:0}
.stack-cage{stroke:#66616a;stroke-opacity:.24;stroke-width:1}.stack-axis{stroke-dasharray:3 8}
.control-plane{transition:opacity .5s,filter .5s;opacity:.5}.plane-side{fill:#151316;stroke:#51464a;stroke-width:.8}.plane-face{fill:url(#stack-plane)}.plane-grid{stroke:#71646b;stroke-opacity:.23;stroke-width:.7;fill:none}.plane-outline{fill:none;stroke:#776770;stroke-width:1}.plane-rim{fill:none;stroke:#94828b;stroke-width:1.5}.plane-icon{stroke:#afa0a8;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}.plane-leader{stroke:#77717b;stroke-width:1;fill:none}.plane-anchor{fill:#8e8089}.plane-label{fill:#c4bac0;font:11px var(--font-mono);letter-spacing:1px}.plane-sub{fill:#9b919b;font:11px var(--font-body)}
#compliance[data-control=plan] .plane-plan,#compliance[data-control=build] .plane-build,#compliance[data-control=test] .plane-test,#compliance[data-control=validate] .plane-validate,#compliance[data-control=deploy] .plane-deploy{opacity:1;filter:drop-shadow(0 0 18px #ff542630)}
#compliance[data-control=plan] .plane-plan .plane-rim,#compliance[data-control=build] .plane-build .plane-rim,#compliance[data-control=test] .plane-test .plane-rim,#compliance[data-control=validate] .plane-validate .plane-rim,#compliance[data-control=deploy] .plane-deploy .plane-rim{stroke:#ff623b;stroke-width:2.4;stroke-dasharray:140 900;animation:compliance-edge 7s linear infinite}
#compliance[data-control=plan] .plane-plan .plane-outline,#compliance[data-control=build] .plane-build .plane-outline,#compliance[data-control=test] .plane-test .plane-outline,#compliance[data-control=validate] .plane-validate .plane-outline,#compliance[data-control=deploy] .plane-deploy .plane-outline{stroke:#ff663f}
#compliance[data-control=plan] .plane-plan .plane-icon,#compliance[data-control=build] .plane-build .plane-icon,#compliance[data-control=test] .plane-test .plane-icon,#compliance[data-control=validate] .plane-validate .plane-icon,#compliance[data-control=deploy] .plane-deploy .plane-icon{stroke:#ff784f}
#compliance[data-control=plan] .plane-plan .plane-label,#compliance[data-control=build] .plane-build .plane-label,#compliance[data-control=test] .plane-test .plane-label,#compliance[data-control=validate] .plane-validate .plane-label,#compliance[data-control=deploy] .plane-deploy .plane-label{fill:#ff784f}
#compliance[data-control=plan] .plane-plan .plane-anchor,#compliance[data-control=build] .plane-build .plane-anchor,#compliance[data-control=test] .plane-test .plane-anchor,#compliance[data-control=validate] .plane-validate .plane-anchor,#compliance[data-control=deploy] .plane-deploy .plane-anchor{fill:#ff784f}
.flow-base{stroke:#6f4b43;stroke-width:1}.flow-live{stroke:#ff673f;stroke-width:2;stroke-dasharray:10 290;animation:compliance-flow 6s linear infinite}.stack-record{stroke:#d2c7cb;stroke-width:1;fill:#151316}.stack-record text{fill:#8e8792;stroke:none;font:9px var(--font-mono);letter-spacing:1px}.stack-ticks{stroke:#48434b;stroke-width:1}
.compliance-visual figcaption{font-size:12px;color:#b5b2bb;line-height:1.5;text-align:center;min-height:18px;padding:0 80px;margin-top:-5px}
.compliance-motion{position:absolute;right:12px;bottom:0;display:flex;align-items:center;gap:8px;border:1px solid #39343d;background:#100f12;color:#aaa4af;padding:8px 11px;min-height:36px;font-size:10px;line-height:1}
.compliance-motion:hover{color:#f4f4ee;border-color:#726773}.compliance-motion:disabled{cursor:default;color:#99949e}
.compliance-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compliance-controls button{position:relative;display:flex;gap:18px;align-items:center;text-align:left;border:0;border-right:1px solid var(--line);background:transparent;color:#b0abb4;padding:20px 24px;min-height:85px}
.compliance-controls button:first-child{padding-left:0}.compliance-controls button:last-child{border-right:0}.compliance-controls button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.compliance-controls button[aria-pressed=true]::before{transform:scaleX(1)}.compliance-controls button[aria-pressed=true]{background:linear-gradient(180deg,#ff542609,transparent)}.control-index{align-self:flex-start;margin-top:5px;font:10px var(--font-mono);color:#89818d}.compliance-controls strong{display:block;font-size:18px;font-weight:500;letter-spacing:-.025em;color:#ddd7df}.compliance-controls small{display:block;font-size:11px;line-height:1.5;color:#9c949f;margin-top:5px}.control-indicator{margin-left:auto;color:#6b636f;font-size:20px}.compliance-controls button[aria-pressed=true] .control-index,.compliance-controls button[aria-pressed=true] .control-indicator{color:var(--accent)}
.compliance-lifecycle{display:flex;list-style:none;gap:12px;padding:0;margin:18px 0 0;color:#96909c;font:10px var(--font-mono);justify-content:center}.compliance-lifecycle li:not(:last-child)::after{content:"→";color:#635a66;margin-left:12px}
.compliance-boundary{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:20px;color:#8e8794;font-size:10px;line-height:1.65}.compliance-boundary>p{max-width:730px}.compliance-boundary details{flex:0 0 135px;position:relative}.compliance-boundary summary{cursor:pointer;color:#b1a9b7;min-height:24px}.compliance-boundary details>p{position:absolute;right:0;bottom:35px;width:min(340px,80vw);padding:20px;background:#19161d;border:1px solid #5b4c61;box-shadow:0 16px 50px #0009;color:#c5bdca;font-size:12px;z-index:3}
#compliance[data-motion=paused] *,#compliance[data-in-view=false] *{animation-play-state:paused!important}
@keyframes compliance-flow{to{stroke-dashoffset:-600}}@keyframes compliance-edge{to{stroke-dashoffset:-1040}}
/* Fit the existing interactive examples and Forge into screen-height chapters on desktop. */
#problems .section-heading{margin-bottom:18px}#problems .section-heading h2{font-size:clamp(34px,3.6vw,54px)}#problems .section-heading .eyebrow{margin-bottom:12px}#problems .problem-context{gap:36px;margin-top:0;padding:15px 0;margin-bottom:8px}#problems .problem-context h3{font-size:24px}#problems .problem-context>div:last-child>p:last-child{font-size:13px;line-height:1.6}#problems .context-label{font-size:10px;margin-bottom:7px}.problem-path-picker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:#c2bcc7}.problem-path-picker>summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:13px 0;min-height:44px}.problem-path-picker>summary::-webkit-details-marker{display:none}.problem-path-picker>summary>span{color:var(--accent);font-size:16px}.problem-path-picker[open]>summary>span{transform:rotate(45deg)}#problems .solution-paths{margin-bottom:20px}#problems .example-tabs{padding:14px 0 10px;border-top:0}#problems .example-tabs button{padding:8px 12px;min-height:36px}#problems .section-footnote{margin-top:10px}#problems .example-description{padding-bottom:12px}#problems .example-panel{overflow:auto;max-height:55svh;min-height:250px}
#forge .section-heading{margin-bottom:22px}#forge .forge-path-note{margin-bottom:16px}#forge .builder-frame{overflow:auto;min-height:300px;max-height:65svh}#forge .section-footnote{margin-top:12px}
@media(min-width:1000px) and (min-height:760px){#problems,#forge{height:100svh;justify-content:flex-start;padding-top:40px;padding-bottom:36px}#problems .example-panel,#forge .builder-frame{flex:1;min-height:0;max-height:none}#problems:has(.problem-path-picker[open]){height:auto;min-height:100svh}#problems:has(.problem-path-picker[open]) .example-panel{max-height:55svh;min-height:300px}}
@media(min-width:1600px){.control-stack{height:clamp(320px,45svh,530px)}}
@media(max-width:1000px){#compliance h2{font-size:clamp(42px,6.5vw,65px)}.compliance-controls button{padding:18px 14px;gap:12px}.compliance-controls strong{font-size:16px}.compliance-controls small{font-size:10px}.control-indicator{display:none}.compliance-heading>p{font-size:11px}.compliance-boundary{gap:16px}}
@media(max-width:700px){#compliance,#problems,#forge,#mission,#waitlist{padding-top:38px;padding-bottom:38px}#compliance{justify-content:center}.compliance-topline{align-items:flex-start;margin-bottom:25px}.compliance-topline .eyebrow{font-size:10px}.planned-label{font-size:8px;gap:6px;line-height:1.5;max-width:143px}.compliance-heading{display:block}#compliance h2{font-size:clamp(37px,9.5vw,58px);line-height:1.04}.compliance-heading>p{margin-top:17px;font-size:11px;line-height:1.7}.compliance-heading>p br{display:none}.compliance-heading strong{margin-left:5px}.compliance-visual{margin:7px -20px 0}.control-stack{width:120%;max-width:none;height:clamp(230px,35svh,300px);margin-left:-3%;flex-shrink:0}.stack-record text{font-size:11px}.compliance-visual figcaption{font-size:10px;padding:0 25px;margin-top:-9px;max-width:390px;min-height:30px}.compliance-motion{position:static;align-self:flex-end;margin:10px 20px 0;min-height:32px;padding:7px 10px;font-size:9px}.compliance-controls{margin-top:13px}.compliance-controls button{display:block;padding:14px 10px;min-height:95px}.compliance-controls button:first-child{padding-left:0}.control-index{display:block;margin:0 0 10px;font-size:9px}.compliance-controls strong{font-size:14px}.compliance-controls small{font-size:9px;line-height:1.5;max-width:105px;min-height:27px;margin-top:5px}.compliance-lifecycle{font-size:9px;gap:8px;margin-top:16px}.compliance-lifecycle li:not(:last-child)::after{margin-left:8px}.compliance-boundary{display:block;font-size:9px;margin-top:15px}.compliance-boundary details{margin-top:10px}.compliance-boundary details>p{position:static;width:auto;padding:15px;margin-top:8px;box-shadow:none}.problem-context{grid-template-columns:1fr}#problems .problem-context{gap:18px}#problems .example-panel{max-height:65svh;min-height:300px}#forge .builder-frame{max-height:75svh}.problem-path-picker>summary{font-size:11px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){#compliance *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Audience-facing five-step workflow, replacing technical terminology. */
.compliance-controls{grid-template-columns:repeat(5,minmax(0,1fr))}.compliance-controls button{gap:12px;padding:20px 18px}.control-indicator{display:none}.compliance-heading>p{max-width:300px;flex-shrink:1}.plane-sub{font-size:11px}
@media(max-width:1000px){.compliance-controls button{padding:18px 12px;gap:9px}.compliance-controls strong{font-size:16px}.compliance-controls small{font-size:10px}}
@media(max-width:700px){.compliance-controls button{padding:13px 5px;min-height:67px}.compliance-controls strong{font-size:12px}.compliance-controls small{display:none}.control-index{margin-bottom:8px}.compliance-heading>p{max-width:300px;line-height:1.7;margin-top:20px}.compliance-heading strong{margin-left:0}.compliance-heading>p br{display:none}.compliance-controls{margin-top:15px}.compliance-boundary{margin-top:16px}}

/* Five independent layers, one per workflow stage. */
.control-plane{opacity:.63}.control-stack{height:clamp(310px,44svh,510px)}.stack-cage{stroke-opacity:.18}
@media(max-width:700px){.control-stack{height:clamp(270px,38svh,350px);width:125%;margin-left:-4%}.plane-label{font-size:12px}.plane-sub{font-size:10px}}

@media(max-width:700px){.control-stack{width:100%;margin-left:0;height:clamp(280px,38svh,350px)}.plane-label,.plane-sub,.plane-leader,.plane-anchor{display:none}}

@media(min-width:1000px) and (min-height:760px){#compliance{height:100svh;padding-top:40px;padding-bottom:36px}#compliance .compliance-visual{flex:1;min-height:220px}#compliance .control-stack{flex:1 1 0;min-height:0;height:0}#compliance .compliance-visual figcaption{flex-shrink:0;margin-top:0}}

/* Selected workflow copy, keeping the subtitle visible on small screens. */
.compliance-boundary{justify-content:flex-start}.compliance-boundary>p{max-width:none}.compliance-controls small{line-height:1.5}
@media(max-width:700px){.compliance-controls small{display:block;font-size:8px;min-height:36px;line-height:1.5;margin-top:6px}.compliance-controls button{min-height:104px}.compliance-controls strong{font-size:12px}.control-index{margin-bottom:8px}}

/* Proposed policy placement. Preview only; not a claim of connected app enforcement. */
.compliance-assurance{flex:0 1 350px;max-width:350px;padding-left:24px;border-left:1px solid #ff542670}.training-policy .policy-label{color:#ff7850;font:9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.training-policy h3{font-size:clamp(23px,2.3vw,33px);font-weight:500;letter-spacing:-.045em;line-height:1.05;color:#f4f4ee;margin:0 0 10px}.training-policy>p:last-child{font-size:11px;line-height:1.6;color:#aaa4b0}.framework-alignment{font-size:11px;line-height:1.7;color:#8f8997;margin-top:15px}.framework-alignment strong{font-weight:500;color:#c4bdcc}
@media(max-width:1000px){.compliance-assurance{flex-basis:285px;padding-left:18px}.training-policy h3{font-size:25px}}
@media(max-width:700px){.compliance-assurance{margin-top:22px;padding-left:14px;max-width:100%}.training-policy h3{font-size:25px}.training-policy h3 br{display:none}.training-policy .policy-label{font-size:8px;margin-bottom:8px}.training-policy>p:last-child{font-size:10px}.framework-alignment{font-size:10px;margin-top:10px}}

/* Keep selected-step announcements accessible without duplicating the visible labels. */
#compliance .compliance-visual figcaption{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Coordinated layer handoff. SVG translate composes with each plate's original position. */
#compliance .control-plane{opacity:.48;translate:0 0;transition:translate 950ms cubic-bezier(.22,1,.36,1),opacity 750ms ease,filter 950ms ease;filter:drop-shadow(0 0 0 #ff542600)}
#compliance .control-plane[data-active=true]{opacity:1;translate:8px -12px;filter:drop-shadow(0 10px 14px #ff542625)}
#compliance .plane-outline,#compliance .plane-icon,#compliance .plane-leader{transition:stroke 650ms ease,stroke-opacity 650ms ease}
#compliance .plane-label,#compliance .plane-sub,#compliance .plane-anchor{transition:fill 650ms ease,opacity 650ms ease}
#compliance .plane-grid{transition:stroke-opacity 850ms ease}
#compliance .plane-rim{stroke:#ff784f;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:none;transition:stroke-dashoffset 1100ms cubic-bezier(.22,1,.36,1),opacity 550ms ease}
#compliance .control-plane[data-active=true] .plane-rim{stroke:#ff784f;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;opacity:1;animation:none}
#compliance .control-plane[data-active=true] .plane-leader{stroke:#ff784f;stroke-opacity:.8}
#compliance .control-plane[data-active=true] .plane-sub{fill:#d5c9c9}
#compliance .control-plane[data-active=true] .plane-grid{stroke-opacity:.4}
#compliance .compliance-controls{position:relative}
#compliance .compliance-controls::before{content:"";position:absolute;z-index:1;top:-1px;left:0;width:20%;height:2px;background:var(--accent);box-shadow:0 0 14px #ff542655;translate:calc(var(--control-index,0) * 100%) 0;transition:translate 850ms cubic-bezier(.22,1,.36,1);pointer-events:none}
#compliance .compliance-controls button::before{display:none}
#compliance .compliance-controls button{transition:background-color 650ms ease,color 650ms ease}
#compliance .compliance-controls button[aria-pressed=true]{background:linear-gradient(180deg,#ff54260d,transparent)}
#compliance .control-index{transition:color 650ms ease}
@media(prefers-reduced-motion:reduce){#compliance .control-plane,#compliance .compliance-controls::before{transition:none!important}#compliance .control-plane[data-active=true]{translate:0 0;filter:none}}

/* Prominent label for the five-layer workflow diagram. */
#compliance .pipeline-label{font-size:clamp(18px,2vw,26px);font-weight:500;letter-spacing:-.03em;color:var(--ink,#f4f4ee);line-height:1.2;text-align:center;margin:10px 0 0;max-width:calc(100% - 180px);flex-shrink:0}
@media(max-width:700px){#compliance .pipeline-label{max-width:calc(100% - 36px);margin:12px 0 2px;font-size:18px}}
