@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap");
:root{
  --bg:#12050B;
  --panel:#3B1C5F;
  --panel2:#2F144D;
  --gold:#D4AF37;
  --text:#F3F1EC;
  --muted:#CFC9C2;
  --shadow: rgba(212,175,55,.18);
  --shadow2: rgba(212,175,55,.32);
  --radius: 18px;
  --radius2: 24px;
  --max: 1120px;
  --line: rgba(212,175,55,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  background: radial-gradient(1200px 700px at 15% 5%, rgba(212,175,55,.10), transparent 55%),
              radial-gradient(900px 600px at 85% 15%, rgba(11,46,111,.25), transparent 60%),
              var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.96}
.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.spacer{height:24px}
.section{padding:56px 0}
.section.tight{padding:36px 0}
.section-title{
  font-size: clamp(22px, 3.2vw, 34px);
  letter-spacing:.2px;
  margin:0 0 12px;
}
.section-sub{
  color:var(--muted);
  margin:0 0 18px;
  max-width: 70ch;
}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 12px;
  border:1px solid rgba(212,175,55,.55);
  border-radius:999px;
  color:var(--gold);
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:12px;
}
.card{
  background: linear-gradient(180deg, var(--panel) 0%, var(--panel2) 100%);
  border:1px solid var(--line);
  border-radius: var(--radius2);
  box-shadow: 0 0 0 1px rgba(212,175,55,.14), 0 0 24px var(--shadow2);
}
.card.pad{padding:22px}
.grid{display:grid; gap:16px}
.grid.two{grid-template-columns: repeat(2, minmax(0,1fr))}
.grid.three{grid-template-columns: repeat(3, minmax(0,1fr))}
@media (max-width: 900px){
  .grid.two,.grid.three{grid-template-columns:1fr}
}
header.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(18,5,11,.72);
  border-bottom: 1px solid rgba(212,175,55,.20);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.brand{
  display:flex; align-items:center; gap:12px; min-width: 260px;
}
.brand-badge{
  width:auto;
  height:auto;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  flex: 0 0 auto;
  background:none;
}
.brand-badge img{
  width:46px;
  height:auto;
  object-fit:contain;
  display:block;
}
.brand-name{font-weight:800; letter-spacing:.3px}
.brand-tag{display:block; color:var(--muted); font-size:12px; margin-top:2px}
nav.menu{
  display:flex; align-items:center; gap:8px; flex-wrap:nowrap; justify-content:flex-end;
  white-space:nowrap;
}
nav.menu a{
  padding:8px 10px;
  border-radius: 10px;
  color:var(--text);
  font-weight:600;
  font-size:13px;
  opacity:.92;
}
nav.menu a:hover{background: rgba(212,175,55,.08); opacity:1}
.cta{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius: 14px;
  border:1px solid rgba(212,175,55,.65);
  background: linear-gradient(180deg, rgba(212,175,55,.16), rgba(212,175,55,.08));
  box-shadow: 0 0 0 1px rgba(212,175,55,.14), 0 0 20px rgba(212,175,55,.18);
  font-weight:800;
}
.cta.secondary{
  border-color: rgba(212,175,55,.40);
  background: rgba(255,255,255,.02);
  box-shadow:none;
  font-weight:700;
}
.hero{padding:58px 0 28px}
.hero-wrap{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 900px){
  .hero-wrap{grid-template-columns:1fr}
}
.hero-copy{padding:26px}
.hero-title{
  font-size: clamp(28px, 4.2vw, 44px);
  margin:14px 0 10px;
  line-height:1.12;
}
.hero-lead{color:var(--muted); margin:0 0 18px; max-width:68ch}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:14px}
.hero-media{padding:16px; display:flex; align-items:center; justify-content:center}
.media-frame{
  width:100%;
  aspect-ratio: 11 / 15;
  border-radius: 22px;
  border:1px solid rgba(212,175,55,.55);
  background: radial-gradient(600px 500px at 30% 20%, rgba(212,175,55,.10), transparent 60%),
              rgba(255,255,255,.02);
  box-shadow: 0 0 0 1px rgba(212,175,55,.12), 0 0 24px rgba(212,175,55,.18);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.media-frame img{width:100%; height:100%; object-fit:contain; display:block}
.kpis .kpi{
  padding:16px;
  border-radius: 18px;
  border:1px solid rgba(212,175,55,.45);
  background: rgba(11,46,111,.70);
  box-shadow: 0 0 18px rgba(212,175,55,.16);
}
.kpi h3{margin:0 0 6px; font-size:16px; color:var(--gold)}
.kpi p{margin:0; color:var(--text); opacity:.98}
.list{margin:0; padding-left:18px; color:var(--text)}
.list li{margin:8px 0}
footer.site-footer{
  border-top: 1px solid rgba(212,175,55,.22);
  background: rgba(0,0,0,.18);
  padding:32px 0;
}
.footer-grid{
  display:grid; gap:16px;
  grid-template-columns: 1.2fr .8fr .8fr;
}
@media (max-width: 900px){
  .footer-grid{grid-template-columns:1fr}
}
.footer-logo{
  height:64px; width:auto; display:block; margin:0 0 12px 0;
  filter: drop-shadow(0 0 12px rgba(212,175,55,.22));
}
.footer-small{
  color:var(--muted);
  font-size:12px;
  margin-top:12px;
  text-align:justify;
}
.notice{
  padding:14px 16px;
  border:1px solid rgba(212,175,55,.35);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
  color: var(--muted);
  font-size: 13px;
}
.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.badge{
  border:1px solid rgba(212,175,55,.35);
  color:var(--muted);
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.12);
}
hr.sep{border:none; border-top:1px solid rgba(212,175,55,.18); margin:22px 0}

/* === TOPBAR UCH === */
.topbar{
  position: sticky;
  top: 0;
  z-index: 60;
  background: linear-gradient(180deg, rgba(93,24,142,.92), rgba(62,14,96,.88));
  border-bottom: 1px solid rgba(212,175,55,.28);
  backdrop-filter: blur(10px);
}
.topbar .bar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  overflow-x:auto;
  scrollbar-width: none;
}
.topbar .bar::-webkit-scrollbar{ display:none; }
.topbar a.btn-top{
  flex: 0 0 auto;
  padding:10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212,175,55,.65);
  color: #2B1A10;
  background: linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.78));
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.10), 0 0 18px rgba(212,175,55,.20);
  white-space: nowrap;
}
.topbar a.btn-top:hover{ filter: brightness(1.03); }
.topbar a.btn-top.alt{
  color: var(--gold);
  background: rgba(255,255,255,.04);
  border-color: rgba(212,175,55,.55);
  box-shadow: none;
}
.topbar a.btn-top.primary{
  color: #2B1A10;
  background: linear-gradient(180deg, rgba(255,193,7,.98), rgba(212,175,55,.90));
  box-shadow: 0 0 0 1px rgba(0,0,0,.12), 0 0 26px rgba(255,193,7,.28);
}
/* Ajuste do header institucional abaixo da topbar */
header.site-header{
  top: 56px;
}
/* Simplifica menu antigo do header (mantém logo e identidade) */


/* === HOME REF MENU === */
.ref-topheader{
  background: rgba(0,0,0,.55);
  border-bottom: 1px solid rgba(212,175,55,.18);
}
.ref-topheader .wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 0 10px;
}
.ref-logo{ display:flex; align-items:center; justify-content:center; gap:12px; }
.ref-logo img{
  height:42px;
  width:auto;
  display:block;
  filter: drop-shadow(0 0 10px rgba(212,175,55,.20));
}
.ref-navbar{ display:flex; justify-content:center; padding:12px 0 18px; }
.ref-navpill{
  width:min(1040px, 100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(212,175,55,.92), rgba(212,175,55,.72));
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 14px 40px rgba(0,0,0,.30);
}
.ref-navitems{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; }
.ref-navitems a{
  color:#2B1A10;
  font-weight:800;
  font-size:13px;
  letter-spacing:.25px;
  padding:10px 12px;
  border-radius: 999px;
  white-space:nowrap;
}
.ref-navitems a:hover{ background: rgba(0,0,0,.08); }
.ref-navcta{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.ref-navcta a{
  color:#2B1A10;
  font-weight:900;
  padding:10px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.14);
}
.ref-navcta a:hover{ background: rgba(0,0,0,.12); }
.ref-hero{
  background: radial-gradient(900px 600px at 70% 40%, rgba(11,46,111,.55), transparent 60%),
              radial-gradient(900px 600px at 20% 60%, rgba(212,175,55,.18), transparent 60%),
              linear-gradient(180deg, rgba(18,5,11,.55), rgba(18,5,11,.85));
  border-top: 1px solid rgba(212,175,55,.10);
  border-bottom: 1px solid rgba(212,175,55,.12);
}
.ref-hero .banner{
  position:relative;
  min-height: 430px;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:18px;
  align-items:center;
  padding: 40px 0 46px;
}
@media (max-width: 980px){
  .ref-hero .banner{ grid-template-columns: 1fr; }
}
.ref-hero .img-slot{
  height: 360px;
  border-radius: 18px;
  border: 1px dashed rgba(212,175,55,.45);
  background: rgba(0,0,0,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  color: rgba(243,241,236,.75);
  font-weight:700;
}
.ref-hero .headline{ text-align:left; }
.ref-hero .headline h1{
  margin:0 0 10px;
  font-size: clamp(30px, 4.8vw, 56px);
  line-height: 1.05;
  letter-spacing:.6px;
}
.ref-hero .headline p{
  margin:0 0 18px;
  color: var(--muted);
  font-size: 18px;
  max-width: 60ch;
}
.ref-hero .hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(0,190,255,.92), rgba(0,150,230,.88));
  border: 1px solid rgba(0,0,0,.18);
  color: #F3F1EC;
  font-weight: 900;
  letter-spacing:.4px;
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
.ref-hero .hero-btn:hover{ filter: brightness(1.03); }
body.home-ref .topbar{ display:none !important; }


/* === MENU FONT: MONTSERRAT === */
/* Aplica somente no menu dourado (Home referência) */
.ref-navitems a,
.ref-navcta a{
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* === DROPDOWN MENU (REFERENCE STYLE) === */
.ref-navitems a,
.ref-dd-btn{
  display:inline-block;
  font-weight: 500 !important; /* remove bold */
}

.ref-dd{
  position: relative;
  display: inline-block;
}

.ref-dd-btn{
  background: transparent;
  border: 0;
  color:#2B1A10;
  padding:10px 12px;
  border-radius:999px;
  letter-spacing:.06em;
  cursor:pointer;
}

.ref-dd-menu{
  position:absolute;
  top: 120%;
  left: 0;
  min-width: 220px;
  background: #141414;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0,0,0,.55);
  padding: 10px 0;
  display: none;
  z-index: 9999;
}

.ref-dd-menu a{
  display:block;
  padding: 12px 18px;
  color:#D4AF37;
  text-transform: uppercase;
  letter-spacing:.08em;
}

.ref-dd-menu a:hover{
  background: rgba(212,175,55,.08);
}

.ref-dd:hover .ref-dd-menu{
  display:block;
}


/* === MAIN MENU TUNE === */
/* Ajustes APENAS do menu principal (barra dourada) */
.ref-navpill{
  width: fit-content !important;   /* ajusta ao conteúdo */
  max-width: 100% !important;
  margin: 0 auto !important;       /* centraliza */
  padding: 8px 10px !important;    /* reduz altura/largura */
  gap: 10px !important;
}
.ref-navitems{
  justify-content: center !important;
  flex-wrap: nowrap !important;    /* não quebrar */
}
.ref-navitems a,
.ref-dd-btn{
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 12.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 8px 10px !important;
  line-height: 1 !important;
}
/* Mantém peso regular (sem negrito) */
.ref-navitems a{ font-weight: 500 !important; }
.ref-dd-btn{ font-weight: 500 !important; }

.ref-navcta a{
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 12.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 8px 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}

/* deixa a barra dourada mais fina e coerente */
.ref-navbar{ padding: 10px 0 14px !important; }
.ref-topheader .wrap{ padding: 14px 0 8px !important; }

/* Se a tela ficar pequena, permite scroll horizontal suave (sem quebrar) */
@media (max-width: 980px){
  .ref-navpill{ width: 100% !important; }
  .ref-navitems{ overflow-x: auto !important; scrollbar-width:none; }
  .ref-navitems::-webkit-scrollbar{ display:none; }
}

/* === REF UNDER HEADER V2 === */
/* Mantém o menu dourado visível (não fica por baixo do header) */
.ref-under-header{
  position: sticky;
  top: 72px; /* altura aproximada do header */
  z-index: 65;
  padding: 10px 0 18px;
}
/* quando tela pequena, ajusta o top (header pode crescer) */
@media (max-width: 640px){
  .ref-under-header{ top: 86px; }
}
.ref-under-header .ref-navbar{ padding: 0 !important; }


/* === REF UNDER HEADER SAFE === */
.ref-under-header{
  position: relative;
  z-index: 10;
  padding: 10px 0 18px;
}
.ref-under-header .ref-navbar{ display:flex; justify-content:center; }
/* garante que o pill não engula a página */
.ref-navpill{ overflow: visible; }

/* ================================
   BLOG SER HUMANO COMPLETO
================================ */
.blog-hero{background:#120A0F;padding:72px 0 48px;}
.blog-hero h1{color:#D4AF37;text-transform:uppercase;letter-spacing:.12em;}
.blog-hero p{color:#F3F1EC;max-width:720px;}
.blog-wrap{background:#120A0F;padding:48px 0 72px;}
.blog-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;}
.blog-card{background:#1A0F15;border:1px solid rgba(212,175,55,.25);border-radius:14px;padding:24px;margin-bottom:24px;}
.blog-card h2{color:#F3F1EC;margin:0 0 8px;}
.blog-card .meta{color:#CFC9C2;font-size:12px;}
.blog-sidebar{position:sticky;top:120px;}
.blog-search input{width:100%;padding:12px;border-radius:10px;background:#0E070B;border:1px solid rgba(212,175,55,.25);color:#F3F1EC;}
.blog-cats a{display:block;padding:10px;border:1px solid rgba(212,175,55,.25);border-radius:10px;margin-bottom:8px;color:#D4AF37;}
.post-wrap{background:#120A0F;padding:64px 0 96px;}
.post{max-width:820px;margin:auto;}
.post h1{color:#F3F1EC;}
.post .meta{color:#CFC9C2;margin-bottom:24px;}
.post p{color:#F3F1EC;line-height:1.7;}



/* === Blog SCH — Sidebar institucional (Últimos posts / Categorias / Sobre a autora) === */
.sch-sidecard{
  background:#0E070B;
  border:1px solid rgba(212,175,55,.25);
  border-radius:10px;
  padding:14px 14px 12px;
  margin-top:12px;
}

.sch-sidecard-title{
  color:#D4AF37;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:12px;
  margin:0 0 10px;
}

.sch-sidecard-list{
  list-style:disc;
  margin:0;
  padding-left:18px;
  color:#F3F1EC;
}

.sch-sidecard-list li{ margin:8px 0; }

.sch-sidecard-list a{
  color:#F3F1EC;
  text-decoration:none;
  opacity:.92;
  line-height:1.7;
  text-align:justify;
}

.sch-sidecard-list a:hover{ opacity:1; text-decoration:underline; }

.sch-author{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.sch-author-img{
  width:76px;
  height:76px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid rgba(212,175,55,.25);
  flex:0 0 auto;
}

.sch-author-body{ flex:1; }

.sch-author-text{
  margin:0 0 10px;
  color:#F3F1EC;
  opacity:.92;
  line-height:1.8;
  text-align:justify;
}

.sch-author-sign{
  margin:0 0 10px;
  color:#F3F1EC;
  opacity:.82;
  font-style:italic;
  text-align:justify;
}

.sch-mini-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  background:transparent;
  border:1px solid rgba(212,175,55,.25);
  color:#F3F1EC;
  text-decoration:none;
  letter-spacing:.3px;
  cursor:pointer;
}

.sch-mini-toggle:hover{
  border-color: rgba(212,175,55,.45);
}


/* === Ajuste card Sobre a Autora (layout refinado) === */
.sch-author-title{
  text-align:center;
  color:#D4AF37;
  font-weight:700;
  font-size:18px;
  letter-spacing:.5px;
  margin-bottom:14px;
}

.sch-author-img-full{
  width:100%;
  height:auto;
  border-radius:10px;
  border:1px solid rgba(212,175,55,.25);
  margin-bottom:14px;
  display:block;
}



/* Blog SCH — Ajuste do card "Sobre a autora" (nome central + foto largura total) */
.sch-author-name{
  margin: 8px 0 14px;
  text-align:center;
  color:#D4AF37;
  font-weight:800;
  letter-spacing:.4px;
  font-size:18px;
}

.sch-author-photo{
  width:100%;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.25);
  margin: 0 0 14px;
}

.sch-author-photo img{
  width:100%;
  height:auto;
  display:block;
}


/* Hard override: garantir que os toggles do blog nunca voltem a ficar brancos */
#schIntroToggle, #schAuthorToggle{
  appearance: none;
  -webkit-appearance: none;
  background: linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.78)) !important;
  border: 1px solid rgba(212,175,55,.65) !important;
  color: #2B1A10 !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: .2px !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.10), 0 0 18px rgba(212,175,55,.20) !important;
}
#schIntroToggle:hover, #schAuthorToggle:hover{
  filter: brightness(1.03);
}


/* === Menu dropdown — O Instituto (institucional) === */
.menu-dd{ position:relative; display:inline-flex; align-items:center; }
.menu-dd .dd-trigger{ display:inline-flex; align-items:center; gap:8px; }
.menu-dd .dd-trigger:after{
  content:"▾";
  font-size:12px;
  opacity:.85;
}
.menu-dd .dd-menu{
  position:absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 240px;
  padding: 10px;
  background: #0E070B;
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(0,0,0,.45);
  display:none;
  z-index: 50;
}
.menu-dd .dd-menu a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  color: var(--text);
  text-decoration:none;
  opacity:.92;
}
.menu-dd .dd-menu a:hover{
  background: rgba(212,175,55,.08);
  opacity:1;
}
.menu-dd:hover .dd-menu{ display:block; }
.menu-dd.open .dd-menu{ display:block; }

/* Ajuste do grid do rodapé para 4 colunas */
.footer-grid{
  grid-template-columns: 1.2fr .9fr .9fr .9fr;
}
@media (max-width: 980px){
  .footer-grid{ grid-template-columns: 1fr; }
  .menu-dd .dd-menu{ position: static; display:none; margin-top:10px; }
  .menu-dd .dd-trigger:after{ display:none; }
  .menu-dd.open .dd-menu{ display:block; }
}

/* Oculta navegações antigas (mantém apenas o menu canônico nav.menu) */
.ref-navpill, .ref-navitems, .ref-navcta { display:none !important; }
/* MENU — borda uniforme em todos os itens */
nav.menu a,
nav.menu .menu-item,
nav.menu .btn,
nav.menu .pill {
  border: 1px solid rgba(212,175,55,0.55);
  border-radius: 999px;
  padding: 6px 10px;
}

nav.menu a, nav.menu button{white-space:nowrap;}


/* Cookie banner (LGPD) */
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  background: rgba(10,10,10,.94);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(6px);
}
.cookie-inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 12px 16px;
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:space-between;
}
.cookie-text{
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
}
.cookie-text a{ color: var(--gold); text-decoration: none; }
.cookie-text a:hover{ text-decoration: underline; }
.cookie-btn{
  border:1px solid var(--line);
  background: rgba(212,175,55,.08);
  color: var(--text);
  padding: 8px 12px;
  border-radius: 999px;
  cursor:pointer;
  white-space: nowrap;
}
.cookie-btn:hover{ background: rgba(212,175,55,.14); }
@media (max-width:720px){
  .cookie-inner{ flex-direction:column; align-items:flex-start; }
  .cookie-btn{ width:100%; text-align:center; }
}



.lgpd-content h1,
.lgpd-content h2,
.lgpd-content h3 {
    margin-top: 32px;
    margin-bottom: 16px;
}

.lgpd-content {
    padding: 40px 48px;
}


/* Ajuste tipográfico LGPD (corrigido: sem "espaços estourados") */
.lgpd-content {
  padding: 36px 44px;
}

.lgpd-content p,
.lgpd-content li {
  text-align: left;          /* padrão web legível (evita "rivers") */
  line-height: 1.75;
  margin: 0 0 14px 0;
  word-spacing: normal;
  letter-spacing: normal;
}

.lgpd-content ul,
.lgpd-content ol {
  margin: 0 0 14px 22px;
}

.lgpd-content h1,
.lgpd-content h2,
.lgpd-content h3 {
  margin: 28px 0 14px 0;
}

/* Em telas largas, podemos justificar com hifenização para ficar bonito */
@media (min-width: 1100px) {
  .lgpd-content p {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    text-justify: inter-word;
  }
}

/* Mobile: padding menor */
@media (max-width: 640px) {
  .lgpd-content { padding: 22px 18px; }
}




/* Refinamento visual da página LGPD (somente dentro de .lgpd-content) */
.lgpd-content .container { max-width: 1160px; }

.lgpd-content .card {
  padding: 44px 56px;
  max-width: 1080px;
  margin: 0 auto;
}

.lgpd-content h1 { line-height: 1.15; }

.lgpd-content p,
.lgpd-content li {
  font-size: 18px;
  line-height: 1.8;
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  text-justify: inter-word;
  margin: 0 0 14px 0;
}

.lgpd-content ul,
.lgpd-content ol { margin: 0 0 16px 22px; }

.lgpd-content h2 { margin: 30px 0 14px 0; }
.lgpd-content h3 { margin: 18px 0 10px 0; }

@media (max-width: 900px) {
  .lgpd-content .card { padding: 28px 22px; }
  .lgpd-content p, .lgpd-content li { font-size: 16px; text-align: left; hyphens: none; }
}

/* === PADRÃO INSTITUCIONAL TÍTULO E SUBTÍTULO === */

.brand-name{
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight:700;
  letter-spacing:.2px;
  color:#d4af37;
  font-size:14px;
  line-height:1;
  text-transform:uppercase;
}

.brand-tag{
  display:block;
  margin-top:-2px;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight:400;
  color:#d8d0c6;
  font-size:11px;
  line-height:1;
}

.footer-grid > div{
  text-align:justify;
}

.footer-small{
  text-align:justify;
}



/* === MOBILE NAV FIXES (institucional) === */
.menu-toggle{
  display:none;
  appearance:none;
  -webkit-appearance:none;
  width:46px;
  height:46px;
  padding:0;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.42);
  background: rgba(0,0,0,.22);
  color:var(--gold);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  flex:0 0 auto;
}
.menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:var(--gold);
  transition:transform .22s ease, opacity .22s ease;
}
.menu-mobile-only{display:none !important;}
body.menu-open{overflow:hidden;}

@media (max-width: 980px){
  header.site-header{top:0;}
  .navbar{
    position:relative;
    align-items:center;
    gap:12px;
    padding:12px 0;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:10px;
  }
  .brand > div:last-child{min-width:0;}
  .brand-badge img{
  width:58px;
  height:58px;
  max-width:none;
  object-fit:contain;
  display:block;
}
  .brand-name{
    font-size:clamp(12px, 3.4vw, 15px);
    line-height:0.92;
    white-space:normal;
  }
  .brand-tag{
    font-size:10px;
    line-height:1.15;
    white-space:normal;
    margin-top:2px;
  }
  .menu-toggle{display:inline-flex;}
  nav.menu{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    padding:14px;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.28);
    background: linear-gradient(180deg, rgba(22,8,16,.98), rgba(12,6,10,.98));
    box-shadow: 0 18px 40px rgba(0,0,0,.42);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:8px;
    white-space:normal;
    z-index:80;
  }
  nav.menu.is-open{display:flex;}
  nav.menu a,
  nav.menu .cta,
  nav.menu .dd-trigger{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:46px;
    padding:12px 14px !important;
    border-radius:14px;
    font-size:14px;
    line-height:1.25;
    white-space:normal;
  }
  .menu-mobile-only{display:flex !important;}
  .menu-dd{
    width:100%;
    display:block;
  }
  .menu-dd .dd-menu{
    width:100%;
    padding:8px;
    border-radius:14px;
    margin-top:8px;
  }
  .menu-dd .dd-menu a{
    border:1px solid rgba(212,175,55,.18);
    margin:0 0 6px;
    padding:10px 12px;
  }
  .cookie-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .cookie-btn{width:100%;}
  .section-sub,
  .footer-small,
  .notice,
  .card p,
  .card li{
    text-align:justify;
    text-justify:inter-word;
  }
}


/* === MOBILE SAFETY OVERRIDES === */
@media (max-width: 767px){
  p,
  li,
  .footer-small,
  .notice,
  .section-sub,
  .hero-lead,
  footer p,
  footer li{
    text-align: justify;
    text-justify: inter-word;
  }

  .cta,
  .btn-top,
  nav.menu a,
  button,
  input[type="button"],
  input[type="submit"]{
    line-height: 1.2;
  }

  .cta,
  .btn-top{
    padding: 10px 14px;
    font-size: 14px;
  }
}

@media (max-width: 767px){
  .hero-title{
    font-size: 28px !important;
  }
}

@media (max-width: 768px){

  /* remove comportamento de imagem de fundo sobreposta */
  .hero,
  .topo,
  .bloco-topo {
    background-image: none !important;
  }

/* ===== MENU MOBILE CANÔNICO — PORTAL DO RENASCIMENTO ===== */
@media (max-width: 980px){

  .navbar{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
  }

  .brand{
    flex:1 1 100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .menu-toggle{
    order:3 !important;
    width:100% !important;
    min-height:44px !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:2px 0 0 0 !important;
    padding:10px 16px !important;
    border-radius:999px !important;
    border:1px solid rgba(212,175,55,.58) !important;
    background:linear-gradient(90deg, rgba(212,175,55,.26), rgba(212,175,55,.08)) !important;
    box-shadow:none !important;
    color:#d8d0c6 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.02em !important;
  }

  .menu-toggle span{
    display:none !important;
  }

  .menu-toggle::before{
  content:"Portal do Renascimento";
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:700;
  letter-spacing:.06em;
  font-size:13px;
  text-transform:uppercase;
  color:#D4AF37;
}

  nav.menu{
    top:calc(100% + 58px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }
}

.vip-submit{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.65);
  background:linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.78));
  color:#2F144D;
  font-weight:800;
  font-size:16px;
  line-height:1.2;
  box-shadow:0 0 0 1px rgba(212,175,55,.14), 0 0 20px rgba(212,175,55,.18);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.vip-submit:hover{
  filter:brightness(1.03);
}

/* mobile */
@media (max-width: 980px){
  .section .h1,
  .section h1{
    font-size: 20px !important;
    line-height: 1.12 !important;
  }

  .section h2{
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .section h3{
    font-size: 17px !important;
    line-height: 1.18 !important;
  }

  .card h1{ font-size: 20px !important; }
  .card h2{ font-size: 17px !important; }
  .card h3{ font-size: 15px !important; }
  .card h4{ font-size: 13px !important; }

  .section p,
  .section li,
  .card p,
  .card li,
  .notice,
  .footer-small{
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

body::after{
  content: "ICH • USO RESTRITO";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 22px;
  color: rgba(255,255,255,0.05);
  pointer-events: none;
  z-index: 9999;
  white-space: nowrap;
  text-align: center;
}

html, body {
  margin: 0;
  padding: 0;
  background: #12030a !important; /* use o tom mais escuro real do site */
  min-height: 100%;
}

body {
  overflow-x: hidden;
}

#app, main, .site-wrap, .page, .page-wrap {
  background: transparent;
}

html {
  overscroll-behavior-y: none;
  overscroll-behavior-x: none;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, #1a060c 0%, #12030a 100%);
  z-index: -1;
  pointer-events: none;
}
  