/* =========================================================================
   denunciante.com.br · site institucional
   Design "Trust & Authority" — azul de segurança + verde de proteção
   Lexend / Source Sans 3 / JetBrains Mono
   ========================================================================= */

:root{
  --navy:#0B2D45; --navy-2:#0A2438; --blue:#0369A1; --blue-2:#075E93;
  --sky:#0EA5E9; --green:#16A34A; --green-2:#15803D; --green-lt:#22C55E;
  --bg:#F0F9FF; --surface:#FFFFFF; --surface-2:#F5FAFE; --muted:#E7EFF5;
  --border:#CADEEC; --border-2:#A9CBE0;
  --ink:#0C2740; --body:#28455A; --sub:#5A7386; --faint:#88A2B3;
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:26px; --r-full:999px;
  --sh-1:0 1px 2px rgba(11,45,69,.06),0 2px 6px rgba(11,45,69,.06);
  --sh-2:0 8px 24px rgba(11,45,69,.09),0 2px 8px rgba(11,45,69,.05);
  --sh-3:0 24px 60px rgba(11,45,69,.16),0 8px 24px rgba(11,45,69,.08);
  --ease:cubic-bezier(.22,.61,.36,1);
  --wrap:1180px;
  --font-head:'Lexend',system-ui,sans-serif;
  --font-body:'Source Sans 3',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
body{font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--body);
  background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;}

h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.12;font-weight:700;letter-spacing:-.02em;}
h1{font-size:clamp(2.3rem,1.6rem+3vw,4rem);}
h2{font-size:clamp(1.8rem,1.3rem+2vw,2.8rem);}
h3{font-size:1.25rem;letter-spacing:-.01em;}
p{line-height:1.7;}
a{color:var(--blue);text-decoration:none;}
img,svg{display:block;max-width:100%;}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px;}
.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-2);font-weight:600;}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px;}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:52px;padding:0 28px;font-family:var(--font-head);font-weight:600;font-size:1.02rem;
  border-radius:var(--r-full);border:1.5px solid transparent;cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
  text-decoration:none;white-space:nowrap;}
.btn svg{width:19px;height:19px;}
.btn-green{background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(22,163,74,.32);}
.btn-green:hover{background:var(--green-2);transform:translateY(-2px);box-shadow:0 10px 26px rgba(22,163,74,.4);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:#0e3958;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-2);}
.btn-ghost:hover{background:#fff;border-color:var(--blue);color:var(--blue);}
.btn-lt{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.26);}
.btn-lt:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--navy);}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--sh-2);}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(240,249,255,.82);
  backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;}
.hdr.scrolled{border-color:var(--border);background:rgba(240,249,255,.94);}
.hdr-in{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px;}
.logo{display:inline-flex;align-items:center;}
.logo svg,.logo img{height:34px;width:auto;}
.nav-links{display:none;align-items:center;gap:34px;}
.nav-links a{color:var(--ink);font-family:var(--font-head);font-weight:500;font-size:.98rem;transition:color .2s;}
.nav-links a:hover{color:var(--blue);}
.hdr-cta{display:flex;align-items:center;gap:14px;}
.hdr-cta .btn{min-height:44px;padding:0 20px;font-size:.95rem;}
.link-acessar{display:none;color:var(--ink);font-family:var(--font-head);font-weight:600;font-size:.95rem;}
.link-acessar:hover{color:var(--blue);}
.burger{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;color:var(--ink);}
.burger svg{width:24px;height:24px;}
@media(min-width:960px){.nav-links{display:flex;}.link-acessar{display:inline;}.burger{display:none;}}

/* menu mobile */
.mnav{position:fixed;inset:0;z-index:60;background:rgba(11,45,69,.5);opacity:0;visibility:hidden;transition:.25s;}
.mnav.open{opacity:1;visibility:visible;}
.mnav-panel{position:absolute;top:0;right:0;width:min(86%,340px);height:100%;background:var(--surface);
  padding:24px;display:flex;flex-direction:column;gap:6px;transform:translateX(100%);transition:transform .3s var(--ease);}
.mnav.open .mnav-panel{transform:none;}
.mnav-panel .mnav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.mnav-panel a{padding:14px 12px;border-radius:var(--r-md);color:var(--ink);font-family:var(--font-head);font-weight:500;font-size:1.08rem;}
.mnav-panel a:hover{background:var(--muted);}
.mnav-panel .btn{margin-top:12px;}
.iconbtn{width:44px;height:44px;display:grid;place-items:center;background:var(--muted);border:none;border-radius:var(--r-md);cursor:pointer;color:var(--ink);}

/* ---------- Hero ---------- */
.hero{position:relative;padding:72px 0 90px;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:52px;align-items:center;}
@media(min-width:1000px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:64px;}.hero{padding:96px 0 110px;}}
.hero h1{margin:22px 0 0;}
.hero h1 .g{color:var(--green);}
.hero .lead{margin-top:22px;font-size:clamp(1.1rem,1rem+.5vw,1.32rem);color:var(--body);max-width:36ch;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--r-full);font-size:.86rem;font-weight:600;color:var(--ink);font-family:var(--font-head);}
.chip svg{width:16px;height:16px;color:var(--green);}

/* Signature: cartão "denúncia protegida" */
.report-card{position:relative;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:26px;max-width:440px;margin-inline:auto;}
.report-card .rc-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.rc-badge{width:44px;height:44px;border-radius:var(--r-md);background:#E7F6EC;color:var(--green-2);display:grid;place-items:center;flex:none;}
.rc-badge svg{width:24px;height:24px;}
.rc-head .rc-t{font-family:var(--font-head);font-weight:700;color:var(--ink);}
.rc-head .rc-s{font-size:.82rem;color:var(--sub);}
.rc-proto{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;
  background:var(--navy);color:#fff;border-radius:var(--r-md);padding:14px 16px;}
.rc-proto .l{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;}
.rc-proto .v{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;letter-spacing:.04em;}
.rc-line{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:.95rem;}
.rc-line .k{color:var(--sub);min-width:104px;}
.redact{display:inline-block;background:linear-gradient(90deg,var(--ink) 0 100%);color:transparent;
  border-radius:4px;padding:2px 8px;user-select:none;letter-spacing:1px;}
.rc-relato{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);
  padding:14px;font-size:.92rem;color:var(--body);line-height:1.55;}
.rc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;}
.rc-tag{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;font-family:var(--font-head);
  padding:4px 11px;border-radius:var(--r-full);background:#FEF3E2;color:#B45309;}
.rc-lock{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--green-2);font-weight:600;}
.rc-lock svg{width:15px;height:15px;}
.rc-float{position:absolute;right:-16px;top:-16px;background:var(--green);color:#fff;
  font-family:var(--font-head);font-weight:600;font-size:.8rem;padding:8px 14px;border-radius:var(--r-full);
  box-shadow:var(--sh-2);display:flex;align-items:center;gap:6px;}
.rc-float svg{width:15px;height:15px;}

/* ---------- Faixa legal ---------- */
.legal-strip{background:var(--navy);color:#fff;padding:26px 0;}
.legal-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 40px;text-align:center;}
.legal-strip .ls-item{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:500;font-size:.98rem;color:#DCEAF4;}
.legal-strip .ls-item svg{width:20px;height:20px;color:var(--green-lt);}

/* ---------- Seções ---------- */
.section{padding:88px 0;}
.section-head{max-width:660px;margin-bottom:52px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{margin-top:14px;}
.section-head p{margin-top:16px;font-size:1.12rem;color:var(--sub);}

/* problema */
.why{background:var(--surface);}
.why-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:760px){.why-grid{grid-template-columns:repeat(3,1fr);}}
.why-card{padding:28px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);}
.why-card .n{font-family:var(--font-mono);color:var(--green);font-weight:600;font-size:.9rem;}
.why-card h3{margin:10px 0 8px;}
.why-card p{color:var(--sub);font-size:.98rem;}

/* como funciona */
.steps{display:grid;grid-template-columns:1fr;gap:22px;counter-reset:s;}
@media(min-width:760px){.steps{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1060px){.steps{grid-template-columns:repeat(4,1fr);}}
.step{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:28px 24px;box-shadow:var(--sh-1);}
.step .sn{width:44px;height:44px;border-radius:var(--r-md);background:var(--navy);color:#fff;
  font-family:var(--font-head);font-weight:700;font-size:1.15rem;display:grid;place-items:center;margin-bottom:18px;}
.step h3{font-size:1.12rem;margin-bottom:8px;}
.step p{color:var(--sub);font-size:.96rem;}

/* recursos */
.feat-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:640px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.feat-grid{grid-template-columns:repeat(4,1fr);}}
.feat{padding:26px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;}
.feat:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--border-2);}
.feat .fi{width:48px;height:48px;border-radius:var(--r-md);display:grid;place-items:center;margin-bottom:18px;
  background:#E4F1FA;color:var(--blue);}
.feat .fi svg{width:26px;height:26px;}
.feat.g .fi{background:#E7F6EC;color:var(--green-2);}
.feat h3{font-size:1.08rem;margin-bottom:8px;}
.feat p{color:var(--sub);font-size:.94rem;line-height:1.55;}

/* módulos */
.mods{background:linear-gradient(180deg,var(--surface),var(--bg));}
.mod-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:900px){.mod-grid{grid-template-columns:repeat(3,1fr);}}
.mod{border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);box-shadow:var(--sh-1);}
.mod .mod-top{padding:26px;color:#fff;}
.mod.m1 .mod-top{background:linear-gradient(135deg,var(--blue),var(--sky));}
.mod.m2 .mod-top{background:linear-gradient(135deg,#166534,var(--green));}
.mod.m3 .mod-top{background:linear-gradient(135deg,#7C2D12,#C2410C);}
.mod .mod-top .mi{width:46px;height:46px;border-radius:var(--r-md);background:rgba(255,255,255,.2);display:grid;place-items:center;margin-bottom:14px;}
.mod .mod-top .mi svg{width:26px;height:26px;color:#fff;}
.mod .mod-top h3{color:#fff;}
.mod .mod-top .ml{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;}
.mod .mod-body{padding:24px 26px;}
.mod .mod-body li{list-style:none;padding:8px 0 8px 28px;position:relative;color:var(--body);font-size:.96rem;border-bottom:1px solid var(--muted);}
.mod .mod-body li:last-child{border-bottom:none;}
.mod .mod-body li::before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2316A34A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}

/* conformidade */
.comp{background:var(--navy);color:#fff;}
.comp .section-head h2{color:#fff;}
.comp .section-head p{color:#B9D2E2;}
.comp-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:760px){.comp-grid{grid-template-columns:repeat(2,1fr);}}
.comp-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:26px;}
.comp-card .ci{width:44px;height:44px;border-radius:var(--r-md);background:rgba(34,197,94,.18);color:var(--green-lt);display:grid;place-items:center;margin-bottom:16px;}
.comp-card .ci svg{width:24px;height:24px;}
.comp-card h3{color:#fff;font-size:1.1rem;margin-bottom:8px;}
.comp-card p{color:#B9D2E2;font-size:.96rem;}

/* CTA final */
.cta{padding:96px 0;}
.cta-box{background:linear-gradient(135deg,var(--blue),var(--navy));border-radius:var(--r-xl);
  padding:56px 32px;text-align:center;color:#fff;box-shadow:var(--sh-3);position:relative;overflow:hidden;}
.cta-box::after{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;
  background:radial-gradient(circle,rgba(34,197,94,.35),transparent 70%);}
.cta-box h2{color:#fff;position:relative;}
.cta-box p{color:#CFE4F0;margin:16px auto 0;max-width:52ch;position:relative;font-size:1.12rem;}
.cta-box .hero-cta{justify-content:center;position:relative;margin-top:32px;}
.cta-mail{margin-top:22px;position:relative;font-family:var(--font-mono);color:#DCEAF4;font-size:.95rem;}
.cta-mail a{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* footer */
.foot{background:var(--navy-2);color:#9FC6DC;padding:64px 0 34px;}
.foot-top{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
@media(min-width:820px){.foot-top{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.foot .f-brand img,.foot .f-brand svg{height:32px;margin-bottom:16px;}
.foot .f-brand p{color:#8FB3C8;font-size:.95rem;max-width:34ch;}
.foot h4{color:#fff;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-family:var(--font-head);}
.foot ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
.foot ul a{color:#9FC6DC;font-size:.96rem;}
.foot ul a:hover{color:#fff;}
.foot-bot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-top:26px;font-size:.88rem;color:#7C9DB2;}
.foot-bot .mono{color:#9FC6DC;}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}
