/* ===== HERO IMERSIVO: texto à esquerda, cubo 3D à direita ===== */
.imm{position:relative;height:620vh;background:var(--petrol);color:var(--on-dark)}
.imm-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.imm-floor{position:absolute;left:-50%;right:-50%;bottom:-30%;height:80%;background:linear-gradient(rgba(0,180,138,.14) 1px,transparent 1px) 0 0/90px 90px,linear-gradient(90deg,rgba(0,180,138,.14) 1px,transparent 1px) 0 0/90px 90px;transform:perspective(900px) rotateX(70deg);transform-origin:50% 0;-webkit-mask:linear-gradient(transparent,#000 30%,#000 60%,transparent);mask:linear-gradient(transparent,#000 30%,#000 60%,transparent);opacity:.55;pointer-events:none}
.imm-glow{position:absolute;inset:0;background:radial-gradient(40% 50% at 74% 48%,rgba(0,180,138,.22),transparent 70%);pointer-events:none}
@keyframes flow{to{stroke-dashoffset:-26}}

.imm-grid{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding-top:40px}
.imm-bands{position:relative;height:100%}
.iband{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);opacity:0}
.iband.on{z-index:2}
.iband:not(.on){pointer-events:none}
.iband-0 .hero-title{font-size:clamp(50px,6.4vw,104px)}
.iband-h{font-weight:600;font-stretch:84%;font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.035em;transform:translateY(calc((1 - var(--k,1))*24px))}
.iband-p{margin-top:18px;color:var(--on-dark-2);font-size:clamp(16px,1.3vw,19px);max-width:42ch;transform:translateY(calc((1 - var(--k,1))*16px))}
.iband .g,.iband-0 .hero-title .g{color:var(--green)}
.imm-sub{margin-top:24px;max-width:50ch;color:var(--on-dark-2);font-size:clamp(16px,1.25vw,19px)}
.pill-dark{background:rgba(234,240,239,.06);border-color:var(--petrol-line);color:var(--on-dark-2);box-shadow:none}
.btn-link-light{color:var(--on-dark)}
.iband .hero-cta{margin-top:30px}
.iband:not(.on) .hero-cta{visibility:hidden}

/* cubo */
.hcube-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}
.hcube-label{display:flex;align-items:baseline;gap:10px;font-weight:600;font-stretch:84%;letter-spacing:-.02em}
.hcube-label span{font:500 13px var(--mono);color:var(--green);padding:4px 8px;border:1px solid rgba(0,180,138,.4);border-radius:7px}
.hcube-label b{font-size:22px}
.hcube{position:relative;width:min(100%,600px);aspect-ratio:560/440;perspective:2000px;perspective-origin:50% 45%}
.ring{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.hface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(calc(var(--i)*72deg)) translateZ(var(--r,300px));will-change:opacity}
.hface[data-i="0"]{--i:0}.hface[data-i="1"]{--i:1}.hface[data-i="2"]{--i:2}.hface[data-i="3"]{--i:3}.hface[data-i="4"]{--i:4}
.hface .scene{max-width:none;margin:0}

.imm-progress{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;gap:22px;padding:10px 18px 14px;border-radius:999px;background:rgba(10,26,34,.7);border:1px solid var(--petrol-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark-2)}
.imm-progress span{transition:color .4s var(--ease)}
.imm-progress span.on{color:var(--on-dark)}
.imm-progress i{position:absolute;left:18px;right:18px;bottom:7px;height:2px;border-radius:1px;background:var(--green);transform-origin:left;transform:scaleX(var(--p,0))}
.imm-cue{position:absolute;right:max(24px,calc((100vw - 1240px)/2));bottom:34px;z-index:3;display:flex;align-items:center;gap:10px;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--on-dark-2);transition:opacity .5s var(--ease)}
.imm-cue i{width:1.5px;height:30px;background:linear-gradient(var(--green),transparent);animation:cue 2s var(--ease-io) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.imm-cue.gone{opacity:0}
.imm-note{position:absolute;left:max(24px,calc((100vw - 1240px)/2));bottom:30px;z-index:3;font:400 11px var(--mono);color:var(--on-dark-2)}
@media (max-height:700px){.imm-progress,.imm-cue{display:none}}

/* ===== modo plano: celular, tablet em pé, tela baixa, movimento reduzido ===== */
.imm.flat{height:auto}
.imm.flat .imm-stage{position:relative;height:auto;overflow:visible;padding:110px 0 70px}
.imm.flat .imm-grid{grid-template-columns:1fr;height:auto;padding-top:0;gap:40px}
.imm.flat .imm-bands{height:auto}
.imm.flat .iband{display:none}
.imm.flat .iband-0{display:block;position:relative;top:auto;transform:none;opacity:1}
.imm.flat .iband-0 .hero-cta{visibility:visible}
.imm.flat .hcube-label{display:none}
.imm.flat .hcube{perspective:none;width:100%;max-width:600px}
.imm.flat .ring{transform:none!important}
.imm.flat .hface{transform:none;opacity:1!important}
.imm.flat .hface:not([data-i="0"]){display:none}
.imm.flat .imm-progress,.imm.flat .imm-cue,.imm.flat .imm-floor{display:none}
.imm.flat .imm-note{position:static;margin:24px auto 0;width:min(1240px,100% - 48px)}
@media (max-width:640px){.imm.flat .imm-stage{padding:96px 0 50px}.imm.flat .iband-0 .hero-title{font-size:clamp(46px,13vw,64px)}.imm.flat .iband-0 .hero-cta .btn-green{width:100%}}
