/* Governança — "Nada chega à turma sem revisão da coordenação."
   A composição aprovada (.impeccable/mocks/bloco2v10/final-v12-laco.png) em camadas: cena limpa, personagens,
   folhagem da frente, circuito SVG e painéis em HTML real. Tudo posicionado em % da cena 1482×1061
   (--l/--t/--w/--h), e o texto em unidades do palco (cqw), para as camadas ficarem alinhadas em qualquer largura.
   Camadas geradas por scripts/campus_art/governanca_layers.py; circuito por governanca_circuito.py. */

@font-face{font-family:'DM Serif Display';src:url('assets/fonts/DMSerifDisplay-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}

.gov{--sobe:#B5852A;--desce:#13285C;--vidro-borda:rgba(255,255,255,.82);
  position:relative;padding:clamp(24px,3vw,48px) 0 clamp(72px,8vw,120px);background:var(--ivory)}
.gov__palco{position:relative;container-type:inline-size;width:min(100%,1680px);margin:0 auto;aspect-ratio:1482/1061;overflow:hidden}
.gov__cena{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gov__pessoa,.gov__folhagem{position:absolute;left:calc(var(--l) * 1%);top:calc(var(--t) * 1%);width:calc(var(--w) * 1%);height:auto;pointer-events:none}
.gov__pessoa{z-index:1;transform-origin:50% 80%;transition:filter .18s ease-out}
.gov__folhagem{z-index:3}

/* Circuito (prancha de fisiologia): tracejado dourado sobe, linha navy desce */
.circuito{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}
.seta{transition:opacity .18s ease-out}
.seta__halo{fill:none;stroke:#FFFBF2;stroke-opacity:.55;stroke-width:8;stroke-linecap:round}
.seta__traco{fill:none;stroke-width:3.1;stroke-linecap:round}
.seta--sobe .seta__traco{stroke:var(--sobe);stroke-dasharray:6.5 4.6}
.seta--desce .seta__traco{stroke:var(--desce)}
.seta__ponta{stroke-width:.6;stroke-linejoin:round}
.seta--sobe .seta__ponta{fill:var(--sobe);stroke:var(--sobe)}
.seta--desce .seta__ponta{fill:var(--desce);stroke:var(--desce)}
.circuito__revela{fill:none;stroke:#fff;stroke-width:14;stroke-linecap:round;stroke-dasharray:1 0}
.seta__pulso{fill:none;stroke:#FFF4CC;stroke-width:5;stroke-linecap:round;stroke-dasharray:0 1;opacity:0}
.seta__rotulo{font:italic 400 14px/1 var(--serif);paint-order:stroke;stroke:#FFFBF2;stroke-width:4.4px;stroke-linejoin:round}
.seta--sobe .seta__rotulo{fill:#86601A}
.seta--desce .seta__rotulo{fill:var(--desce)}
.gov.is-foco .seta{opacity:.38}
.gov.is-foco .seta.is-acesa{opacity:1}

/* Passos ①–④: botões de 26px (WCAG 2.5.8) sobre a origem de cada seta */
.gov__passos{list-style:none;margin:0;padding:0}
.gov__num{position:absolute;z-index:6;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);display:grid;place-items:center;width:max(26px,1.75cqw);height:max(26px,1.75cqw);margin:calc(max(26px,1.75cqw) / -2) 0 0 calc(max(26px,1.75cqw) / -2);padding:0;border:1.5px solid #C49A3F;border-radius:50%;
  background:var(--desce);color:#fff;font:600 max(12px,.8cqw)/1 var(--brand);cursor:pointer;box-shadow:0 0 0 2.5px #FFFBF2,0 4px 10px -4px rgba(11,39,71,.5);transition:transform .14s ease-out,background-color .14s ease-out}
.gov__num:hover,.gov__num[aria-pressed="true"]{background:#1B3A7A;transform:scale(1.08)}
.gov__num:active{transform:scale(.97)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Título e apoio, como na composição */
.gov__abre{position:absolute;z-index:4;left:4.18%;top:7.4%;width:40%}
.gov__titulo{margin:0;font:400 max(38px,4.62cqw)/.98 var(--serif);letter-spacing:-.035em;color:var(--ink)}
.gov__apoio{max-width:29em;margin:1.2cqw 0 0;font:400 max(14px,1.2cqw)/1.45 var(--sans);color:#142B4D}

/* Placas de mármore: o texto é HTML sobre a pedra lisa da cena */
.gov__placa{position:absolute;z-index:4;left:calc(var(--l) * 1%);top:calc(var(--t) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);margin:0;padding:0 .4cqw;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:default}
.gov__placa .amostra{width:max(9px,.8cqw);height:max(22px,2cqw);margin-bottom:.2cqw}
.gov__placa strong{font:400 max(14px,1.42cqw)/1.05 var(--serif);color:var(--ink)}
.gov__placa em{margin-top:.15cqw;font:italic 400 max(11px,.92cqw)/1.2 var(--serif);color:#26354F}

/* Andares: vidro com o fosco pré-calculado da cena (sem backdrop-filter), alinhado ao que está atrás */
.andar{position:absolute;z-index:5;left:calc(var(--l) * 1%);top:calc(var(--t) * 1%);width:calc(var(--w) * 1%);min-height:calc(var(--h) * 1%);
  display:flex;flex-direction:column;gap:.7cqw;padding:.95cqw 1.05cqw 1.05cqw;border:1px solid var(--vidro-borda);border-radius:1.4cqw;
  background:linear-gradient(150deg,rgba(255,254,250,.76),rgba(255,251,242,.62)),
    url('assets/bloco2/cena-fosca.webp') calc(var(--l) / (100 - var(--w)) * 100%) calc(var(--t) / (100 - var(--h)) * 100%) / calc(10000% / var(--w)) calc(10000% / var(--h)) no-repeat;
  box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(226,184,103,.18),0 0 2.2cqw rgba(226,184,103,.22),0 1.4cqw 2.8cqw -1.8cqw rgba(13,38,66,.45);
  transform:translateY(var(--sobe,0px));transition:transform .18s ease-out,box-shadow .18s ease-out}
.andar__cab{display:flex;align-items:center;gap:.85cqw}
.andar__icone{flex:none;display:grid;place-items:center;width:2.75cqw;height:2.75cqw;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FCEFD0,#EFCB86);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.andar__icone svg{width:1.35cqw;height:1.35cqw;fill:none;stroke:#7A561B;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.andar__textos{flex:1;min-width:0}
.andar__titulo{margin:0;font:400 max(20px,1.95cqw)/1.02 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.andar__ganho{margin:.2cqw 0 0;font:400 max(12px,.9cqw)/1.32 var(--sans);color:#26354F}
.andar__ver{flex:none;display:inline-flex;align-items:center;gap:.45cqw;min-height:30px;padding:.35cqw .8cqw;border:1px solid #D9C59A;border-radius:999px;background:rgba(255,255,255,.82);
  color:var(--ink);font:600 max(11.5px,.8cqw)/1 var(--sans);white-space:nowrap;cursor:pointer;transition:border-color .18s ease-out,background-color .18s ease-out}
.andar__ver svg{width:max(14px,1cqw);height:max(14px,1cqw);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}
.andar__ver:hover{border-color:var(--gold);background:#FFF8EA}
.andar__ver:hover svg,.andar__ver:focus-visible svg{transform:translateX(3px)}
.andar__ver:active{transform:scale(.97)}

/* Reprodução do painel do app (rótulos reais; botões são texto, não controles) */
.andar__corpo{display:flex;gap:.8cqw;font:400 max(11px,.8cqw)/1.32 var(--sans);color:var(--ink)}
.ui{flex:1;min-width:0;border-radius:.9cqw;padding:.75cqw .9cqw}
.ui p{margin:0}
.ui--claro{background:rgba(255,255,255,.9);border:1px solid #ECE7DC;box-shadow:0 .4cqw 1cqw -.7cqw rgba(13,38,66,.25)}
.ui--navy{color:#fff;border:1px solid rgba(243,216,146,.25);background:radial-gradient(120% 90% at 85% 0%,#163A69 0%,#0B2747 55%,#0A213F 100%)}
.ui__titulo{font:400 max(13px,1.05cqw)/1.15 var(--serif)}
.ui__nota{display:block;color:var(--muted);font-size:max(10.5px,.74cqw)}
.ui--navy .ui__nota{color:#C9D3E3}
.ui__olho{font:600 max(10px,.66cqw)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#F3D892}
.ui__item{margin-top:.5cqw;padding:.55cqw .65cqw;border:1px solid #EFE9DD;border-radius:.8cqw;background:#FFFDF8}
.ui__nome{font:600 max(11px,.82cqw)/1.28 var(--sans)}
.ui__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35cqw .6cqw;margin-top:.35cqw !important;color:var(--muted);font-size:max(10.5px,.74cqw)}
.ui__pilula,.ui__tag,.faixa{display:inline-grid;align-items:center;padding:.14cqw .55cqw;border-radius:999px;font:500 max(10.5px,.7cqw)/1.25 var(--sans);white-space:nowrap}
.ui__pilula{border:1px solid #E9DFC9;background:#F7F3EA;color:var(--navy)}
.ui__acoes{display:flex;flex-wrap:wrap;gap:.45cqw;margin-top:.55cqw !important}
.ui__botao{display:inline-flex;align-items:center;padding:.38cqw .85cqw;border:1px solid #C9D0DC;border-radius:999px;font:600 max(10.5px,.72cqw)/1.1 var(--sans);color:var(--navy);white-space:nowrap;background:#fff}
.ui__botao--cheio{border-color:var(--navy);background:var(--navy);color:#fff}
.ui__numeros{display:flex;gap:1.6cqw;margin:.45cqw 0 .5cqw;padding-bottom:.5cqw;border-bottom:1px solid rgba(243,216,146,.28)}
.ui__numeros p{display:flex;flex-direction:column}
.ui__numeros strong{font:400 max(19px,1.75cqw)/1 var(--serif);color:#F3D892}
.ui__numeros span{margin-top:.15cqw;font-size:max(10px,.68cqw);color:#DCE3EE}
.ui__lista p{display:flex;justify-content:space-between;gap:.8cqw;padding:.12cqw 0;font-size:max(10.5px,.74cqw);color:#E7ECF4}
.ui__lista b{font-weight:600;color:#fff;white-space:nowrap}
.ui__lista .ui__sub{flex-direction:column;gap:0;margin-top:.25cqw;color:#fff;font-weight:600}
.ui__lista .ui__sub small{font-weight:400;color:#AEBBD0;font-size:max(10px,.66cqw)}
.ui__linha-topo{display:flex;justify-content:space-between;align-items:center;gap:1cqw}
.ui__linha-topo p{display:flex;flex-direction:column}
.ui__filtro{flex-direction:row !important;align-items:center;gap:.7cqw;text-align:right}
.ui__chip{display:inline-flex;align-items:center;gap:.3cqw;padding:.22cqw .7cqw;border:1px solid #D7DCE4;border-radius:999px;background:#fff;font:500 max(10.5px,.76cqw)/1.2 var(--sans);color:var(--navy)}
.ui__chip svg{width:0;height:max(12px,.85cqw);fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:width .18s ease-out}
.ui--etapas{display:grid;grid-template-rows:auto 1fr;gap:.35cqw}
.ui__alunos{grid-area:2/1;list-style:none;margin:0;padding:0;transition:opacity .2s ease-out}
.ui__alunos li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7cqw;padding:.24cqw 0;border-top:1px solid #EFEBE3}
.ui__ini{display:grid;place-items:center;width:max(22px,1.6cqw);height:max(22px,1.6cqw);border-radius:50%;background:var(--navy);color:#F3D892;font:600 max(10px,.7cqw)/1 var(--sans)}
.faixa--abaixo{border:1px solid #E9DFC9;background:#F7F3EA;color:#7A5C25}
.faixa--compativel{border:1px solid #CFE3F2;background:#EAF6FC;color:#2F5D8C}
.faixa--insuficiente{border:1px solid var(--line);background:#fff;color:var(--muted)}
.ui--atividade{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.9cqw}
.ui__doc{display:grid;place-items:center;width:2.3cqw;height:2.3cqw;border-radius:50%;background:#F4F1EA}
.ui__doc svg{width:1.3cqw;height:1.3cqw;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ui--atividade .ui__nome{display:grid}
.ui--atividade .ui__nota{grid-area:2/1;font-weight:400;transition:opacity .2s ease-out}
.ui__tag{border:1px solid #CFE6D6;background:#E8F5EC;color:#23633E;text-transform:uppercase;letter-spacing:.06em;font-size:max(10px,.66cqw)}

/* Momento-chave: troca em cross-fade sem mudar a altura (o "b" ocupa a mesma célula) */
[data-momento]{display:inline-grid;justify-items:center}
[data-momento] > span{grid-area:1/1;transition:opacity .2s ease-out}
.momento-b{opacity:0}
.andar.is-momento .momento-a{opacity:0}
.andar.is-momento .momento-b{opacity:1}
.andar.is-momento .ui__pilula{border-color:#BFE0CA;background:#E8F5EC;color:#23633E}
.andar.is-momento .ui__chip{border-color:var(--navy);background:#F3D892}
.andar.is-momento .ui__chip svg{width:max(12px,.85cqw)}

/* Hover e foco no andar (só com ponteiro fino; o foco do teclado tem o mesmo efeito) */
@media (hover:hover) and (pointer:fine){
  .andar:hover{transform:translateY(calc(var(--sobe,0px) - 2px));box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(198,154,75,.55),0 0 2.6cqw rgba(226,184,103,.34),0 1.8cqw 3.2cqw -1.8cqw rgba(13,38,66,.5)}
}
.andar:focus-within{box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(198,154,75,.55),0 0 2.6cqw rgba(226,184,103,.34),0 1.8cqw 3.2cqw -1.8cqw rgba(13,38,66,.5)}
.gov__pessoa.is-acesa{filter:drop-shadow(0 0 1.2cqw rgba(255,236,190,.95))}

/* Rodapé do bloco */
.gov__rodape{position:absolute;z-index:4;left:0;right:0;bottom:2.2%;display:flex;justify-content:center;align-items:center;gap:1.2cqw;margin:0;font:400 max(11.5px,.84cqw)/1.3 var(--sans);color:#3A4A66}
.gov__ver{display:inline-flex;align-items:center;gap:.4cqw;padding:0 0 .15cqw;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--ink);font:600 max(12.5px,.98cqw)/1.2 var(--sans);cursor:pointer}
.gov__ver svg{width:max(14px,1.05cqw);height:max(14px,1.05cqw);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}
.gov__ver:hover svg,.gov__ver:focus-visible svg{transform:translateX(3px)}

@media (prefers-reduced-motion:reduce){
  .andar,.gov__num,.seta,.ui__alunos,[data-momento] > span,.ui__chip svg,.andar__ver svg,.gov__ver svg{transition:none}
}

/* Traço com espessura constante na tela, em qualquer escala da cena */
.seta__halo,.seta__traco,.seta__pulso{vector-effect:non-scaling-stroke}

/* Abaixo de 1280px: palco D (variação Diagonal, escolha do usuário). A arte contém as informações, como no desktop:
   cena 852×1846 com os personagens, e por cima título, legenda, painéis compactos, circuito e números, tudo em %
   da cena e texto em unidades do palco (cqw), com mínimos legíveis em px. */
.gov__retrato,.andar__mini,.gov__legenda{display:none}
.circuito--retrato .circuito__revela{stroke-width:40}
.circuito--retrato .seta__rotulo{font-size:28px;stroke-width:5px}
.circuito--retrato .seta__halo{stroke-width:9}

/* Amostra do traço do circuito: a placa e a legenda mostram o mesmo traço das setas */
.amostra{flex:none;overflow:visible}
.amostra__traco{fill:none;stroke-width:2.2;stroke-linecap:round}
.amostra--sobe .amostra__traco{stroke:var(--sobe);stroke-dasharray:3.6 2.6}
.amostra--sobe .amostra__ponta{fill:var(--sobe)}
.amostra--desce .amostra__traco{stroke:var(--desce)}
.amostra--desce .amostra__ponta{fill:var(--desce)}

@media (max-width:1279px){
  .gov{padding:24px 0 56px}
  .gov__palco{width:min(100%,620px);aspect-ratio:852/1846;border-radius:0}
  .gov__cena,.gov__pessoa,.gov__folhagem,.circuito--palco,.gov__passos--palco,.gov__placa,.gov__palco > .circuito-lottie{display:none}
  .gov__retrato{display:block;position:absolute;inset:0;margin:0}
  .gov__retrato > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .gov__retrato .circuito,.gov__retrato .circuito-lottie{position:absolute;inset:0;width:100%;height:100%}

  .gov__abre{left:4.7%;top:4.2%;width:58%}
  .gov__titulo{font-size:max(24px,6.55cqw);line-height:.98}
  .gov__apoio{max-width:none;margin-top:2.4cqw;font-size:max(12px,3.15cqw);line-height:1.42}

  .gov__legenda{display:grid;position:absolute;z-index:3;right:2.6%;top:2.8%;width:33.5%;gap:1.4cqw;padding:2cqw 2.2cqw;border:1px solid #E1C98F;border-radius:3cqw;
    background:linear-gradient(180deg,rgba(255,253,248,.95),rgba(247,242,232,.93));box-shadow:inset 0 1px 0 #fff,0 2cqw 4cqw -3cqw rgba(13,38,66,.55)}
  .gov__legenda p{display:flex;align-items:flex-start;gap:1.6cqw;margin:0}
  .gov__legenda .amostra{width:max(8px,2cqw);height:max(19px,5cqw);margin-top:.4cqw}
  .gov__legenda span{display:flex;flex-direction:column}
  .gov__legenda strong{font:400 max(13px,3.4cqw)/1.1 var(--serif);color:var(--ink)}
  .gov__legenda em{font:italic 400 max(11px,2.75cqw)/1.2 var(--serif);color:#26354F}

  /* painéis compactos, encaixados na escada à direita */
  .andar{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ic ti" "ga ga" "mi mi" "ve ve";align-items:center;gap:1.4cqw 1.8cqw;
    left:50.4%;width:47.4%;min-height:0;padding:2.4cqw 2.6cqw 2.6cqw;border-radius:3.6cqw}
  .andar[data-andar="coord"]{top:20.6%}
  .andar[data-andar="prof"]{top:46.6%}
  .andar[data-andar="aluno"]{top:71.6%}
  .andar__cab,.andar__textos{display:contents}
  .andar__icone{grid-area:ic;width:max(26px,7cqw);height:max(26px,7cqw)}
  .andar__icone svg{width:max(14px,3.6cqw);height:max(14px,3.6cqw)}
  .andar__titulo{grid-area:ti;font-size:max(17px,4.6cqw)}
  .andar__ganho{grid-area:ga;margin:0;font-size:max(11px,2.85cqw);line-height:1.35}
  .andar__corpo{display:none}
  .andar__mini{grid-area:mi;display:flex;flex-direction:column;align-items:flex-start;gap:1.2cqw;margin:0;padding:2cqw;border:1px solid #ECE7DC;border-radius:2.4cqw;background:rgba(255,255,255,.92);font-size:max(11px,2.8cqw)}
  .andar__mini .ui__pilula,.andar__mini .ui__tag{font-size:max(10.5px,2.6cqw);padding:.3cqw 2cqw}
  .andar__mini .ui__botao{width:100%;justify-content:center;padding:1.5cqw 2cqw;font-size:max(10.5px,2.7cqw)}
  .andar__mini .ui__chip{gap:1cqw;padding:.6cqw 2.2cqw;border-color:var(--navy);background:#F3D892;font-size:max(10.5px,2.7cqw)}
  .andar__mini .ui__chip svg{width:max(11px,2.8cqw);height:max(11px,2.8cqw)}
  .andar__mini-aluno{display:flex;align-items:center;gap:1.4cqw;color:var(--ink)}
  .andar__mini .ui__ini{width:max(20px,5.2cqw);height:max(20px,5.2cqw);font-size:max(9px,2.2cqw)}
  .andar__ver{grid-area:ve;justify-content:center;min-height:max(30px,7.6cqw);padding:0 2cqw;font-size:max(11.5px,2.9cqw)}
  .andar__ver svg{width:max(13px,3.2cqw);height:max(13px,3.2cqw)}

  .gov__passos--d .gov__num{width:max(24px,5.8cqw);height:max(24px,5.8cqw);margin:calc(max(24px,5.8cqw) / -2) 0 0 calc(max(24px,5.8cqw) / -2);font-size:max(11px,2.7cqw)}
  .gov__rodape{left:3%;right:3%;bottom:1.2%;flex-wrap:wrap;gap:1cqw 3cqw;font-size:max(10.5px,2.55cqw);text-align:center}
  .gov__ver{font-size:max(12px,3cqw)}
  
  /* demonstração: cobre o palco (a cena volta ao fechar); legenda no topo, botões fixos embaixo */
  .demo{left:2.6%;width:94.8%;top:1.6%;height:96.8%;font-size:max(12px,3cqw)}
  .demo__vidro{border-radius:4cqw;background:linear-gradient(150deg,#FFFEFA,#FBF7EE);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(198,154,75,.45),0 4cqw 8cqw -6cqw rgba(13,38,66,.5)}
  .demo__conteudo{gap:2.4cqw;padding:3.6cqw 3.8cqw 3.8cqw}
  .demo__palco-tela{padding:3cqw;border-radius:3cqw;overflow:auto}
  .demo__andar{font-size:max(19px,5cqw)}
  .demo__selo{font-size:max(10px,2.5cqw);padding:.6cqw 2cqw}
  .demo__contador{font-size:max(10px,2.5cqw)}
  .demo__titulo{font-size:max(19px,5.2cqw)}
  .demo__texto{font-size:max(13px,3.4cqw)}
  .demo__botao{min-height:max(36px,9cqw);font-size:max(13px,3.2cqw)}
  .demo__cta a{font-size:max(13.5px,3.4cqw)}
  .demo__cta span{font-size:max(11.5px,2.8cqw)}
  .demo__cursor{display:none}
  .tela,.tela__vista,.t-revisao,.t-feedback,.t-plano{gap:2.2cqw}
  .tela__cab b{font-size:max(16px,4.2cqw)}
  .tela__cab span,.tela__sub,.t-card__meta,.t-campo,.t-docente,.t-filtro,.t-detalhe,.t-linha,.t-navy__sub,.t-obj span,.t-checks li,.t-aviso{font-size:max(11.5px,2.9cqw)}
  .tela__secao{font-size:max(14.5px,3.7cqw)}
  .t-card,.t-obj{padding:2.8cqw 3.2cqw;border-radius:2.8cqw}
  .t-card__titulo,.t-nome,.t-obj b{font-size:max(12.5px,3.2cqw)}
  .t-pilula,.t-faixa,.t-chips span,.t-tag{font-size:max(10.5px,2.6cqw);padding:.4cqw 2cqw}
  .t-botao{font-size:max(11px,2.8cqw);padding:1.6cqw 3cqw}
  .t-checks li::before{width:max(13px,3.2cqw);height:max(13px,3.2cqw)}
  .t-campo__caixa{height:max(30px,7.6cqw);border-radius:1.8cqw}
  .t-navy{padding:3.2cqw 3.6cqw;border-radius:3.2cqw;gap:1.4cqw}
  .t-navy__titulo{font-size:max(15px,3.9cqw)}
  .t-num{gap:5cqw}
  .t-num strong{font-size:max(21px,5.4cqw)}
  .t-num span,.t-olho,.t-rot{font-size:max(10px,2.5cqw)}
  .t-abas{gap:4cqw;font-size:max(11.5px,2.9cqw)}
  .t-chip{font-size:max(11.5px,2.9cqw);padding:1cqw 2.6cqw}
  .t-ini{width:max(24px,6.2cqw);height:max(24px,6.2cqw);font-size:max(10px,2.5cqw)}
  .t-alunos li{grid-template-columns:auto 1fr;gap:1cqw 2.4cqw;padding:1.4cqw}
  .t-alunos .t-faixa{grid-column:2;justify-self:start}
  .demo__rodape{grid-template-columns:1fr auto}
}

/* ===== Interação (governanca.js) ===== */
html:not(.js) .andar__ver,html:not(.js) .gov__ver{display:none}
@media (hover:hover) and (pointer:fine){ .js .andar{cursor:pointer} }
.is-brilho{box-shadow:0 0 0 2px rgba(198,154,75,.85),0 0 1.4cqw rgba(226,184,103,.55) !important;transition:box-shadow .18s ease-out}
.gov__placa,.gov__legenda p{transition:opacity .18s ease-out}
.gov.is-demo .andar{opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s .2s}
.gov.is-demo .gov__placa{opacity:0}

/* Demonstração guiada: ocupa a coluna dos painéis; a cena continua à esquerda como "você está aqui" */
.demo{position:absolute;z-index:7;left:43.7%;top:9.5%;width:43.9%;height:71%;font:400 max(11px,.8cqw)/1.35 var(--sans);color:var(--ink)}
.demo[hidden]{display:none}
.demo__vidro{position:absolute;inset:0;border:1px solid var(--vidro-borda);border-radius:1.4cqw;transform-origin:0 0;
  background:linear-gradient(150deg,rgba(255,254,250,.9),rgba(255,251,242,.84)),url('assets/bloco2/cena-fosca.webp') 70% 30%/calc(10000% / 43.9) calc(10000% / 71) no-repeat;
  box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(198,154,75,.4),0 0 2.6cqw rgba(226,184,103,.3),0 2cqw 3.6cqw -2cqw rgba(13,38,66,.55)}
.demo__conteudo{position:relative;height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:.75cqw;padding:1cqw 1.15cqw 1.05cqw}
.demo__topo{display:flex;align-items:center;gap:.8cqw}
.demo__andar{margin:0;font:400 max(18px,1.5cqw)/1 var(--serif);color:var(--ink)}
.demo__selo{margin:0;padding:.2cqw .6cqw;border:1px solid #E1C98F;border-radius:999px;background:#FFF8EA;font:500 max(10px,.66cqw)/1.2 var(--sans);color:#8A6420;letter-spacing:.02em}
.demo__fechar{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;padding:0;border:1px solid #D9C59A;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:background-color .15s ease-out,transform .12s ease-out}
.demo__fechar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.demo__fechar:hover{background:#FFF8EA}
.demo__fechar:active{transform:scale(.95)}
.demo__legenda{display:grid;gap:.15cqw}
.demo__legenda p,.demo__titulo{margin:0}
.demo__contador{font:600 max(10px,.66cqw)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#8A6420}
.demo__titulo{font:400 max(19px,1.6cqw)/1.1 var(--serif);letter-spacing:-.01em;color:var(--ink);outline:none}
.demo__texto{font:400 max(13px,.98cqw)/1.4 var(--sans);color:#26354F}
.demo__palco-tela{position:relative;min-height:0;overflow:hidden;padding:.95cqw 1cqw;border:1px solid #ECE7DC;border-radius:1cqw;background:#FAF9F6;box-shadow:inset 0 1px 0 #fff}
.demo__rodape{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6cqw 1cqw}
.demo__rodape p{margin:0}
.demo__pontos{display:flex;gap:6px}
.demo__pontos span{width:7px;height:7px;border-radius:50%;background:#D8D2C4;transition:background-color .2s ease-out,transform .2s ease-out}
.demo__pontos span.is-on{background:var(--gold);transform:scale(1.25)}
.demo__acoes{display:flex;gap:8px}
.demo__botao{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 16px;border:1px solid #C9D0DC;border-radius:999px;background:#fff;color:var(--navy);font:600 max(12.5px,.86cqw)/1 var(--sans);cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,transform .12s ease-out}
.demo__botao svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.demo__botao:hover{border-color:var(--gold)}
.demo__botao:active{transform:scale(.97)}
.demo__botao:disabled{opacity:.4;cursor:default;transform:none}
.demo__botao--cheio{border-color:var(--navy);background:var(--navy);color:#fff}
.demo__botao--cheio:hover{background:#12355E}
.demo__botao[hidden]{display:none}
.demo__cta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:.5cqw;border-top:1px solid rgba(198,154,75,.3)}
.demo__cta[hidden]{display:none}
.demo__cta a{font:600 max(13px,.95cqw)/1.2 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.demo__cta span{font:400 max(11.5px,.8cqw)/1.2 var(--sans);color:var(--muted)}

/* Cursor simulado (só ponteiro fino e com movimento) */
.demo__cursor{position:absolute;z-index:4;left:0;top:0;width:22px;height:22px;opacity:0;pointer-events:none;transition:opacity .2s ease-out}
.demo__cursor.is-visivel{opacity:1}
.demo__cursor svg{width:100%;height:100%;fill:#0B1A3D;stroke:#fff;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(11,26,61,.35));transform-origin:20% 15%}

/* Telas reproduzidas (tokens do app: navy, dourado em filete, DM Serif nos títulos) */
.tela{display:flex;flex-direction:column;gap:.55cqw}
.tela[hidden]{display:none}
.tela p{margin:0}
.tela__cab{display:flex;flex-direction:column;gap:.1cqw;padding-bottom:.45cqw;border-bottom:1px solid #EAE5DA}
.tela__cab b{font:400 max(15px,1.2cqw)/1.15 var(--serif)}
.tela__cab span{font-size:max(10.5px,.74cqw);color:var(--muted)}
.tela__secao{font:400 max(13px,1.02cqw)/1.2 var(--serif)}
.tela__sub{font-size:max(10.5px,.74cqw);color:var(--muted)}
.tela__vista{display:flex;flex-direction:column;gap:.55cqw}
.t-card{display:flex;flex-direction:column;gap:.4cqw;padding:.75cqw .85cqw;border:1px solid #ECE7DC;border-radius:.8cqw;background:#fff;box-shadow:0 .4cqw 1cqw -.8cqw rgba(13,38,66,.3)}
.t-pilula{align-self:flex-start;display:inline-grid;padding:.12cqw .6cqw;border:1px solid #E9DFC9;border-radius:999px;background:#F7F3EA;font:500 max(10.5px,.72cqw)/1.25 var(--sans);color:var(--navy);transition:background-color .25s ease-out,border-color .25s ease-out,color .25s ease-out}
.t-card__titulo{font:600 max(12px,.88cqw)/1.25 var(--sans)}
.t-card__meta{font-size:max(10.5px,.74cqw);color:var(--muted)}
.t-chips{display:flex;flex-wrap:wrap;gap:.3cqw}
.t-chips span{padding:.1cqw .5cqw;border:1px solid #E8E5DF;border-radius:999px;font-size:max(10px,.68cqw);color:#4A5770;background:#FCFBF8}
.t-botao{display:inline-flex;align-items:center;padding:.35cqw .85cqw;border:1px solid #C9D0DC;border-radius:999px;background:#fff;font:600 max(10.5px,.74cqw)/1.15 var(--sans);color:var(--navy);white-space:nowrap;transition:transform .12s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}
.t-botao--cheio{border-color:var(--navy);background:var(--navy);color:#fff}
.t-botao--claro{border-color:#F3D892;background:#F3D892;color:var(--navy)}
.t-rot{font:600 max(10px,.68cqw)/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8A6420}
.t-revisao{display:none;flex-direction:column;gap:.45cqw;padding-top:.45cqw;border-top:1px solid #F0EBE1}
.t-checks{list-style:none;margin:0;padding:0;display:grid;gap:.18cqw}
.t-checks li{display:flex;align-items:center;gap:.45cqw;font-size:max(10.5px,.76cqw);color:#7C879A;transition:color .2s ease-out}
.t-checks li::before{content:"";flex:none;width:max(12px,.85cqw);height:max(12px,.85cqw);border:1.5px solid #D5D9E1;border-radius:50%;background:#fff center/70% no-repeat;transition:background-color .2s ease-out,border-color .2s ease-out}
.t-campo{display:flex;flex-direction:column;gap:.2cqw;font-size:max(10.5px,.72cqw);color:var(--muted);transition:color .2s ease-out}
.t-campo__caixa{height:max(26px,1.9cqw);border:1px solid #DDE1E8;border-radius:.5cqw;background:#fff;transition:border-color .2s ease-out,box-shadow .2s ease-out}
.t-acoes{display:flex;flex-wrap:wrap;gap:.4cqw}
.t-docente{display:none;padding:.45cqw .6cqw;border-left:2px solid var(--gold);background:#FBF6EA;font-size:max(10.5px,.74cqw);color:#26354F}
.t-abas{display:flex;gap:1.2cqw;border-bottom:1px solid #EAE5DA;font:600 max(10.5px,.76cqw)/1 var(--sans);color:var(--muted)}
.t-abas span{padding-bottom:.45cqw}
.t-abas .is-ativa{color:var(--navy);box-shadow:inset 0 -2.5px 0 var(--gold)}
.t-navy{display:flex;flex-direction:column;gap:.3cqw;padding:.8cqw .95cqw;border-radius:.9cqw;color:#fff;border:1px solid rgba(243,216,146,.25);background:radial-gradient(120% 90% at 85% 0%,#163A69 0%,#0B2747 55%,#0A213F 100%)}
.t-olho{font:600 max(9.5px,.64cqw)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#F3D892}
.t-navy__titulo{font:400 max(14px,1.1cqw)/1.2 var(--serif)}
.t-navy__titulo strong{font-weight:400;color:#F3D892;font-size:1.35em}
.t-navy__sub{font-size:max(10.5px,.72cqw);color:#C9D3E3}
.t-num{display:flex;gap:1.6cqw;padding-bottom:.4cqw;border-bottom:1px solid rgba(243,216,146,.28)}
.t-num span{display:flex;flex-direction:column;font-size:max(10px,.68cqw);color:#DCE3EE}
.t-num strong{font:400 max(18px,1.6cqw)/1 var(--serif);color:#F3D892}
.t-linha{display:flex;justify-content:space-between;gap:.8cqw;font-size:max(10.5px,.74cqw);color:#E7ECF4}
.t-linha b{color:#fff;font-weight:600;white-space:nowrap}
.t-linha--sub span{display:flex;flex-direction:column;font-weight:600;color:#fff}
.t-linha--sub small{font-weight:400;color:#AEBBD0}
.tela__vista--curso{display:none}
.t-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:.4cqw .8cqw;font-size:max(10.5px,.74cqw);color:var(--muted)}
.t-chip{display:inline-flex;align-items:center;gap:.3cqw;padding:.22cqw .75cqw;border:1px solid #D7DCE4;border-radius:999px;background:#fff;font:500 max(11px,.78cqw)/1.2 var(--sans);color:var(--navy);transition:background-color .2s ease-out,border-color .2s ease-out}
.t-chip svg{width:0;height:max(12px,.85cqw);fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:width .18s ease-out}
.t-alunos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.t-alunos li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.25cqw .7cqw;max-height:9em;overflow:hidden;padding:.3cqw .35cqw;border-top:1px solid #EFEBE3;border-radius:.5cqw;transition:max-height .3s cubic-bezier(.16,1,.3,1),opacity .2s ease-out,padding .3s cubic-bezier(.16,1,.3,1),background-color .2s ease-out}
.t-ini{display:grid;place-items:center;width:max(22px,1.6cqw);height:max(22px,1.6cqw);border-radius:50%;background:var(--navy);color:#F3D892;font:600 max(9.5px,.66cqw)/1 var(--sans)}
.t-nome{font-size:max(11px,.8cqw)}
.t-faixa{padding:.12cqw .55cqw;border-radius:999px;font:500 max(10px,.68cqw)/1.25 var(--sans);white-space:nowrap}
.t-faixa--abaixo{border:1px solid #E9DFC9;background:#F7F3EA;color:#7A5C25}
.t-faixa--compativel{border:1px solid #CFE3F2;background:#EAF6FC;color:#2F5D8C}
.t-faixa--insuficiente{border:1px solid var(--line);background:#fff;color:var(--muted)}
.t-detalhe{display:none;grid-column:2/-1;font-size:max(10.5px,.72cqw);line-height:1.45;color:#26354F}
.t-aviso{padding:.5cqw .65cqw;border:1px solid #E8E2D4;border-radius:.6cqw;background:#FCFAF4;font-size:max(10px,.7cqw);line-height:1.45;color:#4A5770;transition:border-color .25s ease-out,box-shadow .25s ease-out}
.t-feedback,.t-plano{display:none;flex-direction:column;gap:.5cqw}
.t-obj{display:flex;flex-direction:column;gap:.35cqw;padding:.55cqw .7cqw;border:1px solid #ECE7DC;border-radius:.7cqw;background:#fff}
.t-obj p:first-child{display:flex;flex-direction:column;gap:.1cqw}
.t-obj b{font:600 max(11px,.8cqw)/1.25 var(--sans)}
.t-obj span{font-size:max(10px,.7cqw);color:var(--muted)}
.t-obj__acoes{display:flex;flex-wrap:wrap;gap:.35cqw}
.t-pratica{display:flex;flex-wrap:wrap;align-items:center;gap:.45cqw}
.t-pratica .se-pratica{display:none;align-items:center;gap:.5cqw}
.t-tag{padding:.12cqw .55cqw;border:1px solid #F3D892;border-radius:999px;background:#FFF8EA;font:600 max(10px,.66cqw)/1.25 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8A6420}
.tela .se-aprovada{display:none}

/* Estados da reprodução (classes f-* aplicadas passo a passo) */
@keyframes demo-entra{from{opacity:0;transform:translateY(6px)}}
.f-aberta .t-abrir{display:none}
.f-aberta .t-revisao{display:flex;animation:demo-entra .32s cubic-bezier(.16,1,.3,1)}
.f-conferida .t-checks li{color:var(--ink)}
.f-conferida .t-checks li::before{border-color:#2E7D4F;background-color:#2E7D4F;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.f-conferida .t-checks li:nth-child(2),.f-conferida .t-checks li:nth-child(2)::before{transition-delay:.1s}
.f-conferida .t-checks li:nth-child(3),.f-conferida .t-checks li:nth-child(3)::before{transition-delay:.2s}
.f-conferida .t-checks li:nth-child(4),.f-conferida .t-checks li:nth-child(4)::before{transition-delay:.3s}
.f-conferida .t-checks li:nth-child(5),.f-conferida .t-checks li:nth-child(5)::before{transition-delay:.4s}
.f-nota .t-campo{color:#8A6420}
.f-nota .t-campo__caixa{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,184,103,.3)}
.f-aprovando [data-alvo="aprovar"]{background:#12355E;box-shadow:0 0 0 3px rgba(11,39,71,.18)}
.f-aprovada .t-revisao,.f-aprovada .se-pendente{display:none}
.f-aprovada .se-aprovada{display:inline}
.f-aprovada .t-pilula{border-color:#BFE0CA;background:#E8F5EC;color:#23633E}
.f-aprovada .t-docente{display:block;animation:demo-entra .32s cubic-bezier(.16,1,.3,1)}
.f-visao .tela__vista--revisao{display:none}
.f-visao .tela__vista--curso{display:flex;animation:demo-entra .32s cubic-bezier(.16,1,.3,1)}
.f-filtro .t-chip{border-color:var(--navy);background:#F3D892}
.f-filtro .t-chip svg{width:max(12px,.85cqw)}
.f-filtro .t-alunos li:not([data-pos="abaixo"]){max-height:0;opacity:0;padding-top:0;padding-bottom:0;border-top-color:transparent}
.f-detalhe [data-alvo="ana"]{background:#FBF6EA}
.f-detalhe .t-detalhe{display:block;animation:demo-entra .3s cubic-bezier(.16,1,.3,1)}
.f-aviso .t-aviso{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,184,103,.25)}
.f-feedback .t-navy--inicio{display:none}
.f-feedback .t-feedback{display:flex;animation:demo-entra .32s cubic-bezier(.16,1,.3,1)}
.f-plano .t-plano{display:flex;animation:demo-entra .32s cubic-bezier(.16,1,.3,1)}
.f-pratica .se-sem-pratica{display:none}
.f-pratica .t-pratica .se-pratica{display:inline-flex;animation:demo-entra .3s cubic-bezier(.16,1,.3,1)}
.tela .is-alvo{box-shadow:0 0 0 2px var(--gold),0 0 0 6px rgba(226,184,103,.28)}
.tela .is-press{transform:scale(.96)}

@media (prefers-reduced-motion:reduce){
  .demo *,.demo{animation:none !important;transition-duration:.16s !important;transition-delay:0s !important}
  .demo__cursor{display:none}
}

/* Circuito em Lottie: substitui os traços estáticos quando carrega; rótulos e números continuam em HTML/SVG */
.circuito-lottie{position:absolute;inset:0;z-index:2;pointer-events:none}
.circuito-lottie svg{display:block}
.gov.lottie-palco .circuito--palco :is(.seta__halo,.seta__traco,.seta__ponta),.gov.lottie-d .circuito--retrato :is(.seta__halo,.seta__traco,.seta__ponta){display:none}
.gov.lottie-espera.lottie-palco .circuito--palco .seta__rotulo,.gov.lottie-espera.lottie-d .circuito--retrato .seta__rotulo{clip-path:inset(-20% 100% -20% 0)}
.gov.lottie-espera.lottie-palco .gov__passos--palco .gov__num,.gov.lottie-espera.lottie-d .gov__passos--d .gov__num{opacity:0}


/* ===== Palco D: ajustes finais (vêm por último para valer sobre as regras de base) ===== */
.andar__ganho--curto{display:none}
@media (max-width:1279px){
  .gov{padding-bottom:84px}
  .gov__palco{overflow:visible}
  .gov__abre{width:64%}
  .gov__apoio-resto{display:none}
  /* legenda da prancha embaixo, à esquerda, como a chave de uma prancha de livro */
  .gov__legenda{left:3%;right:auto;top:auto;bottom:2.2%;width:44%;grid-template-columns:1fr;gap:1.4cqw;padding:2cqw 2.4cqw}
  .gov__legenda p{gap:1.8cqw}
  .gov__andares{position:absolute;z-index:5;left:50.4%;width:47.4%;top:19.8%;bottom:1%;display:flex;flex-direction:column;justify-content:space-between}
  .andar,.andar[data-andar]{position:relative;left:auto;top:auto;width:auto;flex:none}
  .andar__ganho:not(.andar__ganho--curto){display:none}
  .andar__ganho--curto{display:block}
  .andar__mini .ui__botao{white-space:normal;text-align:center;line-height:1.2}
  .andar__ver{min-height:max(28px,7cqw)}
  .demo{position:absolute;left:2.6%;width:94.8%;top:1.4%;height:97.2%}
  .gov__rodape{top:100%;bottom:auto;margin-top:14px;color:#3A4A66}
}
@media (max-width:359px){
  .andar__mini-aluno + .andar__mini-aluno{display:none}
}

/* Cena viva (Lottie): substitui a pintura estática e os personagens quando as imagens carregam */
.cena-lottie{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
.cena-lottie svg{display:block}
.gov.tem-cena .cena-lottie{opacity:1}
.gov.tem-cena .gov__palco > .gov__cena,.gov.tem-cena .gov__palco > .gov__pessoa,.gov.tem-cena .gov__palco > .gov__folhagem{visibility:hidden;transition:visibility 0s .4s}
.cena-lottie .pessoa{transition:filter .18s ease-out}
.cena-lottie .pessoa.is-acesa{filter:drop-shadow(0 0 14px rgba(255,236,190,.95))}
@media (max-width:1279px){ .gov__palco > .cena-lottie{display:none} }

/* ===== Desktop: composição da referência (final-v12-laco.png) em largura total ===== */
.frame__veu{position:absolute;inset:0;z-index:6;background:#0B1A3D;opacity:0;pointer-events:none}
.ui__base,.ui__estado .ui__nota{display:none}
@media (min-width:1280px){
  .gov__palco{width:100%}
  /* medidas tiradas da referência: título do andar ~2cqw, texto interno ~.85cqw, uma frase por andar */
  .andar{gap:.65cqw;padding:.95cqw 1.1cqw 1.05cqw}
  .andar__titulo{font-size:max(20px,1.95cqw)}
  .andar__ganho{font-size:max(12px,.92cqw)}
  .andar__icone{width:2.7cqw;height:2.7cqw}
  .andar__icone svg{width:1.3cqw;height:1.3cqw}
  /* 'Ver por dentro' some do repouso: aparece ao passar o mouse ou com o foco do teclado (o andar inteiro abre) */
  .andar__ver{opacity:0;transform:translateX(-4px);transition:opacity .18s ease-out,transform .18s ease-out,border-color .18s ease-out,background-color .18s ease-out}
  .andar:hover .andar__ver,.andar:focus-within .andar__ver{opacity:1;transform:none}
  .andar__corpo{gap:.8cqw;font-size:max(11px,.84cqw)}
  .ui{padding:.75cqw .85cqw;border-radius:.9cqw}
  .ui__cabeca{display:flex;align-items:center;gap:.6cqw;margin-bottom:.5cqw}
  .ui__cabeca p{display:flex;flex-direction:column;min-width:0;margin:0}
  .ui__ic{flex:none;display:grid;place-items:center;width:2cqw;height:2cqw;border-radius:50%;background:#F4F1EA}
  .ui__ic svg{width:1.05cqw;height:1.05cqw;fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .ui__ic--navy{background:rgba(243,216,146,.16)}
  .ui__ic--navy svg{stroke:#F3D892}
  .ui__titulo{font-size:max(13px,1.02cqw)}
  .ui__nota{font-size:max(10.5px,.74cqw);white-space:nowrap}
  .ui__item{margin-top:0;padding:.6cqw .7cqw}
  .ui__nome{font-size:max(11px,.86cqw)}
  .ui__meta{gap:.4cqw .7cqw;margin-top:.35cqw !important;font-size:max(10.5px,.76cqw)}
  .ui__pilula,.ui__tag,.faixa{padding:.16cqw .65cqw;font-size:max(10.5px,.74cqw)}
  .ui--fila .ui__acoes{flex-wrap:nowrap;gap:.5cqw;margin-top:.6cqw !important}
  .ui__botao{padding:.45cqw .95cqw;font-size:max(10.5px,.78cqw)}
  .ui--fila .ui__botao{flex:1;justify-content:center;padding-inline:.6cqw}
  .ui--navy .ui__cabeca{margin-bottom:.35cqw}
  .ui__numeros{gap:2.2cqw;margin:.2cqw 0 .45cqw;padding-bottom:.45cqw}
  .ui__numeros strong{font-size:max(20px,1.95cqw);white-space:nowrap}
  .ui__numeros span{font-size:max(10px,.7cqw)}
  .ui__lista p{padding:.13cqw 0;font-size:max(10.5px,.76cqw)}
  .ui__lista .ui__sub small{font-size:max(10px,.68cqw)}
  .ui__chip{padding:.28cqw .85cqw;font-size:max(10.5px,.78cqw)}
  .ui__alunos li{grid-template-columns:auto 13cqw 1fr;gap:.9cqw;padding:.3cqw 0;font-size:max(11px,.84cqw)}
  .ui__alunos .faixa{justify-self:start}
  .ui__ini{width:max(22px,1.7cqw);height:max(22px,1.7cqw);font-size:max(9.5px,.68cqw)}
  .ui__base{display:block;margin:.35cqw 0 0;font-size:max(10px,.7cqw);color:var(--muted)}
  .ui--atividade{grid-template-columns:auto 1fr auto auto;gap:1cqw;padding:.7cqw .9cqw}
  .ui__doc{width:2.3cqw;height:2.3cqw}
  .ui__doc svg{width:1.15cqw;height:1.15cqw}
  .ui__estado{display:flex;flex-direction:column;align-items:center;gap:.2cqw}
  .ui__estado .ui__nota{display:block}
  .gov__rodape{bottom:2.4%;gap:1.4cqw;font-size:max(11.5px,.84cqw)}
  .gov__ver{font-size:max(12.5px,.95cqw)}
  .gov__placa strong{font-size:max(15px,1.5cqw)}
  .gov__placa em{font-size:max(11px,.94cqw)}
}
@media (min-width:1280px){
  .andar__corpo--coord > .ui--fila{flex:1.18}
  .ui--fila .ui__acoes{gap:.4cqw}
  .ui--fila .ui__botao{padding-inline:.45cqw;font-size:max(10.5px,.74cqw)}
  .ui__estado .ui__nota{display:none}
  .ui--atividade{grid-template-columns:auto minmax(0,1fr) auto auto;gap:.9cqw}
  .ui--atividade .ui__nome{min-width:0}
}

/* Coluna da direita livre para a coordenadora e os selos (Descem / Sobem), com respiro entre eles e os painéis */
@media (min-width:1280px){
  .ui__alunos li{grid-template-columns:auto minmax(0,11cqw) 1fr}
  .ui__filtro .ui__nota{display:none}
}

/* ===== Rodada de acabamento 29/10 ===== */
/* §1 Palco que cabe numa tela (em telas com 773 px de altura útil ou mais; abaixo disso o quadro do comp não
   encolhe além de 1080 px de largura, para os painéis continuarem legíveis): a pintura estendida (2402×1061, cena-ext.webp) cobre a largura toda; o quadro do comp
   aprovado (1482×1061, .gov__palco) fica no centro. Escala --s = px de tela por px da pintura: a altura cabe na tela,
   sem nunca deixar o quadro do comp mais largo que a página. */
@media (min-width:1280px){
  .gov{container-type:inline-size}
  .gov__tela{--s:min(max(calc(100cqw / 2402),calc(100svh / 1061),calc(1080px / 1482)),calc(100cqw / 1482));position:relative;height:calc(var(--s) * 1061);overflow:clip}
  .gov__mundo{position:absolute;top:0;left:50%;width:calc(var(--s) * 2402);height:calc(var(--s) * 1061);transform:translateX(-50%)}
  .gov__cena-ext{position:absolute;inset:0;width:100%;height:100%;display:block}
  .gov__mundo > .cena-lottie{position:absolute;inset:0;z-index:1}
  .gov__palco{position:absolute;z-index:2;left:19.1507%;top:0;width:61.6986%;height:auto;aspect-ratio:1482/1061;margin:0;overflow:visible}

  /* §2 Andares em fluxo (lição do Ausculto: nada de posição absoluta sem reservar espaço). Medidas do comp
     aprovado (.impeccable/bloco2/regions.json): topo da Coordenação 143/1061, intervalo ≈ 23/1482 */
  .gov__andares{position:absolute;z-index:5;left:31.646%;top:13.478%;width:54.95%;display:flex;flex-direction:column;align-items:flex-start;gap:1.55cqw}
  .gov__andares > .andar,.gov__andares > .andar[data-andar]{position:relative;left:auto;top:auto;min-height:0;flex:none}
  .gov__andares > .andar[data-andar="coord"]{margin-left:21.97%;width:78.07%}
  .gov__andares > .andar[data-andar="prof"]{margin-left:23.94%;width:75.34%}
  .gov__andares > .andar[data-andar="aluno"]{margin-left:0;width:91.85%}
  .andar__corpo--coord{align-items:flex-start}
}
@media (max-width:1279px){
  .gov__tela,.gov__mundo{display:contents}
  .gov__cena-ext,.gov__mundo > .cena-lottie{display:none}
}
@media (min-width:1280px){
  /* título: a caixa abraça o texto (não invade a coluna dos andares) */
  .gov__abre{width:max-content;max-width:38%}
  /* Professor termina antes do selo "Sobem" (moldura começa em 1248/1482 = 84,2%) */
  .gov__andares > .andar[data-andar="prof"]{width:68.8%}
  .gov__placa strong{font-size:max(13px,1.5cqw)}
  .gov__placa em{font-size:max(9.5px,.94cqw);line-height:1.15}
}
/* Quadro do comp estreito (telas baixas): textos quebram em vez de estourar */
@media (min-width:1280px){@container (max-width:1150px){
  .ui--fila .ui__acoes{flex-wrap:wrap}
  .ui--fila .ui__botao{flex:1 1 auto}
  .ui--atividade .ui__nota{white-space:normal}
  .ui__numeros{gap:1.4cqw}
}}

/* §4 Material navy do app (o mesmo do cartão "Acompanhamento da turma" do herói, styles.css .card--acomp):
   véu à esquerda + arcos navy-arches-720.webp ancorados à direita + --navy-card + brilho interno e sombra.
   O tamanho dos arcos acompanha a altura de cada cartão, para o desenho aparecer na mesma escala. */
.ui--navy,.t-navy{color:#fff;border:1px solid rgba(233,199,127,.22);
  background:linear-gradient(90deg,rgba(9,28,56,.55) 0%,rgba(9,28,56,.12) 55%,rgba(9,28,56,0) 100%),
    url('assets/textures/navy-arches-720.webp') right 80% / auto 175% no-repeat,var(--navy-card);
  box-shadow:0 .9cqw 1.9cqw -1.1cqw rgba(5,16,34,.5),inset 0 1px 0 rgba(255,255,255,.07)}
.t-navy{background:linear-gradient(90deg,rgba(9,28,56,.6) 0%,rgba(9,28,56,.15) 55%,rgba(9,28,56,0) 100%),
    url('assets/textures/navy-arches-720.webp') right 72% / auto 220% no-repeat,var(--navy-card)}
@media (max-width:1279px){
  .ui--navy,.t-navy{background:linear-gradient(90deg,rgba(9,28,56,.7) 0%,rgba(9,28,56,.3) 60%,rgba(9,28,56,.1) 100%),
    url('assets/textures/navy-arches-720.webp') right 80% / auto 150% no-repeat,var(--navy-card);box-shadow:0 10px 22px -14px rgba(5,16,34,.5),inset 0 1px 0 rgba(255,255,255,.07)}
}

/* §5 Cápsula das setas (referência do usuário): círculo navy com anel dourado metálico e numeral branco, sobreposto
   à ponta de uma cápsula marfim com filete dourado, palavra em DM Serif itálico e sombra dupla. data-lado="esq":
   a cápsula sai para a esquerda e o círculo fica no ponto exato da seta (--x/--y). */
.selo-seta.gov__num{--d:max(24px,1.9cqw);display:flex;align-items:center;flex-direction:row-reverse;gap:0;width:auto;height:var(--d);
  margin:calc(var(--d) / -2) 0 0 0;padding:0;border:0;border-radius:999px;background:none;box-shadow:none;transform:translateX(calc(-100% + var(--d) / 2));
  color:var(--ink);font:inherit;cursor:pointer;transition:transform .18s ease-out,filter .18s ease-out}
.selo-seta__n{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:var(--d);height:var(--d);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#1D3A6E 0%,#0F2753 55%,#0A1C40 100%);color:#fff;font:600 max(11px,.82cqw)/1 var(--brand);
  box-shadow:0 0 0 1.5px #D8B565,0 0 0 2.5px rgba(126,88,24,.55),inset 0 1px 0 rgba(255,255,255,.18),0 .25cqw .6cqw -.15cqw rgba(11,26,61,.45)}
.selo-seta__rot{position:relative;margin-right:calc(var(--d) * -.24);padding:0 calc(var(--d) * .62) 0 calc(var(--d) * .5);height:calc(var(--d) * .84);
  display:flex;align-items:center;border-radius:999px;white-space:nowrap;
  font:italic 400 max(12px,.98cqw)/1 var(--serif);color:#13233F;letter-spacing:.005em;
  background:linear-gradient(180deg,#FDFBF5 0%,#F6F0E2 100%) padding-box,linear-gradient(180deg,#E7CB86 0%,#B98A33 55%,#8F6420 100%) border-box;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 .5cqw 1.1cqw -.5cqw rgba(11,26,61,.35),0 1px 2px rgba(11,26,61,.18)}
.selo-seta__rot::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;
  box-shadow:0 0 0 1px rgba(246,214,140,.95),0 0 .9cqw rgba(232,190,104,.75);transition:opacity .6s ease-in-out}
.selo-seta.is-luz .selo-seta__rot::after{opacity:1}
@media (hover:hover) and (pointer:fine){
  .selo-seta.gov__num:hover{transform:translateX(calc(-100% + var(--d) / 2)) translateY(-1px);filter:drop-shadow(0 .35cqw .5cqw rgba(11,26,61,.22))}
}
.selo-seta.gov__num[aria-pressed="true"] .selo-seta__n{background:radial-gradient(circle at 35% 30%,#2A4E8E 0%,#163467 60%,#0F2753 100%)}
.selo-seta.gov__num:focus-visible{outline:none}
.selo-seta.gov__num:focus-visible .selo-seta__rot{box-shadow:0 0 0 2px var(--gold),inset 0 1px 0 #fff}
.selo-seta.gov__num:active{transform:translateX(calc(-100% + var(--d) / 2)) scale(.98)}
/* antes da entrada (só com movimento): carimbo do círculo e a cápsula desenrolando a partir dele */
.gov.lottie-espera .selo-seta.gov__num{opacity:1}
.gov.lottie-espera .selo-seta__n{opacity:0;transform:scale(.9)}
.gov.lottie-espera .selo-seta__rot{clip-path:inset(0 0 0 100% round 999px)}
@media (max-width:1279px){
  .selo-seta.gov__num{--d:max(22px,5.4cqw)}
  .selo-seta__n{font-size:max(10.5px,2.6cqw)}
  .selo-seta__rot{font-size:max(11px,2.9cqw)}
}
@media (prefers-reduced-motion:reduce){ .selo-seta.gov__num,.selo-seta__rot::after{transition:none} }

@media (min-width:1280px){
  .gov__abre{top:6%}
  .selo-seta.gov__num{--d:max(22px,1.75cqw)}
  .gov__andares{gap:max(16px,1.55cqw)}
}
/* quadro estreito (telas baixas, 1280×720): os painéis mostram o essencial e não passam do pé da tela */
@media (min-width:1280px){@container (max-width:1100px){
  .gov__andares .ui__cabeca .ui__nota,.gov__andares .ui__lista p:first-child,.gov__andares .ui__alunos li:nth-child(3),
  .gov__andares .ui__item .ui__meta > span:last-child{display:none}
  .gov__andares .andar{gap:.5cqw;padding:.8cqw .95cqw .9cqw}
  .gov__andares .ui{padding:.6cqw .75cqw}
  .gov__andares .ui__cabeca{margin-bottom:.35cqw}
}}
@media (min-width:1280px){@container (max-width:1100px){
  .gov__andares .ui--fila > .ui__cabeca,.gov__andares .ui--atividade .ui__nota,.gov__andares .ui--atividade .ui__doc{display:none}
  .gov__andares .ui--atividade{grid-template-columns:minmax(0,1fr) auto auto}
  .gov__rodape{bottom:1%}
}}
@media (min-width:1280px){@container (max-width:1100px){
  .gov__abre{top:4.4%}
  .gov__andares{top:12%}
  .gov__rodape{bottom:.6%}
}}
@media (min-width:1280px){
  .andar__corpo--coord > .ui--fila{flex:1.3}
  .ui--fila .ui__acoes{flex-wrap:wrap}
  .ui--fila .ui__botao{flex:1 1 auto}
  /* linha do Aluno em fluxo: o nome encolhe e quebra, etiqueta e botão nunca passam por cima */
  .gov__andares .ui--atividade{display:flex;flex-wrap:nowrap;align-items:center;gap:1cqw}
  .gov__andares .ui--atividade .ui__nome{flex:1 1 auto;min-width:0}
  .gov__andares .ui--atividade .ui__nota{white-space:normal}
  .gov__andares .ui--atividade .ui__estado,.gov__andares .ui--atividade > .ui__botao{flex:none}
}

/* §6 Folha de mármore: o bloco 2 sobe sobre o herói segurado.
   Borda dupla (casca = mármore, miolo = cena) com raio grande; a faixa de mármore tem 0,9vw no topo e afina até zero
   nas laterais (mesma curva deslocada para baixo). Cores medidas nas ilustrações: meio-tom #E3DFE1, luz #F2EAE5,
   sombra lilás #D7D6DE; veios da própria textura marble-riser. Nada aqui é animado além de transform/opacidade. */
.heroi-palco{position:relative}
.gov{--raio:22px;--faixa:8px;position:relative;z-index:8;margin-top:calc(var(--faixa) * -1);padding-top:var(--faixa);
  border-radius:var(--raio) var(--raio) 0 0;isolation:isolate;
  background:linear-gradient(90deg,rgba(255,246,226,.55) 0%,rgba(255,250,240,.15) 38%,rgba(255,255,255,0) 60%,rgba(214,210,224,.25) 100%),
    url("assets/textures/marble-riser.webp") 50% 22% / 1600px auto repeat-x,
    linear-gradient(180deg,#F2EAE5 0%,#E3DFE1 55%,#D7D6DE 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}
.gov::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:60px;border-radius:inherit;pointer-events:none;
  box-shadow:0 -2px 6px rgba(11,26,61,.22),0 -22px 48px -10px rgba(11,26,61,.38)}
.gov__tela::after{content:"";position:absolute;z-index:9;inset:0 0 auto 0;height:14px;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(150,142,172,.55) 0,rgba(150,142,172,0) 1px,rgba(11,26,61,.16) 1px,rgba(11,26,61,0) 100%)}
@media (min-width:1280px){
  .gov{--raio:3.2vw;--faixa:.9vw}
  .gov__tela{border-radius:var(--raio) var(--raio) 0 0}
  .frame{position:sticky;top:min(0px,calc(100svh - 924 * var(--u)))}
  .gov__mundo{left:calc(50% - var(--s) * 1201);transform:none}
}
@media (max-width:1279px){
  .gov{border-radius:22px 22px 0 0}
  .gov__palco{border-radius:14px 14px 0 0}
}

/* §9 Demonstração com a altura do conteúdo (medida no JS), limitada a 86% do palco; a tela rola por dentro se passar */
@media (min-width:1280px){
  .demo{height:auto;max-height:86%;top:9%}
  .demo__conteudo{height:auto;max-height:100%;grid-template-rows:auto auto auto auto}
  .demo__palco-tela{overflow:auto;max-height:calc(86cqw * 1061 / 1482 - 15cqw)}
}
@media (min-width:1280px){
  /* linha do Aluno numa altura fixa: título e linha de apoio em uma linha cada, com reticências se faltar espaço */
  .gov__andares .ui--atividade .ui__nome{display:grid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gov__andares .ui--atividade .ui__nome > .ui__nota{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* botões da fila lado a lado sempre que o quadro tem largura para isso (a quebra fica só para quadros estreitos) */
@container (min-width:1101px){
  .ui--fila .ui__acoes{flex-wrap:nowrap}
  .ui--fila .ui__botao{flex:1 1 0;min-width:0;padding-inline:.35cqw;font-size:max(10.5px,.72cqw)}
}
@media (min-width:1280px){
  /* como na referência: o cartão da fila acompanha a altura do navy e os botões assentam no pé dele */
  .andar__corpo--coord{align-items:stretch}
  .andar__corpo--coord > .ui--fila{flex:1.12;display:flex;flex-direction:column}
  .andar__corpo--coord > .ui--fila > .ui__acoes{margin-top:auto !important;padding-top:.6cqw}
  .ui--navy .ui__cabeca .ui__titulo{white-space:nowrap}
}
@media (min-width:1280px){
  /* o cartão da fila tem altura de sobra: os dois botões empilham no pé, inteiros, sem cortar o texto */
  .andar__corpo--coord > .ui--fila > .ui__acoes{flex-direction:column;flex-wrap:nowrap;gap:.4cqw}
  .andar__corpo--coord > .ui--fila .ui__botao{flex:none;width:100%;justify-content:center;padding-inline:.8cqw;font-size:max(10.5px,.76cqw)}
}
/* âncora do bloco: a folha encosta no topo da tela (a cápsula flutua sobre o céu da cena) */
#governanca{scroll-margin-top:0}

/* ===== Celular (palco D), rodada de 30/10: painéis enxutos e sem pseudo-botões =====
   Cada andar: ícone + título, a frase curta, uma linha de estado (sem caixa dentro do vidro e sem pílula navy que
   pareça ação) e o "Ver por dentro" como link discreto com alvo de 44 px. Os andares ficam na altura do seu
   personagem; os vãos entre eles recebem as cápsulas das setas (posições medidas, governanca_capsulas_d.py). */
@media (max-width:1279px){
  .gov__andares{top:0;bottom:0;height:auto;display:block}
  .gov__andares > .andar[data-andar]{position:absolute;left:0;right:0;width:auto}
  .gov__andares > .andar[data-andar="coord"]{top:21.5%}
  .gov__andares > .andar[data-andar="prof"]{top:44.3%}
  .gov__andares > .andar[data-andar="aluno"]{top:71.8%}
  .andar[data-andar="prof"] .andar__ganho:not(.andar__ganho--curto){display:block}
  .andar[data-andar="prof"] .andar__ganho--curto{display:none}
  .andar{gap:1.2cqw 1.8cqw;padding:2.6cqw 2.8cqw 1cqw}
  .andar__mini{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.2cqw 1.6cqw;padding:0;border:0;border-radius:0;background:none}
  .andar__mini .ui__botao--cheio{width:auto;padding:0;border:0;background:none;box-shadow:none;color:var(--ink-2);
    font:500 max(11.5px,2.9cqw)/1.25 var(--sans);text-align:left;white-space:normal}
  .andar__mini .ui__botao--cheio::before{content:"→ ";color:var(--gold-num)}
  .andar__mini-aluno + .andar__mini-aluno{display:none}
  .andar__mini .ui__tag{white-space:normal;line-height:1.2}
  .andar__ver{position:relative;justify-content:flex-start;gap:.35em;min-height:34px;margin:0 -1cqw;padding:0 1cqw;border:0;border-radius:8px;background:none;box-shadow:none;
    color:var(--ink);font:500 max(13px,3.2cqw)/1 var(--sans);text-decoration:underline;text-decoration-color:rgba(198,154,75,.85);
    text-decoration-thickness:1px;text-underline-offset:4px}
  .andar__ver::before{content:"";position:absolute;inset:-5px -6px}
  .andar__ver:active{background:rgba(13,38,66,.06)}
  .andar__ver svg{width:14px;height:14px}
}
/* cápsula para a direita (celular: sai para o vão entre os painéis): o círculo fica no ponto (--x/--y) e a cápsula
   desenrola para a direita a partir dele */
.selo-seta.gov__num[data-lado="dir"]{flex-direction:row;transform:translateX(calc(var(--d) / -2))}
.selo-seta.gov__num[data-lado="dir"] .selo-seta__rot{margin-right:0;margin-left:calc(var(--d) * -.24);padding:0 calc(var(--d) * .5) 0 calc(var(--d) * .62)}
.gov.lottie-espera .selo-seta.gov__num[data-lado="dir"] .selo-seta__rot{clip-path:inset(0 100% 0 0 round 999px)}
@media (hover:hover) and (pointer:fine){
  .selo-seta.gov__num[data-lado="dir"]:hover{transform:translateX(calc(var(--d) / -2)) translateY(-1px)}
}
.selo-seta.gov__num[data-lado="dir"]:active{transform:translateX(calc(var(--d) / -2)) scale(.98)}
@media (max-width:1279px){
  .selo-seta.gov__num{--d:28px}
  .selo-seta__n{font-size:12px}
  .selo-seta__rot{font-size:13px}
  .selo-seta.gov__num::before{content:"";position:absolute;inset:-8px}
}
@media (max-width:370px){
  .selo-seta.gov__num{--d:26px}
  .selo-seta__rot{font-size:12px}
}
/* chave da prancha no celular: as duas entradas lado a lado no pé da arte, abaixo do Aluno; texto ≥ 12 px */
@media (max-width:1279px){
  .gov__legenda{left:3%;right:3%;bottom:1.4%;width:auto;grid-template-columns:1fr 1fr;gap:3cqw;padding:10px 12px}
  .gov__legenda p{gap:8px}
  .gov__legenda strong{font-size:14px}
  .gov__legenda em{font-size:12px;line-height:1.25}
}
/* demonstração no celular: altura do conteúdo (medida no JS, sem vazio embaixo), com respiro de 18 px nas bordas */
@media (max-width:1279px){
  .demo{height:auto;max-height:97.2%}
  .demo__conteudo{height:auto;max-height:100%;grid-template-rows:auto auto auto auto;gap:12px;padding:18px 18px 16px}
  .demo__palco-tela{overflow:auto}
}
/* celular, crítica final 30/10: os andares mostram o produto (o estado que cada papel vê) no lugar da frase,
   que o apoio do bloco já diz ("cada andar vê o que precisa"); texto do bloco ≥ 12 px; alvo do rodapé ≥ 24 px */
@media (max-width:1279px){
  .andar__ganho,.andar__ganho--curto,.andar[data-andar="prof"] .andar__ganho:not(.andar__ganho--curto){display:none}
  .andar__mini{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12.5px;line-height:1.25}
  .andar__mini .ui__pilula,.andar__mini .ui__tag,.andar__mini .ui__chip{font-size:12px;white-space:nowrap}
  .andar__mini .ui__botao--cheio{font-size:12.5px}
  .andar__mini-aluno{gap:6px;font-size:12.5px}
  .andar__mini .ui__ini{width:22px;height:22px;font-size:10px}
  .gov__apoio{font-size:max(14.5px,3.7cqw);line-height:1.4}
  .gov__rodape{font-size:12px}
  .gov__ver{position:relative}
  .gov__ver::before{content:"";position:absolute;inset:-12px -8px}
}
/* celular: "Ver por dentro" vira a seta de detalhe no canto do título (nome acessível mantido, alvo de 44 px);
   o andar inteiro já abre a demonstração ao toque. Assim o andar cabe com o estado do produto e os vãos das
   cápsulas continuam livres. */
@media (max-width:1279px){
  .andar{padding:10px 10px 11px 11px;gap:6px 7px}
  .andar__titulo{font-size:max(16px,4.1cqw);padding-right:30px}
  .andar__ver{grid-area:auto;position:absolute;top:7px;right:7px;width:30px;height:30px;min-height:0;margin:0;padding:0;justify-content:center;
    border:1px solid rgba(198,154,75,.6);border-radius:50%;background:rgba(255,255,255,.75);font-size:0;text-decoration:none}
  .andar__ver svg{width:15px;height:15px}
  .andar__ver::before{inset:-7px}
}
/* acabamento da crítica de confirmação (30/10): chips do andar na mesma gramática (sem caixa alta espaçada, quebram
   em vez de vazar), sem o check de filtro do app (fora do filtro ele lê como "ok"), título longe da seta de detalhe */
@media (max-width:1279px){
  .andar__mini .ui__tag,.andar__mini .ui__chip,.andar__mini .ui__pilula{white-space:normal;text-transform:none;letter-spacing:0;max-width:100%}
  .andar__mini .ui__chip svg{display:none}
  .andar__mini .ui__botao--cheio::before{content:"→";margin-right:.4em}
  .andar__titulo{padding-right:40px}
  .gov__apoio{text-wrap:balance}
  .gov__rodape{text-wrap:balance}
}
@media (max-width:370px){ .andar__titulo{font-size:15px} }
/* chave Sobem/Descem no celular como as placas entalhadas do desktop: marfim com veios, filete dourado duplo,
   seta da amostra no alto, palavra em serifa e o complemento em itálico, centralizados */
@media (max-width:1279px){
  .gov__legenda{gap:10px;padding:0;border:0;background:none;box-shadow:none}
  .gov__legenda p{flex-direction:column;align-items:center;gap:3px;padding:9px 8px 10px;text-align:center;border-radius:5px;
    background:linear-gradient(180deg,rgba(255,253,247,.92),rgba(247,241,229,.92)),url("assets/textures/marble.webp") 30% 40%/360px auto;
    border:1.5px solid #C9A04F;
    box-shadow:inset 0 0 0 2.5px #FBF7EC,inset 0 0 0 3.5px rgba(201,160,79,.75),0 1px 0 rgba(255,255,255,.8),0 8px 16px -10px rgba(13,38,66,.45)}
  .gov__legenda .amostra{width:10px;height:22px;margin:0}
  .gov__legenda span{align-items:center}
  .gov__legenda strong{font-size:15px}
  .gov__legenda em{font-size:12px}
}
@media (max-width:1279px){
  .gov__legenda p{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:6px;row-gap:2px;padding:8px 8px 9px}
  .gov__legenda .amostra{grid-row:1;align-self:center;width:8px;height:18px}
  .gov__legenda span{display:contents}
  .gov__legenda strong{grid-row:1;align-self:center}
  .gov__legenda em{grid-column:1 / -1}
}
/* convite ao toque (celular): pulso dourado que sai da seta de detalhe e um empurrão curto da seta para a direita;
   o andar responde ao toque com uma leve pressão */
@media (max-width:1279px){
  .andar__ver::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid rgba(201,160,79,.9);opacity:0;pointer-events:none}
  .andar.is-convite .andar__ver::after{animation:andar-pulso 1.4s cubic-bezier(.2,.7,.2,1)}
  .andar.is-convite .andar__ver svg{animation:andar-empurra 1.1s cubic-bezier(.4,0,.2,1)}
  .andar:active{transform:scale(.985)}
}
@keyframes andar-pulso{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
@keyframes andar-empurra{0%,100%{transform:none}30%{transform:translateX(3px)}55%{transform:none}75%{transform:translateX(2px)}}
