/* ============================================
   Grupo Plan.A — HOME PRINCIPAL (hub)
   CSS isolado: mexer aqui NÃO afeta mentoria nem ebook
   IDV Plan.A (mesma da página da mentoria):
   #182626 ink · #5D7373 sage · #F7F3EA cream
   #C3CAC6 cream-deep · #CBC8C1 champagne
   ============================================ */

:root {
  --cream:        #F7F3EA;
  --cream-deep:   #E7E0CE;
  --cream-soft:   #EFE9D8;
  --sage:         #5D7373;
  --sage-deep:    #364747;
  --ink:          #182626;
  --champagne:    #CBC8C1;
  --champagne-2:  #D9CFB1;
  --muted:        #6E7B79;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}

/* ---------- NAV ---------- */
.nav{position:absolute;top:0;left:0;right:0;z-index:20}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem;max-width:80rem;margin:0 auto}
@media (min-width:768px){.nav-inner{padding:1.5rem 3rem}}
.nav-logo-link{display:inline-flex;align-items:center}
.nav-logo{height:2.5rem;width:auto;display:block;
  filter:brightness(0) saturate(100%) invert(11%) sepia(13%) saturate(750%) hue-rotate(130deg) brightness(95%) contrast(92%)}
.nav-links{display:none;gap:2.5rem;font-size:11px;text-transform:uppercase;
  letter-spacing:.22em;color:var(--sage-deep)}
.nav-links a{transition:color .2s}
.nav-links a:hover{color:var(--ink)}
@media (min-width:768px){.nav-links{display:flex;align-items:center}}
.btn-pill-dark{display:inline-flex;align-items:center;border-radius:9999px;
  background:var(--ink);color:var(--cream);padding:.625rem 1.25rem;
  font-size:11px;text-transform:uppercase;letter-spacing:.22em;transition:background .2s}
.btn-pill-dark:hover{background:var(--sage-deep)}

/* ---------- eyebrow shared ---------- */
.eyebrow{display:flex;align-items:center;gap:.75rem;font-size:11px;
  text-transform:uppercase;letter-spacing:.3em;color:var(--sage-deep);margin-bottom:2rem}
.eyebrow::before{content:"";display:block;height:1px;width:2.5rem;background:var(--sage-deep)}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{display:none}

/* ---------- buttons ---------- */
.btn-pill{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;
  background:var(--ink);color:var(--cream);padding:1rem 1.75rem;
  font-size:12px;text-transform:uppercase;letter-spacing:.22em;transition:background .2s;
  white-space:nowrap;line-height:1}
.btn-pill:hover{background:var(--sage-deep)}
/* CTA dentro de card de produto pode encolher se faltar espaço */
.product .cta .btn-pill{padding:.875rem 1.25rem;font-size:11px;letter-spacing:.18em}
.btn-pill .arrow{transition:transform .2s}
.btn-pill:hover .arrow{transform:translateX(.25rem)}
.btn-pill-light{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;
  background:var(--cream);color:var(--ink);padding:1rem 1.75rem;font-size:12px;
  text-transform:uppercase;letter-spacing:.22em;transition:background .2s}
.btn-pill-light:hover{background:var(--champagne)}
.btn-outline{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;
  border:1px solid var(--ink);color:var(--ink);padding:.875rem 1.5rem;font-size:12px;
  text-transform:uppercase;letter-spacing:.22em;transition:all .2s}
.btn-outline:hover{background:var(--ink);color:var(--cream)}

/* ---------- HERO (2-col: texto + retrato) ---------- */
.hero{position:relative;overflow:hidden;padding:8rem 0 6rem}
@media (min-width:768px){.hero{padding:10rem 0 8rem}}
.hero-bg{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(60% 50% at 20% 20%, var(--cream-deep) 0%, transparent 60%),
    radial-gradient(40% 40% at 90% 80%, rgba(93,115,115,.22) 0%, transparent 70%)}
.hero-inner{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center;
  max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.hero-inner{padding:0 3rem}}
@media (min-width:1024px){.hero-inner{grid-template-columns:repeat(12,1fr);gap:4rem}}
.hero-text{grid-column:span 7}
.hero-art{grid-column:span 5}
@media (max-width:1023px){.hero-text,.hero-art{grid-column:auto}}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  letter-spacing:-.015em;font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;color:var(--ink);
  text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--sage-deep)}
.hero-lead{margin-top:2rem;max-width:36rem;font-size:1.0625rem;line-height:1.7;color:var(--muted)}
.hero-quote{margin-top:2rem;max-width:34rem;font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-size:1.375rem;color:var(--sage-deep);line-height:1.3}
.hero-cta{margin-top:2.5rem}
.hero-photo{position:relative;max-width:28rem;margin:0 auto}
.hero-photo .halo{position:absolute;inset:-1rem;z-index:-1;border-radius:2rem;
  background:rgba(93,115,115,.28)}
.hero-photo .dot{position:absolute;bottom:-1.5rem;right:-1.5rem;z-index:-1;
  height:10rem;width:10rem;border-radius:50%;background:var(--champagne)}
.hero-photo img{position:relative;border-radius:1.75rem;object-fit:cover;
  box-shadow:0 30px 80px -30px rgba(40,60,60,.35);width:100%}

/* ---------- DIAGNÓSTICO (dark) ---------- */
.diag{background:#22302F;color:var(--cream);padding:7rem 0}
@media (min-width:768px){.diag{padding:9rem 0}}
.diag-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.diag-inner{padding:0 3rem}}
.diag .eyebrow{color:var(--champagne-2)}
.diag .eyebrow::before{background:var(--champagne-2)}
.diag h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.25rem,4.5vw,3.5rem);
  line-height:1.05;color:var(--cream);text-wrap:balance;max-width:42rem}
.diag h2 em{font-style:italic}
.diag-sub{margin-top:1.5rem;max-width:38rem;font-size:1.0625rem;line-height:1.7;
  color:rgba(247,243,234,.75)}
.diag-grid{margin-top:4rem;display:grid;grid-template-columns:1fr;gap:1px;
  background:rgba(247,243,234,.12);border-radius:1.25rem;overflow:hidden}
@media (min-width:768px){.diag-grid{grid-template-columns:repeat(2,1fr)}}
.diag-card{background:#22302F;padding:2.25rem}
.diag-card .n{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:1.625rem;color:var(--champagne-2)}
.diag-card h3{margin-top:1rem;font-size:1.125rem;font-weight:500;color:var(--cream)}
.diag-card p{margin-top:.75rem;font-size:.9375rem;line-height:1.7;color:rgba(247,243,234,.75)}

/* ---------- TRANSFORMAÇÃO ---------- */
.trans{padding:7rem 0}
@media (min-width:768px){.trans{padding:9rem 0}}
.trans-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.trans-inner{padding:0 3rem}}
.trans h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--ink);text-wrap:balance;max-width:48rem}
.trans h2 em{font-style:italic}
.trans-intro{margin-top:1.5rem;max-width:42rem;font-size:1.0625rem;line-height:1.75;color:var(--muted)}
.trans-quote{margin:3rem 0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:clamp(1.5rem,2.5vw,2rem);color:var(--sage-deep);line-height:1.3;
  padding-left:1.25rem;border-left:2px solid var(--sage);max-width:42rem}
.benefits{margin-top:2.5rem;display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:640px){.benefits{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.benefits{grid-template-columns:repeat(3,1fr)}}
.benefit{display:flex;flex-direction:column;gap:.75rem;background:var(--cream-soft);
  border:1px solid var(--cream-deep);border-radius:1.25rem;padding:1.75rem}
.benefit .n{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:1.5rem;color:var(--sage-deep)}
.benefit h3{font-size:1.0625rem;font-weight:500;color:var(--ink)}
.benefit p{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.trans-cta{margin-top:3rem;text-align:center}

/* ---------- ESTÁGIOS ---------- */
.stages{background:var(--cream);padding:7rem 0}
@media (min-width:768px){.stages{padding:9rem 0}}
.stages-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.stages-inner{padding:0 3rem}}
.stages-head{max-width:48rem}
.stages h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--ink);text-wrap:balance}
.stages h2 em{font-style:italic}
.stages-intro{margin-top:1.5rem;font-size:1.0625rem;line-height:1.75;color:var(--muted);max-width:42rem}
.stage-grid{margin-top:3.5rem;display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:1024px){.stage-grid{grid-template-columns:repeat(3,1fr)}}
.stage{background:var(--cream-soft);border:1px solid var(--cream-deep);border-radius:1.5rem;
  padding:2.25rem;display:flex;flex-direction:column;gap:1rem}
.stage .n{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:3rem;line-height:1;color:var(--sage)}
.stage h3{font-size:1.25rem;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.stage p{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.stages-cta{margin-top:3rem;text-align:center}

/* ---------- ESPECIALISTA ---------- */
.expert{padding:7rem 0}
@media (min-width:768px){.expert{padding:9rem 0}}
.expert-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.expert-inner{padding:0 3rem}}
.expert-top{max-width:52rem;margin:0 auto;text-align:center}
.expert-top .eyebrow{justify-content:center}
.expert-top .eyebrow::before{display:none}
.expert-quote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:italic;
  font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.2;color:var(--ink);text-wrap:balance}
.expert-about{margin-top:2rem;font-size:1.0625rem;line-height:1.75;color:var(--muted);text-align:left}
.expert-bio{margin-top:5rem;display:grid;grid-template-columns:1fr;gap:3rem;
  max-width:64rem;margin-left:auto;margin-right:auto;align-items:center}
@media (min-width:768px){.expert-bio{grid-template-columns:auto 1fr;gap:4rem}}
.expert-photo{position:relative;width:100%;max-width:20rem;justify-self:center}
.expert-photo .halo{position:absolute;inset:-1rem;z-index:-1;border-radius:1.75rem;
  background:rgba(93,115,115,.25)}
.expert-photo img{border-radius:1.5rem;width:100%;aspect-ratio:4/5;object-fit:cover;
  object-position:center top;
  box-shadow:0 25px 50px -12px rgba(40,60,60,.3)}
.expert-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.25rem;color:var(--ink);
  line-height:1}
.expert-title{margin-top:.5rem;font-size:11px;text-transform:uppercase;letter-spacing:.25em;
  color:var(--sage-deep)}
.expert-text{margin-top:1.25rem;font-size:1rem;line-height:1.75;color:var(--muted)}

/* ---------- SOLUÇÕES (cards de produto) ---------- */
.sol{background:#22302F;color:var(--cream);padding:7rem 0}
@media (min-width:768px){.sol{padding:9rem 0}}
.sol-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.sol-inner{padding:0 3rem}}
.sol .eyebrow{color:var(--champagne-2);justify-content:center}
.sol .eyebrow::before{display:none}
.sol-head{max-width:48rem;margin:0 auto;text-align:center}
.sol h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--cream);text-wrap:balance}
.sol h2 em{font-style:italic;color:var(--champagne-2)}
.sol-sub{margin:1.5rem auto 0;font-size:1.0625rem;line-height:1.75;color:rgba(247,243,234,.75);
  max-width:56rem;text-wrap:balance}
.sol-grid{margin-top:4rem;display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:1024px){.sol-grid{grid-template-columns:repeat(3,1fr)}}
.product{background:var(--cream);color:var(--ink);border-radius:1.75rem;padding:2.5rem 2rem;
  display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:hidden}
.product .kicker{font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--sage-deep)}
.product h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.875rem;line-height:1.1;
  color:var(--ink);text-wrap:balance}
.product h3 em{font-style:italic;color:var(--sage-deep)}
.product p{font-size:.9375rem;line-height:1.7;color:var(--muted);flex:1}
.product .price{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.75rem;color:var(--ink)}
.product .price .small{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep);
  display:block;margin-top:.25rem;font-family:'Inter',sans-serif}
.product .cta{margin-top:auto}
.product-featured{background:#EFE5C8;outline:2px solid var(--champagne-2)}
.product-tag{position:absolute;top:1.25rem;right:1.25rem;background:var(--ink);color:var(--cream);
  padding:.375rem .75rem;border-radius:9999px;font-size:9px;text-transform:uppercase;letter-spacing:.22em}

/* ---------- GARANTIA ---------- */
.guarantee{background:var(--cream);padding:2.5rem 1.5rem;text-align:center}
@media (min-width:768px){.guarantee{padding:2.5rem 3rem}}
.guarantee p{max-width:48rem;margin:0 auto;font-size:.9375rem;line-height:1.7;color:var(--sage-deep)}
.guarantee .icon{display:inline-block;font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-size:1.25rem;color:var(--ink);margin-right:.5rem}

/* ---------- DEPOIMENTOS ---------- */
.testi{padding:7rem 0}
@media (min-width:768px){.testi{padding:9rem 0}}
.testi-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.testi-inner{padding:0 3rem}}
.testi .eyebrow{justify-content:center}
.testi .eyebrow::before{display:none}
.testi-head{max-width:52rem;margin:0 auto;text-align:center}
.testi h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--ink);text-wrap:balance}
.testi h2 em{font-style:italic}
.testi-sub{margin:1.5rem auto 0;font-size:1.0625rem;line-height:1.75;color:var(--muted);
  max-width:42rem;text-wrap:balance}
.testi-grid{margin-top:3.5rem;display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:1024px){.testi-grid{grid-template-columns:repeat(3,1fr)}}
.testi-card{background:var(--cream-soft);border:1px solid var(--cream-deep);border-radius:1.5rem;
  padding:2rem;display:flex;flex-direction:column;gap:1.25rem}
.testi-quote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:1.125rem;line-height:1.6;color:var(--ink);flex:1}
.testi-author{display:flex;flex-direction:column;gap:.125rem;padding-top:1rem;
  border-top:1px solid var(--cream-deep)}
.testi-author .name{font-size:.9375rem;font-weight:500;color:var(--ink)}
.testi-author .role{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--sage-deep)}
.testi-cta{margin-top:3rem;text-align:center}

/* ---------- FAQ ---------- */
.faq{background:var(--cream);padding:7rem 0}
@media (min-width:768px){.faq{padding:9rem 0}}
.faq-inner{max-width:56rem;margin:0 auto;padding:0 1.5rem}
@media (min-width:768px){.faq-inner{padding:0 3rem}}
.faq-head{text-align:center;margin-bottom:3.5rem}
.faq-head .eyebrow{justify-content:center}
.faq-head .eyebrow::before{display:none}
.faq h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--ink)}
.faq-list{display:flex;flex-direction:column;gap:.75rem}
.faq details{background:var(--cream-soft);border:1px solid var(--cream-deep);border-radius:1rem;
  padding:1.25rem 1.5rem;transition:background .2s}
.faq details[open]{background:#EAE2C9}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;
  justify-content:space-between;gap:1rem;font-size:1rem;font-weight:500;color:var(--ink);
  line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.75rem;line-height:1;color:var(--sage-deep);transition:transform .2s;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:1rem;font-size:.9375rem;line-height:1.7;color:var(--muted)}

/* ---------- CTA FINAL ---------- */
.final{padding:0 1.5rem 7rem}
@media (min-width:768px){.final{padding:0 3rem 7rem}}
.final-box{position:relative;overflow:hidden;border-radius:2.5rem;background:var(--ink);
  color:var(--cream);text-align:center;padding:5rem 2rem;max-width:72rem;margin:0 auto}
@media (min-width:768px){.final-box{padding:7rem 4rem}}
.final-bg{position:absolute;inset:0;opacity:.4;
  background:
    radial-gradient(50% 50% at 20% 20%, rgba(93,115,115,.6) 0%, transparent 60%),
    radial-gradient(40% 40% at 90% 80%, rgba(203,200,193,.5) 0%, transparent 70%)}
.final-inner{position:relative}
.final .eyebrow{justify-content:center;color:var(--champagne-2)}
.final .eyebrow::before{display:none}
.final h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.05;color:var(--cream);text-wrap:balance;
  max-width:48rem;margin:0 auto}
.final h2 em{font-style:italic}
.final p{margin:1.5rem auto 0;max-width:42rem;color:rgba(247,243,234,.75)}
.final-cta{margin-top:2.5rem}

/* ---------- FOOTER ---------- */
.foot{border-top:1px solid var(--cream-deep);padding:3rem 0;background:var(--cream)}
.foot-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  gap:1.5rem;max-width:80rem;margin:0 auto;padding:0 1.5rem;font-size:11px;
  text-transform:uppercase;letter-spacing:.22em;color:var(--muted)}
@media (min-width:768px){.foot-inner{flex-direction:row;padding:0 3rem}}
.foot-brand{display:flex;align-items:center;gap:.75rem}
.foot-logo{height:2.5rem;width:auto;display:block;
  filter:brightness(0) saturate(100%) invert(11%) sepia(13%) saturate(750%) hue-rotate(130deg) brightness(95%) contrast(92%);
  opacity:.7}
.foot-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}
.foot-links a{transition:color .2s}
.foot-links a:hover{color:var(--ink)}
