:root{--dark:#143642;--gold:#C2A059;--cream:#FBF7EE;--ink:#143642;--muted:#5b6d73;--line:#d9d9d9;--r:20px;--head:'Clash Display',sans-serif;--body:'Karla',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--dark);text-decoration:none}a:hover{color:var(--gold)}
h1,h2,h3,h4{margin:0;font-family:var(--head);font-weight:500;letter-spacing:-.01em;line-height:1.2;text-wrap:balance}
b,strong{font-weight:600}
p{margin:0;text-wrap:pretty}
ul{list-style:none;margin:0;padding:0}
.container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--head);font-weight:500;font-size:12px;letter-spacing:.06em;padding:12px 28px;border-radius:999px;border:1.5px solid var(--dark);transition:.25s}
.btn--dark{background:var(--dark);color:#fff}.btn--dark:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn--outline{background:transparent;color:var(--dark)}.btn--outline:hover{background:var(--dark);color:#fff}
.btn--block{width:100%;border-radius:999px;background:var(--dark);color:#fff;cursor:pointer;padding:10px}.btn--block:hover{background:var(--gold);border-color:var(--gold)}
.title-md{font-size:clamp(26px,3vw,34px);font-weight:500}.title-md b{font-weight:600}
.title-sm{font-size:clamp(22px,2.4vw,26px);font-weight:500}
/* header */
.header{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .3s}
.header.is-scrolled{box-shadow:0 4px 20px rgba(20,54,66,.08)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.logo img{height:44px;width:auto}
.nav ul{display:flex;gap:30px}
.nav a{font-family:var(--head);font-size:14px;font-weight:400}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--dark);transition:.3s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{display:none;background:#fff;border-top:1px solid #eee}
.nav-mobile.open{display:block}
.nav-mobile a{display:block;padding:14px 20px;font-family:var(--head);font-weight:600;border-bottom:1px solid #f1f1f1}
/* hero */
.hero__box{position:relative;border-radius:var(--r);overflow:hidden;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:60px 20px;color:#fff;background:var(--dark) url(../assets/img/hero-consulta.jpg) center/cover no-repeat}
.hero__box::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,18,.85),rgba(8,14,18,.6));z-index:0}
.hero__box>*{position:relative}
.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:500;color:#fff}
.hero__title{font-size:clamp(32px,4.4vw,48px);font-weight:500;max-width:560px;color:#fff;line-height:1.1}
.hero__lead{font-size:17px;max-width:500px;opacity:.95}
.hero__trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:14px}
.hero__trust li{display:flex;align-items:center;gap:8px}.hero__trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.social{display:flex;gap:10px}
.social a{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:.25s}
.social a:hover{background:var(--gold)}
.social .ico{width:15px;height:15px;fill:var(--dark)}
/* problem */
.problem{display:grid;grid-template-columns:420px 1fr;gap:60px;align-items:center;padding-top:80px;padding-bottom:80px;max-width:1020px}
.problem__img img{width:100%;max-height:620px;aspect-ratio:2/3;object-fit:cover;border-radius:var(--r)}
.problem__text .title-md{margin-bottom:24px}
.problem__text>p{font-size:16px;color:var(--muted);margin-bottom:28px}
.checklist{display:grid;gap:14px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:16px;font-weight:500}
.check{width:22px;height:22px;flex:none}
/* beliefs */
.beliefs{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px;padding-bottom:80px}
.belief{background:var(--dark);color:#fff;border-radius:var(--r);padding:40px 40px 50px}
.belief__pre{text-align:center;font-family:var(--body);font-size:14px;font-weight:400;opacity:.75}
.belief__title{font-family:var(--head);text-align:center;font-size:28px;font-weight:500;margin:10px 0 30px}
.belief ul{display:grid;gap:14px;max-width:290px;margin:0 auto}
.belief li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.belief .ico{width:15px;height:15px;fill:#fff;flex:none;margin-top:3px}
/* quote */
.quote{text-align:center;padding-bottom:100px;max-width:860px}
.quote__icon .ico{width:44px;height:44px;fill:var(--gold);margin:0 auto 24px}
.quote blockquote{margin:0}.quote__text{font-family:var(--body);font-weight:300;font-size:clamp(17px,2vw,20px);line-height:1.7;letter-spacing:0}
.quote b{font-weight:600}
/* help */
.help{background:var(--dark);color:#fff;padding:80px 0 70px;text-align:center}
.help__title{font-size:clamp(26px,3vw,34px);font-weight:500;color:#fff}
.help__cta{margin-top:44px}
.help__sub{font-family:var(--body);font-weight:400;font-size:16px;max-width:640px;margin:20px auto 50px;letter-spacing:0;color:#fff}
.help__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1000px;margin:0 auto}
.help-card{background:var(--cream);border-radius:var(--r);color:var(--dark);padding:34px 20px;border:2px solid var(--gold);display:flex;flex-direction:column;align-items:center;gap:14px}
.help-card .brain{width:40px;height:40px}
.help-card h3{font-size:18px;font-weight:500}
.help-card p{font-size:14px;color:var(--muted)}
.elementor-animation-float{transition:transform .3s}.elementor-animation-float:hover{transform:translateY(-8px)}
/* about */
.about{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:center;padding-top:30px;padding-bottom:60px;max-width:1020px}
.about__img img{width:100%;max-height:600px;aspect-ratio:630/1024;object-position:top;object-fit:cover;border-radius:var(--r)}
.about__text .title-md{font-weight:500;margin-bottom:22px}
.about__text p{font-size:16px;margin-bottom:16px}
/* testimonials */
.testimonials{padding-bottom:50px;max-width:860px}
.testimonials .title-md{margin-bottom:24px}
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;margin-bottom:40px}
.g-logo{width:20px;height:20px;flex:none}
.stars{display:flex;gap:2px}.stars svg{width:16px;height:16px;fill:#FBBC04}
.review{background:#fff;border:1px solid #e6e6e6;border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 10px rgba(20,54,66,.05)}
.review__head{display:flex;align-items:center;gap:12px}
.review__head .g-logo{margin-left:auto}
.review__avatar{width:40px;height:40px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:600;font-size:16px;flex:none}
.review h3{font-family:var(--body);font-size:15px;font-weight:600;letter-spacing:0}
.review__src{font-size:12px;color:#70757a}
.review__text{font-size:15px;line-height:1.6;color:#3c4043;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review.expanded .review__text{-webkit-line-clamp:unset;display:block}
.review__more{align-self:flex-start;margin-top:auto;background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--dark);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.review__more:hover{color:var(--gold)}
/* approach */
.approach__box{border-radius:var(--r);overflow:hidden;text-align:center;color:#fff;padding:60px 24px;position:relative;background:var(--dark) url(../assets/img/abordagem-praia.webp) center/cover no-repeat}
.approach__box::before{content:"";position:absolute;inset:0;background:rgba(20,54,66,.45)}
.approach__box>*{position:relative}
.approach h2{font-size:clamp(26px,3vw,34px);letter-spacing:.04em;font-weight:500;color:#fff;margin-bottom:14px}
.approach p{font-size:17px;max-width:720px;margin:0 auto}
/* steps */
.steps{padding-top:80px;padding-bottom:60px;max-width:960px}
.steps .title-md{font-weight:500}
.steps__sub{font-family:var(--body);font-weight:400;font-size:16px;text-align:center;margin:16px 0 50px;letter-spacing:0}
.steps__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:40px}
.step{text-align:center;padding:10px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}
.step+.step{border-left:1px solid #eee}
.step h3{font-size:20px;font-weight:500}
.step p{font-size:14px;color:var(--muted)}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;padding:16px;max-width:1140px;margin:20px auto 60px;background:var(--dark);border-radius:var(--r)}
.contact__img{border-radius:var(--r);min-height:460px;background:var(--dark) url(../assets/img/contato-atleta-silhueta.webp) center/cover no-repeat}
.contact__form{padding:28px clamp(16px,3vw,40px);background:#fff;border-radius:calc(var(--r) - 4px);box-shadow:0 8px 30px rgba(20,54,66,.08)}
.contact__sub{font-size:13px;margin:10px 0 24px}
#contact-form{display:grid;gap:14px}
#contact-form label{display:grid;gap:6px;font-family:var(--head);font-size:13px;font-weight:500}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;font:inherit;font-family:var(--body);font-weight:400;font-size:13px;border:1px solid #c9c9c9;border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink)}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
#contact-form .invalid{border-color:#c0392b}
.select{position:relative}.select select{appearance:none}
.select::after{content:"";position:absolute;right:12px;top:50%;border:5px solid transparent;border-top-color:var(--ink);transform:translateY(-25%)}
.form-msg{font-size:14px;min-height:1em}.form-msg.ok{color:#2e7d32}.form-msg.err{color:#c0392b}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
#contact-form button[disabled]{opacity:.6;cursor:wait}
/* faq */
.faq{padding-bottom:40px}
.faq__box{background:var(--dark);color:#fff;border-radius:var(--r);padding:50px clamp(20px,5vw,50px) 40px}
.faq h2{text-align:center;font-size:clamp(26px,3vw,34px);font-weight:400;color:#fff;margin-bottom:36px}
.faq__item{border-bottom:1px solid rgba(255,255,255,.7)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;color:#fff;cursor:pointer;text-align:left;padding:18px 0;font-family:var(--head);font-weight:500;font-size:17px}
.faq__q .ico{width:14px;height:14px;fill:#fff;flex:none;transition:transform .3s}
.faq__q[aria-expanded="true"] .ico{transform:rotate(180deg)}
.faq__a p{font-size:16px;padding:0 0 20px;opacity:.9}
/* footer */
.footer{background:linear-gradient(#fff 0 60px,var(--dark) 60px);color:#fff;padding-bottom:20px}
.cta-band{max-width:1000px;margin:0 auto;background:#FBF1EA;color:var(--dark);border-radius:var(--r);padding:28px clamp(20px,5vw,50px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-band__text{font-family:var(--head);line-height:1.3;font-size:clamp(18px,2vw,22px);font-weight:400;max-width:620px}
.cta-band .btn{flex:none;background:var(--dark);border-color:var(--dark);color:#fff}.cta-band .btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:50px auto 40px}
.footer__cols>div{padding:0 24px;border-right:1px solid rgba(255,255,255,.25)}
.footer__cols>div:first-child{border-left:1px solid rgba(255,255,255,.25)}
.footer__h{font-family:var(--body);text-transform:uppercase;font-size:12px;font-weight:400;letter-spacing:.06em;opacity:.75;margin-bottom:16px}
.footer p,.footer li{font-size:14px}
.footer a{color:#fff}.footer a:hover{color:var(--gold)}
.footer__credit{text-align:center;font-size:10px!important;letter-spacing:.06em;border-top:1px solid rgba(255,255,255,.4);padding-top:14px}
.btn .ico-wa{width:18px;height:18px;fill:currentColor;flex:none}
.btn--wa-green{background:#25D366;border-color:#25D366;color:#fff}.btn--wa-green:hover{background:#1ebe5b;border-color:#1ebe5b;color:#fff;transform:translateY(-2px)}
.btn--lg{font-size:14px;padding:16px 32px;box-shadow:0 8px 24px rgba(37,211,102,.35)}
.btn--wa{background:var(--dark)}
.wa-widget{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.wa-float{position:relative;width:62px;height:62px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:transform .25s}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;animation:waPulse 2s ease-out infinite;z-index:-1}
.wa-float:hover{transform:scale(1.08)}
.wa-float .ico{width:32px;height:32px;fill:#fff}
.wa-float__badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#e53935;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.wa-widget.seen .wa-float__badge{display:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.wa-bubble{position:relative;width:min(300px,calc(100vw - 40px));background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(20,54,66,.22);padding:16px;display:grid;gap:12px;opacity:0;transform:translateY(12px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:.35s}
.wa-widget.open .wa-bubble{opacity:1;transform:none;pointer-events:auto}
.wa-bubble::after{content:"";position:absolute;right:24px;bottom:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.wa-bubble__close{position:absolute;top:6px;right:8px;background:none;border:0;font-size:20px;line-height:1;color:#888;cursor:pointer;padding:4px}
.wa-bubble__head{display:flex;align-items:center;gap:10px}
.wa-bubble__head img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top}
.wa-bubble__head strong{display:block;font-size:15px;font-weight:600}
.wa-bubble__head span{display:flex;align-items:center;gap:6px;font-size:12px;color:#5b6d73}
.wa-bubble__head i{width:8px;height:8px;border-radius:50%;background:#25D366}
.wa-bubble p{font-size:14px;line-height:1.5;background:#f0f2f5;border-radius:0 10px 10px 10px;padding:10px 12px}
.wa-bubble__btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;border-radius:999px;padding:11px;font-weight:600;font-size:14px}.wa-bubble__btn:hover{background:#1ebe5b;color:#fff}
.wa-bubble__btn .ico-wa{width:18px;height:18px;fill:#fff}
@media (prefers-reduced-motion:reduce){.wa-float::before{animation:none}}
/* animations (Elementor fadeInDown / slideInUp / zoomIn) */
.anim{opacity:0}
.anim.in{animation:.9s ease both}
.anim.in[data-anim="fadeInDown"]{animation-name:fadeInDown}
.anim.in[data-anim="slideInUp"]{animation-name:slideInUp}
.anim.in[data-anim="zoomIn"]{animation-name:zoomIn}
@keyframes fadeInDown{from{opacity:0;transform:translate3d(0,-60px,0)}to{opacity:1;transform:none}}
@keyframes slideInUp{from{opacity:0;transform:translate3d(0,100px,0)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale3d(.4,.4,.4)}50%{opacity:1}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.anim{opacity:1}.anim.in{animation:none}html{scroll-behavior:auto}}
/* modal de sucesso */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal__backdrop{position:absolute;inset:0;background:rgba(8,14,18,.6);backdrop-filter:blur(3px);animation:fadeIn .25s ease}
.modal__box{position:relative;width:min(440px,100%);background:#fff;border-radius:var(--r);padding:40px 28px 24px;text-align:center;display:grid;gap:12px;justify-items:center;box-shadow:0 24px 60px rgba(8,14,18,.3);animation:zoomIn .35s ease}
.modal__box:focus{outline:none}
.modal__close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:#8a9aa0;cursor:pointer;padding:4px}
.modal__check{width:64px;height:64px;border-radius:50%;background:var(--gold);display:grid;place-items:center;margin-bottom:6px}
.modal__check svg{width:32px;height:32px}
.modal h2{font-size:24px}
.modal p{font-size:16px;color:var(--muted)}
.modal__alt{margin-top:8px;font-weight:500;color:var(--dark)!important}
.modal__wa{width:100%}
.modal__ok{background:none;border:0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;padding:8px;text-decoration:underline;text-underline-offset:3px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
/* política de privacidade */
.policy{padding-top:40px;padding-bottom:80px}
.policy__crumb{display:flex;gap:8px;font-size:14px;color:var(--muted);margin-bottom:24px}
.policy__head{background:var(--dark);color:#fff;border-radius:var(--r);padding:clamp(28px,5vw,56px);display:grid;gap:14px;margin-bottom:48px}
.policy__head h1{font-size:clamp(30px,4vw,44px);color:#fff}
.policy__head p{max-width:760px;font-size:16px}
.policy__date{font-size:14px;opacity:.75}
.policy__layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}
.policy__toc{position:sticky;top:100px;background:var(--cream);border-radius:var(--r);padding:22px}
.policy__toc strong{display:block;font-family:var(--head);font-weight:500;font-size:16px;margin-bottom:12px}
.policy__toc ol{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px}
.policy__body{display:grid;gap:40px;max-width:760px}
.policy__sec{scroll-margin-top:100px;display:grid;gap:14px}
.policy__sec h2{font-size:clamp(22px,2.4vw,26px)}
.policy__sec h3{font-size:18px;margin-top:6px}
.policy__sec p,.policy__sec li{font-size:16px;line-height:1.7}
.policy__sec ul{list-style:disc;padding-left:20px;display:grid;gap:8px}
.policy__sec a{text-decoration:underline;text-underline-offset:3px}
.policy__table{border:1px solid #e6e6e6;border-radius:var(--r);overflow:hidden;font-size:15px}
.policy__table [role=row]{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;padding:12px 18px;border-top:1px solid #eee}
.policy__table [role=row]:first-child{border-top:0;background:var(--dark);color:#fff;font-weight:600}
/* responsive */
@media (max-width:1024px){
 .nav,.header__cta{display:none}.menu-toggle{display:flex}
 .help__grid{grid-template-columns:repeat(2,1fr)}
 .steps__grid{grid-template-columns:repeat(2,1fr);row-gap:30px}.step:nth-child(3){border-left:0}
 .problem{grid-template-columns:1fr 1fr;gap:40px}.about{grid-template-columns:1fr 1.3fr}
}
@media (max-width:767px){
 .problem,.about,.beliefs,.contact,.testimonials__grid{grid-template-columns:1fr}
 .problem{padding-top:50px;padding-bottom:50px}
 .about__img{order:2}
 .help__grid,.steps__grid{grid-template-columns:1fr}.step+.step{border-left:0}
 .contact__img{min-height:300px}
 .problem__img img{aspect-ratio:4/5;max-height:480px}
 .about__img img{aspect-ratio:4/5;max-height:480px}
 .cta-band{flex-direction:column;text-align:center}
  .btn--lg{width:100%}
 .footer__cols{grid-template-columns:1fr 1fr;row-gap:30px}.footer__cols>div{border:0!important;padding:0 10px}
 .hero__box{min-height:380px}
 .policy__layout{grid-template-columns:1fr}.policy__toc{position:static}
 .policy__table [role=row]{grid-template-columns:1fr;gap:2px}.policy__table [role=row]:first-child{display:none}
}