:root {
  --bg: #01090e;
  --ink: #f6fbff;
  --muted: #b6c5d0;
  --cyan: #00def6;
  --bright: #00c8f6;
  --navy: #041521;
  --line: #136479;
  --heading: 'Barlow Condensed', Impact, 'Arial Narrow', sans-serif;
  --body: 'Montserrat', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { background:#000; color:var(--ink); font-family:var(--body); margin:0; min-width:320px; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline:3px solid #f8faff; outline-offset:5px; }
::selection { background:#00d9ef; color:#00151a; }
.visually-hidden { 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; }
.skip-link { position:fixed; top:-100px; left:10px; z-index:1000; padding:12px 20px; background:#fff; color:#000; }
.skip-link:focus { top:10px; }
.site-shell { overflow:hidden; max-width:1680px; margin:auto; background:var(--bg); box-shadow:0 0 90px rgba(0,170,200,.07); }
.section-container { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }

/* Faixa de navegação discreta sobre a arte principal. */
.topbar { height:70px; padding:0 clamp(20px,5%,70px); position:relative; display:flex; align-items:center; justify-content:space-between; gap:22px; background:#001018; z-index:10; border-bottom:1px solid #07333f; }
.topbar__brand { display:inline-flex; align-items:center; white-space:nowrap; }
.topbar__brand-logo { width:clamp(105px,13vw,150px); height:auto; filter:drop-shadow(0 0 10px rgba(0,233,251,.14)); }
.topbar__links { display:flex; align-items:center; gap:clamp(14px,2.1vw,34px); }
.topbar__links a { font-size:12px; font-weight:700; color:#c9dde3; transition:color .18s; }
.topbar__links a:hover { color:var(--cyan); }
.topbar__contact { color:#00121b; background:linear-gradient(150deg,#2effff,#04baff); border-radius:50px; padding:12px 17px; font-size:11px; font-weight:800; white-space:nowrap; transition:filter .2s,transform .2s; }
.topbar__contact:hover { filter:brightness(1.1); transform:translateY(-2px); }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid #16697b; border-radius:8px; background:#052431; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }
.menu-toggle span { display:block; height:2px; width:20px; background:var(--cyan); }

/* HERO: arte de fundo e fotografia fornecidas, preservando a composição. */
.hero { position:relative; background:radial-gradient(ellipse at 67% 17%,rgba(1,222,246,.12),transparent 45%),url('assets/hero-fundo.webp') center top/cover no-repeat; isolation:isolate; min-height:655px; }
.hero::after { content:''; position:absolute; width:100%; height:10px; bottom:0; left:0; background:var(--cyan); box-shadow:0 0 30px rgba(0,220,245,.55); }
.hero__glow { position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.56),transparent 62%); }
.hero__inner { position:relative; min-height:655px; max-width:1270px; margin:auto; padding:25px 42px 100px; }
.hero__copy { position:relative; z-index:2; width:56%; padding-top:3px; }
.hero__logo { width:clamp(185px,23vw,277px); height:auto; margin:0 0 3px; filter:drop-shadow(0 0 10px rgba(0,233,251,.18)); }
.hero h1 { font-family:var(--heading); font-weight:900; font-style:italic; font-size:clamp(33px,3.4vw,48px); letter-spacing:-.015em; line-height:.99; margin:10px 0 16px; text-transform:uppercase; text-shadow:0 3px 13px #000b13; }
.hero h1 span { color:#fff; }
.hero__description { font-size:clamp(12px,1.15vw,15px); line-height:1.42; font-weight:500; font-style:italic; letter-spacing:-.02em; max-width:450px; margin:0 0 20px; text-shadow:0 2px 8px #000; }
.hero__description strong { font-weight:800; }
.hero__eyebrow { font-size:12px; font-weight:900; font-style:italic; letter-spacing:.03em; margin:0 0 17px; }
.hero__cta { display:inline-flex; justify-content:space-between; align-items:center; gap:18px; border:1px solid #002d42; border-radius:40px; background:linear-gradient(110deg,#05283b,#005179); box-shadow:0 8px 25px #0007,0 0 12px rgba(0,225,255,.23); padding:5px 5px 5px 22px; font-size:13px; font-weight:700; transition:transform .2s,box-shadow .2s; }
.hero__cta:hover { transform:translateY(-3px); box-shadow:0 10px 35px #0009,0 0 22px rgba(0,225,255,.45); }
.hero__cta-arrow { width:32px; height:32px; display:grid; place-items:center; background:var(--cyan); color:#001218; border-radius:50%; font-size:20px; }
.hero__trainer { position:absolute; z-index:1; bottom:5px; right:3.5%; height:94%; width:auto; max-width:54%; object-fit:contain; object-position:bottom; filter:drop-shadow(-24px 14px 25px rgba(0,0,0,.24)); pointer-events:none; }

.section-heading { text-align:center; position:relative; z-index:1; margin:0 auto 25px; }
.section-heading h2 { margin:0; font:900 clamp(31px,4.5vw,56px)/.99 var(--heading); letter-spacing:.01em; text-transform:uppercase; }
.section-heading h2 em, .results__heading em { color:var(--cyan); font-style:normal; }
.section-heading p:not(.section-eyebrow) { color:var(--muted); line-height:1.6; font-size:13px; max-width:530px; margin:12px auto 0; }
.section-eyebrow { margin:0 0 9px; color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.2em; }

/* Os sete cartões são arquivos individualizados para o mobile. */
.benefits { position:relative; z-index:2; margin-top:-72px; padding:0 22px 30px; background:linear-gradient(180deg,transparent 0,#011018 75px,#02101a 100%); }
.section-heading--small { max-width:1080px; margin:2px auto 6px; display:flex; align-items:center; gap:17px; }
.section-heading--small h2 { font-size:clamp(19px,2vw,26px); white-space:nowrap; }
.section-heading--small em { color:var(--cyan); }
.section-heading__line { flex:1; height:1px; background:linear-gradient(90deg,transparent,#036478); }
.section-heading__line:last-child { transform:scaleX(-1); }
.benefits__wrap { position:relative; max-width:1320px; margin:auto; }
.benefits__list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:end; gap:clamp(3px,.5vw,9px); padding:0 0 12px; }
.benefits__card { min-width:0; transition:transform .2s; }
.benefits__card:hover { transform:translateY(-5px); }
.benefits__card img { width:100%; height:auto; filter:drop-shadow(0 5px 6px rgba(0,180,200,.11)); }
.carousel-arrow, .swipe-hint { display:none; }

.journey { position:relative; padding:35px 0 55px; isolation:isolate; background:#02070e; }
.journey::before { content:''; position:absolute; z-index:-2; inset:0; background:url('assets/academia-fundo.webp') center -75px/100% auto no-repeat; opacity:.78; }
.journey::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,4,9,.15) 0%,rgba(0,4,9,.78) 34%,rgba(0,9,17,.98) 60%,#010d16 100%),linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.3)); }
.pricing { padding-top:15px; }
.pricing__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,3vw,42px); align-items:start; max-width:1050px; margin:auto; }
.pricing__plan { display:flex; flex-direction:column; align-items:center; min-width:0; }
.pricing__plan img { width:100%; max-width:510px; height:auto; filter:drop-shadow(0 8px 14px #000a); transition:transform .25s; }
.pricing__plan:hover img { transform:translateY(-4px); }
.plan-action { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:45px; width:calc(100% - 25px); max-width:460px; margin-top:0; padding:11px 18px; background:linear-gradient(115deg,#00dcf4,#00aaf2); border-radius:10px; color:#00121b; border:1px solid #7ff9ff; box-shadow:0 0 18px rgba(0,225,255,.22); text-align:center; font:900 18px/1 var(--heading); letter-spacing:.025em; transition:transform .2s,filter .2s; }
.plan-action:hover { filter:brightness(1.15); transform:translateY(-2px); }
.pricing__note { font-size:10px; line-height:1.6; color:#afc2cc; text-align:center; margin:20px auto 0; }

.results { padding-top:90px; }
.results__heading { text-align:center; margin:0 auto 28px; }
.results__heading h2 { font:900 clamp(31px,4.1vw,53px)/1 var(--heading); text-transform:uppercase; margin:0; }
.results__heading h2 span { color:var(--cyan); }
.results__question { font:800 clamp(22px,3vw,36px)/1.05 var(--heading); margin:11px 0 16px; }
.results__contact { display:inline-flex; gap:10px; align-items:center; background:#073b66; border:1px solid #0d75a6; box-shadow:0 7px 20px #0006; border-radius:5px; padding:14px 19px; font-size:11px; font-weight:900; transition:background .2s; }
.results__contact:hover { background:#006897; }
.results__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,2.1vw,32px); max-width:980px; margin:auto; }
.results__item { margin:0; min-width:0; }
.results__item img { width:100%; height:auto; transition:transform .25s,filter .25s; }
.results__item:hover img { transform:translateY(-5px); filter:drop-shadow(0 0 12px #00cae455); }
.results__disclaimer { font-size:10px; color:#a8b9c3; line-height:1.5; margin:12px auto 0; text-align:center; }

.ribbon { position:relative; padding:14px 0; border-block:2px solid #00cbea; color:#00151b; background:#00d8f4; overflow:hidden; transform:skewY(-1deg); box-shadow:0 0 22px #00cbea44; }
.ribbon__track { white-space:nowrap; width:max-content; font:900 clamp(16px,2.2vw,26px)/1 var(--heading); letter-spacing:.065em; animation:marquee 34s linear infinite; }
.ribbon__track span { padding-inline:20px; }
@keyframes marquee { to { transform:translateX(-38%); } }
.access { padding-top:62px; padding-bottom:70px; }
.access__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:980px; margin:0 auto; }
.access__link { position:relative; min-width:0; width:100%; aspect-ratio:1 / 1; border-radius:12px; display:block; transition:transform .2s,filter .2s; }
.access__link img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.access__link:hover { transform:translateY(-6px); filter:drop-shadow(0 0 14px #00eaff66); }
.access__secondary { display:table; margin:18px auto 0; color:#c3d4de; font-size:12px; text-align:center; line-height:1.7; }
.access__secondary strong { color:var(--cyan); }
.access__secondary:hover strong { text-decoration:underline; }
.footer { padding:24px clamp(20px,6vw,80px); border-top:1px solid #0b3b49; background:#00080e; display:flex; justify-content:space-between; align-items:center; gap:28px; }
.footer img { width:100px; height:auto; }
.footer > div { flex:1; }
.footer p { font-size:12px; font-weight:700; margin:0 0 7px; }
.footer small { font-size:10px; color:#8ba2ae; }
.footer__whatsapp { font-size:12px; color:var(--cyan); font-weight:800; }
.footer__whatsapp:hover { text-decoration:underline; }
.floating-whatsapp { position:fixed; right:max(16px,calc((100vw - 1680px)/2 + 18px)); bottom:22px; z-index:99; display:inline-flex; align-items:center; gap:8px; background:#21c063; color:#061d0f; font:800 13px var(--body); padding:12px 16px; border-radius:60px; box-shadow:0 8px 28px #0008; transition:transform .2s; }
.floating-whatsapp svg { width:23px; height:23px; }
.floating-whatsapp:hover { transform:translateY(-4px); }

@media (max-width:1080px) {
  .topbar { gap:15px; }
  .topbar__contact { display:none; }
  .hero__inner { padding-inline:35px; }
  .hero__trainer { right:-1%; }
  .hero__copy { width:62%; }
  .hero h1 { font-size:clamp(34px,4.35vw,48px); }
}
@media (max-width:800px) {
  .topbar { height:60px; padding:0 18px; }
  .topbar__brand-logo { width:110px; }
  .menu-toggle { display:flex; }
  .topbar__links { display:none; position:absolute; top:59px; right:10px; left:10px; background:rgba(1,25,34,.98); border:1px solid #096078; padding:13px; border-radius:0 0 12px 12px; box-shadow:0 15px 25px #0009; }
  .topbar__links.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .topbar__links a { display:block; padding:14px; font-size:14px; }
  .hero { min-height:690px; background-position:53% center; }
  .hero__inner { min-height:690px; padding:15px 26px 75px; }
  .hero__copy { width:66%; }
  .hero h1 { font-size:clamp(31px,4.7vw,39px); }
  .hero__trainer { height:78%; right:-6%; max-width:56%; }
  .hero__description { font-size:12px; }
  .benefits { margin-top:-47px; padding-inline:17px; }
  .benefits__list { display:flex; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; gap:10px; scrollbar-width:none; padding:0 16px 12px; }
  .benefits__list::-webkit-scrollbar { display:none; }
  .benefits__card { flex:0 0 175px; scroll-snap-align:start; }
  .carousel-arrow { display:grid; place-items:center; background:#02e3f5; border:1px solid #9dfaff; color:#00222b; position:absolute; z-index:3; top:48%; width:33px; height:33px; border-radius:50%; font-size:28px; line-height:1; cursor:pointer; box-shadow:0 0 16px #00eaff44; }
  .carousel-arrow--left { left:-10px; }
  .carousel-arrow--right { right:-10px; }
  .swipe-hint { display:block; font-size:11px; color:#aac6ce; text-align:center; margin:0; }
  .journey::before { background-position:center 0; background-size:auto 1100px; }
  .results { padding-top:60px; }
  .section-container { width:min(100% - 36px,800px); }
}
@media (max-width:560px) {
  .hero { min-height:960px; background-size:auto 100%; background-position:57% top; }
  .hero__glow { background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.25) 38%,transparent 75%); }
  .hero__inner { min-height:960px; padding:12px 21px 455px; }
  .hero__copy { width:100%; }
  .hero__logo { width:190px; margin:0 auto 5px; }
  .hero h1 { font-size:clamp(31px,8.5vw,44px); line-height:1; margin:7px 0 12px; }
  .hero__description { max-width:340px; font-size:12px; line-height:1.38; margin-bottom:14px; }
  .hero__eyebrow { font-size:11px; margin-bottom:13px; }
  .hero__trainer { width:100%; max-width:none; height:460px; right:0; left:0; bottom:0; object-fit:cover; object-position:center top; }
  .hero__cta { font-size:12px; }
  .benefits { margin-top:-38px; padding:8px 10px 28px; }
  .section-heading--small { margin-bottom:12px; padding:0 12px; gap:8px; }
  .section-heading--small h2 { font-size:18px; }
  .benefits__card { flex-basis:172px; }
  .benefits__list { gap:9px; }
  .journey { padding:37px 0 40px; }
  .section-heading { margin-bottom:24px; }
  .section-heading h2 { font-size:35px; }
  .section-heading p:not(.section-eyebrow) { font-size:11px; }
  .pricing__grid { grid-template-columns:1fr; max-width:430px; gap:29px; }
  .pricing__plan img { max-width:400px; }
  .plan-action { max-width:365px; font-size:18px; min-height:48px; }
  .pricing__note { max-width:300px; font-size:9px; }
  .results { padding-top:65px; }
  .results__heading h2 { font-size:36px; }
  .results__question { font-size:27px; }
  .results__contact { font-size:10px; max-width:310px; padding:13px 14px; }
  .results__grid { display:flex; gap:12px; max-width:none; margin:0 -18px; padding:0 17px 14px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .results__grid::-webkit-scrollbar { display:none; }
  .results__item { flex:0 0 min(76vw,310px); scroll-snap-align:center; }
  .results__disclaimer { font-size:9px; }
  .ribbon__track { font-size:21px; }
  .access { padding-top:60px; padding-bottom:50px; overflow:hidden; }
  .access__grid { display:flex; flex-direction:column; align-items:center; gap:18px; max-width:100%; margin:0 auto; }
  .access__link { width:min(100%, 310px); flex:0 0 auto; }
  .access__link img { width:100%; height:100%; max-width:none; object-fit:contain; margin:0 auto; }
  .access__link:last-child { grid-column:auto; max-width:none; justify-self:auto; margin-top:0; }
  .access__secondary { font-size:11px; }
  .footer { flex-wrap:wrap; padding:25px 20px 90px; gap:13px; }
  .footer img { width:85px; }
  .footer p { font-size:11px; }
  .footer small { font-size:9px; }
  .footer__whatsapp { flex:0 0 100%; text-align:center; margin-top:2px; }
  .floating-whatsapp { right:12px; bottom:12px; padding:12px; }
  .floating-whatsapp span { display:none; }
}
@media (max-width:380px) {
  .topbar { height:56px; padding:0 14px; }
  .topbar__brand-logo { width:98px; }
  .hero { min-height:910px; }
  .hero__inner { min-height:910px; padding-inline:16px; padding-bottom:430px; }
  .hero h1 { font-size:30px; }
  .hero__trainer { height:430px; }
  .access__link { width:min(100%, 290px); }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
