/* Estilos abaixo da dobra (o CSS do hero está inline no <head>) */
.stack{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.stack-lg{display:flex;flex-direction:column;align-items:center;gap:40px}
.title--sm{font-size:clamp(20px,2.4vw,28px)}
.title--lg{font-size:clamp(24px,3.2vw,36px)}
.title--xl{font-size:clamp(30px,3.8vw,42px)}
.lead{font-size:18px;line-height:1.35;max-width:820px}
.lead--lg{font-size:clamp(18px,2vw,22px)}
.lead--xl{font-size:clamp(20px,2.4vw,28px);line-height:1.2;max-width:640px}
.rich{display:flex;flex-direction:column;gap:12px;font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.25}
.rich--bold{font-weight:700;font-size:clamp(17px,1.8vw,20px)}
.tagline{font-size:clamp(20px,2.2vw,26px);font-weight:700;line-height:1.3}
.tagline span{font-size:.92em}
@media (min-width:768px){.hide-d{display:none}}
@media (max-width:767px){.hide-m{display:none}}

/* Seções e fundos */
section{padding:80px 0 100px}
.s-pronto{padding:80px 0 120px;background:linear-gradient(180deg,rgba(43,35,116,.61) 28%,rgba(127,60,234,.6) 100%),#fff}
.s-pronto.is-visible{background:linear-gradient(180deg,rgba(43,35,116,.61) 28%,rgba(127,60,234,.6) 100%),#fff url(../img/bg-especialista.webp) center/cover no-repeat}
.s-graduacao{background:linear-gradient(180deg,#B28AF2 0%,var(--purple) 100%);padding:120px 0}
.s-intensivao{background:linear-gradient(180deg,var(--purple) 0%,#8990FD 100%)}
.s-conteudo{background:linear-gradient(180deg,#8990FD 0%,var(--blue) 100%)}
.s-publico{background:linear-gradient(180deg,var(--blue) 0%,rgba(43,35,116,.99) 100%);padding:30px 0 60px}
.s-idealizadores{background:var(--navy);padding:60px 0}
.s-idealizadores.is-visible{background:linear-gradient(rgba(43,35,116,.88),rgba(43,35,116,.88)),var(--navy) url(../img/bg-idealizadores.webp) center/cover no-repeat}
.s-aulas{background:linear-gradient(180deg,var(--navy) 0%,var(--purple) 100%);padding:150px 0}
.s-oferta{background:var(--purple)}
.s-garantia{background:linear-gradient(180deg,var(--purple) 0%,var(--blue) 100%);padding:150px 0 100px}
.s-final{background:linear-gradient(180deg,var(--blue) 0%,var(--navy) 100%);padding:120px 0 200px}
@media (max-width:767px){
  section,.s-pronto,.s-graduacao,.s-aulas,.s-garantia{padding:60px 0}
  .s-final{padding:60px 0 100px}
  .s-publico{padding:30px 0 60px}
}
.site-footer{background:var(--navy);padding:50px 0;font-size:18px}
.footer__logo{width:26%;min-width:220px}

/* Cards brancos */
.card{background:#fff;color:var(--text);border-radius:15px;box-shadow:0 0 10px rgba(0,0,0,.5);padding:40px 30px;margin:0 auto}
.card--narrow{width:100%;max-width:720px}
.card--bordered{border:6px solid var(--bd,var(--green))}
.card__strong{font-size:clamp(18px,2.2vw,24px);font-weight:800;line-height:1.2}
.s-aulas .card__strong{font-weight:700;font-size:clamp(18px,2vw,22px)}
.title--blue{color:var(--blue)}

/* Layout em duas colunas */
.split{display:flex;flex-direction:column;align-items:center;gap:30px}
.split__media{width:100%;max-width:420px}
.split__media img{margin:0 auto;max-width:440px;width:100%}
.split__text{width:100%}
@media (min-width:768px){
  .split{flex-direction:row}
  .split--reverse{flex-direction:row-reverse}
  .split__media,.split__text{flex:1 1 50%;max-width:none}
}

/* Listas com ícone */
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left;font-size:clamp(17px,1.8vw,20px);font-weight:500;line-height:1.35;--ic:#fff}
.checklist li{display:flex;gap:10px;align-items:flex-start}
.checklist li::before{content:"";flex:0 0 1.05em;height:1.05em;margin-top:.15em;background:var(--ic);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 8a248 248 0 1 0 0 496 248 248 0 1 0 0-496zM227 376 91 240l39-39 97 97 155-155 39 39z'/%3E%3C/svg%3E")}
.checklist--navy{--ic:var(--navy)}
.checklist--green{--ic:var(--green)}
.checklist--purple{--ic:var(--purple)}
.checklist--red{--ic:var(--red)}
.checklist--red li::before{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 8a248 248 0 1 0 0 496 248 248 0 1 0 0-496zM168 140l88 88 88-88 28 28-88 88 88 88-28 28-88-88-88 88-28-28 88-88-88-88z'/%3E%3C/svg%3E")}
.checklist--dark{color:var(--text);font-weight:600}
.checklist--sm{font-size:15px;font-weight:500;gap:6px;color:#000}
.s-publico .checklist{max-width:520px}

/* Idealizadores */
.idealizadores__img{width:40%;min-width:280px;max-width:440px}

/* Planos / preço */
.plans{display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;scroll-margin-top:20px}
.plan{width:100%;max-width:340px;background:#fff;border-radius:15px;box-shadow:0 0 10px rgba(0,0,0,.5);overflow:hidden;display:flex;flex-direction:column}
.plan__head,.plan__foot{background:var(--navy);font-family:var(--heading);font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.4vw,28px);line-height:1.2;padding:16px 10px;text-align:center}
.plan__head h3{font:inherit}
.plan__body{flex:1;display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px 20px 30px;color:#000;text-align:center}
.plan__badge{font-family:var(--heading);font-size:clamp(34px,3.8vw,42px);line-height:1.3;text-transform:uppercase}
.plan__price{width:75%}
.plan__desc{font-size:18px;line-height:1.3}
.btn--cta{font-weight:700;margin-top:auto}
@media (min-width:768px){
  .plans{flex-direction:row;justify-content:center;align-items:stretch}
}

/* Garantia */
.garantia{display:flex;flex-direction:column;align-items:center;max-width:900px}
.garantia__selo{width:80%;max-width:300px;position:relative;z-index:1;margin-bottom:-90px}
.garantia__card{width:100%;padding:110px 24px 30px;border-radius:15px;background:linear-gradient(180deg,var(--navy) 0%,var(--purple) 100%);box-shadow:0 0 10px rgba(0,0,0,.5)}
@media (min-width:768px){
  .garantia{flex-direction:row}
  .garantia__selo{width:32%;max-width:none;margin:0 -43px 0 0;flex:none}
  .garantia__card{flex:1;padding:30px 30px 30px 70px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
