/* Native document scrolling: no wheel interception or nested scroll traps. */
html.scene-mode{scroll-snap-type:y mandatory;scroll-padding-top:var(--scene-header,82px);scroll-padding-bottom:0}
html.scene-mode.scene-reading,html.scene-mode.scene-anchoring{scroll-snap-type:none}
.scene-mode .scene-node{scroll-snap-align:start;scroll-snap-stop:always;min-height:calc(100svh - var(--scene-header,82px))}
.scene-mode .premium-system-stage.premium-sticky-enabled{display:contents!important}.scene-mode .system-grid{position:static!important}
.scene-mode .systems{padding-top:40px;padding-bottom:40px}.scene-mode .material-proof{align-content:center}
.scene-mode .resource-section,.scene-mode .social{display:flex;flex-direction:column;justify-content:center}
.scene-mode .hero{min-height:calc(100svh - var(--scene-header,82px))}
.scene-mode .scene-node.is-current{outline:0}
.scene-mode .scene-node.scene-arrived>.section-head,.scene-mode .scene-node.scene-arrived>.transfer-intro{animation:scene-arrival .55s ease-out both}
@keyframes scene-arrival{from{opacity:.75;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.scene-controls{position:fixed;right:20px;bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:5px;padding:6px;background:#18101ff5;border:1px solid #9d80a066;border-radius:4px;box-shadow:0 8px 25px #0004;color:#e9d6ed}
.scene-controls button{background:transparent;border:1px solid #bca4c555;color:inherit;min-height:44px;padding:8px 11px;cursor:pointer;font:12px Pretendard,Arial,sans-serif}.scene-controls button:hover{background:#503752}.scene-controls button:focus-visible{outline:2px solid #f1cca1;outline-offset:2px}.scene-controls button:disabled{opacity:.45;cursor:default}.scene-position{font:11px monospace;min-width:90px;text-align:center}.scene-controls [data-scene-toggle]{color:#f0d1a5}
.scene-mode footer{padding-bottom:100px}
@media(min-width:901px){.scene-mode .system-card{padding:22px}.scene-mode .system-title{font-size:64px;margin-top:15px}.scene-mode .system-card p{font-size:13px;line-height:1.7}.scene-mode .system-card figure img{height:200px;aspect-ratio:auto;object-fit:cover}.scene-mode .transfer-story{padding-top:40px;padding-bottom:40px}.scene-mode .transfer-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;max-width:1050px}.scene-mode .transfer-intro>.eyebrow{grid-column:1/-1}.scene-mode .transfer-intro h2{font-size:clamp(32px,3.3vw,48px);margin:15px 0;grid-column:1;grid-row:2/4}.scene-mode .transfer-intro p{grid-column:2;grid-row:2;align-self:center;margin:15px 0}.scene-mode .transfer-disclaimer{grid-column:2;grid-row:3;margin-top:0}.scene-mode .transfer-layout{max-width:1050px;margin-top:24px;grid-template-columns:.95fr 1fr}}
@media(max-width:640px){.scene-controls{left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));justify-content:center}.scene-controls button{font-size:11px;padding:8px 9px}.scene-position{min-width:83px}.scene-mode .hero h1{font-size:31px}.scene-mode .hero-grid{margin-top:20px;gap:10px}.scene-mode .hero-art img{aspect-ratio:1.8}.scene-mode .hero-copy p{margin:14px 0 18px}.scene-mode .hero-index{margin-top:15px}.scene-mode .hero-word{margin:12px 0}.scene-mode .material-proof{padding-top:30px;padding-bottom:30px}.scene-mode .transfer-story{padding-top:35px;padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){html.scene-mode{scroll-snap-type:none;scroll-behavior:auto}.scene-mode .scene-node.scene-arrived>.section-head,.scene-mode .scene-node.scene-arrived>.transfer-intro{animation:none}.scene-controls{box-shadow:none}}
@media print{html.scene-mode{scroll-snap-type:none}.scene-controls{display:none!important}.scene-mode .scene-node{min-height:0!important;animation:none!important}}

/* Fitted scenes dissolve as complete screens; header and controls stay stable. */
.scene-mode .site-header{view-transition-name:scene-header}.scene-mode .scene-controls{view-transition-name:scene-controls}
::view-transition{pointer-events:none}
::view-transition-old(root){animation:scene-dissolve-out .42s ease-in both}
::view-transition-new(root){animation:scene-dissolve-in .52s ease-out both}
::view-transition-old(scene-header),::view-transition-new(scene-header),::view-transition-old(scene-controls),::view-transition-new(scene-controls){animation:none}
@keyframes scene-dissolve-out{to{opacity:0;transform:scale(.985)}}
@keyframes scene-dissolve-in{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}
