.approach-hero{max-width:1600px;margin:auto;padding:65px 48px;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;color:white;align-items:center;background:radial-gradient(ellipse at 72% 40%,#2764ff14,transparent 55%)}.approach-intro h1{font-size:clamp(70px,7vw,110px);line-height:.96;letter-spacing:-.06em;margin:30px 0}.approach-intro h1 span{color:#92adff}.approach-intro>p:not(.eyebrow){font-size:18px;line-height:1.55;color:#b8c6e0;max-width:38ch}.approach-intro>.text-link{margin-top:25px}.approach-intro .eyebrow{color:#92adff;font-size:9px}.approach-scene{min-width:0}.concept-switch{display:flex;gap:8px;margin-bottom:25px}.concept-switch button{font:10px var(--mono);padding:12px 15px;border:1px solid #92adff45;color:#92adff;background:none}.concept-switch button[aria-pressed=true]{background:#2764ff;border-color:#2764ff;color:white}.scene-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #92adff35;padding:16px 0 0;font:9px var(--mono);color:#92adff;letter-spacing:.06em}.scene-meta>span:first-child{color:white}.approach-scene .visual-stage{height:430px;position:relative;overflow:hidden}.approach-scene #scene{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.approach-scene .floor{position:absolute;bottom:-10px;left:10%;right:10%;height:120px;background:radial-gradient(ellipse,#2764ff20,transparent 65%);pointer-events:none}.approach-scene #leaders,.approach-scene .node-pins{display:none}.approach-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.approach-choices .area{position:relative;inset:auto!important;transform:none!important;border:1px solid #92adff35;width:auto!important;padding:16px 12px;background:transparent;color:white;text-align:left}.approach-choices .area>span{font:8px var(--mono);color:#92adff}.approach-choices .area h2{font-size:24px;line-height:1;margin:13px 0 0;letter-spacing:-.04em}.approach-choices .area:hover{background:#92adff0c}.approach-choices .area[aria-pressed=true]{background:#2764ff23;border-color:#92adff}.scene-controls{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.scene-controls button{font:9px var(--mono);padding:10px;border:1px solid #92adff35;color:#92adff;background:none}.scene-controls #play{background:#2764ff;color:white;border-color:#2764ff}.scene-controls #state{font:8px var(--mono);color:#92adff;margin-left:auto}.approach-reading{border-top:1px solid #92adff35;margin-top:25px;padding-top:22px;min-height:210px}.approach-reading .eyebrow{font-size:9px;color:#92adff;margin-bottom:16px}.approach-reading h3{font-size:29px;line-height:1.12;letter-spacing:-.035em;max-width:30ch}.approach-reading>p:last-child{font-size:14px;line-height:1.6;color:#b8c6e0;margin-top:15px}.approach-note{background:#f4f7fb;color:#15203a;padding:40px 48px;display:grid;grid-template-columns:180px 1fr;gap:15px 40px}.approach-note>span{font:10px var(--mono);color:#2764ff;padding-top:5px}.approach-note>p{font-size:20px;line-height:1.5;max-width:70ch}.approach-note small{grid-column:2;font:10px var(--mono);line-height:1.6;color:#52617a}.approach-scene #fallback{position:absolute;top:35%;left:20%;right:20%;font-size:14px;text-align:center;color:#92adff}.approach-scene canvas:focus-visible{outline:2px solid #92adff;outline-offset:-4px}#approach-dialog{margin:0 0 0 auto;inset:0 0 0 auto;max-height:100dvh;height:100dvh;width:min(540px,100%);max-width:100%;border:0;padding:35px;background:#f4f7fb;color:#15203a;overflow:auto}#approach-dialog[open]{animation:dialog-in .35s ease-out}#approach-dialog::backdrop{background:#060d1e70;backdrop-filter:blur(4px)}#close-dialog{display:block;margin:0 0 50px auto;padding:10px 14px;border:1px solid #15203a35;background:none;font-size:12px}#approach-dialog h2{font-size:52px;line-height:1.05;margin:25px 0}#dialog-lead{font-size:25px;line-height:1.3;margin-bottom:25px}#dialog-body{font-size:17px;line-height:1.6;color:#52617a}#approach-dialog .text-link{margin-top:35px}#approach-dialog .eyebrow{font-size:9px}.review nav{flex-wrap:wrap}@keyframes dialog-in{from{transform:translateX(100%)}to{transform:none}}@media(max-width:1100px){.approach-hero{grid-template-columns:1fr;gap:35px;padding:40px 28px}.approach-intro h1{font-size:80px}.approach-intro h1 br{display:none}.approach-intro>p:not(.eyebrow){max-width:55ch}.approach-scene{max-width:850px;width:100%;margin:auto}.approach-note{grid-template-columns:1fr}.approach-note small{grid-column:1}}@media(max-width:600px){.approach-hero{padding:30px 22px}.approach-intro h1{font-size:61px}.approach-intro h1 br{display:block}.approach-intro>p:not(.eyebrow){font-size:16px}.concept-switch{flex-wrap:wrap;gap:6px}.concept-switch button{font-size:8px;padding:11px}.scene-meta{font-size:7px;gap:10px}.approach-scene .visual-stage{height:340px}.approach-choices .area{padding:13px 9px}.approach-choices .area>span{font-size:6px}.approach-choices .area h2{font-size:20px}.scene-controls button{font-size:8px;padding:9px}.scene-controls #state{font-size:7px}.approach-reading h3{font-size:26px}.approach-reading{min-height:245px}.approach-note{padding:30px 22px;gap:18px}.approach-note>p{font-size:18px}.approach-note small{font-size:9px}#approach-dialog{padding:25px}#approach-dialog h2{font-size:44px}.review{flex-wrap:wrap}.review nav{gap:12px}}@media(prefers-reduced-motion:reduce){#approach-dialog[open]{animation:none}}
/* Keep review navigation height stable while moving between model controls. */
.nav-shell,.is-scrolled .nav-shell{height:108px;transition:none}@media(max-width:600px){.nav-shell,.is-scrolled .nav-shell{height:82px}}
