/* FIORZI / MOVIMENTO — sólidos, profundidade e engenharia, sem neon. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;border:0!important}
.fiorzi-stage{position:relative;flex:1;width:100%;min-height:0;isolation:isolate}
.fiorzi-stage .fiorzi-glyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0 12px 0 -8px;transition:opacity .25s}
.fiorzi-stage.three-ready .fiorzi-glyph{opacity:0;pointer-events:none}
.fiorzi-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none}
.three-ready .fiorzi-canvas{opacity:1}
.stage-coordinate{position:absolute;right:0;bottom:11px;font:7px/1.2 monospace;color:var(--muted);letter-spacing:.12em;border-right:1px solid var(--line);padding:0 7px 0 0}
.identity-board{transform:translate3d(var(--board-x,0px),var(--board-y,0px),0) rotate(-5deg)}
.art-sticker{transform:translate3d(var(--sticker-x,0px),var(--sticker-y,0px),0) rotate(-8deg)}
.code-card{transform:translate3d(var(--code-x,0px),var(--code-y,0px),0) rotate(4deg)}
.art-note{transform:translate3d(var(--note-x,0px),var(--note-y,0px),0) rotate(5deg)}
.motion-active .hero-art.is-tracking .identity-board,.motion-active .hero-art.is-tracking .art-sticker,.motion-active .hero-art.is-tracking .code-card,.motion-active .hero-art.is-tracking .art-note{will-change:transform}
.motion-toggle{display:inline-flex;align-items:center;gap:7px;font-size:9px;line-height:1.5;font-weight:600;letter-spacing:.02em;padding:5px 0;margin-top:15px;background:transparent;border:0;border-bottom:1px solid #102b2440;cursor:pointer;color:var(--muted)}
.motion-toggle:hover{color:var(--ink);border-color:var(--ink)}
.motion-icon{display:inline-flex;width:14px;height:14px;border:1px solid currentColor;align-items:center;justify-content:center;font-size:8px;line-height:1;font-weight:800}
.code-card{min-height:137px}
.terminal-code{display:block;min-height:66px}
.terminal-display{display:block}
.code-card .terminal-row{display:block;white-space:nowrap;font:10px/1.9 monospace;min-height:19px;letter-spacing:-.04em;color:var(--mint)}
.code-card .terminal-success{color:var(--lime);font-weight:700}
.terminal-row.is-typing:after{content:'';display:inline-block;width:5px;height:10px;background:var(--lime);margin-left:3px;vertical-align:-1px;animation:terminal-caret .7s steps(1) infinite}
@keyframes terminal-caret{50%{opacity:0}}
.motion-active .hero-copy>.eyebrow{animation:hero-arrive .65s cubic-bezier(.2,.65,.3,1) both}
.motion-active .hero-copy>h1{animation:hero-arrive .75s .07s cubic-bezier(.2,.65,.3,1) both}
.motion-active .hero-copy>p{animation:hero-arrive .75s .16s cubic-bezier(.2,.65,.3,1) both}
.motion-active .hero-actions{animation:hero-arrive .75s .23s cubic-bezier(.2,.65,.3,1) both}
.motion-active .hero-footnote,.motion-active .motion-toggle{animation:hero-arrive .75s .3s cubic-bezier(.2,.65,.3,1) both}
@keyframes hero-arrive{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
.method-grid{position:relative;isolation:isolate;--method-progress:0;--method-percent:0%}
.method-grid>article{position:relative;z-index:1}
.method-rail{position:absolute;top:83px;left:0;right:0;height:2px;z-index:2;pointer-events:none;background:var(--line);overflow:visible}
.method-progress{display:block;height:2px;width:100%;background:var(--green);transform:scaleX(var(--method-progress));transform-origin:left}
.method-signal{position:absolute;left:var(--method-percent);top:-3px;width:8px;height:8px;background:var(--ink);border:1px solid var(--paper);transform:translateX(-50%);box-shadow:0 0 0 3px var(--lime)}
.method-grid .step-number{transition:color .3s}
.method-grid article.step-current .step-number{color:var(--ink)}
.method-grid article.step-current h3:after{content:' ↗';color:var(--green);display:inline}
.motion-paused .hero-copy>*,.motion-paused .terminal-row:after{animation:none!important}
@media(max-width:1180px){.code-card .terminal-row{font-size:9px;letter-spacing:-.065em}.code-card{min-height:126px}.terminal-code{min-height:60px}}
@media(max-width:900px){.code-card .terminal-row{font-size:8px}.code-card{min-height:119px}.method-rail{top:72px}}
@media(max-width:700px){.code-card .terminal-row{font-size:9px}.code-card{min-height:123px}.method-rail{display:none}.method-grid .step-number{border-bottom:2px solid var(--line)}.method-grid article.step-current .step-number{border-bottom-color:var(--green)}.stage-coordinate{font-size:6px}.motion-toggle{font-size:9px}.motion-active .hero-copy>*,.motion-active .hero-actions{animation-duration:.5s}}
@media(max-width:370px){.code-card .terminal-row{font-size:8px}.code-card{min-height:114px}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-actions,.terminal-row:after{animation:none!important}.fiorzi-glyph,.fiorzi-canvas{transition:none}.method-progress{transform:scaleX(1)}.method-signal{display:none}}
.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .method-signal{display:none}
.motion-toggle:disabled{opacity:.8;cursor:default}
