/* Hero interativa — composição do protótipo hero-v2.2.1 */
.stage{position:relative;min-height:460px;height:clamp(460px,calc(100svh - var(--header-h) - 170px),820px);overflow:hidden;touch-action:pan-y;user-select:none;cursor:ew-resize;background:var(--cream)}
.layer{position:absolute;inset:0;overflow:hidden}
.technical{background:var(--cream);color:var(--ink);background-image:linear-gradient(to right,rgba(47,59,255,.075) 1px,transparent 1px),linear-gradient(to bottom,rgba(47,59,255,.075) 1px,transparent 1px);background-size:28px 28px}
.finished{background:var(--ink);color:var(--cream);clip-path:inset(0 0 0 var(--split));background-image:radial-gradient(ellipse at 84% 50%,rgba(47,59,255,.32),transparent 42%)}
.topline{position:absolute;top:7%;left:6%;right:6%;display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.18em}
.finished .topline{color:var(--cream)}
.word{position:absolute;top:48%;left:50%;width:88%;transform:translate(-50%,-50%);font-size:clamp(55px,11.1vw,180px);line-height:.92;font-weight:900;letter-spacing:-.095em;text-align:center;white-space:nowrap}
.word em{font-family:var(--serif);font-weight:400;letter-spacing:-.11em;font-size:1.12em}
.technical .word{color:transparent;-webkit-text-stroke:1.35px var(--blue);text-shadow:none}
.finished .word{color:var(--cream)}
.finished .word em{color:var(--blue-soft)}
.technical .micro{color:var(--blue)}
.micro{position:absolute;bottom:13%;left:6%;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.finished .micro{color:#d3cbb6}
.divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:var(--blue);transform:translateX(-50%);pointer-events:none;z-index:3;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.handle{position:absolute;left:var(--split);top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:25px;border:2px solid var(--cream);box-shadow:0 9px 32px #0003;pointer-events:none;z-index:4}
.stage:focus-visible{outline:4px solid var(--blue);outline-offset:-4px}
.hint{position:absolute;z-index:5;bottom:3%;left:50%;transform:translateX(-50%);padding:8px 15px;border-radius:30px;background:var(--cream);border:1px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em;pointer-events:none;white-space:nowrap}
.bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px var(--gutter) 32px}
.bottom h1{font-size:clamp(20px,2.7vw,38px);letter-spacing:-.06em;line-height:1.05;margin:0}
.bottom p{margin:8px 0 0;font-size:15px;max-width:560px;line-height:1.55}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bottom .button{white-space:nowrap}

@media(max-width:700px){
  .stage{min-height:440px;height:clamp(440px,calc(100svh - var(--header-h) - 262px),640px)}
  .word{font-size:clamp(84px,27vw,150px);width:100%;line-height:.92;white-space:normal}
  .word .ln{display:block;white-space:nowrap}
  .topline{font-size:9px;letter-spacing:.08em}
  /* No mobile ficam só os rótulos que cabem inteiros em cada lado */
  .topline span:nth-child(2){display:none}
  .finished .topline{justify-content:flex-end}
  .micro{font-size:10px;bottom:12%}
  .finished .micro{left:auto;right:6%;text-align:right}
  [data-fit]{transition:opacity .15s}
  [data-fit].fora{opacity:0}
  .handle{width:52px;height:52px}
  .bottom{flex-direction:column;align-items:flex-start}
  .bottom p{margin:4px 0}
  .hint{font-size:10px}
  .actions{width:100%}
  .bottom .button{width:100%;justify-content:center}
}

/* Hero V2: as duas camadas compartilham a mesma geometria */
.stage{background:var(--cream)}
.layer{isolation:isolate}
.arte{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.topline,.word,.micro{z-index:2}
.bl{display:inline-block;width:0;height:0}
.regua-h,.regua-v{position:absolute;z-index:1;pointer-events:none}
.regua-h{left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(to right,rgba(47,59,255,.55) 0 1px,transparent 1px 7px) left bottom/100% 5px no-repeat,repeating-linear-gradient(to right,rgba(47,59,255,.7) 0 1px,transparent 1px 70px) left bottom/100% 11px no-repeat;border-bottom:1px solid rgba(47,59,255,.35)}
.regua-v{left:0;top:0;bottom:0;width:14px;background:repeating-linear-gradient(to bottom,rgba(47,59,255,.55) 0 1px,transparent 1px 7px) right top/5px 100% no-repeat,repeating-linear-gradient(to bottom,rgba(47,59,255,.7) 0 1px,transparent 1px 70px) right top/11px 100% no-repeat;border-right:1px solid rgba(47,59,255,.35)}
.arte text{font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.12em}
.g-col{fill:rgba(47,59,255,.016)}
.g-tipo{stroke:var(--blue);stroke-width:.75;opacity:.34}
.g-tipo.base{opacity:.75;stroke-width:1}
.g-marca{stroke:var(--blue);stroke-width:.75;stroke-dasharray:3 4;opacity:.55}
.g-rotulo{fill:var(--blue)}
.g-caixa{fill:none;stroke:var(--blue);stroke-width:.8;opacity:.75}
.g-alca{fill:var(--cream);stroke:var(--blue);stroke-width:1}
.g-haste{stroke:var(--blue);stroke-width:.9}
.g-no{fill:var(--blue)}
.g-pega{fill:var(--cream);stroke:var(--blue);stroke-width:1.2}
.g-forma{fill:none;stroke:var(--blue);stroke-width:1.2}
.g-forma.trac{stroke-dasharray:5 5;opacity:.7}
.g-etq{fill:var(--blue)}
.g-etq-t{fill:#fff}
.x-forma{fill:var(--blue)}
.x-linha{stroke:var(--cream);stroke-width:1;opacity:.45}
.ficha{position:absolute;z-index:2;padding-top:11px;font-size:12px;line-height:1}
.ficha ul{margin:0;padding:0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.ficha li{white-space:nowrap}
.technical .ficha li{flex:1 1 0;height:12px;display:flex;align-items:center}
.technical .ficha li:before{content:"";display:block;width:58%;height:5px;background:rgba(47,59,255,.28)}
.finished .ficha{color:#d3cbb6;font-weight:600;letter-spacing:.01em}
.tag-x{position:absolute;z-index:6;top:20px;left:clamp(34px,var(--split),calc(100% - 34px));transform:translateX(-50%);padding:3px 7px;background:var(--blue);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap;pointer-events:none}
.handle{transition:transform .18s,box-shadow .18s}
.divider{transition:width .18s}
.stage:hover .handle{box-shadow:0 0 0 6px rgba(47,59,255,.18),0 9px 32px #0003}
.stage.arrastando .handle{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 10px rgba(47,59,255,.22),0 9px 32px #0004}
.stage.arrastando .divider{width:3px}
.stage.arrastando{cursor:grabbing}
.arte .tr{stroke-dasharray:1;stroke-dashoffset:0}
.arte .fd{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .arte.entra .tr{animation:traca .9s cubic-bezier(.3,.7,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
  .arte.entra .fd{animation:surge .4s both;animation-delay:calc(.45s + var(--i,0)*70ms)}
}
@keyframes traca{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes surge{from{opacity:0}}
/* Mais presença tipográfica que na primeira prévia */
.word{font-size:clamp(58px,11.8vw,190px)}
.technical .word{-webkit-text-stroke-width:1.7px}
@media(max-width:700px){
  .word{font-size:clamp(88px,28.5vw,156px)}
  .technical .word{-webkit-text-stroke-width:1.5px}
  .regua-v{display:none}
  .ficha{font-size:10.5px;padding-top:9px}
  .ficha ul{gap:6px}
  .tag-x{top:18px}
}
