/* ============================================================
   Voto pro Senado — Tás sabendo não?  ·  Eleições 2026
   ============================================================ */

@font-face{font-family:"Druk";src:url("../fonts/druk-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"ARS Maquette Pro";src:url("../fonts/ars-maquette-light.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"ARS Maquette Pro";src:url("../fonts/ars-maquette-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"ARS Maquette Pro";src:url("../fonts/ars-maquette-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"ARS Maquette Pro";src:url("../fonts/ars-maquette-black.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Funnel Display";src:url("../fonts/funnel-display.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Transforma E6";src:url("../fonts/transforma-e6.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  --green:#054401;
  --yellow:#FCCA14;
  --blue:#3D17FA;
  --off:#F9F9F9;
  --mint:#D7FFBC;
  --wine:#591700; /* campo da metade direita do hero — cor da arte da flâmula (bandeira.png), fora da paleta do manual */
  --tick:#007FFE;
  --ink:#0B0F0A;
  --green-soft:color-mix(in oklab,var(--mint) 74%,var(--green));
  --blue-soft:color-mix(in oklab,var(--off) 84%,var(--blue));
  --mint-ink-soft:color-mix(in oklab,var(--green) 72%,var(--mint));

  --font-display:"Druk","Arial Narrow",Impact,sans-serif;
  --font-body:"ARS Maquette Pro","Helvetica Neue",Arial,sans-serif;
  --font-tag:"Funnel Display","ARS Maquette Pro",sans-serif;

  --fs-display:clamp(2.75rem,1.3rem + 5.6vw,6rem);
  --fs-h1:clamp(2.125rem,1.2rem + 3.3vw,4.375rem);
  --fs-lead:clamp(1.25rem,1.05rem + .9vw,1.75rem);
  --fs-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --fs-bubble:clamp(1.0625rem,1rem + .4vw,1.25rem);

  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(1.25rem,4vw,3.5rem);
  --bar:3.75rem;
  --section:clamp(4.5rem,9vw,8.5rem);
  --overlap:clamp(4.5rem,13vw,10.5rem);
  --wrap:1200px;
  --radius:16px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--yellow) var(--green);accent-color:var(--blue);background:var(--green)}
body{margin:0;font:400 var(--fs-body)/1.55 var(--font-body);color:var(--off);background:var(--green);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0}
::selection{background:var(--yellow);color:var(--green)}
.bg-off ::selection,.bg-mint ::selection{background:var(--blue);color:var(--off)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.bg-off :focus-visible,.bg-mint :focus-visible{outline-color:var(--blue)}
.bg-blue :focus-visible{outline-color:var(--off)}
.video--hero :focus-visible{outline-color:var(--green)}

[id]{scroll-margin-top:calc(var(--bar) + 1rem)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.75rem 1rem;background:var(--yellow);color:var(--green);font-weight:700;border-radius:999px;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}

.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.hero-grid>*,.hit-grid>*,.list-grid>*,.about-grid>*,.update-grid>*,.foot-grid>*,.msg,.msg .bubble{min-width:0}
.bg-green{background:var(--green);color:var(--off)}
.bg-blue{background:var(--blue);color:var(--off)}
.bg-off{background:var(--off);color:var(--ink)}
.bg-mint{background:var(--mint);color:var(--green)}

/* ---------- Type ---------- */
.display{font:500 var(--fs-display)/.92 var(--font-display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;margin:0 0 1.25rem}
.display--sm{font-size:clamp(2.25rem,1.4rem + 2.8vw,3.75rem)}
.lead-strong{font:700 var(--fs-lead)/1.18 var(--font-body);letter-spacing:-.012em;text-wrap:balance}
.lead{font:300 var(--fs-lead)/1.36 var(--font-body);letter-spacing:-.005em}

/* Tag "ELƐIÇÕES 202б ✳ 4 DE OUTUBRO" */
.tag,.foot-tag,.poster-label{font:400 .8125rem/1 var(--font-tag);letter-spacing:.09em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.65rem;margin:0}
.alt{font-family:"Transforma E6",var(--font-tag);font-weight:500;text-transform:none;font-size:1.08em;line-height:1;letter-spacing:0}
.ast{width:.95em;height:.95em;flex:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.95rem 1.5rem;border-radius:999px;border:0;font:700 1rem/1 var(--font-body);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .25s,color .25s}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn--primary{background:var(--yellow);color:var(--green);box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(0,0,0,.65)}
.btn--ghost{color:var(--off);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--off) 40%,transparent)}
.btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--off);transform:translateY(-2px)}
.btn--wa{background:var(--green);color:var(--off);margin-top:.9rem;box-shadow:0 12px 24px -14px rgba(0,0,0,.4);white-space:normal;text-align:center;line-height:1.2}
.btn--wa:hover{transform:translateY(-2px);background:color-mix(in oklab,var(--green) 88%,#000)}
.btn:active{transform:translateY(0) scale(.985)}

/* ---------- Top bar ---------- */
.top{position:sticky;top:0;z-index:50;background:var(--green);color:var(--yellow);transition:box-shadow .3s}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--bar)}
.top.is-stuck{box-shadow:0 1px 0 color-mix(in srgb,var(--yellow) 22%,transparent),0 10px 30px -20px rgba(0,0,0,.6)}
.top-brand{display:grid;align-items:center;flex:none}
.top-brand>a{grid-area:1/1;transition:opacity .25s ease,transform .45s var(--ease),visibility 0s linear .45s}
.tag{color:inherit;text-decoration:none;white-space:nowrap}
.top:not(.has-compact-logo) .tag{transition-delay:0s}
.top-lockup{display:block;width:clamp(10.5rem,18vw,13.5rem);color:var(--off);text-decoration:none;opacity:0;visibility:hidden;transform:translateY(10px)}
.top-lockup img{width:100%;height:auto}
.top.has-compact-logo .tag{opacity:0;visibility:hidden;transform:translateY(-10px)}
.top.has-compact-logo .top-lockup{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.top nav{display:flex;gap:clamp(1rem,2.5vw,1.9rem)}
.top nav a{font:700 .9375rem/1 var(--font-body);color:var(--off);text-decoration:none;padding:.6rem 0;transition:color .2s}
.top nav a:hover{color:var(--yellow)}
.top--overlay{position:fixed;inset:0 0 auto 0;transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .5s var(--ease),opacity .3s,visibility 0s linear .5s}
.top--overlay.has-compact-logo{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.top--overlay .tag{display:none}
.top--overlay .top-lockup{opacity:1;visibility:visible;transform:none}

/* ---------- Hero ---------- */
/* Duas paredes: verde à esquerda, vinho à direita, até onde a listinha começa (parada dura, não é degradê) */
.hero{padding-top:0;background:linear-gradient(90deg,var(--green) 50%,var(--wine) 50%)}
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:min(100svh,60rem)}
.hero-copy{padding:clamp(3rem,5.5vw,4.5rem) clamp(1.5rem,3vw,3rem) clamp(3.5rem,6vw,5rem) max(var(--gutter),calc((100vw - var(--wrap)) / 2))}
.hero-tag{color:var(--yellow);font-size:1.1875rem;margin:0 0 1.1rem}
.lockup{width:min(100%,clamp(240px,27.5vw,400px));height:auto;display:block;margin:0 0 clamp(2.25rem,4.5vw,3.25rem)}
.hero h1{font:700 var(--fs-h1)/1 var(--font-body);letter-spacing:-.018em;color:var(--yellow);margin:0 0 1.5rem;max-width:15ch;text-wrap:balance}
.hero-sub{font:300 clamp(1.5rem,1rem + 2vw,2.75rem)/1.1 var(--font-body);letter-spacing:-.008em;color:var(--off);max-width:24ch;margin:0 0 2.5rem}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem}
.hero .btn{font-size:1.25rem;min-height:3.75rem;padding:1.1rem 2.2rem}
.hero-art{position:relative;background:var(--wine);min-height:1px;overflow:hidden}
.pennant{position:absolute;top:0;left:0;width:min(98%,calc(min(100svh,60rem) * 600 / 628));max-height:100%;height:auto}

.hero-video{position:relative;z-index:2;margin-top:clamp(2.5rem,6vw,4.5rem);margin-bottom:calc(-1*var(--overlap))}

/* ---------- Video facade ---------- */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--green);color:var(--off);box-shadow:0 30px 60px -28px rgba(0,0,0,.55);isolation:isolate}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video.is-playing{aspect-ratio:16/9}
.poster{position:absolute;inset:0;display:grid;place-items:center}
.poster-shape{position:absolute;left:5%;bottom:-9%;width:clamp(120px,27%,300px);height:auto}
.poster-shape--blue{color:var(--blue)}
.poster-shape--yellow{color:var(--yellow)}
.poster-shape path{fill:currentColor;transition:transform .9s var(--ease),opacity .6s ease}
.js .video:not(.is-in) .poster-shape path,.js .audio:not(.is-in) .poster-shape path{transform:translateY(26px);opacity:0}
.js .video.is-in .poster-shape path:nth-of-type(1),.js .audio.is-in .poster-shape path:nth-of-type(1){transition-delay:.25s}
.js .video.is-in .poster-shape path:nth-of-type(2),.js .audio.is-in .poster-shape path:nth-of-type(2){transition-delay:.15s}
.js .video.is-in .poster-shape path:nth-of-type(3),.js .audio.is-in .poster-shape path:nth-of-type(3){transition-delay:.05s}
.play{position:relative;z-index:1;width:clamp(4.5rem,9vw,6.5rem);aspect-ratio:1;border-radius:50%;background:var(--yellow);color:var(--green);border:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 20px 44px -18px rgba(0,0,0,.7);transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .3s}
.play svg{width:40%;height:40%;fill:currentColor;transform:translateX(6%)}
.play:hover{transform:scale(1.07);box-shadow:0 26px 50px -18px rgba(0,0,0,.75)}
.poster-label{position:absolute;right:1.4rem;bottom:1.25rem;color:var(--yellow);gap:.8rem}
.soon{display:none;padding:.5rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--off) 13%,transparent);color:var(--off);font:700 .75rem/1 var(--font-body);letter-spacing:.05em;text-transform:uppercase}
.video.is-pending .soon{display:inline-block}
.video.is-pending .play{cursor:default;background:transparent;color:var(--yellow);box-shadow:inset 0 0 0 3px var(--yellow)}
.video.is-pending .play:hover{transform:none}
.video--hero{background:var(--yellow);color:var(--green)}
.video--hero .poster-shape{left:5%;bottom:-16%;width:clamp(170px,36%,440px)}
.video--hero .play{background:var(--green);color:var(--yellow);box-shadow:0 20px 44px -18px rgba(5,68,1,.55)}
.video--hero .play:hover{box-shadow:0 26px 50px -18px rgba(5,68,1,.6)}
.video--hero .poster-label{color:var(--green)}
.video--hero .soon{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}
.video--hero.is-pending .play{background:transparent;color:var(--green);box-shadow:inset 0 0 0 3px var(--green)}
/* Capa real do vídeo: a foto assume o cartaz, as formas saem, o play volta ao disco amarelo */
.poster-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.video.has-cover:hover .poster-img{transform:scale(1.03)}
.video.has-cover .poster-shape{display:none}
.video.has-cover .play{background:var(--yellow);color:var(--green);box-shadow:0 20px 44px -18px rgba(0,0,0,.7)}
.video.has-cover .play:hover{box-shadow:0 26px 50px -18px rgba(0,0,0,.75)}
.video.has-cover .poster-label{color:var(--yellow);padding:.55rem .85rem;border-radius:999px;background:color-mix(in srgb,var(--green) 72%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* ---------- O hit ---------- */
.hit{position:relative;padding:calc(var(--overlap) + var(--section)) 0 var(--section)}
.hit-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.hit .display{color:var(--yellow)}
.hit .lead-strong{color:var(--off);max-width:22ch;margin:0 0 1.25rem}
.hit .body{color:var(--blue-soft);max-width:48ch;font-weight:400}
.audio{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--green);color:var(--off);box-shadow:0 44px 90px -34px rgba(0,0,0,.55);display:grid;place-items:center;isolation:isolate}
.audio .poster-shape{position:absolute;left:auto;right:-4%;bottom:15%;width:clamp(130px,34%,190px);height:auto;z-index:0}
.audio .play{position:absolute;top:1.4rem;left:1.4rem;z-index:2}
.audio .play .ico-pause{display:none}
.audio.is-playing .play .ico-pause{display:block}
.audio.is-playing .play .ico-pause use{fill:currentColor}
.audio.is-playing .play > svg:first-of-type{display:none}
/* Equalizador: barras reagem ao áudio (Web Audio); sem análise, animam em loop */
.viz{position:absolute;left:1.4rem;width:62%;bottom:6.25rem;z-index:1;display:flex;align-items:flex-end;gap:clamp(2px,1.5%,5px);height:30%;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.audio.is-playing .viz{opacity:1}
.viz i{display:block;flex:1 1 0;min-width:0;max-width:9px;height:100%;border-radius:999px;background:var(--yellow);transform:scaleY(var(--v,.06));transform-origin:50% 100%;will-change:transform;transition:transform .09s linear}
.viz--idle i{transition:none;animation:viz-bounce 1.1s var(--ease) infinite alternate;animation-delay:calc(var(--i) * -.085s)}
@keyframes viz-bounce{from{transform:scaleY(.1)}to{transform:scaleY(.85)}}
.audio-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:.55rem;padding:2.5rem 1.4rem 1.25rem;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--green) 92%,transparent) 42%,var(--green))}
.audio .poster-label{position:static;color:var(--yellow)}
.audio-scrub{display:flex;align-items:center;gap:.8rem}
.audio-range{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:1.25rem;background:transparent;cursor:pointer}
.audio-range::-webkit-slider-runnable-track{height:.3rem;border-radius:999px;background:linear-gradient(90deg,var(--yellow) var(--p,0%),color-mix(in srgb,var(--off) 28%,transparent) var(--p,0%))}
.audio-range::-moz-range-track{height:.3rem;border-radius:999px;background:color-mix(in srgb,var(--off) 28%,transparent)}
.audio-range::-moz-range-progress{height:.3rem;border-radius:999px;background:var(--yellow)}
.audio-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.85rem;height:.85rem;margin-top:-.275rem;border-radius:50%;background:var(--yellow);border:0}
.audio-range::-moz-range-thumb{width:.85rem;height:.85rem;border-radius:50%;background:var(--yellow);border:0}
.audio-range:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.audio-time{margin:0;font:400 .75rem/1 var(--font-tag);letter-spacing:.06em;color:color-mix(in srgb,var(--off) 72%,transparent);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- A listinha ---------- */
.list{position:relative;overflow:hidden;padding:var(--section) 0}
.pattern{position:absolute;inset:0;pointer-events:none;overflow:hidden;font:400 clamp(3rem,7vw,6.5rem)/1.06 var(--font-tag);text-transform:uppercase;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--yellow) 22%,transparent);white-space:nowrap;user-select:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.pattern > span{display:block;margin-left:-6vw}
.pattern > span:nth-child(even){margin-left:-18vw}
.list-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.list-head{position:sticky;top:calc(var(--bar) + 2rem)}
.list .display{color:var(--yellow)}
.list-sub{color:var(--green-soft);max-width:26ch;font-size:var(--fs-lead);font-weight:400;line-height:1.3}
.chat{list-style:none;margin:0;padding:.5rem 0 0;display:flex;flex-direction:column;gap:1.4rem;max-width:660px;justify-self:end;width:100%}
.msg{position:relative;display:flex;gap:.8rem;align-items:flex-start}
.msg--out{flex-direction:row-reverse}
.avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 8px 18px -10px rgba(0,0,0,.6)}
.msg .bubble{max-width:min(100%,31rem)}
.msg--out .bubble{margin-left:auto}
.typing{position:absolute;top:0;left:calc(54px + .8rem + 10px);display:inline-flex;gap:5px;align-items:center;height:2.6rem;padding:0 .9rem;border-radius:var(--radius);border-top-left-radius:4px;background:var(--off);visibility:hidden;opacity:0;transition:opacity .2s}
.msg--out .typing{left:auto;right:calc(54px + .8rem + 10px);border-top-left-radius:var(--radius);border-top-right-radius:4px;background:var(--mint)}
.typing i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--ink) 45%,transparent);animation:blink 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
.msg.is-typing .typing{visibility:visible;opacity:1}
@keyframes blink{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}

/* ---------- Bubble ---------- */
.bubble{position:relative;width:fit-content;background:var(--off);color:var(--ink);border-radius:var(--radius);padding:.95rem 1.15rem .7rem;font:400 var(--fs-bubble)/1.36 var(--font-body);letter-spacing:-.005em;box-shadow:0 10px 24px -12px rgba(0,0,0,.55)}
.bubble p{margin:0}
.bubble strong{font-weight:700}
.bubble::before{content:"";position:absolute;top:0;width:12px;height:17px;background:inherit}
.bubble--in{border-top-left-radius:4px}
.bubble--in::before{left:-11px;clip-path:polygon(0 0,100% 0,100% 100%)}
.bubble--out{background:var(--mint);border-top-right-radius:4px}
.bubble--out::before{right:-11px;clip-path:polygon(0 0,100% 0,0 100%)}
.bubble .meta{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.3rem;font:400 .75rem/1 var(--font-body);color:color-mix(in srgb,var(--ink) 64%,transparent)}
.ticks{width:1.15rem;height:.8rem;color:color-mix(in srgb,var(--ink) 34%,transparent);transition:color .5s ease}
.ticks.is-read{color:var(--tick)}
.msg--cta .bubble{padding-bottom:1rem}

/* ---------- Sobre ---------- */
.about{padding:var(--section) 0}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}
.map{margin:0;width:min(100%,500px)}
.map-svg{width:100%;height:auto}
.about .display{color:var(--green)}
.about .lead{color:var(--ink);max-width:30ch;margin:0 0 2rem}
.press{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;color:var(--green);font-weight:700}
.press-icon{width:1.25em;height:1.25em;flex:none}
.press-mail{color:var(--green);text-decoration:none;border-bottom:2px solid color-mix(in srgb,var(--green) 45%,transparent);padding-bottom:1px;word-break:break-word}
.press-mail:hover{border-bottom-color:var(--green)}

/* ---------- Instituto Update ---------- */
.update{padding:clamp(3.5rem,7vw,6rem) 0}
.update-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(2rem,5vw,5rem);row-gap:clamp(2rem,4vw,3.25rem);align-items:start}
.update-brand{grid-column:1;margin:0;width:100%}
.update-logo{width:100%;height:auto}
.update-lead{grid-column:1;font:400 clamp(1.125rem,1rem + .7vw,1.5rem)/1.35 var(--font-body);letter-spacing:-.008em;color:var(--green);text-wrap:pretty}
.update-body{grid-column:2;grid-row:2;color:var(--mint-ink-soft);max-width:52ch;text-wrap:pretty}

/* ---------- Faixa ---------- */
.strip{background:var(--blue);color:var(--yellow);overflow:hidden;padding:1.05rem 0}
.strip-track{display:flex;align-items:center;gap:1.4rem;width:max-content;padding-inline:var(--gutter);font:400 .9375rem/1 var(--font-tag);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.strip b{font:900 .9375rem/1 var(--font-body);letter-spacing:.02em}
.strip .ast{width:1em;height:1em}

/* ---------- Footer ---------- */
.foot{padding:clamp(3.5rem,7vw,6rem) 0 clamp(6.5rem,11vw,8rem)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:end;margin-bottom:2.5rem}
.foot .lockup{width:min(100%,360px);margin:0 0 1.5rem}
.foot-tag{color:var(--yellow)}
.foot-actions{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem}
.foot nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.foot nav a{font:700 .9375rem/1 var(--font-body);color:var(--off);text-decoration:none}
.foot nav a:hover{color:var(--yellow)}
.foot small{display:block;color:var(--green-soft);font:400 .8125rem/1.5 var(--font-body)}

/* ---------- Política de privacidade ---------- */
.privacy-page{background:var(--off)}
.privacy-hero{position:relative;overflow:hidden;padding:clamp(4.5rem,9vw,8rem) 0 clamp(5rem,10vw,9rem)}
.privacy-hero-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(10rem,3fr);gap:clamp(2rem,6vw,6rem);align-items:end}
.privacy-hero h1{max-width:12ch;color:var(--yellow);font:500 clamp(3.25rem,1.6rem + 6.5vw,6rem)/.92 var(--font-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance}
.privacy-hero p{max-width:63ch;margin-top:clamp(1.75rem,3vw,2.5rem);color:var(--green-soft);font:400 var(--fs-lead)/1.38 var(--font-body);letter-spacing:-.008em;text-wrap:pretty}
.privacy-mark{display:flex;justify-content:flex-end;color:var(--yellow)}
.privacy-mark svg{width:clamp(7.5rem,15vw,12rem);height:auto;aspect-ratio:1}
.privacy-body{padding:clamp(4rem,8vw,7rem) 0}
.privacy-layout{display:grid;grid-template-columns:minmax(11rem,3fr) minmax(0,8fr);gap:clamp(3rem,8vw,7rem);align-items:start}
.privacy-index{position:sticky;top:calc(var(--bar) + 2rem);padding-top:.2rem}
.privacy-index>p{margin-bottom:1.25rem;color:var(--green);font:700 .875rem/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.privacy-index ol{margin:0;padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--green) 22%,transparent)}
.privacy-index li{border-bottom:1px solid color-mix(in srgb,var(--green) 22%,transparent)}
.privacy-index a{display:grid;grid-template-columns:1.5rem 1fr;gap:.4rem;padding:.85rem 0;color:var(--mint-ink-soft);font:400 .9375rem/1.35 var(--font-body);text-decoration:none;transition:color .2s}
.privacy-index a::before{content:counter(list-item) ".";color:var(--green);font-weight:700;font-variant-numeric:tabular-nums}
.privacy-index a:hover{color:var(--green)}
.privacy-copy{max-width:72ch;color:var(--ink)}
.privacy-intro{padding-bottom:clamp(2.75rem,6vw,4.5rem);font:400 clamp(1.2rem,1.05rem + .55vw,1.5rem)/1.48 var(--font-body);letter-spacing:-.01em;color:var(--green)}
.privacy-copy p+p,.privacy-intro p+p{margin-top:1rem}
.privacy-copy a{color:var(--green);font-weight:700;text-decoration-thickness:1px;text-underline-offset:.2em}
.privacy-copy>section{padding:clamp(2.75rem,5vw,4rem) 0;border-top:1px solid color-mix(in srgb,var(--green) 24%,transparent)}
.privacy-copy h2{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.5rem;margin:0 0 1.5rem;color:var(--green);font:700 clamp(1.55rem,1.3rem + .8vw,2rem)/1.15 var(--font-body);letter-spacing:-.018em;text-wrap:balance}
.privacy-copy h2 span{color:var(--blue);font-variant-numeric:tabular-nums}
.privacy-copy ul{margin:1rem 0 0;padding-left:1.35rem}
.privacy-copy li+li{margin-top:.85rem}
.legal-list{margin:0;padding:0;list-style:none}
.legal-list li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.5rem}
.legal-list span{color:var(--green);font-weight:700;font-variant-numeric:tabular-nums}
.contact-mail{margin-top:1.4rem!important;color:var(--green);font-weight:700}
.contact-mail a{color:inherit;text-decoration:none;border-bottom:2px solid color-mix(in srgb,var(--green) 45%,transparent);padding-bottom:.2rem;word-break:break-word}
.contact-mail a:hover{border-bottom-color:var(--green)}
.privacy-updated{padding-top:1.5rem;color:var(--mint-ink-soft);font-size:.9375rem;font-variant-numeric:tabular-nums}
.privacy-foot{padding-bottom:clamp(3.5rem,7vw,6rem)}
.privacy-foot .foot-grid{align-items:center}
.privacy-foot [aria-current="page"]{color:var(--yellow)}

/* ---------- FAB ---------- */
.fab{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:60;display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.25rem;border-radius:999px;background:var(--mint);color:var(--green);font:700 .9375rem/1 var(--font-body);text-decoration:none;box-shadow:0 22px 44px -16px rgba(0,0,0,.6);transform:translateY(140%);opacity:0;transition:transform .55s var(--ease),opacity .3s,background-color .25s}
.fab svg{width:1.2em;height:1.2em}
.fab.is-visible{transform:none;opacity:1}
.fab:hover{background:var(--yellow)}

/* ---------- Motion ---------- */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .9s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js [data-hero]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform 1s var(--ease)}
.js .pennant[data-hero]{transform:translateY(-3%)}
.js.is-loaded [data-hero]{opacity:1;transform:none}
.js.is-loaded [data-hero="0"]{transition-delay:.05s}
.js.is-loaded [data-hero="1"]{transition-delay:.1s}
.js.is-loaded [data-hero="2"]{transition-delay:.16s}
.js.is-loaded [data-hero="3"]{transition-delay:.28s}
.js.is-loaded [data-hero="4"]{transition-delay:.42s}
.js.is-loaded [data-hero="5"]{transition-delay:.58s}
.js .msg .bubble{opacity:0;transform:scale(.7);transform-origin:top left;visibility:hidden}
.js .msg--out .bubble{transform-origin:top right}
.js .msg.is-in .bubble{opacity:1;transform:none;visibility:visible;transition:transform .55s var(--ease),opacity .3s ease}
.js .msg .avatar{opacity:0;transition:opacity .35s ease}
.js .msg.is-typing .avatar,.js .msg.is-in .avatar{opacity:1}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal],.js [data-hero],.js .msg .bubble,.js .msg .avatar,.js .video:not(.is-in) .poster-shape path,.js .audio:not(.is-in) .poster-shape path{opacity:1!important;transform:none!important;visibility:visible!important;transition:none!important}
  .typing i{animation:none}
  .btn,.play,.fab,.top-brand>a{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero .btn{font-size:1.125rem;min-height:3.5rem;padding:1rem 1.8rem}
}
@media (max-width:900px){
  .hit-grid,.list-grid,.about-grid,.update-grid{grid-template-columns:1fr}
  .hit-grid{gap:2.5rem}
  .audio{aspect-ratio:4/3;max-width:640px}
  .list-head{position:static}
  .chat{justify-self:stretch;max-width:none}
  .map{width:min(100%,420px)}
  .update-grid{gap:1.75rem}
  .update-brand,.update-lead,.update-body{grid-column:1;grid-row:auto}
  .foot-grid{grid-template-columns:1fr;align-items:start}
  .foot-actions{align-items:flex-start}
  .privacy-layout{grid-template-columns:1fr;gap:3rem}
  .privacy-index{position:static;max-width:34rem}
}
@media (max-width:720px){
  .top nav a:not(.top-main){display:none}
  .hero{background:var(--green)}
  .hero-split{grid-template-columns:1fr;min-height:0}
  .hero-art{order:-1;height:clamp(200px,58vw,300px);display:flex;justify-content:center;align-items:flex-start}
  .pennant{position:static;width:auto;height:100%}
  .hero-copy{padding:2.25rem var(--gutter) 3rem}
  .hero-sub{max-width:none}
  .lockup{width:min(100%,320px)}
  .hero h1{max-width:none}
  .cta-row .btn{flex:1 1 auto}
  .poster-label{right:1rem;bottom:.9rem}
  .video--hero .poster-shape{left:3%;bottom:-30%;width:28%}
  .video--hero .poster-label{top:.9rem;bottom:auto}
  .audio-bar{padding:2rem 1rem 1rem}
  .audio .play{top:1rem;left:1rem}
  .audio .poster-shape{right:-2%;bottom:20%;width:clamp(100px,28%,140px)}
  .viz{left:1rem;width:56%;bottom:4.75rem;height:26%;gap:2px}
  .msg .bubble{max-width:calc(100% - 54px - .8rem)}
  .msg--cta .btn--wa{display:flex;width:100%}
  .privacy-hero{padding:3.75rem 0 4.5rem}
  .privacy-hero-grid{grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}
  .privacy-mark svg{width:4rem}
  .privacy-body{padding:3.5rem 0 4.5rem}
}
@media (max-width:480px){
  .tag{font-size:.75rem;gap:.5rem}
  .top-lockup{width:10rem}
  .avatar{width:44px;height:44px}
  .typing{left:calc(44px + .8rem + 10px)}
  .msg--out .typing{right:calc(44px + .8rem + 10px)}
  .msg .bubble{max-width:calc(100% - 44px - .8rem)}
  .bubble{padding:.85rem 1rem .6rem}
  .btn{padding:.9rem 1.25rem}
  .privacy-hero-grid{grid-template-columns:1fr}
  .privacy-mark{display:none}
  .privacy-copy h2,.legal-list li{grid-template-columns:2rem minmax(0,1fr);gap:.35rem}
}
