.feature-section{padding:90px 0 48px;max-width:1280px;scroll-margin-top:35px}
.feature-heading{text-align:center;margin:0 auto 34px;max-width:780px}
.feature-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.14;margin:0 0 18px;font-weight:550;text-wrap:balance}
.feature-heading p{font-size:16px;line-height:1.65;color:var(--muted);max-width:660px;margin:0 auto;text-wrap:pretty}
.feature-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding:0 3px 14px}
.feature-controls>div{display:flex;gap:20px}
.feature-controls button{border:0;padding:6px 0;background:none;font-size:12px;color:var(--ink)}
.feature-controls button:hover{color:var(--blue)}
.feature-stage{position:relative;width:100%;overflow:hidden;background:#171a1f;border-radius:10px;box-shadow:0 25px 65px -42px #000b,0 0 0 1px #303c46;aspect-ratio:1280/800;isolation:isolate}
.feature-stage iframe{position:absolute;inset:0;display:block;transform:scale(var(--feature-scale,1));transform-origin:top left;border:0;z-index:1;opacity:0;transition:opacity .2s}
.feature-stage.loaded iframe{opacity:1}
.feature-loading{position:absolute;inset:0;display:grid;place-items:center;color:#a0a7b1;font-size:13px}
.feature-stage.loaded .feature-loading{display:none}
.feature-section.expanded{position:fixed;z-index:100;inset:16px;width:auto;max-width:none;margin:0;padding:16px;background:var(--paper);border-radius:12px;box-shadow:0 0 0 100vmax #111b;display:flex;flex-direction:column}
.feature-section.expanded .feature-heading{margin:0 0 12px;max-width:none}
.feature-section.expanded .feature-heading h2{font-size:22px;margin:0}
.feature-section.expanded .feature-heading p{display:none}
.feature-section.expanded .feature-stage{flex:1;aspect-ratio:auto;overflow:auto;overscroll-behavior:contain}
.feature-section.expanded .feature-stage:after{content:'';display:block;width:calc(1280px * var(--feature-scale));height:calc(var(--feature-height) * var(--feature-scale))}
@media(max-width:760px){.feature-section{padding:60px 0 24px}.feature-heading{margin-bottom:24px}.feature-heading p{font-size:15px}.feature-controls{font-size:10px;align-items:flex-start}.feature-controls>span{max-width:170px;line-height:1.5}.feature-controls>div{gap:14px}.feature-controls button{font-size:11px}.feature-section.expanded{inset:5px;padding:10px}.feature-section.expanded .feature-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.feature-stage iframe{transition:none}}
