/* Vincii Ora. O Mostrador: a página é um relógio cujo ponteiro é a rolagem;
   os bairros são onde as horas caem. */
:root{
  --respiro:clamp(150px,17vw,260px);
  --d-abertura:min(70vw,1020px);
  --d-tempos:min(80svh,44vw,720px);
}

/* Tipografia */
h1{font-size:clamp(44px,5.3vw,84px);line-height:1.02;letter-spacing:-.036em;font-weight:500;text-wrap:balance}
h2{font-size:clamp(34px,3.7vw,58px);line-height:1.06;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
h3{font-size:clamp(30px,3.2vw,50px);line-height:1.06;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
h1 em,h2 em,h3 em{font-size:1.08em;line-height:.9}
.frase{margin-top:clamp(18px,2.6vh,28px);font-size:clamp(17px,1.32vw,21px);line-height:1.5;color:var(--sec);max-width:27em;text-wrap:pretty}
.acoes{margin-top:clamp(28px,4vh,40px)}

/* Topo */
.topo{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:clamp(20px,3.4vh,34px) var(--m)}
.marca{display:block;border-radius:8px}
.marca img{height:clamp(48px,4.4vw,62px);width:auto}
/* Entrar do topo: navegação em tinta cheia, para nunca parecer um rótulo do mapa (pílulas brancas) */
.topo .entrar{padding:0 22px;border-radius:99px;background:var(--tinta);background-image:none;color:#fff;box-shadow:0 8px 22px rgba(1,48,42,.18);transition:background-color .2s var(--ease)}
.topo .entrar:hover{background-color:#0B4A41}

/* Mostrador: SVG desenhado pelo cena.js + rótulos HTML deitados (span.etq), nunca abaixo de 14px */
.mostrador{position:relative;aspect-ratio:1}
.mostrador>svg{display:block;width:100%;height:100%;overflow:visible}
.etq{position:absolute;translate:-50% -50%;font-size:15px;font-weight:600;line-height:1.2;color:var(--tinta);white-space:nowrap;pointer-events:none}
.etq.esq{translate:-100% -50%}
.etq.dir{translate:0 -50%}
.etq.grande{font-size:clamp(15px,1.5vw,22px)}
.etq.forte{padding:5px 12px;border-radius:99px;background:var(--tinta);color:#fff;font-weight:700}
.etq.oculto{visibility:hidden}
/* Nome do técnico sobre a região: pílula branca, o ponteiro passa por baixo */
.etq.regiao{padding:4px 12px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 6px 16px rgba(11,31,28,.10);font-size:clamp(15px,1.15vw,17px);font-weight:700;color:var(--texto)}
/* Número do caso de humano, ao lado do lote */
.etq.caso{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:var(--tinta);color:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}

/* 1. Abertura: texto à esquerda; o mostrador gigante sangra à direita e o André confere a hora à frente dele */
.abertura{position:relative;display:flex;align-items:center;min-height:max(100svh,720px);padding:clamp(120px,16vh,160px) var(--m) clamp(64px,10vh,110px)}
.abertura-texto{position:relative;z-index:3;max-width:min(42vw,620px)}
.abertura h1{font-size:clamp(44px,4.9vw,78px)}
.abertura-cena{position:absolute;inset:0;z-index:1;pointer-events:none}
.mostrador-abertura{position:absolute;top:44%;right:calc(var(--d-abertura) * -.26);width:var(--d-abertura);height:var(--d-abertura);transform:translateY(-50%)}
.mostrador-abertura>svg{position:absolute;inset:0}
/* O André dentro do relógio: recortado pelo círculo do aro, que passa por cima do tronco dele.
   Fica à esquerda do eixo, para o ponteiro e a cidade continuarem à vista. */
.andre{--andre-x:5.6%;--andre-h:60%;position:absolute;inset:0;clip-path:circle(49.6% at 50% 50%)}
.andre picture{display:contents}
.andre img{position:absolute;bottom:0;left:var(--andre-x);width:auto;max-width:none;height:var(--andre-h)}
/* Rótulos de manhã e tarde sobre a cidade: pílula branca */
.etq.periodo{padding:5px 14px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 6px 16px rgba(11,31,28,.10);font-size:clamp(15px,1.3vw,19px)}

/* 2. Quatro tempos. Estado padrão (sem JS ou movimento reduzido): lista com relógios parados. */
.tempos{margin-top:calc(var(--respiro) * .5)}
.tempos-palco{position:relative;padding:0 var(--m)}
.mostrador-tempos{display:none}
.tempos-lista{display:grid;gap:clamp(64px,8vw,120px)}
.tempo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,96px)}
.tempo-texto p{margin-top:18px;font-size:clamp(17px,1.32vw,21px);line-height:1.5;color:var(--sec);max-width:24em}
.tempo-cena{display:grid;place-items:center;align-content:center;gap:10px;justify-self:center;width:min(100%,440px);aspect-ratio:1;padding:13%;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--fio)}
.movimento .tempo-cena{box-shadow:none}
.tempo-cena:has(.relogio-parado){position:relative;padding:0;box-shadow:none;border-radius:0;overflow:visible}
.relogio-parado{position:absolute;inset:0}
.placa{position:relative;z-index:1;display:grid;gap:10px;width:62%;padding:clamp(14px,1.6vw,20px);border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 18px 44px rgba(11,31,28,.12)}
.placa .os{width:100%;padding:2px;box-shadow:none}
.placa .balao{max-width:100%}
.placa .balao.ora{background:var(--balao);box-shadow:none}

/* Cena: OS, balões e gravação */
.os{display:grid;gap:4px;width:min(100%,280px);padding:20px 22px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 18px 40px rgba(11,31,28,.10);font-size:15px;line-height:1.35}
.os-assunto{font-size:20px;font-weight:600;letter-spacing:-.01em}
.os-quem{color:var(--sec)}
.os-estado{justify-self:start;margin-top:8px;padding:3px 11px;border-radius:99px;background:var(--balao);font-size:15px;font-weight:600;color:var(--tinta)}
.balao{width:fit-content;max-width:min(100%,320px);padding:12px 16px;border-radius:18px;font-size:clamp(15px,1.08vw,16px);line-height:1.42;text-align:left}
.balao.ora{justify-self:start;background:#fff;box-shadow:0 0 0 1px var(--fio),0 14px 32px rgba(11,31,28,.08);border-bottom-left-radius:6px}
.balao.cliente{justify-self:end;background:var(--tiffany-fraco);color:var(--tinta);font-weight:500;border-bottom-right-radius:6px}
.gravado{justify-self:center;margin-top:6px;padding:7px 14px;border-radius:16px;background:var(--tinta);color:#fff;font-size:15px;line-height:1.35;text-align:center;font-weight:600;letter-spacing:.005em}

/* Cena presa (com movimento): o mostrador fica parado e o ponteiro dá a volta */
.movimento .tempos{margin-top:0}
.movimento .tempos-palco{height:100svh;padding:0;overflow:hidden}
.movimento .mostrador-tempos{display:block;position:absolute;top:50%;right:var(--m);width:var(--d-tempos);height:var(--d-tempos);transform:translateY(-50%)}
.movimento .tempos-lista{display:block}
.movimento .tempo{position:absolute;inset:0;display:block;gap:0}
.movimento .tempo-texto{position:absolute;top:50%;left:var(--m);width:min(36vw,560px);translate:0 -50%}
.movimento .tempo-cena{position:absolute;top:50%;right:calc(var(--m) + var(--d-tempos) / 2);width:calc(var(--d-tempos) * .62);padding:clamp(14px,1.6vw,22px);translate:50% -50%;aspect-ratio:auto;border-radius:22px;background:transparent}
/* Placa fixa e sempre opaca atrás das cenas: o ponteiro passa por baixo dela, nunca por cima do texto */
.tempos-placa{display:none}
.movimento .tempos-placa{display:block;position:absolute;top:50%;right:calc(var(--m) + var(--d-tempos) / 2);width:calc(var(--d-tempos) * .62);translate:50% -50%;border-radius:22px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 24px 56px rgba(11,31,28,.12)}
.movimento .tempo-cena .os{width:100%;padding:4px 2px;box-shadow:none}
.movimento .tempo-cena .balao{max-width:100%}
.movimento .tempo-cena .balao.ora{background:var(--balao);box-shadow:none}

/* 3 e 4. O mostrador com os bairros.
   Padrão (celular, sem movimento ou sem JS): cada passo com o seu mostrador, um embaixo do outro. */
.bairros{margin-top:var(--respiro);padding:0 var(--m)}
.mostrador-bairros{display:none}
.passos{display:grid;gap:var(--respiro)}
.passo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,5vw,88px)}
.passo-humano{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.passo-humano .mapa-copia{order:-1}
.mapa-copia{width:min(100%,620px);justify-self:center}
.regioes-legenda{margin-top:clamp(24px,3vw,36px);max-width:30em}
.regioes-legenda li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:4px;align-items:baseline;padding:10px 0;border-top:1px solid var(--fio);font-size:15px;line-height:1.35;color:var(--sec)}
.regioes-legenda b{min-width:3.6em;color:var(--texto);font-weight:700}
.regioes-legenda .vg{grid-column:1/-1;display:flex;align-items:center;gap:4px}
.regioes-legenda .vg small{margin-right:4px;font-size:14px;font-weight:600}
.regioes-legenda .vg i+small{margin-left:14px}
.regioes-legenda i,.chave i{display:inline-block;width:15px;height:11px;border-radius:3px;background:var(--bloco)}
.regioes-legenda i.c,.chave i.c{background:var(--tiffany)}
.chave{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:14px;padding-top:12px;border-top:1px solid var(--fio);font-size:14px;font-weight:600;color:var(--texto)}
.chave span{display:inline-flex;align-items:center;gap:8px}
.casos{display:grid;gap:10px;margin-top:22px;padding-left:1.25em;list-style:decimal;font-size:clamp(18px,1.5vw,23px);line-height:1.35;font-weight:500;color:var(--texto)}
.casos li{padding-left:.2em}
.casos li::marker{color:var(--tinta);font-weight:700;font-variant-numeric:tabular-nums}

/* Com movimento, no desktop: um mostrador só, preso à direita; o ponteiro enche os bairros e depois para */
@media (min-width:901px){
  .movimento .bairros{padding:0}
  .movimento .bairros-palco{position:relative;height:100svh;overflow:hidden}
  .movimento .mostrador-bairros{display:block;position:absolute;top:50%;right:var(--m);width:var(--d-tempos);height:var(--d-tempos);transform:translateY(-50%)}
  .movimento .passos{display:block}
  .movimento .passo{position:absolute;top:50%;left:var(--m);display:block;width:min(38vw,560px);translate:0 -50%}
}

/* Depois de uma cena presa o palco já deixa ar embaixo: o respiro seguinte é curto */
.movimento .bairros{margin-top:clamp(24px,4vw,64px)}
@media (min-width:901px){.movimento .painel{margin-top:clamp(56px,6vw,96px)}}

/* 5. Painel */
.painel{padding:0 var(--m);margin-top:var(--respiro)}
.painel-texto{max-width:760px;margin:0 auto;text-align:center}
.painel-texto .frase{margin-inline:auto}
.painel-figura{max-width:1180px;margin:clamp(56px,7vw,96px) auto 0}
.painel-legenda{margin-top:16px;font-size:14px;color:var(--sec);text-align:center}

/* 6. IXC */
.ixc{display:grid;justify-items:center;text-align:center;padding:0 var(--m);margin-top:var(--respiro)}
.mostrador-ixc{width:min(88vw,580px)}
.registro{position:absolute;left:50%;top:50%;translate:-50% -50%;width:60%;padding:clamp(16px,2vw,24px);border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--fio),0 24px 56px rgba(11,31,28,.14);text-align:left;font-size:clamp(13px,1.1vw,16px)}
.registro-topo{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--fio)}
.registro-topo b{font-size:1.15em;font-weight:700;letter-spacing:-.01em;color:var(--tinta)}
.registro-topo span{color:var(--sec);font-weight:600}
.registro dl{margin:0;display:grid;gap:2px}
.registro dl div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.registro dt{color:var(--sec)}
.registro dd{margin:0;font-weight:700;color:var(--texto)}
.registro .campo dd{color:var(--tinta)}
.ixc-texto{max-width:720px;margin-top:clamp(40px,5vw,72px)}
.ixc-texto .frase{margin-inline:auto}

/* 7. Dinheiro deixado na mesa */
.mesa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(40px,6vw,104px) clamp(40px,5vw,88px);padding:0 var(--m);margin-top:var(--respiro)}
.mesa-ora{margin-top:clamp(24px,3vw,36px);max-width:27em;font-size:clamp(17px,1.32vw,21px);line-height:1.5;font-weight:500;color:var(--tinta);text-wrap:pretty}
.conta{padding:clamp(24px,3.2vw,48px);border-radius:28px;background:var(--painel)}
.conta-exemplo{font-size:15px;font-weight:600;color:var(--sec)}
.conta-linha,.ajuda-linha{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:14px;margin-top:18px}
.vezes{padding-bottom:14px;font-size:22px;line-height:1;color:var(--sec)}
.campo{display:grid;gap:8px;min-width:0}
.campo label{font-size:15px;font-weight:600;line-height:1.3;color:var(--texto)}
.entrada{display:flex;align-items:center;gap:6px;min-height:56px;padding:0 16px;border:1.5px solid var(--fio);border-radius:14px;background:#fff;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.entrada:hover{border-color:#B6C1BF}
.entrada:focus-within{border-color:var(--tinta);box-shadow:0 0 0 3px rgba(0,191,166,.28)}
.entrada input{flex:1;min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;font:600 22px/1.2 "Manrope",system-ui,sans-serif;letter-spacing:-.01em;color:var(--texto);font-variant-numeric:tabular-nums;caret-color:var(--tiffany)}
.entrada .unidade{font-size:17px;font-weight:600;color:var(--sec)}
.entrada[data-erro] {border-color:#A33A2B}
.resultado{display:grid;gap:10px;margin-top:clamp(28px,3.4vw,44px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--fio)}
.r-de{font-size:16px;font-weight:600;color:var(--tinta)}
.r-mes{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.r-mes b{font-size:clamp(46px,5.4vw,84px);line-height:1;letter-spacing:-.04em;font-weight:500;color:var(--tinta);font-variant-numeric:tabular-nums}
.r-mes span{font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:clamp(24px,2.2vw,34px);line-height:1;color:var(--tinta)}
.r-ano{max-width:34em;font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:var(--sec)}
.r-ano b{font-weight:700;color:var(--texto);font-variant-numeric:tabular-nums}
.r-aviso{font-size:16px;font-weight:600;color:#8A2E22}
.ajuda{margin-top:clamp(24px,3vw,36px);border-top:1px solid var(--fio)}
.ajuda summary{display:flex;align-items:center;gap:12px;min-height:56px;padding-top:4px;font-size:16px;font-weight:600;color:var(--tinta);cursor:pointer;list-style:none;border-radius:8px}
.ajuda summary::-webkit-details-marker{display:none}
.ajuda summary::after{content:"";width:9px;height:9px;margin-left:2px;border-right:2px solid var(--tinta);border-bottom:2px solid var(--tinta);rotate:45deg;translate:0 -3px;transition:rotate .25s var(--ease),translate .25s var(--ease)}
.ajuda[open] summary::after{rotate:225deg;translate:0 2px}
.ajuda summary:hover{text-decoration:underline;text-decoration-color:var(--tiffany);text-underline-offset:5px;text-decoration-thickness:2px}
.ajuda-corpo{padding:4px 0 6px}
.ajuda-frase{max-width:36em;font-size:15px;line-height:1.5;color:var(--sec)}
.ajuda-linha{margin-top:16px}
.ajuda-fim{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:20px}
.ajuda-total{font-size:17px;color:var(--sec)}
.ajuda-total b{font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--texto);font-variant-numeric:tabular-nums}
.ajuda .botao{min-height:48px}
.fonte{margin-top:18px;max-width:40em;font-size:14px;line-height:1.5;color:var(--sec)}
cite{font-style:normal}
.fonte cite{display:block;margin-top:2px;font-weight:600}
.fonte.conta-nossa{margin-top:10px}
.contexto{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--fio)}
.contexto p{font-size:16px;line-height:1.5;color:var(--texto);text-wrap:pretty}
.contexto b{font-weight:700;color:var(--tinta);font-variant-numeric:tabular-nums}
.contexto cite{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:var(--sec)}

/* 8. Fechamento */
.fecho{padding:0 var(--m) clamp(40px,6vh,64px);margin-top:var(--respiro)}
.fecho-palco{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(40px,5vw,96px)}
.fecho-texto{max-width:900px}
.mostrador-fecho{width:min(100%,520px);justify-self:end}
.fecho h2{font-size:clamp(38px,4.6vw,72px)}
.vincii{width:min(100%,880px);height:auto;margin-top:clamp(120px,14vw,200px)}
.rodape{margin-top:clamp(48px,6vw,80px);font-size:14px;color:var(--sec)}

/* Celular e telas estreitas */
@media (max-width:900px){
  :root{--d-tempos:min(84vw,46svh)}
  .abertura{display:block;min-height:0;padding-top:clamp(120px,18vh,150px);padding-bottom:0}
  .abertura-texto{max-width:none}
  :root{--d-abertura:min(112vw,560px)}
  .abertura{padding-top:clamp(104px,15vh,140px)}
  .abertura .acoes{margin-top:24px}
  .abertura-cena{position:relative;inset:auto;height:var(--d-abertura);margin:14px calc(var(--m) * -1) 0}
  .mostrador-abertura{top:0;right:auto;left:calc(50% - var(--d-abertura) * .36);transform:none}
  .andre{--andre-x:9%;--andre-h:66%}
  .fecho-palco{grid-template-columns:minmax(0,1fr)}
  .mostrador-fecho{width:min(100%,440px);justify-self:center}
  .tempo{grid-template-columns:minmax(0,1fr);gap:28px}
  .tempo-cena{width:min(100%,360px)}
  /* O palco preso só tem a altura do que mostra (mostrador + texto): ao soltar, a próxima seção vem logo */
  .movimento .tempos-palco{height:min(100svh,calc(clamp(76px,11svh,110px) + var(--d-tempos) + clamp(28px,5svh,48px) + 236px))}
  .movimento .mostrador-tempos{top:clamp(76px,11svh,110px);right:50%;transform:translateX(50%)}
  .movimento .tempo-cena,.movimento .tempos-placa{top:calc(clamp(76px,11svh,110px) + var(--d-tempos) / 2);right:50%}
  .movimento .tempo-texto{top:calc(clamp(76px,11svh,110px) + var(--d-tempos) + clamp(28px,5svh,48px));left:var(--m);right:var(--m);width:auto;translate:none}
  .movimento h3{font-size:clamp(26px,7vw,34px)}
  .movimento .tempo-texto p{font-size:16px;margin-top:12px}
  .passo,.passo-humano{grid-template-columns:minmax(0,1fr);gap:32px}
  .passo .mapa-copia{order:2;width:min(100%,520px)}
  .mesa{grid-template-columns:minmax(0,1fr)}
  .conta{margin-inline:calc(var(--m) * -.5);border-radius:24px}
  .conta-linha,.ajuda-linha{grid-template-columns:minmax(0,1fr);gap:6px}
  .vezes{padding:4px 0 0 4px}
  .contexto{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .movimento .tempo-cena,.movimento .tempos-placa{width:calc(var(--d-tempos) * .76)}
  .balao{padding:9px 12px}
  .placa{width:70%}
  .etq.regiao{font-size:15px;padding:3px 10px}
}
