/* =========================================================
   MENTORIA CRUZADA — DESIGN SYSTEM
   Tokens, base (somente na home) e componentes compartilhados
   ========================================================= */

:root{
	--laranja:#FF6600;
	--laranja-escuro:#C64F00;
	--laranja-claro:#FFF3EA;
	--marinho:#14185C;
	--marinho-2:#21517C;
	--texto:#1F2433;
	--texto-suave:#5B6275;
	--fundo:#FFFFFF;
	--fundo-alt:#F6F5FB;
	--borda:#E4E6EE;
	--sucesso:#1E9E5A;

	--fonte-titulo:'Plus Jakarta Sans', 'Open Sans', system-ui, sans-serif;
	--fonte-texto:'Open Sans', system-ui, sans-serif;

	--raio-sm:8px;
	--raio:16px;
	--raio-lg:24px;
	--sombra-sm:0 1px 2px rgba(20,24,92,.06), 0 2px 8px rgba(20,24,92,.05);
	--sombra:0 4px 12px rgba(20,24,92,.06), 0 16px 40px rgba(20,24,92,.08);

	--container:1200px;
	--gutter:24px;
	--secao:clamp(64px, 9vw, 120px);
}

/* ---------- BASE (home) ---------- */
body.home{
	margin:0; background:var(--fundo); color:var(--texto);
	font-family:var(--fonte-texto); font-size:17px; line-height:1.6;
	-webkit-font-smoothing:antialiased;}
:where(body.home) *, :where(body.home) *::before, :where(body.home) *::after{ box-sizing:border-box;}
:where(body.home) img{ max-width:100%; height:auto; display:block;}
:where(body.home) :is(h1, h2, h3, h4){
	font-family:var(--fonte-titulo); color:var(--marinho);
	margin:0 0 16px; letter-spacing:-.02em;}
:where(body.home) h1{ font-size:clamp(2.2rem, 4.6vw, 3.6rem); line-height:1.08; font-weight:800;}
:where(body.home) h2{ font-size:clamp(1.8rem, 3.4vw, 2.6rem); line-height:1.15; font-weight:800;}
:where(body.home) h3{ font-size:1.25rem; line-height:1.3; font-weight:700;}
:where(body.home) p{ margin:0 0 16px; color:var(--texto-suave);}
:where(body.home) a{ color:inherit;}
html{ scroll-behavior:smooth; scroll-padding-top:88px;}

/* páginas antigas continuam com o layout original */
body.legado{ background:#fff; max-width:1280px; margin:auto; position:relative;}

/* ---------- LAYOUT ---------- */
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--gutter);}
.section{ padding:var(--secao) 0; clear:both;}
.section--alt{ background:var(--fundo-alt);}
.section-head{ max-width:720px; margin:0 auto 56px; text-align:center;}
.section-head p{ font-size:1.1rem;}
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 6vw, 80px); align-items:center;}

/* ---------- COMPONENTES ---------- */
.eyebrow{
	display:inline-block; margin-bottom:16px; padding:6px 12px;
	font:700 .75rem/1 var(--fonte-titulo); letter-spacing:.08em; text-transform:uppercase;
	color:var(--laranja-escuro); background:var(--laranja-claro); border-radius:999px;}
.eyebrow--escuro{ color:#fff; background:rgba(255,255,255,.12);}

.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:16px 28px; border-radius:12px; border:2px solid transparent;
	font:700 1rem/1.2 var(--fonte-titulo); text-decoration:none; cursor:pointer;
	transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;}
.btn:hover{ transform:translateY(-2px);}
.btn:focus-visible{ outline:3px solid var(--marinho); outline-offset:3px;}
.btn--primary{ background:var(--laranja); color:#fff; box-shadow:0 8px 24px rgba(255,102,0,.3);}
.btn--primary:hover{ background:var(--laranja-escuro); box-shadow:0 12px 28px rgba(255,102,0,.35);}
.btn--ghost{ background:transparent; color:var(--marinho); border-color:var(--borda);}
.btn--ghost:hover{ border-color:var(--marinho);}
.btn--block{ width:100%;}

.card{
	background:#fff; border:1px solid var(--borda); border-radius:var(--raio);
	padding:32px; box-shadow:var(--sombra-sm);}

.check-list{ list-style:none; padding:0; margin:0 0 24px;}
.check-list li{ position:relative; padding-left:32px; margin-bottom:12px; color:var(--texto);}
.check-list li::before{
	content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%;
	background:var(--laranja-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23C64F00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;}

/* ---------- HEADER ---------- */
.site-header{
	position:sticky; top:0; z-index:1000; clear:both;
	background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(12px);
	-webkit-backdrop-filter:saturate(180%) blur(12px);
	border-bottom:1px solid var(--borda); font-family:var(--fonte-texto);}
.site-header__inner{
	display:flex; align-items:center; justify-content:space-between;
	max-width:var(--container); margin:0 auto; padding:14px var(--gutter);}
.site-header__logo img{ width:150px; height:auto; display:block;}
.site-nav{ display:flex; align-items:center; gap:8px;}
.site-nav__link{
	padding:10px 14px; border-radius:8px; color:var(--texto); text-decoration:none;
	font-weight:600; font-size:.95rem; transition:color .2s, background-color .2s;}
.site-nav__link:hover{ color:var(--laranja-escuro); background:var(--laranja-claro);}
.site-nav .btn{ padding:12px 20px; margin-left:8px; font-size:.95rem;}
.site-nav__social{ display:none;}
.nav-toggle{
	display:none; width:44px; height:44px; padding:10px; border:0; background:none; cursor:pointer;}
.nav-toggle span{
	display:block; height:2px; margin:5px 0; background:var(--marinho); border-radius:2px;
	transition:transform .3s, opacity .3s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg);}

/* ---------- HERO ---------- */
.hero{
	position:relative; overflow:hidden; padding:clamp(48px, 8vw, 104px) 0;
	background:
		radial-gradient(60% 70% at 100% 0%, rgba(255,102,0,.14), transparent 70%),
		radial-gradient(50% 60% at 0% 100%, rgba(33,81,124,.08), transparent 70%),
		var(--fundo);}
.hero h1 em{ font-style:normal; color:var(--laranja);}
.hero__lead{ font-size:clamp(1.05rem, 1.6vw, 1.25rem); max-width:540px; margin-bottom:32px;}
.hero__ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px;}
.hero__provas{ display:flex; flex-wrap:wrap; gap:8px 24px; padding:0; margin:0; list-style:none;}
.hero__provas li{ display:flex; align-items:center; gap:8px; font-size:.95rem; font-weight:600; color:var(--texto);}
.hero__provas li::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--laranja);}
.hero__img img{ width:100%; filter:drop-shadow(0 24px 48px rgba(20,24,92,.18));}

/* ---------- ÁREAS (chips) ---------- */
.chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:960px; margin:0 auto;}
.chip{
	padding:10px 18px; border-radius:999px; border:1px solid #FFD2B3; background:#fff;
	color:var(--marinho); font-weight:600; font-size:.95rem; white-space:nowrap;
	opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease, background-color .2s, color .2s;}
.chip.show{ opacity:1; transform:none;}
.chip:hover{ background:var(--laranja); border-color:var(--laranja); color:#fff;}
.chip--destaque{ background:var(--marinho); border-color:var(--marinho); color:#fff;}

/* ---------- SOBRE ---------- */
.sobre__img img{ width:100%;}

/* ---------- PASSOS ---------- */
.passos{ display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; list-style:none; padding:0; margin:0;}
.passo{ position:relative; text-align:left;}
.passo__num{
	display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:20px;
	border-radius:14px; background:var(--marinho); color:#fff; font:800 1.25rem/1 var(--fonte-titulo);}
.passo:nth-child(4) .passo__num{ background:var(--laranja);}
.passo h3{ margin-bottom:8px;}
.passo p{ margin:0; font-size:.98rem;}

/* ---------- CARROSSEL / CRUZAMENTOS ---------- */
.carrossel{ position:relative;}
.carrossel__trilho{
	display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 72px) / 4); gap:24px;
	overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
	padding:8px 4px 24px; scrollbar-width:none;}
.carrossel__trilho::-webkit-scrollbar{ display:none;}
.carrossel__nav{ display:flex; justify-content:center; gap:12px; margin-top:8px;}
.carrossel__btn{
	width:48px; height:48px; border-radius:50%; border:1px solid var(--borda); background:#fff;
	color:var(--marinho); font-size:1.4rem; line-height:1; cursor:pointer; box-shadow:var(--sombra-sm);
	transition:background-color .2s, color .2s;}
.carrossel__btn:hover{ background:var(--marinho); color:#fff;}

.cruza{ scroll-snap-align:start; display:flex; flex-direction:column; padding:24px; text-align:center;}
.cruza__img{ width:78%; margin:0 auto 20px;}
.cruza .eyebrow{ align-self:center; margin-bottom:12px;}
.cruza__cat{ font-size:.95rem; color:var(--texto-suave); margin-bottom:20px; min-height:3em;}
.cruza__pessoa{
	padding:12px 14px; border-radius:12px; background:var(--fundo-alt); text-align:left; font-size:.92rem; color:var(--texto-suave);}
.cruza__pessoa strong{ display:block; color:var(--marinho); font-family:var(--fonte-titulo);}
.cruza__troca{
	width:32px; height:32px; margin:-6px auto; position:relative; z-index:1; border-radius:50%;
	display:flex; align-items:center; justify-content:center; background:var(--laranja); color:#fff;
	font-size:1rem; border:3px solid #fff;}

/* ---------- FAIXA CTA ---------- */
.faixa-cta{ background:var(--marinho); color:#fff; padding:clamp(56px, 7vw, 88px) 0; text-align:center; clear:both;}
.faixa-cta h2{ color:#fff; margin-bottom:12px;}
.faixa-cta p{ color:rgba(255,255,255,.8); max-width:560px; margin:0 auto 28px;}

/* ---------- BENEFÍCIOS ---------- */
.beneficio{ padding:40px 0;}
.beneficio + .beneficio{ border-top:1px solid var(--borda);}
.beneficio:nth-child(even) .beneficio__media{ order:2;}
.beneficio__media{
	background:linear-gradient(160deg, var(--laranja-claro), #FFE4D1); border-radius:var(--raio-lg);
	padding:clamp(24px, 4vw, 48px); display:flex; justify-content:center;}
.beneficio__media img{ max-height:400px; width:auto; border-radius:var(--raio);}
.beneficio h3{ font-size:clamp(1.5rem, 2.4vw, 2rem); line-height:1.2; font-weight:800;}

/* ---------- PLANOS ---------- */
.planos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; align-items:stretch;}
.plano{ position:relative; display:flex; flex-direction:column; text-align:left;}
.plano__nome{ font:800 1.4rem/1.2 var(--fonte-titulo); color:var(--marinho); margin-bottom:4px;}
.plano__resumo{ font-size:.95rem; margin-bottom:24px;}
.plano__preco{ font:800 2.75rem/1 var(--fonte-titulo); color:var(--marinho); margin-bottom:6px;}
.plano__preco small{ font-size:1rem; font-weight:600; color:var(--texto-suave);}
.plano__obs{ font-size:.88rem; color:var(--texto-suave); margin-bottom:24px; min-height:1.4em;}
.plano__recursos{ list-style:none; padding:24px 0 0; margin:0 0 28px; border-top:1px solid var(--borda); flex:1;}
.plano__recursos li{ display:flex; align-items:center; gap:10px; padding:7px 0; font-size:.95rem; color:var(--texto);}
.plano__recursos li::before{
	content:"✓"; flex:none; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	font-size:.75rem; font-weight:800; background:var(--laranja-claro); color:var(--laranja-escuro);}
.plano__recursos li.off{ color:#9AA0B1;}
.plano__recursos li.off::before{ content:"—"; background:var(--fundo-alt); color:#9AA0B1;}
.plano__recursos a{ margin-left:auto; color:inherit; opacity:.55; text-decoration:none; font-size:.8rem;
	width:20px; height:20px; border:1px solid currentColor; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.plano__recursos a:hover{ opacity:1;}
.plano--destaque{ border:2px solid var(--laranja); box-shadow:var(--sombra); transform:translateY(-8px);}
.plano__selo{
	position:absolute; top:-14px; left:32px; padding:6px 12px; border-radius:999px;
	background:var(--laranja); color:#fff; font:700 .75rem/1 var(--fonte-titulo); letter-spacing:.06em; text-transform:uppercase;}
.plano--escuro{ background:var(--marinho); border-color:var(--marinho);}
.plano--escuro .plano__nome, .plano--escuro .plano__preco, .plano--escuro .plano__recursos li{ color:#fff;}
.plano--escuro .plano__resumo, .plano--escuro .plano__obs, .plano--escuro .plano__preco small{ color:rgba(255,255,255,.72);}
.plano--escuro .plano__recursos{ border-color:rgba(255,255,255,.15);}
.plano--escuro .plano__recursos li::before{ background:rgba(255,255,255,.12); color:#FFB27F;}
.plano--escuro .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.3);}
.plano--escuro .btn--ghost:hover{ border-color:#fff;}

/* ---------- CADASTRO ---------- */
.cadastro{
	background:
		radial-gradient(60% 80% at 100% 0%, rgba(255,102,0,.35), transparent 60%),
		var(--marinho);
	color:#fff;}
.cadastro h2{ color:#fff;}
.cadastro p{ color:rgba(255,255,255,.8);}
.cadastro .check-list li{ color:#fff;}
.cadastro .check-list li::before{ background-color:rgba(255,255,255,.14);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23FFB27F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.oferta{
	display:flex; gap:16px; align-items:center; padding:20px; margin-bottom:28px;
	border-radius:var(--raio); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);}
.oferta__icone{
	flex:none; width:48px; height:48px; border-radius:12px; background:var(--laranja);
	display:flex; align-items:center; justify-content:center; font-size:1.4rem;}
.oferta p{ margin:0; color:#fff;}
.oferta s{ color:rgba(255,255,255,.6);}

.form-card{ background:#fff; color:var(--texto); border-radius:var(--raio-lg); padding:clamp(24px, 4vw, 40px); box-shadow:0 30px 60px rgba(0,0,0,.25);}
.form-card h3{ font-size:1.4rem; margin-bottom:6px;}
.form-card > p, .form-card form > p{ color:var(--texto-suave);}
.form-card .form-row{ margin-bottom:16px;}
.form-card label{ display:block; margin-bottom:6px; font-weight:600; font-size:.9rem; color:var(--marinho);}
.form-card label span{ font-weight:400; color:var(--texto-suave);}
.form-card .form-input{
	width:100%; padding:14px 16px; border-radius:12px; border:1px solid var(--borda); background:var(--fundo-alt);
	font:inherit; font-size:1rem; color:var(--texto); box-shadow:none; margin:0;
	transition:border-color .2s, box-shadow .2s, background-color .2s;}
.form-card .form-input::placeholder{ color:#9AA0B1; font-style:normal;}
.form-card .form-input:focus{
	outline:none; border-color:var(--laranja); background:#fff; box-shadow:0 0 0 4px rgba(255,102,0,.15);}
.form-card .form-enviar{ margin-top:8px; font-size:1.05rem; padding:18px 24px; border:0;}
.form-erro{ min-height:1.2em; margin:0 0 8px !important; color:#C62828 !important; font-size:.9rem; font-weight:600;}
.form-enviar:disabled{ opacity:.7; cursor:wait; transform:none;}
.form-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.form-privacidade{ margin:14px 0 0 !important; font-size:.82rem; text-align:center; color:var(--texto-suave) !important;}

#overlay-sucesso{
	display:none; position:fixed; inset:0; z-index:9999; padding:24px;
	background:rgba(20,24,92,.6); justify-content:center; align-items:center;}
#mensagem-sucesso{
	width:420px; max-width:100%; padding:40px 32px; border-radius:var(--raio-lg); background:#fff;
	text-align:center; box-shadow:var(--sombra); font-family:var(--fonte-texto);}
#mensagem-sucesso .sucesso__icone{ font-size:2.5rem; margin-bottom:12px;}
#mensagem-sucesso h3{ font:800 1.5rem/1.2 var(--fonte-titulo); color:var(--marinho); margin:0 0 8px;}
#mensagem-sucesso p{ color:var(--texto-suave); margin:0 0 24px;}

/* ---------- APP ---------- */
.app-cta{
	clear:both; overflow:hidden; font-family:var(--fonte-texto);
	background:linear-gradient(135deg, var(--laranja-claro), #FFE0CA);}
.app-cta .grid-2{ align-items:end;}
.app-cta__texto{ padding:clamp(56px, 8vw, 96px) 0;}
.app-cta h2{
	font:800 clamp(1.8rem, 3.4vw, 2.6rem)/1.15 var(--fonte-titulo); color:var(--marinho);
	letter-spacing:-.02em; margin:0 0 16px;}
.app-cta p{ font-size:1.05rem; line-height:1.6; color:var(--texto-suave); margin:0 0 28px;}
.app-cta .eyebrow{ background:#fff;}
.lojas{ display:flex; flex-wrap:wrap; gap:12px; align-items:center;}
.loja{ position:relative; display:block; opacity:.9;}
.loja img{ height:52px; width:auto; display:block;}
.loja__breve{
	position:absolute; top:-10px; right:-8px; padding:4px 8px; border-radius:999px;
	background:var(--marinho); color:#fff; font:700 .65rem/1 var(--fonte-titulo); letter-spacing:.04em; text-transform:uppercase;}
.app-cta__img img{ width:100%; max-width:440px; margin:0 auto -4px; display:block;}

/* ---------- FOOTER (compartilhado) ---------- */
.site-footer{
	clear:both; background:var(--fundo-alt); border-top:1px solid var(--borda);
	font-family:var(--fonte-texto); font-size:.95rem; color:var(--texto-suave); line-height:1.6;}
.site-footer__grid{
	display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:48px;
	max-width:var(--container); margin:0 auto; padding:72px var(--gutter) 48px;}
.site-footer h4{
	font:700 .8rem/1 var(--fonte-titulo); letter-spacing:.08em; text-transform:uppercase;
	color:var(--marinho); margin:0 0 16px; text-align:left;}
.site-footer p{ margin:0 0 12px; font-size:.95rem; color:var(--texto-suave); line-height:1.6;}
.site-footer a{ color:var(--texto); text-decoration:none;}
.site-footer a:hover{ color:var(--laranja-escuro);}
.site-footer__logo{ width:160px; margin-bottom:16px; display:block;}
.site-footer__selo{ width:220px; max-width:100%; margin-top:16px; display:block;}
.site-footer__contatos{ list-style:none; padding:0; margin:0;}
.site-footer__contatos li{ display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.site-footer__contatos svg{ flex:none; width:18px; height:18px; color:var(--laranja);}
.site-footer__social{ display:flex; gap:12px;}
.site-footer__social img{ width:44px; height:44px; display:block;}
.site-footer__base{
	max-width:var(--container); margin:0 auto; padding:20px var(--gutter) 32px;
	border-top:1px solid var(--borda); font-size:.85rem;}

/* ---------- ESTRUTURA PRÉ-LANÇAMENTO ---------- */
.container--estreito{ max-width:820px;}
.hero__nota{ font-size:.95rem; margin:0;}
.hero__nota strong{ color:var(--marinho);}

.passos--3{ grid-template-columns:repeat(3, 1fr);}

.beneficios{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.beneficio-card{ padding:0; overflow:hidden; display:flex; flex-direction:column;}
.beneficio-card__media{
	height:300px; padding:28px 24px 0; overflow:hidden; display:flex; justify-content:center; align-items:flex-start;
	background:linear-gradient(160deg, var(--laranja-claro), #FFE4D1);}
.beneficio-card__media img{ width:auto; max-width:100%; height:auto; border-radius:12px 12px 0 0;}
.beneficio-card h3{ margin:24px 28px 8px;}
.beneficio-card p{ margin:0 28px 28px; font-size:.98rem;}

.fundadores{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px;}
.fundador{ margin:0; text-align:center;}
.fundador img{ width:120px; height:120px; border-radius:50%; object-fit:cover; margin:0 auto 20px;}
.fundador blockquote{ margin:0 0 16px; color:var(--texto); font-style:italic;}
.fundador figcaption{ color:var(--texto-suave); font-size:.92rem;}
.fundador figcaption strong{ display:block; color:var(--marinho); font-family:var(--fonte-titulo);}

.cadastro__contador{ margin-top:8px;}
.cadastro__contador strong{ color:#FFB27F; font-size:1.2rem;}

.faq details{ border-bottom:1px solid var(--borda);}
.faq details:first-child{ border-top:1px solid var(--borda);}
.faq summary{
	list-style:none; cursor:pointer; position:relative; padding:22px 48px 22px 0;
	font:700 1.1rem/1.4 var(--fonte-titulo); color:var(--marinho);}
.faq summary::-webkit-details-marker{ display:none;}
.faq summary::after{
	content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
	width:32px; height:32px; border-radius:50%; background:var(--laranja-claro); color:var(--laranja-escuro);
	display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:600; transition:transform .2s;}
.faq details[open] summary::after{ content:"–";}
.faq summary:hover{ color:var(--laranja-escuro);}
.faq details p{ margin:0 0 22px; max-width:680px;}
.faq details a{ color:var(--laranja-escuro); font-weight:600;}

@media (max-width:1024px){
	.beneficios{ grid-template-columns:1fr; max-width:520px; margin:0 auto;}
	.passos.passos--3{ grid-template-columns:1fr; max-width:520px; margin:0 auto;}
}

/* ---------- FUNDO LARANJA (cor da logo) ---------- */
.hero, .cadastro{
	background:
		radial-gradient(70% 80% at 100% 0%, rgba(255,255,255,.18), transparent 60%),
		radial-gradient(60% 70% at 0% 100%, rgba(198,79,0,.35), transparent 70%),
		var(--laranja);
	color:var(--marinho);}

/* textos sobre o laranja: marinho para contraste */
.hero h1, .cadastro h2{ color:var(--marinho);}
.hero h1 em{ color:#fff;}
.hero .hero__lead, .hero .hero__nota, .cadastro p{ color:var(--marinho);}
.hero .eyebrow, .cadastro .eyebrow{ background:#fff; color:var(--laranja-escuro);}
.hero__img img{ filter:drop-shadow(0 24px 48px rgba(20,24,92,.3));}

/* botões sobre o laranja: marinho (principal) e branco (secundário) */
.hero .btn--primary{ background:var(--marinho); color:#fff; box-shadow:0 8px 24px rgba(20,24,92,.3);}
.hero .btn--primary:hover{ background:#0B0E3D; box-shadow:0 12px 28px rgba(20,24,92,.4);}
.hero .btn--ghost{ background:#fff; color:var(--marinho); border-color:#fff;}
.hero .btn--ghost:hover{ background:var(--laranja-claro); border-color:var(--laranja-claro);}
.hero .btn:focus-visible{ outline-color:#fff;}

/* cadastro: lista e oferta legíveis sobre o laranja */
.cadastro .check-list li{ color:var(--marinho); font-weight:600;}
.cadastro .check-list li::before{ background-color:#fff;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23C64F00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.cadastro .oferta{ background:var(--marinho); border-color:var(--marinho);}
.cadastro .oferta p{ color:#fff;}
.cadastro .oferta__icone{ background:var(--laranja);}
.cadastro__contador strong{ color:#fff;}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1024px){
	.carrossel__trilho{ grid-auto-columns:calc((100% - 24px) / 2);}
	.passos{ grid-template-columns:repeat(2, 1fr);}
	.planos{ grid-template-columns:1fr; max-width:480px; margin:0 auto;}
	.plano--destaque{ transform:none;}
}

@media (max-width:768px){
	:root{ --gutter:16px;}
	body.home{ font-size:16px;}
	.grid-2{ grid-template-columns:1fr;}
	.hero__img{ order:-1;}
	.hero__ctas .btn{ width:100%;}
	.beneficio:nth-child(even) .beneficio__media{ order:0;}
	.beneficio__media img{ max-height:320px;}
	.carrossel__trilho{ grid-auto-columns:85%;}
	.passos{ grid-template-columns:1fr;}
	.section-head{ margin-bottom:40px;}
	.app-cta__texto{ padding-bottom:0;}
	.site-footer__grid{ grid-template-columns:1fr; gap:32px; padding-top:56px;}

	.nav-toggle{ display:block;}
	.site-nav{
		position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
		padding:0 var(--gutter); background:#fff; border-bottom:1px solid var(--borda);
		max-height:0; overflow:hidden; opacity:0; transition:max-height .35s ease, opacity .25s ease, padding .35s ease;}
	.site-nav.active{ max-height:420px; opacity:1; padding:12px var(--gutter) 20px;}
	.site-nav__link{ padding:14px 4px; border-radius:0; border-bottom:1px solid var(--borda);}
	.site-nav .btn{ margin:16px 0 0;}
	.site-nav__social{ display:flex; align-items:center; gap:10px; padding-top:16px; color:var(--texto-suave); font-size:.9rem; text-decoration:none;}
	.site-nav__social img{ width:32px; height:32px;}
}

@media (prefers-reduced-motion:reduce){
	html{ scroll-behavior:auto;}
	.chip{ opacity:1; transform:none; transition:none;}
	.btn, .carrossel__trilho{ transition:none; scroll-behavior:auto;}
}
