/* ==========================================================================
   Jaciara Machuga — landing de mobilização
   Direção 1C: HQ / meio-tom. Azul-tinta #000a30, trama de bolinhas,
   painéis com contorno grosso e sombra dura vermelha, estrela no lugar do
   pingo do i. Cantos retos, cores chapadas, sem blur — regras da marca.
   ========================================================================== */

/* --- Fontes (self-hosted) ------------------------------------------------ */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anton-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anton-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/barlow-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/barlow-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/barlow-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/barlow-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/barlow-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/barlow-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-condensed-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-condensed-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/barlow-condensed-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/barlow-condensed-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* --- Tokens -------------------------------------------------------------- */
:root{
  --jm-blue:#001781; --jm-blue-deep:#000f57;
  --jm-ink:#000a30;                 /* azul-tinta da direção HQ */
  --jm-yellow:#fbf53a; --jm-yellow-deep:#e6df1c;
  --jm-red:#fc0100; --jm-red-deep:#c90100; --jm-red-pt:#e4142c;
  --jm-cream:#fffded; --jm-white:#fff;

  --neutral-100:#e8eaf4; --neutral-200:#ccd1e5; --neutral-400:#8b93b7;
  --neutral-600:#4a5182; --neutral-800:#1c2350; --neutral-900:#0b0f2e;

  --font-display:'Anton','Arial Narrow',Impact,sans-serif;
  --font-condensed:'Barlow Condensed','Arial Narrow',sans-serif;
  --font-body:'Barlow','Helvetica Neue',Arial,sans-serif;

  --leading-display:0.86;
  --leading-display-multi:1.02;     /* títulos de 3+ linhas: Ã/Õ colidem em 0.86 */
  --leading-body:1.45;
  --tracking-label:0.14em;
  --display-slant:-6deg;

  --gutter:clamp(20px,5vw,40px);
  --max:1040px;
  --borda:4px;                      /* contorno de painel de HQ */

  --dur-fast:120ms; --dur-base:180ms;
  --ease-out:cubic-bezier(.2,.8,.3,1);
  --press-scale:.97;
}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms}}

/* Trama de meio-tom. Um único gradiente radial repetido — sem imagem. */
.halftone{
  background-image:radial-gradient(rgba(0,10,48,.55) 2.2px, transparent 2.3px);
  background-size:16px 16px;
}
.halftone--fino{
  background-image:radial-gradient(var(--jm-blue) 1.6px, transparent 1.7px);
  background-size:10px 10px;
}
.halftone--escuro{
  background-image:radial-gradient(rgba(0,10,48,.16) 2.2px, transparent 2.3px);
  background-size:14px 14px;
}

/* --- Base ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--jm-ink);color:var(--jm-cream);
  font-family:var(--font-body);font-size:17px;line-height:var(--leading-body);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--jm-yellow);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--jm-yellow);color:var(--jm-ink);padding:12px 24px;font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase}
.skip-link:focus{left:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.display{font-family:var(--font-display);text-transform:uppercase;margin:0;line-height:var(--leading-display-multi)}
.slant{transform:skewX(var(--display-slant));transform-origin:left bottom}
.label{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase}

/* --- Botões -------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-condensed);font-weight:700;font-size:16px;
  letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;
  padding:14px 26px;min-height:52px;cursor:pointer;
  border:var(--borda) solid var(--jm-ink);border-radius:0;
  background:var(--jm-yellow);color:var(--jm-ink);
  box-shadow:6px 6px 0 var(--jm-red);
  transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.btn:hover{background:var(--jm-yellow-deep)}
.btn:active{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--jm-red)}
.btn--ghost{background:transparent;border-color:var(--jm-yellow);color:var(--jm-yellow);box-shadow:none}
.btn--ghost:hover{background:var(--jm-yellow);color:var(--jm-ink)}
.btn--full{width:100%}

/* --- Cabeçalho ----------------------------------------------------------- */
.topo{position:sticky;top:0;z-index:40;background:var(--jm-ink);border-bottom:var(--borda) solid var(--jm-yellow)}
.topo__inner{max-width:var(--max);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.topo__logo img{height:38px;width:auto}
.topo__nav{display:none;align-items:center;gap:26px}
.topo__nav a{font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--jm-cream);text-decoration:none;padding-bottom:3px;border-bottom:3px solid transparent}
.topo__nav a:hover{color:var(--jm-yellow);border-bottom-color:var(--jm-yellow)}
.topo__numero{display:inline-flex;align-items:center;flex:0 0 auto;background:var(--jm-red);padding:8px 16px;border-radius:6px}
.topo__numero img{height:20px;width:auto}
@media (min-width:860px){
  .topo__inner{padding:22px var(--gutter)}
  .topo__logo img{height:54px}
  .topo__nav{display:flex}
  .topo__numero img{height:22px;width:auto}
}

/* --- Hero ---------------------------------------------------------------- */
.hero{background:var(--jm-ink);position:relative;overflow:hidden}
.hero__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr;gap:0}
.hero__texto{padding:44px var(--gutter) 32px;display:flex;flex-direction:column;gap:18px;align-self:center}
.hero__l1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(38px,9vw,64px);line-height:.9;color:var(--jm-yellow)}
.hero__l2,.hero__l3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(50px,13vw,88px);line-height:var(--leading-display);color:var(--jm-cream)}
.hero__l3-linha{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-top:-10px}
.hero__texto p{margin:6px 0 0;font-size:clamp(17px,2.2vw,20px);line-height:var(--leading-body);color:var(--jm-cream);max-width:42ch;text-wrap:pretty}
.hero__acoes{display:flex;gap:14px;flex-wrap:wrap;padding-top:6px}
.hero__foto{position:relative;min-height:380px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.hero__foto img{width:104%;max-width:none;height:auto;position:relative;z-index:1}
/* Elipse amarela que a figura pisa, e o número por cima dela */
.hero__elipse{position:absolute;left:-10%;right:-10%;bottom:-70px;height:140px;background:var(--jm-yellow);border-radius:50%;z-index:2}
.hero__numero{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;z-index:3}
.hero__numero img{width:auto;height:clamp(42px,9vw,66px)}
@media (min-width:860px){
  .hero__grid{grid-template-columns:1.02fr .98fr;min-height:600px}
  .hero__texto{padding:64px 32px 72px var(--gutter);gap:26px}
  .hero__foto{min-height:600px}
  .hero__elipse{height:170px;bottom:-80px}
  .hero__numero{bottom:14px}
}

/* --- Faixa do compromisso ------------------------------------------------ */
.emendas{background:var(--jm-red);border-top:var(--borda) solid var(--jm-yellow)}
.emendas__inner{max-width:var(--max);margin:0 auto;padding:36px var(--gutter);display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
.emendas__selo{background:var(--jm-yellow);border-radius:50%;padding:22px 34px;justify-self:start}
.emendas__selo span{font-family:var(--font-display);font-size:clamp(38px,9vw,76px);line-height:1;color:var(--jm-red);display:inline-block;transform:skewX(var(--display-slant))}
.emendas h2{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:18px;color:var(--jm-yellow);margin:0 0 10px}
.emendas p{margin:0;font-size:clamp(17px,2vw,19px);line-height:var(--leading-body);color:var(--jm-cream);max-width:56ch;text-wrap:pretty}
@media (min-width:860px){
  .emendas__inner{grid-template-columns:auto 1fr;gap:36px;padding:44px var(--gutter)}
}

/* --- Painéis (como funciona) --------------------------------------------- */
.paineis{background:var(--jm-cream);color:var(--jm-ink)}
.paineis__inner{max-width:var(--max);margin:0 auto;padding:44px var(--gutter);display:flex;flex-direction:column;gap:26px}
.paineis h2{font-family:var(--font-display);font-size:clamp(32px,6vw,50px);line-height:.9;text-transform:uppercase;color:var(--jm-ink);margin:0;transform:skewX(var(--display-slant))}
.paineis__grid{display:grid;grid-template-columns:1fr;gap:18px}
.painel{border:var(--borda) solid var(--jm-ink);background:var(--jm-cream);padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:8px 8px 0 var(--jm-red)}
.painel span{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-red)}
.painel p{margin:0;font-size:17px;line-height:1.4;color:var(--jm-ink)}
@media (min-width:760px){.paineis__grid{grid-template-columns:repeat(3,1fr)}.paineis__inner{padding:52px var(--gutter)}}

/* --- Cadastro ------------------------------------------------------------ */
.cadastro{background:var(--jm-yellow);color:var(--jm-ink)}
.cadastro__inner{max-width:var(--max);margin:0 auto;padding:44px var(--gutter);display:grid;grid-template-columns:1fr;gap:28px}
.cadastro__intro{display:flex;flex-direction:column;gap:18px;align-self:center}
.cadastro__intro h2{font-family:var(--font-display);font-size:clamp(34px,7vw,58px);line-height:.92;text-transform:uppercase;color:var(--jm-ink);margin:0;transform:skewX(var(--display-slant))}
.cadastro__intro p{margin:0;font-size:18px;line-height:var(--leading-body);color:var(--jm-ink);max-width:34ch}
.cadastro__intro img{height:52px;width:auto;align-self:flex-start}
.cadastro__caixa{background:var(--jm-cream);border:var(--borda) solid var(--jm-ink);box-shadow:10px 10px 0 var(--jm-red);padding:24px}
@media (min-width:860px){
  .cadastro__inner{grid-template-columns:.85fr 1.15fr;gap:44px;padding:52px var(--gutter)}
  .cadastro__caixa{padding:30px}
}

.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.campo label{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:14px;color:var(--jm-ink)}
.campo .dica{font-size:14px;color:var(--neutral-600)}
.campo input,.campo select{
  width:100%;font-family:var(--font-body);font-size:17px;color:var(--jm-ink);
  background:var(--jm-white);border:3px solid var(--jm-ink);border-radius:0;
  padding:12px 14px;min-height:48px;
}
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"]{border-color:var(--jm-red)}
.campo .erro{font-size:14px;font-weight:600;color:var(--jm-red);min-height:0}
.campo .erro:empty{display:none}
.cadastro__acoes{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:2px}
.cadastro__aviso{font-size:14px;color:var(--neutral-600);max-width:26ch}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.cadastro__ok{display:none;flex-direction:column;gap:12px;padding:20px 0}
.cadastro__ok span{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:14px;color:var(--jm-red)}
.cadastro__ok p{margin:0;font-size:20px;line-height:1.4;color:var(--jm-ink)}
.cadastro[data-enviado="true"] .cadastro__ok{display:flex}
.cadastro[data-enviado="true"] .cadastro__form{display:none}

/* --- Rodapé -------------------------------------------------------------- */
.rodape{background:var(--jm-ink);border-top:var(--borda) solid var(--jm-yellow)}
.rodape__inner{max-width:var(--max);margin:0 auto;padding:26px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rodape__numero{height:38px;width:auto}
.rodape__redes{display:flex;gap:12px}
.rodape__redes a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--jm-yellow);color:var(--jm-ink)}
.rodape__redes a:hover{background:var(--jm-yellow-deep)}
.rodape__redes svg{width:22px;height:22px}
.rodape__legal{margin:0;font-size:13px;line-height:1.5;color:var(--jm-cream);max-width:70ch;opacity:.8}

/* --- Sobre / trajetória --------------------------------------------------- */
.sobre{background:var(--jm-ink);color:var(--jm-cream);border-top:var(--borda) solid var(--jm-yellow)}
.sobre__inner{max-width:var(--max);margin:0 auto;padding:44px var(--gutter);display:grid;grid-template-columns:1fr;gap:24px}
.sobre__eyebrow{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-yellow)}
.sobre h2{font-family:var(--font-display);font-size:clamp(30px,5.5vw,50px);line-height:.94;text-transform:uppercase;color:var(--jm-cream);margin:8px 0 0;transform:skewX(var(--display-slant));transform-origin:left bottom}
.sobre__texto{display:flex;flex-direction:column;gap:16px}
.sobre__texto p{margin:0;font-size:clamp(16px,2vw,18px);line-height:1.55;color:var(--jm-cream);max-width:62ch;text-wrap:pretty}
.sobre__link{align-self:flex-start;margin-top:6px;font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--jm-yellow);text-decoration:none;box-shadow:inset 0 -3px 0 var(--jm-red)}
.sobre__link:hover{color:var(--jm-cream);box-shadow:inset 0 -3px 0 var(--jm-yellow)}
@media (min-width:860px){.sobre__inner{grid-template-columns:.8fr 1.2fr;gap:44px;padding:56px var(--gutter)}}

/* --- Valores -------------------------------------------------------------- */
.valores{background:var(--jm-cream);color:var(--jm-ink)}
.valores__inner{max-width:var(--max);margin:0 auto;padding:44px var(--gutter);display:flex;flex-direction:column;gap:26px}
.valores h2{font-family:var(--font-display);font-size:clamp(30px,6vw,50px);line-height:.9;text-transform:uppercase;color:var(--jm-ink);margin:0;transform:skewX(var(--display-slant))}
.valores__grid{display:grid;grid-template-columns:1fr;gap:18px}
.valor{border-left:8px solid var(--jm-red);padding:4px 0 4px 18px}
.valor h3{font-family:var(--font-condensed);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:17px;color:var(--jm-ink);margin:0 0 6px}
.valor p{margin:0;font-size:16px;line-height:1.5;color:var(--neutral-800)}
@media (min-width:700px){.valores__grid{grid-template-columns:repeat(2,1fr);gap:24px 36px}}
@media (min-width:1000px){.valores__grid{grid-template-columns:repeat(3,1fr)}.valores__inner{padding:52px var(--gutter)}}

/* --- Apoie via PIX -------------------------------------------------------- */
.apoie{background:var(--jm-ink);color:var(--jm-cream);border-top:var(--borda) solid var(--jm-yellow)}
.apoie__inner{max-width:var(--max);margin:0 auto;padding:44px var(--gutter);display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.apoie__eyebrow{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-yellow)}
.apoie h2{font-family:var(--font-display);font-size:clamp(30px,5.5vw,50px);line-height:.94;text-transform:uppercase;color:var(--jm-cream);margin:8px 0 12px;transform:skewX(var(--display-slant));transform-origin:left bottom}
.apoie__texto p{margin:0;font-size:18px;line-height:var(--leading-body);color:var(--jm-cream);max-width:44ch}
.apoie__selos{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.apoie__selos li{font-family:var(--font-condensed);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--jm-yellow);display:flex;align-items:center;gap:10px}
.apoie__selos li::before{content:"";width:10px;height:10px;background:var(--jm-red);flex:none}
.apoie__caixa{background:var(--jm-cream);border:var(--borda) solid var(--jm-yellow);box-shadow:10px 10px 0 var(--jm-red);padding:24px;display:flex;flex-direction:column;gap:16px}
.apoie__label{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-ink)}
.apoie__valores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.apoie__valor{
  display:flex;align-items:center;justify-content:center;min-height:52px;
  border:3px solid var(--jm-ink);background:var(--jm-white);color:var(--jm-ink);
  font-family:var(--font-condensed);font-weight:700;font-size:17px;letter-spacing:.06em;
  text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);
}
.apoie__valor:hover{background:var(--jm-ink);color:var(--jm-yellow)}
.apoie__valor--outro{font-size:15px}
.apoie__nota{margin:0;font-size:13px;line-height:1.5;color:var(--neutral-600)}
@media (min-width:860px){.apoie__inner{grid-template-columns:1.05fr .95fr;gap:44px;padding:56px var(--gutter)}.apoie__caixa{padding:30px}}

/* --- Campos novos: data de nascimento e gênero --------------------------- */
.campo fieldset,.campo[class*="campo"] legend{border:none;margin:0;padding:0}
.campo legend{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:14px;color:var(--jm-ink);padding:0;margin-bottom:6px}
fieldset.campo{border:none;margin:0 0 18px;padding:0}
.opcoes{display:flex;gap:10px;flex-wrap:wrap}
.opcao{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  border:3px solid var(--jm-ink);background:var(--jm-white);color:var(--jm-ink);
  padding:10px 14px;min-height:48px;
  font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);
}
.opcao input{width:20px;height:20px;accent-color:var(--jm-red);cursor:pointer;margin:0}
.opcao:has(input:checked){background:var(--jm-ink);color:var(--jm-yellow)}
.opcao:hover{background:var(--neutral-100)}
.opcao:has(input:checked):hover{background:var(--jm-ink)}
/* navegadores sem :has — o radio ainda mostra a seleção */
.campo input[type="date"]{font-family:var(--font-body);min-height:48px}

/* ==========================================================================
   Página de espera (até 16/08 00h)
   O número na urna não aparece: no lugar vai uma tarja.
   ========================================================================== */
.teaser-body{background:var(--jm-blue);min-height:100vh;display:flex;flex-direction:column}
.teaser{flex:1;display:flex;flex-direction:column;background:var(--jm-blue)}
.teaser__grid{flex:1;max-width:var(--max);width:100%;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}
.teaser__texto{padding:40px var(--gutter) 32px;display:flex;flex-direction:column;gap:28px;justify-content:center}
.teaser__logo{display:block;align-self:flex-start}
.teaser__logo img{height:auto;width:min(74vw,300px)}

.teaser__slogan{display:flex;flex-direction:column;gap:10px}
.teaser__l1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(30px,7.5vw,52px);line-height:.9;color:var(--jm-yellow)}
.teaser__l2,.teaser__l3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(40px,11vw,74px);line-height:var(--leading-display);color:var(--jm-cream)}
/* a estrela fica à DIREITA para não deslocar o eixo esquerdo das linhas */
.teaser__l3-linha{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-top:-8px}
/* Megafone (ELEMENTOS da marca, "Ativo 28") à direita da última linha: não
   desloca o eixo esquerdo do texto. O skew do .slant é anulado — é artwork. */
.hero__elemento,.teaser__elemento{
  height:clamp(52px,9vw,84px);width:auto;flex:none;
  transform:skewX(calc(var(--display-slant) * -1));transform-origin:center;
}

/* --- Tarja do número ----------------------------------------------------- */
.tarja{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.tarja__caixa{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--jm-red);border:var(--borda) solid var(--jm-yellow);
  padding:14px 22px;box-shadow:8px 8px 0 var(--jm-ink);
}
.tarja__cadeado{display:inline-flex;color:var(--jm-yellow)}
.tarja__cadeado svg{width:30px;height:30px}
.tarja__texto{
  font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);
  text-transform:uppercase;font-size:clamp(15px,3.2vw,19px);line-height:1.12;color:var(--jm-cream);
}
.tarja__aviso{margin:0;font-size:14px;line-height:1.5;color:var(--jm-cream);opacity:.85;max-width:52ch}
.tarja__aviso strong{color:var(--jm-yellow);opacity:1}

/* --- Contador ------------------------------------------------------------ */
.contador{display:flex;flex-direction:column;gap:10px}
.contador__rotulo{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-yellow)}
.contador__blocos{display:flex;gap:10px;flex-wrap:wrap}
.contador__bloco{
  min-width:74px;background:var(--jm-cream);border:3px solid var(--jm-yellow);
  padding:10px 12px;display:flex;flex-direction:column;align-items:center;gap:2px;
}
.contador__num{font-family:var(--font-display);font-size:clamp(28px,6vw,40px);line-height:1;color:var(--jm-ink);font-variant-numeric:tabular-nums}
.contador__cap{font-family:var(--font-condensed);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:var(--neutral-600)}
.contador__quando,.contador__pronto{margin:2px 0 0;font-size:15px;color:var(--jm-cream);opacity:.85}
.contador__pronto{color:var(--jm-yellow);opacity:1;font-weight:600}

/* --- Foto + nome --------------------------------------------------------- */
.teaser__foto{position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;min-height:360px}
.teaser__foto img{width:96%;max-width:none;height:auto;position:relative;z-index:1}
.teaser__elipse{position:absolute;left:-10%;right:-10%;bottom:-70px;height:150px;background:var(--jm-yellow);border-radius:50%;z-index:2}
.teaser__nome{position:absolute;left:0;right:0;bottom:8px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 12px;text-align:center}
.teaser__nome-linha{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(22px,5.4vw,34px);line-height:1;color:var(--jm-ink)}
.teaser__cargo{font-family:var(--font-condensed);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(10px,2.3vw,13px);color:var(--jm-ink)}

@media (min-width:860px){
  .teaser__grid{grid-template-columns:1.06fr .94fr;min-height:calc(100vh - 96px);align-items:end}
  .teaser__texto{padding:48px 28px 48px var(--gutter);gap:26px}
  .teaser__foto{min-height:520px;align-self:stretch}
  .teaser__elipse{height:180px;bottom:-80px}
  .teaser__nome{bottom:14px}
}

/* --- Rodapé do teaser ---------------------------------------------------- */
.teaser__rodape{border-top:var(--borda) solid var(--jm-yellow);background:var(--jm-blue)}
.teaser__rodape-inner{max-width:var(--max);margin:0 auto;padding:18px var(--gutter);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.teaser__pt{height:38px;width:auto}
.teaser__legal{margin:0;font-size:12px;line-height:1.5;color:var(--jm-cream);opacity:.75;max-width:70ch;flex:1 1 260px}

/* ==========================================================================
   Página de espera — composição no padrão do material impresso da campanha:
   retrato recortado sangrando sobre o campo azul, arco amarelo cortando a
   base, punho como elemento e o número numa placa vermelha de borda branca.
   ========================================================================== */

/* --- Placa do número (censurado) ----------------------------------------- */
.censura{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.censura__placa{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  background:var(--jm-red);border:5px solid var(--jm-white);
  border-radius:10px;padding:8px 34px;min-width:236px;overflow:hidden;
  box-shadow:0 0 0 4px var(--jm-ink);
}
.censura__borrao{
  font-family:var(--font-display);font-size:clamp(46px,10vw,72px);line-height:1.1;
  color:var(--jm-white);letter-spacing:.1em;
  filter:blur(13px);transform:skewX(var(--display-slant));
  user-select:none;-webkit-user-select:none;pointer-events:none;
}
.censura__selo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);
  font-family:var(--font-condensed);font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  font-size:clamp(14px,3vw,19px);color:var(--jm-white);
  border:3px solid var(--jm-white);padding:4px 12px;white-space:nowrap;
}
@media (max-width:520px){.censura__borrao{filter:blur(9px)}}

/* --- Contagem ------------------------------------------------------------ */
.censura__contagem{display:flex;flex-direction:column;gap:8px}
.censura__rotulo{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-yellow)}
.censura__blocos{display:flex;align-items:flex-start;gap:8px}
.censura__bloco{display:flex;flex-direction:column;align-items:center;min-width:56px;background:var(--jm-white);border-radius:6px;padding:6px 4px 4px}
.censura__num{font-family:var(--font-display);font-size:clamp(26px,6vw,40px);line-height:1;color:var(--jm-ink);font-variant-numeric:tabular-nums}
.censura__cap{font-family:var(--font-condensed);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px;color:var(--jm-red)}
.censura__sep{display:none}
.censura__quando,.censura__pronto{margin:2px 0 0;font-size:14px;color:var(--jm-cream);opacity:.85}
.censura__pronto{color:var(--jm-yellow);opacity:1;font-weight:600}

/* --- Figura sangrando (layout de referência do Canva) -------------------- */
.teaser__figura{
  position:relative;align-self:stretch;min-height:380px;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
}
.teaser__figura img{
  width:auto;height:auto;max-width:92%;
  /* cabe na tela sem rolar: desconta topo/rodapé */
  max-height:min(100%, calc(100vh - 150px));
  object-fit:contain;object-position:bottom;display:block;
}
@media (min-width:900px){
  .teaser__figura{min-height:0;justify-content:center;align-items:flex-end}
  .teaser__figura img{max-width:100%;max-height:calc(100vh - 120px)}
}

/* --- Destaque: foto sobre campo creme (usado na página de obrigado) ------- */
/* A foto de estúdio tem fundo branco; sobre o campo creme da marca ela se
   integra sem recorte — dois blocos de cor chapada lado a lado, que é a
   regra de composição da identidade. */
.teaser__destaque{
  position:relative;align-self:stretch;min-height:360px;
  background:var(--jm-cream);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
}
.teaser__destaque img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;display:block}

/* miniatura da contagem, colada ao contador */
.censura__linha{display:flex;align-items:center;gap:14px}
.censura__mini{
  width:auto;height:clamp(88px,17vw,128px);flex:none;
  border:3px solid var(--jm-yellow);border-radius:8px;background:var(--jm-cream);
  object-fit:cover;object-position:50% 12%;aspect-ratio:3/4;
}

/* --- Página de confirmação do cadastro ----------------------------------- */
.obrigado{flex:1;display:flex;flex-direction:column;background:var(--jm-ink)}
.obrigado__grid{flex:1;max-width:var(--max);width:100%;margin:0 auto;display:grid;grid-template-columns:1fr;align-items:stretch}
.obrigado__texto{padding:40px var(--gutter) 36px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.obrigado__eyebrow{font-family:var(--font-condensed);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:13px;color:var(--jm-yellow)}
.obrigado__titulo{font-family:var(--font-display);font-size:clamp(38px,8vw,68px);line-height:.92;text-transform:uppercase;color:var(--jm-cream);margin:0;transform:skewX(var(--display-slant));transform-origin:left bottom}
.obrigado__texto-corpo{margin:0;font-size:clamp(16px,2.2vw,19px);line-height:var(--leading-body);color:var(--jm-cream);max-width:44ch;text-wrap:pretty}
.btn--zap{background:#25d366;border-color:var(--jm-ink);color:var(--jm-ink);align-self:flex-start;box-shadow:6px 6px 0 var(--jm-yellow)}
.btn--zap:hover{background:#1fb457}
.btn--zap svg{width:22px;height:22px}
.obrigado__nota{margin:0;font-size:14px;line-height:1.5;color:var(--jm-cream);opacity:.85;max-width:44ch}
.obrigado__nota a{color:var(--jm-yellow)}
.obrigado__voltar{align-self:flex-start;margin-top:4px;font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--jm-yellow);text-decoration:none;box-shadow:inset 0 -3px 0 var(--jm-red)}
.obrigado__voltar:hover{color:var(--jm-cream)}
.obrigado__foto{min-height:340px;align-items:center}
/* ela aparece sentada: 'contain' mostra a figura inteira sobre o creme */
.obrigado__foto img{object-fit:contain;object-position:50% 50%;height:auto;max-height:100%}
@media (min-width:900px){
  .obrigado__grid{grid-template-columns:1.05fr .95fr}
  .obrigado__foto{min-height:560px}
}

/* --- Termo de consentimento (LGPD) antes de abrir o grupo ----------------- */
/* Discreto: não ocupa a página, só aparece ao clicar em entrar no grupo. */
.termo{
  border:none;padding:0;background:transparent;
  max-width:min(94vw,560px);width:100%;color:var(--jm-ink);
}
.termo::backdrop{background:rgba(0,10,48,.72)}
.termo__caixa{
  background:var(--jm-cream);border:var(--borda) solid var(--jm-ink);
  box-shadow:10px 10px 0 var(--jm-red);
  padding:24px 22px 20px;display:flex;flex-direction:column;gap:12px;
  max-height:86vh;overflow-y:auto;
}
.termo__titulo{
  font-family:var(--font-display);font-size:clamp(22px,5vw,30px);line-height:1;
  text-transform:uppercase;color:var(--jm-ink);margin:0 0 2px;
}
.termo__p{margin:0;font-size:14px;line-height:1.55;color:var(--jm-ink)}
.termo__aceite{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--neutral-700, #3a4166);font-weight:600}
.termo__acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.termo__acoes .btn{flex:1 1 auto;justify-content:center;min-width:150px}
.btn--ghost-ink{background:transparent;border-color:var(--jm-ink);color:var(--jm-ink);box-shadow:none}
.btn--ghost-ink:hover{background:var(--jm-ink);color:var(--jm-cream)}
@media (max-width:420px){.termo__acoes .btn{flex:1 1 100%}}
