/*
Theme Name: Interpsy
Template: hello-elementor
Description: Tema da Interpsy Desenvolvimento Humano (filho do Hello Elementor). Feito pela Echosis.
Version: 1.0.0
Text Domain: interpsy
*/

:root {
	--tinta: #142b33;
	--texto: #33464d;
	--suave: #5f7279;
	--verde: #0f8a7e;
	--verde-escuro: #0a6159;
	--verde-claro: #d8f4ef;
	--azul: #1673a8;
	--areia: #fff6ee;
	--areia-forte: #ffe1c7;
	--terra: #f2643f;
	--sol: #ffc23d;
	--linha: #ecdfd2;
	--degrade: linear-gradient(135deg, #0f8a7e 0%, #1673a8 100%);
	--branco: #fff;
	--raio: 18px;
	--sombra: 0 18px 50px rgba(31, 42, 46, .08);
	--serifa: "Fraunces", Georgia, serif;
	--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: var(--texto); background: var(--branco); font-size: 17px; line-height: 1.65; margin: 0; }
a { color: var(--verde); }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--serifa); color: var(--tinta); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.page-header, .entry-title { display: none; } /* o título vem dentro de cada página */
body.ip-livre .site-main, body.ip-livre .page-content { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body:not(.ip-livre) .site-main { padding-top: 40px; padding-bottom: 64px; }

/* ===== topo ===== */
.ip-topo { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
.admin-bar .ip-topo { top: 32px; }
.ip-topo .cx { max-width: 1180px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; gap: 24px; }
.ip-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tinta); margin-right: auto; }
.ip-marca .simbolo { width: 38px; height: 38px; border-radius: 50%; background: var(--verde); color: #fff; display: grid; place-items: center; font-family: var(--serifa); font-size: 1.25rem; }
.ip-marca b { font-family: var(--serifa); font-size: 1.3rem; font-weight: 600; display: block; line-height: 1; }
.ip-marca small { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--suave); }
.ip-menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.ip-menu li { position: relative; }
.ip-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--tinta); text-decoration: none; font-size: .93rem; font-weight: 500; }
.ip-menu a:hover, .ip-menu .current-menu-item > a, .ip-menu .current-menu-ancestor > a { background: var(--verde-claro); color: var(--verde-escuro); }
.ip-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 240px; background: #fff; border: 1px solid var(--linha); border-radius: 14px; box-shadow: var(--sombra); padding: 8px; flex-direction: column; }
.ip-menu li:hover > .sub-menu, .ip-menu li:focus-within > .sub-menu { display: flex; }
.ip-menu .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); margin: 0 0 3px 8px; }
.ip-aluno { white-space: nowrap; text-decoration: none; font-size: .9rem; font-weight: 600; color: var(--verde-escuro); border: 1.5px solid var(--verde); border-radius: 99px; padding: 9px 16px; }
.ip-aluno:hover { background: var(--verde); color: #fff; }
.ip-abrir { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.ip-abrir span { display: block; width: 24px; height: 2px; background: var(--tinta); margin: 5px 0; }

@media (max-width: 1020px) {
	.ip-abrir { display: block; order: 3; }
	.ip-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--linha); padding: 8px 16px 18px; max-height: 75vh; overflow-y: auto; }
	.ip-topo.aberto .ip-menu { display: block; }
	.ip-menu ul { flex-direction: column; }
	.ip-menu .sub-menu { display: flex; position: static; box-shadow: none; border: 0; padding: 0 0 0 14px; min-width: 0; }
	.ip-menu .menu-item-has-children > a::after { display: none; }
	.ip-aluno { padding: 8px 12px; font-size: .82rem; }
	.ip-topo .cx { gap: 10px; padding: 12px 16px; }
	.ip-abrir { border: 0 !important; border-radius: 8px; padding: 6px !important; margin: 0; flex: none; }
}
@media (max-width: 480px) {
	.ip-marca small { display: none; }
	.ip-marca .simbolo { width: 34px; height: 34px; }
}

/* ===== blocos das páginas ===== */
.ip { --gap: clamp(56px, 8vw, 104px); }
.ip .cx { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.ip .faixa { padding: var(--gap) 0; }
.ip .faixa.areia { background: var(--areia); }
.ip .faixa.verde { background: var(--degrade); color: #e6f6f3; position: relative; overflow: hidden; }
.ip .faixa.verde::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -160px; top: -200px; background: radial-gradient(circle, rgba(255, 194, 61, .35), transparent 70%); pointer-events: none; }
.ip .faixa.verde .cx { position: relative; }
.ip .faixa.verde h2, .ip .faixa.verde h3 { color: #fff; }
.ip .selo { display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--terra); margin-bottom: 14px; }
.ip .faixa.verde .selo { color: var(--sol); }
.ip .destaque { background: linear-gradient(120deg, var(--terra), #ff8a3d 60%, var(--sol)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ip .faixa.verde .destaque { background: none; color: var(--sol); }
.ip h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); margin: 0 0 20px; }
.ip h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); margin: 0 0 16px; }
.ip h3 { font-size: 1.3rem; margin: 0 0 8px; }
.ip .lead { font-size: 1.15rem; color: var(--suave); max-width: 640px; }
.ip .centro { text-align: center; }
.ip .centro .lead { margin-left: auto; margin-right: auto; }
.ip .cabeca { margin-bottom: 44px; }

.ip .botao { display: inline-flex; align-items: center; gap: 8px; background: var(--verde); color: #fff; text-decoration: none; font-weight: 600; padding: 15px 26px; border-radius: 99px; border: 2px solid var(--verde); transition: background .2s, transform .2s; }
.ip .botao:hover { background: var(--verde-escuro); transform: translateY(-1px); color: #fff; }
.ip .botao.claro { background: transparent; color: var(--verde-escuro); }
.ip .botao.claro:hover { background: var(--verde-claro); }
.ip .botao.terra { background: var(--terra); border-color: var(--terra); }
.ip .botao.terra { box-shadow: 0 12px 28px rgba(242, 100, 63, .35); }
.ip .botao.terra:hover { background: #db4f2b; border-color: #db4f2b; box-shadow: 0 16px 34px rgba(242, 100, 63, .45); }
.ip .botao.pulsa { animation: ip-pulsa 2.4s ease-in-out infinite; }
@keyframes ip-pulsa { 0%, 100% { box-shadow: 0 12px 28px rgba(242, 100, 63, .35), 0 0 0 0 rgba(242, 100, 63, .45); } 50% { box-shadow: 0 12px 28px rgba(242, 100, 63, .35), 0 0 0 14px rgba(242, 100, 63, 0); } }
.ip .botoes { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }

/* herói */
.ip .heroi { position: relative; overflow: hidden; padding: clamp(56px, 9vw, 120px) 0; background: radial-gradient(ellipse at 90% 0%, rgba(15, 138, 126, .22), transparent 55%), radial-gradient(ellipse at 0% 100%, rgba(255, 194, 61, .32), transparent 50%), radial-gradient(ellipse at 45% 60%, rgba(242, 100, 63, .10), transparent 45%), var(--areia); }
.ip .heroi .grade2 { align-items: center; }

/* foto com forma orgânica que "respira" e selos flutuando (efeito de movimento) */
.ip .arte { position: relative; max-width: 520px; margin-left: auto; width: 100%; }
.ip .arte .forma { position: absolute; inset: -6% -8% -8% -6%; background: var(--degrade); border-radius: 58% 42% 46% 54% / 50% 56% 44% 50%; animation: ip-respira 12s ease-in-out infinite; opacity: .95; }
.ip .arte .forma.b { inset: auto -10% -12% auto; width: 46%; aspect-ratio: 1; background: linear-gradient(135deg, var(--sol), var(--terra)); animation-duration: 9s; animation-direction: reverse; opacity: .9; }
.ip .arte .foto { position: relative; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; overflow: hidden; aspect-ratio: 1; box-shadow: 0 30px 70px rgba(20, 43, 51, .25); border: 6px solid #fff; }
.ip .arte .foto img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.04); transition: transform 6s ease; }
.ip .arte:hover .foto img { transform: scale(1.12); }
.ip .arte .selo-flutua { position: absolute; z-index: 2; background: #fff; border-radius: 16px; padding: 12px 16px; box-shadow: 0 18px 40px rgba(20, 43, 51, .18); display: flex; align-items: center; gap: 10px; font-size: .86rem; font-weight: 600; color: var(--tinta); animation: ip-flutua 5s ease-in-out infinite; }
.ip .arte .selo-flutua b { font-family: var(--serifa); font-size: 1.6rem; color: var(--terra); line-height: 1; }
.ip .arte .selo-flutua i { width: 34px; height: 34px; border-radius: 10px; background: var(--verde-claro); color: var(--verde); display: grid; place-items: center; font-style: normal; }
.ip .arte .s1 { left: -8%; top: 12%; }
.ip .arte .s2 { right: -6%; bottom: 10%; animation-delay: -2.5s; }
@keyframes ip-respira { 0%, 100% { border-radius: 58% 42% 46% 54% / 50% 56% 44% 50%; transform: rotate(0deg); } 50% { border-radius: 42% 58% 60% 40% / 58% 42% 58% 42%; transform: rotate(8deg); } }
@keyframes ip-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@media (max-width: 960px) { .ip .arte .s1 { left: 0; } .ip .arte .s2 { right: 0; } }

/* foto lateral das páginas internas */
.ip .foto-lado { position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 30px 70px rgba(20, 43, 51, .2); }
.ip .foto-lado img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.ip .foto-lado:hover img { transform: scale(1.06); }
.ip .foto-lado::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(transparent, rgba(15, 138, 126, .35)); }

/* faixa com foto de fundo e efeito parallax (como o "efeito de movimento" do Elementor) */
.ip .faixa.foto-fundo { position: relative; color: #fff; background-size: cover; background-position: center; background-attachment: fixed; }
.ip .faixa.foto-fundo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10, 80, 74, .86) 0%, rgba(15, 138, 126, .6) 45%, rgba(22, 115, 168, .18) 100%); }
.ip .faixa.foto-fundo.centro-escuro::before { background: radial-gradient(ellipse at center, rgba(20, 30, 40, .55), rgba(20, 30, 40, .15) 75%); }
.ip .faixa.foto-fundo .cx { position: relative; }
.ip .faixa.foto-fundo h2, .ip .faixa.foto-fundo h3 { color: #fff; }
.ip .faixa.foto-fundo .lead { color: #e8f6f3; }
@media (hover: none), (max-width: 960px) { .ip .faixa.foto-fundo { background-attachment: scroll; } }

.ip .grade2 { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 80px); }
.ip .grade3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ip .grade4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 960px) { .ip .grade2, .ip .grade3 { grid-template-columns: 1fr; } .ip .grade4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ip .arte { max-width: 340px; margin: 0 auto; } }
@media (max-width: 560px) { .ip .grade4 { grid-template-columns: 1fr; } }

.ip .cartao { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.ip .cartao p { margin: 0 0 14px; }
.ip .cartao .mais { margin-top: auto; font-weight: 600; text-decoration: none; }
.ip .icone { width: 48px; height: 48px; border-radius: 14px; background: var(--verde-claro); color: var(--verde); display: grid; place-items: center; margin-bottom: 18px; }
.ip .icone svg { width: 24px; height: 24px; }

.ip .lista-check { list-style: none; padding: 0; margin: 0; }
.ip .lista-check li { position: relative; padding-left: 32px; margin-bottom: 12px; }
.ip .lista-check li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--verde-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232f5d55' stroke-width='3' d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/13px no-repeat; }
.ip .faixa.verde .lista-check li::before { background-color: rgba(255, 255, 255, .15); }

.ip .chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ip .chip { background: #fff; border: 1px solid var(--linha); border-radius: 99px; padding: 8px 16px; font-size: .9rem; font-weight: 500; color: var(--tinta); }
.ip .faixa.verde .chip { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .2); color: #fff; }

.ip .valores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ip .valores div { background: #fff; border-radius: 14px; padding: 18px; border: 1px solid var(--linha); font-weight: 600; color: var(--tinta); }
@media (max-width: 760px) { .ip .valores { grid-template-columns: 1fr 1fr; } }

.ip .numero { font-family: var(--serifa); font-size: 2.6rem; color: var(--terra); line-height: 1; }

/* curso */
.ip .modulos details { background: #fff; border: 1px solid var(--linha); border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
.ip .modulos summary { cursor: pointer; list-style: none; padding: 20px 56px 20px 22px; position: relative; font-weight: 600; color: var(--tinta); display: flex; gap: 16px; align-items: baseline; }
.ip .modulos summary::-webkit-details-marker { display: none; }
.ip .modulos summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--verde); font-weight: 400; }
.ip .modulos details[open] summary::after { content: "–"; }
.ip .modulos summary small { color: var(--terra); font-weight: 700; letter-spacing: .1em; font-size: .72rem; white-space: nowrap; }
.ip .modulos .dentro { padding: 0 22px 20px 22px; color: var(--suave); }
.ip .modulos .dentro ul { margin: 8px 0 0; padding-left: 18px; }

.ip .passos { counter-reset: passo; }
.ip .passo { position: relative; padding-top: 8px; }
.ip .passo::before { counter-increment: passo; content: counter(passo); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--terra); color: #fff; font-family: var(--serifa); font-size: 1.2rem; margin-bottom: 16px; }

.ip .oferta { background: #fff; color: var(--texto); border-radius: 24px; padding: clamp(28px, 4vw, 44px); box-shadow: 0 30px 80px rgba(0, 0, 0, .18); max-width: 560px; margin: 0 auto; text-align: center; }
.ip .oferta .de { color: var(--suave); font-size: .95rem; }
.ip .oferta .preco { font-family: var(--serifa); font-size: clamp(2.6rem, 6vw, 3.6rem); color: var(--tinta); line-height: 1.1; margin: 6px 0; }
.ip .oferta .preco small { font-size: 1rem; font-family: var(--sans); color: var(--suave); }
.ip .oferta .lista-check { text-align: left; margin: 22px 0; }
.ip .oferta .botao { width: 100%; justify-content: center; font-size: 1.05rem; }
.ip .oferta .seguro { font-size: .82rem; color: var(--suave); margin-top: 14px; }
.ip .aviso-preco { display: inline-block; background: #fff4e5; color: #8a5a00; border-radius: 8px; font-size: .78rem; padding: 4px 10px; margin-bottom: 10px; }

.ip .garantia { display: flex; gap: 22px; align-items: center; max-width: 760px; margin: 0 auto; }
.ip .garantia .selo-g { flex: none; width: 110px; height: 110px; border-radius: 50%; border: 3px solid var(--terra); display: grid; place-items: center; text-align: center; font-family: var(--serifa); color: var(--terra); font-size: .95rem; line-height: 1.1; }
.ip .garantia .selo-g b { display: block; font-size: 2.2rem; }
@media (max-width: 600px) { .ip .garantia { flex-direction: column; text-align: center; } }

.ip .perguntas details { border-bottom: 1px solid var(--linha); }
.ip .perguntas summary { cursor: pointer; padding: 20px 40px 20px 0; font-weight: 600; color: var(--tinta); position: relative; list-style: none; }
.ip .perguntas summary::-webkit-details-marker { display: none; }
.ip .perguntas summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-size: 1.4rem; color: var(--verde); }
.ip .perguntas details[open] summary::after { content: "–"; }
.ip .perguntas details p { margin: 0 0 20px; color: var(--suave); }

.ip .cuidado { background: var(--areia); border-left: 4px solid var(--terra); border-radius: 12px; padding: 20px 22px; font-size: .95rem; }

.ip .citacao { font-family: var(--serifa); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.35; color: var(--tinta); font-style: italic; max-width: 860px; margin: 0 auto; text-align: center; }
.ip .citacao cite { display: block; font-family: var(--sans); font-style: normal; font-size: .9rem; color: var(--suave); margin-top: 16px; }

.ip .perfil { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: center; }
.ip .perfil .foto { aspect-ratio: 4/5; border-radius: 24px; background: linear-gradient(160deg, var(--verde-claro), var(--areia-forte)); display: grid; place-items: center; color: var(--suave); font-size: .85rem; text-align: center; padding: 20px; border: 1px dashed #cbbfae; }
@media (max-width: 800px) { .ip .perfil { grid-template-columns: 1fr; } .ip .perfil .foto { max-width: 260px; } }

.ip .contato-linhas p { margin: 0 0 10px; }
.ip .contato-linhas b { color: var(--tinta); }

/* ===== rodapé ===== */
.ip-rodape { background: var(--tinta); color: #b9c4c4; font-size: .93rem; }
.ip-rodape .cx { max-width: 1180px; margin: 0 auto; padding: 64px 20px 28px; }
.ip-rodape .colunas { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 36px; }
.ip-rodape h4 { color: #fff; font-family: var(--sans); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; }
.ip-rodape a { color: #dfe7e6; text-decoration: none; }
.ip-rodape a:hover { color: #fff; text-decoration: underline; }
.ip-rodape ul { list-style: none; padding: 0; margin: 0; }
.ip-rodape li { margin-bottom: 8px; }
.ip-rodape .marca { font-family: var(--serifa); color: #fff; font-size: 1.5rem; margin-bottom: 10px; }
.ip-rodape .apoio { margin-top: 40px; padding: 16px 18px; border-radius: 12px; background: rgba(255, 255, 255, .06); font-size: .88rem; }
.ip-rodape .base { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: .82rem; }
@media (max-width: 900px) { .ip-rodape .colunas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ip-rodape .colunas { grid-template-columns: 1fr; } }

.ip-whats { position: fixed; right: 18px; bottom: 18px; z-index: 60; width: 58px; height: 58px; border-radius: 50%; background: #25d366; display: grid; place-items: center; box-shadow: 0 10px 28px rgba(0, 0, 0, .22); transition: transform .2s; }
.ip-whats:hover { transform: scale(1.06); }
.ip-whats svg { width: 30px; height: 30px; fill: #fff; }

.ip-aviso-pagamento { background: #fff4e5; border: 1px solid #f3d9a8; color: #6b4a00; border-radius: 12px; padding: 14px 18px; margin-bottom: 22px; }

/* WooCommerce e Tutor com a mesma cara */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .tutor-btn-primary { background: var(--verde) !important; border-color: var(--verde) !important; color: #fff !important; border-radius: 99px !important; }
:root { --tutor-color-primary: #2f5d55; --tutor-color-primary-rgb: 47, 93, 85; --tutor-color-primary-hover: #234740; }

/* ===== efeitos (no estilo das animações de entrada e de hover do Elementor) ===== */
.ip .cartao { transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; position: relative; overflow: hidden; }
.ip .cartao::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0; background: linear-gradient(90deg, var(--verde), var(--azul), var(--terra)); transition: width .45s ease; }
.ip .cartao:hover { transform: translateY(-8px); box-shadow: 0 28px 60px rgba(15, 138, 126, .18); border-color: transparent; }
.ip .cartao:hover::before { width: 100%; }
.ip .icone { transition: transform .4s ease, background .3s, color .3s; }
.ip .cartao:hover .icone { transform: rotate(-8deg) scale(1.1); background: var(--verde); color: #fff; }
.ip .grade3 .cartao:nth-child(3n+2) .icone, .ip .grade4 .cartao:nth-child(4n+2) .icone { background: #ffe7dd; color: var(--terra); }
.ip .grade3 .cartao:nth-child(3n) .icone, .ip .grade4 .cartao:nth-child(4n+3) .icone { background: #dcecf7; color: var(--azul); }
.ip .grade4 .cartao:nth-child(4n) .icone { background: #fff1cc; color: #b07800; }
.ip .grade3 .cartao:nth-child(3n+2):hover .icone, .ip .grade4 .cartao:nth-child(4n+2):hover .icone { background: var(--terra); color: #fff; }
.ip .grade3 .cartao:nth-child(3n):hover .icone, .ip .grade4 .cartao:nth-child(4n+3):hover .icone { background: var(--azul); color: #fff; }
.ip .grade4 .cartao:nth-child(4n):hover .icone { background: var(--sol); color: #fff; }
.ip .cartao .mais { transition: gap .3s, color .3s; display: inline-flex; gap: 6px; }
.ip .cartao:hover .mais { gap: 12px; color: var(--terra); }
.ip .chip { transition: transform .25s, background .25s, color .25s; text-decoration: none; }
.ip a.chip:hover { transform: translateY(-3px); background: var(--verde); color: #fff; border-color: var(--verde); }
.ip .modulos details { transition: border-color .3s, box-shadow .3s; }
.ip .modulos details:hover, .ip .modulos details[open] { border-color: var(--verde); box-shadow: 0 12px 30px rgba(15, 138, 126, .12); }
.ip .passo { transition: transform .3s; }
.ip .passo:hover { transform: translateY(-6px); }
.ip .passo::before { background: linear-gradient(135deg, var(--sol), var(--terra)); box-shadow: 0 10px 24px rgba(242, 100, 63, .35); }

/* entrada ao rolar: o script marca os blocos com [data-anima] e adiciona .visivel quando aparecem */
.ip-anima [data-anima] { opacity: 0; transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--atraso, 0s); will-change: opacity, transform; }
.ip-anima [data-anima="sobe"] { transform: translateY(46px); }
.ip-anima [data-anima="esquerda"] { transform: translateX(-60px); }
.ip-anima [data-anima="direita"] { transform: translateX(60px); }
.ip-anima [data-anima="zoom"] { transform: scale(.88); }
.ip-anima [data-anima].visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.ip-anima [data-anima] { opacity: 1 !important; transform: none !important; transition: none !important; }
	.ip .arte .forma, .ip .arte .selo-flutua, .ip .botao.pulsa, .ip .letreiro .trilho { animation: none !important; }
}

/* números que contam (contador do Elementor) */
.ip .numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; text-align: center; }
.ip .numeros .numero { font-size: clamp(2.4rem, 5vw, 3.4rem); color: #fff; }
.ip .numeros p { margin: 6px 0 0; color: #e6f6f3; font-size: .95rem; }
@media (max-width: 760px) { .ip .numeros { grid-template-columns: 1fr 1fr; } }

/* letreiro de clientes rolando (carrossel infinito) */
.ip .letreiro { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ip .letreiro .trilho { display: flex; gap: 14px; width: max-content; animation: ip-letreiro 38s linear infinite; }
.ip .letreiro:hover .trilho { animation-play-state: paused; }
.ip .letreiro .chip { padding: 14px 22px; font-weight: 600; white-space: nowrap; }
@keyframes ip-letreiro { to { transform: translateX(-50%); } }

/* topo encolhe ao rolar */
.ip-topo { transition: box-shadow .3s, background .3s; }
.ip-topo.rolou { box-shadow: 0 10px 30px rgba(20, 43, 51, .08); }
.ip-topo.rolou .cx { padding-top: 8px; padding-bottom: 8px; }
.ip-topo .cx { transition: padding .3s; }
.ip-marca .simbolo { background: var(--degrade); }

/* botão voltar ao topo */
.ip-subir { position: fixed; right: 24px; bottom: 90px; z-index: 59; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--verde); box-shadow: 0 8px 22px rgba(0, 0, 0, .15); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(10px); transition: .3s; font-size: 1.2rem; }
.ip-subir.mostra { opacity: 1; pointer-events: auto; transform: none; }
.ip-whats { animation: ip-whats 3s ease-in-out infinite; }
@keyframes ip-whats { 0%, 100% { box-shadow: 0 10px 28px rgba(0, 0, 0, .22), 0 0 0 0 rgba(37, 211, 102, .5); } 50% { box-shadow: 0 10px 28px rgba(0, 0, 0, .22), 0 0 0 16px rgba(37, 211, 102, 0); } }

/* borda em degradê girando no cartão de inscrição (técnica da biblioteca de efeitos do Jarvis / Magic UI) */
@property --giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.ip .oferta { border: 3px solid transparent; background: linear-gradient(#fff, #fff) padding-box, conic-gradient(from var(--giro), var(--verde), var(--azul), var(--terra), var(--sol), var(--verde)) border-box; animation: ip-giro 6s linear infinite; }
@keyframes ip-giro { to { --giro: 360deg; } }

/* brilho que passa pelo botão principal (shimmer, como no Magic UI) */
.ip .botao.terra { position: relative; overflow: hidden; isolation: isolate; }
.ip .botao.terra::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); animation: ip-brilho 3.6s ease-in-out infinite; z-index: -1; }
@keyframes ip-brilho { 0%, 55% { left: -60%; } 100% { left: 130%; } }

@media (prefers-reduced-motion: reduce) {
	.ip .oferta, .ip .botao.terra::after { animation: none !important; }
}

/* ===== vitrine de cursos (estilo Hotmart) ===== */
.ip .vitrine { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; }
.ip .curso-card { background: #fff; border: 1px solid var(--linha); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--sombra); transition: transform .35s ease, box-shadow .35s ease; }
.ip .curso-card:hover { transform: translateY(-8px); box-shadow: 0 28px 60px rgba(15, 138, 126, .18); }
.ip .curso-card .capa { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--degrade); }
.ip .curso-card .capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.ip .curso-card:hover .capa img { transform: scale(1.07); }
.ip .curso-card .selo-curso { position: absolute; left: 14px; top: 14px; background: rgba(255, 255, 255, .95); color: var(--verde-escuro); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 10px; border-radius: 99px; }
.ip .curso-card .corpo { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.ip .curso-card h3 { font-size: 1.3rem; margin: 0 0 4px; }
.ip .curso-card h3 a { color: var(--tinta); text-decoration: none; }
.ip .curso-card h3 a:hover { color: var(--verde); }
.ip .curso-card .autor { margin: 0 0 10px; color: var(--terra); font-weight: 600; font-size: .9rem; }
.ip .curso-card .resumo { margin: 0 0 14px; color: var(--suave); font-size: .95rem; }
.ip .curso-card .info { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: .85rem; color: var(--texto); margin-bottom: 18px; }
.ip .curso-card .rodape-card { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--linha); }
.ip .curso-card .preco { font-family: var(--serifa); font-size: 1.5rem; color: var(--tinta); font-weight: 600; }
.ip .curso-card .ja-tem { color: var(--verde); font-weight: 600; font-size: .9rem; }
.ip .curso-card .botao { padding: 12px 20px; font-size: .95rem; }

/* ===== abas Preços e Vendas no painel do Tutor ===== */
.ip-aba { font-family: var(--sans); color: var(--texto); }
.ip-aba h2 { font-family: var(--sans); font-size: 1.35rem; font-weight: 600; color: var(--tinta); margin: 0 0 4px; }
.ip-aba-sub { color: var(--suave); margin: 0 0 20px; font-size: .95rem; }
.ip-aba-ok { background: #e6f6ef; color: #1b6b4a; border-radius: 10px; padding: 12px 16px; margin-bottom: 16px; font-weight: 500; }
.ip-aba-vazio { background: #fff; border: 1px dashed #d7dde0; border-radius: 12px; padding: 28px; text-align: center; color: var(--suave); }
.ip-aba-dica { color: var(--suave); font-size: .85rem; margin-top: 18px; }
.ip-tabela { background: #fff; border: 1px solid #e9ecf1; border-radius: 12px; overflow: hidden; }
.ip-linha { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px 18px; border-top: 1px solid #eef1f4; font-size: .93rem; }
.ip-vendas .ip-linha { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr) minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .9fr); }
.ip-linha.ip-cab { border-top: 0; background: #f6f8f9; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--suave); }
.ip-linha small { display: block; color: var(--suave); font-size: .8rem; }
.ip-preco { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--tinta); }
.ip-preco input { width: 120px; padding: 9px 12px; border: 1px solid #d7dde0; border-radius: 8px; font: inherit; }
.ip-preco input:focus { outline: 2px solid rgba(15, 138, 126, .3); border-color: var(--verde); }
.ip-st { font-style: normal; font-size: .78rem; font-weight: 600; padding: 4px 10px; border-radius: 99px; background: #eef1f4; color: var(--suave); white-space: nowrap; }
.ip-st-publish, .ip-st-ok { background: #e6f6ef; color: #1b6b4a; }
.ip-st-draft, .ip-st-espera { background: #fff4e5; color: #8a5a00; }
.ip-st-nao { background: #fdecea; color: #a12b1f; }
.ip-salvar { margin-top: 16px; }
.ip-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.ip-resumo div { background: #fff; border: 1px solid #e9ecf1; border-radius: 12px; padding: 16px 18px; }
.ip-resumo small { display: block; color: var(--suave); font-size: .82rem; }
.ip-resumo b { font-size: 1.4rem; color: var(--tinta); }
@media (max-width: 700px) {
	.ip-linha, .ip-vendas .ip-linha { grid-template-columns: 1fr; gap: 4px; }
	.ip-linha.ip-cab { display: none; }
	.ip-resumo { grid-template-columns: 1fr; }
}

/* ===== estilo mais "editorial" e menos "cara de IA" (ajuste de 27/10/2026) ===== */
/* destaque em itálico de revista, sem degradê */
.ip .destaque { background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--terra); font-style: italic; font-weight: 500; }
/* botões sem pulsar e sem brilho passando; só um leve movimento ao passar o mouse */
.ip .botao.pulsa { animation: none; }
.ip .botao.terra::after { display: none; }
.ip .botao.terra { box-shadow: none; }
.ip .botao.terra:hover { box-shadow: none; }
.ip-whats { animation: none; }
/* cartão de inscrição com borda simples */
.ip .oferta { animation: none; border: 1px solid var(--linha); background: #fff; box-shadow: 0 24px 60px rgba(20, 43, 51, .14); }
/* foto do topo: moldura deslocada em vez de forma "respirando" e selos flutuando */
.ip .arte .forma { animation: none; inset: 22px -22px -22px 22px; border-radius: 24px; background: var(--verde-claro); opacity: 1; transform: none; }
.ip .arte .forma.b { display: none; }
.ip .arte .foto { border-radius: 24px; aspect-ratio: 4/5; border: 0; box-shadow: none; }
.ip .arte .foto img { transform: none; transition: none; }
.ip .arte:hover .foto img { transform: none; }
.ip .arte .selo-flutua { animation: none; border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 43, 51, .12); }
/* cartões mais discretos */
.ip .cartao:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.ip .cartao::before { display: none; }
.ip .cartao:hover .icone { transform: none; }
/* entradas ao rolar mais curtas */
.ip-anima [data-anima="sobe"] { transform: translateY(18px); }
.ip-anima [data-anima="esquerda"], .ip-anima [data-anima="direita"], .ip-anima [data-anima="zoom"] { transform: translateY(18px); }

/* blocos novos da página do curso */
.ip .carta { max-width: 720px; margin: 0 auto; font-size: 1.12rem; line-height: 1.8; }
.ip .carta p { margin: 0 0 18px; }
.ip .carta .assinatura { font-family: var(--serifa); font-style: italic; font-size: 1.35rem; color: var(--tinta); margin-top: 26px; }
.ip .carta .assinatura small { display: block; font-family: var(--sans); font-style: normal; font-size: .88rem; color: var(--suave); margin-top: 2px; }
.ip .publico { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--linha); }
.ip .publico li { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--linha); }
.ip .publico b { font-family: var(--serifa); font-size: 1.2rem; font-weight: 600; color: var(--tinta); }
@media (max-width: 700px) { .ip .publico li { grid-template-columns: 1fr; gap: 6px; } }
.ip .modulos-lista { counter-reset: mod; list-style: none; padding: 0; margin: 0; }
.ip .modulos-lista li { counter-increment: mod; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 8px; padding: 18px 0; border-bottom: 1px solid var(--linha); }
.ip .modulos-lista li::before { content: counter(mod, decimal-leading-zero); font-family: var(--serifa); font-size: 1.4rem; color: var(--terra); line-height: 1.2; }
.ip .modulos-lista b { display: block; color: var(--tinta); font-size: 1.05rem; }
.ip .modulos-lista span { color: var(--suave); font-size: .95rem; }
.ip .nota-pequena { font-size: .9rem; color: var(--suave); }

/* ===== versão sóbria (27/10/2026): visual de clínica de verdade, sem os clichês de site gerado =====
   fundo liso, uma cor principal (verde escuro), fontes clássicas, cantos discretos, sem degradês e sem animações */
:root {
	--tinta: #1f2a26;
	--texto: #3a4541;
	--suave: #66716c;
	--verde: #2f5d50;
	--verde-escuro: #24493f;
	--verde-claro: #e9efeb;
	--areia: #f6f3ee;
	--areia-forte: #ebe4d9;
	--terra: #9c5a3c;
	--linha: #e2ddd4;
	--degrade: #2f5d50;
	--raio: 6px;
	--sombra: none;
	--serifa: "Lora", Georgia, serif;
	--sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}
body { font-size: 18px; }
h1, h2, h3, h4 { font-weight: 500; letter-spacing: 0; }
.ip h1 { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.2; }
.ip h2 { font-size: clamp(1.55rem, 2.8vw, 2.1rem); }
.ip .lead { font-size: 1.1rem; }
.ip .destaque, .ip .faixa.verde .destaque { color: inherit; font-style: normal; font-weight: inherit; }

/* faixas e topo lisos */
.ip .heroi { background: var(--areia); padding: clamp(48px, 7vw, 88px) 0; }
.ip .faixa.verde { background: var(--verde); }
.ip .faixa.verde::before { display: none; }
.ip .faixa.foto-fundo { background-attachment: scroll; }
.ip .faixa.foto-fundo::before, .ip .faixa.foto-fundo.centro-escuro::before { background: rgba(20, 28, 25, .55); }
.ip .selo { text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 600; color: var(--terra); }
.ip .cabeca.centro { text-align: left; }
.ip .cabeca.centro .lead { margin-left: 0; }
.ip .cabeca { margin-bottom: 32px; }

/* foto do topo: retângulo simples */
.ip .arte { max-width: 480px; }
.ip .arte .forma { display: none; }
.ip .arte .foto { border-radius: var(--raio); aspect-ratio: 4/5; }
.ip .foto-lado { border-radius: var(--raio); box-shadow: none; }
.ip .foto-lado::after { display: none; }
.ip .foto-lado:hover img, .ip .curso-card:hover .capa img { transform: none; }

/* botões retos e cartões sem sombra */
.ip .botao { border-radius: var(--raio); padding: 13px 22px; font-weight: 600; transition: background .15s; }
.ip .botao:hover { transform: none; }
.ip .botao.terra { background: var(--verde); border-color: var(--verde); }
.ip .botao.terra:hover { background: var(--verde-escuro); border-color: var(--verde-escuro); }
.ip .faixa.verde .botao.terra, .ip .faixa.foto-fundo .botao.terra { background: #fff; border-color: #fff; color: var(--verde-escuro); }
.ip .cartao, .ip .curso-card, .ip .oferta, .ip .modulos details { border-radius: var(--raio); box-shadow: none; }
.ip .cartao:hover, .ip .curso-card:hover { transform: none; box-shadow: none; border-color: #cfc8bc; }
.ip .chip { border-radius: var(--raio); }
.ip .oferta { border: 1px solid var(--linha); }
.ip .icone { display: none; }
.ip .passo::before { background: var(--verde); box-shadow: none; }
.ip .lista-check li::before { background-color: transparent; border: 1.5px solid var(--verde); }
.ip .curso-card .preco { font-weight: 500; }
.ip-aluno { border-radius: var(--raio); }
.ip-marca .simbolo { background: var(--verde); }
.ip-whats { width: 52px; height: 52px; box-shadow: 0 4px 12px rgba(0, 0, 0, .18); }

.ip .modulos-lista li::before { color: var(--verde); }
.ip .carta .assinatura { font-size: 1.2rem; }

/* ===== efeitos no estilo Elementor (entradas, revelação de fotos, parallax, hovers) ===== */
/* entrada "fade in up" com sequência */
.ip-anima [data-anima] { opacity: 0; transform: translateY(40px); transition: opacity .9s cubic-bezier(.22, .61, .36, 1), transform .9s cubic-bezier(.22, .61, .36, 1); transition-delay: var(--atraso, 0s); }
.ip-anima [data-anima="esquerda"] { transform: translateX(-40px); }
.ip-anima [data-anima="direita"] { transform: translateX(40px); }
.ip-anima [data-anima].visivel { opacity: 1; transform: none; }

/* títulos do topo subindo linha por linha ao abrir a página */
.ip .heroi h1 .linha { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
/* o título espera o script separar as palavras; se o script não rodar, aparece sozinho em 1,5 s */
.ip .heroi h1:not(.pronto) { visibility: hidden; animation: ip-mostra 0s linear 1.5s forwards; }
@keyframes ip-mostra { to { visibility: visible; } }
.ip .heroi h1 .linha > span { display: inline-block; transform: translateY(105%); animation: ip-linha 1s cubic-bezier(.22, .61, .36, 1) forwards; animation-delay: calc(.15s + var(--i, 0) * .12s); }
@keyframes ip-linha { to { transform: none; } }
.ip .heroi .lead, .ip .heroi .botoes, .ip .heroi .nota-pequena { opacity: 0; animation: ip-surge .9s ease forwards .6s; }
.ip .heroi .botoes { animation-delay: .75s; }
.ip .heroi .nota-pequena { animation-delay: .9s; }
@keyframes ip-surge { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* fotos revelando com cortina + zoom que assenta */
.ip .revela { clip-path: inset(0 0 100% 0); transition: clip-path 1.2s cubic-bezier(.77, 0, .18, 1); }
.ip .revela img { transform: scale(1.15); transition: transform 1.8s cubic-bezier(.22, .61, .36, 1); }
.ip .revela.visivel { clip-path: inset(0 0 0 0); }
.ip .revela.visivel img { transform: scale(1); }
.ip .heroi .arte .foto { animation: ip-cortina 1.3s cubic-bezier(.77, 0, .18, 1) .2s both; }
.ip .heroi .arte .foto img { animation: ip-assenta 2s cubic-bezier(.22, .61, .36, 1) .2s both; }
@keyframes ip-cortina { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes ip-assenta { from { transform: scale(1.18); } to { transform: scale(1); } }
/* parallax: a foto do topo anda mais devagar que a página (posição controlada pelo script) */
.ip .heroi .arte .foto { overflow: hidden; }
.ip .heroi .arte .foto img { will-change: transform; }

/* botões com preenchimento deslizando (hover do Elementor) */
.ip .botao { position: relative; overflow: hidden; isolation: isolate; }
.ip .botao::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--verde-escuro); transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.77, 0, .18, 1); }
.ip .botao:hover::before { transform: scaleX(1); transform-origin: left; }
.ip .botao.claro::before { background: var(--verde); }
.ip .botao.claro:hover { color: #fff; background: transparent; }
.ip .faixa.verde .botao.terra::before, .ip .faixa.foto-fundo .botao.terra::before { background: var(--areia-forte); }
.ip .botao.terra:hover { background: var(--verde); }
/* links com sublinhado crescendo */
.ip .cartao .mais, .ip .carta a, .ip .perfil a, .ip .perguntas a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .35s ease; }
.ip .cartao .mais:hover, .ip .carta a:hover, .ip .perfil a:hover, .ip .perguntas a:hover { background-size: 100% 1.5px; }
.ip .cartao .mais:hover { gap: 6px; color: var(--verde); }
/* cartões e vitrine: foto aproxima devagar */
.ip .curso-card .capa img, .ip .foto-lado img { transition: transform 1.2s cubic-bezier(.22, .61, .36, 1); }
.ip .curso-card:hover .capa img, .ip .foto-lado:hover img { transform: scale(1.05); }
.ip .cartao { transition: border-color .3s, transform .4s cubic-bezier(.22, .61, .36, 1); }
.ip .cartao:hover { transform: translateY(-4px); }
/* letreiro de clientes rolando de novo, devagar */
.ip .letreiro { -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ip .letreiro .trilho { animation: ip-letreiro 45s linear infinite; flex-wrap: nowrap; width: max-content; }
/* números em destaque na faixa verde */
.ip .numeros .numero { font-family: var(--serifa); font-weight: 500; }

@media (prefers-reduced-motion: reduce) {
	.ip .heroi h1 .linha > span, .ip .heroi .lead, .ip .heroi .botoes, .ip .heroi .nota-pequena, .ip .heroi .arte .foto, .ip .heroi .arte .foto img { animation: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
	.ip .revela { clip-path: none !important; } .ip .revela img { transform: none !important; }
	.ip .letreiro .trilho { animation: none; }
}

/* faixas com foto: escurece só o lado do texto, a foto aparece do outro lado */
.ip .faixa.foto-fundo::before { background: linear-gradient(90deg, rgba(18, 26, 23, .82) 0%, rgba(18, 26, 23, .55) 45%, rgba(18, 26, 23, .08) 100%); }
.ip .faixa.foto-fundo.centro-escuro::before { background: rgba(18, 26, 23, .5); }

/* ===== topo com foto de fundo em tela cheia, trocando sozinha (estilo slider do Elementor) ===== */
.ip .heroi.heroi-fundo { position: relative; overflow: hidden; background: #1c2622; color: #fff; min-height: min(86vh, 760px); display: flex; align-items: center; padding: 120px 0 110px; }
.ip .heroi-fundo .slides { position: absolute; inset: -40px 0; will-change: transform; }
.ip .heroi-fundo .slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transform: scale(1.12); transition: opacity 1.6s ease, transform 0s linear 1.6s; }
.ip .heroi-fundo .slide.ativo { opacity: 1; transform: scale(1); transition: opacity 1.6s ease, transform 9s ease-out; }
/* escurece o lado do texto para as letras ficarem bem legíveis; a foto aparece do outro lado */
.ip .heroi-fundo::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(14, 20, 17, .86) 0%, rgba(14, 20, 17, .66) 38%, rgba(14, 20, 17, .18) 72%, rgba(14, 20, 17, .05) 100%), linear-gradient(0deg, rgba(14, 20, 17, .45) 0%, transparent 35%); }
.ip .heroi-fundo .cx { position: relative; z-index: 2; width: 100%; }
.ip .heroi-fundo .texto-fundo { max-width: 620px; }
.ip .heroi-fundo h1 { color: #fff; text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }
.ip .heroi-fundo .lead { color: rgba(255, 255, 255, .9); }
.ip .heroi-fundo .nota-pequena { color: rgba(255, 255, 255, .78); }
.ip .heroi-fundo .botao.terra { background: #fff; border-color: #fff; color: var(--verde-escuro); }
.ip .heroi-fundo .botao.terra::before { background: var(--areia-forte); }
.ip .heroi-fundo .botao.claro { color: #fff; border-color: rgba(255, 255, 255, .85); }
.ip .heroi-fundo .botao.claro::before { background: #fff; }
.ip .heroi-fundo .botao.claro:hover { color: var(--verde-escuro); }
/* tracinhos para trocar de foto */
.ip .heroi-fundo .pontos { position: absolute; z-index: 2; left: 50%; transform: translateX(-50%); bottom: 28px; display: flex; gap: 10px; width: min(1180px, 100%); padding: 0 20px; }
.ip .heroi-fundo .pontos button { width: 42px; height: 3px; border: 0; padding: 0; border-radius: 2px; background: rgba(255, 255, 255, .35); cursor: pointer; position: relative; overflow: hidden; }
.ip .heroi-fundo .pontos button::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.ip .heroi-fundo .pontos button.ativo::after { animation: ip-tempo var(--tempo, 6.5s) linear forwards; }
@keyframes ip-tempo { to { transform: scaleX(1); } }
@media (max-width: 760px) {
	.ip .heroi.heroi-fundo { min-height: 82vh; padding: 96px 0 90px; }
	.ip .heroi-fundo::after { background: linear-gradient(0deg, rgba(14, 20, 17, .88) 0%, rgba(14, 20, 17, .6) 55%, rgba(14, 20, 17, .35) 100%); }
	.ip .heroi-fundo .slide { background-position: 65% center !important; }
}
@media (prefers-reduced-motion: reduce) {
	.ip .heroi-fundo .slide, .ip .heroi-fundo .slide.ativo { transition: opacity .3s; transform: none; }
	.ip .heroi-fundo .pontos button.ativo::after { animation: none; transform: scaleX(1); }
}
