/* ═══════════════════════════════════════════
   SÔNIA SAMUDIO 11000 · DEPUTADA ESTADUAL RJ
   Nova AI Solutions
   ═══════════════════════════════════════════ */

:root{
  --navy:      #0B1F42;
  --navy-2:    #112A54;
  --navy-3:    #16346A;
  --navy-deep: #071528;

  --orange:      #FA3D0C;
  --orange-hot:  #FF6A3D;
  --orange-deep: #C22C05;

  --purple:      #8E44AD;
  --purple-hot:  #B463D6;
  --purple-soft: rgba(142,68,173,.12);

  --sky:   #86BAEC;
  --paper: #F3F6FC;
  --paper-2:#E7ECF7;
  --white: #FFFFFF;
  --smoke: #7C879C;

  --d: 'Archivo', 'Arial Narrow', sans-serif;
  --b: 'Sora', system-ui, sans-serif;
  --m: 'JetBrains Mono', ui-monospace, monospace;

  --pad: clamp(20px, 5vw, 80px);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body{
  background:var(--paper); color:var(--navy);
  font-family:var(--b); font-weight:400; line-height:1.66;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
body.is-locked{ overflow:hidden }
img{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
ul,ol{ list-style:none }
::selection{ background:var(--orange); color:#fff }
:focus-visible{ outline:2px solid var(--orange); outline-offset:3px; border-radius:2px }

.h2,.hero-h1,.cta-h2{
  font-family:var(--d);
  font-variation-settings:'wdth' 108,'wght' 800;
  font-weight:800; letter-spacing:-.02em; line-height:.98;
}
.num, .num-chip, .nc{ font-family:var(--m); font-weight:700 }

/* ─────────── LOADER ─────────── */
#loader{
  position:fixed; inset:0; z-index:9999; background:var(--navy-deep); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .65s var(--ease), visibility .65s;
}
#loader.gone{ opacity:0; visibility:hidden }

.loader-rays{
  position:absolute; left:50%; top:50%; width:220vmax; height:220vmax;
  transform:translate(-50%,-50%); pointer-events:none; opacity:.5;
  background:conic-gradient(from 0deg,
    rgba(250,61,12,.14) 0deg, transparent 14deg,
    transparent 34deg, rgba(250,61,12,.14) 42deg,
    transparent 62deg, transparent 92deg,
    rgba(142,68,173,.12) 100deg, transparent 118deg,
    transparent 220deg, rgba(250,61,12,.1) 230deg, transparent 250deg);
  animation:raysSpin 16s linear infinite;
}
@keyframes raysSpin{ to{ transform:translate(-50%,-50%) rotate(360deg) } }

.loader-glow{
  position:absolute; left:50%; top:50%; width:min(640px,120vw); aspect-ratio:1/1; border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none;
  background:radial-gradient(circle, rgba(250,61,12,.26), rgba(250,61,12,0) 62%);
  animation:glowPulse 2.4s ease-in-out infinite;
}
@keyframes glowPulse{ 0%,100%{ opacity:.5; transform:translate(-50%,-50%) scale(.94) } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.05) } }

/* coluna central — flex garante centralização real em qualquer altura de tela */
.loader-center{
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:26px;
  padding-inline:24px;
}

.loader-stage{ position:relative; width:min(360px,72vw); display:flex; align-items:center; justify-content:center }
.loader-logo{
  position:relative; z-index:2; width:100%; height:auto;
  opacity:0; transform:scale(.88);
  filter:drop-shadow(0 0 0 rgba(250,61,12,0));
  animation:logoIn .8s var(--ease) .25s forwards, logoGlow 2.4s ease-in-out .95s infinite;
}
@keyframes logoIn{ to{ opacity:1; transform:none } }
@keyframes logoGlow{
  0%,100%{ filter:drop-shadow(0 0 14px rgba(250,61,12,.25)) }
  50%{ filter:drop-shadow(0 0 30px rgba(250,61,12,.55)) }
}

/* estilhaço de luz que atravessa o logo quando ele acende */
.loader-flare{
  position:absolute; top:-10%; bottom:-10%; left:-40%; width:32%; z-index:3;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.65), transparent);
  transform:skewX(-16deg); opacity:0;
  animation:flareGo .85s var(--ease) 1.05s forwards;
}
@keyframes flareGo{ 0%{ opacity:0; left:-40% } 18%{ opacity:1 } 65%{ opacity:.55 } 100%{ opacity:0; left:130% } }

.loader-role{
  display:flex; align-items:center; gap:14px;
  font-family:var(--m); font-size:9.5px; letter-spacing:.3em; color:var(--orange-hot); text-align:center;
  opacity:0; animation:fadeUp .6s var(--ease) 1.25s forwards;
}
.ln-line{ width:22px; height:1px; background:rgba(250,61,12,.35) }
.loader-track{ width:min(190px,44vw); height:2px; background:rgba(255,255,255,.14); overflow:hidden; margin-top:2px }
.loader-track i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--orange),var(--orange-hot)); animation:barGo 1.5s var(--ease) .35s forwards }
@keyframes barGo{ to{ width:100% } }
@keyframes fadeUp{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }

/* ─────────── PROGRESSO ─────────── */
#scrollbar{ position:fixed; top:0; left:0; right:0; height:2px; z-index:900; pointer-events:none }
#scrollbar i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--orange),var(--orange-hot)) }

/* ─────────── NAV ─────────── */
#nav{
  position:fixed; top:0; left:0; right:0; z-index:800;
  display:flex; align-items:center; gap:24px;
  padding:14px var(--pad);
  transition:background .4s, backdrop-filter .4s, border-color .4s, padding .4s;
  border-bottom:1px solid transparent;
}
#nav.stuck{
  background:rgba(11,31,66,.9); backdrop-filter:blur(16px) saturate(1.2);
  border-bottom-color:rgba(255,255,255,.08); padding-top:10px; padding-bottom:10px;
}
.nav-brand{ display:flex; align-items:center; margin-right:auto }
.nav-logo{ height:38px; transition:transform .4s var(--ease) }
.nav-brand:hover .nav-logo{ transform:scale(1.04) }
.nav-links{ display:flex; gap:28px }
.nav-links a{ font-size:13.5px; font-weight:500; color:#C9D2E6; position:relative; padding:4px 0; transition:color .3s }
.nav-links a::after{ content:''; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--orange); transition:width .35s var(--ease) }
.nav-links a:hover{ color:#fff }
.nav-links a:hover::after{ width:100% }

.btn-nav{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:999px; background:var(--orange); color:#fff;
  font-size:13px; font-weight:600;
  transition:background .3s, box-shadow .3s, transform .3s;
}
.btn-nav .num{ font-size:12px; opacity:.85 }
.btn-nav:hover{ background:var(--orange-hot); box-shadow:0 0 26px rgba(250,61,12,.5) }

#burger{ display:none; width:38px; height:38px; flex-direction:column; justify-content:center; gap:6px; align-items:center }
#burger i{ width:20px; height:2px; background:#fff; transition:transform .35s var(--ease) }
#burger.on i:first-child{ transform:translateY(4px) rotate(45deg) }
#burger.on i:last-child{ transform:translateY(-4px) rotate(-45deg) }

#drawer{
  position:fixed; inset:0; z-index:790; background:var(--navy);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
}
#drawer.open{ opacity:1; visibility:visible }
#drawer a{
  font-family:var(--d); font-variation-settings:'wdth' 108,'wght' 700;
  font-size:clamp(24px,7vw,34px); color:#fff; letter-spacing:-.01em;
  padding:9px 0; opacity:0; transform:translateY(14px);
}
#drawer.open a{ animation:fadeUp .5s var(--ease) forwards }
#drawer.open a:nth-child(1){animation-delay:.06s}
#drawer.open a:nth-child(2){animation-delay:.11s}
#drawer.open a:nth-child(3){animation-delay:.16s}
#drawer.open a:nth-child(4){animation-delay:.21s}
#drawer .drawer-cta{ margin-top:22px; font-size:15px; font-family:var(--b); font-weight:600; letter-spacing:.02em; padding:13px 30px; border-radius:999px; background:var(--orange) }

/* ─────────── BOTÕES ─────────── */
.btn{
  position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 30px; border-radius:999px; font-size:14px; font-weight:600; letter-spacing:.01em;
  transition:transform .35s var(--ease), background .3s, box-shadow .35s, color .3s, border-color .3s;
  will-change:transform;
}
.btn-orange{ background:var(--orange); color:#fff; box-shadow:0 10px 34px -12px rgba(250,61,12,.85) }
.btn-orange:hover{ background:var(--orange-hot); box-shadow:0 16px 48px -12px rgba(255,106,61,.75) }
.cta-hint{ opacity:.78; font-weight:500; font-size:.82em; letter-spacing:0 }
.btn-navy{ background:var(--navy); color:#fff; box-shadow:0 10px 30px -14px rgba(11,31,66,.6) }
.btn-navy:hover{ background:var(--navy-3) }
.btn-purple{ background:var(--purple); color:#fff; box-shadow:0 10px 30px -14px rgba(142,68,173,.6) }
.btn-purple:hover{ background:var(--purple-hot) }
.btn-ghost{ border:1px solid rgba(255,255,255,.28); color:#fff }
.btn-ghost:hover{ border-color:var(--orange); background:rgba(250,61,12,.12) }
.btn-white{ background:#fff; color:var(--navy) }
.btn-white:hover{ box-shadow:0 16px 46px -14px rgba(0,0,0,.35) }
.btn-white.is-copied{ background:var(--navy); color:#fff }
.btn-outline-light{ border:1px solid rgba(255,255,255,.5); color:#fff }
.btn-outline-light:hover{ background:rgba(255,255,255,.14); border-color:#fff }
.num-chip{ background:rgba(255,255,255,.22); padding:2px 8px; border-radius:6px; font-size:12px }
.rip{ position:absolute; border-radius:50%; transform:translate(-50%,-50%) scale(0); background:rgba(255,255,255,.4); pointer-events:none; animation:rip .65s var(--ease) forwards }
.btn-white .rip{ background:rgba(11,31,66,.25) }
@keyframes rip{ to{ transform:translate(-50%,-50%) scale(1); opacity:0 } }

/* ─────────── UTIL ─────────── */
.wrap{ max-width:1240px; margin:0 auto; padding-inline:var(--pad); position:relative; z-index:2 }
.wrap-narrow{ max-width:860px }
.sec{ padding-block:clamp(72px,10vw,140px); position:relative }
.sec-dark{ background:var(--navy); color:#fff }
.sec-head{ max-width:720px; margin-bottom:clamp(44px,6vw,70px) }
.tag{
  display:inline-flex; align-items:center; gap:9px; font-family:var(--m); font-size:10px; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--orange); margin-bottom:20px;
}
.tag::before{ content:''; width:26px; height:1px; background:var(--orange-deep) }
.tag-purple{ color:var(--purple) }
.tag-purple::before{ background:var(--purple) }
.tag-light{ color:rgba(255,255,255,.9) }
.tag-light::before{ background:rgba(255,255,255,.55) }
.h2{ font-size:clamp(32px,6vw,68px); margin-bottom:20px; color:var(--navy) }
.sec-dark .h2{ color:#fff }
.h2 em{ font-style:normal; color:var(--orange) }
.sec-dark .h2 em{ color:var(--orange-hot) }
.lead{ font-size:clamp(15px,1.7vw,18px); color:var(--smoke); max-width:60ch }
.sec-dark .lead{ color:#AEB9CF }

.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease) }
.reveal.in{ opacity:1; transform:none }

/* ─────────── HERO ─────────── */
#topo{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding:118px var(--pad) 90px; overflow:hidden;
  background:
    radial-gradient(120% 90% at 80% 8%, rgba(250,61,12,.16), transparent 58%),
    linear-gradient(180deg,#081326 0%, var(--navy) 62%, var(--navy) 100%);
  color:#fff;
}
.hero-rules{ position:absolute; inset:0; display:flex; justify-content:space-between; padding-inline:var(--pad); pointer-events:none; z-index:1 }
.hero-rules i{ width:1px; background:linear-gradient(180deg,transparent,rgba(255,255,255,.06) 25%,rgba(255,255,255,.06) 75%,transparent) }
.hero-glow{
  position:absolute; right:-10%; top:20%; width:56%; aspect-ratio:1/1; border-radius:50%;
  background:radial-gradient(circle, rgba(142,68,173,.18), transparent 68%);
  filter:blur(10px); pointer-events:none; z-index:0;
}
.hero-inner{
  position:relative; z-index:3; width:100%; max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,70px); align-items:center;
}
.eyebrow{ display:flex; align-items:center; gap:11px; font-family:var(--m); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#9DAAC4; margin-bottom:26px }
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 0 rgba(250,61,12,.6); animation:pulse 2.4s infinite }
@keyframes pulse{ 70%{ box-shadow:0 0 0 12px rgba(250,61,12,0) } 100%{ box-shadow:0 0 0 0 rgba(250,61,12,0) } }

.hero-h1{ font-size:clamp(48px,10.5vw,120px); margin-bottom:14px; color:#fff }
.hero-h1 .line{ display:block; overflow:hidden }
.hero-h1 .word{ display:block; transform:translateY(105%); animation:wordUp 1s var(--ease) forwards }
.hero-h1 .line:nth-child(1) .word{ animation-delay:.15s }
.hero-h1 .line:nth-child(2) .word{ animation-delay:.28s; color:var(--orange) }
@keyframes wordUp{ to{ transform:none } }

.hero-role{ font-family:var(--m); font-size:14px; letter-spacing:.1em; color:#C9D2E6; margin-bottom:24px }
.hero-role b{ color:var(--orange-hot) }
.hero-desc{ font-size:clamp(15px,1.7vw,17.5px); color:#AEB9CF; max-width:50ch; margin-bottom:36px }
.hero-cta{ display:flex; flex-wrap:wrap; gap:13px; margin-bottom:52px }

.hero-stats{ display:flex; gap:clamp(24px,4vw,50px); flex-wrap:wrap }
.hero-stats li{ display:flex; flex-direction:column; gap:4px; position:relative; padding-left:16px }
.hero-stats li::before{ content:''; position:absolute; left:0; top:6px; bottom:6px; width:2px; background:var(--orange) }
.hero-stats b{ font-family:var(--d); font-size:clamp(26px,4vw,38px); line-height:1; font-variation-settings:'wdth' 100,'wght' 800; color:#fff }
.hero-stats b.nc{ font-family:var(--m); font-size:clamp(20px,3vw,28px) }
.hero-stats span{ font-family:var(--m); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#8593AC; line-height:1.5 }

.hero-photo{ position:relative; will-change:transform; transform-style:preserve-3d }
.hero-photo-frame{
  position:relative; overflow:hidden; border-radius:4px;
  background:var(--navy-2); border:1px solid rgba(255,255,255,.1);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.03);
  opacity:0; animation:fadeUp 1.1s var(--ease) .4s forwards;
}
.hero-photo-frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(200deg, rgba(250,61,12,.16), transparent 46%),
             linear-gradient(0deg, rgba(7,21,40,.8), transparent 45%);
  pointer-events:none;
}
#hero-img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%; filter:contrast(1.05) saturate(1.02) }
.hero-sweep{
  position:absolute; top:0; left:-60%; width:45%; height:100%; z-index:2;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);
  animation:sweep 5.5s var(--ease) 1.6s infinite;
}
@keyframes sweep{ 0%{left:-60%} 45%,100%{left:130%} }
.hero-photo figcaption{
  position:absolute; left:0; bottom:0; z-index:3; display:flex; flex-direction:column; gap:2px;
  padding:18px 22px; width:100%;
  background:linear-gradient(0deg, rgba(7,21,40,.92) 30%, transparent);
}
.hero-photo figcaption b{ font-family:var(--d); font-variation-settings:'wdth' 108,'wght' 700; font-size:16px; letter-spacing:.03em; color:#fff }
.hero-photo figcaption span{ font-family:var(--m); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#9DAAC4 }

.scroll-hint{
  position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:4;
  display:flex; align-items:center; gap:9px; font-family:var(--m); font-size:9.5px;
  letter-spacing:.28em; text-transform:uppercase; color:#8593AC;
}
.scroll-hint i{ width:1px; height:28px; background:linear-gradient(180deg,var(--orange),transparent); animation:drop 2s var(--ease) infinite }
@keyframes drop{ 0%{ transform:scaleY(.2); transform-origin:top } 60%{ transform:scaleY(1); transform-origin:top } 61%{ transform-origin:bottom } 100%{ transform:scaleY(0); transform-origin:bottom } }

/* ─────────── MARQUEE ─────────── */
.marquee{ background:var(--orange); overflow:hidden; padding:15px 0; position:relative; z-index:3 }
.marquee-row{ display:flex; width:max-content; animation:mq 32s linear infinite }
.marquee-row span{
  font-family:var(--d); font-variation-settings:'wdth' 116,'wght' 800;
  font-size:clamp(14px,1.9vw,20px); letter-spacing:.04em; text-transform:uppercase; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
}
.marquee-row i{ font-style:normal; margin:0 20px; font-size:.6em; opacity:.65 }
@keyframes mq{ to{ transform:translateX(-50%) } }

/* ─────────── QUEM É ─────────── */
.quem-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:start }
.quem-photo{ position:relative }
.quem-photo img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%;
  border-radius:4px; border:1px solid var(--paper-2);
  box-shadow:0 44px 90px -36px rgba(11,31,66,.35);
}
.quem-badge{
  position:absolute; left:-14px; bottom:26px; background:var(--orange); color:#fff;
  padding:16px 20px; border-radius:3px; display:flex; flex-direction:column; align-items:flex-start; line-height:1;
  box-shadow:0 20px 46px -16px rgba(250,61,12,.7);
}
.quem-badge b{ font-family:var(--m); font-weight:800; font-size:26px }
.quem-badge i{ font-family:var(--m); font-style:normal; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; opacity:.9; margin-top:6px }
.quem-copy p{ font-size:15.5px; color:#4B5468; margin-bottom:18px; max-width:58ch }
.quem-quote{
  margin:28px 0 30px; border-left:2px solid var(--orange); padding:4px 0 4px 20px;
}
.quem-quote p{ font-family:var(--d); font-variation-settings:'wdth' 100,'wght' 600; font-size:clamp(18px,2.4vw,24px); color:var(--navy); margin-bottom:8px; line-height:1.3 }
.quem-quote span{ font-family:var(--m); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--orange) }

/* ─────────── PROPOSTAS ─────────── */
.props-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08) }
.prop-card{ background:var(--navy); padding:34px 26px 38px; position:relative; overflow:hidden; transition:background .4s }
.prop-card::before{
  content:''; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--orange);
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.prop-card:hover{ background:var(--navy-2) }
.prop-card:hover::before{ transform:scaleX(1) }
.prop-purple::before{ background:var(--purple); transform:scaleX(1) }
.prop-purple{ background:var(--navy-2) }
.prop-purple .prop-ico{ color:var(--purple-hot) }
.prop-ico{ display:inline-flex; width:38px; height:38px; color:var(--orange-hot); margin-bottom:16px }
.prop-ico svg{ width:100%; height:100% }
.prop-n{ position:absolute; top:32px; right:26px; font-family:var(--m); font-size:11px; letter-spacing:.14em; color:rgba(255,255,255,.28) }
.prop-card h3{ font-family:var(--d); font-variation-settings:'wdth' 104,'wght' 700; font-size:19px; color:#fff; margin-bottom:11px; line-height:1.2 }
.prop-card p{ font-size:14.5px; color:#A8B2C8 }

/* ─────────── A CAUSA ─────────── */
.sec-causa{ background:linear-gradient(160deg, var(--purple-soft), transparent 55%), var(--paper) }
.sec-causa .h2 em{ color:var(--purple) }
.causa-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(30px,5vw,64px); align-items:center }
.causa-copy p{ font-size:15.5px; color:#4B5468; max-width:58ch; margin-bottom:26px }
.causa-list{ display:flex; flex-direction:column; margin-bottom:32px }
.causa-list li{ padding:16px 0; border-top:1px solid var(--paper-2); display:flex; flex-direction:column; gap:4px }
.causa-list li:last-child{ border-bottom:1px solid var(--paper-2) }
.causa-list b{ font-family:var(--d); font-variation-settings:'wdth' 104,'wght' 700; font-size:15.5px; color:var(--navy) }
.causa-list b::before{ content:'— '; color:var(--purple) }
.causa-list span{ font-size:14px; color:var(--smoke); padding-left:14px }
.causa-photo{ position:relative; border-radius:4px; overflow:hidden; box-shadow:0 44px 90px -34px rgba(142,68,173,.35) }
.causa-photo img{ width:100%; height:auto; display:block }
.causa-photo::after{ content:''; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(142,68,173,.25) }

/* ─────────── FAQ ─────────── */
.faq{ border-top:1px solid var(--paper-2) }
.faq details{ border-bottom:1px solid var(--paper-2) }
.faq summary{
  list-style:none; cursor:pointer; padding:24px 40px 24px 0; position:relative;
  font-family:var(--d); font-variation-settings:'wdth' 100,'wght' 600;
  font-size:clamp(16px,2.2vw,20px); color:var(--navy); transition:color .3s;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary:hover{ color:var(--orange) }
.faq summary::after{
  content:''; position:absolute; right:6px; top:50%; width:9px; height:9px; margin-top:-6px;
  border-right:1.5px solid var(--orange); border-bottom:1.5px solid var(--orange);
  transform:rotate(45deg); transition:transform .4s var(--ease);
}
.faq details[open] summary{ color:var(--orange) }
.faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px }
.faq p{ font-size:15px; color:var(--smoke); padding:0 0 26px; max-width:70ch }

/* ─────────── CTA FINAL ─────────── */
.cta-final{ background:var(--navy); padding-block:clamp(80px,10vw,130px); position:relative; overflow:hidden; text-align:center; color:#fff }
.cta-logo-watermark{
  position:absolute; left:50%; top:50%; width:min(720px,120vw); transform:translate(-50%,-50%);
  opacity:.06; pointer-events:none; filter:grayscale(1) brightness(2);
}
.cta-final .tag{ justify-content:center }
.cta-h2{ font-size:clamp(30px,6.4vw,66px); color:#fff; margin-bottom:20px; position:relative }
.cta-sub{ font-size:clamp(15px,1.8vw,18px); color:#AEB9CF; max-width:56ch; margin:0 auto 38px; position:relative }
.cta-btns{ display:flex; flex-wrap:wrap; gap:13px; justify-content:center; position:relative }

/* ─────────── FOOTER ─────────── */
footer{ background:var(--navy-deep); padding-block:clamp(50px,6vw,74px) 30px; color:#AEB9CF }
.foot-grid{ display:grid; grid-template-columns:1.4fr repeat(2,1fr); gap:34px; padding-bottom:40px }
.foot-brand{ display:flex; flex-direction:column; gap:12px }
.foot-logo{ height:46px; width:auto; max-width:none; object-fit:contain }
.foot-brand span{ font-family:var(--m); font-size:11px; letter-spacing:.1em; color:#7484A0 }
.foot-col{ display:flex; flex-direction:column; gap:11px }
.foot-h{ font-family:var(--m); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange-hot); margin-bottom:5px }
.foot-col a{ font-size:14px; color:#AEB9CF; transition:color .3s, padding-left .3s }
.foot-col a:hover{ color:#fff; padding-left:5px }

.foot-legal{ border-top:1px solid rgba(255,255,255,.1); padding-top:30px }
.legal-box{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:6px;
  padding:20px 24px; margin-bottom:22px;
}
.legal-title{ font-family:var(--m); font-weight:700; font-size:12.5px; letter-spacing:.16em; color:#fff; margin-bottom:10px }
.legal-line{ font-family:var(--m); font-size:12.5px; line-height:1.8; color:#D7DEEC; word-break:break-word }
.foot-bottom{ display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-family:var(--m); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#5C6980 }
.foot-nova{ color:#43506A }

/* ─────────── FLOAT WPP ─────────── */
.float-wpp{
  position:fixed; right:18px; bottom:18px; z-index:700; width:56px; height:56px; border-radius:50%;
  background:var(--orange); display:flex; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 14px 34px -8px rgba(250,61,12,.85);
  opacity:0; transform:translateY(20px) scale(.8); pointer-events:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s;
}
.float-wpp.show{ opacity:1; transform:none; pointer-events:auto }
.float-wpp:hover{ background:var(--orange-hot) }
.float-wpp.is-copied{ background:var(--navy) }
.float-wpp svg{ width:28px; height:28px }

/* ─────────── CTA FLUTUANTE "APOIE A NOSSA LUTA" ─────────── */
.float-apoie{
  position:fixed; left:18px; bottom:18px; z-index:700;
  display:flex; align-items:center; gap:9px;
  padding:14px 22px; border-radius:100px;
  background:linear-gradient(135deg,var(--orange-hot),var(--orange));
  color:#fff; font-family:var(--b); font-weight:700; font-size:14.5px; letter-spacing:.01em;
  text-decoration:none; white-space:nowrap;
  box-shadow:0 14px 34px -8px rgba(250,61,12,.9), 0 0 0 0 rgba(250,61,12,.6);
  opacity:0; transform:translateY(20px) scale(.85); pointer-events:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease), box-shadow .3s;
  animation:apoiePulse 2.2s ease-in-out infinite;
}
.float-apoie.show{ opacity:1; transform:none; pointer-events:auto }
.float-apoie:hover{ transform:translateY(-3px) scale(1.03); animation-play-state:paused }
.float-apoie .num-chip{
  background:#fff; color:var(--orange-hot); font-family:var(--m); font-weight:700;
  font-size:12px; padding:3px 8px; border-radius:6px; letter-spacing:.03em;
}
@keyframes apoiePulse{
  0%,100%{ box-shadow:0 14px 34px -8px rgba(250,61,12,.9), 0 0 0 0 rgba(250,61,12,.55) }
  50%{ box-shadow:0 14px 34px -8px rgba(250,61,12,.9), 0 0 0 12px rgba(250,61,12,0) }
}
@media (max-width:520px){
  .float-apoie{ left:14px; bottom:14px; padding:12px 18px; font-size:13.5px }
  .float-apoie span.label{ display:none }
}

/* ─────────── RESPONSIVO ─────────── */
@media (max-width:1080px){
  .quem-grid{ grid-template-columns:1fr; gap:34px }
  .quem-photo{ max-width:420px; margin:0 auto }
  .causa-grid{ grid-template-columns:1fr; gap:34px }
  .causa-photo{ max-width:420px; margin:0 auto; order:-1 }
}
@media (max-width:900px){
  .nav-links{ display:none }
  .btn-nav{ display:none }
  #burger{ display:flex }
  .hero-inner{ grid-template-columns:1fr; gap:40px }
  .hero-photo{ order:-1; max-width:400px; margin:0 auto }
  #topo{ padding-top:104px }
  .hero-h1{ font-size:clamp(46px,15vw,88px) }
  .foot-grid{ grid-template-columns:1fr 1fr }
}
@media (max-width:560px){
  .hero-stats{ gap:20px }
  .hero-stats li{ flex:1 1 40% }
  .hero-cta .btn{ flex:1 1 100% }
  .foot-grid{ grid-template-columns:1fr }
  .scroll-hint{ display:none }
  .cta-btns .btn{ flex:1 1 100% }
  .quem-badge{ left:0; bottom:-14px; padding:12px 16px }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important }
  .hero-h1 .word{ transform:none }
  .reveal{ opacity:1; transform:none }
.hero-photo-frame,.loader-logo,.loader-role{ opacity:1; transform:none }
}
