@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond: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(68,18,92,.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:46px; height:46px;
  border-radius:999px;
  overflow:hidden;
  box-shadow: 0 0 0 2px var(--gold), 0 0 18px rgba(212,175,55,.55);
  flex: 0 0 auto;
  background: rgba(0,0,0,.25);
}
.brand-badge img{
  width:100%; height:100%; object-fit:cover; 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}
.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; }

/* === OVERRIDES (HOME REF HERO) — imagem + roxo escuro + botao dourado === */
/* Mantém a estrutura; apenas ajustes visuais e responsividade. */
body.home-ref .ref-hero{
  /* substitui o “azul” do degradê da direita por roxo escuro */
  background: radial-gradient(900px 600px at 70% 40%, rgba(68,18,92,.62), 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));
}

body.home-ref .ref-hero .img-slot{
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(0,0,0,.22);
  overflow: hidden; /* garante corte zero fora do card */
}
body.home-ref .ref-hero .img-slot img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* regra: não cortar */
  object-position: center;
}

body.home-ref .ref-hero .headline p{
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.55;
}

body.home-ref .ref-hero .hero-btn{
  background: linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.78));
  border: 1px solid rgba(0,0,0,.14);
  color: #2B1A10;
  white-space: normal; /* evita “quebra feia” */
  text-wrap: balance;
  padding: 12px 20px;
}

@media (max-width: 980px){
  body.home-ref .ref-hero .img-slot{ height: 320px; }
}

@media (max-width: 600px){
  body.home-ref .ref-hero .img-slot{ height: 300px; }
  body.home-ref .ref-hero .headline p{ font-size: 16px; max-width: 100%; }
  body.home-ref .ref-hero .hero-btn{ width: 100%; max-width: 360px; }
}


/* === 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 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: 100%;
  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: 4px 8px;
}

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; }
}


/* ===== Top Carousel (inserido abaixo do header, sem alterar o restante) ===== */
.top-carousel{padding:18px 0 10px}
.top-carousel .tc{position:relative; display:flex; align-items:center; gap:12px}
.top-carousel .tc-viewport{flex:1; overflow:hidden; border-radius:18px; border:1px solid rgba(212,175,55,.35); background:rgba(0,0,0,.25); box-shadow:0 10px 26px rgba(0,0,0,.35); outline:none}
.top-carousel .tc-track{display:flex; transition:transform .55s ease}
.top-carousel .tc-slide{min-width:100%; display:flex; justify-content:center; align-items:center; padding:0; background:transparent}
.top-carousel .tc-slide img{width:100%; height:auto; display:block; object-fit:contain; border-radius:18px}
.top-carousel .tc-btn{width:44px; height:44px; border-radius:999px; border:1px solid rgba(212,175,55,.35); background:rgba(0,0,0,.35); color:rgba(255,255,255,.92); font-size:30px; line-height:1; cursor:pointer; user-select:none}
.top-carousel .tc-btn:hover{background:rgba(0,0,0,.55)}
.top-carousel .tc-btn:focus{outline:2px solid rgba(212,175,55,.65); outline-offset:2px}
.top-carousel .tc-dots{display:flex; justify-content:center; gap:8px; padding:10px 0 0}
.top-carousel .tc-dot{width:9px; height:9px; border-radius:999px; border:1px solid rgba(212,175,55,.55); background:rgba(255,255,255,.12); cursor:pointer}
.top-carousel .tc-dot[aria-current="true"]{background:rgba(212,175,55,.75)}
@media (max-width: 900px){
  .top-carousel{padding:14px 0 8px}
  .top-carousel .tc{gap:8px}
  .top-carousel .tc-btn{width:38px; height:38px; font-size:26px}
}
@media (max-width: 560px){
  .top-carousel .tc{gap:6px}
  .top-carousel .tc-btn{display:none} /* swipe + dots no mobile */
  .top-carousel .tc-viewport{border-radius:16px}
  .top-carousel .tc-slide img{border-radius:16px}
}
/* ===== /Top Carousel ===== */

/* === TESTEMUNHOS (VITRINE / CARROSSEL) — HOME REF === */
.testi-showcase{
  padding: 46px 0 54px;
  background:
    radial-gradient(900px 600px at 20% 30%, rgba(212,175,55,.10), transparent 60%),
    radial-gradient(900px 600px at 80% 35%, rgba(68,18,92,.26), transparent 62%),
    linear-gradient(180deg, rgba(18,5,11,.30), rgba(18,5,11,.70));
  border-top: 1px solid rgba(212,175,55,.10);
}

.testi-showcase .ts-head{ margin: 0 0 18px; }
.testi-showcase .ts-head h2{
  margin: 0 0 8px;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: .4px;
}
.testi-showcase .ts-head p{
  margin: 0;
  color: var(--muted);
  max-width: 78ch;
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.55;
}

.ts-marquee{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(212,175,55,.14);
}

.ts-track{
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  will-change: transform;
  animation: ts-scroll 70s linear infinite;
}

.ts-marquee:hover .ts-track,
.ts-marquee:focus-within .ts-track,
.ts-marquee.is-paused .ts-track{ animation-play-state: paused; }

.ts-card{
  margin: 0;
  flex: 0 0 auto;
  width: 320px;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(212,175,55,.45);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.ts-card img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* regra: não cortar */
  object-position: center;
  background: rgba(0,0,0,.08);
}

@keyframes ts-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.ts-actions{ margin-top: 18px; display:flex; justify-content:center; }

.ts-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 20px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.78));
  border: 1px solid rgba(0,0,0,.14);
  color: #2B1A10;
  font-weight: 900;
  letter-spacing: .4px;
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  white-space: normal;
  text-wrap: balance;
  max-width: 100%;
}
.ts-btn:hover{ filter: brightness(1.03); }

@media (max-width: 980px){
  .ts-card{ width: 300px; height: 400px; }
}

@media (max-width: 680px){
  /* protege o PC: ajustes só no mobile */
  .ts-marquee{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ts-track{ animation: none; padding-bottom: 2px; }
  .ts-marquee{ scroll-snap-type: x mandatory; }
  .ts-card{ scroll-snap-align: start; width: 260px; height: 360px; }
  .ts-btn{ width: 100%; max-width: 360px; text-align:center; }
}


/* ===== Formação (prévia) — bloco luxuoso (PC + mobile) ===== */
.formation-preview{
  position: relative;
  padding: 70px 0;
  background: radial-gradient(1200px 500px at 20% 10%, rgba(212,175,55,.12), rgba(0,0,0,0) 60%),
              radial-gradient(900px 420px at 85% 80%, rgba(126,58,255,.12), rgba(0,0,0,0) 65%);
}

.fp-notch{
  position:absolute;
  top:-1px; left:0; right:0;
  height: 64px;
  background: linear-gradient(180deg, rgba(212,175,55,.0), rgba(212,175,55,.08));
  clip-path: polygon(0 0, 100% 0, 52% 100%, 48% 100%);
  filter: drop-shadow(0 10px 18px rgba(212,175,55,.18));
  pointer-events:none;
}

.fp-shell{
  display:grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 26px;
  align-items: stretch;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(12,8,12,.86), rgba(22,12,24,.78));
  border: 1px solid rgba(212,175,55,.24);
  box-shadow: 0 30px 90px rgba(0,0,0,.40);
  overflow:hidden;
  position: relative;
}

.fp-shell::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius: 22px;
  pointer-events:none;
  background: radial-gradient(600px 280px at 10% 20%, rgba(212,175,55,.10), rgba(0,0,0,0) 60%),
              radial-gradient(520px 240px at 90% 80%, rgba(212,175,55,.08), rgba(0,0,0,0) 62%);
}

.fp-media{
  position: relative;
  min-height: 340px;
  background: rgba(0,0,0,.18);
}

.fp-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
  object-position: center;
}

.fp-media::after{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,0) 52%);
  pointer-events:none;
}

.fp-content{
  position: relative;
  padding: 34px 34px 32px;
}

.fp-content h2{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.3vw, 32px);
  color: var(--text);
  letter-spacing: .3px;
}

.fp-content p{
  margin: 0 0 18px;
  color: var(--muted);
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.7;
  max-width: 62ch;
}

.fp-points{ display:grid; gap: 10px; margin: 0 0 22px; }

.fp-point{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: var(--muted);
  line-height: 1.55;
  text-align: left;
}

.fp-dot{
  width: 8px; height: 8px;
  margin-top: 8px;
  border-radius: 999px;
  background: rgba(212,175,55,.92);
  box-shadow: 0 0 18px rgba(212,175,55,.28);
  flex: 0 0 auto;
}

.fp-actions{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap: 12px;
}

.fp-btn{
  white-space: normal;
  text-wrap: balance;
}

@media (max-width: 980px){
  .fp-shell{ grid-template-columns: 1fr; }
  .fp-media{ min-height: 260px; }
  .fp-content{ padding: 26px 22px 24px; }
  .fp-actions{ justify-content:center; }
}

@media (max-width: 520px){
  .fp-media{ min-height: 220px; }
  .fp-content p{ max-width: none; }
  .fp-btn{ width: 100%; max-width: 360px; text-align:center; }
}



/* ====== BLOCO: SOBRE MIM (Bíula) ====== */
.about-buila{
  position: relative;
  padding: 54px 0 70px;
}
.about-buila .ab-cut{
  position:absolute;
  left:0; right:0;
  top:-1px;
  height:48px;
  background:
    linear-gradient(135deg, rgba(0,0,0,0) 49.5%, rgba(212,175,55,0.55) 50%, rgba(0,0,0,0) 50.5%),
    linear-gradient(225deg, rgba(0,0,0,0) 49.5%, rgba(212,175,55,0.55) 50%, rgba(0,0,0,0) 50.5%);
  opacity:.55;
  filter: drop-shadow(0 0 10px rgba(212,175,55,.25));
  pointer-events:none;
}
.about-buila .ab-shell{
  display:grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  gap: 24px;
  align-items: stretch;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 18px;
  overflow:hidden;
  background:
    radial-gradient(1200px 420px at 10% 30%, rgba(98,35,128,.30), rgba(0,0,0,0)),
    linear-gradient(90deg, rgba(28,10,34,.92), rgba(28,10,34,.72));
  box-shadow: 0 10px 34px rgba(0,0,0,.45);
}
.about-buila .ab-media{
  position:relative;
  min-height: 320px;
  background: #0b0610;
}
.about-buila .ab-media img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center top;
  display:block;
  filter: saturate(1.05) contrast(1.03);
}
.about-buila .ab-media::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,0) 55%),
    radial-gradient(600px 420px at 30% 30%, rgba(212,175,55,.18), rgba(0,0,0,0) 60%);
  pointer-events:none;
}
.about-buila .ab-content{
  padding: 26px 28px 28px;
}
.about-buila .ab-kicker{
  display:inline-block;
  padding: 6px 12px;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 999px;
  letter-spacing: .14em;
  font-size: 11px;
  color: rgba(245,235,210,.95);
  background: rgba(0,0,0,.18);
  box-shadow: 0 0 18px rgba(212,175,55,.12);
}
.about-buila .ab-content h2{
  margin: 14px 0 10px;
}
.about-buila .ab-lead{
  font-size: 16px;
  line-height: 1.65;
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 70ch;
  color: rgba(245,235,210,.92);
}
.about-buila .ab-body{
  margin-top: 12px;
  padding-left: 16px;
  border-left: 1px solid rgba(212,175,55,.45);
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.65;
  max-width: 76ch;
  color: rgba(245,235,210,.86);
}
.about-buila .ab-actions{
  margin-top: 18px;
}
.about-buila .ab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space: normal;
  text-wrap: balance;
  padding: 12px 18px;
  min-height: 44px;
}

/* Mobile: protege desktop; ajustes só aqui */
@media (max-width: 820px){
  .about-buila{
    padding: 44px 0 58px;
  }
  .about-buila .ab-shell{
    grid-template-columns: 1fr;
  }
  .about-buila .ab-media{
    min-height: 260px;
  }
  .about-buila .ab-media img{
    object-position: center 15%;
  }
  .about-buila .ab-content{
    padding: 20px 18px 22px;
  }
  .about-buila .ab-lead,
  .about-buila .ab-body{
    max-width: none;
  }
  .about-buila .ab-actions{
    display:flex;
  }
  .about-buila .ab-btn{
    width:100%;
  }
}

/* =========================
   PATCH 2026-02-19 (correções sem alterar estrutura)
   - Ajuste de enquadramento (Sobre)
   - Inclusão dos blocos UCH e Livraria
   - Proteções PC/Mobile (tipografia, CTAs)
   ========================= */

/* Tipografia/legibilidade geral (funciona em PC e mobile) */
main p, main li{
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Botões: não quebrar feio no mobile */
.ts-btn{
  white-space: normal;
  text-wrap: balance;
  min-height: 44px;
}

/* Sobre: foco correto no desktop (evita cortar a autora) */
.about-buila .ab-media img{
  object-position: 40% 18%;
}

/* UCH preview */
.uch-preview{
  padding: 58px 0 64px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(212,175,55,.05) 55%, rgba(0,0,0,0) 100%);
}
.uch-preview h2{ margin: 10px 0 10px; }
.uch-preview p{ color: rgba(245,235,210,.88); max-width: 78ch; }
.uch-card{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 0;
  border-radius: var(--radius2);
  overflow:hidden;
  border: 1px solid var(--line);
  box-shadow: 0 0 0 1px rgba(212,175,55,.12), 0 10px 34px rgba(0,0,0,.45);
  background: linear-gradient(180deg, rgba(59,28,95,.92) 0%, rgba(47,20,77,.92) 100%);
}
.uch-text{ padding: 26px 28px 28px; }
.uch-points{ margin: 14px 0 0; padding-left: 18px; color: rgba(245,235,210,.86); }
.uch-points li{ margin: 8px 0; }
.uch-actions{ margin-top: 18px; }
.uch-media{ position:relative; min-height: 320px; background:#0b0610; }
.uch-media img{ width:100%; height:100%; object-fit: cover; object-position: center; display:block; filter: saturate(1.05) contrast(1.03); }
.uch-media:after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(270deg, rgba(0,0,0,.70), rgba(0,0,0,0) 58%),
    radial-gradient(520px 360px at 70% 30%, rgba(212,175,55,.16), rgba(0,0,0,0) 60%);
  pointer-events:none;
}

/* Livraria preview */
.livraria-preview{
  padding: 58px 0 76px;
}
.livraria-preview h2{ margin: 10px 0 10px; }
.livraria-preview p{ color: rgba(245,235,210,.88); max-width: 78ch; }
.liv-card{
  margin-top: 14px;
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 0;
  border-radius: var(--radius2);
  overflow:hidden;
  border: 1px solid var(--line);
  box-shadow: 0 0 0 1px rgba(212,175,55,.12), 0 10px 34px rgba(0,0,0,.45);
  background: linear-gradient(180deg, rgba(59,28,95,.92) 0%, rgba(47,20,77,.92) 100%);
}
.liv-media{ position:relative; min-height: 320px; background:#0b0610; }
.liv-media img{ width:100%; height:100%; object-fit: cover; object-position: center; display:block; filter: saturate(1.02) contrast(1.04); }
.liv-media:after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,0) 58%),
    radial-gradient(520px 360px at 30% 30%, rgba(212,175,55,.16), rgba(0,0,0,0) 60%);
  pointer-events:none;
}
.liv-text{ padding: 26px 28px 28px; }
.liv-points{ margin: 14px 0 0; padding-left: 18px; color: rgba(245,235,210,.86); }
.liv-points li{ margin: 8px 0; }
.liv-actions{ margin-top: 18px; }

/* Proteção mobile (não altera desktop) */
@media (max-width: 860px){
  .about-buila .ab-media img{ object-position: 50% 18%; }

  .uch-card{ grid-template-columns: 1fr; }
  .uch-media{ min-height: 240px; }
  .uch-text{ padding: 20px 18px 22px; }

  .liv-card{ grid-template-columns: 1fr; }
  .liv-media{ min-height: 240px; }
  .liv-text{ padding: 20px 18px 22px; }
}


/* === EXTRA SECTIONS (AUTO) === */

.projeto-completar{
  padding: 46px 0;
  background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.96) 52%, rgba(240,210,80,.18) 52%, rgba(240,210,80,.18) 100%);
}
.pc-wrap{
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
  background: rgba(255,255,255,.96);
}
.pc-left{
  padding: 40px 40px 34px;
  background: rgba(255,255,255,.98);
}
.pc-left h2{
  margin: 0 0 14px;
  font-weight: 300;
  letter-spacing: .02em;
  color: rgba(40,40,40,.92);
}
.pc-left p{
  margin: 0 0 22px;
  color: rgba(40,40,40,.75);
  line-height: 1.7;
  max-width: 62ch;
}
.pc-social{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 8px 0 20px;
}
.pc-ic{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: #0b0b0b;
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.pc-ic svg{
  width: 18px;
  height: 18px;
  fill: #fff;
}
.pc-ic:focus-visible{
  outline: 2px solid rgba(212,175,55,.85);
  outline-offset: 2px;
}
.pc-actions{
  margin-top: 14px;
}
.pc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 22px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(90,30,120,.95), rgba(70,20,100,.95));
  color: #fff;
  border: 1px solid rgba(212,175,55,.45);
  box-shadow: 0 12px 28px rgba(0,0,0,.20);
  font-weight: 600;
  letter-spacing: .01em;
}
.pc-btn:hover{ filter: brightness(1.06); }

.pc-right{
  position: relative;
  background: #111;
  min-height: 320px;
}
.pc-right img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display:block;
}

/* Blog callout */
.blog-callout{
  padding: 58px 0 46px;
  background: #fff;
}
.bc-wrap{
  display:grid;
  grid-template-columns: 1fr 520px;
  gap: 28px;
  align-items:center;
}
.bc-left{
  text-align:center;
  padding: 24px 10px;
}
.bc-left h2{
  margin: 0 0 22px;
  font-weight: 300;
  letter-spacing: .02em;
  color: rgba(40,40,40,.92);
}
.bc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 22px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(90,30,120,.95), rgba(70,20,100,.95));
  color: #fff;
  border: 1px solid rgba(90,30,120,.35);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  font-weight: 600;
}
.bc-right{
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 16px 44px rgba(0,0,0,.22);
  background:#111;
}
.bc-right img{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
  object-position: center center;
}
.bc-note{
  margin: 26px auto 0;
  max-width: 90ch;
  text-align:center;
  color: rgba(40,40,40,.55);
  line-height: 1.7;
}

/* Some testimonials */
.some-testimonials{
  padding: 52px 0 58px;
  background: #fff;
}
.st-title{
  margin: 0 0 22px;
  text-align:center;
  letter-spacing: .12em;
  font-weight: 600;
  color: rgba(40,40,40,.65);
}
.st-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  align-items: stretch;
}
.st-item{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(20,20,20,.12);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  background: #fff;
  text-decoration:none;
  color: inherit;
  display:flex;
  flex-direction:column;
}
.st-media{
  position: relative;
  aspect-ratio: 16 / 9;
  background:#111;
}
.st-media img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center center;
  display:block;
}
.st-meta{
  padding: 14px 14px 16px;
  font-weight: 600;
  letter-spacing: .06em;
  color: rgba(40,40,40,.70);
  text-align:center;
}
.st-actions{
  display:flex;
  justify-content:center;
  margin-top: 22px;
}
.st-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 13px 26px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(90,30,120,.95), rgba(70,20,100,.95));
  color: #fff;
  border: 1px solid rgba(90,30,120,.35);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  font-weight: 600;
}

/* VIP */
.vip-block{
  padding: 56px 0 70px;
  background: linear-gradient(180deg, rgba(181,137,219,.90), rgba(158,115,205,.90));
}
.vip-wrap{
  display:grid;
  grid-template-columns: 1fr 520px;
  gap: 28px;
  align-items: start;
}
.vip-left h2{
  margin: 0 0 18px;
  text-align:center;
  letter-spacing:.10em;
  font-weight: 600;
  color: rgba(40,40,40,.65);
}
.vip-left p{
  margin: 0 auto 22px;
  max-width: 60ch;
  color: rgba(40,40,40,.60);
  line-height: 1.7;
}
.vip-telegram{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  width: 260px;
  margin: 0 auto 18px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(212,175,55,.38);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  color: rgba(40,40,40,.70);
  text-decoration:none;
  font-weight: 600;
}
.vip-telegram-ic{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: #25A7E0;
  border: 1px solid rgba(212,175,55,.35);
}
.vip-telegram-ic svg{
  width: 22px;
  height: 22px;
  fill: #0b0b0b;
}
.vip-social{
  display:flex;
  justify-content:center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.vip-form{
  background: rgba(255,255,255,.88);
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  padding: 18px;
}
.vip-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.vip-field{
  display:block;
  margin-bottom: 12px;
}
.vip-label{
  display:none;
}
.vip-field input,
.vip-field textarea{
  width:100%;
  border-radius: 8px;
  border: 1px solid rgba(90,30,120,.20);
  background: rgba(232,210,252,.80);
  padding: 12px 12px;
  color: rgba(40,40,40,.75);
  font-size: 16px;
  outline: none;
}
.vip-field textarea{
  resize: vertical;
  min-height: 140px;
}
.vip-submit{
  width:100%;
  margin-top: 6px;
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid rgba(90,30,120,.35);
  background: linear-gradient(180deg, rgba(90,30,120,.95), rgba(70,20,100,.95));
  color:#fff;
  font-weight: 700;
  letter-spacing:.02em;
  cursor:pointer;
}
.vip-submit:hover{ filter: brightness(1.06); }
.vip-hint{
  margin-top: 10px;
  text-align:center;
  color: rgba(40,40,40,.65);
  font-size: 14px;
}

/* Mobile protections */
@media (max-width: 980px){
  .pc-wrap{ grid-template-columns: 1fr; }
  .pc-right{ min-height: 220px; }
  .pc-left{ padding: 28px 22px 24px; }
  .bc-wrap{ grid-template-columns: 1fr; }
  .bc-right{ max-width: 560px; margin: 0 auto; }
  .st-grid{ grid-template-columns: repeat(2, 1fr); }
  .vip-wrap{ grid-template-columns: 1fr; }
  .vip-form{ max-width: 560px; margin: 0 auto; }
}
@media (max-width: 560px){
  .st-grid{ grid-template-columns: 1fr; }
  .vip-row{ grid-template-columns: 1fr; }
  .pc-left p{ max-width: 100%; }
}

/* ==========================
   Testemunhos em vídeo (novo bloco)
   ========================== */
.video-testimonials{
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
}
.video-testimonials:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(800px 420px at 20% 10%, rgba(212,175,55,.12), transparent 60%),
    radial-gradient(900px 520px at 80% 20%, rgba(68,18,92,.20), transparent 62%);
}
.vt-head{
  position:relative;
  text-align:center;
  max-width: 900px;
  margin: 0 auto 18px;
}
.vt-head h2{
  margin: 0 0 10px;
  letter-spacing: .08em;
}
.vt-head p{
  margin: 0 auto;
  max-width: 72ch;
  color: var(--muted);
  text-align: justify;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.65;
}

.vt-marquee{
  position:relative;
  margin-top: 18px;
  border-radius: var(--radius);
}
.vt-track{
  display:flex;
  gap: 16px;
  width: max-content;
  animation: vtScroll 52s linear infinite;
  padding: 8px 2px;
  will-change: transform;
}
.vt-marquee:hover .vt-track{ animation-play-state: paused; }

.vt-card{
  width: 420px;
  background: linear-gradient(180deg, rgba(68,18,92,.72), rgba(0,0,0,.58));
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,.55);
}
.vt-frame{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: rgba(0,0,0,.55);
}
.vt-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.vt-meta{
  padding: 12px 14px 14px;
  color: var(--text);
  font-weight: 600;
  letter-spacing: .04em;
}
.vt-actions{
  position:relative;
  display:flex;
  justify-content:center;
  margin-top: 18px;
}

@keyframes vtScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@media (max-width: 900px){
  .video-testimonials{ padding: 44px 0 56px; }
  .vt-card{ width: 320px; }
  .vt-track{ animation-duration: 44s; }
}

@media (max-width: 520px){
  .vt-head p{ max-width: 62ch; }
  .vt-card{ width: 280px; }
  .vt-track{ gap: 12px; }
}

/* ===============================
   OVERRIDE FUNDO INSTITUCIONAL – BLOCOS FINAIS
   =============================== */

.projeto-completar,
.some-testimonials,
.vip-block {
  background: var(--bg) !important;
}

/* remove branco interno herdado */
.projeto-completar *,
.some-testimonials *,
.vip-block * {
  background-color: transparent !important;
}


/* ===============================
   TEXTO CLARO NOS BLOCOS FINAIS
   =============================== */

.projeto-completar,
.some-testimonials,
.vip-block {
  color: var(--text) !important;
}

.projeto-completar h1,
.projeto-completar h2,
.projeto-completar h3,
.projeto-completar p,
.some-testimonials h1,
.some-testimonials h2,
.some-testimonials h3,
.some-testimonials p,
.vip-block h1,
.vip-block h2,
.vip-block h3,
.vip-block p {
  color: var(--text) !important;
}

/* ===============================
   FIX: textos do formulário VIP claros
   =============================== */
.vip-block,
.vip-block *{
  color: var(--text);
}

.vip-block .vip-left p,
.vip-block .vip-left,
.vip-block .vip-left .footer-small{
  color: var(--text) !important;
}

/* Labels e textos pequenos */
.vip-block .vip-label,
.vip-block .vip-hint,
.vip-block small{
  color: var(--text) !important;
}

/* Inputs/textarea */
.vip-block input,
.vip-block textarea{
  color: var(--text) !important;
  background: rgba(0,0,0,.22); /* não cria cor nova (é só transparência) */
  border-color: var(--line) !important;
}

/* Placeholder (o “Digite sua mensagem...”) */
.vip-block input::placeholder,
.vip-block textarea::placeholder{
  color: var(--muted) !important;
  opacity: 1 !important;
}

/* Botão do form (se algum texto estiver apagado) */
.vip-block .vip-submit{
  color: var(--text) !important;
}

/* Ícones (caso algum fique “sumido”) */
.vip-block .pc-ic svg{
  fill: var(--text) !important;
}

/* ===== AJUSTE DESKTOP FOTO SOBRE BÍULA ===== */

.about-buila .ab-media img{
  object-position: 68% center;
}

.about-buila .ab-media img{
  object-position: 68% 10%;
}

/* ===== FIX DEFINITIVO DOS VÍDEOS ===== */

.video-testimonials .vt-frame{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--radius);
  background: #000;
}

.video-testimonials .vt-frame iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-testimonials .vt-card{
  background: var(--panel);
  border: 1px solid var(--line);
}

/* ===== Video thumb overlay (capa não some) ===== */
.vt-frame{ position: relative; overflow: hidden; border-radius: 16px; }
.vt-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

.vt-cover{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
  padding:0; border:0; background:transparent;
  cursor:pointer;
  z-index:2;
}

.vt-cover img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.03);
}

.vt-play{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:56px; height:56px;
  border-radius:999px;
  background: rgba(0,0,0,.45);
  border:1px solid rgba(212,175,55,.45); /* usa seu dourado existente */
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.vt-play::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  transform:translate(-42%,-50%);
  width:0; height:0;
  border-left:18px solid rgba(255,255,255,.9);
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
}

.vt-card.is-playing .vt-cover{ display:none; }

.vt-frame{ position:relative; overflow:hidden; border-radius:16px; }
.vt-cover{ position:absolute; inset:0; padding:0; border:0; background:transparent; cursor:pointer; z-index:2; }
.vt-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:999px; background:rgba(0,0,0,.45); box-shadow:0 10px 30px rgba(0,0,0,.35); }
.vt-play::after{ content:""; position:absolute; left:50%; top:50%; transform:translate(-42%,-50%); width:0; height:0; border-left:18px solid rgba(255,255,255,.9); border-top:10px solid transparent; border-bottom:10px solid transparent; }
.vt-card.is-playing .vt-cover{ display:none; }

/* === Override: painéis de texto SEM fundo (igual ao fundo da página) === */
.livraria-preview .liv-text,
.uch-preview .uch-text,
.about-buila .ab-text,
.formacao-preview .p-form,         /* se o texto fica dentro do form/card */
.projeto-completar .pc-left {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Se o roxo estiver no card inteiro (não só no texto), zere também o card */
.livraria-preview .liv-card,
.uch-preview .uch-card,
.about-buila .ab-card,
.projeto-completar .pc-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* ================================
   TELEGRAM — CORREÇÃO DEFINITIVA
   ================================ */

/* Azul oficial Telegram */
.vip-telegram,
.vip-telegram *,
.vip-telegram span,
.vip-telegram svg {
  color: #229ED9 !important;
  fill: #229ED9 !important;
}

/* Garante que o botão não escureça */
.vip-telegram {
  background: transparent !important;
}

/* Remove influência do vip-block */
.vip-block .vip-telegram,
.vip-block .vip-telegram * {
  color: #229ED9 !important;
  fill: #229ED9 !important;
}

/* Play safe contra overrides globais */
.vip-telegram-ic,
.vip-telegram-ic * {
  color: #229ED9 !important;
  fill: #229ED9 !important;
}

.home-ref .ref-hero .img-slot {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* === FIX IMAGEM HERO (NÃO CORTAR) — COLE NO FIM DO ARQUIVO === */
html body.home-ref .ref-hero .img-slot{
  display: flex;
  align-items: center;
  justify-content: center;
}

html body.home-ref .ref-hero .img-slot img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* === HERO: imagem inteira (sem corte) + CARD acompanha a altura da imagem === */
html body.home-ref .ref-hero .banner{
  align-items: start !important;
}

html body.home-ref .ref-hero .img-slot{
  height: auto !important;
  max-height: none !important;
}

html body.home-ref .ref-hero .img-slot img{
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

/* === CLAREAR NOMES / META DOS TESTEMUNHOS === */
html body .some-testimonials .st-meta{
  color: rgba(255,255,255,0.85) !important;
}

/* ===== BLOG SER HUMANO COMPLETO - HERO (capa) ===== */
.blog-hero{
  position: relative;
  background: url('blog-hero.png') center center / cover no-repeat;
  min-height: 75vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0;
  overflow: hidden;
}

.blog-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18,10,15,.5);
}

.blog-hero *{
  position: relative;
  z-index: 2;
}

.blog-hero h1{
  color: #FFFFFF;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0;
}

.blog-hero h2{
  margin: 12px 0 18px;
  font-weight: 400;
}

.blog-hero .gold-line{
  width: 180px;
  height: 2px;
  background: linear-gradient(90deg,#c9a24d,#ffd98a,#c9a24d);
  margin: 0 auto;
  border-radius: 2px;
}

@media (max-width: 768px){
  .blog-hero{
    min-height: 60vh;
  }
  .blog-hero h1{
    font-size: 28px;
  }
  .blog-hero h2{
    font-size: 16px;
  }
}

@media (min-width: 1024px) {
  .blog-card h1 {
    font-size: 30px !important;
  }
}

footer,
footer p,
footer div,
footer li,
.footer-small,
.footer-grid {
  text-align: justify;
}
.access-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 18px;
border-radius:999px;
background:linear-gradient(180deg,#f4d27a,#caa43a);
color:#1b1206;
font-weight:600;
text-decoration:none;
border:1px solid rgba(212,175,55,.45);
box-shadow:0 4px 14px rgba(212,175,55,.25);
transition:all .18s ease;
}

.access-cta:hover{
transform:translateY(-1px);
box-shadow:0 6px 18px rgba(212,175,55,.35);
}

.btn:hover,
.btn-outline:hover,
a.btn:hover,
a.btn-outline:hover,
button.btn:hover,
button.btn-outline:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,175,55,.35);
  filter:brightness(1.03);
}

.btn:focus,
.btn-outline:focus,
a.btn:focus,
a.btn-outline:focus,
button.btn:focus,
button.btn-outline:focus{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(212,175,55,.18),
    0 6px 18px rgba(212,175,55,.35);
}

.btn:active,
.btn-outline:active,
a.btn:active,
a.btn-outline:active,
button.btn:active,
button.btn-outline:active{
  transform:translateY(0);
}

.btn[disabled],
.btn-outline[disabled],
button.btn[disabled],
button.btn-outline[disabled]{
  opacity:.58;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* ===============================
   SISTEMA TIPOGRÁFICO GLOBAL
   (aparência apenas – sem layout)
   =============================== */

/* Texto de leitura */
body,
p,
article p,
.post-content p,
.entry-content p,
.blog-content p,
.sidebar p,
.post-excerpt,
.card p,
li,
blockquote,
small {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  font-size: 16px;
  line-height: 1.6;

  font-weight: 400;
  text-align: justify;
}

/* Títulos – padrão editorial */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.25;
  text-align: left;
  margin-top: 1.2em;
  margin-bottom: 0.55em;
}

h1 {
  font-size: 2.1rem;
  font-weight: 700;
}

h2 {
  font-size: 1.7rem;
  font-weight: 700;
}

h3 {
  font-size: 1.35rem;
  font-weight: 600;
}

h4 {
  font-size: 1.15rem;
  font-weight: 600;
}

h5,
h6 {
  font-size: 1rem;
  font-weight: 600;
}

/* Hero principal e títulos centrais institucionais */
.hero h1,
.hero h2,
.hero-title,
.page-hero h1,
.page-hero h2,
.hero-banner h1,
.hero-banner h2,
.blog-hero h1,
.blog-hero h2,
.blog-header h1,
.blog-header h2 {
  text-align: center;
}

/* Títulos de cards e listas do blog */
.post-card h2,
.post-card h3,
.posts-grid h2,
.posts-grid h3,
.card h2,
.card h3,
.sidebar h2,
.sidebar h3 {
  text-align: left;
}

/* Interface e navegação */
.menu,
.navbar,
.menu a,
.navbar a,
header a,
.brand-name,
.brand-tag,
.dropdown-toggle,
.menu-dd summary {
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
}

/* Botões */
button,
.btn,
.btn-outline,
.cta,
.access-cta,
.btn-top,
a.btn,
a.cta,
a.access-cta {
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  text-align: center;
}

/* Campos de formulário */
input,
textarea,
label,
select {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ===============================
   HERO DOS POSTS ABERTOS
   reduzir título gigante do banner
   =============================== */

.blog-header h1,
.blog-hero h1,
.page-hero h1,
.hero-banner h1,
.post-hero h1,
.post-header h1,
article header h1 {
  font-size: clamp(1.8rem, 3.1vw, 3.3rem);
  line-height: 1.08;
  letter-spacing: 0.04em;
  text-align: center;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* subtítulo do hero do post */
.blog-header h2,
.blog-hero h2,
.page-hero h2,
.hero-banner h2,
.post-hero h2,
.post-header h2,
article header h2 {
  font-size: clamp(1.2rem, 2vw, 2.4rem);
  line-height: 1.2;
  text-align: center;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* ===============================
   TITULOS DOS CARDS DO BLOG
   reduzir tamanho e melhorar leitura
   =============================== */

.post-card h2,
.post-card h3,
.card h2,
.card h3,
.posts-grid h2,
.posts-grid h3 {
  font-size: 1.10rem;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-bottom: 0.35em;
}

/* TITULO DO POST ABERTO */

.post-header h1,
.post-hero h1,
.blog-header h1,
article header h1 {

  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: 1.1;
  letter-spacing: 0.03em;
  text-align: center;

}

.sch-pagination{
  font-size:14px;
}

.sch-pagination a{
  font-size:14px;
  font-weight:600;
}
/* ajustar altura dos 2 botões dourados do bloco premium no blog principal */
.sch-premium-actions .access-cta{
  padding:8px 18px;
  line-height:1.2;
}
.brand-name{
  font-family: "EB Garamond", serif;
  font-weight:700;
  letter-spacing:.06em;
}
body{
  user-select:none;
  -webkit-user-select:none;
  -moz-user-select:none;
}

img{
  pointer-events:none;
}

/* =========================================
   MOBILE MENU — BLOG SCH
   atua apenas no mobile
   ========================================= */
.menu-toggle{
  display:none;
  appearance:none;
  -webkit-appearance:none;
  width:46px;
  height:46px;
  padding:0;
  border-radius:12px;
  border:1px solid rgba(212,175,55,.42);
  background: rgba(0,0,0,.22);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

.menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background: var(--gold);
  transition: transform .22s ease, opacity .22s ease, background .22s ease;
}

@media (max-width: 980px){
  .navbar{
    align-items:center;
    gap:14px;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
    align-items:center;
  }

  .brand > div:last-child{
    min-width:0;
  }

  .brand-name{
    font-size: clamp(14px, 3.8vw, 22px);
    line-height:1.12;
    letter-spacing:.03em;
    white-space:normal;
    overflow-wrap:break-word;
  }

  .brand-tag{
    font-size: clamp(11px, 2.8vw, 13px);
    line-height:1.35;
    white-space:normal;
  }

  .menu-toggle{
    display:inline-flex;
    flex:0 0 auto;
  }

  nav.menu{
    display:none;
    position:absolute;
    top:100%;
    left:20px;
    right:20px;
    margin-top:12px;
    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 > .menu-dd{
    width:100%;
  }

  nav.menu a,
  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-dd{
    display:block;
  }

  .menu-dd .dd-trigger{
    position:relative;
    padding-right:42px !important;
  }

  .menu-dd .dd-trigger:after{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    display:block;
  }

  .menu-dd .dd-menu{
    position:static !important;
    display:none;
    min-width:0;
    width:100%;
    margin-top:8px;
    padding:8px;
    border-radius:14px;
    background: rgba(255,255,255,.02);
    box-shadow:none;
  }

  .menu-dd.open .dd-menu{
    display:block;
  }

  .menu-dd .dd-menu a{
    min-height:40px;
    padding:10px 12px !important;
    border-radius:10px;
    font-size:13px;
    line-height:1.3 !important;
  }

  .site-header .container{
    position:relative;
  }

  body.menu-open{
    overflow:hidden;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
  }
}

@media (max-width: 640px){
  .navbar{
    padding:12px 0;
  }

  .brand{
    gap:10px;
  }

  .brand-badge{
    width:44px;
    height:44px;
  }

  .brand-name{
    font-size: clamp(13px, 3.4vw, 18px);
  }

  .brand-tag{
    font-size:11px;
  }

  nav.menu{
    left:16px;
    right:16px;
  }
}

/* =========================================
   BLOG SCH — REORGANIZAÇÃO MOBILE DA LATERAL
   objetivo:
   1) topo normal
   2) card destaque
   3) sidebar largura total
   4) novos posts abaixo
   sem tocar no desktop
   ========================================= */
@media (max-width: 980px){

  /* grid principal vira coluna única */
  .blog-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
  }

  /* remove comportamento lateral no mobile */
  .blog-sidebar{
    position:static !important;
    top:auto !important;
    width:100% !important;
    max-width:100% !important;
    order:2 !important;
  }

  /* wrapper do conteúdo principal */
  .blog-grid > div:first-child{
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
    width:100% !important;
    order:1 !important;
  }

  /* card destaque primeiro */
  .blog-grid > div:first-child > article:first-of-type{
    order:1 !important;
    width:100% !important;
    margin:0 !important;
  }

  /* seção "Novos posts" depois da sidebar */
  .blog-grid > div:first-child > section:first-of-type{
    order:3 !important;
    width:100% !important;
    margin:0 !important;
  }

  /* seção "Base do acervo" continua depois */
  .blog-grid > div:first-child > section:last-of-type{
    order:4 !important;
    width:100% !important;
    margin:0 !important;
  }

  /* sidebar encaixada visualmente entre destaque e posts */
  .blog-sidebar{
    margin:0 !important;
    padding:0 !important;
  }

  /* busca e cards laterais ocupando largura total */
  .blog-search,
  .sch-premium-sidecard,
  .blog-cats,
  .sch-sidecard{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 16px 0 !important;
  }

  .blog-search input{
    width:100% !important;
    min-height:46px !important;
    font-size:16px !important;
  }

  /* cards laterais com padding coerente no mobile */
  .sch-premium-sidecard,
  .sch-sidecard{
    padding:18px 16px !important;
    border-radius:16px !important;
  }

  .blog-cats a{
    width:100% !important;
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    padding:10px 12px !important;
    margin-bottom:10px !important;
    line-height:1.35 !important;
    white-space:normal !important;
  }

  .sch-sidecard-list{
    padding-left:18px !important;
    margin:0 !important;
  }

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

  .sch-sidecard-list a{
    display:inline !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* autora */
  .sch-author-photo{
    width:100% !important;
    margin:0 0 14px 0 !important;
  }

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

  .sch-author-body,
  .sch-author-text,
  .sch-author-sign{
    width:100% !important;
  }

  /* textos de leitura justificados */
  .blog-intro p,
  .blog-intro li,
  .sch-premium-text,
  .sch-premium-note,
  .sch-premium-sidecard p,
  .sch-author-text,
  .sch-author-sign,
  .blog-card p,
  .sch-sidecard p,
  .sch-sidecard li,
  .sch-sidecard-list a{
    text-align:justify !important;
    hyphens:auto !important;
    -webkit-hyphens:auto !important;
    -ms-hyphens:auto !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  /* títulos e blocos alinhados */
  .blog-card,
  .sch-premium-sidecard,
  .sch-sidecard,
  .sch-premium-block{
    width:100% !important;
    max-width:100% !important;
  }

  /* imagem do destaque */
  .hero-cover{
    width:100% !important;
    height:220px !important;
    object-fit:cover !important;
    border-radius:14px !important;
    display:block !important;
  }

  /* conteúdo do card destaque */
  .blog-grid > div:first-child > article:first-of-type h2{
    font-size: clamp(28px, 7vw, 40px) !important;
    line-height:1.06 !important;
    margin:0 0 12px !important;
    text-align:left !important;
    letter-spacing:0 !important;
  }

  .blog-grid > div:first-child > article:first-of-type .meta{
    margin-bottom:12px !important;
  }

  .blog-grid > div:first-child > article:first-of-type p{
    margin-bottom:14px !important;
  }

  /* posts abaixo em grade de 1 coluna no mobile */
  .posts-grid-2{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  /* cards dos posts */
  .posts-grid-2 .blog-card{
    padding:18px !important;
    margin-bottom:0 !important;
  }

  .posts-grid-2 .blog-card h3{
    font-size:20px !important;
    line-height:1.18 !important;
    margin:0 0 8px !important;
    text-align:left !important;
  }

  .posts-grid-2 .blog-card p{
    font-size:15px !important;
    line-height:1.55 !important;
    text-align:justify !important;
  }

  /* blocos premium e intro */
  .blog-intro{
    font-size:16px !important;
    line-height:1.7 !important;
    max-width:100% !important;
  }

  .sch-premium-block{
    padding:20px 16px !important;
    border-radius:16px !important;
    margin:0 0 24px 0 !important;
  }

  .sch-premium-title{
    font-size:30px !important;
    line-height:1.08 !important;
    margin:0 0 12px !important;
    text-align:left !important;
  }

  /* botões: não quebrar feio */
  .btn-top,
  .sch-premium-sidecard .premium-side-actions .btn-top,
  .sch-premium-actions .access-cta,
  #schIntroToggle,
  #schAuthorToggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:100% !important;
    min-height:44px !important;
    padding:10px 14px !important;
    line-height:1.2 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .access-cta{
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:100% !important;
    min-height:44px !important;
    padding:10px 14px !important;
    line-height:1.2 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .sch-premium-actions,
  .premium-side-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
  }

  /* paginação */
  .sch-pagination{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:12px !important;
  }

  .sch-pagination > div{
    width:100% !important;
    text-align:left !important;
  }
}

@media (max-width: 640px){

  .blog-wrap{
    padding:34px 0 54px !important;
  }

  .container{
    padding:0 16px !important;
  }

  .blog-grid{
    gap:20px !important;
  }

  .blog-grid > div:first-child{
    gap:20px !important;
  }

  .hero-cover{
    height:200px !important;
  }

  .blog-grid > div:first-child > article:first-of-type{
    padding:18px !important;
  }

  .blog-grid > div:first-child > article:first-of-type h2{
    font-size: clamp(24px, 8.2vw, 34px) !important;
    line-height:1.05 !important;
  }

  .sch-premium-title{
    font-size:26px !important;
  }

  .blog-intro,
  .sch-premium-text,
  .sch-premium-note,
  .blog-card p,
  .sch-premium-sidecard p,
  .sch-author-text,
  .sch-author-sign{
    font-size:15px !important;
    line-height:1.68 !important;
  }

  .posts-grid-2 .blog-card h3{
    font-size:18px !important;
  }

  .sch-sidecard-title,
  .sch-premium-kicker{
    line-height:1.3 !important;
  }
}

@media (max-width: 640px){
  .blog-hero{
    min-height: 52vh !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .blog-hero h1{
    font-size: 20px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
  }

  .blog-hero h2{
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    margin: 10px auto 14px !important;
    max-width: 100% !important;
  }

  .blog-hero .gold-line{
    width: 120px !important;
  }
}

@media (max-width: 640px){
  .sch-premium-title{
    font-size: 18px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }
}

@media (max-width: 980px){

  .access-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  .access-actions .access-cta{
    width:100% !important;
  }

}
