@font-face{font-family:'Ovo';src:url(fonts/ovo.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'NunitoV';src:url(fonts/nunito-variable.woff2) format('woff2');font-weight:300 800;font-style:normal;font-display:swap}

:root{
  --ivory:#FFFEF3;
  --linen:#F1F2EA;
  --mist:#CED5D4;
  --sage:#5F7263;
  --forest:#4A554C;
  --forest-dk:#3A433C;
  --forest-dker:#2E362F;
  --ink:#23271F;
  --muted:#575E55;
  --rule:#DDE0D7;
  --on-forest:#F3F4EC;
  --on-forest-mute:#D3DBD1;
  --mark:#4A554C;
  --photo-bg:#CBD3CC;
  --gold:#FFC503;
  --on-gold:#22240F;
  --gold-line:rgba(35,39,31,.16);
  --gold-soft:rgba(255,197,3,.42);
  --display:'Ovo',Georgia,serif;
  --body:'NunitoV','Nunito',system-ui,sans-serif;
  --measure:63ch;
  --shadow:0 1px 2px rgba(35,39,31,.05),0 12px 32px rgba(35,39,31,.06);
}
@media (prefers-color-scheme:dark){
  :root{
    --ivory:#181C18;
    --linen:#1F241E;
    --mist:#3B4640;
    --sage:#9DB1A1;
    --forest:#242B25;
    --forest-dk:#1C221D;
    --forest-dker:#151A16;
    --ink:#E7E9DF;
    --muted:#AEB7AC;
    --rule:#333B33;
    --on-forest:#E7E9DF;
    --on-forest-mute:#AEB7AC;
    --mark:#9DB1A1;
    --photo-bg:#1F241E;
    --gold:#E3AE2E;
    --on-gold:#1C1A0C;
    --gold-line:rgba(227,174,46,.35);
    --gold-soft:rgba(227,174,46,.38);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 32px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --ivory:#181C18;--linen:#1F241E;--mist:#3B4640;--sage:#9DB1A1;--forest:#242B25;
  --forest-dk:#1C221D;--forest-dker:#151A16;--ink:#E7E9DF;--muted:#AEB7AC;--rule:#333B33;
  --on-forest:#E7E9DF;--on-forest-mute:#AEB7AC;--mark:#9DB1A1;--photo-bg:#1F241E;
  --gold:#E3AE2E;--on-gold:#1C1A0C;--gold-line:rgba(227,174,46,.35);--gold-soft:rgba(227,174,46,.38);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 32px rgba(0,0,0,.35);
}
:root[data-theme="light"]{
  --ivory:#FFFEF3;--linen:#F1F2EA;--mist:#CED5D4;--sage:#5F7263;--forest:#4A554C;
  --forest-dk:#3A433C;--forest-dker:#2E362F;--ink:#23271F;--muted:#575E55;--rule:#DDE0D7;
  --on-forest:#F3F4EC;--on-forest-mute:#D3DBD1;--mark:#4A554C;--photo-bg:#CBD3CC;
  --gold:#FFC503;--on-gold:#22240F;--gold-line:rgba(35,39,31,.16);--gold-soft:rgba(255,197,3,.42);
  --shadow:0 1px 2px rgba(35,39,31,.05),0 12px 32px rgba(35,39,31,.06);
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:var(--body);font-weight:400;font-size:1.0625rem;line-height:1.68;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}

/* ---------- primitives ---------- */
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.band{padding-block:clamp(56px,9vw,112px)}
.band-linen{background:var(--linen)}
.band-forest{background:var(--forest);color:var(--on-forest)}
.rule-top{border-top:1px solid var(--rule)}


h1,h2,h3,.d{font-family:var(--display);font-weight:400;letter-spacing:-.012em;text-wrap:balance}
h2{font-size:clamp(1.85rem,4vw,2.7rem);line-height:1.16;margin:0 0 1.4rem}
h3{font-size:1.3rem;line-height:1.3;margin:0 0 .5rem}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
.measure{max-width:var(--measure)}
.lede{font-size:clamp(1.1rem,1.9vw,1.28rem);line-height:1.6;color:var(--ink)}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column}

/* ---------- buttons ---------- */
/* yellow role: primary action only. text is always dark on gold. */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--body);font-size:.95rem;font-weight:800;letter-spacing:.01em;
  text-decoration:none;padding:.95rem 1.7rem;border-radius:1px;
  background:var(--gold);color:var(--on-gold);border:1px solid var(--gold);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.btn:hover{background:#FFD23D;transform:translateY(-1px)}
:root[data-theme="dark"] .btn:hover,
@media (prefers-color-scheme:dark){.btn:hover{background:#F0BC3F}}
.btn-ghost{background:transparent;color:var(--on-forest);border-color:rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}
.band:not(.band-forest) .btn-ghost{color:var(--ink);border-color:var(--mist)}
.band:not(.band-forest) .btn-ghost:hover{background:var(--mist)}
.btn-note{font-size:.9rem;color:var(--on-forest-mute);margin:.9rem 0 0}
.band:not(.band-forest) .btn-note{color:var(--muted)}

/* ---------- header ---------- */
header.site{border-bottom:1px solid var(--rule);background:var(--ivory)}
header.site .wrap{display:flex;align-items:center;gap:2rem;min-height:76px}
.brand{display:flex;flex-direction:column;line-height:1.2;text-decoration:none}
.brand b{font-family:var(--display);font-weight:400;font-size:1.24rem;letter-spacing:.005em;color:var(--ink)}
.brand span{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);font-weight:600;white-space:nowrap}
@media (max-width:420px){.brand b{font-size:1.1rem}.brand span{font-size:.6rem;letter-spacing:.1em}}
nav.site{margin-left:auto;display:flex;align-items:center;gap:1.9rem}
nav.site a{font-size:.95rem;text-decoration:none;color:var(--muted);transition:color .15s;position:relative}
nav.site a:not(.btn):hover{color:var(--ink)}
nav.site a:not(.btn):hover::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--gold)}
nav.site a.btn{color:var(--on-gold)}
@media (max-width:900px){nav.site a:not(.btn){display:none}}
@media (max-width:480px){nav.site a.btn{padding:.7rem 1rem;font-size:.85rem;white-space:nowrap}header.site .wrap{gap:1rem}}

/* ---------- hero (full dark band, asymmetric) ---------- */
.hero{background:var(--forest);color:var(--on-forest);position:relative;overflow:hidden}
.hero .wrap{
  --hero-pad:clamp(52px,8vw,96px);
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.2fr);
  gap:clamp(32px,5vw,68px);align-items:center;
  padding-block:var(--hero-pad);
}
.hero-copy{order:2}
.hero-visual{order:1}
.epigraph{position:relative;padding-left:1.3rem;margin:2.2rem 0 0;max-width:38ch;border-left:2px solid var(--gold)}
.epigraph p{font-family:var(--display);font-size:1.14rem;line-height:1.46;color:var(--on-forest-mute);margin:0}
.epigraph cite{display:block;font-style:normal;font-size:.72rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-top:.65rem;font-weight:700}
h1{font-size:clamp(2.15rem,5vw,3.5rem);line-height:1.1;margin:0 0 1.3rem;color:var(--on-forest)}
.hero .lede{max-width:44ch;color:var(--on-forest-mute)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.1rem}

.facts{
  display:flex;flex-wrap:wrap;gap:0;margin:2.2rem 0 0;padding:0;list-style:none;
  border-top:1px solid rgba(255,255,255,.14);
}
.facts li{
  flex:1 1 30%;min-width:150px;padding:1rem 1.2rem 0 0;
  font-size:.92rem;line-height:1.45;color:var(--on-forest-mute);
}
.facts b{display:block;font-family:var(--display);font-weight:400;font-size:1.08rem;color:var(--on-forest);margin-bottom:.15rem}

/* retrato: foto original do site, preenchendo a coluna de ponta a ponta da banda */
.hero-visual{
  position:relative;align-self:stretch;
  margin-block:calc(-1 * var(--hero-pad));
  min-height:520px;
}
.portrait{
  position:absolute;top:0;right:0;bottom:0;
  /* sangra até a borda esquerda da viewport */
  left:calc(-1 * ((100vw - min(1180px,100vw))/2 + clamp(20px,5vw,48px)));
  overflow:hidden;background:var(--forest-dk);
}
.portrait::after{content:"";position:absolute;inset:0 0 0 auto;width:1px;background:var(--gold-soft)}
.portrait-frame{position:absolute;inset:0}
.portrait-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:46% 32%}
@media (prefers-color-scheme:dark){.portrait-frame img{filter:brightness(.78) saturate(.94)}}
:root[data-theme="dark"] .portrait-frame img{filter:brightness(.78) saturate(.94)}
:root[data-theme="light"] .portrait-frame img{filter:none}
@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-visual{order:-1;align-self:auto;margin-block:calc(-1 * var(--hero-pad)) 0;min-height:0}
  .portrait{position:relative;inset:auto;left:auto;aspect-ratio:4/3;margin-inline:calc(-1 * clamp(20px,5vw,48px))}
  .portrait-frame img{object-position:46% 24%}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}
  .portrait::after{inset:auto 0 0 0;width:auto;height:1px}
}

/* retrato da secao Sobre */
.sobre-foto{margin:0 0 1.4rem;background:var(--photo-bg);overflow:hidden;box-shadow:var(--shadow)}
.sobre-foto img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;object-position:50% 24%;mix-blend-mode:multiply}
@media (prefers-color-scheme:dark){.sobre-foto img{mix-blend-mode:normal;filter:brightness(.8) saturate(.94)}}
:root[data-theme="dark"] .sobre-foto img{mix-blend-mode:normal;filter:brightness(.8) saturate(.94)}
:root[data-theme="light"] .sobre-foto img{mix-blend-mode:multiply;filter:none}

/* ---------- two-column editorial ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.aside-note{
  border-left:3px solid var(--gold);padding:.2rem 0 .2rem 1.3rem;
  font-family:var(--display);font-size:1.28rem;line-height:1.42;color:var(--ink);
}

/* ---------- temas grid ---------- */
.temas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,36px);margin:2.2rem 0 0;padding:0;list-style:none}
.temas li{border-top:1px solid var(--rule);padding:.95rem 0 1.4rem;position:relative;padding-left:1.1rem}
.temas li::before{content:"";position:absolute;left:0;top:1.5rem;width:8px;height:8px;background:var(--gold)}
.temas span{font-family:var(--display);font-size:1.2rem;line-height:1.3}
@media (max-width:760px){.temas{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- value grid ---------- */
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:2.4rem;position:relative}
.vgrid::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rule)}
.vgrid > div{border-top:1px solid var(--rule);padding:1.7rem clamp(20px,3vw,44px) 1.7rem 0}
.vgrid > div:nth-child(even){padding-left:clamp(20px,3vw,44px);padding-right:0}
.vgrid p{font-size:1.06rem;color:var(--muted);margin:0}
@media (max-width:760px){
  .vgrid{grid-template-columns:1fr}
  .vgrid::after{display:none}
  .vgrid > div,.vgrid > div:nth-child(even){padding:1.4rem 0}
}

/* ---------- credenciais ---------- */
.creds{list-style:none;margin:0;padding:0}
.creds li{border-bottom:1px solid var(--rule);padding:.8rem 0;font-size:1rem;line-height:1.45}
.creds li:first-child{border-top:1px solid var(--rule)}
.sig{font-family:var(--display);font-size:1.15rem}
.sig span{display:block;font-family:var(--body);font-size:.75rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:.2rem}

/* ---------- abordagem ---------- */
.term{font-weight:800;text-decoration:underline;text-decoration-color:var(--gold);
  text-decoration-thickness:2px;text-underline-offset:3px}

/* ---------- plano (numbered — on forest, gold digits) ---------- */
.plano-band{background:var(--forest);color:var(--on-forest)}
.plano{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px);margin-top:2.6rem}
.plano article{display:flex;flex-direction:column;gap:.55rem}
.plano .num{
  font-family:var(--display);font-size:2.9rem;line-height:1;color:var(--gold);
  border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:.55rem;margin-bottom:.35rem;
}
.plano h3{color:var(--on-forest)}
.plano p{font-size:1.04rem;color:var(--on-forest-mute);margin:0}
@media (max-width:800px){.plano{grid-template-columns:1fr}}

/* ---------- online list ---------- */
.olist{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:0}
.olist li{border-top:1px solid var(--rule);padding:1.15rem 0;display:grid;
  grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.4rem clamp(16px,3vw,32px)}
.olist b{font-family:var(--display);font-weight:400;font-size:1.15rem}
.olist span{color:var(--muted);font-size:1.02rem}
@media (max-width:660px){.olist li{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{margin-top:2.2rem;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;list-style:none;padding:1.15rem 2.4rem 1.15rem 0;position:relative;
  font-family:var(--display);font-size:1.16rem;line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:.3rem;top:.95rem;
  font-family:var(--body);font-weight:800;font-size:1.5rem;color:var(--mark);line-height:1;
  transition:transform .2s ease;
}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--muted)}
.faq .ans{padding:0 clamp(0px,4vw,3rem) 1.4rem 0;max-width:64ch;color:var(--muted);font-size:1.04rem}

/* ---------- CTA final ---------- */
.finale .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(28px,5vw,64px);align-items:start}
.finale h2{margin-bottom:0}
.finale p{color:var(--on-forest-mute)}
@media (max-width:820px){.finale .wrap{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.site{background:var(--forest-dker);color:var(--on-forest-mute);padding-block:2.6rem;font-size:.86rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;align-items:baseline}
footer.site b{font-family:var(--display);font-weight:400;color:var(--on-forest);font-size:1.05rem}
footer.site .sep{margin-left:auto}
footer.site .credit{flex-basis:100%;text-align:center}
footer.site a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}

/* ---------- whatsapp float ---------- */
.wa{
  position:fixed;right:20px;bottom:20px;z-index:60;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:transform .18s ease;
}
.wa:hover{transform:scale(1.06)}
.wa svg{width:29px;height:29px;fill:#fff}

/* ---------- load-in ---------- */
@media (prefers-reduced-motion:no-preference){
  .fade{opacity:0;transform:translateY(10px);animation:rise .7s cubic-bezier(.2,.7,.3,1) forwards}
  .d1{animation-delay:.06s}.d2{animation-delay:.14s}.d3{animation-delay:.22s}
  @keyframes rise{to{opacity:1;transform:none}}
}

/* ---------- legal page ---------- */
.legal{padding-block:clamp(48px,8vw,96px)}
.legal h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.14;margin:0 0 .6rem}
.legal h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin:2.4rem 0 .8rem}
.legal .measure{max-width:var(--measure)}
.legal ul{margin:0 0 1.05em;padding-left:1.2em}
.legal li{margin-bottom:.4em}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:2rem}
