:root{
    --red:#C1121F;
    --red-dim:#8F0E17;
    --white:#FFFFFF;
    --black:#0B0B0B;
    --paper:#F7F5EF;
    --maxw: 760px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', sans-serif;
    background:#000;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Bricolage Grotesque', sans-serif;
    font-weight:800;
    letter-spacing:-0.01em;
    line-height:1.05;
    color: var(--fg-strong);
  }
  p, span, li, div{ color: inherit; }
  a{color:inherit;}
  .wrap{
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 28px;
  }
  section, footer{ padding: 88px 0; }

  /* THEME: dark fold (preto degrade) */
  .dark{
    background: linear-gradient(150deg, #000000 0%, #161616 55%, #000000 100%);
    color: var(--fg);
    --fg: rgba(255,255,255,0.86);
    --fg-strong: #FFFFFF;
    --fg-muted: rgba(255,255,255,0.68);
    --line-c: rgba(255,255,255,0.16);
    --card-bg: #0c0c0c;
    --card-border: rgba(255,255,255,0.14);
    --num-c: var(--red);
  }

  /* THEME: light fold (branco) */
  .light{
    background: var(--paper);
    color: var(--fg);
    --fg: rgba(11,11,11,0.88);
    --fg-strong: #0B0B0B;
    --fg-muted: rgba(11,11,11,0.65);
    --line-c: rgba(11,11,11,0.15);
    --card-bg: #FFFFFF;
    --card-border: rgba(11,11,11,0.14);
    --num-c: var(--red);
  }

  .kicker{
    display:inline-block;
    color: var(--red);
    font-weight:600;
    font-size:0.95rem;
    margin-bottom:18px;
  }

  /* HERO */
  .hero{
    padding: 110px 0 90px;
    border-bottom: 1px solid var(--line-c);
  }
  .hero h1{
    font-size: clamp(2.1rem, 5.2vw, 3.4rem);
    max-width: 12ch;
  }
  .hero .sub{
    margin-top:26px;
    font-size:1.15rem;
    max-width: 58ch;
    color: var(--fg-muted);
  }
  .hero .meta-line{
    margin-top:36px;
    display:flex;
    gap:28px;
    flex-wrap:wrap;
    font-size:0.92rem;
    color: var(--fg-muted);
  }
  .meta-line span{ border-left:2px solid var(--red); padding-left:10px; }

  .btn{
    display:inline-block;
    background:var(--red);
    color:#FFFFFF;
    font-weight:600;
    font-size:1.02rem;
    padding:16px 30px;
    border:none;
    border-radius:2px;
    text-decoration:none;
    cursor:pointer;
    margin-top:38px;
  }
  .btn:hover{ background:var(--red-dim); }
  .btn-note{
    display:block;
    margin-top:10px;
    font-size:0.85rem;
    color: var(--fg-muted);
  }

  /* PAIN / PILARES */
  .pilares-list{ margin-top:44px; }
  .pilar-row{
    display:grid;
    grid-template-columns: 52px 1fr;
    gap: 22px;
    padding: 26px 0;
    border-top: 1px solid var(--line-c);
  }
  .pilar-row:last-child{ border-bottom: 1px solid var(--line-c); }
  .pilar-num{
    font-family:'Bricolage Grotesque', sans-serif;
    font-weight:800;
    font-size:1.3rem;
    color: var(--red);
  }
  .pilar-row h3{ font-size:1.15rem; margin-bottom:6px; color:var(--fg-strong); }
  .pilar-row p{ color: var(--fg-muted); font-size:0.98rem; }

  /* REMAR TIMELINE */
  .remar-wrap{ position:relative; margin-top:50px; padding-left: 34px; }
  .remar-wrap::before{
    content:"";
    position:absolute;
    left:9px; top:8px; bottom:8px;
    width:2px;
    background: var(--red);
    opacity:0.5;
  }
  .remar-step{ position:relative; padding-bottom:38px; }
  .remar-step:last-child{ padding-bottom:0; }
  .remar-dot{
    position:absolute;
    left:-34px; top:2px;
    width:20px; height:20px;
    border-radius:50%;
    background: var(--card-bg);
    border:2px solid var(--red);
  }
  .remar-step h3{ font-size:1.08rem; margin-bottom:4px; color:var(--fg-strong); }
  .remar-step .step-label{
    font-size:0.8rem;
    color:var(--red);
    font-weight:600;
    margin-bottom:2px;
    display:block;
  }
  .remar-step p{ color: var(--fg-muted); font-size:0.96rem; }

  /* ESTRUTURA */
  .estrutura-grid{
    margin-top:40px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 32px;
  }
  .estrutura-item{
    border-top: 1px solid var(--line-c);
    padding-top:16px;
  }
  .estrutura-item .num{ color:var(--red); font-weight:600; font-size:0.85rem; }
  .estrutura-item h3{ font-size:1.02rem; margin: 6px 0 6px; color:var(--fg-strong); }
  .estrutura-item p{ color:var(--fg-muted); font-size:0.92rem; }

  /* MENTOR */
  .mentor-block-2{
    display:grid;
    grid-template-columns: 240px 1fr;
    gap: 44px;
    margin-top: 40px;
    align-items:start;
  }
  .mentor-photo-real{
    width:100%;
    border-radius: 2px;
    border: 1px solid var(--red);
    display:block;
  }
  .mentor-text-2 h3{ font-size:1.3rem; margin-bottom:12px; color: var(--fg-strong); }
  .mentor-text-2 p{ margin-bottom:14px; font-size:0.98rem; color: var(--fg-muted); }
  .cred-list{
    margin-top: 18px;
    list-style:none;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 18px;
  }
  .cred-list li{
    font-size:0.85rem;
    color: var(--fg-muted);
    padding-left:14px;
    position:relative;
  }
  .cred-list li::before{
    content:"\2014";
    position:absolute; left:0; color:var(--red);
  }
  .stats-strip{
    margin-top: 46px;
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    border-top: 1px solid var(--line-c);
    padding-top: 30px;
  }
  .stat-item{ text-align:left; }
  .stat-num{
    font-family:'Bricolage Grotesque', sans-serif;
    font-weight:800;
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    color: var(--red);
    line-height:1;
  }
  .stat-label{
    font-size:0.78rem;
    color: var(--fg-muted);
    margin-top:6px;
  }
  .cert-line{
    margin-top: 26px;
    font-size: 0.82rem;
    color: var(--fg-muted);
  }

  /* PROVA SOCIAL */
  .wa-grid{
    margin-top: 40px;
    display:grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
  }
  .wa-card{
    border: 1px solid var(--card-border);
    overflow:hidden;
    border-radius: 3px;
    background: var(--card-bg);
  }
  .wa-card img{ width:100%; display:block; }

  /* OFERTA */
  .oferta{
    background: #FFFFFF;
    color: var(--black);
    padding: 60px 40px;
    margin-top: 46px;
    border: 2px solid #FFFFFF;
  }
  .oferta .kicker{ color:var(--red); }
  .price-old{
    text-decoration: line-through;
    color:#6b6b6b;
    font-size:1.1rem;
  }
  .price-new{
    font-family:'Bricolage Grotesque', sans-serif;
    font-weight:800;
    font-size: clamp(2rem, 5vw, 2.6rem);
    margin: 6px 0 2px;
    color: var(--black);
  }
  .price-alt{ font-size:1rem; color:#333; margin-bottom:22px; }
  .oferta ul{ list-style:none; margin: 22px 0 30px; }
  .oferta ul li{
    padding: 10px 0;
    border-top: 1px solid #e2ddd0;
    font-size:0.97rem;
    color:#1a1a1a;
  }
  .oferta .btn{ background:var(--red); color:#fff; }
  .oferta .btn:hover{ background:var(--red-dim); }
  .oferta .btn-note{ color:#555; }

  /* FAQ */
  .faq-item{
    border-top: 1px solid var(--line-c);
    padding: 20px 0;
  }
  .faq-item h3{ font-size:1rem; margin-bottom:8px; color:var(--fg-strong); }
  .faq-item p{ color:var(--fg-muted); font-size:0.94rem; }

  /* FINAL CTA */
  .final-cta{ text-align:left; }
  .final-cta h2{ font-size: clamp(1.7rem, 4vw, 2.4rem); max-width: 16ch; }

  footer{
    padding: 40px 0 60px;
    font-size:0.82rem;
    color: var(--fg-muted);
  }

  @media (max-width: 900px){
    .stats-strip{ grid-template-columns: repeat(2,1fr); row-gap:26px; }
    .wa-grid{ grid-template-columns: repeat(3,1fr); }
  }
  @media (max-width: 620px){
    .mentor-block-2{ grid-template-columns: 1fr; }
    .mentor-photo-real{ max-width: 220px; }
    .estrutura-grid{ grid-template-columns: 1fr; }
    .wa-grid{ grid-template-columns: repeat(2,1fr); }
    section, footer{ padding: 60px 0; }
    .oferta{ padding: 40px 22px; }
  }

/* Entrada única do hero (controlada via script.js) */
.hero > .wrap > *{
  opacity: 0;
  transform: translateY(14px);
}
.hero.is-ready > .wrap > *{
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.hero.is-ready > .wrap > *:nth-child(1){ transition-delay: 0s; }
.hero.is-ready > .wrap > *:nth-child(2){ transition-delay: 0.08s; }
.hero.is-ready > .wrap > *:nth-child(3){ transition-delay: 0.16s; }
.hero.is-ready > .wrap > *:nth-child(4){ transition-delay: 0.24s; }
.hero.is-ready > .wrap > *:nth-child(5){ transition-delay: 0.30s; }
