/* Ajustes funcionais sobre a folha visual original. */
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
select.age-select{font-family:inherit;appearance:auto;padding-right:10px;cursor:pointer}
select:focus-visible{outline:3px solid #3072ed;outline-offset:3px}
.consent-checkbox{appearance:auto;accent-color:var(--blue);cursor:pointer;min-height:17px}
.privacy-link{text-decoration:underline;text-underline-offset:2px}
#form-status:not([hidden]){margin-block:16px}
#form-status:focus{outline:2px solid #3072ed;outline-offset:4px}
.interest-tag{color:var(--navy)}
.interest-tag button{font-size:1.4rem}
.success-check{font-size:2rem;color:var(--blue);background:#edf2ff;border-radius:50%;width:64px;height:64px;display:grid;place-items:center}
dialog{box-sizing:border-box;margin:auto;border:1px solid var(--border);border-radius:16px;padding:36px;max-width:560px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;color:var(--navy);background:#fff;box-shadow:0 24px 80px #11265333}
dialog::backdrop{background:#0b193c99}
dialog h2{font-size:1.6rem;margin:0 32px 12px 0}
dialog p,.privacy-page p{margin-bottom:18px;color:var(--body);font-size:1rem}
dialog .privacy-subtitle{font-weight:700;color:var(--navy)}
.dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;width:40px;height:40px;font-size:1.8rem}
.privacy-page{max-width:850px;padding-block:48px}
.privacy-page h1{font-size:clamp(2rem,6vw,3rem);margin-block:40px 24px;line-height:1.15}
.privacy-page .button{margin-top:16px}
.privacy-page .brand{display:inline-block}
@media(max-width:620px){dialog{padding:28px 22px}dialog h2{font-size:1.4rem}}

/* Nova copy: a faixa acompanha o texto e mantém os ícones originais. */
.hero-copy,.hero-visual,.form-field,.course-card{min-width:0}
.hero-copy h1{font-size:clamp(2.5rem,4.15vw,3.65rem);line-height:1.12;text-wrap:balance}
.hero-copy h1 .highlight{box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-benefits{margin-top:25px;background:transparent;border:0}
.hero-benefits .benefit-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px 12px;padding:18px 0;border-top:1px solid #dce2ed;border-bottom:1px solid #dce2ed}
.hero-benefits .benefit-inner>span{justify-content:flex-start;gap:9px;border:0;font-size:.875rem;line-height:1.45;min-width:0}
.hero-benefits .benefit-inner svg{width:20px;height:20px}
.hero-copy .hero-cta{max-width:100%;min-width:0;font-size:.9rem;margin-top:25px}
.hero-grid{padding-block:64px 72px}
.benefit-icon:empty{background:transparent}
@media(min-width:621px) and (max-width:900px){
 .hero-grid{grid-template-columns:1fr 1fr;gap:28px}
 .hero-copy h1{font-size:clamp(2rem,4.3vw,2.8rem)}
 .hero-benefits .benefit-inner{grid-template-columns:1fr;gap:12px}
 .hero-visual{align-self:center}
}
@media(max-width:620px){
 .hero-grid{padding-block:35px 56px;gap:48px}
 .hero-copy h1{font-size:clamp(2rem,8.3vw,3.1rem);line-height:1.14}
 .hero-lead{font-size:1rem}
 .hero-benefits{margin-top:22px}
 .hero-benefits .benefit-inner{gap:16px 10px}
 .hero-benefits .benefit-inner>span{font-size:.875rem;align-items:flex-start}
 .hero-benefits .benefit-inner svg{margin-top:1px;width:18px;height:18px}
 .hero-copy .hero-cta{width:100%;padding-inline:12px;min-height:54px;font-size:.875rem}
 .hero-note{line-height:1.6}
}
@media(max-width:360px){
 .header-inner{gap:10px}
 .header-inner .brand-logo{width:130px}
 .header-inner .brand-unit{margin-left:40px;font-size:.42rem}
 .header-inner .button-small{font-size:.69rem;padding-inline:10px}
 .hero-benefits .benefit-inner{grid-template-columns:1fr}
}
