/*
 * ============================================================
 * MST ZERO — ESTILOS DA PÁGINA INICIAL
 * Arquivo: assets/css/home.css
 *
 * Este arquivo reúne somente os estilos que estavam dentro das
 * tags <style> do index original. A ordem foi preservada para
 * manter exatamente o mesmo visual e comportamento responsivo.
 * ============================================================
 */


/* ============================================================
   BLOCO DE ESTILOS ORIGINAL 1
   ============================================================ */

    /* =========================================================
       CSS GLOBAL: variáveis, reset, fundo, navegação e botões
       ========================================================= */
    :root {
      --bg: #020704;
      --bg-2: #06150b;
      --bg-3: #092313;
      --green: #00ff3c;
      --green-2: #00b92f;
      --deep-green: #003b19;
      --yellow: #ffd400;
      --yellow-2: #ffb000;
      --red: #ff2020;
      --red-2: #b40012;
      --white: #f8fff4;
      --cream: #f5f0e8;
      --muted: #b4c4af;
      --line: rgba(255,255,255,.12);
      --glass: rgba(2, 13, 6, .72);
      --shadow-green: 0 0 42px rgba(0,255,60,.26);
      --shadow-yellow: 0 0 38px rgba(255,212,0,.22);
      --shadow-red: 0 0 42px rgba(255,32,32,.24);
      --max: 1180px;
      --radius: 28px;

      /* Variáveis usadas pelo novo design do formulário */
      --verde: var(--green);
      --amarelo: var(--yellow);
      --azul: #1d7cff;
      --ouro: #f5a623;
      --branco: var(--white);
      --cinza: var(--muted);
      --fonte-titulo: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --fonte-corpo: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--white);
      overflow-x: hidden;
    }

    /* Background global mais criativo, com luzes, profundidade e camadas */
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -5;
      background:
        radial-gradient(circle at 12% 8%, rgba(0,255,60,.22), transparent 22%),
        radial-gradient(circle at 86% 10%, rgba(255,212,0,.18), transparent 20%),
        radial-gradient(circle at 78% 72%, rgba(255,32,32,.14), transparent 26%),
        radial-gradient(circle at 22% 78%, rgba(29,124,255,.12), transparent 24%),
        conic-gradient(from 210deg at 18% 20%, rgba(0,255,60,.08), transparent 28%, rgba(255,212,0,.06), transparent 56%, rgba(255,32,32,.05), transparent 78%),
        linear-gradient(140deg, #020503 0%, #07150d 32%, #04130a 55%, #120908 100%);
    }

    body::after {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -4;
      opacity: .17;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
      background-size: 54px 54px;
      mask-image: radial-gradient(circle at center, #000 0%, transparent 75%);
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .noise {
      position: fixed;
      inset: 0;
      z-index: -3;
      opacity: .055;
      pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    }

    /* Camada extra para dar movimento visual e recortes de cor no fundo */
    .grain-overlay {
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      opacity: .22;
      background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.05), transparent 18%),
        linear-gradient(115deg, transparent 0 42%, rgba(0,255,60,.10) 43%, transparent 58%),
        linear-gradient(245deg, transparent 0 45%, rgba(255,212,0,.08) 46%, transparent 60%),
        linear-gradient(180deg, transparent, rgba(255,255,255,.02), transparent);
      mix-blend-mode: screen;
    }

    .container { width: min(var(--max), calc(100% - 42px)); margin: 0 auto; }

    .topbar {
      position: fixed;
      top: 16px;
      left: 50%;
      transform: translateX(-50%);
      width: min(var(--max), calc(100% - 28px));
      z-index: 30;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 12px 14px 12px 18px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 999px;
      background: rgba(0, 8, 2, .66);
      backdrop-filter: blur(18px);
      box-shadow: 0 14px 46px rgba(0,0,0,.38);
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 1000;
      letter-spacing: -.045em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .brand-logo {
      width: 104px;
      height: 42px;
      object-fit: contain;
      border-radius: 8px;
      filter: drop-shadow(0 0 18px rgba(0,255,60,.20));
    }

    .brand strong {
      display: inline-flex;
      flex-direction: column;
      line-height: .86;
      font-size: 1rem;
    }

    .brand small {
      color: var(--muted);
      font-size: .54rem;
      letter-spacing: .12em;
      margin-top: 5px;
    }

    .nav-links { display: flex; gap: 22px; align-items: center; color: var(--muted); font-weight: 800; font-size: .86rem; }
    .nav-links a:hover { color: var(--green); }

    .btn {
      border: 0;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 14px 22px;
      border-radius: 999px;
      font-weight: 1000;
      letter-spacing: -.02em;
      transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
      position: relative;
      overflow: hidden;
      text-align: center;
    }
    .btn::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.34) 45%, transparent 70%);
      transform: translateX(-120%);
      transition: transform .65s ease;
    }
    .btn:hover::before { transform: translateX(120%); }
    .btn:hover { transform: translateY(-3px); filter: saturate(1.12); }
    .btn-primary {
      color: #051006;
      background: linear-gradient(135deg, var(--green) 0%, var(--yellow) 100%);
      box-shadow: var(--shadow-green), var(--shadow-yellow);
    }
    .btn-dark {
      color: var(--white);
      background: rgba(255,255,255,.08);
      border: 1px solid var(--line);
    }
    .btn-red {
      color: #fff;
      background: linear-gradient(135deg, var(--red), var(--red-2));
      box-shadow: var(--shadow-red);
    }

    /* PRIMEIRA DOBRA: formulário aparece mais cedo na tela */
    .hero {
      min-height: 100vh;
      position: relative;
      display: grid;
      place-items: center;
      padding: 118px 0 58px;
      overflow: hidden;
      isolation: isolate;
    }

    /* Hero com background mais rico para destacar a primeira dobra */
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.28), rgba(0,0,0,.82)),
        radial-gradient(circle at 18% 46%, rgba(0,255,60,.18), transparent 34%),
        radial-gradient(circle at 76% 36%, rgba(255,212,0,.14), transparent 28%),
        radial-gradient(circle at 62% 78%, rgba(255,32,32,.10), transparent 24%),
        conic-gradient(from 140deg at 70% 25%, rgba(255,255,255,.04), transparent 20%, rgba(0,255,60,.04), transparent 45%, rgba(255,212,0,.04), transparent 70%, rgba(255,32,32,.04), transparent 88%);
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .18;
      background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 1px, transparent 1px 18px),
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,.72) 100%);
      mix-blend-mode: screen;
    }

    .light-beam {
      position: absolute;
      top: -26%;
      width: 10px;
      height: 160%;
      background: linear-gradient(180deg, transparent, rgba(0,255,60,.95), transparent);
      filter: blur(.4px) drop-shadow(0 0 22px rgba(0,255,60,.8));
      transform: rotate(16deg);
      opacity: .42;
      animation: beam 6s ease-in-out infinite alternate;
      z-index: 0;
      pointer-events: none;
    }
    .beam-1 { left: 9%; }
    .beam-2 { right: 13%; background: linear-gradient(180deg, transparent, rgba(255,212,0,.95), transparent); filter: blur(.4px) drop-shadow(0 0 22px rgba(255,212,0,.8)); animation-delay: -2s; }
    .beam-3 { left: 54%; opacity: .22; animation-delay: -4s; background: linear-gradient(180deg, transparent, rgba(255,32,32,.95), transparent); }

    @keyframes beam {
      from { transform: translateY(-24px) rotate(16deg); opacity: .18; }
      to { transform: translateY(36px) rotate(16deg); opacity: .62; }
    }

    .hero-bg-word {
      position: absolute;
      left: 50%;
      top: 52%;
      transform: translate(-50%, -50%);
      z-index: -1;
      font-size: clamp(5.5rem, 18vw, 17rem);
      line-height: .75;
      font-weight: 1000;
      letter-spacing: -.105em;
      text-transform: uppercase;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.07);
      opacity: .95;
      white-space: nowrap;
      user-select: none;
    }

    .hero-wrap {
      display: grid;
      grid-template-columns: 1.03fr .97fr;
      align-items: center;
      gap: 34px;
      position: relative;
      z-index: 2;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      border: 1px solid rgba(0,255,60,.30);
      border-radius: 999px;
      background: rgba(0,255,60,.07);
      color: var(--green);
      font-size: .77rem;
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 18px;
    }
    .pulse-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 rgba(0,255,60,.8);
      animation: pulse 1.35s infinite;
    }
    @keyframes pulse {
      0% { box-shadow: 0 0 0 0 rgba(0,255,60,.75); }
      100% { box-shadow: 0 0 0 14px rgba(0,255,60,0); }
    }

    h1 {
      max-width: 790px;
      font-size: clamp(3.2rem, 7.5vw, 7.6rem);
      line-height: .82;
      letter-spacing: -.085em;
      text-transform: uppercase;
      font-weight: 1000;
    }
    .stroke {
      color: transparent;
      -webkit-text-stroke: 1.45px var(--green);
      text-shadow: 0 0 24px rgba(0,255,60,.26);
    }
    .yellow { color: var(--yellow); }
    .green { color: var(--green); }
    .red { color: var(--red); }

    .hero-copy {
      margin-top: 22px;
      max-width: 650px;
      color: #dce8d9;
      font-size: 1.06rem;
      line-height: 1.72;
    }

    .warning-strip {
      margin-top: 22px;
      max-width: 650px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 12px;
      align-items: start;
      padding: 16px;
      border: 1px solid rgba(255,32,32,.28);
      border-radius: 20px;
      background: linear-gradient(135deg, rgba(255,32,32,.12), rgba(255,212,0,.05));
      box-shadow: var(--shadow-red);
      color: #ffe1e1;
      font-weight: 800;
      line-height: 1.45;
    }

    .warning-icon {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      background: var(--red);
      color: #fff;
      font-weight: 1000;
    }

    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

    /* ---- Form Card: design solicitado pelo usuário ---- */
    .form-card {
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(245,166,35,0.2);
      border-radius: 6px;
      padding: 36px 32px;
      backdrop-filter: blur(8px);
      box-shadow: 0 24px 80px rgba(0,0,0,0.5);
      animation: fadeInRight 0.8s ease 0.3s both;
      position: relative;
      overflow: hidden;
      z-index: 2;
    }

    .form-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: linear-gradient(to right, var(--verde), var(--amarelo), var(--azul));
      z-index: 2;
    }

    .form-title {
      font-family: var(--fonte-titulo);
      font-size: 20px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--branco);
      margin-bottom: 6px;
      line-height: 1.1;
    }

    .form-subtitle {
      font-size: 13px;
      color: var(--cinza);
      margin-bottom: 28px;
      line-height: 1.5;
    }

    .form-card iframe {
      width: 100%;
      min-height: 429px;
      border: 0;
      border-radius: 3px;
      background: rgba(255,255,255,0.05);
    }

    /* Classes mantidas para compatibilidade caso o formulário manual seja usado no futuro */
    .form-group { margin-bottom: 16px; }

    .form-group label {
      display: block;
      font-family: var(--fonte-titulo);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--cinza);
      margin-bottom: 8px;
    }

    .form-group input,
    .form-group select {
      width: 100%;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 3px;
      padding: 12px 16px;
      color: var(--branco);
      font-family: var(--fonte-corpo);
      font-size: 14px;
      transition: all 0.2s;
      outline: none;
      -webkit-appearance: none;
    }

    .form-group input::placeholder { color: rgba(255,255,255,0.3); }

    .form-group input:focus,
    .form-group select:focus {
      border-color: var(--ouro);
      background: rgba(245,166,35,0.05);
      box-shadow: 0 0 0 3px rgba(245,166,35,0.1);
    }

    .form-group select option { background: #1a1a1a; }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .form-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 20px;
    }

    .form-check input[type="checkbox"] {
      width: 16px;
      height: 16px;
      min-width: 16px;
      margin-top: 2px;
      accent-color: var(--verde);
    }

    .form-check label {
      font-size: 12px;
      color: rgba(245,240,232,0.6);
      line-height: 1.5;
      cursor: pointer;
    }

    .form-check label a { color: var(--ouro); text-decoration: underline; }

    .btn-form {
      width: 100%;
      background: linear-gradient(135deg, var(--verde), #007a2e);
      color: white;
      font-family: var(--fonte-titulo);
      font-size: 16px;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 16px;
      border-radius: 3px;
      border: none;
      cursor: pointer;
      transition: all 0.25s ease;
      box-shadow: 0 4px 20px rgba(0,156,59,0.3);
      position: relative;
      overflow: hidden;
    }

    .btn-form::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%);
      transform: translateX(-100%);
      transition: transform 0.5s;
    }

    .btn-form:hover::after { transform: translateX(100%); }

    .btn-form:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 32px rgba(0,156,59,0.5);
    }

    .form-garantia {
      display: flex;
      align-items: center;
      gap: 6px;
      justify-content: center;
      margin-top: 14px;
      font-size: 11px;
      color: rgba(245,240,232,0.4);
    }

    @keyframes fadeInRight {
      from { opacity: 0; transform: translateX(34px); }
      to { opacity: 1; transform: translateX(0); }
    }

    .hero-emblem {
      position: relative;
      min-height: 680px;
      display: grid;
      place-items: center;
      perspective: 1000px;
    }

    .emblem-orbit {
      position: absolute;
      width: min(560px, 92vw);
      aspect-ratio: 1;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(circle at center, rgba(0,255,60,.16), transparent 44%),
        conic-gradient(from 90deg, rgba(0,255,60,.0), rgba(0,255,60,.36), rgba(255,212,0,.28), rgba(255,32,32,.24), rgba(0,255,60,.0));
      filter: drop-shadow(0 24px 70px rgba(0,0,0,.68));
      animation: slowRotate 18s linear infinite;
    }

    .emblem-orbit::before,
    .emblem-orbit::after {
      content: "";
      position: absolute;
      inset: 38px;
      border-radius: 50%;
      border: 1px dashed rgba(255,255,255,.20);
    }
    .emblem-orbit::after {
      inset: 92px;
      border-style: solid;
      border-color: rgba(0,255,60,.20);
    }

    @keyframes slowRotate { to { transform: rotate(360deg); } }

    .emblem-card {
      position: relative;
      z-index: 3;
      width: min(440px, 88vw);
      min-height: 500px;
      border-radius: 42px;
      border: 1px solid rgba(255,255,255,.14);
      background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
        linear-gradient(145deg, rgba(0,255,60,.12), rgba(255,212,0,.08), rgba(255,32,32,.10));
      box-shadow: 0 34px 95px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.14);
      display: grid;
      align-content: center;
      justify-items: center;
      text-align: center;
      padding: 32px;
      overflow: hidden;
      animation: float 5.4s ease-in-out infinite;
    }

    .emblem-card::before {
      content: "";
      position: absolute;
      inset: -60px;
      background: conic-gradient(from 180deg, transparent, rgba(0,255,60,.20), transparent, rgba(255,212,0,.18), transparent, rgba(255,32,32,.16), transparent);
      animation: slowRotate 12s linear infinite reverse;
      z-index: -1;
    }

    .emblem-card::after {
      content: "";
      position: absolute;
      inset: 1px;
      border-radius: 41px;
      background: linear-gradient(180deg, rgba(2,7,4,.78), rgba(2,7,4,.92));
      z-index: -1;
    }

    .emblem-logo {
      width: 190px;
      max-height: 86px;
      object-fit: contain;
      margin-bottom: 24px;
      filter: drop-shadow(0 0 22px rgba(0,255,60,.22));
      background: rgba(255,255,255,.88);
      border-radius: 14px;
      padding: 8px;
    }

    .emblem-card h2 {
      font-size: clamp(2.3rem, 5vw, 4.4rem);
      line-height: .78;
      letter-spacing: -.08em;
      text-transform: uppercase;
    }

    .emblem-card p {
      margin-top: 18px;
      color: var(--muted);
      line-height: 1.55;
      font-weight: 800;
    }

    .badge-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: center;
      margin-top: 22px;
    }

    .badge {
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.06);
      color: var(--cream);
      font-size: .76rem;
      font-weight: 950;
      text-transform: uppercase;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0) rotateX(0); }
      50% { transform: translateY(-13px) rotateX(2deg); }
    }

    .ticker {
      border-block: 1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.54);
      overflow: hidden;
      white-space: nowrap;
      padding: 18px 0;
    }
    .ticker-track {
      display: inline-flex;
      gap: 42px;
      animation: marquee 20s linear infinite; /* Slider infinito principal */
      font-weight: 1000;
      text-transform: uppercase;
      letter-spacing: -.03em;
      color: rgba(244,255,241,.80);
    }
    .ticker-track span { color: var(--green); }
    @keyframes marquee { to { transform: translateX(-50%); } }

    section { position: relative; padding: 110px 0; overflow: hidden; }
    section.overlay-section::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        radial-gradient(circle at 15% 30%, rgba(0,255,60,.13), transparent 34%),
        radial-gradient(circle at 84% 64%, rgba(255,212,0,.10), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.20));
    }

    .section-title { text-align: center; margin-bottom: 52px; }
    .section-title .eyebrow { margin-bottom: 14px; }
    .section-title h2 {
      font-size: clamp(2.2rem, 5vw, 5.4rem);
      line-height: .9;
      letter-spacing: -.07em;
      text-transform: uppercase;
    }
    .section-title p {
      max-width: 780px;
      margin: 18px auto 0;
      color: var(--muted);
      line-height: 1.7;
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .card {
      min-height: 318px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: var(--radius);
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
      padding: 26px;
      position: relative;
      overflow: hidden;
      transform-style: preserve-3d;
      transition: transform .25s ease, border .25s ease, background .25s ease;
    }
    .card:hover {
      transform: translateY(-9px) rotateX(1deg);
      border-color: rgba(0,255,60,.42);
      background: linear-gradient(180deg, rgba(0,255,60,.10), rgba(255,255,255,.025));
    }
    .card::before {
      content: "";
      position: absolute;
      inset: auto -20% -40% -20%;
      height: 160px;
      background: radial-gradient(circle, rgba(0,255,60,.22), transparent 65%);
      filter: blur(18px);
    }
    .card:nth-child(2)::before { background: radial-gradient(circle, rgba(255,212,0,.20), transparent 65%); }
    .card:nth-child(3)::before { background: radial-gradient(circle, rgba(255,32,32,.20), transparent 65%); }
    .card-number {
      font-size: 4.6rem;
      line-height: .8;
      letter-spacing: -.08em;
      font-weight: 1000;
      color: rgba(255,255,255,.08);
      margin-bottom: 58px;
    }
    .card h3 {
      font-size: 1.55rem;
      line-height: 1;
      letter-spacing: -.05em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .card p { color: var(--muted); line-height: 1.62; }

    .split {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 42px;
      align-items: center;
    }
    .impact-panel {
      position: relative;
      border-radius: 34px;
      min-height: 620px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
        radial-gradient(circle at 50% 72%, rgba(0,255,60,.22), transparent 44%);
      border: 1px solid rgba(255,255,255,.13);
      overflow: hidden;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 34px;
    }
    .impact-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(140deg, transparent 45%, rgba(255,212,0,.10)),
        repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 16px);
      opacity: .7;
    }
    .impact-panel-inner {
      position: relative;
      z-index: 2;
    }
    .impact-panel .huge {
      display: block;
      font-size: clamp(5rem, 12vw, 9rem);
      line-height: .75;
      font-weight: 1000;
      letter-spacing: -.10em;
      color: var(--yellow);
      text-shadow: 0 0 28px rgba(255,212,0,.22);
    }
    .impact-panel h3 {
      margin-top: 20px;
      font-size: clamp(1.8rem, 4vw, 4rem);
      line-height: .86;
      letter-spacing: -.07em;
      text-transform: uppercase;
    }
    .impact-panel p { margin: 20px auto 0; max-width: 380px; color: var(--muted); line-height: 1.6; font-weight: 800; }

    .content-block h2 {
      font-size: clamp(2.4rem, 5.2vw, 5.7rem);
      line-height: .86;
      letter-spacing: -.08em;
      text-transform: uppercase;
      margin-bottom: 22px;
    }
    .content-block p { color: #d7e4d4; line-height: 1.8; margin-bottom: 16px; font-size: 1.03rem; }

    .stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 28px;
    }
    .stat {
      padding: 18px;
      border-radius: 20px;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.10);
    }
    .stat strong { display: block; font-size: 2rem; color: var(--green); letter-spacing: -.05em; }
    .stat span { color: var(--muted); font-size: .82rem; font-weight: 850; text-transform: uppercase; }

    .cta-band {
      padding: 0;
      background:
        linear-gradient(100deg, rgba(0,255,60,.92) 0%, rgba(255,212,0,.96) 45%, rgba(255,32,32,.92) 100%);
      color: #061006;
    }
    .cta-band .container {
      min-height: 178px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 24px;
    }
    .cta-band h2 {
      font-size: clamp(2rem, 4.5vw, 4.8rem);
      line-height: .88;
      letter-spacing: -.075em;
      text-transform: uppercase;
      font-weight: 1000;
    }
    .cta-band p { font-weight: 950; margin-top: 8px; }

    .movement-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }
    .mini-card {
      padding: 22px;
      min-height: 196px;
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 24px;
      background: rgba(255,255,255,.045);
      position: relative;
      overflow: hidden;
    }
    .mini-card::after {
      content: "";
      position: absolute;
      right: -40px;
      top: -40px;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: rgba(0,255,60,.15);
      filter: blur(8px);
    }
    .mini-card h3 { font-size: 1.15rem; line-height: 1.05; text-transform: uppercase; letter-spacing: -.04em; margin-bottom: 10px; }
    .mini-card p { color: var(--muted); line-height: 1.55; font-size: .95rem; }

    .manifesto {
      border-radius: 38px;
      border: 1px solid rgba(255,255,255,.13);
      background:
        linear-gradient(135deg, rgba(0,255,60,.10), rgba(255,32,32,.08)),
        rgba(255,255,255,.04);
      padding: clamp(28px, 5vw, 56px);
      position: relative;
      overflow: hidden;
      box-shadow: 0 34px 90px rgba(0,0,0,.42);
    }
    .manifesto::before {
      content: "";
      position: absolute;
      inset: -20%;
      background: conic-gradient(from 180deg, transparent, rgba(0,255,60,.16), transparent, rgba(255,212,0,.12), transparent, rgba(255,32,32,.12), transparent);
      animation: slowRotate 18s linear infinite;
      z-index: -1;
    }
    .manifesto h2 {
      font-size: clamp(2.4rem, 5.5vw, 6rem);
      line-height: .82;
      letter-spacing: -.08em;
      text-transform: uppercase;
      margin-bottom: 22px;
    }
    .manifesto p {
      color: #dce8d9;
      font-size: 1.06rem;
      line-height: 1.75;
      max-width: 900px;
      margin-bottom: 16px;
    }

    .final-cta {
      text-align: center;
      padding-bottom: 130px;
    }
    .final-cta h2 {
      font-size: clamp(3rem, 8vw, 8.5rem);
      line-height: .78;
      letter-spacing: -.09em;
      text-transform: uppercase;
      margin-bottom: 24px;
    }
    .final-cta p { max-width: 790px; margin: 0 auto 30px; color: var(--muted); line-height: 1.7; }

    footer {
      padding: 28px 0;
      border-top: 1px solid rgba(255,255,255,.10);
      color: rgba(244,255,241,.58);
      text-align: center;
      font-size: .86rem;
      background: rgba(0,0,0,.46);
    }

    .reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .8s ease; }
    .reveal.active { opacity: 1; transform: translateY(0); }

    .mobile-menu { display: none; }



    /* PRIMEIRA DOBRA: foto à esquerda e abaixo-assinado à direita */
    .hero-petition-layout {
      grid-template-columns: minmax(300px, .98fr) minmax(340px, 1.02fr);
      gap: 34px;
      align-items: center;
    }

    .hero-form-title {
      font-size: clamp(2.1rem, 4.3vw, 5.25rem);
      line-height: .9;
      margin-bottom: 16px;
    }

    .hero-copy-tight { max-width: 560px; margin-bottom: 18px; }

    /* Card do Tally com tamanho do layout de referência */
    .hero-form-card {
      width: 100%;
      max-width: 560px;
      margin-left: 0;
      border-color: rgba(245,166,35,0.2);
      box-shadow: 0 24px 80px rgba(0,0,0,0.5);
    }

    /* Coluna do formulário alinhada com a foto e posicionada à direita */
    .hero-sign-area {
      width: 100%;
      max-width: 590px;
      align-self: center;
      order: 2;
      justify-self: end;
    }

    /* Coluna da imagem agora fica à esquerda */
    .hero-photo-stage {
      position: relative;
      min-height: 590px;
      display: grid;
      align-items: end;
      justify-items: center;
      isolation: isolate;
      order: 1;
      justify-self: start;
    }
    /* Foto sem canvas/card quadrado: apenas brilho de fundo */
    .photo-aura {
      position: absolute;
      inset: 14% 8% 4% 8%;
      border-radius: 999px;
      background:
        radial-gradient(circle at 50% 42%, rgba(0,255,60,.22), transparent 42%),
        radial-gradient(circle at 58% 68%, rgba(255,212,0,.12), transparent 48%);
      border: 0;
      box-shadow: none;
      overflow: visible;
      z-index: -1;
      filter: blur(10px);
      pointer-events: none;
    }

    .photo-aura::before {
      content: none;
    }

    /* Foto em PNG limpa, sem moldura quadrada */
    .hero-person-image {
      width: min(560px, 104%);
      max-height: 675px;
      object-fit: contain;
      object-position: bottom center;
      filter: drop-shadow(0 28px 70px rgba(0,0,0,.76));
      animation: float 5.4s ease-in-out infinite;
    }

    .floating-card {
      position: absolute;
      z-index: 4;
      padding: 12px 16px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(0, 8, 2, .62);
      backdrop-filter: blur(14px);
      box-shadow: 0 16px 40px rgba(0,0,0,.35);
      font-weight: 950;
      text-transform: uppercase;
      letter-spacing: -.02em;
    }

    .floating-card-1 { left: 2%; top: 18%; color: var(--green); }
    .floating-card-2 { right: 4%; bottom: 14%; color: var(--yellow); }

    .video-split-section {
      padding-top: 118px;
      background:
        radial-gradient(circle at 24% 42%, rgba(0,255,60,.14), transparent 34%),
        radial-gradient(circle at 84% 54%, rgba(255,32,32,.10), transparent 35%),
        linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.66));
    }

    .video-split { grid-template-columns: .82fr 1.18fr; }

    .video-frame {
      position: relative;
      width: min(410px, 100%);
      margin-inline: auto;
      aspect-ratio: 9 / 16;
      border-radius: 38px;
      padding: 12px;
      border: 1px solid rgba(255,255,255,.18);
      background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
      box-shadow: 0 40px 110px rgba(0,0,0,.58), var(--shadow-green);
      overflow: hidden;
    }

    .video-glow {
      position: absolute;
      inset: -20%;
      background: conic-gradient(from 160deg, rgba(0,255,60,.2), rgba(255,212,0,.16), rgba(255,32,32,.12), rgba(0,255,60,.2));
      filter: blur(18px);
      opacity: .8;
      animation: slowRotate 16s linear infinite;
    }

    .vertical-video {
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 28px;
      background: #000;
      display: block;
    }

    .video-caption {
      position: absolute;
      left: 26px;
      right: 26px;
      bottom: 28px;
      z-index: 3;
      padding: 10px 12px;
      border-radius: 999px;
      background: rgba(0,0,0,.62);
      border: 1px solid rgba(255,255,255,.16);
      text-align: center;
      font-size: .78rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--green);
      pointer-events: none;
    }


    /* =========================================================
       SEGUNDA DOBRA: frame premium para embed do Instagram/Reels
       ========================================================= */
    .instagram-frame {
      position: relative;
      width: min(410px, 100%);
      margin-inline: auto;
      aspect-ratio: 9 / 16;
      border-radius: 38px;
      padding: 12px;
      border: 1px solid rgba(255,255,255,.18);
      background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
      box-shadow: 0 40px 110px rgba(0,0,0,.58), var(--shadow-green);
      overflow: hidden;
    }

    .instagram-frame::before {
      content: "";
      position: absolute;
      inset: -20%;
      background: conic-gradient(from 160deg, rgba(0,255,60,.2), rgba(255,212,0,.16), rgba(255,32,32,.12), rgba(0,255,60,.2));
      filter: blur(18px);
      opacity: .75;
      animation: slowRotate 16s linear infinite;
    }

    .instagram-frame .instagram-media {
      position: relative !important;
      z-index: 2;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      margin: 0 auto !important;
      border-radius: 28px !important;
      overflow: hidden !important;
      background: #000 !important;
    }

    /* =========================================================
       QUARTA DOBRA: seção de números substituindo o CTA antigo
       ========================================================= */
    .numbers-band {
      padding: 92px 0;
      background:
        radial-gradient(circle at 18% 35%, rgba(0,255,60,.18), transparent 34%),
        radial-gradient(circle at 86% 64%, rgba(255,32,32,.14), transparent 34%),
        linear-gradient(100deg, rgba(1,15,5,.96), rgba(6,28,12,.94), rgba(19,4,4,.92));
      border-block: 1px solid rgba(255,255,255,.12);
      color: var(--white);
    }

    .numbers-header {
      text-align: center;
      max-width: 860px;
      margin: 0 auto 42px;
    }

    .numbers-header h2 {
      font-size: clamp(2.4rem, 5.6vw, 6.1rem);
      line-height: .84;
      letter-spacing: -.08em;
      text-transform: uppercase;
      margin-bottom: 16px;
    }

    .numbers-header p {
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .numbers-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }

    .number-card {
      position: relative;
      min-height: 220px;
      padding: 26px 22px;
      border-radius: 28px;
      border: 1px solid rgba(255,255,255,.13);
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
      overflow: hidden;
      box-shadow: 0 24px 70px rgba(0,0,0,.32);
    }

    .number-card::before {
      content: "";
      position: absolute;
      inset: auto -28% -45% -28%;
      height: 170px;
      background: radial-gradient(circle, rgba(0,255,60,.24), transparent 66%);
      filter: blur(18px);
    }

    .number-card:nth-child(2)::before { background: radial-gradient(circle, rgba(255,212,0,.22), transparent 66%); }
    .number-card:nth-child(3)::before { background: radial-gradient(circle, rgba(255,32,32,.20), transparent 66%); }
    .number-card:nth-child(4)::before { background: radial-gradient(circle, rgba(0,102,255,.22), transparent 66%); }

    .number-value {
      display: block;
      font-size: clamp(2.7rem, 4.6vw, 4.7rem);
      line-height: .82;
      font-weight: 1000;
      letter-spacing: -.08em;
      color: var(--green);
      margin-bottom: 18px;
      text-shadow: 0 0 24px rgba(0,255,60,.24);
    }

    .number-card:nth-child(2) .number-value { color: var(--yellow); }
    .number-card:nth-child(3) .number-value { color: var(--red); }
    .number-card:nth-child(4) .number-value { color: #1d7cff; }

    .number-card h3 {
      position: relative;
      z-index: 2;
      font-size: 1.15rem;
      line-height: 1.05;
      letter-spacing: -.04em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .number-card p {
      position: relative;
      z-index: 2;
      color: var(--muted);
      font-weight: 800;
      line-height: 1.45;
    }


    .second-copy-block h2 { font-size: clamp(2.6rem, 5.8vw, 6.1rem); }
    .second-warning { max-width: 760px; }
    @media (max-width: 980px) {
      .nav-links { display: none; }
      .mobile-menu { display: inline-flex; }
      .brand strong { display: none; }
      .brand-logo { width: 92px; height: 38px; }
      .hero { padding-top: 108px; }
      .hero-wrap, .hero-petition-layout { grid-template-columns: 1fr; }
      /* MOBILE: formulário continua primeiro para priorizar conversão */
      .hero-content, .hero-sign-area { order: 1; }
      .hero-emblem, .hero-photo-stage { order: 2; min-height: 440px; }
      .hero-form-card { max-width: none; }
      .video-split { grid-template-columns: 1fr; }
      .emblem-card { min-height: 430px; }
      .form-card { margin-top: 24px; }
      .cards, .split, .cta-band .container { grid-template-columns: 1fr; }
      .movement-grid, .numbers-grid { grid-template-columns: repeat(2, 1fr); }
      .impact-panel { min-height: 500px; }
      .cta-band .container { padding: 34px 0; }
      .stats { grid-template-columns: 1fr; }
    }

    @media (max-width: 620px) {
      .container { width: min(100% - 26px, var(--max)); }
      .topbar { top: 10px; padding: 9px 10px 9px 12px; }
      .topbar .btn { min-height: 40px; padding: 10px 14px; font-size: .82rem; }
      .brand-logo { width: 84px; height: 34px; }
      h1 { font-size: clamp(3.0rem, 16vw, 5.2rem); }
      .hero-copy { font-size: .98rem; }
      .warning-strip { grid-template-columns: 1fr; }
      .hero-actions .btn { width: 100%; }
      .form-card { padding: 28px 22px; border-radius: 6px; }
      .hero-emblem, .hero-photo-stage { min-height: 360px; }
      .hero-person-image { width: min(430px, 104%); }
      .floating-card { font-size: .72rem; padding: 9px 11px; }
      .video-frame, .instagram-frame { width: min(340px, 100%); border-radius: 30px; }
      .emblem-card { width: 100%; min-height: 390px; border-radius: 30px; }
      .emblem-card::after { border-radius: 29px; }
      .emblem-logo { width: 158px; }
      section { padding: 76px 0; }
      .cards, .movement-grid, .numbers-grid { grid-template-columns: 1fr; }
      .card { min-height: 258px; }
      .impact-panel { min-height: 420px; border-radius: 24px; }
      .hero-bg-word { display: none; }
      .cta-band h2, .section-title h2, .content-block h2, .final-cta h2, .manifesto h2 { letter-spacing: -.065em; }
    }
  
    /* =========================================================
       AJUSTE FINAL SOLICITADO
       - Foto permanece à esquerda
       - Abaixo-assinado ocupa todo o espaço da direita
       - Remove canvas/quadro atrás da foto
       ========================================================= */

    /* Hero mais largo para dar espaço real ao formulário */
    .hero > .container.hero-wrap.hero-petition-layout {
      width: min(1260px, calc(100% - 42px)) !important;
      grid-template-columns: minmax(300px, .80fr) minmax(560px, 1.20fr) !important;
      gap: 34px !important;
      align-items: center !important;
    }

    /* Coluna da foto: sempre à esquerda no desktop */
    .hero-photo-stage {
      order: 1 !important;
      justify-self: start !important;
      width: 100% !important;
      max-width: 520px !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      outline: 0 !important;
      overflow: visible !important;
    }

    /* Remove qualquer canvas, aura, placa ou quadrado atrás da foto */
    .photo-aura,
    .photo-aura::before,
    .photo-aura::after,
    .hero-photo-stage::before,
    .hero-photo-stage::after {
      content: none !important;
      display: none !important;
      background: none !important;
      border: 0 !important;
      box-shadow: none !important;
      outline: 0 !important;
    }

    /* Foto limpa, apenas PNG e sombra */
    .hero-person-image {
      width: min(540px, 100%) !important;
      max-height: 680px !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      object-fit: contain !important;
      object-position: bottom center !important;
      filter: drop-shadow(0 28px 70px rgba(0,0,0,.76)) !important;
    }

    /* Coluna do abaixo-assinado: sempre à direita no desktop */
    .hero-sign-area {
      order: 2 !important;
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      justify-self: stretch !important;
      align-self: center !important;
    }

    /* O card do formulário ocupa 100% da área que ele tem disponível */
    .hero-sign-area .form-card,
    .hero-form-card {
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    /* O embed do Tally preenche a largura do card */
    .hero-sign-area .form-card iframe,
    .hero-form-card iframe {
      width: 100% !important;
      max-width: 100% !important;
      min-height: 429px !important;
      height: 429px !important;
      display: block !important;
    }

    /* Mobile: foto primeiro, formulário depois */
    @media (max-width: 980px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(100% - 26px, var(--max)) !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        justify-self: center !important;
        max-width: none !important;
        min-height: 360px !important;
      }

      .hero-sign-area {
        order: 2 !important;
        justify-self: stretch !important;
        max-width: none !important;
      }

      .hero-person-image {
        width: min(430px, 104%) !important;
      }
    }

  
    /* =========================================================
       AJUSTE FINAL DESKTOP
       Diminui o abaixo-assinado no PC sem mexer no mobile
       ========================================================= */
    @media (min-width: 981px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1180px, calc(100% - 42px)) !important;
        grid-template-columns: minmax(360px, .95fr) minmax(520px, 1.05fr) !important;
        gap: 34px !important;
      }

      .hero-sign-area {
        width: 100% !important;
        max-width: 720px !important;
        justify-self: end !important;
      }

      .hero-sign-area .form-card,
      .hero-form-card {
        width: 100% !important;
        max-width: 720px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
      }

      .hero-sign-area .form-card iframe,
      .hero-form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
      }
    }

  
    /* =========================================================
       AJUSTE FINAL DESKTOP 02
       Formulário mais estreito lateralmente e sem cortar botão
       ========================================================= */
    @media (min-width: 981px) {
      .hero {
        padding: 104px 0 42px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1180px, calc(100% - 42px)) !important;
        grid-template-columns: minmax(390px, 1fr) minmax(480px, 560px) !important;
        gap: 42px !important;
        align-items: center !important;
      }

      .hero-sign-area {
        width: 100% !important;
        max-width: 560px !important;
        justify-self: end !important;
        align-self: center !important;
      }

      .hero-sign-area .form-card,
      .hero-form-card {
        width: 100% !important;
        max-width: 560px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding: 28px 26px !important;
      }

      .hero-sign-area .form-card iframe,
      .hero-form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 390px !important;
        height: 390px !important;
        display: block !important;
      }

      .hero-sign-area .form-title {
        margin-bottom: 6px !important;
      }

      .hero-sign-area .form-subtitle {
        margin-bottom: 18px !important;
      }

      .hero-sign-area .form-card p[style] {
        margin-bottom: 8px !important;
      }
    }

  
    /* =========================================================
       CORREÇÃO DESKTOP 03
       - Remove o espaço vazio lateral do card
       - Deixa o botão do Tally aparecer sem corte
       - Mantém a foto na esquerda
       ========================================================= */
    @media (min-width: 981px) {
      .hero {
        min-height: auto !important;
        padding: 92px 0 34px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1160px, calc(100% - 42px)) !important;
        grid-template-columns: minmax(390px, 1fr) 500px !important;
        gap: 44px !important;
        align-items: center !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        justify-self: start !important;
        max-width: 540px !important;
        min-height: 560px !important;
      }

      .hero-person-image {
        width: min(520px, 100%) !important;
        max-height: 650px !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 500px !important;
        max-width: 500px !important;
        justify-self: end !important;
        align-self: center !important;
      }

      .hero-sign-area .form-card,
      .hero-form-card {
        width: 500px !important;
        max-width: 500px !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 22px 22px 18px !important;
      }

      .hero-sign-area .form-title {
        font-size: 18px !important;
        margin-bottom: 5px !important;
      }

      .hero-sign-area .form-subtitle {
        font-size: 12px !important;
        line-height: 1.35 !important;
        margin-bottom: 12px !important;
      }

      .hero-sign-area .form-card iframe,
      .hero-form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 470px !important;
        height: 470px !important;
        display: block !important;
      }

      .hero-sign-area .form-card p[style] {
        font-size: 8px !important;
        margin-top: 6px !important;
        margin-bottom: 0 !important;
      }
    }

  
    /* =========================================================
       AJUSTE FINAL - FORMULÁRIO IGUAL À REFERÊNCIA
       - Formulário em coluna direita estreita
       - Mesmo espaço visual do exemplo enviado
       - Foto permanece à esquerda
       - Botão do Tally não fica cortado
       ========================================================= */
    @media (min-width: 981px) {
      .hero {
        min-height: 100vh !important;
        padding: 92px 0 0 !important;
        align-items: stretch !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1180px, calc(100% - 42px)) !important;
        min-height: calc(100vh - 92px) !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 377px !important;
        gap: 54px !important;
        align-items: stretch !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        justify-self: start !important;
        align-self: end !important;
        width: 100% !important;
        max-width: 610px !important;
        min-height: 610px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
      }

      .photo-aura,
      .photo-aura::before,
      .photo-aura::after,
      .hero-photo-stage::before,
      .hero-photo-stage::after {
        content: none !important;
        display: none !important;
        background: none !important;
        border: 0 !important;
        box-shadow: none !important;
      }

      .hero-person-image {
        width: min(590px, 108%) !important;
        max-height: 720px !important;
        object-fit: contain !important;
        object-position: bottom center !important;
        background: transparent !important;
        box-shadow: none !important;
        filter: drop-shadow(0 28px 70px rgba(0,0,0,.76)) !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 377px !important;
        max-width: 377px !important;
        justify-self: end !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: flex-start !important;
        padding-top: 18px !important;
      }

      .hero-sign-area .form-card,
      .hero-form-card {
        width: 377px !important;
        max-width: 377px !important;
        min-width: 377px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 28px 28px 18px !important;
        border-radius: 0 !important;
        border: 1px solid rgba(245,166,35,0.28) !important;
        background: rgba(255,255,255,0.035) !important;
        box-shadow: none !important;
        overflow: visible !important;
      }

      .hero-sign-area .form-title {
        font-size: 18px !important;
        letter-spacing: .08em !important;
        margin-bottom: 10px !important;
      }

      .hero-sign-area .form-subtitle {
        font-size: 12px !important;
        line-height: 1.55 !important;
        margin-bottom: 22px !important;
      }

      .hero-sign-area .form-card iframe,
      .hero-form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 500px !important;
        height: 500px !important;
        display: block !important;
        border-radius: 0 !important;
        background: rgba(255,255,255,0.04) !important;
      }

      .hero-sign-area .form-card p[style] {
        font-size: 8px !important;
        line-height: 1.35 !important;
        margin-top: 8px !important;
        margin-bottom: 0 !important;
      }
    }

    @media (max-width: 980px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        grid-template-columns: 1fr !important;
      }

      .hero-photo-stage {
        order: 1 !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
      }

      .hero-sign-area .form-card,
      .hero-form-card {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
      }
    }

  
    /* =========================================================
       RESPONSIVO REALISTA FINAL
       Layout limpo por dispositivo:
       - Desktop: foto esquerda / formulário direito, proporção realista
       - Tablet: empilha com foto primeiro
       - Mobile: foto menor, formulário inteiro, botão sem corte
       ========================================================= */

    /* Remove distorções visuais vindas de overrides anteriores */
    .hero,
    .hero > .container.hero-wrap.hero-petition-layout,
    .hero-photo-stage,
    .hero-sign-area,
    .hero-form-card,
    .hero-sign-area .form-card {
      box-sizing: border-box !important;
    }

    /* DESKTOP REALISTA */
    @media (min-width: 1025px) {
      .hero {
        min-height: 100svh !important;
        padding: 108px 0 34px !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1180px, calc(100% - 48px)) !important;
        min-height: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 390px !important;
        gap: clamp(30px, 4vw, 58px) !important;
        align-items: center !important;
        overflow: visible !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        width: 100% !important;
        max-width: 650px !important;
        min-height: clamp(500px, 62vh, 650px) !important;
        justify-self: start !important;
        align-self: end !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
      }

      .photo-aura,
      .photo-aura::before,
      .photo-aura::after,
      .hero-photo-stage::before,
      .hero-photo-stage::after {
        content: none !important;
        display: none !important;
      }

      .hero-person-image {
        width: min(610px, 105%) !important;
        max-height: min(690px, calc(100svh - 115px)) !important;
        object-fit: contain !important;
        object-position: bottom center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        filter: drop-shadow(0 28px 70px rgba(0,0,0,.76)) !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 390px !important;
        max-width: 390px !important;
        min-width: 390px !important;
        justify-self: end !important;
        align-self: center !important;
        padding: 0 !important;
        overflow: visible !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 390px !important;
        max-width: 390px !important;
        min-width: 390px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 26px 26px 18px !important;
        border-radius: 6px !important;
        overflow: visible !important;
      }

      .hero-sign-area .form-title {
        font-size: 19px !important;
        margin-bottom: 8px !important;
      }

      .hero-sign-area .form-subtitle {
        font-size: 12.5px !important;
        line-height: 1.5 !important;
        margin-bottom: 16px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 520px !important;
        height: 520px !important;
        display: block !important;
        border-radius: 3px !important;
      }

      .hero-sign-area .form-card p[style] {
        font-size: 8px !important;
        line-height: 1.35 !important;
        margin-top: 8px !important;
        margin-bottom: 0 !important;
      }
    }

    /* NOTEBOOKS BAIXOS: evita corte vertical */
    @media (min-width: 1025px) and (max-height: 760px) {
      .hero {
        align-items: flex-start !important;
        padding-top: 96px !important;
        overflow: visible !important;
      }

      .hero-photo-stage {
        min-height: 520px !important;
      }

      .hero-person-image {
        max-height: 610px !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        padding: 22px 24px 16px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 500px !important;
        height: 500px !important;
      }
    }

    /* TABLET */
    @media (min-width: 769px) and (max-width: 1024px) {
      .hero {
        min-height: auto !important;
        padding: 106px 0 54px !important;
        overflow: visible !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(760px, calc(100% - 42px)) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        min-height: auto !important;
        overflow: visible !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        justify-self: center !important;
        width: 100% !important;
        max-width: 600px !important;
        min-height: 470px !important;
      }

      .hero-person-image {
        width: min(520px, 100%) !important;
        max-height: 560px !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 100% !important;
        max-width: 560px !important;
        min-width: 0 !important;
        justify-self: center !important;
        padding: 0 !important;
        overflow: visible !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 100% !important;
        max-width: 560px !important;
        min-width: 0 !important;
        padding: 28px 24px 26px !important;
        overflow: visible !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        width: 100% !important;
        min-height: 690px !important;
        height: 690px !important;
        display: block !important;
      }
    }

    /* MOBILE */
    @media (max-width: 768px) {
      html, body {
        overflow-x: hidden !important;
      }

      .hero {
        min-height: auto !important;
        padding: 92px 0 48px !important;
        overflow: visible !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(100% - 24px, 520px) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        min-height: auto !important;
        overflow: visible !important;
      }

      .hero-photo-stage {
        order: 1 !important;
        width: 100% !important;
        max-width: 420px !important;
        min-height: clamp(320px, 68vw, 410px) !important;
        justify-self: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
      }

      .photo-aura,
      .photo-aura::before,
      .photo-aura::after,
      .hero-photo-stage::before,
      .hero-photo-stage::after {
        content: none !important;
        display: none !important;
      }

      .hero-person-image {
        width: min(410px, 108%) !important;
        max-height: 455px !important;
        object-fit: contain !important;
      }

      .floating-card {
        font-size: .68rem !important;
        padding: 8px 10px !important;
      }

      .hero-sign-area {
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        padding: 0 !important;
        overflow: visible !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 22px 14px 26px !important;
        border-radius: 6px !important;
        overflow: visible !important;
      }

      .hero-sign-area .form-title {
        font-size: 18px !important;
        margin-bottom: 6px !important;
      }

      .hero-sign-area .form-subtitle {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-bottom: 14px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 760px !important;
        height: 760px !important;
        display: block !important;
        overflow: visible !important;
      }

      .hero-sign-area .form-card p[style] {
        font-size: 8px !important;
        line-height: 1.35 !important;
        margin-top: 10px !important;
        margin-bottom: 0 !important;
      }
    }

    /* MOBILE MUITO PEQUENO */
    @media (max-width: 380px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: calc(100% - 18px) !important;
      }

      .hero-person-image {
        width: min(360px, 112%) !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 820px !important;
        height: 820px !important;
      }
    }

  
    /* =========================================================
       AJUSTE MOBILE FINAL
       - Menos altura vertical
       - Um pouco mais largo horizontalmente
       - Botão visível sem deixar o formulário gigante
       ========================================================= */
    @media (max-width: 768px) {
      .hero {
        padding-top: 82px !important;
        padding-bottom: 28px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(100% - 14px, 560px) !important;
        gap: 6px !important;
      }

      .hero-photo-stage {
        min-height: 285px !important;
        max-width: 440px !important;
      }

      .hero-person-image {
        width: min(405px, 108%) !important;
        max-height: 380px !important;
      }

      .hero-sign-area {
        width: 100% !important;
        max-width: 560px !important;
        justify-self: center !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 100% !important;
        max-width: 560px !important;
        padding: 14px 10px 14px !important;
      }

      .hero-sign-area .form-title {
        font-size: 16px !important;
        margin-bottom: 4px !important;
      }

      .hero-sign-area .form-subtitle {
        font-size: 11px !important;
        line-height: 1.35 !important;
        margin-bottom: 6px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        width: 100% !important;
        min-height: 520px !important;
        height: 520px !important;
        max-height: none !important;
        display: block !important;
      }

      .hero-sign-area .form-card p[style] {
        font-size: 7.5px !important;
        line-height: 1.25 !important;
        margin-top: 4px !important;
        margin-bottom: 0 !important;
      }
    }

    @media (max-width: 480px) {
      .hero {
        padding-top: 78px !important;
        padding-bottom: 26px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: calc(100% - 10px) !important;
      }

      .hero-photo-stage {
        min-height: 255px !important;
      }

      .hero-person-image {
        width: min(365px, 110%) !important;
        max-height: 345px !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        padding: 12px 8px 12px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 540px !important;
        height: 540px !important;
      }
    }

    @media (max-width: 390px) {
      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 555px !important;
        height: 555px !important;
      }

      .hero-photo-stage {
        min-height: 235px !important;
      }

      .hero-person-image {
        width: min(340px, 112%) !important;
        max-height: 320px !important;
      }
    }

  
    /* =========================================================
       AJUSTE FINAL PEDIDO
       - NÃO diminuir mais a foto no mobile
       - Foto maior no mobile
       - Formulário mais largo no PC
       ========================================================= */

    /* PC: formulário um pouco mais largo, mantendo a foto na esquerda */
    @media (min-width: 1025px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1240px, calc(100% - 48px)) !important;
        grid-template-columns: minmax(0, 1fr) 450px !important;
        gap: 50px !important;
      }

      .hero-sign-area {
        width: 450px !important;
        max-width: 450px !important;
        min-width: 450px !important;
        justify-self: end !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 450px !important;
        max-width: 450px !important;
        min-width: 450px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 520px !important;
        height: 520px !important;
      }
    }

    /* Notebook médio: também mais largo, mas sem quebrar */
    @media (min-width: 981px) and (max-width: 1200px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1160px, calc(100% - 38px)) !important;
        grid-template-columns: minmax(0, 1fr) 430px !important;
        gap: 38px !important;
      }

      .hero-sign-area,
      .hero-form-card,
      .hero-sign-area .form-card {
        width: 430px !important;
        max-width: 430px !important;
        min-width: 430px !important;
      }
    }

    /* Mobile: foto maior e preservada. Não reduzir novamente. */
    @media (max-width: 768px) {
      .hero-photo-stage {
        min-height: clamp(410px, 92vw, 560px) !important;
        max-width: 100% !important;
        justify-self: center !important;
      }

      .hero-person-image {
        width: min(560px, 128%) !important;
        max-height: 620px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(100% - 14px, 620px) !important;
      }

      .hero-sign-area {
        max-width: 620px !important;
        width: 100% !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        max-width: 620px !important;
        width: 100% !important;
      }
    }

    @media (max-width: 480px) {
      .hero-photo-stage {
        min-height: clamp(390px, 102vw, 520px) !important;
      }

      .hero-person-image {
        width: min(520px, 132%) !important;
        max-height: 570px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        width: calc(100% - 10px) !important;
      }
    }

    @media (max-width: 390px) {
      .hero-photo-stage {
        min-height: 380px !important;
      }

      .hero-person-image {
        width: min(500px, 136%) !important;
        max-height: 545px !important;
      }
    }

  
    /* =========================================================
       AJUSTE FINAL - APROXIMAR FORMULÁRIO E AUMENTAR FOTO
       - Abaixo-assinado um pouco mais perto da foto
       - Foto maior no PC e no mobile
       ========================================================= */

    @media (min-width: 1025px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        width: min(1240px, calc(100% - 42px)) !important;
        grid-template-columns: minmax(0, 1fr) 450px !important;
        gap: 28px !important;
      }

      .hero-photo-stage {
        max-width: 700px !important;
        min-height: clamp(560px, 68vh, 720px) !important;
        justify-self: start !important;
      }

      .hero-person-image {
        width: min(690px, 116%) !important;
        max-height: min(760px, calc(100svh - 95px)) !important;
      }

      .hero-sign-area {
        justify-self: start !important;
        margin-left: -8px !important;
      }
    }

    @media (min-width: 981px) and (max-width: 1200px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        grid-template-columns: minmax(0, 1fr) 430px !important;
        gap: 24px !important;
      }

      .hero-photo-stage {
        max-width: 650px !important;
        min-height: 590px !important;
      }

      .hero-person-image {
        width: min(640px, 116%) !important;
        max-height: 700px !important;
      }

      .hero-sign-area {
        justify-self: start !important;
        margin-left: -6px !important;
      }
    }

    @media (max-width: 768px) {
      .hero-photo-stage {
        min-height: clamp(440px, 104vw, 600px) !important;
        max-width: 100% !important;
      }

      .hero-person-image {
        width: min(620px, 142%) !important;
        max-height: 680px !important;
      }

      .hero > .container.hero-wrap.hero-petition-layout {
        gap: 4px !important;
      }
    }

    @media (max-width: 480px) {
      .hero-photo-stage {
        min-height: clamp(420px, 116vw, 560px) !important;
      }

      .hero-person-image {
        width: min(590px, 150%) !important;
        max-height: 640px !important;
      }
    }

    @media (max-width: 390px) {
      .hero-photo-stage {
        min-height: 410px !important;
      }

      .hero-person-image {
        width: min(560px, 154%) !important;
        max-height: 610px !important;
      }
    }

  
    /* =========================================================
       CORREÇÃO FINAL - FOTO REALMENTE MAIOR
       Este bloco vem por último para vencer todos os overrides anteriores.
       ========================================================= */

    @media (min-width: 1025px) {
      .hero-photo-stage {
        max-width: 760px !important;
        min-height: 720px !important;
        justify-self: start !important;
        overflow: visible !important;
        transform: translateX(-28px) !important;
      }

      .hero-person-image {
        width: min(780px, 132%) !important;
        max-width: none !important;
        max-height: 820px !important;
        transform: scale(1.12) !important;
        transform-origin: bottom center !important;
      }

      .floating-card-1 { left: -2% !important; }
      .floating-card-2 { right: -8% !important; }
    }

    @media (min-width: 981px) and (max-width: 1200px) {
      .hero-photo-stage {
        max-width: 720px !important;
        min-height: 690px !important;
        transform: translateX(-22px) !important;
      }

      .hero-person-image {
        width: min(740px, 134%) !important;
        max-width: none !important;
        max-height: 790px !important;
        transform: scale(1.10) !important;
        transform-origin: bottom center !important;
      }
    }

    @media (max-width: 768px) {
      .hero-photo-stage {
        min-height: clamp(520px, 132vw, 720px) !important;
        max-width: 100% !important;
        overflow: visible !important;
      }

      .hero-person-image {
        width: min(760px, 178%) !important;
        max-width: none !important;
        max-height: 780px !important;
        transform: scale(1.12) !important;
        transform-origin: bottom center !important;
      }
    }

    @media (max-width: 480px) {
      .hero-photo-stage {
        min-height: clamp(500px, 145vw, 690px) !important;
      }

      .hero-person-image {
        width: min(720px, 190%) !important;
        max-width: none !important;
        max-height: 740px !important;
        transform: scale(1.12) !important;
      }
    }

    @media (max-width: 390px) {
      .hero-photo-stage {
        min-height: 500px !important;
      }

      .hero-person-image {
        width: min(700px, 198%) !important;
        max-width: none !important;
        max-height: 720px !important;
        transform: scale(1.12) !important;
      }
    }

  
    /* =========================================================
       CORREÇÃO FINAL - FOTO MENOS EXAGERADA
       Reduz um pouco o aumento anterior, mantendo maior que antes.
       ========================================================= */

    @media (min-width: 1025px) {
      .hero-photo-stage {
        max-width: 690px !important;
        min-height: 650px !important;
        transform: translateX(-12px) !important;
      }

      .hero-person-image {
        width: min(690px, 118%) !important;
        max-width: none !important;
        max-height: 740px !important;
        transform: scale(1.03) !important;
        transform-origin: bottom center !important;
      }

      .floating-card-1 { left: 0 !important; }
      .floating-card-2 { right: -2% !important; }
    }

    @media (min-width: 981px) and (max-width: 1200px) {
      .hero-photo-stage {
        max-width: 660px !important;
        min-height: 620px !important;
        transform: translateX(-8px) !important;
      }

      .hero-person-image {
        width: min(650px, 118%) !important;
        max-width: none !important;
        max-height: 700px !important;
        transform: scale(1.02) !important;
      }
    }

    @media (max-width: 768px) {
      .hero-photo-stage {
        min-height: clamp(440px, 108vw, 600px) !important;
        max-width: 100% !important;
      }

      .hero-person-image {
        width: min(610px, 148%) !important;
        max-width: none !important;
        max-height: 660px !important;
        transform: scale(1.03) !important;
        transform-origin: bottom center !important;
      }
    }

    @media (max-width: 480px) {
      .hero-photo-stage {
        min-height: clamp(415px, 120vw, 565px) !important;
      }

      .hero-person-image {
        width: min(575px, 154%) !important;
        max-width: none !important;
        max-height: 625px !important;
        transform: scale(1.03) !important;
      }
    }

    @media (max-width: 390px) {
      .hero-photo-stage {
        min-height: 410px !important;
      }

      .hero-person-image {
        width: min(545px, 158%) !important;
        max-width: none !important;
        max-height: 595px !important;
        transform: scale(1.03) !important;
      }
    }

  
    /* =========================================================
       CORREÇÃO MOBILE - FOTO MENOR SOMENTE NO CELULAR
       Mantém desktop como está e reduz a foto apenas em telas mobile.
       ========================================================= */

    @media (max-width: 768px) {
      .hero-photo-stage {
        min-height: clamp(340px, 82vw, 460px) !important;
        max-width: 100% !important;
      }

      .hero-person-image {
        width: min(470px, 118%) !important;
        max-width: none !important;
        max-height: 500px !important;
        transform: scale(1) !important;
        transform-origin: bottom center !important;
      }
    }

    @media (max-width: 480px) {
      .hero-photo-stage {
        min-height: clamp(310px, 88vw, 420px) !important;
      }

      .hero-person-image {
        width: min(430px, 122%) !important;
        max-width: none !important;
        max-height: 455px !important;
        transform: scale(1) !important;
      }
    }

    @media (max-width: 390px) {
      .hero-photo-stage {
        min-height: 300px !important;
      }

      .hero-person-image {
        width: min(400px, 124%) !important;
        max-width: none !important;
        max-height: 430px !important;
        transform: scale(1) !important;
      }
    }

  
    /* =========================================================
       AJUSTE ÚNICO: Instagram Reel funcionando sem símbolos aparentes
       Observação: Instagram não libera player 100% sem marca via embed oficial.
       Este ajuste usa iframe direto e crop visual para ocultar topo/rodapé.
       ========================================================= */

    .instagram-clean-player {
      position: relative !important;
      overflow: hidden !important;
      background: #000 !important;
    }

    .instagram-clean-player::before,
    .instagram-clean-player::after {
      content: none !important;
      display: none !important;
    }

    .instagram-crop {
      position: absolute;
      inset: 10px;
      z-index: 2;
      border-radius: 28px;
      overflow: hidden;
      background: #000;
    }

    .instagram-video-iframe {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 124%;
      height: 124%;
      transform: translate(-50%, -50%);
      border: 0;
      background: #000;
    }

    @media (max-width: 620px) {
      .instagram-crop {
        inset: 8px;
        border-radius: 24px;
      }

      .instagram-video-iframe {
        width: 128%;
        height: 128%;
      }
    }

  
    /* =========================================================
       VÍDEO LOCAL - assets/video1.mp4
       Substitui o embed do Instagram por player HTML5 limpo.
       ========================================================= */

    .local-video-frame {
      position: relative !important;
      overflow: hidden !important;
      background: #000 !important;
    }

    .local-video-frame::before,
    .local-video-frame::after {
      content: none !important;
      display: none !important;
    }

    .local-campaign-video {
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 28px;
      background: #000;
      display: block;
    }

    @media (max-width: 620px) {
      .local-campaign-video {
        border-radius: 24px;
      }
    }


    /* =========================================================
       BOLINHAS FLUTUANTES PREMIUM: profundidade em todo o site
       ========================================================= */
    .floating-orbs { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
    .orb { position: absolute; width: var(--size); height: var(--size); left: var(--x); top: var(--y); border-radius: 999px; background: radial-gradient(circle at 32% 28%, rgba(255,255,255,.72), var(--orb-color) 42%, transparent 72%); filter: blur(var(--blur)); opacity: var(--opacity); mix-blend-mode: screen; animation: orbFloat var(--duration) ease-in-out infinite alternate; animation-delay: var(--delay); }
    @keyframes orbFloat { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(var(--dx), var(--dy), 0) scale(1.16); } }

    /* =========================================================
       TERCEIRA DOBRA: união da direita com sliders infinitos
       ========================================================= */
    .alliance-section { padding: 112px 0; background: radial-gradient(circle at 16% 22%, rgba(0,255,60,.17), transparent 32%), radial-gradient(circle at 82% 44%, rgba(255,212,0,.13), transparent 34%), radial-gradient(circle at 50% 100%, rgba(255,32,32,.12), transparent 38%), linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.44)); }
    .alliance-title { max-width: 980px; margin: 0 auto 44px; text-align: center; }
    .alliance-title h2 { font-size: clamp(2.5rem, 6vw, 6.7rem); line-height: .82; letter-spacing: -.085em; text-transform: uppercase; margin-bottom: 18px; }
    .alliance-title p { max-width: 820px; margin: 0 auto; color: #dce8d9; font-size: 1.05rem; line-height: 1.72; font-weight: 780; }
    .political-sliders { display: grid; gap: 18px; position: relative; padding-block: 10px; }
    .political-sliders::before, .political-sliders::after { content: ""; position: absolute; top: 0; bottom: 0; width: 14vw; z-index: 5; pointer-events: none; }
    .political-sliders::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
    .political-sliders::after { right: 0; background: linear-gradient(270deg, var(--bg), transparent); }
    .political-slider { overflow: hidden; border-block: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.035); transform: skewY(-1.2deg); }
    .political-track { display: flex; gap: 18px; width: max-content; padding: 20px 18px; animation: politicalMarquee 32s linear infinite; will-change: transform; }
    .political-slider.reverse .political-track { animation-name: politicalMarqueeReverse; animation-duration: 36s; }
    .political-card { width: clamp(160px, 17vw, 230px); min-height: clamp(210px, 21vw, 292px); border-radius: 26px; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)), radial-gradient(circle at 50% 20%, rgba(0,255,60,.16), rgba(0,0,0,.38)); box-shadow: 0 26px 70px rgba(0,0,0,.38); transform: skewY(1.2deg); flex: 0 0 auto; }
    .political-card img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center top; filter: saturate(1.08) contrast(1.05); }
    .political-card::after { content: attr(data-label); position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 10px 12px; border-radius: 999px; background: rgba(0,0,0,.68); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(12px); color: var(--green); font-size: .74rem; font-weight: 1000; text-transform: uppercase; letter-spacing: .06em; text-align: center; }
    .political-card .fallback-name { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center; font-size: clamp(1.2rem, 2vw, 1.8rem); line-height: .95; font-weight: 1000; text-transform: uppercase; letter-spacing: -.05em; color: rgba(255,255,255,.88); }
    @keyframes politicalMarquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }
    @keyframes politicalMarqueeReverse { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    .alliance-callout { margin: 36px auto 0; max-width: 880px; padding: 18px 22px; border-radius: 24px; border: 1px solid rgba(255,212,0,.22); background: linear-gradient(135deg, rgba(255,212,0,.11), rgba(0,255,60,.07), rgba(255,32,32,.08)); color: #fff7d7; font-weight: 900; line-height: 1.55; text-align: center; box-shadow: var(--shadow-yellow); }
    @media (max-width: 760px) { .alliance-section { padding: 78px 0; } .political-track { gap: 12px; padding: 14px 12px; } .political-card { width: 150px; min-height: 205px; border-radius: 20px; } .alliance-callout { text-align: left; } }

    .floating-anti-mst-icon {
      width: 104px;
      height: 104px;
      object-fit: contain;
      display: block;
      animation: antiMstFloat 3.6s ease-in-out infinite;
      will-change: transform;
    }

    @keyframes antiMstFloat {
      0%, 100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-16px);
      }
    }

    .floating-card-1:has(.floating-anti-mst-icon) {
      padding: 0;
      border: 0;
      background: transparent;
      backdrop-filter: none;
      box-shadow: none;
      overflow: visible;
    }

    .floating-anti-mst-icon {
      animation: antiMstFloat 3.6s ease-in-out infinite !important;
      will-change: transform;
    }

    .floating-anti-mst-icon-alt {
      animation-delay: -1.4s !important;
    }

    .floating-card-2:has(.floating-anti-mst-icon) {
      padding: 0;
      border: 0;
      background: transparent;
      backdrop-filter: none;
      box-shadow: none;
      overflow: visible;
    }

    @keyframes antiMstFloat {
      0%, 100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-18px);
      }
    }

    .section-anti-symbol {
      position: absolute;
      z-index: 8;
      pointer-events: none;
      display: block;
    }

    .section-anti-symbol img,
    .section-anti-symbol .symbol-text {
      width: var(--symbol-size, 86px);
      height: auto;
      object-fit: contain;
      display: block;
      animation: antiMstFloat 3.8s ease-in-out infinite;
      animation-delay: var(--symbol-delay, 0s);
      will-change: transform;
      filter: drop-shadow(0 14px 34px rgba(0,0,0,.24));
    }

    .section-anti-symbol.symbol-soft img,
    .section-anti-symbol.symbol-soft .symbol-text {
      opacity: .96;
    }

    .section-anti-symbol .symbol-text {
      width: auto;
      min-width: calc(var(--symbol-size, 86px) * 1.18);
      padding: 10px 16px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(0, 8, 2, .62);
      backdrop-filter: blur(14px);
      box-shadow: 0 16px 40px rgba(0,0,0,.35);
      color: var(--white);
      font-weight: 1000;
      letter-spacing: -.02em;
      text-transform: uppercase;
      text-align: center;
      font-size: calc(var(--symbol-size, 86px) * .22);
      line-height: 1;
      white-space: nowrap;
    }

    .section-anti-symbol.symbol-1 { top: 7%; right: 4%; --symbol-size: 104px; --symbol-delay: -.6s; }
    .section-anti-symbol.symbol-2 { top: 9%; left: 3%; --symbol-size: 110px; --symbol-delay: -1.2s; }
    .section-anti-symbol.symbol-3 { bottom: 10%; right: 4%; --symbol-size: 98px; --symbol-delay: -1.8s; }
    .section-anti-symbol.symbol-4 { top: 12%; left: 4%; --symbol-size: 106px; --symbol-delay: -.9s; }
    .section-anti-symbol.symbol-5 { top: 10%; right: 6%; --symbol-size: 102px; --symbol-delay: -1.5s; }

    @media (max-width: 980px) {
      .section-anti-symbol img {
        width: calc(var(--symbol-size, 86px) * .78);
        height: calc(var(--symbol-size, 86px) * .78);
      }
    }

    @media (max-width: 620px) {
      .section-anti-symbol img {
        width: calc(var(--symbol-size, 86px) * .62);
        height: calc(var(--symbol-size, 86px) * .62);
      }

      .section-anti-symbol.symbol-3,
      .section-anti-symbol.symbol-5 {
        display: none;
      }
    }

    h1,
    h2,
    h3,
    .section-title h2,
    .content-block h2,
    .alliance-title h2,
    .numbers-header h2,
    .manifesto h2,
    .final-cta h2,
    .form-title,
    .floating-text-zero {
      font-family: "Bebas Neue", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
      font-weight: 400 !important;
      letter-spacing: .02em !important;
    }

    .floating-text-zero {
      animation: antiMstFloat 3.6s ease-in-out infinite !important;
      will-change: transform;
      font-size: 1.22rem;
      color: var(--yellow);
      text-shadow: 0 0 18px rgba(255,212,0,.26);
    }

    /* MOBILE: remove o primeiro card flutuante Anti-MST */
    @media (max-width: 980px) {
      .floating-card-1 {
        display: none !important;
      }
    }

    /* AJUSTE FINAL: primeira dobra simples, sem bolinhas e sem excesso de efeitos */
    .floating-orbs,
    .orb {
      display: none !important;
    }

    .hero::before {
      background:
        linear-gradient(90deg, rgba(0,0,0,.82), rgba(4,18,9,.58), rgba(0,0,0,.84)),
        linear-gradient(145deg, #020704 0%, #07170d 52%, #030805 100%) !important;
    }

    .hero::after {
      opacity: .08 !important;
      background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.72) 100%) !important;
      mix-blend-mode: normal !important;
    }

    .hero .light-beam {
      display: none !important;
    }

    /* REMOÇÃO FINAL DAS BOLINHAS FLUTUANTES */
    .floating-orbs,
    .orb,
    [class*="floating-orb"] {
      display: none !important;
    }


    /* =========================================================
       SLIDER DISRUPTIVO: MURAL CINÉTICO MULTICAMADAS
       Muitas fotos aparecem ao mesmo tempo.
       ========================================================= */
    .flux-wall {
      position: relative;
      padding: 104px 0 118px;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(255,255,255,.01), rgba(0,0,0,.22)),
        radial-gradient(circle at 50% 45%, rgba(0,255,60,.08), transparent 32%);
      isolation: isolate;
    }

    .flux-wall::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(2,7,4,.98), transparent 9%, transparent 91%, rgba(2,7,4,.98)),
        linear-gradient(180deg, rgba(2,7,4,.72), transparent 15%, transparent 85%, rgba(2,7,4,.72));
      z-index: 5;
    }

    .flux-wall-head {
      position: relative;
      z-index: 7;
      text-align: center;
      margin-bottom: 54px;
    }

    .flux-wall-head h2 {
      margin: 0;
      font-size: clamp(3rem, 7vw, 7rem);
      line-height: .82;
      letter-spacing: -.065em;
      text-transform: uppercase;
    }

    .flux-wall-head p {
      max-width: 760px;
      margin: 18px auto 0;
      color: var(--muted);
      line-height: 1.7;
    }

    .flux-wall-stage {
      position: relative;
      min-height: 720px;
      transform: rotate(-3deg) scale(1.05);
      transform-origin: center;
    }

    .flux-lane {
      position: absolute;
      left: -5%;
      width: 110%;
      overflow: hidden;
    }

    .flux-lane-one { top: 0; }
    .flux-lane-two { top: 238px; }
    .flux-lane-three { top: 476px; }

    .flux-track {
      display: flex;
      align-items: stretch;
      gap: 18px;
      width: max-content;
      will-change: transform;
      animation: fluxMoveLeft 38s linear infinite;
    }

    .flux-lane-two .flux-track {
      animation-name: fluxMoveRight;
      animation-duration: 44s;
    }

    .flux-lane-three .flux-track {
      animation-duration: 34s;
    }

    @keyframes fluxMoveLeft {
      to { transform: translate3d(-50%, 0, 0); }
    }

    @keyframes fluxMoveRight {
      from { transform: translate3d(-50%, 0, 0); }
      to { transform: translate3d(0, 0, 0); }
    }

    .flux-card {
      position: relative;
      flex: 0 0 210px;
      height: 214px;
      overflow: hidden;
      border-radius: 24px;
      border: 1px solid rgba(255,255,255,.13);
      background: #061008;
      box-shadow: 0 20px 54px rgba(0,0,0,.34);
      transform: translateZ(0);
      transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        filter .35s ease,
        opacity .35s ease,
        border-color .35s ease;
      filter: saturate(.84) contrast(1.02);
    }

    .flux-card.flux-wide { flex-basis: 340px; }
    .flux-card.flux-small { flex-basis: 160px; }
    .flux-card.flux-square { flex-basis: 220px; }
    .flux-card.flux-tall { flex-basis: 185px; }

    .flux-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, transparent 42%, rgba(0,0,0,.88) 100%),
        linear-gradient(125deg, rgba(0,255,60,.10), transparent 44%);
      pointer-events: none;
    }

    .flux-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      transition: transform .6s cubic-bezier(.2,.8,.2,1);
    }

    .flux-card-copy {
      position: absolute;
      left: 18px;
      right: 18px;
      bottom: 16px;
      z-index: 2;
    }

    .flux-card-copy span {
      display: block;
      margin-bottom: 3px;
      color: var(--green);
      font-family: "Bebas Neue", Impact, sans-serif;
      font-size: 1.05rem;
      letter-spacing: .12em;
    }

    .flux-card-copy h3 {
      margin: 0;
      color: #fff !important;
      font-size: clamp(1.35rem, 2.1vw, 2.2rem);
      line-height: .9;
      letter-spacing: -.04em;
      text-transform: uppercase;
    }

    .flux-wall-stage:hover .flux-track {
      animation-play-state: paused;
    }

    .flux-card:hover {
      transform: translateY(-10px) scale(1.08) rotate(1deg);
      filter: none;
      border-color: rgba(0,255,60,.48);
      z-index: 6;
      box-shadow:
        0 30px 90px rgba(0,0,0,.52),
        0 0 38px rgba(0,255,60,.18);
    }

    .flux-card:hover img {
      transform: scale(1.08);
    }

    .flux-center-message {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 8;
      transform: translate(-50%, -50%) rotate(3deg);
      display: grid;
      place-items: center;
      width: 290px;
      aspect-ratio: 1;
      border-radius: 50%;
      background:
        radial-gradient(circle at 32% 28%, rgba(255,255,255,.12), transparent 34%),
        linear-gradient(145deg, rgba(0,255,60,.94), rgba(255,212,0,.92));
      color: #071009;
      border: 10px solid rgba(2,7,4,.78);
      box-shadow:
        0 30px 90px rgba(0,0,0,.48),
        0 0 0 1px rgba(255,255,255,.18),
        0 0 70px rgba(0,255,60,.24);
      text-align: center;
      pointer-events: none;
    }

    .flux-center-message span,
    .flux-center-message strong {
      position: absolute;
      font-family: "Bebas Neue", Impact, sans-serif;
      text-transform: uppercase;
      line-height: .82;
    }

    .flux-center-message span {
      top: 78px;
      font-size: 2.3rem;
      letter-spacing: .08em;
    }

    .flux-center-message strong {
      bottom: 70px;
      font-size: 4.8rem;
      letter-spacing: -.04em;
    }

    @media (max-width: 900px) {
      .flux-wall {
        padding: 82px 0 94px;
      }

      .flux-wall-stage {
        min-height: 620px;
        transform: rotate(-2deg) scale(1.06);
      }

      .flux-lane-two { top: 205px; }
      .flux-lane-three { top: 410px; }

      .flux-card {
        flex-basis: 170px;
        height: 184px;
        border-radius: 20px;
      }

      .flux-card.flux-wide { flex-basis: 260px; }
      .flux-card.flux-small { flex-basis: 132px; }
      .flux-card.flux-square { flex-basis: 180px; }
      .flux-card.flux-tall { flex-basis: 150px; }

      .flux-center-message {
        width: 220px;
        border-width: 8px;
      }

      .flux-center-message span {
        top: 56px;
        font-size: 1.7rem;
      }

      .flux-center-message strong {
        bottom: 50px;
        font-size: 3.7rem;
      }
    }

    @media (max-width: 560px) {
      .flux-wall-stage {
        min-height: 540px;
        transform: rotate(-2deg) scale(1.08);
      }

      .flux-lane-two { top: 176px; }
      .flux-lane-three { top: 352px; }

      .flux-card {
        flex-basis: 142px;
        height: 156px;
      }

      .flux-card.flux-wide { flex-basis: 220px; }
      .flux-card.flux-small { flex-basis: 112px; }
      .flux-card.flux-square { flex-basis: 150px; }
      .flux-card.flux-tall { flex-basis: 128px; }

      .flux-center-message {
        width: 166px;
        border-width: 6px;
      }

      .flux-center-message span {
        top: 42px;
        font-size: 1.2rem;
      }

      .flux-center-message strong {
        bottom: 37px;
        font-size: 2.8rem;
      }

      .flux-card-copy {
        left: 12px;
        right: 12px;
        bottom: 11px;
      }

      .flux-card-copy span {
        font-size: .78rem;
      }

      .flux-card-copy h3 {
        font-size: 1.12rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .flux-track {
        animation-play-state: paused !important;
      }
    }


    /* Distribuição editorial do cluster */
    .impact-card-1  { width: 180px; height: 230px; left: 2%;  top: 54px;  --rotate:-8deg; --float-distance:10px; animation-delay:-.3s; }
    .impact-card-2  { width: 220px; height: 280px; left: 14%; top: 8px;   --rotate:6deg;  --float-distance:15px; animation-delay:-1.1s; }
    .impact-card-3  { width: 190px; height: 245px; left: 31%; top: 56px;  --rotate:-5deg; --float-distance:12px; animation-delay:-.7s; }
    .impact-card-4  { width: 230px; height: 300px; right: 18%; top: 0;    --rotate:7deg;  --float-distance:16px; animation-delay:-1.8s; }
    .impact-card-5  { width: 180px; height: 235px; right: 3%;  top: 66px; --rotate:-7deg; --float-distance:11px; animation-delay:-.5s; }

    .impact-card-6  { width: 210px; height: 270px; left: 5%;  top: 330px; --rotate:8deg;  --float-distance:14px; animation-delay:-1.6s; }
    .impact-card-7  { width: 175px; height: 225px; left: 22%; top: 380px; --rotate:-6deg; --float-distance:12px; animation-delay:-.8s; }
    .impact-card-8  { width: 210px; height: 270px; right: 22%; top: 350px; --rotate:6deg; --float-distance:14px; animation-delay:-1.2s; }
    .impact-card-9  { width: 175px; height: 225px; right: 6%;  top: 400px; --rotate:-8deg; --float-distance:11px; animation-delay:-.4s; }

    .impact-card-10 { width: 170px; height: 215px; left: 28%; bottom: 30px; --rotate:6deg;  --float-distance:10px; animation-delay:-1.0s; }
    .impact-card-11 { width: 200px; height: 255px; left: 46%; bottom: 0;    --rotate:-5deg; --float-distance:13px; animation-delay:-1.5s; }
    .impact-card-12 { width: 170px; height: 220px; right: 28%; bottom: 34px; --rotate:7deg; --float-distance:11px; animation-delay:-.9s; }

    .impact-cta {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 10;
      width: 280px;
      height: 280px;
      transform: translate(-50%, -50%);
      display: grid;
      place-items: center;
      border-radius: 50%;
      text-decoration: none;
      text-align: center;
      color: #061008;
      background:
        radial-gradient(circle at 30% 24%, rgba(255,255,255,.20), transparent 30%),
        linear-gradient(145deg, rgba(0,255,60,.96), rgba(255,212,0,.94));
      border: 12px solid rgba(2,7,4,.88);
      box-shadow:
        0 36px 100px rgba(0,0,0,.58),
        0 0 0 1px rgba(255,255,255,.16),
        0 0 98px rgba(0,255,60,.24);
      transition: transform .28s ease, box-shadow .28s ease;
    }

    .impact-cta:hover {
      transform: translate(-50%, -50%) scale(1.06);
      box-shadow:
        0 44px 120px rgba(0,0,0,.62),
        0 0 0 1px rgba(255,255,255,.24),
        0 0 126px rgba(0,255,60,.34);
    }

    .impact-cta span,
    .impact-cta strong {
      position: absolute;
      font-family: "Bebas Neue", Impact, sans-serif;
      text-transform: uppercase;
      line-height: .84;
    }

    .impact-cta span {
      top: 74px;
      font-size: 1.15rem;
      letter-spacing: .13em;
    }

    .impact-cta strong {
      left: 22px;
      right: 22px;
      bottom: 76px;
      font-size: 3.1rem;
    }

    @media (max-width: 1100px) {
      .impact-stage,
      .impact-cluster {
        min-height: 720px;
      }

      .impact-card {
        border-radius: 22px;
      }

      .impact-card-1  { width: 150px; height: 196px; left: 1%; top: 48px; }
      .impact-card-2  { width: 180px; height: 235px; left: 12%; top: 10px; }
      .impact-card-3  { width: 155px; height: 204px; left: 29%; top: 48px; }
      .impact-card-4  { width: 185px; height: 245px; right: 15%; top: 10px; }
      .impact-card-5  { width: 145px; height: 190px; right: 2%; top: 64px; }
      .impact-card-6  { width: 170px; height: 220px; left: 3%; top: 306px; }
      .impact-card-7  { width: 145px; height: 188px; left: 18%; top: 360px; }
      .impact-card-8  { width: 170px; height: 220px; right: 18%; top: 318px; }
      .impact-card-9  { width: 145px; height: 188px; right: 4%; top: 376px; }
      .impact-card-10 { width: 140px; height: 180px; left: 26%; bottom: 46px; }
      .impact-card-11 { width: 165px; height: 210px; left: 45%; bottom: 16px; }
      .impact-card-12 { width: 140px; height: 182px; right: 25%; bottom: 48px; }

      .impact-cta {
        width: 240px;
        height: 240px;
        border-width: 10px;
      }

      .impact-cta span {
        top: 62px;
        font-size: 1rem;
      }

      .impact-cta strong {
        bottom: 64px;
        font-size: 2.6rem;
      }
    }

    @media (max-width: 760px) {
      .impact-gallery {
        padding: 82px 0 100px;
      }

      .impact-stage,
      .impact-cluster {
        min-height: 980px;
      }

      .impact-backword {
        font-size: clamp(4rem, 22vw, 8rem);
        top: 44%;
      }

      .impact-cluster {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        padding: 0 6px 230px;
      }

      .impact-card {
        position: relative;
        width: 100% !important;
        height: 180px !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        --rotate: 0deg !important;
        animation-duration: 8s;
      }

      .impact-card:nth-child(3n + 2) {
        margin-top: 20px;
      }

      .impact-card:nth-child(3n) {
        margin-top: 8px;
      }

      .impact-cta {
        top: auto;
        bottom: 0;
        width: 188px;
        height: 188px;
        border-width: 7px;
      }

      .impact-cta span {
        top: 44px;
        font-size: .82rem;
      }

      .impact-cta strong {
        left: 18px;
        right: 18px;
        bottom: 44px;
        font-size: 2.05rem;
      }
    }

    @media (max-width: 480px) {
      .impact-cluster {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-bottom: 220px;
      }

      .impact-card {
        height: 172px !important;
      }

      .impact-card:nth-child(odd) {
        margin-top: 0;
      }

      .impact-card:nth-child(even) {
        margin-top: 16px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .impact-card {
        animation: none !important;
      }
    }


  
    /* =========================================================
       TERCEIRA VARIAÇÃO: SLIDER AUTOMÁTICO DE DUAS LINHAS
       Duas esteiras contínuas, automáticas e sem navegação manual.
       ========================================================= */
    .dualauto-gallery {
      position: relative;
      padding: 110px 0 124px;
      overflow: hidden;
      isolation: isolate;
      background:
        linear-gradient(180deg, rgba(255,255,255,.015), rgba(0,0,0,.30)),
        linear-gradient(135deg, rgba(0,255,60,.04), transparent 34%, rgba(255,212,0,.03));
    }

    .dualauto-gallery::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(2,7,4,.96), transparent 8%, transparent 92%, rgba(2,7,4,.96)),
        linear-gradient(180deg, rgba(2,7,4,.34), transparent 18%, transparent 82%, rgba(2,7,4,.46));
    }

    .dualauto-heading {
      position: relative;
      z-index: 5;
      text-align: center;
      margin-bottom: 54px;
    }

    .dualauto-heading h2 {
      margin: 0;
      font-size: clamp(3rem, 7vw, 7rem);
      line-height: .82;
      letter-spacing: -.07em;
      text-transform: uppercase;
    }

    .dualauto-heading p {
      max-width: 760px;
      margin: 18px auto 0;
      color: var(--muted);
      line-height: 1.7;
    }

    .dualauto-stage {
      position: relative;
      width: min(1340px, calc(100% - 20px));
      min-height: 560px;
      margin: 0 auto;
      z-index: 4;
      display: grid;
      align-content: center;
      gap: 34px;
    }

    .dualauto-row {
      position: relative;
      overflow: hidden;
      width: 108%;
      margin-left: -4%;
      padding: 10px 0;
    }

    .dualauto-track {
      display: flex;
      gap: 16px;
      width: max-content;
      will-change: transform;
      animation: dualautoMoveLeft 34s linear infinite;
    }

    .dualauto-row-bottom .dualauto-track {
      animation-name: dualautoMoveRight;
      animation-duration: 38s;
    }

    @keyframes dualautoMoveLeft {
      to { transform: translate3d(-50%, 0, 0); }
    }

    @keyframes dualautoMoveRight {
      from { transform: translate3d(-50%, 0, 0); }
      to { transform: translate3d(0, 0, 0); }
    }

    .dualauto-card {
      position: relative;
      flex: 0 0 210px;
      height: 250px;
      margin: 0;
      overflow: hidden;
      border-radius: 26px;
      border: 1px solid rgba(255,255,255,.14);
      background: #061008;
      box-shadow: 0 24px 64px rgba(0,0,0,.38);
      filter: saturate(.84) contrast(1.04);
      transition:
        transform .34s cubic-bezier(.2,.8,.2,1),
        filter .34s ease,
        border-color .34s ease,
        box-shadow .34s ease;
    }

    .dualauto-card:nth-child(3n) {
      flex-basis: 250px;
    }

    .dualauto-card:nth-child(4n) {
      flex-basis: 176px;
    }

    .dualauto-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, transparent 46%, rgba(0,0,0,.44) 100%),
        linear-gradient(130deg, rgba(0,255,60,.08), transparent 46%);
      pointer-events: none;
    }

    .dualauto-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      transition: transform .56s cubic-bezier(.2,.8,.2,1);
    }

    .dualauto-stage:hover .dualauto-track {
      animation-play-state: paused;
    }

    .dualauto-card:hover {
      z-index: 8;
      filter: none;
      transform: translateY(-8px) scale(1.04);
      border-color: rgba(0,255,60,.44);
      box-shadow:
        0 36px 100px rgba(0,0,0,.56),
        0 0 42px rgba(0,255,60,.18);
    }

    .dualauto-card:hover img {
      transform: scale(1.08);
    }

    .dualauto-cta {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 8;
      transform: translate(-50%, -50%);
      min-width: 320px;
      padding: 16px 22px 18px;
      border-radius: 22px;
      text-decoration: none;
      text-align: center;
      color: #061008;
      background:
        radial-gradient(circle at 30% 24%, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(145deg, rgba(0,255,60,.96), rgba(255,212,0,.94));
      border: 9px solid rgba(2,7,4,.86);
      box-shadow:
        0 34px 98px rgba(0,0,0,.58),
        0 0 0 1px rgba(255,255,255,.18),
        0 0 84px rgba(0,255,60,.24);
      transition: transform .28s ease, box-shadow .28s ease;
      overflow: hidden;
    }

    .dualauto-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(110deg, transparent 0 38%, rgba(255,255,255,.26) 48%, transparent 58%);
      transform: translateX(-120%);
      transition: transform .7s ease;
    }

    .dualauto-cta:hover::before {
      transform: translateX(120%);
    }

    .dualauto-cta:hover {
      transform: translate(-50%, -50%) scale(1.04);
      box-shadow:
        0 42px 120px rgba(0,0,0,.64),
        0 0 0 1px rgba(255,255,255,.24),
        0 0 112px rgba(0,255,60,.34);
    }

    .dualauto-cta span,
    .dualauto-cta strong {
      position: relative;
      z-index: 2;
      font-family: "Bebas Neue", Impact, sans-serif;
      text-transform: uppercase;
      line-height: .84;
      display: block;
    }

    .dualauto-cta span {
      font-size: .96rem;
      letter-spacing: .14em;
    }

    .dualauto-cta strong {
      font-size: 3rem;
      letter-spacing: -.03em;
    }

    @media (max-width: 980px) {
      .dualauto-stage {
        min-height: 500px;
        gap: 24px;
      }

      .dualauto-card {
        flex-basis: 170px;
        height: 205px;
        border-radius: 22px;
      }

      .dualauto-card:nth-child(3n) {
        flex-basis: 210px;
      }

      .dualauto-card:nth-child(4n) {
        flex-basis: 146px;
      }

      .dualauto-cta {
        min-width: 280px;
        border-width: 8px;
      }

      .dualauto-cta strong {
        font-size: 2.5rem;
      }
    }

    @media (max-width: 640px) {
      .dualauto-gallery {
        padding: 82px 0 96px;
      }

      .dualauto-stage {
        min-height: 430px;
        gap: 18px;
      }

      .dualauto-row {
        width: 114%;
        margin-left: -7%;
      }

      .dualauto-track {
        gap: 10px;
        animation-duration: 26s;
      }

      .dualauto-row-bottom .dualauto-track {
        animation-duration: 30s;
      }

      .dualauto-card {
        flex-basis: 128px;
        height: 156px;
        border-radius: 16px;
      }

      .dualauto-card:nth-child(3n) {
        flex-basis: 154px;
      }

      .dualauto-card:nth-child(4n) {
        flex-basis: 112px;
      }

      .dualauto-cta {
        min-width: 208px;
        padding: 12px 14px 14px;
        border-width: 6px;
        border-radius: 18px;
      }

      .dualauto-cta span {
        font-size: .74rem;
      }

      .dualauto-cta strong {
        font-size: 1.92rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .dualauto-track {
        animation-play-state: paused !important;
      }
    }



    /* =========================================================
       CORREÇÃO DEFINITIVA DOS SLIDERS 02 E 03
       Movimento infinito medido por JavaScript, sem saltos,
       sem faixas vazias e com renderização estável no mobile.
       ========================================================= */
    .sliders-js-ready .flux-track,
    .sliders-js-ready .dualauto-track {
      animation: none !important;
      transform: translate3d(0, 0, 0);
      will-change: transform;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transform-style: preserve-3d;
    }

    .flux-lane,
    .dualauto-row {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      contain: paint;
    }

    .flux-card,
    .dualauto-card,
    .flux-card img,
    .dualauto-card img {
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
    }

    .dualauto-stage {
      grid-template-rows: auto auto;
    }

    .dualauto-row,
    .dualauto-track {
      min-height: 270px;
    }

    @media (max-width: 980px) {
      .dualauto-row,
      .dualauto-track {
        min-height: 225px;
      }
    }

    @media (max-width: 640px) {
      .dualauto-stage {
        min-height: 448px;
        align-content: center;
      }

      .dualauto-row,
      .dualauto-track {
        min-height: 176px;
      }

      .flux-wall-stage {
        min-height: 548px;
      }

      .flux-lane {
        left: -8%;
        width: 116%;
      }
    }

    @media (max-width: 390px) {
      .dualauto-stage {
        min-height: 438px;
      }

      .flux-wall-stage {
        min-height: 542px;
      }
    }

  

    /* =========================================================
       AJUSTES FINAIS SOLICITADOS
       - Todos os títulos principais com o mesmo tamanho
       - Textos abaixo dos sliders apenas no mobile
       - Título "A missão" acima do vídeo apenas no mobile
       ========================================================= */
    .main-section-title {
      font-size: clamp(2.6rem, 5.6vw, 6rem) !important;
      line-height: .84 !important;
      letter-spacing: .02em !important;
      text-transform: uppercase;
    }

    .mobile-after-slider,
    .mission-mobile-heading {
      display: none;
    }

    @media (max-width: 980px) {
      .main-section-title {
        font-size: clamp(2.55rem, 11vw, 3.8rem) !important;
        line-height: .88 !important;
      }

      /* Os textos originais permanecem no desktop e somem apenas no mobile. */
      .slider-intro-copy,
      .mission-inline-heading {
        display: none !important;
      }

      /* Cópias posicionadas realmente abaixo de cada conjunto de sliders. */
      .mobile-after-slider {
        display: block;
        position: relative;
        z-index: 6;
        width: min(100% - 26px, 820px);
        margin: 30px auto 0;
        padding: 0;
        text-align: center;
        line-height: 1.72;
      }

      .alliance-mobile-copy {
        color: #dce8d9;
        font-size: 1.05rem;
        font-weight: 780;
      }

      .dualauto-mobile-copy {
        max-width: 760px;
        color: var(--muted);
        font-size: 1rem;
      }

      /* Como este bloco vem antes do vídeo no HTML, aparece acima dele só no mobile. */
      .mission-mobile-heading {
        display: block;
        width: 100%;
        margin: 0 auto 24px;
        text-align: center;
      }

      .mission-mobile-heading .eyebrow {
        margin-bottom: 14px;
      }

      .mission-mobile-heading .main-section-title {
        margin: 0;
      }
    }

    @media (max-width: 620px) {
      .mobile-after-slider {
        width: min(100% - 26px, 760px);
        margin-top: 24px;
        font-size: .98rem;
      }

      .mission-mobile-heading {
        margin-bottom: 20px;
      }
    }


    /* =========================================================
       CORREÇÃO MOBILE IOS/BRAVE
       Impede o navegador de ampliar automaticamente parágrafos
       e trava a tipografia da seção "Como participar".
       ========================================================= */
    html,
    body {
      -webkit-text-size-adjust: 100% !important;
      text-size-adjust: 100% !important;
    }

    @media (max-width: 980px) {
      #movimento .section-title {
        width: 100% !important;
      }

      #movimento .section-title p {
        display: block !important;
        width: 100% !important;
        max-width: 760px !important;
        margin: 18px auto 0 !important;
        padding: 0 !important;
        color: var(--muted) !important;
        font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 1rem !important;
        font-weight: 500 !important;
        line-height: 1.7 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
      }
    }

    @media (max-width: 620px) {
      #movimento .section-title p {
        max-width: 100% !important;
        font-size: .98rem !important;
        line-height: 1.65 !important;
      }
    }



    /* =========================================================
       FORMULÁRIO COMPACTO E MELHOR ENCAIXADO
       Mantém o formulário funcional e reduz excesso de largura,
       altura visual, margens e espaços internos.
       ========================================================= */

    .hero-sign-area {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      margin-left: 0 !important;
    }

    .hero-form-card,
    .hero-sign-area .form-card {
      position: relative !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 404px !important;
      padding: 22px 20px 14px !important;
      margin: 0 auto !important;
      border: 1px solid rgba(255,255,255,.14) !important;
      border-radius: 22px !important;
      background:
        radial-gradient(circle at 100% 0%, rgba(0,255,60,.10), transparent 34%),
        linear-gradient(155deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
      box-shadow:
        0 24px 68px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      overflow: hidden !important;
    }

    .hero-form-card::before,
    .hero-sign-area .form-card::before {
      height: 3px !important;
      background: linear-gradient(90deg, var(--green), var(--yellow)) !important;
    }

    .hero-form-card .form-title,
    .hero-sign-area .form-card .form-title {
      font-size: 21px !important;
      line-height: 1 !important;
      letter-spacing: .055em !important;
      margin: 0 0 8px !important;
    }

    .hero-form-card .form-subtitle,
    .hero-sign-area .form-card .form-subtitle {
      max-width: 330px !important;
      font-size: 12px !important;
      line-height: 1.45 !important;
      margin: 0 0 14px !important;
      color: rgba(245,240,232,.68) !important;
    }

    .hero-form-card iframe,
    .hero-sign-area .form-card iframe {
      width: 100% !important;
      max-width: 100% !important;
      min-height: 448px !important;
      height: 448px !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 14px !important;
      background: rgba(0,0,0,.10) !important;
      display: block !important;
    }

    .hero-form-card > p[style],
    .hero-sign-area .form-card > p[style] {
      font-size: 8.5px !important;
      line-height: 1.35 !important;
      margin: 8px 2px 0 !important;
      color: rgba(245,240,232,.56) !important;
    }

    @media (min-width: 981px) {
      .hero > .container.hero-wrap.hero-petition-layout {
        grid-template-columns: minmax(0, 1fr) 404px !important;
        gap: 34px !important;
      }

      .hero-sign-area {
        width: 404px !important;
        min-width: 404px !important;
        max-width: 404px !important;
        justify-self: end !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 404px !important;
        min-width: 404px !important;
        max-width: 404px !important;
      }
    }

    @media (max-width: 980px) {
      .hero-sign-area {
        width: 100% !important;
        max-width: 390px !important;
        margin: 0 auto !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: 100% !important;
        max-width: 390px !important;
        padding: 19px 16px 12px !important;
        border-radius: 20px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 458px !important;
        height: 458px !important;
        border-radius: 12px !important;
      }
    }

    @media (max-width: 480px) {
      .hero-sign-area {
        max-width: 360px !important;
      }

      .hero-form-card,
      .hero-sign-area .form-card {
        width: calc(100% - 8px) !important;
        max-width: 360px !important;
        padding: 17px 12px 10px !important;
        border-radius: 18px !important;
      }

      .hero-form-card .form-title,
      .hero-sign-area .form-card .form-title {
        font-size: 19px !important;
        margin-bottom: 7px !important;
      }

      .hero-form-card .form-subtitle,
      .hero-sign-area .form-card .form-subtitle {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
      }

      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        min-height: 448px !important;
        height: 448px !important;
      }

      .hero-form-card > p[style],
      .hero-sign-area .form-card > p[style] {
        font-size: 8px !important;
        margin-top: 6px !important;
      }
    }

  
    /* =========================================================
       CORREÇÃO FINAL — REMOVE ESPAÇO VAZIO DO TALLY
       O iframe estava travado em 448px mesmo com o formulário menor.
       ========================================================= */
    .hero-form-card iframe,
    .hero-sign-area .form-card iframe {
      width: 100% !important;
      min-height: 0 !important;
      height: 390px !important;
      max-height: 390px !important;
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
    }

    .hero-form-card > p[style],
    .hero-sign-area .form-card > p[style] {
      margin: 7px 0 0 !important;
      padding: 0 !important;
      line-height: 1.35 !important;
    }

    .hero-form-card,
    .hero-sign-area .form-card {
      padding-bottom: 14px !important;
    }

    @media (max-width: 620px) {
      .hero-form-card iframe,
      .hero-sign-area .form-card iframe {
        height: 405px !important;
        max-height: 405px !important;
      }
    }

  

    /* =========================================================
       CONTROLE MANUAL DE TODOS OS SLIDERS
       Mouse no computador e dedo no celular, sem quebrar a
       rolagem vertical da página nem a animação automática.
       ========================================================= */
    .political-slider,
    .flux-wall-stage,
    .dualauto-stage {
      cursor: grab;
      touch-action: pan-y;
      user-select: none;
      -webkit-user-select: none;
      overscroll-behavior-inline: contain;
    }

    .political-slider.is-user-dragging,
    .flux-wall-stage.is-user-dragging,
    .dualauto-stage.is-user-dragging {
      cursor: grabbing;
    }

    .political-slider img,
    .flux-wall-stage img,
    .dualauto-stage img {
      pointer-events: none;
      user-select: none;
      -webkit-user-select: none;
      -webkit-user-drag: none;
    }

    /* =========================================================
       HIERARQUIA NATURAL DOS TEXTOS
       Mantém Bebas Neue nos títulos e evita deixar todos os
       parágrafos com o mesmo tamanho típico de template.
       ========================================================= */
    .hero-copy,
    .alliance-title p,
    .numbers-header p,
    .manifesto p,
    .final-cta p {
      font-size: 1.04rem !important;
      line-height: 1.72 !important;
      font-weight: 500 !important;
      letter-spacing: -.006em !important;
    }

    .section-title p,
    .content-block p,
    .mobile-after-slider,
    #movimento .section-title p {
      font-size: .97rem !important;
      line-height: 1.68 !important;
      font-weight: 450 !important;
      letter-spacing: -.004em !important;
    }

    .warning-strip,
    .impact-panel p,
    .emblem-card p {
      font-size: .93rem !important;
      line-height: 1.62 !important;
      font-weight: 600 !important;
    }

    .card p,
    .mini-card p,
    .number-card p {
      font-size: .89rem !important;
      line-height: 1.58 !important;
      font-weight: 450 !important;
      letter-spacing: 0 !important;
    }

    .stat span,
    .badge,
    .political-card::after,
    .video-caption {
      font-size: .76rem !important;
      line-height: 1.3 !important;
    }

    .section-title p,
    .alliance-title p,
    .numbers-header p,
    .manifesto p,
    .final-cta p {
      text-wrap: pretty;
    }

    @media (max-width: 980px) {
      .hero-copy,
      .alliance-title p,
      .numbers-header p,
      .manifesto p,
      .final-cta p {
        font-size: .98rem !important;
        line-height: 1.66 !important;
      }

      .section-title p,
      .content-block p,
      .mobile-after-slider,
      #movimento .section-title p {
        font-size: .93rem !important;
        line-height: 1.62 !important;
      }

      .warning-strip,
      .impact-panel p,
      .emblem-card p {
        font-size: .90rem !important;
      }

      .card p,
      .mini-card p,
      .number-card p {
        font-size: .87rem !important;
        line-height: 1.54 !important;
      }
    }

    @media (max-width: 620px) {
      .hero-copy,
      .alliance-title p,
      .numbers-header p,
      .manifesto p,
      .final-cta p {
        font-size: .95rem !important;
        line-height: 1.62 !important;
      }

      .section-title p,
      .content-block p,
      .mobile-after-slider,
      #movimento .section-title p {
        font-size: .91rem !important;
        line-height: 1.58 !important;
      }

      .warning-strip,
      .impact-panel p,
      .emblem-card p {
        font-size: .88rem !important;
        line-height: 1.56 !important;
      }

      .card p,
      .mini-card p,
      .number-card p {
        font-size: .85rem !important;
        line-height: 1.52 !important;
      }
    }

  


/* ============================================================
   BLOCO DE ESTILOS ORIGINAL 2
   ============================================================ */

    /* =========================================================
       BARRA INFERIOR DE ACEITE — COMPACTA E RESPONSIVA
       ========================================================= */
    .cause-consent-bar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 99999;
      opacity: 0;
      visibility: hidden;
      transform: translateY(100%);
      color: #f8fff4;
      background:
        radial-gradient(circle at 88% 0%, rgba(0, 255, 60, 0.12), transparent 34%),
        rgba(2, 12, 6, 0.97);
      border-top: 1px solid rgba(0, 255, 60, 0.24);
      box-shadow: 0 -14px 44px rgba(0, 0, 0, 0.48);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      transition:
        opacity 0.22s ease,
        visibility 0.22s ease,
        transform 0.22s ease;
    }

    .cause-consent-bar.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .cause-consent-bar__inner {
      width: min(1180px, calc(100% - 32px));
      min-height: 68px;
      margin: 0 auto;
      padding: 9px 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 18px;
    }

    .cause-consent-bar__copy {
      min-width: 0;
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .cause-consent-bar__copy strong {
      display: inline;
      margin-right: 5px;
      color: #ffffff;
      font-size: 13px;
      line-height: 1.35;
      font-weight: 900;
    }

    .cause-consent-bar__copy span {
      color: rgba(248, 255, 244, 0.70);
      font-size: 10.5px;
      line-height: 1.42;
    }

    .cause-consent-bar__links {
      display: inline;
      margin-left: 5px;
      color: rgba(248, 255, 244, 0.48);
      font-size: 9px;
      line-height: 1.35;
      white-space: nowrap;
    }

    .cause-consent-bar__links a {
      color: #00ff3c;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .cause-consent-bar__button {
      min-width: 118px;
      min-height: 40px;
      padding: 10px 19px;
      border: 1px solid rgba(255, 255, 255, 0.24);
      border-radius: 999px;
      color: #041006;
      background: linear-gradient(135deg, #00ff3c 0%, #72f000 58%, #d8ed00 100%);
      box-shadow:
        0 8px 24px rgba(0, 255, 60, 0.23),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
      font-family: Inter, system-ui, sans-serif;
      font-size: 11px;
      font-weight: 950;
      letter-spacing: 0.035em;
      text-transform: uppercase;
      cursor: pointer;
      white-space: nowrap;
      transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease;
    }

    .cause-consent-bar__button:hover {
      transform: translateY(-1px);
      filter: brightness(1.06);
      box-shadow:
        0 11px 28px rgba(0, 255, 60, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.40);
    }

    .cause-consent-bar__button:active {
      transform: scale(0.98);
    }

    /* Reserva espaço para a barra e impede que ela cubra o formulário. */
    body.cause-consent-visible {
      padding-bottom: 68px !important;
    }

    @media (min-width: 981px) {
      body.cause-consent-visible
      .hero > .container.hero-wrap.hero-petition-layout {
        transform: translateY(-24px);
      }
    }

    @media (max-width: 720px) {
      .cause-consent-bar__inner {
        width: min(100% - 20px, 680px);
        min-height: 92px;
        padding: 9px 0;
        gap: 10px;
      }

      .cause-consent-bar__copy strong {
        display: block;
        margin: 0 0 2px;
        font-size: 12px;
      }

      .cause-consent-bar__copy span {
        display: block;
        font-size: 9.5px;
        line-height: 1.35;
      }

      .cause-consent-bar__links {
        display: block;
        margin: 3px 0 0;
        font-size: 8.5px;
        white-space: normal;
      }

      .cause-consent-bar__button {
        min-width: 94px;
        min-height: 38px;
        padding: 9px 13px;
        font-size: 10px;
      }

      body.cause-consent-visible {
        padding-bottom: 92px !important;
      }
    }

    @media (max-width: 390px) {
      .cause-consent-bar__inner {
        grid-template-columns: minmax(0, 1fr) 86px;
        min-height: 102px;
        gap: 8px;
      }

      .cause-consent-bar__copy span {
        font-size: 9px;
      }

      .cause-consent-bar__button {
        min-width: 86px;
        padding-inline: 9px;
        font-size: 9.5px;
      }

      body.cause-consent-visible {
        padding-bottom: 102px !important;
      }
    }

/* ============================================================
   OTIMIZAÇÕES DE RENDERIZAÇÃO
   Não alteram cores, tamanhos, posições ou animações.
   ============================================================ */

.political-track,
.flux-track,
.dualauto-track {
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.political-slider,
.flux-wall-stage,
.dualauto-stage {
  contain: paint;
}

.political-card img,
.flux-card img,
.dualauto-card img {
  transform: translateZ(0);
}

