/* Home hero only. All controls are scoped to this model. */
.hero-art.hn{height:auto;min-width:0;margin:30px 0;border:1px solid #41616c;border-radius:20px;background:#112c37;overflow:hidden;align-self:center;isolation:isolate;color:#eef6f8;box-shadow:0 24px 80px #001a2545}.hero-art.hn:after{display:none}.hn *{box-sizing:border-box}.hn [hidden]{display:none!important}.hn button,.hn summary,.hn a,.hn input{touch-action:manipulation}.hn button:focus-visible,.hn summary:focus-visible,.hn a:focus-visible,.hn input:focus-visible,.hn canvas:focus-visible{outline:2px solid #ffa36a;outline-offset:3px}.hn-head{display:flex;justify-content:space-between;padding:25px 26px 20px;gap:15px}.hn-kicker{font-size:8px;letter-spacing:.14em;color:#a9c2cb;display:flex;align-items:center;gap:7px}.hn-kicker i{display:block;width:5px;height:5px;border-radius:50%;background:#ffa16a;box-shadow:0 0 14px #ff7d38}.hn-head h2{font-size:clamp(22px,2.2vw,31px);letter-spacing:-.045em;line-height:1.18;margin:13px 0 0;font-weight:550;color:#fff}.hn-head h2 em{font-style:normal;color:#ff9a62}.hn-edition{font-size:14px;line-height:1.2;border-top:2px solid #ff8e50;padding-top:7px;letter-spacing:.1em;color:#a2bec8}.hn-tabs{display:flex;padding:0 24px;gap:20px;border-bottom:1px solid #ffffff19}.hn-tabs button{font-size:10px;padding:10px 0 12px;color:#a7c0ca;border-bottom:2px solid transparent;white-space:nowrap;font-weight:550}.hn-tabs button[aria-pressed=true]{color:#ffac7a;border-color:#ff8c4f}.hn-stage{position:relative;width:100%;height:300px;background:radial-gradient(ellipse at 50% 65%,#264c57,transparent 67%),radial-gradient(#71acbb20 .7px,transparent .8px);background-size:auto,19px 19px}.hn-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.hn-stage canvas:active{cursor:grabbing}.hn-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.hn[data-renderer=canvas] .hn-fallback{display:none}.hn-stage-note{position:absolute;left:24px;top:16px;font-size:7px;letter-spacing:.14em;color:#9cb7c1;pointer-events:none}.hn-reset{position:absolute;right:20px;top:10px;width:32px;height:32px;border:1px solid #65818b;border-radius:50%;font-size:20px;color:#cee1e6;display:grid;place-items:center}.hn-viewhint{position:absolute;left:24px;bottom:12px;font-size:8px;color:#a8c4ce;pointer-events:none}.hn-phase{position:absolute;right:24px;bottom:10px;display:flex;gap:9px;align-items:center;pointer-events:none}.hn-phase b{font-size:20px;font-weight:400;color:#ffa36a}.hn-phase span{font-size:9px;color:#b7ccd3}.hn-panel{padding:17px 24px 13px;border-top:1px solid #ffffff16;min-height:137px;background:#102832}.hn-panel p,.hn-details p{font-size:11px;line-height:1.65;color:#b6cbd3;margin:11px 0 0}.hn-timeline{display:flex;align-items:center;gap:10px}.hn-timeline button{flex-shrink:0;color:#d4e5ea}.hn-prev,.hn-next{width:27px;height:30px;border:1px solid #54717c!important;border-radius:5px;font-size:15px}.hn button:disabled{opacity:.35;cursor:default}.hn-play{padding:6px 9px;background:#ff8d4d!important;color:#132b35!important;border-radius:4px;font-size:10px;font-weight:650;min-width:111px}.hn-play span{margin-left:6px}.hn input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:22px;min-width:0;background:transparent;cursor:pointer;margin:3px 0;accent-color:#ff984f}.hn input[type=range]::-webkit-slider-runnable-track{height:3px;background:#54727c;border-radius:10px}.hn input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;border:3px solid #ffb882;background:#fa7830;border-radius:50%;margin-top:-5px;box-shadow:0 0 0 4px #ff8a2f15}.hn input[type=range]::-moz-range-track{height:3px;background:#54727c}.hn input[type=range]::-moz-range-thumb{width:9px;height:9px;background:#fa7830;border:3px solid #ffb882;border-radius:50%}.hn-steps{display:flex;justify-content:space-between;gap:4px;margin-top:9px}.hn-steps button{font-size:8px;color:#9eb9c4;padding:4px 0}.hn-steps button[aria-pressed=true]{color:#ffad7c}.hn-labelrow{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#c5d9e0}.hn-labelrow output{font-variant-numeric:tabular-nums;color:#ffb682;white-space:nowrap}.hn-scale{display:flex;justify-content:space-between;font-size:8px;color:#8faeba}.hn-energy-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:center}.hn-energy-inputs .hn-labelrow:not(:first-child){margin-top:6px}.hn-energy-result{border-left:1px solid #526b75;padding-left:22px}.hn-energy-result>span{display:block;font-size:7px;letter-spacing:.07em;color:#abc3cc}.hn-energy-result>output{display:block;font-size:32px;color:#ffab74;line-height:1.5;font-variant-numeric:tabular-nums;font-weight:450}.hn-energy-result small{font-size:14px;color:#a8c5cf}.hn-energy-result code{font-size:9px;color:#bfd4dc}.hn-details{margin:0 24px;border-top:1px solid #405b66}.hn-details summary{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#dce9ed;list-style:none;cursor:pointer;padding:13px 0}.hn-details summary::-webkit-details-marker{display:none}.hn-details summary span{font-size:16px;color:#ffa86c}.hn-details[open] summary span{transform:rotate(45deg)}.hn-details>div{padding-bottom:16px}.hn-formula{display:flex;align-items:center;gap:8px;margin-bottom:12px}.hn-formula span{font-size:9px;line-height:1.4;color:#ffd1b0;padding:9px 7px;background:#ff88480d;border:1px solid #be7b4d55;border-radius:4px;flex:1}.hn-formula b{color:#ff9c61;font-weight:400}.hn-sources{font-size:9px;color:#91aeb9;margin-top:12px;display:flex;gap:14px}.hn-sources a{text-decoration:underline;text-underline-offset:3px}.hn-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 24px 17px}.hn-bottom p{font-size:8px;line-height:1.5;color:#9bb7c3;max-width:195px}.hn-bottom a{font-size:9px;color:#ffc29c;text-align:right}.hn-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hn-nojs{font-size:12px;padding:15px}.hn:has(.hn-details[open]){align-self:start}.hero-grid:has(.hn){grid-template-columns:1fr 1.13fr;gap:45px}.hero:has(.hn) h1{font-size:clamp(44px,4.4vw,69px)}
@media(max-width:1100px){.hero-grid:has(.hn){gap:25px}.hn-head{padding:22px 20px 18px}.hn-stage{height:270px}.hn-tabs{gap:14px}.hn-tabs,.hn-panel{padding-left:18px;padding-right:18px}.hn-details{margin:0 18px}.hn-bottom{padding-left:18px;padding-right:18px}.hn-steps button{font-size:7px}.hn-play{min-width:96px;font-size:9px}.hn-timeline{gap:7px}.hn-energy-grid{gap:12px}.hn-energy-result{padding-left:12px}.hn-energy-result>output{font-size:27px}}
@media(max-width:900px){.hero-grid:has(.hn){grid-template-columns:1fr;gap:0}.hero:has(.hn) h1{font-size:clamp(42px,7vw,65px)}.hero:has(.hn) .hero-copy{padding-bottom:15px}.hero-art.hn{width:100%;max-width:700px;justify-self:center;margin:22px 0 35px}.hn-stage{height:350px}.hn-head h2{font-size:29px}.hn-head{padding:24px}.hn-tabs{padding:0 24px;gap:24px}.hn-tabs button{font-size:12px}.hn-panel{padding:17px 24px}.hn-steps button{font-size:10px}.hn-panel p,.hn-details p{font-size:12px}.hn-details{margin:0 24px}.hn-details summary{font-size:12px}.hn-bottom{padding:0 24px 18px}.hn-bottom p{font-size:9px;max-width:260px}.hn-bottom a{font-size:10px}.hn-head .hn-kicker{font-size:9px}.hn-play{font-size:11px;min-width:130px}.hn-timeline{gap:10px}}
@media(max-width:480px){.hero-art.hn{border-radius:14px;margin-bottom:25px}.hn-head{padding:20px 18px 15px}.hn-head h2{font-size:25px}.hn-kicker{font-size:7px!important}.hn-tabs{padding:0 18px;gap:17px}.hn-tabs button{font-size:10px}.hn-stage{height:255px}.hn-panel{padding:15px 16px;min-height:158px}.hn-stage-note{left:17px;font-size:6px}.hn-stage .hn-viewhint{left:17px;font-size:7px}.hn-stage .hn-phase{right:18px}.hn-stage .hn-phase b{font-size:18px}.hn-steps button{font-size:7px}.hn-play{min-width:101px;font-size:9px}.hn-timeline{gap:6px}.hn-prev,.hn-next{width:25px}.hn-panel p,.hn-details p{font-size:10px}.hn-details{margin:0 16px}.hn-details summary{font-size:10px}.hn-bottom{padding:0 16px 16px;gap:10px}.hn-bottom p{font-size:7px;max-width:170px}.hn-bottom a{font-size:8px}.hn-energy-grid{gap:10px;grid-template-columns:1.1fr 1fr}.hn-energy-result{padding-left:10px}.hn-energy-result>span{font-size:6px}.hn-energy-result>output{font-size:27px}.hn-labelrow{font-size:8px}.hn-formula{gap:5px}.hn-formula span{font-size:8px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.hn *{scroll-behavior:auto!important;transition:none!important}}

/* The fallback has its own asset name so legacy hero-image selectors cannot clip this panel. */
.hn-tabs button{font-size:12px;min-height:44px}.hn-panel p,.hn-details p{font-size:12px}.hn-steps button{font-size:10px;min-height:36px}.hn-prev,.hn-next{height:40px}.hn-play{min-height:40px}.hn-panel{min-height:160px}.hn-stage-note{font-size:8px}.hn-stage canvas{border-radius:0}
@media(max-width:480px){.hn-tabs button{font-size:11px}.hn-steps button{font-size:9px}.hn-panel p,.hn-details p{font-size:11px}.hn-prev,.hn-next{height:44px;width:29px}.hn-play{min-height:44px}.hn-stage{height:270px}.hn-stage-note{font-size:7px}.hn-labelrow{font-size:9px}.hn-details summary{min-height:44px}.hn-panel{min-height:173px}.hn-bottom p{font-size:8px}.hn-bottom a{font-size:9px}.hn input[type=range]{height:30px}}
