/* ==========================================================================
   Instituto Iza Óliver — Home "Método Um Degrau Por Vez"
   Reconstrução fiel do site publicado (tokens extraídos do build original)
   ========================================================================== */

@font-face{
  font-family:'Cormorant Garamond';font-style:normal;font-weight:300 600;font-display:swap;
  src:url('../fonts-home/cormorant-garamond-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url('../fonts-home/cormorant-garamond-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;
  src:url('../fonts-home/inter-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;
}

:root{
  --background:#f7f0ef;
  --foreground:#3b2c26;
  --card:#e9ddd8;
  --card-foreground:#3b2c26;
  --primary:#2a1913;
  --primary-foreground:#f7f0ef;
  --secondary:#aea09b;
  --muted:#e9ddd8;
  --muted-foreground:#6e605b;
  --accent:#b6956f;
  --accent-foreground:#2a1913;
  --border:#d8cfcb;
  --radius:.375rem;
  --sans:'Inter',system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:'Cormorant Garamond',"Playfair Display",Georgia,serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--background);color:var(--foreground);
  font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:72rem;margin:0 auto;padding-inline:1.5rem}
.eyebrow{font-size:.63rem;text-transform:uppercase;letter-spacing:.32em;color:var(--accent)}
em{font-style:italic;color:var(--accent);font-weight:400}

/* ---------- topo ---------- */
.topo{position:absolute;top:0;left:0;right:0;z-index:10}
.topo__in{max-width:88rem;margin:0 auto;display:flex;justify-content:flex-end;gap:3rem;padding:2rem}
.topo a{font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--foreground);opacity:.7;transition:opacity .2s}
.topo a:hover{opacity:1}
@media (max-width:760px){.topo{display:none}}

/* ---------- botões ---------- */
.btn{
  font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  padding:1rem 2.5rem;border-radius:var(--radius);border:1px solid var(--primary);
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;
  transition:background .25s ease,color .25s ease;
}
.btn--primary{background:var(--primary);color:var(--primary-foreground)}
.btn--primary:hover{background:transparent;color:var(--primary)}
.btn--ghost{background:transparent;color:var(--foreground);opacity:.75;border:none;text-decoration:underline;text-underline-offset:8px}
.btn--ghost:hover{opacity:1}
.btn--block{width:100%}

/* ---------- hero mobile ---------- */
.hero-m{display:block;border-bottom:1px solid var(--border)}
.hero-m__foto{position:relative;height:82vh;min-height:600px;width:100%;overflow:hidden}
.hero-m__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}
.hero-m__véu{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(247,240,239,.2) 0%,transparent 35%,var(--background) 100%)}
.hero-m__legenda{position:absolute;inset-inline:0;bottom:0;padding:0 1.5rem 2.5rem}
.hero-m__legenda .hero__titulo{font-size:clamp(2.75rem,11vw,4rem);line-height:1.02;letter-spacing:-.02em}
.hero-m__legenda .hero__autor{margin-top:.8rem}
.hero-m__corpo{padding:2.5rem 1.5rem 4rem}
.hero-m__corpo .hero__texto{max-width:none;margin-top:0;opacity:.85}
.hero-m__corpo .hero__cta{margin-top:2.5rem;flex-direction:column;align-items:stretch;gap:1rem}
@media (min-width:768px){.hero-m{display:none}}

/* ---------- hero desktop ---------- */
.hero{display:none;position:relative;min-height:92vh;overflow:hidden;border-bottom:1px solid var(--border)}
@media (min-width:768px){.hero{display:block}}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 4%}
.hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--background) 0%,rgba(247,240,239,.55) 55%,transparent 100%)}
.hero__in{max-width:80rem;margin:0 auto;min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:9rem 2rem 8rem}
.hero__titulo{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5rem);line-height:1.05;letter-spacing:-.02em;color:var(--primary);max-width:34rem}
.hero__texto{margin-top:3rem;max-width:32rem;font-size:1rem;line-height:1.8;color:var(--foreground);opacity:.85}
.hero__cta{margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.hero__autor{margin-top:2.5rem;font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--foreground);opacity:.75}
.hero__rodape{border-top:1px solid var(--border)}
.hero__rodape .wrap{max-width:88rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.5rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.32em;opacity:.6}
.hero__rodape .frase{font-family:var(--serif);font-style:italic;font-size:.9rem;text-transform:none;letter-spacing:normal;opacity:.85}
@media (max-width:760px){.hero__rodape{display:none}}

/* ---------- seções genéricas ---------- */
.sec{border-top:1px solid var(--border)}
.sec--card{background:var(--card)}
.sec .wrap{padding-block:5rem}
.sec__titulo{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;color:var(--primary);margin-top:1.2rem}
.sec--cta{margin-top:2.5rem}

/* 01 manifesto */
.manifesto{display:grid;gap:3.5rem;align-items:center}
.manifesto__foto{aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.4)}
.manifesto__foto img{width:100%;height:100%;object-fit:cover}
.manifesto__texto p{margin-top:2rem;font-size:1.05rem;line-height:1.85;opacity:.85}
@media (min-width:820px){.manifesto{grid-template-columns:5fr 7fr}}

/* 02 método (fundo com foto) */
.metodo{position:relative;text-align:center;padding-block:7rem}
.metodo__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}
.metodo__véu{position:absolute;inset:0;background:rgba(247,240,239,.87);z-index:-1}
.metodo .sec__titulo{margin-inline:auto}
.metodo__sub{margin:1.8rem auto 0;max-width:38rem;font-family:var(--serif);font-style:italic;font-size:1.3rem;opacity:.8}
.metodo__texto{margin:2.5rem auto 0;max-width:38rem;font-size:1rem;line-height:1.85;opacity:.85}
.metodo__linha{margin:3rem auto 0;height:1px;width:4rem;background:var(--accent)}

/* grade de degraus (resumo) */
.degraus-grid{margin-top:2.5rem;display:grid;gap:1px;background:var(--border);border-radius:2px;overflow:hidden}
.degraus-grid a{position:relative;display:block;aspect-ratio:3/4;overflow:hidden}
.degraus-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.degraus-grid__véu{position:absolute;inset:0;background:linear-gradient(to top,var(--background) 5%,rgba(247,240,239,.4) 60%,transparent)}
.degraus-grid__label{position:absolute;top:0;left:0;right:0;padding:.9rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.28em;color:var(--accent)}
.degraus-grid__info{position:absolute;left:0;right:0;bottom:0;padding:1.1rem}
.degraus-grid__info .titulo{font-family:var(--serif);font-size:1.05rem;color:var(--primary)}
.degraus-grid__info .tipo{margin-top:.4rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.24em;opacity:.6}
@media (min-width:600px){.degraus-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:599px){.degraus-grid{grid-template-columns:repeat(2,1fr)}}

/* seções individuais de cada degrau */
.degrau{position:relative;overflow:hidden}
.degrau .wrap{display:grid;gap:3rem;align-items:start;padding-block:6rem}
.degrau__num{font-family:var(--serif);font-style:italic;font-size:4.5rem;line-height:1;color:var(--accent);opacity:.7;margin-top:1.5rem}
.degrau__eyebrow{display:flex;align-items:center;gap:.9rem}
.degrau__eyebrow span.linha{height:1px;width:2rem;background:var(--accent)}
.degrau__formato{margin-top:1.6rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;opacity:.6}
.degrau__foto{margin-top:1.8rem;aspect-ratio:4/5;box-shadow:0 30px 80px -30px rgba(0,0,0,.4);overflow:hidden}
.degrau__foto img{width:100%;height:100%;object-fit:cover}
.degrau__titulo{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.5rem);color:var(--primary);line-height:1.15}
.degrau__corpo p{margin-top:1.2rem;font-size:1rem;line-height:1.85;opacity:.85}
.degrau__meta{margin-top:2.5rem;display:grid;gap:1.6rem;border-top:1px solid var(--border);padding-top:2rem}
.degrau__meta dt{font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:var(--accent)}
.degrau__meta dd{margin-top:.5rem;font-size:.85rem;opacity:.85}
.degrau .btn{margin-top:2.5rem}
@media (min-width:820px){
  .degrau .wrap{grid-template-columns:4fr 8fr}
  .degrau--inv .wrap{grid-template-columns:8fr 4fr}
  .degrau--inv .aside{order:2}
  .degrau__meta{grid-template-columns:1fr 1fr}
}

/* bônus dentro do degrau */
.bonus{margin-top:3rem;border:1px solid var(--border);border-radius:.75rem;padding:1.8rem}
.bonus__cab{display:flex;align-items:center;gap:.7rem}
.bonus__grid{margin-top:1.6rem;display:grid;gap:1rem}
.bonus__item{border:1px solid var(--border);border-radius:.5rem;padding:1.3rem}
.bonus__item p{margin-top:.3rem;opacity:1}
@media (min-width:600px){.bonus__grid{grid-template-columns:1fr 1fr}}

/* bônus exclusivos (e-books) dentro do degrau */
.bonus-ex{margin-top:3.5rem;border:1px solid var(--border);border-radius:.75rem;padding:1.8rem 1.6rem;background:rgba(42,25,19,.03)}
.bonus-ex__cab{display:flex;align-items:center;gap:.7rem}
.bonus-ex__icone{width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(182,149,111,.4);display:flex;align-items:center;justify-content:center}
.bonus-ex__icone svg{width:.75rem;height:.75rem;color:var(--accent)}
.bonus-ex__grid{margin-top:1.6rem;display:grid;gap:1.2rem}
.ebook-card{display:flex;align-items:center;gap:1.2rem;border:1px solid var(--border);border-radius:.5rem;padding:1.1rem;background:rgba(247,240,239,.6);transition:border-color .2s ease}
.ebook-card:hover{border-color:var(--accent)}
.ebook-card__capa{position:relative;flex:none;width:52px;height:72px;border-radius:.2rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom right,rgba(182,149,111,.3),rgba(42,25,19,.2))}
.ebook-card__capa svg{width:1.2rem;height:1.2rem;color:var(--primary);opacity:.7}
.ebook-card__capa span{position:absolute;bottom:2px;right:4px;font-size:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);opacity:.6}
.ebook-card__legenda{font-size:.6rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent)}
.ebook-card__titulo{margin-top:.2rem;font-size:.9rem;line-height:1.3}
@media (min-width:600px){.bonus-ex__grid{grid-template-columns:1fr 1fr}}

/* 03 visão geral */
.overview__cab{display:grid;gap:2rem;align-items:end;margin-bottom:2.5rem}
.overview__intro{font-size:.9rem;line-height:1.8;opacity:.7;max-width:26rem}
@media (min-width:900px){.overview__cab{grid-template-columns:7fr 5fr}.overview__intro{justify-self:end;text-align:right}}
.overview{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border)}
.overview__capa{position:relative;min-height:22rem;background:var(--primary)}
.overview__capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.overview__capa .conteudo{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:2.2rem;color:var(--primary-foreground)}
.overview__lista{display:grid;gap:1px;background:var(--border)}
.overview__card{background:var(--card);padding:2rem;transition:background .5s ease}
.overview__card:hover{background:var(--background)}
.overview__card .num{font-family:var(--serif);font-style:italic;font-size:2.2rem;color:var(--accent);opacity:.7;transition:transform .5s ease}
.overview__card:hover .num{transform:translateY(-4px)}
.overview__card h3{font-family:var(--serif);font-size:1.3rem;margin-top:1.2rem;color:var(--primary)}
.overview__linha{margin-top:1rem;height:1px;width:2rem;background:rgba(182,149,111,.6);transition:width .5s ease}
.overview__card:hover .overview__linha{width:4rem}
.overview__card p{margin-top:1rem;font-size:.85rem;opacity:.75}
@media (min-width:900px){
  .overview{grid-template-columns:5fr 7fr}
  .overview__lista{grid-template-columns:1fr 1fr}
}

/* próximo passo */
.proximo-passo{text-align:center}
.proximo-passo .wrap{max-width:44rem}
.proximo-passo p{margin-top:1.6rem;font-size:1rem;line-height:1.85;opacity:.85}
.proximo-passo .btn{margin-top:2.5rem}

/* 04 pra quem */
.paraquem .wrap{display:grid;gap:3rem}
.paraquem ul{margin-top:2rem;display:grid;gap:1.4rem}
.paraquem li{display:flex;gap:1.1rem;border-bottom:1px solid var(--border);padding-bottom:1.4rem;font-size:1rem;line-height:1.7}
.paraquem li span.marca{margin-top:.6rem;height:1px;width:1.4rem;flex:none;background:var(--accent)}
@media (min-width:820px){.paraquem .wrap{grid-template-columns:1fr 1fr}}

/* convite / captura */
.convite{background:var(--primary);color:var(--primary-foreground)}
.convite .wrap{max-width:44rem;text-align:center;padding-block:7rem}
.convite .sec__titulo{color:var(--primary-foreground)}
.convite p.desc{margin-top:1.8rem;font-size:1rem;line-height:1.8;opacity:.8}
.convite form{margin-top:3rem;display:grid;gap:1rem}
.convite input{
  width:100%;background:transparent;border:1px solid rgba(247,240,239,.3);border-radius:.5rem;
  padding:1rem 1.2rem;font-size:.9rem;color:var(--primary-foreground);font-family:var(--sans);
}
.convite input::placeholder{color:rgba(247,240,239,.5)}
.convite input:focus{outline:none;border-color:var(--accent)}
.convite .linha2{display:grid;gap:1rem}
@media (min-width:600px){.convite .linha2{grid-template-columns:1fr 1fr}}
.convite .btn--enviar{margin-top:.4rem;border-color:var(--accent);background:var(--accent);color:var(--primary)}
.convite .btn--enviar:hover{background:transparent;color:var(--primary-foreground)}
.convite .aviso{margin-top:1rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;opacity:.55}
.convite .msg{margin-top:1rem;font-size:.85rem}

/* rodapé */
footer.rodape{border-top:1px solid var(--border)}
footer.rodape .wrap{max-width:88rem;display:flex;flex-direction:column;align-items:center;gap:1rem;padding-block:2.5rem;text-align:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.24em;opacity:.6}
footer.rodape .marca{font-family:var(--serif);font-size:.95rem;letter-spacing:.2em;opacity:1;color:var(--primary)}
@media (min-width:700px){footer.rodape .wrap{flex-direction:row;justify-content:space-between}}

/* botões flutuantes */
.flutuantes{position:fixed;right:1.3rem;bottom:1.3rem;z-index:40;display:flex;flex-direction:column;gap:.7rem;opacity:0;pointer-events:none;transform:translateY(1rem);transition:opacity .4s ease,transform .4s ease}
.flutuantes.is-visivel{opacity:1;pointer-events:auto;transform:translateY(0)}
.flutuantes a,.flutuantes button{
  width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--border);
  background:rgba(247,240,239,.85);backdrop-filter:blur(6px);color:var(--foreground);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.flutuantes svg{width:1.1rem;height:1.1rem}
