:root { --ink:#102d35; --muted:#617075; --mint:#bcebd9; --paper:#fafbf8; --line:#dae1dc; --font:'DM Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-height,89px); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:15px; line-height:1.7; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #419c81; outline-offset:5px; }
::selection { background:var(--mint); color:var(--ink); }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:'Manrope',Arial,sans-serif; }
h2 { font-size:clamp(30px,3.1vw,44px); line-height:1.22; font-weight:500; letter-spacing:-1.8px; }
h2 em { font-style:normal; color:#658d7f; }
p { color:var(--muted); }
.container { width:min(1680px,calc(100% - 96px)); margin-inline:auto; }
.section { padding:100px 0; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--mint); font-size:10px; font-weight:650; letter-spacing:2px; margin-bottom:25px; }
.eyebrow.dark { color:#547769; }
.eyebrow i,.availability i { width:6px; height:6px; border-radius:50%; background:var(--mint); }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:17px 24px; background:var(--mint); color:var(--ink); font-size:13px; font-weight:700; border:1px solid transparent; border-radius:4px; transition:background .2s,transform .2s; }
.button:hover { background:#d3f7e8; transform:translateY(-2px); }
.button span { font-size:20px; line-height:1; }
.button-small { padding:11px 17px; font-size:12px; }
.button-dark { background:var(--ink); color:white; }
.button-dark:hover { background:#24505a; }
.skip-link { position:fixed; top:-80px; left:15px; padding:12px; background:white; z-index:100; }
.skip-link:focus { top:10px; }
.header { position:fixed; inset:0 0 auto; z-index:30; color:#f4f6f3; background:transparent; border-bottom:1px solid #ffffff24; transition:background .25s,box-shadow .25s; }
.header.is-scrolled { background:var(--ink); box-shadow:0 4px 20px #102d3526; }
.header .brand svg {width: 140px; height: 40px;}
.header .navigation>a:not(.button):hover { color:var(--mint); }
.header-inner { display:flex; justify-content:space-between; align-items:center; min-height:88px; }
.footer .brand svg {width: 180px; height: 100px;}
.brand { display:flex; align-items:center; gap:14px; }
.brand-mark { font-family:Georgia,serif; font-size:34px; letter-spacing:-6px; position:relative; padding-right:12px; line-height:1; }
.brand-mark>span { position:absolute; right:0; top:-5px; font-family:Arial,sans-serif; font-size:17px; letter-spacing:0; color:#6b9985; }
.brand-name { font-size:12px; font-weight:700; letter-spacing:2px; line-height:1.6; }
.brand-name small { display:block; font-size:7px; letter-spacing:1.7px; font-weight:500; }
.navigation { display:flex; align-items:center; gap:30px; font-size:12px; font-weight:500; }
.navigation>a:not(.button):hover { color:#538570; }
.menu-toggle { display:none; }
.hero { position:relative; isolation:isolate; background:var(--ink); color:white; overflow:hidden; padding-top:89px; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; pointer-events:none; }
.hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#102d35eb 0%,#102d35b3 45%,#102d3559 100%),linear-gradient(0deg,#102d35e6,transparent 35%,transparent 80%,#102d3580); pointer-events:none; }
.hero-video-toggle { position:absolute; top:110px; right:24px; z-index:1; padding:7px 12px; border:1px solid #ffffff50; border-radius:4px; background:#102d35b3; color:white; font-size:10px; cursor:pointer; }
.hero-video-toggle:hover { background:var(--ink); }
.hero-video-toggle { display:none; }
.hero-grid { display:grid; grid-template-columns:1fr; align-items:center; gap:65px; padding-top:72px; padding-bottom:65px; }
.hero .hero-headline { font-family:'Manrope',Arial,sans-serif; color:white; font-size:clamp(42px,4.6vw,65px); font-weight:500; line-height:1.12; letter-spacing:-3px; margin-bottom:25px; }
.hero .hero-headline em { font-style:normal; color:var(--mint); }
.hero-course { font-family:var(--font); font-weight:400; color:#f4f6f3; font-size:19px; line-height:1.5; }
.technique-label { display:inline-block; margin-top:14px; padding:4px 11px; border:1px solid #74988c; border-radius:3px; color:var(--mint); font-size:10px; letter-spacing:2px; }
.hero-description { margin:22px 0 27px; max-width:410px; color:#b7c7c9; font-size:14px; }

.course-facts {display:grid; grid-template-columns:1fr 1fr 1fr 1.2fr; padding: 40px 0;border-top: 1px solid #355058;background: #bcebd912;margin-bottom: 20px;border-radius: 30px;}
.course-facts>div { display:flex; gap:14px; padding-left:27px; border-left:1px solid #355058; align-items:center; }
.course-facts>div:first-child { padding-left:0; border:0;margin-left: 40px;}
.course-facts p { color:#eef4f1; font-size:16px; }
.course-facts small { display:block; color:#99b2b5; font-size:8px; letter-spacing:1.3px; margin-bottom:4px; }
.fact-icon { font-size:25px; color:var(--mint); }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:85px; }
.intro {height: 90vh;}
.intro-image { margin:28px 0 0; width:100%; aspect-ratio:18 / 9; overflow:hidden; border-radius:4px;}
.intro-image img { display:block; width:100%; height:100%; object-fit:contain; }
.intro-text h3 { font-size:21px; font-weight:500; line-height:1.5; margin-bottom:20px; letter-spacing:-.5px; }
.intro-text p+p { margin-top:16px; }
.text-link { display:inline-flex; gap:30px; align-items:center; font-size:12px; font-weight:700; border-bottom:1px solid #9bb4a7; padding-bottom:8px; margin-top:25px; }
.text-link span { font-size:18px; }
.experience { background:#eef2ec; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:40px; }
.section-heading>p { font-size:13px; padding-bottom:5px; }
.day-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.day-card { position:relative; padding:32px; border:1px solid #d1dcd3; background:#f8faf5; border-radius:5px; overflow:hidden; }
.day-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.day-image { position:relative; margin:0 0 28px; aspect-ratio:20 / 9; overflow:hidden; border-radius:4px; background:linear-gradient(135deg,#dce8df,#c2d6cb); }
.day-image img { display:block; width:100%; height:100%; object-fit:cover; }
.dark-card .day-image { background:linear-gradient(135deg,#365c5e,#244548); }
.day-number { font-family:'Manrope',sans-serif; font-size:62px; font-weight:400; line-height:1; letter-spacing:-3px; color:#8ca69a; }
.tag { font-size:9px; letter-spacing:1.4px; border:1px solid #cbd9cf; padding:5px 10px; border-radius:20px; }
.day-content .eyebrow { font-size:8px; margin-bottom:9px; }
.day-content h3 { font-size:28px; font-weight:500; letter-spacing:-1px; margin-bottom:12px; }
.day-content p { max-width:385px; font-size:13px; }
.day-arrow { position:absolute; right:27px; bottom:29px; font-size:25px; }
.dark-card { background:var(--ink); color:white; border-color:var(--ink); }
.dark-card .day-number { color:#a4ceba; }
.dark-card .tag { border-color:#4a6568; color:#bcd1cc; }
.dark-card p { color:#b6c7c7; }
.section-footnote { font-size:11px; margin-top:23px; }
.section-description { max-width:365px; margin-top:22px; font-size:14px; }
.small-label { display:block; font-size:9px; letter-spacing:2px; margin-top:35px; color:#58796b; }
.accordion details { border-bottom:1px solid var(--line); }
.accordion details:first-child { border-top:1px solid var(--line); }
.accordion summary { display:flex; gap:17px; align-items:center; padding:22px 0; cursor:pointer; list-style:none; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary h3 { font-size:14px; font-weight:600; flex:1; letter-spacing:-.2px; }
.module-number { font-size:11px; color:#6c9584; }
.plus { width:14px; height:14px; position:relative; flex-shrink:0; }
.plus:before,.plus:after { content:''; position:absolute; background:#527767; width:12px; height:1px; top:6px; }
.plus:after { transform:rotate(90deg); transition:transform .2s; }
details[open] .plus:after { transform:rotate(0); }
.accordion ul { padding:0 20px 23px 47px; margin:0; color:var(--muted); font-size:13px; }
.accordion li { margin-bottom:9px; }
.accordion details>p { padding:0 25px 24px 0; font-size:13px; }
.audience { background:var(--ink); color:white; }
.audience h2 em,.enrollment h2 em { color:var(--mint); }
.audience .section-heading>p { color:#b4c5c6; }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; }
.audience-grid article { margin-top:32px; padding:0 34px; border-left:1px solid #3c555d; }
.audience-grid article:first-child { border:0; padding-left:0; }
.audience-grid article>span { color:#90b3a7; font-size:10px; }
.audience-grid h3 { font-size:23px; font-weight:500; line-height:1.4; letter-spacing:-.5px; margin:22px 0 13px; min-height:65px; }
.audience-grid p { color:#aebfc1; font-size:13px; max-width:290px;}
.mentor {border-top: 1px solid var(--line);}
.mentor .two-columns { align-items:center; }
.mentor-panel { display:flex; flex-direction:column; justify-content:flex-end; align-items: flex-end; color:white; position:relative; overflow:hidden; }
.mentor-panel .eyebrow { font-size:8px; }
.mentor-panel img {width: 100%; max-width: 550px; height:720px; border-radius:5px; object-fit: cover; object-position: top;}
.mentor-monogram { font-family:Georgia,serif; font-size:145px; letter-spacing:-22px; line-height:1; align-self:center; color:#d6ebdf; }
.mentor-monogram>span { font-family:Arial,sans-serif; font-size:65px; vertical-align:top; color:#8dbaa4; }
.mentor-caption { font-size:12px; letter-spacing:3px; }
.mentor-panel p { color:#afc6bc; font-size:11px; margin-top:5px; }
.mentor-copy h3 { font-size:19px; margin:28px 0 13px; }
.mentor-copy>p { font-size:13px; margin-bottom:15px; }
.mentor-note { border-top:1px solid var(--line); margin-top:25px; padding-top:20px; font-size:11px; position:relative; padding-left:30px; color:#4a6a60; }
.mentor-note>span { position:absolute; left:0; font-size:23px; }
.enrollment { background:var(--ink); color:white; }
.enrollment-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.enrollment h2 { font-size:clamp(35px,3.6vw,49px); }
.enrollment-grid>div>p { margin-top:23px; color:#b7c8c7; font-size:14px; }
.enrollment-facts { display:flex; flex-direction:column; margin-top:35px; padding-left:18px; border-left:2px solid #93c3ab; font-size:15px; gap:3px; }
.enrollment-facts>span+span { color:#b7c8c7; font-size:12px; }
.availability { display:flex; align-items:center; gap:9px; font-size:9px; letter-spacing:1.5px; margin-top:32px; color:var(--mint); }
.price-card { background:var(--paper); color:var(--ink); padding:36px; border-radius:5px; }
.price-card .eyebrow { font-size:9px; margin-bottom:12px; }
.price { font-family:'Manrope',sans-serif; font-size:58px; font-weight:500; line-height:1.2; letter-spacing:-3px; }
.price>span { font-size:22px; letter-spacing:-1px; }
.price>small { font-size:30px; }
.enrollment-grid .price-card>p { color:var(--muted); font-size:13px; margin-top:13px; }
.cash-price { display:flex; justify-content:space-between; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:15px 0; margin:24px 0; font-size:12px; }
.price-card .button { width:100%; font-size:12px; gap:12px; background:#b9e6cd; }
.price-card .button:hover { background:#a5d8bc; }
.price-contact { display:block; text-align:center; font-size:9px; color:var(--muted); margin-top:12px; }
.enrollment-grid .price-card .cancellation { font-size:9px; line-height:1.7; padding-top:17px; margin-top:19px; border-top:1px solid var(--line); }
.closing { text-align:center; background: url(../imagens/site/bg_inscricao.jpg) no-repeat center #e4eee3; padding:70px 0; }
.closing .eyebrow { justify-content:center; font-size:9px; }
.closing h2 { font-size:30px; letter-spacing:-1px; line-height:1.4; margin-bottom:28px; }
.footer { padding:45px 0 20px; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-bottom:35px; }
.footer-top>p { font-size:11px; }
.footer-top>div>a { display:block; font-size:11px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; color:#7b8786; font-size:9px; }

@keyframes reveal-in { from { opacity:0; translate:0 22px; } to { opacity:1; translate:0 0; } }
.is-revealed { animation:reveal-in .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both; }
.is-revealed:focus-within { animation:none; }
@media (prefers-reduced-motion:reduce) { .is-revealed { animation:none; } }

.navigation { gap:clamp(12px,1.5vw,28px); }
.faq { background:#f0f4ee; }
.faq-layout { grid-template-columns:.85fr 1.15fr; align-items:start; gap:clamp(40px,6vw,110px); }
.faq-contact { margin-top:35px; padding:28px; max-width:410px; border:1px solid #d3dfd3; border-radius:8px; background:#e4ece1; }
.faq-contact .eyebrow { font-size:8px; margin-bottom:12px; }
.faq-contact h3 { font-size:22px; font-weight:500; letter-spacing:-.5px; }
.faq-contact p { margin:12px 0 22px; font-size:13px; }
.faq-contact .button { width:100%; gap:16px; }
.faq-phone { display:block; margin-top:12px; text-align:center; font-size:11px; color:#547769; }
.accordion-cards { counter-reset:question; }
.accordion-cards details { counter-increment:question; margin-bottom:12px; border:1px solid #d9e2d7; border-radius:7px; background:var(--paper); overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.accordion-cards details:first-child { border-top:1px solid #d9e2d7; }
.accordion-cards details[open] { border-color:#91b4a0; box-shadow:0 8px 24px #102d3506; }
.accordion-cards summary { padding:23px 24px; gap:18px; }
.accordion-cards summary:before { content:counter(question,decimal-leading-zero); color:#769884; font-size:11px; font-variant-numeric:tabular-nums; }
.accordion-cards summary h3 { font-size:15px; line-height:1.5; }
.accordion-cards .plus { width:28px; height:28px; background:#e7efe5; border-radius:50%; }
.accordion-cards .plus:before,.accordion-cards .plus:after { left:8px; top:14px; }
.accordion-cards details>p { padding:0 64px 25px 57px; font-size:14px; line-height:1.8; }
.accordion-cards details>ul { margin:0; padding:0 64px 25px 73px; font-size:14px; line-height:1.8; }