html { scroll-behavior: smooth; }
.section { scroll-margin-top: 74px; }
.nav a { position: relative; }
.nav a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: #72b76b; transition: right .3s ease; }
.nav a:not(.btn):hover::after { right: 0; }
.reveal-ready { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.22,.7,.24,1); }
.reveal-ready.revealed { opacity: 1; transform: none; }

.mentorship-enhanced { position: relative; overflow: hidden; }
.mentorship-enhanced::after { content: ""; position: absolute; width: 420px; height: 420px; right: -180px; bottom: -240px; border: 1px solid rgba(114,183,107,.22); transform: rotate(45deg); box-shadow: 0 0 0 56px rgba(114,183,107,.025),0 0 0 112px rgba(114,183,107,.018); pointer-events: none; }
.method-blueprint { position: relative; z-index: 2; display: grid !important; grid-template-columns: repeat(12,1fr) !important; grid-template-rows: repeat(2,minmax(190px,auto)); gap: 14px !important; margin-top: 58px; border: 0 !important; }
.method-card { position: relative; display: flex; flex-direction: column; justify-content: flex-start; min-height: 230px; padding: 88px 30px 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.14) !important; background: #0b1b13 !important; transform: none !important; transition: transform .35s cubic-bezier(.22,.7,.24,1),border-color .35s,background .35s; }
.method-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg,transparent 38%,rgba(114,183,107,.075)); opacity: 0; transition: opacity .35s; }
.method-card:hover { z-index: 2; transform: translateY(-6px) !important; border-color: rgba(114,183,107,.65) !important; background: #0d2117 !important; }
.method-card:hover::before { opacity: 1; }
.method-card-1 { grid-column: 1/6; grid-row: 1/3; min-height: 474px; padding: 104px 40px 40px; background: linear-gradient(150deg,#10271b,#07140f) !important; }
.method-card-2 { grid-column: 6/13; grid-row: 1; }
.method-card-3 { grid-column: 6/10; grid-row: 2; }
.method-card-4 { grid-column: 10/13; grid-row: 2; color: #07140f; background: #72b76b !important; border-color: #72b76b !important; }
.method-card-4:hover { background: #86c77f !important; border-color: #86c77f !important; }
.method-label { position: absolute; top: 28px; left: 30px; color: #72b76b; font-size: .74rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.method-card-1 .method-label { top: 38px; left: 40px; }
.method-card-4 .method-label { color: #1c5d37; }
.method-card h3 { position: relative; margin: 0 0 12px !important; max-width: 560px; font-size: clamp(1.35rem,2.3vw,2rem); line-height: 1.12; letter-spacing: -.035em; }
.method-card-1 h3 { font-size: clamp(2rem,3.4vw,3.25rem); }
.method-card p { position: relative; max-width: 560px; margin: 0; color: #adc2b3; }
.method-card-4 p { color: #173422; }
.method-line { position: absolute; top: 0; left: 0; width: 0; height: 3px; background: #72b76b; transition: width .45s ease; }
.method-card:hover .method-line { width: 100%; }
.method-card-4 .method-line { background: #07140f; }

.mentor-proof-panel { display: grid; grid-template-columns: 1fr 1fr; margin-top: 36px; border: 1px solid rgba(28,93,55,.24); background: rgba(255,255,255,.58); box-shadow: 0 18px 46px rgba(7,20,15,.08); transition: transform .35s ease,box-shadow .35s ease; }
.mentor-proof-panel:hover { transform: translateY(-5px); box-shadow: 0 26px 58px rgba(7,20,15,.13); }
.mentor-proof-panel article { position: relative; padding: 25px 26px 24px; overflow: hidden; }
.mentor-proof-panel article+article { border-left: 1px solid rgba(28,93,55,.2); }
.mentor-proof-panel article::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 3px; background: #2f7d4a; transition: width .45s ease; }
.mentor-proof-panel article:hover::after { width: 100%; }
.mentor-proof-panel small { display: block; margin-bottom: 15px; color: #1c5d37; font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.mentor-proof-panel strong { display: block; color: #07140f; font-size: 1.06rem; }
.mentor-proof-panel p { margin: 7px 0 0 !important; color: #5f7065; font-size: .88rem !important; line-height: 1.55; }

.outcomes { display: grid !important; grid-template-columns: .68fr 1.32fr !important; gap: 78px !important; align-items: start !important; }
.outcomes-heading { position: sticky; top: 112px; }
.outcomes-heading>p:not(.eyebrow) { max-width: 420px; color: #5f7065; }
.outcomes-board { border-top: 1px solid #d5e1d7; }
.outcomes-board article { display: grid; grid-template-columns: minmax(260px,.8fr) 1fr; gap: 34px; align-items: center; padding: 27px 0; border-bottom: 1px solid #d5e1d7; transition: padding-left .3s ease,background .3s ease; }
.outcomes-board article:hover { padding-left: 16px; background: linear-gradient(90deg,rgba(232,243,231,.75),transparent); }
.outcome-shift { display: grid; grid-template-columns: 1fr 24px 1.25fr; gap: 10px; align-items: center; }
.outcome-shift span { color: #7e8e83; font-size: .82rem; text-decoration: line-through; text-decoration-color: rgba(95,112,101,.5); }
.outcome-shift i { color: #2f7d4a; font-style: normal; }
.outcome-shift strong { color: #1c5d37; line-height: 1.25; }
.outcomes-board article>p { margin: 0; color: #5f7065; font-size: .92rem; }

.portfolio-section { color: #fff; background: #0b1b13; overflow: hidden; }
.portfolio-grid { display: grid; grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr); gap: 66px; align-items: center; }
.portfolio-copy>p:not(.eyebrow) { max-width: 480px; color: #adc2b3; }
.portfolio-proof { display: flex; align-items: center; gap: 16px; max-width: 360px; margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.portfolio-proof strong { color: #72b76b; font-size: 2.25rem; line-height: 1; }
.portfolio-proof span { color: #b8c9bd; font-size: .86rem; line-height: 1.35; }
.portfolio-slides { position: relative; aspect-ratio: 8/5; overflow: hidden; background: #030b07; }
.portfolio-card { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease,visibility .65s; }
.portfolio-card.active { opacity: 1; visibility: visible; }
.portfolio-card::after { content: ""; position: absolute; inset: 46% 0 0; background: linear-gradient(transparent,rgba(3,11,7,.92)); pointer-events: none; }
.portfolio-card img { width: 100%; height: 100%; object-fit: cover; }
.portfolio-card figcaption { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 24px; display: flex; flex-direction: column; }
.portfolio-card figcaption span { color: #72b76b; font-size: .73rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.portfolio-card figcaption strong { margin-top: 5px; font-size: 1.05rem; }
.enhanced-carousel-controls.dots-only { display: flex; justify-content: center; margin-top: 20px; }
.enhanced-dots { display: flex; align-items: center; justify-content: center; gap: 8px; }
.enhanced-dots button { width: 20px; height: 4px; padding: 0; border: 0; border-radius: 999px; color: inherit; background: currentColor; opacity: .24; cursor: pointer; transition: width .25s,opacity .25s; }
.enhanced-dots button.active { width: 42px; opacity: 1; background: #72b76b; }

.testimonial-marquee { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; padding: 8px 0 26px; }
.testimonial-marquee-track { display: flex; width: max-content; animation: testimonial-flow 58s linear infinite; }
.testimonial-marquee:hover .testimonial-marquee-track { animation-play-state: paused; }
.testimonial-marquee-group { display: flex; gap: 18px; padding-right: 18px; }
.testimonial-marquee .testimonial { display: flex !important; flex-direction: column; width: min(380px,calc(100vw - 42px)); height: 430px; padding: 30px; color: #fff; background: #07140f; border: 1px solid rgba(7,20,15,.25); box-shadow: 0 16px 44px rgba(7,20,15,.1); transition: transform .3s ease,border-color .3s ease; }
.testimonial-marquee .testimonial:hover { transform: translateY(-5px); border-color: #2f7d4a; }
.testimonial-marquee .quote-mark { color: #72b76b; font-family: Georgia,serif; font-size: 4.5rem; line-height: .8; }
.testimonial-marquee blockquote { display: -webkit-box; margin: 8px 0 24px; overflow: hidden; color: #e2ebe4; font-size: .94rem; line-height: 1.64; -webkit-line-clamp: 9; -webkit-box-orient: vertical; }
.testimonial-marquee .testimonial-author { display: flex; flex-direction: column; margin-top: auto; padding: 20px 0 0; color: #fff; background: transparent; border: 0; border-top: 1px solid rgba(255,255,255,.18); }
.testimonial-marquee .testimonial-author strong { font-size: .95rem; }
.testimonial-marquee .testimonial-author span { color: #72b76b; font-size: .84rem; font-weight: 750; }
.testimonial-marquee .testimonial-author small { color: #aebfb3; font-size: .78rem; }
@keyframes testimonial-flow { to { transform: translateX(-50%); } }

.call-section { color: #fff; background: #07140f; }
.call-card { position: relative; display: grid; grid-template-columns: 140px minmax(0,1fr) auto; gap: 42px; align-items: center; padding: 48px; border: 1px solid rgba(114,183,107,.34); background: linear-gradient(125deg,rgba(114,183,107,.09),rgba(255,255,255,.025)); box-shadow: 0 26px 70px rgba(0,0,0,.24); overflow: hidden; }
.call-card::after { content: ""; position: absolute; width: 230px; height: 230px; right: -150px; top: -145px; border: 1px solid rgba(114,183,107,.3); transform: rotate(45deg); }
.call-time { display: flex; flex-direction: column; justify-content: center; width: 130px; height: 130px; border: 1px solid rgba(114,183,107,.55); border-radius: 50%; text-align: center; }
.call-time strong { color: #72b76b; font-size: 3rem; line-height: .9; }
.call-time span { margin-top: 8px; color: #b7c9bd; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.call-copy h2 { font-size: clamp(2rem,4vw,3.45rem); }
.call-copy>p:not(.eyebrow) { max-width: 680px; color: #b8c9bd; }
.call-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.call-meta span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #d5e2d8; font-size: .78rem; }
.call-card>.btn { position: relative; z-index: 2; white-space: nowrap; }

.faq-section { background: #fff; }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.faq-list { border-top: 1px solid #d5e1d7; }
.faq-item { border-bottom: 1px solid #d5e1d7; }
.faq-item>button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 24px 0; border: 0; color: #07140f; background: transparent; font: inherit; font-weight: 820; text-align: left; cursor: pointer; }
.faq-item>button span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: #1c5d37; background: #e8f3e7; font-size: 1.25rem; transition: transform .3s ease,background .3s ease; }
.faq-item.open>button span { transform: rotate(45deg); background: #d9edd7; }
.faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(-7px); transition: grid-template-rows .4s ease,opacity .3s ease,transform .4s ease; }
.faq-answer>div { overflow: hidden; }
.faq-item.open .faq-answer { grid-template-rows: 1fr; opacity: 1; transform: none; }
.faq-answer p { max-width: 720px; margin: -3px 50px 24px 0; color: #5f7065; }

.enhanced-native-select { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.custom-select { position: relative; }
.custom-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #c6d3c9; border-radius: 10px; color: #07140f; background: #fff; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s,box-shadow .2s; }
.custom-select-trigger.placeholder { color: #77867d; }
.custom-select.open .custom-select-trigger,.custom-select-trigger:focus-visible { border-color: #2f7d4a; outline: 0; box-shadow: 0 0 0 3px rgba(47,125,74,.14); }
.field:has(.error) .custom-select-trigger { border-color: #b91c1c; }
.custom-select-trigger i { width: 9px; height: 9px; border-right: 2px solid #1c5d37; border-bottom: 2px solid #1c5d37; transform: rotate(45deg) translateY(-2px); transition: transform .25s; }
.custom-select.open .custom-select-trigger i { transform: rotate(225deg) translate(-2px,-2px); }
.custom-select-options { position: absolute; z-index: 40; top: calc(100% + 7px); left: 0; right: 0; max-height: 250px; margin: 0; padding: 7px; overflow-y: auto; list-style: none; border: 1px solid #bfd1c2; border-radius: 12px; background: #fff; box-shadow: 0 18px 46px rgba(7,20,15,.16); animation: select-open .2s ease; }
.custom-select-options[hidden] { display: none; }
.custom-select-options li { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 9px 11px; border-radius: 8px; color: #314239; cursor: pointer; transition: color .15s,background .15s; }
.custom-select-options li.highlighted,.custom-select-options li:hover { color: #12301e; background: #e8f3e7; }
.custom-select-options li[aria-selected="true"] { color: #fff; background: #1c5d37; font-weight: 750; }
.custom-select-options li span { color: #72b76b; }
@keyframes select-open { from { opacity: 0; transform: translateY(-5px); } }
.required-note { margin: 0 0 18px; color: #5f7065; font-size: .78rem; text-align: right; }
.required-note span,.required-marker { color: #2f7d4a; font-weight: 900; }
.required-marker { font-style: normal; }

.social-links { display: flex; gap: 10px; margin-left: auto; }
.social-links a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #d5e2d8; text-decoration: none; font-size: .8rem; transition: border-color .2s,color .2s; }
.social-links a:hover { color: #72b76b; border-color: rgba(114,183,107,.55); }
.whatsapp-float { position: fixed; z-index: 19; right: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; background: rgba(7,20,15,.95); box-shadow: 0 16px 38px rgba(3,11,7,.28); backdrop-filter: blur(14px); font-size: .84rem; font-weight: 800; text-decoration: none; transition: transform .2s,border-color .2s,background .2s; }
.whatsapp-float:hover { transform: translateY(-2px); border-color: rgba(114,183,107,.7); background: #1c5d37; }
.whatsapp-dot { width: 9px; height: 9px; border-radius: 50%; background: #72b76b; box-shadow: 0 0 0 5px rgba(114,183,107,.12); }

@media(max-width:980px){.call-card{grid-template-columns:120px 1fr}.call-card>.btn{grid-column:2;justify-self:start}}
@media(max-width:800px){.portfolio-grid,.faq-grid,.outcomes{grid-template-columns:1fr!important;gap:42px!important}.outcomes-heading{position:static}.method-blueprint{grid-template-columns:1fr 1fr!important;grid-template-rows:auto}.method-card,.method-card-1,.method-card-2,.method-card-3,.method-card-4{grid-column:auto;grid-row:auto;min-height:270px;padding:88px 30px 30px}.method-card-1 h3{font-size:clamp(1.55rem,4vw,2.2rem)}.method-card-1 .method-label{top:28px;left:30px}.call-card{grid-template-columns:1fr}.call-card>.btn{grid-column:auto;justify-self:start}}
@media(max-width:620px){.mentor-proof-panel,.method-blueprint{grid-template-columns:1fr!important}.method-card,.method-card-1,.method-card-2,.method-card-3,.method-card-4{min-height:245px}.mentor-proof-panel article+article{border-left:0;border-top:1px solid rgba(28,93,55,.2)}.outcomes-board article{grid-template-columns:1fr;gap:12px}.outcome-shift{grid-template-columns:1fr 22px 1.2fr}.testimonial-marquee .testimonial{height:410px;padding:26px}.call-card{padding:30px 24px}.call-time{width:100px;height:100px}.call-time strong{font-size:2.35rem}.call-card>.btn{width:100%}.portfolio-card figcaption{left:18px;right:18px;bottom:17px}.enhanced-dots button{width:12px}.enhanced-dots button.active{width:26px}.social-links{width:100%;margin-left:0}.whatsapp-float{right:14px;bottom:14px;min-height:44px;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.testimonial-marquee{overflow-x:auto}.testimonial-marquee-track{animation:none}}

/* v0.5.2 — alinhamento, favicon e sinais de ação */
.nav { align-items: center; align-self: stretch; }
.nav .btn { align-self: center; flex: 0 0 auto; white-space: nowrap; line-height: 1; }
.method-card { display: grid; grid-template-rows: auto auto 1fr; align-content: start; row-gap: 14px; padding: 30px; }
.method-card-1 { padding: 40px; }
.method-label { position: relative; z-index: 1; top: auto; left: auto; display: block; min-height: 1.3em; line-height: 1.3; }
.method-card-1 .method-label { top: auto; left: auto; }
.method-card h3 { margin: 0 !important; }
.pulse-cta { position: relative; isolation: isolate; }
.pulse-cta::after { content: ""; position: absolute; z-index: -1; inset: -1px; border: 1px solid rgba(137,201,130,.72); border-radius: inherit; animation: cta-pulse 2.35s ease-out infinite; pointer-events: none; }
.whatsapp-dot { position: relative; }
.whatsapp-dot::after { content: ""; position: absolute; inset: -5px; border: 1px solid rgba(114,183,107,.72); border-radius: 50%; animation: dot-pulse 1.8s ease-out infinite; }
@keyframes cta-pulse { 0%,28% { opacity:.72; transform:scale(1) } 72%,100% { opacity:0; transform:scale(1.12,1.3) } }
@keyframes dot-pulse { to { opacity:0; transform:scale(2.15) } }
@media(max-width:800px){.method-card,.method-card-1,.method-card-2,.method-card-3,.method-card-4{padding:30px}}
@media(max-width:620px){.header-inner{gap:12px}.brand{gap:8px;font-size:.78rem;letter-spacing:.075em}.brand-mark{flex:0 0 38px;width:38px}.nav{margin-left:auto}.nav .btn-small{min-height:42px;padding-inline:15px;font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.pulse-cta::after,.whatsapp-dot::after{animation:none}}

/* v0.5.3 — acesso independente à Área do Aluno */
.nav .student-area-link { display: inline-flex; align-items: center; align-self: center; flex: 0 0 auto; min-height: 40px; padding: 0 16px; border: 1px solid rgba(114,183,107,.48); border-radius: 999px; color: #fff; white-space: nowrap; font-size: .84rem; font-weight: 800; text-decoration: none; transition: border-color .2s,background .2s,transform .2s; }
.nav .student-area-link::after { display: none; }
.nav .student-area-link:hover { border-color: #72b76b; background: rgba(114,183,107,.1); transform: translateY(-1px); }
@media(max-width:980px){.nav .student-area-link{display:inline-flex!important}}
@media(max-width:620px){.nav .student-area-link{min-height:42px;padding-inline:13px;font-size:.8rem}}
@media(max-width:480px){.brand>span:last-child{display:none}.nav{gap:8px}.nav .student-area-link{padding-inline:12px}.nav .btn-small{padding-inline:12px}}

/* v0.5.5 — player VSL ocupa integralmente a moldura 16:9 */
.video-shell { position: relative; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; }
.video-shell iframe,.video-shell video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
