/* ExpoImage Brasil 2027 · tokens do sistema (APROVADO) */
@font-face{font-family:"Apotek Ext";font-weight:700;src:url(fonts/apotek-ext-bold.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Apotek Ext";font-weight:900;src:url(fonts/apotek-ext-black.woff2) format("woff2");font-display:swap} /* Black: só para a caixa 20/27 (work/pill/make-black.py) */
@font-face{font-family:"NHG Display";font-weight:300;src:url(fonts/nhg-disp-45.woff2) format("woff2")}
@font-face{font-family:"NHG Display";font-weight:400;src:url(fonts/nhg-disp-55.woff2) format("woff2")}
@font-face{font-family:"NHG Display";font-weight:500;src:url(fonts/nhg-disp-65.woff2) format("woff2")}
@font-face{font-family:"NHG Display";font-weight:700;src:url(fonts/nhg-disp-75.woff2) format("woff2")}
@font-face{font-family:"NHG Display";font-weight:900;src:url(fonts/nhg-disp-95.woff2) format("woff2")}
@font-face{font-family:"NHG Text";font-weight:400;src:url(fonts/nhg-text-55.woff2) format("woff2")}
@font-face{font-family:"NHG Text";font-weight:500;src:url(fonts/nhg-text-65.woff2) format("woff2")}
:root{
  --noite:#070A2B; --azulp:#10218F; --azul-ink:#0F1D55; --preto:#0B0D12;
  --off:#F4F3E8; --papel2:#E6E4D6; --areia:#E8DCC8;
  --mag:#D333FF; --vermelho:#E11F35; --bordo:#841936; --limao:#C6FF3D; --rosa:#FF3D8A; --rosa-tinta:#E6236F; --azul:#2F6BFF; --ciano:#33E6FF;
  --display:"Apotek Ext","Apotek Extended",-apple-system,"Helvetica Neue",Arial,sans-serif;   /* headlines, CAIXA ALTA, tracking 0 */
  --brand:"NHG Display","Neue Haas Grotesk Display Pro","SF Pro Display",-apple-system,Arial,sans-serif; /* marca, assinaturas das experiências, nomes */
  --text:"SF Pro Text","SF Pro",-apple-system,BlinkMacSystemFont,"NHG Text","Helvetica Neue",Arial,sans-serif; /* texto corrido */
  --mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,monospace; /* HUD, dados, legendas */
}
/* assinatura de experiência (padrão) */
.word{font-family:var(--brand);font-weight:700;letter-spacing:-.02em;line-height:1;display:inline-flex;align-items:center;white-space:nowrap}
/* sigilo "O" ("O óptico", Pablo 07/09): um pouco MAIOR que a caixa alta (cap height NHG = .715em) → caixa .98em (anel com tinta ≈ .80–.90em);
   centrado no eixo das capitais (o centro das capitais fica .02em acima do centro da linha em line-height:1) */
.word .o{display:inline-flex;align-items:center;justify-content:center;width:.98em;height:.98em;margin:0 .01em;position:relative;align-self:center;transform:translateY(-.02em)}
.word .o svg{width:100%;height:100%;display:block}
.word .o.acc::before{content:"\00B4";position:absolute;left:50%;top:-.23em;transform:translateX(-50%);font:inherit;line-height:1;color:inherit} /* acento ≈.055em acima do anel (topo do anel da Feira a .093em do topo da caixa de .98em) */
.word .sp{width:.3em;display:inline-block}
.word .de{font-size:.45em;font-weight:500;letter-spacing:.04em;margin:0 .18em;align-self:center;text-transform:none}
/* versão principal EMPILHADA (2 linhas), alinhada à esquerda, entrelinha apertada: linhas de .82em + respiro mínimo de .10em (.92em de linha a linha)
   para o anel de .98em (que sobra .08em acima da linha) não tocar a linha de cima: folga medida ≈ .075em (Palco, lâminas) a .13em (anéis) */
.word.stack{display:inline-grid;grid-auto-rows:.82em;row-gap:.10em;justify-items:start}
.word.stack:has(.o.acc){row-gap:.22em} /* FEIRA de / NEG◎CIOS: folga para o acento sobre o anel ficar a ≈.075em da base de FEIRA (mesmo respiro das outras cinco) */
/* horizontais lado a lado (composição conjunta): o contêiner alinha pelo baseline ("mesmo piso") */
.words{display:flex;flex-wrap:wrap;align-items:baseline}
/* assinatura da edição: marca-mãe + caixa reta "20/27" (Pablo, 07/09; revisão 2 no mesmo dia: MAIS BOLD e dígitos colados): Apotek Extended BLACK
   (peso 900 de "Apotek Ext"), duas linhas "20" sobre "27", entrelinha .85, tracking −.06em, gradiente limão→azul topo→base, texto noite, sem border-radius.
   Os dígitos ENCOSTAM nas bordas laterais: largura da caixa = largura da tinta de "20" com o tracking (1.301em: avanços 695+751 − bearings 30/55 − 60),
   sem padding lateral; "27" recebe +.007em entre 2 e 7 para fechar a mesma largura. Margem só em cima/embaixo ≈ 7% da altura (cap 650/1000).
   altura = altura do bloco da marca-mãe ao lado (--h). */
.pill2027{--h:120px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;box-sizing:border-box;flex:none;height:var(--h);width:calc(var(--h)*.746);padding:calc(var(--h)*.038) 0 0;border-radius:0;overflow:visible;font-family:var(--display);font-weight:900;font-size:calc(var(--h)*.5733);letter-spacing:-.06em;line-height:.85;text-align:left;white-space:nowrap;writing-mode:horizontal-tb;transform:none;background:linear-gradient(180deg,var(--limao),var(--azul));color:var(--noite);font-variant-numeric:lining-nums tabular-nums;font-kerning:none}
.pill2027>span{display:block;height:.85em;margin-left:-.03em}
.pill2027>span:last-child{letter-spacing:.007em}

.word.stack > span.line{display:inline-flex;align-items:center;white-space:nowrap}
