/* =========================================================
   MÉTODO FRB / FERNANDO BREVINSKI — Design tokens
   Preto quente + dourado. Acento único.
   ========================================================= */
:root{
  --bg:            #171512;
  --bg-raised:     #1D1A16;
  --bg-card:       #211D19;
  --gold:          #C99A3E;
  --gold-light:    #E3BD6B;
  --gold-deep:     #A87C28;
  --grad-gold:     linear-gradient(135deg,#B8862B 0%,#D9AE55 45%,#F0D08A 100%);
  --line:          rgba(216,196,160,.16);
  --line-strong:   rgba(216,196,160,.34);
  --text:          #FFFFFF;
  --text-dim:      #B9B2A6;
  --text-faint:    #7E776C;

  --font-display: 'Poppins', system-ui, sans-serif;
  --font-body:    'Poppins', system-ui, sans-serif;

  --radius: 4px;
  --radius-lg: 14px;
  --container: 1180px;
  --nav-h: 100px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--gold); color:#171512; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }

/* Tipografia ------------------------------------------------ */
.eyebrow{
  font-weight:600; text-transform:uppercase; letter-spacing:.24em;
  font-size:.7rem; color:var(--gold);
}
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; line-height:1.1; margin:0 0 .5em; }
h1{ font-size:clamp(2.6rem,5.6vw,4.6rem); letter-spacing:-.02em; }
h2{ font-size:clamp(1.9rem,3.6vw,2.9rem); letter-spacing:-.015em; }
h3{ font-size:1.15rem; letter-spacing:-.01em; }
p{ margin:0 0 1em; color:var(--text-dim); }

.gold{ color:var(--gold); }
.grad-text{
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hairline{ height:1px; background:var(--line); border:0; margin:0; }

.label{
  font-weight:600; text-transform:uppercase; letter-spacing:.14em;
  font-size:.76rem; color:var(--text);
}
.label-dim{
  font-weight:400; text-transform:uppercase; letter-spacing:.14em;
  font-size:.68rem; color:var(--text-faint);
}

/* Botões ---------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:.74rem;
  padding:16px 34px; border-radius:var(--radius); border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--grad-gold); color:#171512; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 12px 30px -10px rgba(201,154,62,.5); }
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--line-strong); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }
.btn-block{ width:100%; }

/* =========================================================
   NAV — barra flutuante arredondada
   ========================================================= */
.nav{
  position:fixed; top:16px; left:0; right:0; z-index:100;
  display:flex; justify-content:center; padding:0 20px;
}
.nav-inner{
  width:100%; max-width:var(--container);
  height:64px; padding:0 14px 0 22px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(23,21,18,.86);
  backdrop-filter:blur(14px);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:.92rem; line-height:1.15; }
.brand img{ width:30px; height:30px; }
.brand small{ display:block; font-weight:400; font-size:.72rem; color:var(--text-dim); }

.nav-links{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
.nav-links a{
  display:block; padding:9px 16px; border-radius:8px;
  font-size:.82rem; font-weight:500; color:var(--text-dim);
  transition:color .15s ease, background .15s ease;
}
.nav-links a:hover{ color:var(--text); }
.nav-links a.active{ background:rgba(255,255,255,.08); color:var(--text); }
.nav-cta{ display:flex; align-items:center; gap:10px; }
.nav-cta .btn{ padding:12px 22px; }
.nav-toggle{
  display:none; background:none; border:1px solid var(--line-strong); border-radius:8px;
  width:42px; height:42px; color:var(--text); align-items:center; justify-content:center;
}

@media (max-width: 980px){
  .nav-links{
    position:fixed; inset:96px 20px auto 20px;
    flex-direction:column; align-items:stretch; gap:4px;
    padding:16px; background:var(--bg-card);
    border:1px solid var(--line); border-radius:var(--radius-lg);
    display:none;
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:12px 14px; font-size:.92rem; }
  .nav-toggle{ display:flex; }
  .nav-cta .btn-ghost{ display:none; }
}

/* =========================================================
   SEÇÕES
   ========================================================= */
section{ padding:120px 0; position:relative; }
.section-head{ max-width:660px; margin:0 0 60px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-sub{
  text-transform:uppercase; letter-spacing:.14em; font-size:.76rem;
  color:var(--text-dim); font-weight:400;
}
@media (max-width:720px){ section{ padding:76px 0; } }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:100svh; padding-top:var(--nav-h);
  background:var(--bg); overflow:hidden;
}
.hero-bg{ position:absolute; top:0; right:0; bottom:0; width:62%; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.hero-bg::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,
    var(--bg) 0%, rgba(23,21,18,.94) 16%, rgba(23,21,18,.58) 38%,
    rgba(23,21,18,.12) 62%, transparent 76%);
}
.hero-bg::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:38%;
  background:linear-gradient(0deg, var(--bg) 0%, transparent 100%);
}
.hero .container{
  position:relative; z-index:1;
  min-height:calc(100svh - var(--nav-h));
  display:flex; align-items:center; padding-top:60px; padding-bottom:60px;
}
.hero-content{ max-width:640px; }
.hero-eyebrow{ display:flex; align-items:center; gap:14px; margin-bottom:26px; }
.hero-eyebrow .dash{ width:34px; height:1px; background:var(--gold); flex:none; }
.hero-sub{ font-size:1.05rem; color:var(--text-dim); max-width:52ch; margin-bottom:1.4em; }
.hero-stat{
  font-style:italic; font-size:.92rem; color:var(--gold);
  max-width:50ch; margin-bottom:2.2em; line-height:1.6;
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
@media (max-width:900px){
  .hero-bg{ width:100%; opacity:.25; }
  .hero-bg::before{ background:linear-gradient(0deg, var(--bg) 10%, rgba(23,21,18,.55) 60%, rgba(23,21,18,.2) 100%); }
  .hero-content{ max-width:100%; }
}

/* =========================================================
   STRIP DE INDICADORES — colunas com hairline vertical
   ========================================================= */
.strip{
  display:grid; grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.strip-col{
  padding:38px 22px; text-align:center;
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.strip-col:last-child{ border-right:0; }
.strip-icon{ width:62px; height:62px; color:var(--text); opacity:.92; }
.strip-icon svg{ width:100%; height:100%; }
.strip-col p{ font-size:.86rem; margin:0; color:var(--text-dim); }
.strip-mark{ width:26px; height:1px; background:var(--line-strong); margin:8px 0; }
.strip-bench{ font-size:.74rem; color:var(--text-faint); margin:0; }
.strip-value{ font-size:.92rem; color:var(--text); margin:0; }
@media (max-width:900px){
  .strip{ grid-template-columns:repeat(2,1fr); }
  .strip-col{ border-bottom:1px solid var(--line); }
  .strip-col:nth-child(2n){ border-right:0; }
}
@media (max-width:520px){
  .strip{ grid-template-columns:1fr; }
  .strip-col{ border-right:0; }
}

/* Caixa de destaque arredondada ------------------------------ */
.callout{
  margin-top:56px;
  border:1px solid var(--line-strong); border-radius:var(--radius-lg);
  padding:32px 38px;
  display:flex; align-items:center; gap:32px;
}
.callout-icon{ width:62px; height:62px; flex:none; color:var(--text); opacity:.92; }
.callout h3{ font-size:.88rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:8px; }
.callout p{ margin:0; font-size:.92rem; }
@media (max-width:700px){ .callout{ flex-direction:column; text-align:center; gap:20px; padding:28px 22px; } }

/* =========================================================
   BENEFÍCIOS
   ========================================================= */
.benefits-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.benefit{ background:var(--bg); padding:34px 28px; transition:background .2s ease; }
.benefit:hover{ background:var(--bg-raised); }
.benefit .num{ font-size:.74rem; letter-spacing:.14em; color:var(--gold); font-weight:600; }
.benefit h3{ margin:14px 0 10px; font-size:1rem; }
.benefit p{ font-size:.88rem; margin:0; }
@media (max-width:900px){ .benefits-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .benefits-grid{ grid-template-columns:1fr; } }

/* =========================================================
   MÉTODO FRB — templo de 3 pilares
   ========================================================= */
.metodo{ background:var(--bg-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.temple{ display:flex; flex-direction:column; align-items:center; margin-top:64px; }
.temple-lintel{
  width:100%; max-width:900px;
  border:1px solid var(--line); border-bottom:0;
  padding:18px 24px; text-align:center;
  text-transform:uppercase; letter-spacing:.18em; font-size:.86rem; font-weight:600;
  background:var(--bg-card);
}
.pillars{ display:flex; width:100%; max-width:900px; border:1px solid var(--line); border-top:0; }
.pillar{ flex:1; padding:42px 26px 32px; text-align:center; border-right:1px solid var(--line); }
.pillar:last-child{ border-right:0; }
.pillar-letter{
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  font-family:var(--font-display); font-weight:700; font-size:1.4rem; color:#171512;
  background:var(--grad-gold);
}
.pillar.r .pillar-letter{ background:linear-gradient(135deg,#8E6820,#C99A3E); }
.pillar.b .pillar-letter{ background:linear-gradient(135deg,#6E4F17,#A87C28); color:#F0D08A; }
.pillar h3{ font-size:.86rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:12px; }
.pillar p{ font-size:.86rem; }
.pillar-base{ width:100%; max-width:900px; height:6px; background:var(--grad-gold); }
@media (max-width:760px){
  .pillars{ flex-direction:column; }
  .pillar{ border-right:0; border-bottom:1px solid var(--line); }
  .pillar:last-child{ border-bottom:0; }
}


/* =========================================================
   FUNDADOR
   ========================================================= */
.founder{ display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; }
.founder-photo{
  aspect-ratio:3/4; background:var(--bg-card);
  border:1px solid var(--line); border-radius:var(--radius-lg);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.founder-photo img{ width:100%; height:100%; object-fit:cover; }
.founder-cred{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:16px; }
.founder-cred li{ display:flex; gap:14px; align-items:flex-start; font-size:.94rem; color:var(--text-dim); }
.founder-cred .chip{ flex:none; width:7px; height:7px; border-radius:50%; margin-top:9px; background:var(--gold); }
.founder-quote{
  margin-top:30px; padding-left:22px; border-left:2px solid var(--gold);
  font-size:1.02rem; color:var(--text); font-style:italic;
}
@media (max-width:820px){ .founder{ grid-template-columns:1fr; gap:40px; } }

/* =========================================================
   OFERTA
   ========================================================= */
.offer-card{
  border:1px solid var(--line-strong); border-radius:var(--radius-lg);
  background:var(--bg-raised); padding:56px;
  display:grid; grid-template-columns:1.3fr .7fr; gap:48px;
}
.offer-list{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.offer-list li{ display:flex; gap:12px; font-size:.94rem; color:var(--text); }
.offer-list li svg{ flex:none; margin-top:5px; }
.offer-price{
  border-left:1px solid var(--line); padding-left:48px;
  display:flex; flex-direction:column; justify-content:center; gap:18px;
}
.offer-price .old{ text-decoration:line-through; color:var(--text-faint); font-size:.92rem; }
.offer-price .new{ font-family:var(--font-display); font-weight:700; font-size:2.5rem; color:var(--gold); line-height:1.1; }
.offer-price .new small{ font-size:.9rem; color:var(--text-dim); font-weight:400; }
@media (max-width:820px){
  .offer-card{ grid-template-columns:1fr; padding:32px; }
  .offer-price{ border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:32px; }
}

/* =========================================================
   FAQ
   ========================================================= */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; background:none; border:0; color:var(--text);
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 0; text-align:left; cursor:pointer;
  font-family:var(--font-display); font-weight:600; font-size:.98rem;
  list-style:none;
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q .plus{ font-size:1.3rem; color:var(--gold); transition:transform .2s ease; flex:none; margin-left:16px; font-weight:300; }
.faq-item[open] .plus{ transform:rotate(45deg); }
.faq-a{ padding:0 0 26px; max-width:72ch; }
.faq-a p{ margin:0; }

/* =========================================================
   CTA FINAL + FOOTER
   ========================================================= */
.cta-band{
  text-align:center;
  background:radial-gradient(ellipse 700px 400px at 50% 0%, rgba(201,154,62,.13), transparent 62%), var(--bg-raised);
  border-top:1px solid var(--line);
}
.cta-band h2{ max-width:18ch; margin:0 auto .4em; }
.cta-band .hero-sub{ margin:0 auto 2em; }
.cta-band .hero-actions{ justify-content:center; }

footer{ padding:60px 0 32px; }
.footer-grid{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:44px; }
.footer-col h4{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-faint); margin-bottom:18px; font-weight:600; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.footer-col a{ font-size:.9rem; color:var(--text-dim); }
.footer-col a:hover{ color:var(--gold); }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.78rem; color:var(--text-faint); }

/* Botão flutuante WhatsApp ---------------------------------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:150;
  width:56px; height:56px; border-radius:50%;
  background:var(--grad-gold); color:#171512;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.6);
  transition:transform .2s ease;
}
.wa-float:hover{ transform:scale(1.06); }

/* =========================================================
   BLOG
   ========================================================= */
.blog-hero{ padding:calc(var(--nav-h) + 70px) 0 40px; }
.blog-toolbar{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-bottom:48px; }
.search-box{
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--line-strong); border-radius:30px;
  padding:12px 20px; flex:1; max-width:380px;
}
.search-box input{ background:none; border:0; color:var(--text); font-family:var(--font-body); font-size:.9rem; width:100%; }
.search-box input::placeholder{ color:var(--text-faint); }
.search-box input:focus{ outline:none; }
.cat-filters{ display:flex; gap:8px; flex-wrap:wrap; }
.cat-filters button{
  background:none; border:1px solid var(--line); color:var(--text-dim);
  font-family:var(--font-body); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em;
  padding:9px 18px; border-radius:30px; transition:all .15s ease;
}
.cat-filters button.active,.cat-filters button:hover{ border-color:var(--gold); color:var(--gold); }

.post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.post-card{
  border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--bg-card);
  display:flex; flex-direction:column; overflow:hidden;
  transition:transform .2s ease, border-color .2s ease;
}
.post-card:hover{ transform:translateY(-4px); border-color:var(--gold); }
.post-cover{ aspect-ratio:16/10; background:var(--bg-raised); position:relative; overflow:hidden; }
.post-cover img{ width:100%; height:100%; object-fit:cover; }
.post-cat{
  position:absolute; top:14px; left:14px;
  font-size:.64rem; text-transform:uppercase; letter-spacing:.12em;
  background:rgba(23,21,18,.9); border:1px solid var(--line-strong); color:var(--gold);
  padding:6px 12px; border-radius:30px;
}
.post-body{ padding:24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.post-date{ font-size:.7rem; color:var(--text-faint); text-transform:uppercase; letter-spacing:.12em; }
.post-body h3{ font-size:1rem; margin:0; }
.post-body p{ font-size:.86rem; margin:0; flex:1; }
.blog-list-summary,.featured-summary{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden;
}
.blog-list-summary{ min-height:4.5em; }
.post-readmore{ font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-top:8px; font-weight:600; }
.empty-state{ text-align:center; padding:80px 20px; color:var(--text-faint); }
.home-blog{ background:var(--bg-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-blog-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:44px; }
.home-blog-head .section-head{ margin-bottom:0; }
.home-blog .post-summary{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden; min-height:4.5em;
}
.home-blog-status{ text-align:center; padding:36px 20px; color:var(--text-faint); }
@media (max-width:700px){ .home-blog-head{ align-items:flex-start; flex-direction:column; } }
@media (max-width:980px){ .post-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .post-grid{ grid-template-columns:1fr; } }

.pagination{ display:flex; justify-content:center; gap:10px; margin-top:52px; }
.pagination button{
  width:40px; height:40px; border:1px solid var(--line); background:none; color:var(--text-dim);
  border-radius:8px; font-size:.82rem;
}
.pagination button.active,.pagination button:hover{ border-color:var(--gold); color:var(--gold); }

.post-hero{ padding:calc(var(--nav-h) + 60px) 0 0; }
.post-meta{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-bottom:22px; }
.post-hero h1{ font-size:clamp(2rem,4.4vw,3.2rem); max-width:24ch; }
.post-hero-cover{
  margin-top:44px; aspect-ratio:16/9; background:var(--bg-card);
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
}
.post-hero-cover img{ width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.post-article{ max-width:760px; margin:56px auto 0; }
.post-article img{ border:1px solid var(--line); border-radius:var(--radius); margin:2em 0; }
.post-article h2{ font-size:1.6rem; margin-top:1.8em; }
.post-article h3{ font-size:1.2rem; }
.post-article p{ color:var(--text); font-size:1rem; }
.assinatura{
  display:flex; align-items:center; gap:16px;
  margin-top:40px; padding-top:28px; border-top:1px solid var(--line);
}
.assinatura-foto{
  width:64px; height:64px; flex:0 0 64px;
  overflow:hidden; border-radius:50%; border:1px solid var(--line-strong);
}
.post-article .assinatura-foto img{
  width:100%; height:100%; display:block; object-fit:cover; object-position:center top;
  margin:0; border:0; border-radius:50%;
}
.assinatura strong,.assinatura span{ display:block; }
.assinatura span{ margin-top:4px; color:var(--text-dim); font-size:.82rem; }
@media (max-width:520px){ .assinatura-foto{ width:54px; height:54px; flex-basis:54px; } }
.post-article a{ color:var(--gold); text-decoration:underline; }
.post-article blockquote{
  border-left:2px solid var(--gold); margin:2em 0; padding:.2em 0 .2em 24px;
  font-size:1.08rem; font-style:italic; color:var(--text);
}
.tag-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:40px; }
.tag-row span{
  font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--text-faint);
  border:1px solid var(--line); padding:6px 14px; border-radius:30px;
}
.share-row{ display:flex; gap:12px; margin-top:24px; }
.share-row a{
  width:38px; height:38px; border:1px solid var(--line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--text-dim);
}
.share-row a:hover{ border-color:var(--gold); color:var(--gold); }
.related{ margin-top:100px; }

/* =========================================================
   ADMIN
   ========================================================= */
.admin-shell{ display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.admin-side{ background:var(--bg-raised); border-right:1px solid var(--line); padding:28px 20px; position:sticky; top:0; height:100vh; }
.admin-side .brand{ margin-bottom:40px; }
.admin-nav{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.admin-nav a{
  display:block; padding:11px 14px; border-radius:8px;
  text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:600; color:var(--text-dim);
}
.admin-nav a.active,.admin-nav a:hover{ background:var(--bg-card); color:var(--gold); }
.cms-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.cms-wide{ grid-column:1/-1; }
.cms-course-list{ display:grid; gap:10px; }
.cms-course-row{ display:grid; grid-template-columns:64px 1fr auto auto; gap:14px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:6px; }
.cms-course-row span{ display:block; color:var(--text-faint); font-size:.78rem; margin-top:4px; }
.cms-section-title{ margin:32px 0 14px; padding-bottom:9px; border-bottom:1px solid var(--line); color:var(--gold); }
@media(max-width:700px){ .cms-form-grid{ grid-template-columns:1fr; }.cms-wide{ grid-column:auto; }.cms-course-row{ grid-template-columns:52px 1fr; }.cms-course-row .btn,.cms-course-row form{ width:100%; } }
.admin-main{ padding:44px; max-width:980px; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:34px; flex-wrap:wrap; }
.admin-table{ width:100%; border-collapse:collapse; }
.admin-table th{
  text-align:left; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; font-weight:600;
  color:var(--text-faint); padding:12px; border-bottom:1px solid var(--line);
}
.admin-table td{ padding:15px 12px; border-bottom:1px solid rgba(255,255,255,.06); font-size:.9rem; }
.status-pill{ font-size:.66rem; text-transform:uppercase; padding:5px 12px; border-radius:30px; letter-spacing:.1em; }
.status-pill.published{ background:rgba(201,154,62,.18); color:var(--gold); }
.status-pill.draft{ background:rgba(185,178,166,.14); color:var(--text-dim); }
.icon-btn{
  background:none; border:1px solid var(--line); border-radius:8px;
  width:34px; height:34px; color:var(--text-dim);
  display:inline-flex; align-items:center; justify-content:center;
}
.icon-btn:hover{ border-color:var(--gold); color:var(--gold); }

.form-field{ margin-bottom:22px; }
.form-field label{
  display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; font-weight:600;
  color:var(--text-faint); margin-bottom:9px;
}
.form-field input,.form-field select,.form-field textarea{
  width:100%; background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--text); font-family:var(--font-body); font-size:.92rem; padding:13px 15px;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{ outline:none; border-color:var(--gold); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }

.editor-toolbar{
  display:flex; gap:4px; flex-wrap:wrap; padding:10px; background:var(--bg-card);
  border:1px solid var(--line); border-bottom:0; border-radius:var(--radius) var(--radius) 0 0;
}
.editor-toolbar button{
  width:36px; height:36px; background:none; border:1px solid transparent; border-radius:6px; color:var(--text-dim);
  display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:600;
}
.editor-toolbar button:hover,.editor-toolbar button.active{ background:var(--bg-raised); color:var(--gold); }

.post-article .video-embed,
.editor-body .video-embed,
.preview-shell .video-embed{ position:relative; width:100%; aspect-ratio:16/9; margin:30px 0; overflow:hidden; border-radius:8px; background:#000; }
.post-article .video-embed iframe,
.editor-body .video-embed iframe,
.preview-shell .video-embed iframe,
.post-article .video-embed video,
.editor-body .video-embed video,
.preview-shell .video-embed video{ width:100%; height:100%; border:0; display:block; }
.editor-body{
  min-height:380px; background:var(--bg-card); border:1px solid var(--line);
  border-radius:0 0 var(--radius) var(--radius); padding:22px; color:var(--text); font-size:.98rem; line-height:1.8;
}
.editor-body:focus{ outline:none; }
.editor-body[data-placeholder]:empty::before{ content:attr(data-placeholder); color:var(--text-faint); }

.login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse 700px 500px at 50% 20%, rgba(201,154,62,.12), transparent 62%), var(--bg);
  padding:24px;
}
.login-card{
  width:100%; max-width:390px; border:1px solid var(--line-strong); border-radius:var(--radius-lg);
  background:var(--bg-card); padding:46px 38px;
}
.login-card .brand{ justify-content:center; margin-bottom:10px; }
.login-card > p{ text-align:center; margin-bottom:32px; font-size:.9rem; }
.form-msg{ font-size:.84rem; margin-top:16px; text-align:center; }
.form-msg.error{ color:#E0796B; }
.form-msg.ok{ color:var(--gold); }

@media (max-width:860px){
  .admin-shell{ grid-template-columns:1fr; }
  .admin-side{ position:relative; height:auto; }
  .admin-main{ padding:24px; }
  .form-row{ grid-template-columns:1fr; }
}

/* =========================================================
   PWA INSTALL BANNER
   ========================================================= */
.install-banner{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:200;
  max-width:430px; margin:0 auto;
  background:var(--bg-card); border:1px solid var(--gold); border-radius:var(--radius-lg);
  padding:18px 20px; display:flex; align-items:center; gap:14px;
  transform:translateY(160%); transition:transform .35s ease;
  box-shadow:0 20px 50px -12px rgba(0,0,0,.7);
}
.install-banner.show{ transform:translateY(0); }
.install-banner p{ margin:0; font-size:.84rem; }
.install-banner strong{ display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; color:var(--text); margin-bottom:3px; }
.install-banner .close{ background:none; border:0; color:var(--text-faint); font-size:1.2rem; flex:none; }

.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }

/* --- Imagens reais (pasta img/) --- */
.hero-bg > img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.founder-photo > img{ width:100%; height:100%; object-fit:cover; display:block; }

/* logo em PNG: renderização nítida em telas de alta densidade */

/* --- Imagem do curso na seção Oferta --- */
.offer-thumb{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:30px;
  aspect-ratio:16/9;
  background:var(--bg-card);
}
.offer-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:820px){ .offer-thumb{ margin-bottom:24px; } }

/* --- Botão flutuante do WhatsApp em verde oficial --- */
.wa-float.wa-green{
  background:#25D366;
  color:#FFFFFF;
}
.wa-float.wa-green:hover{
  background:#1EBE5A;
  transform:scale(1.06);
}

/* --- Grade de cursos --- */
.course-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.course-card{
  display:flex; flex-direction:column;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform .2s ease, border-color .2s ease;
}
.course-card:hover{ transform:translateY(-4px); border-color:var(--line-strong); }
.course-cover{ aspect-ratio:16/10; background:var(--bg-raised); overflow:hidden; }
.course-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.course-body{ padding:26px 26px 22px; display:flex; flex-direction:column; gap:12px; flex:1; }
.course-body h3{ font-size:1.05rem; margin:0; }
.course-tagline{
  font-style:italic; font-size:.86rem; color:var(--gold);
  margin:0; line-height:1.5;
}
.course-body > p{ font-size:.88rem; margin:0; }
.course-ideal{
  font-size:.84rem; margin:0 !important; padding-top:16px;
  border-top:1px solid var(--line); color:var(--text-dim);
}
.course-ideal strong{ color:var(--gold); font-weight:600; }
.course-link{
  display:flex; align-items:center; gap:10px;
  padding:18px 26px; border-top:1px solid var(--line);
  font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em;
  color:var(--gold); transition:gap .2s ease, background .2s ease;
}
.course-link:hover{ gap:16px; background:var(--bg-raised); }
@media (max-width:980px){ .course-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:680px){ .course-grid{ grid-template-columns:1fr; } }

/* eyebrow com tra\u00e7o \u00e0 direita (padr\u00e3o da se\u00e7\u00e3o de cursos) */
.section-head .hero-eyebrow{ margin-bottom:20px; }

/* =========================================================
   ANIMAÇÕES
   ========================================================= */

/* Entrada do hero em sequência ------------------------------ */
@keyframes fadeUp{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
@keyframes growLine{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes slowZoom{ from{ transform:scale(1.08); } to{ transform:scale(1); } }

.hero-content > *{ opacity:0; animation:fadeUp .8s cubic-bezier(.22,.7,.3,1) forwards; }
.hero-content > *:nth-child(1){ animation-delay:.15s; }
.hero-content > *:nth-child(2){ animation-delay:.28s; }
.hero-content > *:nth-child(3){ animation-delay:.41s; }
.hero-content > *:nth-child(4){ animation-delay:.54s; }
.hero-content > *:nth-child(5){ animation-delay:.67s; }
.hero-eyebrow .dash{ transform-origin:left; animation:growLine .7s ease .1s both; }
.hero-bg > img{ animation:slowZoom 1.6s cubic-bezier(.22,.7,.3,1) both; }

/* Parallax suave da foto do hero ---------------------------- */
.hero-bg{ will-change:transform; }

/* Reveal em cascata ----------------------------------------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.22,.7,.3,1), transform .7s cubic-bezier(.22,.7,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.stagger > *{ opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.22,.7,.3,1), transform .6s cubic-bezier(.22,.7,.3,1); }
.stagger.in > *{ opacity:1; transform:none; }
.stagger.in > *:nth-child(1){ transition-delay:.05s; }
.stagger.in > *:nth-child(2){ transition-delay:.13s; }
.stagger.in > *:nth-child(3){ transition-delay:.21s; }
.stagger.in > *:nth-child(4){ transition-delay:.29s; }
.stagger.in > *:nth-child(5){ transition-delay:.37s; }
.stagger.in > *:nth-child(6){ transition-delay:.45s; }
.stagger.in > *:nth-child(7){ transition-delay:.53s; }
.stagger.in > *:nth-child(8){ transition-delay:.61s; }

/* Nav encolhe ao rolar -------------------------------------- */
.nav-inner{ transition:height .3s ease, background .3s ease, box-shadow .3s ease, border-color .3s ease; }
.nav.scrolled .nav-inner{
  height:56px;
  background:rgba(23,21,18,.96);
  border-color:var(--line-strong);
  box-shadow:0 12px 34px -18px rgba(0,0,0,.9);
}
.nav-links a{ position:relative; }
.nav-links a::after{
  content:''; position:absolute; left:16px; right:16px; bottom:4px; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:right;
  transition:transform .28s cubic-bezier(.22,.7,.3,1);
}
.nav-links a:hover::after{ transform:scaleX(1); transform-origin:left; }
.nav-links a.active::after{ transform:scaleX(0); }

/* Brilho que atravessa os botões dourados -------------------- */
.btn-primary{ position:relative; overflow:hidden; }
.btn-primary::after{
  content:''; position:absolute; top:0; left:-70%; width:45%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-18deg); transition:left .55s ease;
}
.btn-primary:hover::after{ left:125%; }

/* Cards de curso: zoom na capa ------------------------------ */
.course-cover img{ transition:transform .6s cubic-bezier(.22,.7,.3,1); }
.course-card:hover .course-cover img{ transform:scale(1.06); }
.post-cover img{ transition:transform .6s cubic-bezier(.22,.7,.3,1); }
.post-card:hover .post-cover img{ transform:scale(1.05); }

/* Coluna de indicadores: ícone sobe no hover ---------------- */
.strip-col{ transition:background .3s ease; }
.strip-col:hover{ background:var(--bg-raised); }
.strip-icon{ transition:transform .35s cubic-bezier(.22,.7,.3,1), color .3s ease; }
.strip-col:hover .strip-icon{ transform:translateY(-5px); color:var(--gold); }

/* Pilares do método ----------------------------------------- */
.pillar-letter{ transition:transform .35s cubic-bezier(.34,1.4,.5,1), box-shadow .35s ease; }
.pillar:hover .pillar-letter{ transform:scale(1.1) rotate(-4deg); box-shadow:0 10px 26px -10px rgba(201,154,62,.7); }
.pillar-base{ transform-origin:left; }
.temple.in .pillar-base{ animation:growLine .9s cubic-bezier(.22,.7,.3,1) .25s both; }

/* Benefícios: número desliza --------------------------------- */
.benefit .num{ display:inline-block; transition:transform .3s ease; }
.benefit:hover .num{ transform:translateX(5px); }

/* Caixa de destaque: alvo gira ------------------------------- */
@keyframes spinSlow{ to{ transform:rotate(360deg); } }
.callout-icon svg{ transition:transform .5s ease; }
.callout:hover .callout-icon svg{ animation:spinSlow 9s linear infinite; }

/* FAQ: resposta desliza ------------------------------------- */
@keyframes faqOpen{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
.faq-item[open] .faq-a{ animation:faqOpen .35s ease both; }

/* Barra de progresso de leitura ------------------------------ */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:100%; z-index:300;
  background:var(--grad-gold); transform:scaleX(0); transform-origin:left;
  pointer-events:none;
}

/* Botão do WhatsApp pulsa discretamente ---------------------- */
@keyframes waPulse{
  0%{ box-shadow:0 10px 30px -8px rgba(0,0,0,.6), 0 0 0 0 rgba(37,211,102,.45); }
  70%{ box-shadow:0 10px 30px -8px rgba(0,0,0,.6), 0 0 0 16px rgba(37,211,102,0); }
  100%{ box-shadow:0 10px 30px -8px rgba(0,0,0,.6), 0 0 0 0 rgba(37,211,102,0); }
}
.wa-float.wa-green{ animation:waPulse 3.2s ease-out infinite; }

/* Respeita quem prefere menos movimento --------------------- */
@media (prefers-reduced-motion: reduce){
  .hero-content > *, .hero-eyebrow .dash, .hero-bg > img,
  .temple.in .pillar-base, .faq-item[open] .faq-a, .wa-float.wa-green{ animation:none !important; opacity:1 !important; transform:none !important; }
  .stagger > *{ opacity:1 !important; transform:none !important; }
}

/* --- Correção: degradê do hero deve ficar ACIMA da imagem --- */
.hero-bg > img{
  position:relative;
  z-index:1;
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  display:block;
}
.hero-bg::before,
.hero-bg::after{ z-index:2; }

/* degradê lateral mais suave e longo, sem corte visível */
.hero-bg::before{
  background:linear-gradient(90deg,
    var(--bg) 0%,
    var(--bg) 12%,
    rgba(23,21,18,.96) 26%,
    rgba(23,21,18,.82) 38%,
    rgba(23,21,18,.55) 52%,
    rgba(23,21,18,.24) 68%,
    rgba(23,21,18,.06) 84%,
    transparent 100%);
}
/* emenda vertical: some com a borda esquerda da faixa da imagem */
.hero-bg{
  width:72%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
}
@media (max-width:900px){
  .hero-bg{
    width:100%;
    -webkit-mask-image:none; mask-image:none;
  }
}

/* =========================================================
   BLOG — hero e artigo em destaque
   ========================================================= */
.blog-hero{
  padding:calc(var(--nav-h) + 80px) 0 20px;
  background:radial-gradient(ellipse 900px 420px at 20% 0%, rgba(201,154,62,.12), transparent 62%), var(--bg);
}
.blog-hero h1{ font-size:clamp(2.2rem,4.6vw,3.6rem); max-width:16ch; }
.blog-hero .hero-sub{ margin-bottom:0; }

/* Artigo em destaque ---------------------------------------- */
.featured-post{
  display:grid; grid-template-columns:1.15fr .85fr;
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:var(--bg-card); overflow:hidden; margin-bottom:56px;
  transition:border-color .25s ease, transform .25s ease;
}
.featured-post:hover{ border-color:var(--line-strong); transform:translateY(-3px); }
.featured-cover{ overflow:hidden; background:var(--bg-raised); min-height:320px; }
.featured-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.22,.7,.3,1); }
.featured-post:hover .featured-cover img{ transform:scale(1.05); }
.featured-body{ padding:44px; display:flex; flex-direction:column; gap:16px; justify-content:center; }
.featured-body h2{ font-size:clamp(1.4rem,2.4vw,2rem); margin:0; }
.featured-body p{ margin:0; font-size:.95rem; }
.featured-meta{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:10px; padding-top:20px; border-top:1px solid var(--line);
}
.featured-meta .post-readmore{ margin:0; display:flex; align-items:center; gap:8px; transition:gap .2s ease; }
.featured-post:hover .post-readmore{ gap:14px; }
@media (max-width:820px){
  .featured-post{ grid-template-columns:1fr; }
  .featured-cover{ min-height:0; aspect-ratio:16/9; }
  .featured-body{ padding:28px; }
}

/* Barra de ferramentas -------------------------------------- */
.blog-toolbar{
  padding-bottom:26px; border-bottom:1px solid var(--line);
}
.search-box svg{ color:var(--text-faint); flex:none; }
.search-box{ transition:border-color .2s ease; }
.search-box:focus-within{ border-color:var(--gold); }

/* Cards do blog: mesma linguagem dos cards de curso ---------- */
.post-card{ background:var(--bg-card); }
.post-body h3{ line-height:1.35; }
.post-readmore{ display:inline-flex; align-items:center; gap:8px; transition:gap .2s ease; }
.post-card:hover .post-readmore{ gap:14px; }

/* Estado vazio ---------------------------------------------- */
.empty-state h3{ margin-bottom:10px; }

/* Paginação -------------------------------------------------- */
.pagination button{ transition:border-color .2s ease, color .2s ease, transform .2s ease; }
.pagination button:hover{ transform:translateY(-2px); }

/* --- Fundo blueprint da seção "Quem sou" --- */
.founder-section{ position:relative; overflow:hidden; isolation:isolate; }
.founder-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.founder-bg img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
  opacity:.20;
  filter:grayscale(.35) contrast(1.05);
}
/* véu escuro para o texto continuar legível */
.founder-bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(90deg, var(--bg) 0%, rgba(23,21,18,.86) 42%, rgba(23,21,18,.72) 100%),
    linear-gradient(0deg, var(--bg) 0%, transparent 28%, transparent 72%, var(--bg) 100%);
}
.founder-section .container{ position:relative; z-index:1; }
.founder-section .founder-photo{
  background:var(--bg-card);
  box-shadow:0 26px 60px -30px rgba(0,0,0,.9);
}
@media (max-width:820px){
  .founder-bg img{ opacity:.12; }
  .founder-bg::after{
    background:linear-gradient(0deg, var(--bg) 0%, rgba(23,21,18,.82) 50%, var(--bg) 100%);
  }
}

/* --- Fundo blueprint mais nítido (sobrescreve o ajuste anterior) --- */
.founder-bg img{
  opacity:.55;
  filter:none;
}
.founder-bg::after{
  background:
    linear-gradient(90deg, rgba(23,21,18,.94) 0%, rgba(23,21,18,.72) 38%, rgba(23,21,18,.42) 100%),
    linear-gradient(0deg, var(--bg) 0%, transparent 22%, transparent 78%, var(--bg) 100%);
}
/* leve sombra no texto para manter a leitura sobre a imagem mais visível */
.founder-section .founder-quote,
.founder-section h2,
.founder-section p,
.founder-section .founder-cred li{
  text-shadow:0 1px 12px rgba(23,21,18,.85);
}
@media (max-width:820px){
  .founder-bg img{ opacity:.32; }
  .founder-bg::after{
    background:linear-gradient(0deg, var(--bg) 0%, rgba(23,21,18,.86) 45%, rgba(23,21,18,.7) 75%, var(--bg) 100%);
  }
}

/* --- Logo sem texto ao lado --- */
.brand{ gap:0; }
.brand:hover .logo-full{ opacity:.85; }

/* --- Imagem nos cards de benefício --- */
.benefit{ padding:0; display:flex; flex-direction:column; }
.benefit-thumb{
  aspect-ratio:16/10; overflow:hidden; background:var(--bg-raised);
  border-bottom:1px solid var(--line);
}
.benefit-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.7,.3,1), opacity .3s ease;
  opacity:.82;
}
.benefit:hover .benefit-thumb img{ transform:scale(1.06); opacity:1; }
.benefit .num{ padding:26px 26px 0; }
.benefit h3{ padding:0 26px; margin:12px 0 10px; }
.benefit p{ padding:0 26px 28px; }

/* --- Logo maior no nav (sobrescreve o tamanho anterior) --- */
.nav-inner{ height:100px; padding-left:20px; }
.nav.scrolled .nav-inner{ height:100px; }
@media (max-width:980px){
  .nav-inner{ height:100px; }
}
@media (max-width:600px){
  .nav-inner{ height:100px; padding-left:14px; }
}

/* =========================================================
   ADMIN — EDITOR DE ARTIGOS
   ========================================================= */
.admin-side .brand{ margin-bottom:36px; }

.editor-main{ max-width:1240px; }
.admin-topbar{ align-items:flex-start; }
.topbar-left{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.topbar-left h2{ margin:0; font-size:1.4rem; }
.topbar-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.topbar-actions .btn{ padding:12px 20px; }

.editor-layout{ display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:start; }
.editor-col{ min-width:0; }

/* título grande, como no post final */
.input-titulo{
  font-family:var(--font-display) !important;
  font-size:1.5rem !important; font-weight:700 !important;
  padding:16px 18px !important; line-height:1.25;
}

.contador{ float:right; font-weight:400; letter-spacing:0; text-transform:none; color:var(--text-faint); font-size:.7rem; }

/* barra de ferramentas */
.editor-toolbar{ position:sticky; top:0; z-index:5; align-items:center; }
.tb-sep{ width:1px; height:22px; background:var(--line); margin:0 6px; }

.editor-body{ min-height:460px; }
.editor-body h2{ font-size:1.45rem; margin:1.4em 0 .5em; }
.editor-body h3{ font-size:1.15rem; margin:1.2em 0 .5em; }
.editor-body p{ margin:0 0 1em; color:var(--text); }
.editor-body blockquote{
  border-left:2px solid var(--gold); margin:1.4em 0; padding:.2em 0 .2em 20px;
  font-style:italic; color:var(--text);
}
.editor-body ul,.editor-body ol{ padding-left:22px; margin:0 0 1em; }
.editor-body li{ margin-bottom:6px; }
.editor-body img{ max-width:100%; border-radius:var(--radius); margin:1.4em 0; border:1px solid var(--line); }
.editor-body a{ color:var(--gold); text-decoration:underline; }
.editor-body hr{ border:0; height:1px; background:var(--line); margin:2em 0; }

/* painéis da lateral direita */
.painel{
  background:var(--bg-raised); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:22px; margin-bottom:20px;
}
.painel h3{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.16em;
  color:var(--text-faint); margin-bottom:18px; font-weight:600;
}
.painel .form-field:last-child{ margin-bottom:0; }
.painel .btn{ padding:12px 18px; font-size:.68rem; }

/* capa */
.cover-preview{
  aspect-ratio:16/10; border:1px dashed var(--line-strong); border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:var(--bg-card); margin-bottom:14px;
}
.cover-preview span{ font-size:.78rem; color:var(--text-faint); }
.cover-preview.tem-imagem{ border-style:solid; }
.cover-preview img{ width:100%; height:100%; object-fit:cover; }

.url-preview{
  display:block; margin-top:8px; font-size:.72rem; color:var(--gold);
  word-break:break-all; opacity:.85;
}

/* pré-visualização */
.preview-shell{
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:var(--bg-raised); padding:40px;
}
.preview-shell h1{ font-size:clamp(1.6rem,3vw,2.4rem); margin:14px 0 12px; }
.preview-excerpt{ font-size:1rem; color:var(--text-dim); margin:0; }

@media (max-width:1080px){
  .editor-layout{ grid-template-columns:1fr; }
  .editor-side{ order:-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
  .painel{ margin-bottom:0; }
}
@media (max-width:700px){
  .admin-topbar{ flex-direction:column; align-items:stretch; }
  .topbar-actions .btn{ flex:1; }
  .preview-shell{ padding:24px; }
}

/* --- Logo ocupando a altura útil do nav --- */
.nav-inner{ padding-left:14px; }
.brand{ display:flex; align-items:center; height:100%; padding:6px 0; }

@media (max-width:980px){
}
@media (max-width:600px){
  .nav-inner{ padding-left:10px; }
}

/* rodapé continua com tamanho próprio */

/* =========================================================
   LOGO DO NAV — definição única (substitui todas as anteriores)
   ========================================================= */
.nav-inner{ padding-left:12px !important; }
.brand{ display:flex !important; align-items:center !important; height:100% !important; padding:5px 0 !important; gap:0 !important; }
.brand .logo-full,
.logo-full{
  height:100% !important;
  max-height:90px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.nav.scrolled .logo-full{ max-height:90px !important; }

@media (max-width:980px){
  .logo-full{ max-height:90px !important; }
  .nav.scrolled .logo-full{ max-height:90px !important; }
}
@media (max-width:600px){
  .nav-inner{ padding-left:10px !important; }
  .logo-full{ max-height:90px !important; }
}

/* contextos fora do nav mantêm tamanho próprio */
footer .logo-full{ height:auto !important; max-height:64px !important; }
.admin-side .logo-full{ height:auto !important; max-height:52px !important; }
.login-card .logo-full{ height:auto !important; max-height:60px !important; }

/* --- Indicadores integrados ao Método --- */
.method-indicators{ margin-top:64px; }
.method-indicators .strip{ background:transparent; }
.method-indicators .strip-col:hover{ background:rgba(255,255,255,.03); }
@media (max-width:720px){
  .method-indicators{ margin-top:44px; }
}

/* =========================================================
   ADMIN WORKSPACE — layout otimizado
   ========================================================= */
body:has(.admin-shell){ background:#0b0e0d; }
.admin-shell{
  --admin-accent:#d4a84d;
  display:grid;
  grid-template-columns:272px minmax(0,1fr);
  min-height:100vh;
  background:
    radial-gradient(circle at 90% 0,rgba(201,154,62,.07),transparent 30%),
    #0b0e0d;
}
.admin-side{
  grid-column:1;
  position:sticky; top:0; height:100vh; z-index:50;
  display:flex; flex-direction:column;
  padding:24px 18px 18px;
  background:rgba(17,20,18,.96);
  border-right:1px solid rgba(255,255,255,.07);
  box-shadow:18px 0 50px rgba(0,0,0,.18);
}
.admin-brand-wrap{ padding:0 8px 22px; margin-bottom:20px; border-bottom:1px solid rgba(255,255,255,.07); }
.admin-side .brand{ width:190px !important; height:72px !important; padding:0 !important; overflow:hidden; margin:0 !important; }
.admin-side .logo-full{
  width:190px !important; height:108px !important; max-height:none !important;
  object-fit:cover !important; object-position:center !important; transform:translateY(-18px);
}
.admin-badge{ display:block; margin-top:3px; color:var(--text-faint); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; }
.admin-nav-label{ display:block; padding:0 12px; margin-bottom:8px; color:#6f746f; font-size:.61rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.admin-nav-label-secondary{ margin-top:25px; }
.admin-nav{ display:grid; gap:5px; }
.admin-nav a{
  position:relative; display:flex; align-items:center; gap:12px;
  padding:12px 13px; border:1px solid transparent; border-radius:10px;
  color:#a6aca6; font-size:.79rem; font-weight:500; letter-spacing:.01em; text-transform:none;
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.admin-nav a:hover{ color:#f2efe7; background:rgba(255,255,255,.045); transform:translateX(2px); }
.admin-nav a.active{
  color:#f4d58e; background:linear-gradient(90deg,rgba(201,154,62,.18),rgba(201,154,62,.055));
  border-color:rgba(201,154,62,.23); box-shadow:inset 3px 0 var(--admin-accent);
}
.admin-nav-icon{ display:grid; place-items:center; width:25px; height:25px; border-radius:7px; background:rgba(255,255,255,.045); font-size:.92rem; }
.admin-nav a.active .admin-nav-icon{ background:rgba(201,154,62,.18); }
.admin-nav-secondary a{ color:#838983; }
.admin-user-card{
  display:grid; grid-template-columns:38px 1fr 30px; align-items:center; gap:10px;
  margin-top:auto; padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.025);
}
.admin-avatar{ display:grid; place-items:center; width:38px; height:38px; border-radius:10px; color:#17120a; background:var(--grad-gold); font-weight:800; }
.admin-user-info{ min-width:0; line-height:1.2; }
.admin-user-info small,.admin-user-info strong{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-user-info small{ margin-bottom:4px; color:#777d77; font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-user-info strong{ color:#d9ddd9; font-size:.72rem; }
.admin-logout{ display:grid; place-items:center; width:30px; height:30px; border-radius:8px; color:#888e88; }
.admin-logout:hover{ color:#ef8e83; background:rgba(224,121,107,.1); }
.admin-main{
  grid-column:2;
  width:100%; max-width:none; min-width:0;
  padding:32px clamp(24px,4vw,58px) 60px;
}
.admin-context{ display:flex; align-items:center; gap:8px; margin-bottom:28px; color:#727872; font-size:.7rem; }
.admin-context span{ color:var(--admin-accent); font-weight:800; letter-spacing:.12em; }
.admin-context span::after{ content:'/'; margin-left:8px; color:#4d524d; }
.admin-context strong{ color:#9da39d; font-weight:500; }
.admin-topbar{ margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.07); }
.topbar-left{ align-items:flex-start; flex-direction:column; gap:5px; }
.topbar-left h2{ font-size:clamp(1.45rem,2vw,2rem); letter-spacing:-.025em; }
.topbar-left p{ margin:0; color:#858b85; font-size:.84rem; }
.topbar-actions .btn{ min-height:42px; display:inline-flex; align-items:center; justify-content:center; }
.stats-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.stat{
  position:relative; overflow:hidden; display:flex; flex-direction:column; gap:7px;
  padding:20px 22px; border:1px solid rgba(255,255,255,.075); border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.stat::after{ content:''; position:absolute; right:-18px; bottom:-28px; width:84px; height:84px; border-radius:50%; background:rgba(201,154,62,.06); }
.stat-num{ color:#f4f1e9; font-family:var(--font-display); font-size:1.75rem; font-weight:700; line-height:1; }
.stat-label{ color:#7f857f; font-size:.63rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.admin-filtros{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:16px; padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.022);
}
.admin-filtros .search-box{ width:min(100%,330px); }
.admin-table-wrap{ overflow-x:auto; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(255,255,255,.018); }
.admin-table{ min-width:850px; }
.admin-table th{ padding:14px 16px; background:rgba(255,255,255,.025); border-bottom-color:rgba(255,255,255,.075); }
.admin-table td{ padding:14px 16px; vertical-align:middle; }
.admin-table tbody tr{ transition:background .2s; }
.admin-table tbody tr:hover{ background:rgba(255,255,255,.026); }
.mini-capa{ width:52px; height:42px; overflow:hidden; border-radius:8px; border:1px solid rgba(255,255,255,.08); background:#171b18; }
.mini-capa img{ width:100%; height:100%; object-fit:cover; display:block; }
.titulo-link{ display:block; color:#ece9e1; font-weight:600; font-size:.86rem; }
.titulo-link:hover{ color:var(--admin-accent); }
.slug-mini{ display:block; max-width:300px; margin-top:4px; color:#656b65; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.acoes{ display:flex; justify-content:flex-end; gap:6px; }
.acoes form{ display:inline-flex !important; }
.icon-btn{ flex:0 0 34px; cursor:pointer; }
.icon-btn.perigo:hover{ color:#e0796b; border-color:rgba(224,121,107,.55); background:rgba(224,121,107,.08); }
.status-pill{ display:inline-flex; align-items:center; gap:5px; }
.status-pill::before{ content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.painel{ border-color:rgba(255,255,255,.075); background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015)); box-shadow:0 18px 50px rgba(0,0,0,.12); }
.form-field input,.form-field select,.form-field textarea{ border-radius:9px; background:#121613; border-color:rgba(255,255,255,.09); transition:border-color .2s,box-shadow .2s,background .2s; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{ background:#151a16; box-shadow:0 0 0 3px rgba(201,154,62,.09); }
.editor-layout{ grid-template-columns:minmax(0,1fr) 340px; gap:24px; }
.editor-body{ background:#101411; border-color:rgba(255,255,255,.09); }
.editor-toolbar{ background:#171c18; border-color:rgba(255,255,255,.09); box-shadow:0 8px 24px rgba(0,0,0,.16); }
.cms-course-row{ border-radius:11px; background:rgba(255,255,255,.018); border-color:rgba(255,255,255,.075); }
.admin-menu-toggle{ display:none; }
.admin-overlay{ display:none; }

@media(max-width:900px){
  .admin-shell{ display:block; }
  .admin-side{ position:fixed; left:0; top:0; width:272px; transform:translateX(-105%); transition:transform .25s ease; }
  .admin-side.open{ transform:translateX(0); }
  .admin-menu-toggle{
    display:grid; place-items:center; position:fixed; top:14px; left:14px; z-index:70;
    width:42px; height:42px; border:1px solid rgba(255,255,255,.1); border-radius:11px;
    background:#181c19; color:#eee9dc; box-shadow:0 10px 30px rgba(0,0,0,.3); cursor:pointer;
  }
  .admin-overlay{ display:block; position:fixed; inset:0; z-index:40; background:rgba(0,0,0,.66); opacity:0; pointer-events:none; transition:opacity .25s; }
  .admin-overlay.open{ opacity:1; pointer-events:auto; }
  .admin-main{ grid-column:auto; padding:72px 18px 44px; }
  .admin-context{ display:none; }
  .editor-side{ order:initial; }
}
@media(max-width:680px){
  .stats-grid{ grid-template-columns:1fr; }
  .stat{ flex-direction:row; align-items:center; justify-content:space-between; }
  .stat-label{ order:-1; }
  .admin-filtros{ align-items:stretch; }
  .admin-filtros .cat-filters,.admin-filtros .search-box{ width:100%; }
  .admin-filtros .cat-filters{ overflow-x:auto; flex-wrap:nowrap; padding-bottom:3px; }
  .admin-topbar{ align-items:stretch; }
  .topbar-actions,.topbar-actions .btn{ width:100%; }
  .editor-layout{ grid-template-columns:1fr; }
  .editor-side{ display:block; }
  .editor-side .painel{ margin-bottom:14px; }
  .editor-toolbar{ top:0; overflow-x:auto; flex-wrap:nowrap; }
  .cms-course-row{ grid-template-columns:52px 1fr; }
}
