/* =========================================================
   Curso de Construção de Aulas de Yoga — Ju Dias
   Folha de estilo principal
   =========================================================
   Organização:
   1. Tokens (cores, fontes, medidas)   → :root
   2. Base / reset
   3. Layout (seções, containers)
   4. Tipografia e blocos de título
   5. Componentes reutilizáveis (botão, selo, cartão, etc.)
   6. Estilos por seção
   7. Responsivo
   ========================================================= */

/* 1. TOKENS ------------------------------------------------ */
:root{
  /* Fontes */
  --serif:'Marcellus', serif;
  --sans:'Mulish', sans-serif;
  --mono:'DM Mono', monospace;

  /* Cores — fundos */
  --cream:#f3ece0;      /* fundo base / seções areia */
  --paper:#fdfcfa;      /* seções claras */
  --paper-2:#f6f2ec;    /* cartão "não é pra você" */
  --paper-3:#f6f1e9;    /* lado claro da "virada" */
  --sand:#e7ddcb;       /* rodapé */

  /* Cores — texto */
  --ink:#2e2a24;        /* títulos */
  --ink-soft:#43403a;   /* texto forte */
  --muted:#6b6459;      /* texto corrido */
  --muted-2:#9c9280;    /* legendas / notas */
  --muted-3:#8f846f;    /* placeholder */

  /* Cores — marca */
  --green:#3e7168;      /* verde principal / links */
  --green-deep:#2c534c; /* painéis escuros */
  --sage:#7cb7ad;       /* botões e detalhes */

  /* Cores sobre verde escuro */
  --on-deep:#f4f0e8;
  --on-deep-soft:#bcd0cb;
  --on-deep-mute:#8fb0aa;
  --on-deep-note:#9fc4bd;

  /* Medidas */
  --maxw:1180px;
  --radius-card:24px;
  --radius-pill:100px;
  --shadow-btn:0 8px 22px rgba(124,183,173,.42);
  --shadow-card:0 2px 12px rgba(46,42,36,.05);
}

/* 2. BASE -------------------------------------------------- */
html,body{margin:0}
body{background:var(--cream);font-family:var(--sans);color:var(--ink)}
a{color:var(--green)}
*{box-sizing:border-box}
img{max-width:100%;display:block}

/* 3. LAYOUT ------------------------------------------------ */
.section{width:100%}
.bg-cream{background:var(--cream)}
.bg-paper{background:var(--paper)}
.bg-sand{background:var(--sand)}
/* cantos superiores arredondados (topo de seção clara) */
.round-top{border-radius:52px 52px 0 0}

/* container padrão das seções */
.wrap{max-width:var(--maxw);margin:0 auto;padding:82px 64px}
.wrap--hero{padding:64px 64px 76px}
.wrap--tight{padding:70px 64px}
.wrap--tall{padding:82px 64px 96px}
.wrap--guarantee{padding:64px 64px}
.wrap--faq{max-width:900px;padding:82px 64px}
/* container que segura um painel escuro (menos padding lateral) */
.wrap--panel{padding:0 40px 44px}

/* 4. TIPOGRAFIA / TÍTULOS --------------------------------- */
/* olho (eyebrow): rótulo em caixa alta com ícone */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font:500 12px/1 var(--sans);letter-spacing:.18em;
  text-transform:uppercase;color:var(--sage);
}

/* bloco de título centralizado (olho + h2 + parágrafo) */
.head{text-align:center;max-width:660px;margin:0 auto 46px}
.head .eyebrow{justify-content:center}
.head h2{margin:14px 0 14px;font:500 42px/1.1 var(--serif);color:var(--ink)}
.head p{margin:0;font:400 16px/1.6 var(--sans);color:var(--muted)}

/* frase em serif itálico usada como fecho de seção */
.pull{
  margin:34px auto 0;max-width:660px;text-align:center;
  font:400 italic 21px/1.55 var(--serif);color:var(--ink);
}

/* 5. COMPONENTES ------------------------------------------ */
/* botão pílula (verde-água) */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:18px 38px;background:var(--sage);color:#fff;
  border-radius:var(--radius-pill);font:500 15px/1 var(--sans);
  text-decoration:none;box-shadow:var(--shadow-btn);
}
.btn--on-deep{box-shadow:0 10px 26px rgba(0,0,0,.2)}

/* selo/pílula branca (Turma Inaugural) */
.pill{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 18px 9px 13px;background:#fff;border-radius:var(--radius-pill);
  font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);box-shadow:0 2px 12px rgba(46,42,36,.06);
}

/* etiqueta de contagem (7 encontros) */
.tag{padding:5px 12px;background:#eef4f2;border-radius:var(--radius-pill);
  font:500 11px/1 var(--sans);color:var(--green)}

/* círculo numerado */
.num{flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--sage);color:#fff;display:flex;align-items:center;
  justify-content:center;font:500 14px/1 var(--sans)}

/* placeholder listrado (foto / print a substituir) */
.ph{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,#e7ddcb,#e7ddcb 11px,#ddd0ba 11px,#ddd0ba 22px)}
.ph span{font:400 11px/1 var(--mono);color:var(--muted-3);letter-spacing:.08em}
.ph--print{background:repeating-linear-gradient(45deg,#eee6d8,#eee6d8 10px,#e5dac6 10px,#e5dac6 20px);border-radius:12px}
.ph--print span{font-size:10px;color:var(--muted-2);letter-spacing:.06em}

/* foto circular */
.photo{border-radius:50%;box-shadow:0 22px 55px rgba(46,42,36,.14)}
.photo--hero{width:390px;height:390px}
.photo--about{width:320px;height:320px;box-shadow:0 18px 46px rgba(46,42,36,.13)}

/* anel decorativo posicionado de forma absoluta */
.ring{position:absolute}

/* 6. SEÇÕES ----------------------------------------------- */

/* --- HERO --- */
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:26px 0 0;font:500 50px/1.1 var(--serif);color:var(--ink)}
.hero h1 em{font-style:italic;color:var(--green)}
.hero__lead{margin:24px 0 34px;max-width:460px;font:400 17px/1.6 var(--sans);color:var(--muted)}
.hero__fine{margin:16px 0 0;font:400 12px/1.4 var(--sans);color:var(--muted-2)}
.hero__media{position:relative;display:flex;justify-content:center}

/* --- DOR --- */
.pain__grid{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pain__item{display:flex;gap:16px;align-items:flex-start;padding:24px 28px;
  background:var(--cream);border-radius:22px}
.pain__item p{margin:0;font:400 16px/1.5 var(--sans);color:var(--ink-soft)}
.pain .head{max-width:660px}

/* --- 4 PASSOS --- */
.steps__grid{display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--paper);border-radius:28px;padding:44px 12px}
.steps__col{padding:0 32px;border-right:1px solid rgba(46,42,36,.1)}
.steps__col:last-child{border-right:0}
.steps__col .n{font:400 46px/1 var(--serif);color:var(--ink);margin-top:16px}
.steps__col h3{margin:12px 0 8px;font:500 17px/1.25 var(--sans);color:var(--ink)}
.steps__col p{margin:0;font:400 14px/1.55 var(--sans);color:var(--muted)}

/* --- COMO FUNCIONA --- */
.how__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.how__card{background:var(--paper);border-radius:var(--radius-card);padding:36px 38px}
.how__card .top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.how__card .mod{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.how__card h3{margin:0 0 10px;font:500 24px/1.15 var(--serif);color:var(--ink)}
.how__card p{margin:0;font:400 15px/1.55 var(--sans);color:var(--muted)}
.ementa{margin:24px auto 0;background:var(--paper);border-radius:var(--radius-card);
  padding:4px 38px;border:1px solid rgba(46,42,36,.08)}
.ementa>summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;
  align-items:center;justify-content:space-between;font:500 15px/1 var(--sans);color:var(--ink)}
.ementa>summary .plus{color:var(--sage);font-size:22px}
.ementa__grid{padding:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}
.ementa__grid p{margin:0;font:400 14px/1.5 var(--sans);color:var(--muted)}
.ementa__grid p b{color:var(--green);font-weight:500}

/* --- A TRANSFORMAÇÃO --- */
.transform__list{max-width:820px;margin:0 auto;display:flex;flex-direction:column}
.transform__row{display:flex;gap:22px;align-items:center;padding:24px 0;
  border-top:1px solid rgba(46,42,36,.1)}
.transform__row:last-child{border-bottom:1px solid rgba(46,42,36,.1)}
.transform__row svg{flex:none}
.transform__row p{margin:0;font:400 20px/1.5 var(--serif);color:var(--ink)}

/* --- PROVA SOCIAL --- */
.social__cols{columns:3;column-gap:20px}
.social__card{break-inside:avoid;margin-bottom:20px;background:var(--paper);
  border-radius:20px;padding:16px;box-shadow:var(--shadow-card)}
.social__note{margin:14px 0 0;text-align:center;font:400 13px/1.4 var(--mono);color:var(--muted-2)}

/* --- CONHEÇA A JU --- */
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.about__media{position:relative;display:flex;justify-content:center}
.about h2{margin:14px 0 22px;font:500 40px/1.12 var(--serif);color:var(--ink)}
.about__bio{margin:0;max-width:560px;font:400 16px/1.7 var(--sans);color:var(--muted)}
.stats{display:flex;gap:44px;margin-top:34px}
.stats>div{padding-left:44px;border-left:1px solid rgba(46,42,36,.14)}
.stats>div:first-child{padding-left:0;border-left:0}
.stats .num-big{font:500 40px/1 var(--serif);color:var(--green)}
.stats .lbl{margin-top:6px;font:400 13px/1.3 var(--sans);color:var(--muted)}

/* --- FAQ --- */
.faq__list{display:flex;flex-direction:column;gap:12px}
.faq__item{background:var(--paper);border-radius:18px;padding:2px 28px}
.faq__item>summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;
  align-items:center;justify-content:space-between;font:500 17px/1.3 var(--sans);color:var(--ink)}
.faq__item>summary .plus{color:var(--sage);font-size:22px;flex:none;margin-left:16px}
.faq__item p{margin:0;padding:0 0 24px;font:400 15px/1.6 var(--sans);color:var(--muted)}

/* 7. RESPONSIVO ------------------------------------------- */
@media (max-width:900px){
  .wrap,.wrap--hero,.wrap--tight,.wrap--tall,.wrap--faq{padding-left:24px;padding-right:24px}
  .wrap--panel{padding-left:16px;padding-right:16px}
  .hero__grid,.how__grid,.about__grid,.ementa__grid{grid-template-columns:1fr}
  .steps__grid{grid-template-columns:1fr 1fr}
  .steps__col{border-right:0;padding:16px 24px}
  .social__cols{columns:2}
  .hero h1{font-size:44px}
  .head h2,.pain .head h2{font-size:34px}
  .hero__media,.about__media{margin-top:32px}
}
@media (max-width:560px){
  .steps__grid{grid-template-columns:1fr}
  .pain__grid{grid-template-columns:1fr}
  .social__cols{columns:1}
  .stats{flex-wrap:wrap;gap:24px}
  .photo--hero{width:280px;height:280px}
  .hero h1{font-size:38px}
}

/* =========================================================
   8. DIREÇÃO CREME (atual)
      Site inteiro no creme; caixas (painéis brancos / escuros)
      só onde há necessidade. Alinhamento em coluna única:
      TODOS os blocos começam/terminam na mesma linha lateral.
   ========================================================= */
:root{
  --gutter:64px;                /* margem lateral única de todos os blocos */
  --col:1052px;                 /* coluna de conteúdo = 1180 − 2×64 (= largura do Hero) */
  --box-pad:64px 60px;          /* preenchimento interno padrão dos painéis brancos */
  --box-radius:36px;            /* raio de canto padrão */
  --box-shadow:0 14px 40px rgba(46,42,36,.07);
  --box-gap:56px;               /* respiro de creme acima/abaixo dos painéis */
}

/* tudo creme (os cartões seguem brancos, pois usam var(--paper)) */
.bg-paper{background:var(--cream)}
.round-top{border-radius:0}
.bg-sand{background:var(--cream);border-top:1px solid rgba(46,42,36,.12)}

/* PAINÉIS BRANCOS — seções de texto/história (Dor, Transformação, Garantia,
   Conheça a Ju). Largura = coluna de conteúdo → alinham com o Hero e entre si. */
.pain,.transform,.guarantee,.about{padding:var(--box-gap) var(--gutter)}
.pain .wrap,.transform .wrap,.guarantee .wrap,.about .wrap{
  max-width:var(--col);margin:0 auto;
  background:var(--paper);border-radius:var(--box-radius);padding:var(--box-pad);
  box-shadow:var(--box-shadow)}
.pain__item{background:var(--cream);box-shadow:none}  /* pontos em creme dentro do painel branco */

/* PAINÉIS ESCUROS (acompanhamento, CTA) — mesma coluna, mesma borda lateral */
.wrap--panel{max-width:1180px;margin:0 auto;padding:var(--box-gap) var(--gutter)}

/* ---- Diagnóstico + Virada: painel escuro único ---- */
.o2{background:var(--cream)}
.o2 .wrap{max-width:1180px;margin:0 auto;padding:var(--box-gap) var(--gutter)}
.o2-panel{position:relative;background:var(--green-deep);border-radius:40px;padding:74px 68px;overflow:hidden;color:var(--on-deep)}
.o2-panel .eyebrow{color:var(--sage)}
.o2-ring{position:absolute}
.o2-top{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}
.o2-top h2{margin:14px 0 18px;font:500 36px/1.15 var(--serif);color:var(--on-deep)}
.o2-top p{margin:0 0 14px;font:400 15px/1.7 var(--sans);color:var(--on-deep-soft)}
.o2-top p.soft{margin-bottom:0;color:var(--on-deep-mute)}
.o2-quote{background:rgba(255,255,255,.07);border:1px solid rgba(124,183,173,.25);border-radius:24px;padding:34px 36px}
.o2-quote .mark{display:block;font:500 66px/.5 var(--serif);color:var(--sage);margin:6px 0 16px}
.o2-quote blockquote{margin:0;font:500 italic 23px/1.42 var(--serif);color:var(--on-deep)}
.o2-quote cite{display:block;margin-top:18px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);font-style:normal}
.o2-div{position:relative;height:1px;background:rgba(124,183,173,.3);margin:54px 0}
.o2-shift{position:relative}
.o2-shift-head{text-align:center;max-width:780px;margin:0 auto 46px}
.o2-shift-head .lead{margin:10px auto 0;max-width:520px;font:400 15px/1.6 var(--sans);color:var(--on-deep-soft)}
.o2-q{margin:16px auto 0;max-width:760px;font:400 44px/1.16 var(--serif);color:var(--sage)}
.o2-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.o2-step{background:rgba(255,255,255,.05);border:1px solid rgba(124,183,173,.22);border-radius:20px;padding:30px 28px}
.o2-step .n{width:36px;height:36px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font:500 15px/1 var(--sans);margin-bottom:18px}
.o2-step--accent .n{background:#fff;color:var(--green-deep)}
.o2-step h4{margin:0 0 8px;font:400 21px/1.2 var(--serif);color:var(--on-deep)}
.o2-step p{margin:0;font:400 14px/1.55 var(--sans);color:var(--on-deep-soft)}

/* ---- Para quem é: painel escuro (checkpoint) ---- */
.pqe-a{background:var(--cream)}
.pqe-a .wrap{max-width:1180px;margin:0 auto;padding:var(--box-gap) var(--gutter)}
.pqeA-panel{position:relative;background:var(--green-deep);border-radius:36px;padding:64px 60px;overflow:hidden}
.pqeA-ring{position:absolute}
.pqeA-head{position:relative;text-align:center;max-width:640px;margin:0 auto 46px}
.pqeA-head .eyebrow{color:var(--sage);justify-content:center;display:inline-flex}
.pqeA-head h2{margin:14px 0 12px;font:500 40px/1.12 var(--serif);color:var(--on-deep)}
.pqeA-head p{margin:0;font:400 16px/1.6 var(--sans);color:var(--on-deep-soft)}
.pqeA-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0}
.pqeA-col{padding:6px 44px}
.pqeA-col--yes{border-right:1px solid rgba(124,183,173,.3)}
.pqeA-col h3{margin:0 0 26px;display:flex;align-items:center;gap:11px;font:500 21px/1.2 var(--serif)}
.pqeA-col--yes h3{color:var(--on-deep)}
.pqeA-col--no h3{color:#9fb8b2}
.pqeA-list{display:flex;flex-direction:column;gap:18px}
.pqeA-list>div{display:flex;gap:13px}
.pqeA-list svg{flex:none;margin-top:3px}
.pqeA-list p{margin:0;font:400 16px/1.5 var(--sans)}
.pqeA-col--yes .pqeA-list p{color:#e7eeec}
.pqeA-col--no .pqeA-list p{color:#a9bfba}

@media (max-width:900px){
  .o2 .wrap{padding:48px 16px}
  .o2-panel{padding:48px 28px}
  .o2-top{grid-template-columns:1fr;gap:32px}
  .o2-q{font-size:32px}
  .o2-steps{grid-template-columns:1fr;gap:14px}
  .pqeA-grid{grid-template-columns:1fr}
  .pqeA-col{padding:6px 0}
  .pqeA-col--yes{border-right:0;border-bottom:1px solid rgba(124,183,173,.3);padding-bottom:30px;margin-bottom:30px}
}

/* ---- Acompanhamento: trilha do ano (horizontal no desktop, vertical no mobile) ---- */
.ac1{background:var(--cream)}
.ac1-panel{position:relative;background:var(--green-deep);border-radius:40px;padding:70px 64px;overflow:hidden;color:var(--on-deep)}
.ac1-ring{position:absolute}
.ac1-head{position:relative;max-width:640px}
.ac1-head .eyebrow{color:var(--sage)}
.ac1-head h2{margin:14px 0 20px;font:500 40px/1.12 var(--serif);color:var(--on-deep)}
.ac1-head p{margin:0;font:400 16px/1.7 var(--sans);color:var(--on-deep-soft)}
.ac1-trail{position:relative;margin-top:56px}
.ac1-heads{display:flex;margin-bottom:20px}
.ac1-h--a{flex:3}.ac1-h--b{flex:9}
.ac1-h .dur{font:500 30px/1 var(--serif);color:var(--sage)}
.ac1-h .name{margin-top:9px;font:400 15px/1.35 var(--sans);color:var(--on-deep-soft)}
.ac1-track{position:relative;display:flex;height:10px;background:rgba(124,183,173,.16);border-radius:100px}
.ac1-seg-a{flex:3;background:var(--sage);border-radius:100px 0 0 100px}
.ac1-seg-b{flex:9;background:rgba(124,183,173,.4);border-radius:0 100px 100px 0}
.ac1-node{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px var(--green-deep);z-index:2}
.ac1-node--1{left:0}.ac1-node--2{left:25%}.ac1-node--3{left:100%}
.ac1-sum{margin-top:30px;display:flex;align-items:center;gap:14px}
.ac1-sum .line{flex:1;height:1px;background:rgba(124,183,173,.4)}
.ac1-sum span{font:500 13px/1 var(--sans);letter-spacing:.06em;color:var(--on-deep)}
.ac1-vert{display:none}
.ac1-vitem{position:relative;display:flex;gap:16px;padding-bottom:28px}
.ac1-vitem::before{content:"";position:absolute;left:7px;top:22px;bottom:0;width:2px;background:rgba(124,183,173,.4)}
.ac1-vitem:last-of-type::before{display:none}
.ac1-vdot{flex:none;width:16px;height:16px;border-radius:50%;background:var(--sage);margin-top:4px;box-shadow:0 0 0 4px rgba(124,183,173,.15)}
.ac1-vitem .dur{font:500 28px/1 var(--serif);color:var(--sage)}
.ac1-vitem .name{margin-top:8px;font:400 15px/1.35 var(--sans);color:var(--on-deep-soft)}
.ac1-vsum{font:500 13px/1.4 var(--sans);letter-spacing:.04em;color:var(--on-deep)}
@media(max-width:900px){
  .ac1-panel{padding:48px 30px}
  .ac1-head h2{font-size:31px}
  .ac1-horiz{display:none}
  .ac1-vert{display:block}
}

/* ---- Diagnóstico + Virada: dois tempos (claro → escuro) + linha do tempo ---- */
.dvB{background:var(--cream)}
.dvB .wrap{max-width:1180px;margin:0 auto;padding:82px 64px}
.dvB-diag{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;max-width:1052px;margin:0 auto 46px}
.dvB-diag .eyebrow{color:var(--sage)}
.dvB-diag h2{margin:14px 0 18px;font:500 38px/1.14 var(--serif);color:var(--ink)}
.dvB-diag p{margin:0 0 14px;font:400 16px/1.7 var(--sans);color:var(--muted)}
.dvB-diag p.soft{margin-bottom:0;color:var(--muted-2)}
.dvB-quote{background:var(--paper);border-radius:26px;padding:40px 42px;border:1px solid rgba(124,183,173,.3);box-shadow:0 10px 30px rgba(46,42,36,.05)}
.dvB-quote .mark{display:block;font:500 60px/.4 var(--serif);color:var(--sage);margin:8px 0 14px}
.dvB-quote blockquote{margin:0;font:500 italic 23px/1.44 var(--serif);color:var(--ink)}
.dvB-quote cite{display:block;margin-top:18px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);font-style:normal}
.dvB-arrow{display:flex;justify-content:center;color:var(--sage);margin:14px 0 50px}
.dvB-shift{position:relative;background:var(--green-deep);border-radius:40px;padding:66px 58px;overflow:hidden;color:var(--on-deep);text-align:center;max-width:1052px;margin:0 auto}
.dvB-ring{position:absolute}
.dvB-shift .eyebrow{color:var(--sage);justify-content:center;display:inline-flex;position:relative}
.dvB-q{position:relative;margin:16px auto 0;max-width:760px;font:400 42px/1.16 var(--serif);color:var(--sage)}
.dvB-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:58px auto 0;max-width:820px}
.dvB-steps::before{content:"";position:absolute;top:19px;left:16%;right:16%;height:1px;background:rgba(124,183,173,.45)}
.dvB-step{text-align:center;padding:0 20px}
.dvB-step .dot{width:38px;height:38px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font:500 15px/1 var(--sans);margin:0 auto 20px;position:relative;z-index:1;box-shadow:0 0 0 7px var(--green-deep)}
.dvB-step--accent .dot{background:#fff;color:var(--green-deep)}
.dvB-step h4{margin:0 0 7px;font:400 20px/1.2 var(--serif);color:var(--on-deep)}
.dvB-step--accent h4{color:var(--sage)}
.dvB-step p{margin:0;font:400 14px/1.55 var(--sans);color:var(--on-deep-soft)}
@media(max-width:900px){.dvB .wrap{padding:60px 24px}.dvB-diag{grid-template-columns:1fr;gap:30px}.dvB-shift{padding:46px 28px}.dvB-q{font-size:31px}.dvB-steps{grid-template-columns:1fr;gap:32px;max-width:none}.dvB-steps::before{display:none}}

/* ---- CTA final: full-bleed, mandala de fundo bem transparente (sem ponto central) ---- */
.ctaf{position:relative;background:var(--green-deep);overflow:hidden;color:var(--on-deep)}
.ctaf-mand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:860px;height:860px;max-width:172vw;pointer-events:none}
.ctaf-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:134px 24px 140px;text-align:center}
.ctaf-lead{margin:0 auto 30px;max-width:460px;font:400 16px/1.65 var(--sans);color:var(--on-deep-soft)}
.ctaf-big{margin:0 auto 42px;max-width:640px;font:500 54px/1.16 var(--serif);color:var(--on-deep)}
.ctaf-big em{font-style:italic;color:var(--sage)}
.ctaf-fine{margin-top:20px;font:400 14px/1.4 var(--sans);color:var(--on-deep-note)}
.ctaf-fine a{color:var(--on-deep);text-decoration:underline}
@media(max-width:900px){.ctaf-inner{padding:92px 24px}.ctaf-big{font-size:34px}.ctaf-mand{width:620px;height:620px}}

/* ---- Rodapé: verde escuro contínuo (fecha na cor da marca) ---- */
.ftA{position:relative;background:var(--green-deep);color:var(--on-deep-soft);border-top:1px solid rgba(124,183,173,.2)}
.ftA-wrap{max-width:1180px;margin:0 auto;padding:52px 64px 44px}
.ftA-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start;padding-bottom:32px;border-bottom:1px solid rgba(124,183,173,.18)}
.ftA-brand{display:flex;align-items:center;gap:14px}
.ftA-brand svg{width:34px;height:34px;flex:none}
.ftA-brand .name{font:500 22px/1.1 var(--serif);color:var(--on-deep)}
.ftA-brand .tag{margin-top:5px;font:400 13px/1.4 var(--sans);color:var(--on-deep-mute)}
.ftA-links{display:flex;gap:56px}
.ftA-col .h{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:14px}
.ftA-col a{display:block;margin-bottom:9px;font:400 14px/1.5 var(--sans);color:var(--on-deep-soft);text-decoration:none}
.ftA-col a:hover{color:var(--on-deep)}
.ftA-bottom{padding-top:26px;display:grid;grid-template-columns:1.7fr 1fr;gap:44px;align-items:start}
.ftA-legal{margin:0;font:400 12px/1.7 var(--sans);color:var(--on-deep-mute)}
.ftA-biz{font:400 12px/1.8 var(--sans);color:var(--on-deep-mute);text-align:right}
@media(max-width:900px){.ftA-wrap{padding:40px 24px}.ftA-top{flex-direction:column;gap:26px}.ftA-bottom{grid-template-columns:1fr;gap:20px}.ftA-biz{text-align:left}}

/* ---- Oferta: card refinado (header + preço em destaque) + garantia em faixa dourada ---- */
.og{background:var(--cream)}
.og .wrap{max-width:1180px;margin:0 auto;padding:82px 64px}
.og-wrap{position:relative;max-width:600px;margin:0 auto}
.og-card{background:var(--paper);border-radius:28px;overflow:hidden;box-shadow:0 22px 54px rgba(46,42,36,.13);border:1px solid rgba(124,183,173,.35)}
.og-top{background:#eef4f2;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(124,183,173,.3)}
.og-top .k{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.og-top .v{font:400 12px/1 var(--sans);color:var(--muted-2)}
.og-body{padding:38px 40px 34px}
.og-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}
.og-list>div{display:flex;gap:13px;align-items:flex-start}
.og-list .tick{flex:none;width:22px;height:22px;border-radius:50%;background:#eef4f2;display:flex;align-items:center;justify-content:center;margin-top:1px}
.og-list p{margin:0;font:400 15px/1.45 var(--sans);color:var(--ink-soft)}
.og-price{background:#f6f2ec;border:1px solid rgba(46,42,36,.06);border-radius:20px;padding:26px 28px;text-align:center}
.og-cap{margin:0 0 8px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.og-old{font:400 17px/1 var(--sans);color:#b0a48f;text-decoration:line-through}
.og-new{display:block;margin:7px 0 0;font:500 54px/1 var(--serif);color:var(--ink)}
.og-inst{margin:9px 0 0;font:400 13px/1.4 var(--sans);color:var(--muted)}
.og .btn{margin-top:22px;width:100%}
.og-fine{margin:12px 0 0;font:400 12px/1.4 var(--sans);color:var(--muted-2);text-align:center}
.barG{margin:26px -40px -34px;background:linear-gradient(90deg,#e7c979,#d9a441);padding:20px 40px;display:flex;align-items:center;gap:16px}
.barG svg{flex:none;filter:drop-shadow(0 3px 8px rgba(63,44,10,.25))}
.barG b{font:600 16px/1.2 var(--sans);color:#3f2c0a}
.barG span{display:block;margin-top:3px;font:400 13px/1.3 var(--sans);color:#6b501c}
@media(max-width:900px){.og .wrap{padding:60px 24px}.og-body{padding:32px 26px}.og-top{padding:16px 26px}.barG{margin:24px -26px -32px;padding:18px 26px}}

/* ---- Fotos reais nos círculos (hero e mentora) ---- */
img.photo--hero,img.photo--about{object-fit:cover}
