/* ============================================================
   Academia Pessoa Fitness — identidade visual (port 1:1 do CSS
   original) + refinamentos tipográficos (line-height seguro para
   acentos em Bebas Neue), estilos de blog e do wizard /book-now.
   ============================================================ */

:root{--red:#f20d35;--red2:#c90027;--black:#070707;--coal:#0e0e10;--surface:#151518;--steel:#9899a1;--line:#2b2b30;--white:#fff;--display:'Bebas Neue','Arial Narrow',sans-serif;--body:'Manrope',system-ui,sans-serif;--container:1180px;--shadow:0 30px 80px rgba(0,0,0,.25)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px;overflow-x:hidden;max-width:100%}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--black);color:#fff;font-family:var(--body);line-height:1.65}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
::selection{background:var(--red);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.container{width:min(var(--container),calc(100% - 44px));margin:auto}
.skip-link{position:fixed;top:-60px;left:15px;z-index:999;background:#fff;color:#000;padding:10px 15px}
.skip-link:focus{top:15px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:82px;background:rgba(5,5,6,.8);border-bottom:1px solid #ffffff17;backdrop-filter:blur(14px);transition:.3s}
.site-header.scrolled{height:70px;background:rgba(5,5,6,.97)}
.nav-shell{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand img{width:178px;height:54px;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.site-header nav>a:not(.nav-action){position:relative;padding:10px 0}
.site-header nav>a:not(.nav-action):after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--red);transition:.25s}
.site-header nav>a:hover:after,.site-header nav>a.active:after{right:0}
.nav-action,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid transparent;font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:.25s}
.nav-action{background:var(--red);padding:0 22px}
.nav-action:hover,.btn-red:hover{background:#ff2448;transform:translateY(-2px);box-shadow:0 16px 36px #f20d3545}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:8px}
.menu-toggle span{display:block;width:27px;height:3px;background:#fff;margin:6px auto;transition:.25s}

/* ---- HERO ---- */
.hero{position:relative;min-height:780px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(90deg,#050506 0%,#09090a 52%,#111 100%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,#070707)}
.hero-grid-lines{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 65%)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding-top:80px}
.hero-copy{position:relative;z-index:3;max-width:680px}
.hero h1,.section h2,.achievement h2,.club h2,.club h3,.trainer-band h2,.plans h2,.progress-section h2,.store-section h2,.faq-section h2,.final-cta h2{font-family:var(--display);text-transform:uppercase;line-height:1.1;letter-spacing:.005em;margin:0;text-wrap:balance}
.hero h1{font-size:clamp(72px,6.6vw,96px);max-width:760px;padding-left:26px;border-left:5px solid var(--red)}
.hero-copy>p{font-size:18px;max-width:610px;color:#d2d2d6;margin:28px 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.btn-red{background:var(--red);color:#fff}
.btn-outline{border-color:#ffffff66;color:#fff}
.btn-outline:hover{border-color:#fff;background:#ffffff0c}
.hero-proof{display:flex;align-items:center;gap:12px;margin-top:38px;text-transform:uppercase}
.hero-proof strong{font-family:var(--display);font-size:30px;line-height:1.05}
.hero-proof span{font-size:10px;color:#b2b2b6;line-height:1.4}
.hero-proof i{height:38px;border-left:1px solid #ffffff39;margin:0 14px}
.hero-media{position:relative;height:700px;align-self:end}
.hero-media:before{content:"";position:absolute;inset:70px -80px 0 -160px;background:radial-gradient(circle at 55% 45%,#f20d3520,transparent 52%)}
.hero-media img{position:absolute;z-index:2;right:-80px;bottom:-4px;width:690px;height:650px;object-fit:cover;object-position:50% 28%;mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 80%,transparent 100%),linear-gradient(0deg,transparent 0,#000 18%);mask-composite:intersect}
.hero-ring{position:absolute;right:23px;top:168px;width:390px;height:390px;border:3px solid var(--red);border-radius:50%;box-shadow:0 0 0 22px #f20d350f,0 0 80px #f20d3525}
.scroll-cue{position:absolute;z-index:4;bottom:24px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#8f8f96}
.scroll-cue span{color:var(--red);margin-left:12px}

/* ---- SEÇÕES CLARAS ---- */
.section{padding:120px 0;background:#fff;color:#111}
.section-label{display:block;margin-bottom:14px;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.section h2,.achievement h2,.plans h2,.store-section h2,.faq-section h2{font-size:clamp(52px,6vw,78px)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.about-copy p{color:#5f6067}
.about-copy blockquote{margin:28px 0;padding-left:21px;border-left:3px solid var(--red);font-size:17px;font-weight:700}
.about-contact{display:flex;align-items:center;gap:14px;margin-top:34px}
.round-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#111;color:#fff;border:1px solid #ffffff24;box-shadow:0 8px 22px #00000059;transition:.25s}
.about-contact:hover .round-icon{background:var(--red);border-color:var(--red);box-shadow:0 10px 26px #f20d3552}
.round-icon svg{width:25px;height:25px}
.about-contact small{display:block;text-transform:uppercase;font-size:9px;font-weight:800;color:#777}
.about-contact div a{font-size:17px;font-weight:800}
.text-link{margin-left:auto;color:var(--red);font-size:12px;font-weight:800;text-transform:uppercase}
.about-media{position:relative;height:580px}
.about-media figure{position:absolute;margin:0;overflow:hidden;border-radius:4px;box-shadow:var(--shadow)}
.about-media img{width:100%;height:100%;object-fit:cover}
.photo-main{left:0;top:42px;width:65%;height:490px;transform:skewY(-2deg)}
.photo-main img{transform:scale(1.06) skewY(2deg)}
.photo-top{right:0;top:0;width:37%;height:245px}
.photo-bottom{right:-22px;bottom:0;width:42%;height:280px}
.experience-stamp{position:absolute;left:-35px;bottom:-7px;display:flex;align-items:center;gap:10px;width:155px;height:108px;padding:18px;background:var(--red);color:#fff;box-shadow:0 18px 45px #f20d3540}
.experience-stamp strong{font-family:var(--display);font-size:48px;line-height:1}
.experience-stamp span{font-size:10px;font-weight:800;text-transform:uppercase;line-height:1.35}

/* ---- VALUES ---- */
.values{position:relative;padding:50px 0 80px;background:#0a0a0b;overflow:hidden}
.values:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(135deg,#fff 1px,transparent 1px);background-size:24px 24px}
.value-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-card{display:flex;gap:22px;min-height:200px;padding:32px;border:1px solid #36363b;background:linear-gradient(145deg,#161619,#0d0d0e);transition:.3s}
.value-card:hover{transform:translateY(-6px);border-color:var(--red);box-shadow:0 22px 50px #000}
.feature-icon{display:grid;place-items:center;flex:0 0 66px;height:66px;color:var(--red);background:#f20d3510;border:1px solid #f20d3545;border-radius:12px;box-shadow:inset 0 0 22px #f20d350d;transition:.3s}
.feature-icon svg,.club-benefits svg,.modality-item svg,.store-categories svg{width:100%;height:100%}
.feature-icon svg{width:42px;height:42px}
.value-card:hover .feature-icon{background:#f20d351f;border-color:var(--red);box-shadow:0 12px 30px #f20d3533,inset 0 0 22px #f20d3514;transform:scale(1.04)}
.value-card h3{font-family:var(--display);font-size:27px;text-transform:uppercase;margin:2px 0 10px;line-height:1.1}
.value-card p{color:#aaaab0;font-size:13px;margin:0}

/* ---- ACHIEVEMENT ---- */
.achievement{padding:110px 0;background:#fff;color:#111;overflow:hidden}
.achievement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.achievement-visual{position:relative;height:580px}
.achievement-visual img{position:absolute;z-index:2;left:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:saturate(.9);clip-path:polygon(0 6%,92% 0,100% 94%,7% 100%)}
.red-slab{position:absolute;z-index:1;inset:55px -25px -20px 40px;background:var(--red);clip-path:polygon(0 6%,92% 0,100% 94%,7% 100%)}
.achievement-copy p{color:#64656c}
.metric-row{display:flex;gap:18px;margin-top:35px}
.metric-row>div{min-width:180px;padding:25px;border-left:1px solid #d5d5d8}
.metric-row strong{font-family:var(--display);font-size:45px;line-height:1}
.metric-row b{color:var(--red);font-size:28px}
.metric-row span{display:block;margin-top:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}

/* ---- CLUB ---- */
.club{position:relative;padding:85px 0 25px;overflow:hidden;background:linear-gradient(120deg,#08080a 0,#151116 65%,#50000f 100%)}
.club:after{content:"";position:absolute;right:-130px;top:-200px;width:560px;height:660px;background:var(--red);transform:skewX(-24deg);opacity:.78}
.club-beam{position:absolute;inset:0;background:linear-gradient(160deg,transparent 0 62%,#f20d3514 62% 72%,transparent 72%)}
.club-grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr .7fr 1fr;align-items:center;min-height:410px}
.club h2{font-size:115px}
.club h2 span{color:var(--red)}
.club h3{font-size:44px}
.club-copy p{color:#bdbdc3;max-width:420px}
.club-person{position:relative;height:440px;align-self:end}
.club-person img{height:100%;width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 20px 50px #000)}
.club-benefits{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.club-benefits div{display:flex;align-items:center;gap:14px;min-height:94px;border-bottom:1px solid #ffffff1f}
.club-benefits svg{width:46px;height:46px;padding:12px;color:#fff;background:#0b0b0dd9;border:1px solid #ffffff2e;border-radius:12px;box-sizing:border-box;flex:0 0 auto;box-shadow:0 10px 26px #00000059;transition:.25s}
.club-benefits div:hover svg{border-color:#ffffff73;background:#17171ae6;transform:scale(1.06)}
.club-benefits span{font-size:12px;font-weight:800;text-transform:uppercase}
.club-note{position:relative;z-index:3;padding-top:18px;border-top:1px solid #ffffff18;color:#9d9da4;font-size:11px;text-align:center}

/* ---- MODALIDADES ---- */
.section-heading{max-width:760px;margin-bottom:55px}
.section-heading p{color:#62636a}
.modality-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:stretch}
.modality-list{border-top:1px solid #d8d8dc}
.modality-item{display:grid;grid-template-columns:70px 1fr 35px;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #d8d8dc;transition:.25s}
.modality-item:hover{padding-left:14px;background:linear-gradient(90deg,#f20d3509,transparent)}
.modality-item>span{display:grid;place-items:center;width:58px;height:58px;padding:11px;box-sizing:border-box;background:#f20d350e;color:var(--red);border:1px solid #f20d3529;border-radius:14px;transition:.25s}
.modality-item:hover>span{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 12px 30px #f20d3545}
.modality-item svg{width:36px;height:36px}
.modality-item h3{font-family:var(--display);font-size:25px;text-transform:uppercase;margin:0;line-height:1.1}
.modality-item p{margin:3px 0;color:#707178;font-size:12px}
.modality-item>a{font-size:24px;color:var(--red);transition:.25s}
.modality-item:hover>a{transform:translateX(6px)}
.modality-photo{position:relative;margin:0;overflow:hidden;min-height:620px;background:#111;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.modality-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.08)}
.modality-photo:after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#000)}
.modality-photo figcaption{position:absolute;z-index:2;left:45px;bottom:35px;color:#fff;font-family:var(--display);font-size:28px;text-transform:uppercase}

/* ---- TRAINER BAND ---- */
.trainer-band{background:#111;color:#fff}
.trainer-band-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:430px}
.trainer-band-copy{padding:60px 70px 60px 0}
.trainer-band h2{font-size:clamp(48px,5.5vw,75px)}
.trainer-band-copy p{color:#aaaab2}
.trainer-band figure{position:relative;height:430px;margin:0;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}
.trainer-band figure img{width:100%;height:100%;object-fit:cover;object-position:center 35%}

/* ---- TESTIMONIALS ---- */
.testimonials{background:#f4f4f5}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.testimonial{position:relative;margin:0;padding:44px;background:#fff;border-top:3px solid var(--red);box-shadow:0 18px 55px #1f1f230d}
.testimonial>span{position:absolute;right:32px;top:4px;color:#f20d3518;font-family:serif;font-size:120px;line-height:1}
.testimonial p{position:relative;font-size:16px;color:#4f5057}
.testimonial-author{margin-top:25px}
.testimonial strong,.testimonial small{display:block;text-transform:uppercase}
.testimonial small{color:#8b8b91;font-size:10px;margin-top:4px}

/* ---- PLANS ---- */
.plans{padding:120px 0;background:linear-gradient(135deg,#070708,#151518);overflow:hidden}
.plans-heading{max-width:720px;margin-bottom:55px}
.plans-heading p{color:#aaaab0}
.plan-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;align-items:stretch;gap:18px}
.plan-card{position:relative;border:1px solid #3a3a3f;background:linear-gradient(145deg,#202024,#101012);transition:.3s}
.plan-card:hover{transform:translateY(-7px);border-color:#f20d358c;box-shadow:0 28px 70px #00000080}
.plan-card header{padding:32px;text-align:center;border-bottom:1px solid #3a3a3f}
.plan-card h3{font-family:var(--display);font-size:46px;text-transform:uppercase;margin:0;line-height:1.1}
.plan-card header p{margin:0;color:#b8b8be;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.plan-card ul{list-style:none;margin:0;padding:25px 30px}
.plan-card li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff0c;text-transform:uppercase;font-size:11px;font-weight:700}
.plan-card li svg{width:22px;height:22px;color:var(--red);flex:0 0 auto}
.plan-card>a{display:flex;justify-content:space-between;padding:23px 30px;border-top:1px solid #3a3a3f;text-transform:uppercase;font-size:11px;font-weight:800}
.plan-card.featured{background:linear-gradient(145deg,#ff123d,#b90021);border-color:var(--red);box-shadow:0 25px 70px #f20d352e}
.featured-label{position:absolute;top:-26px;left:50%;transform:translateX(-50%);background:#fff;color:#111;padding:6px 22px;font-size:9px;font-weight:800;text-transform:uppercase}
.featured li svg{color:#fff}
.featured>a{border-color:#ffffff3d}
.plan-card a:hover{background:#ffffff0c}

/* ---- PROGRESS ---- */
.progress-section{padding:90px 0;background:#fff;color:#111}
.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.progress-section h2{font-size:58px}
.progress-copy p{color:#65666d}
.progress-bars>div+div{margin-top:28px}
.progress-bars span{display:flex;justify-content:space-between;font-size:11px;font-weight:800;text-transform:uppercase}
.progress-bars i{display:block;height:8px;margin-top:12px;background:#e4e4e6}
.progress-bars em{display:block;height:100%;width:0;background:var(--red);transition:1.2s ease}
.progress-bars.visible em{width:var(--value)}

/* ---- STORE ---- */
.store-section{padding:110px 0 40px;background:#09090a}
.store-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center}
.store-section h2{font-size:65px}
.store-copy>p{color:#aaaab0}
.store-categories{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}
.store-categories>div{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #303035;background:#111114;border-radius:12px;transition:.25s}
.store-categories>div:hover{border-color:#f20d3566;background:#15151a;transform:translateY(-3px);box-shadow:0 16px 36px #00000073}
.store-categories svg{width:44px;height:44px;padding:11px;box-sizing:border-box;color:var(--red);background:#f20d3512;border:1px solid #f20d3538;border-radius:11px;flex:0 0 auto;transition:.25s}
.store-categories>div:hover svg{background:#f20d3521;border-color:#f20d356b}
.store-categories span{font-size:10px;color:#9f9fa6}
.store-categories strong{display:block;color:#fff;text-transform:uppercase;font-size:11px;margin-bottom:3px}
.store-copy>small{display:block;margin-top:14px;color:#77777f;font-size:10px}
.store-photo{margin:0;position:relative;min-height:600px}
.store-photo:before{content:"";position:absolute;inset:10% 0;background:radial-gradient(circle,#f20d3523,transparent 63%)}
.store-photo img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.05);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.brand-rail{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:30px;margin-top:35px;padding:28px 0;border-top:1px solid #27272c}
.brand-rail span{text-transform:uppercase;font-size:11px;font-weight:800;color:#a5a5aa}
.brand-rail img{max-height:72px;width:100%;object-fit:contain;filter:brightness(1.8) grayscale(.2)}

/* ---- STRUCTURE / GALERIA ---- */
.structure-heading{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:50px}
.structure-heading p{color:#65666d}
.gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:270px 270px;gap:14px}
.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#111;color:#fff;cursor:pointer}
.gallery-item:first-child{grid-row:1/3}
.gallery-item:nth-child(4){grid-column:2/4}
.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:.45s}
.gallery-item:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000b)}
.gallery-item span{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.gallery-item:hover img{transform:scale(1.05);filter:saturate(1)}

/* ---- FAQ ---- */
.faq-section{padding:110px 0;background:#09090a}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.faq-section h2{font-size:68px}
.faq-heading p{color:#9999a0}
.text-link.light{display:inline-block;margin:18px 0 0;color:#fff}
.accordion details{border:1px solid #333338;background:#111114}
.accordion details+details{margin-top:12px}
.accordion summary{position:relative;list-style:none;padding:25px 55px 25px 26px;font-family:var(--display);font-size:24px;text-transform:uppercase;cursor:pointer;line-height:1.15}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary i:before,.accordion summary i:after{content:"";position:absolute;right:26px;top:50%;width:16px;border-top:2px solid var(--red);transition:.2s}
.accordion summary i:after{transform:rotate(90deg)}
.accordion details[open] summary i:after{transform:rotate(0)}
.accordion details p{margin:0;padding:0 26px 24px;color:#aaaab0;font-size:13px}

/* ---- FINAL CTA / FOOTER ---- */
.final-cta{padding:75px 0;background:linear-gradient(110deg,#111 0,#201014 58%,#6f0016 100%);border-top:1px solid #2f2f33}
.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.final-cta h2{font-size:64px}
.final-cta p{color:#aaaab0}
.btn-large{min-width:340px;min-height:72px;font-size:14px}
.btn-large svg{width:28px;height:28px;fill:none;stroke:currentColor}
footer{padding:75px 0 25px;background:#050506}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .65fr .65fr;gap:55px}
.footer-brand img{width:210px}
.footer-brand p{color:#85858d;font-size:12px;max-width:310px}
.footer-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--red)}
.footer-grid a,.footer-grid p{display:block;margin:8px 0;color:#aaaab1;font-size:12px}
.footer-grid a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:55px;padding-top:22px;border-top:1px solid #222227;color:#626269;font-size:10px}
.floating-whatsapp{position:fixed;z-index:90;right:23px;bottom:23px;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#22c46b;color:#fff;box-shadow:0 12px 35px #0d7c485c;transition:.25s}
.floating-whatsapp:hover{transform:scale(1.07)}
.floating-whatsapp svg{width:31px;height:31px;fill:none;stroke:currentColor}
.lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:50px;background:#000e;backdrop-filter:blur(8px)}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1100px,90vw);max-height:85vh;box-shadow:0 30px 100px #000}
.lightbox button{position:absolute;right:30px;top:20px;border:0;background:none;color:#fff;font-size:48px;cursor:pointer}
.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}

/* ============================================================
   BLOG (mesma identidade, layout próprio para listagem/artigo)
   ============================================================ */
.blog-shell{background:#fff;color:#111;min-height:60vh}
.blog-hero{padding:170px 0 40px;background:#0a0a0b;color:#fff}
.blog-hero .section-label{color:var(--red)}
.blog-hero h1{font-family:var(--display);font-size:clamp(52px,6vw,78px);text-transform:uppercase;line-height:1.1;margin:0;text-wrap:balance}
.blog-hero p{color:#aaaab0;max-width:640px;margin:14px 0 0}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding:56px 0 96px}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e4e4e6;color:#111;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.blog-card:hover{transform:translateY(-5px);border-color:#c9c9cd;box-shadow:0 24px 60px #1f1f2314}
.blog-card figure{margin:0;height:200px;overflow:hidden;background:#111}
.blog-card img{width:100%;height:100%;object-fit:cover;transition:.45s}
.blog-card:hover img{transform:scale(1.05)}
.blog-card-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px}
.blog-card small{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.blog-card h2{font-family:var(--display);font-size:27px;text-transform:uppercase;line-height:1.15;margin:0;text-wrap:balance}
.blog-card p{color:#66666d;font-size:14px;margin:0}
.blog-card .read{margin-top:auto;padding-top:8px;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.article-shell{padding:170px 0 90px}
.article-wrap{max-width:760px;margin:auto;color:#2c2c31}
.article-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0 8px;color:#77777d;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.article-meta b{color:var(--red)}
.article-wrap h1{font-family:var(--display);font-size:clamp(44px,5.4vw,68px);text-transform:uppercase;line-height:1.1;margin:6px 0 10px;text-wrap:balance}
.article-wrap .lead{font-size:18px;color:#5c5c63;margin:14px 0 26px;line-height:1.7}
.article-cover{margin:26px 0;width:100%;aspect-ratio:16/9;object-fit:cover;background:#111}
.article-body{font-size:16.5px;line-height:1.78}
.article-body h2{font-family:var(--display);font-size:34px;text-transform:uppercase;line-height:1.15;margin:42px 0 12px;color:#111}
.article-body h3{font-family:var(--display);font-size:26px;text-transform:uppercase;line-height:1.15;margin:32px 0 10px;color:#111}
.article-body p{margin:0 0 18px}
.article-body ul,.article-body ol{margin:0 0 20px;padding-left:24px}
.article-body li{margin:8px 0}
.article-body a{color:var(--red);font-weight:700;text-decoration:underline}
.article-body blockquote{margin:26px 0;padding:14px 22px;border-left:3px solid var(--red);background:#f7f7f8;font-weight:600}
.article-cta{margin-top:44px;padding:30px;background:#0a0a0b;color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.article-cta h3{font-family:var(--display);font-size:30px;text-transform:uppercase;line-height:1.1;margin:0}
.article-cta p{color:#aaaab0;margin:6px 0 0;font-size:13px}

/* ============================================================
   BOOK-NOW — wizard premium de agendamento (3 etapas)
   ============================================================ */
.book-page{min-height:100vh;background:linear-gradient(180deg,#050506 0%,#0a0a0c 60%,#070707 100%);padding:150px 0 110px}
.book-head{max-width:760px;margin:0 auto 14px;text-align:center}
.book-head .section-label{color:var(--red)}
.book-head h1{font-family:var(--display);font-size:clamp(46px,5.4vw,74px);text-transform:uppercase;line-height:1.1;margin:0;text-wrap:balance}
.book-head p{color:#a9a9b0;margin:14px auto 0;max-width:560px}
.book-progress{display:flex;align-items:center;justify-content:center;gap:0;margin:36px auto 40px;max-width:640px}
.bp-step{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:96px}
.bp-dot{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid #3a3a40;background:#101013;color:#7a7a82;font-family:var(--display);font-size:20px;transition:.35s ease}
.bp-step.active .bp-dot{border-color:var(--red);color:#fff;background:#f20d3514;box-shadow:0 0 0 7px #f20d3512,0 0 30px #f20d3530}
.bp-step.done .bp-dot{border-color:var(--red);color:var(--red);background:#f20d3510}
.bp-label{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#6f6f77;white-space:nowrap}
.bp-step.active .bp-label{color:#fff}
.bp-line{flex:1;height:2px;background:#2c2c32;margin:0 8px 22px;position:relative;overflow:hidden}
.bp-line em{position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
.bp-line.done em{transform:scaleX(1)}
.book-panel{position:relative;max-width:520px;margin:0 auto;background:linear-gradient(145deg,#141417,#0d0d0f);border:1px solid #2e2e34;padding:38px;box-shadow:0 30px 90px #000c}
.book-panel.wide{max-width:1120px;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}
.book-form{padding:38px;animation:bookIn .45s ease}
@keyframes bookIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.book-back-anim{animation:bookBack .45s ease}
@keyframes bookBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.book-panel h2{font-family:var(--display);font-size:34px;text-transform:uppercase;line-height:1.1;margin:0 0 6px}
.book-panel .book-sub{color:#9a9aa2;font-size:13px;margin:0 0 24px}
.field{display:grid;gap:7px;margin-bottom:18px}
.field label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#a2a2aa}
.field label b{color:var(--red)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #34343b;background:#0b0b0d;color:#fff;font-family:var(--body);font-size:14.5px;outline:none;transition:border-color .2s,box-shadow .2s;border-radius:0}
.field textarea{min-height:88px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #f20d3518}
.field input::placeholder,.field textarea::placeholder{color:#5b5b63}
.field .hint{font-size:11px;color:#8b4747;color:#b76; display:none}
.field.error input,.field.error select{border-color:#ff5f5f}
.field .err{display:none;color:#ff8080;font-size:11.5px}
.field.error .err{display:block}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{position:relative;display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #34343b;background:#0b0b0d;cursor:pointer;transition:.22s;font-size:13px;font-weight:700}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice .mark{display:grid;place-items:center;width:20px;height:20px;border:2px solid #4a4a52;flex:0 0 auto;transition:.2s}
.choice .mark:after{content:"";width:10px;height:10px;background:var(--red);transform:scale(0);transition:.2s}
.choice.selected{border-color:var(--red);background:#f20d350d}
.choice.selected .mark{border-color:var(--red)}
.choice.selected .mark:after{transform:scale(1)}
.choice:hover{border-color:#5a5a63}
.book-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}
.btn-ghost{background:transparent;border:1px solid #3c3c44;color:#c9c9d0}
.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-next,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:12px;cursor:pointer;transition:.25s}
.btn-next{background:var(--red);color:#fff;border:1px solid transparent}
.btn-next:hover{background:#ff2448;transform:translateY(-2px);box-shadow:0 16px 36px #f20d3545}
.btn-next:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed;transform:none}
.book-map{position:relative;min-height:560px;background:#0b0b0d;border-left:1px solid #26262c}
.book-map .map-inner{position:absolute;inset:0}
.book-map .map-note{position:absolute;z-index:5;left:18px;bottom:18px;right:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.map-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:#0b0b0dd9;border:1px solid #34343b;color:#e6e6ea;font-size:11.5px;font-weight:700;backdrop-filter:blur(6px)}
.map-chip b{color:var(--red)}
.map-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:40px;text-align:center}
.map-placeholder div{max-width:340px;color:#8d8d95}
.map-placeholder svg{width:46px;height:46px;color:var(--red);margin:0 auto 14px}
.map-placeholder strong{display:block;color:#fff;font-family:var(--display);font-size:24px;text-transform:uppercase;margin-bottom:8px;letter-spacing:.03em}
.map-placeholder span{font-size:12.5px;line-height:1.65}
.book-summary{border-top:1px dashed #3a3a42;margin-top:8px;padding-top:18px;display:grid;gap:10px}
.book-summary div{display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:#9c9ca4}
.book-summary div b{color:#fff;text-align:right;font-weight:700}
.book-done{text-align:center;padding:56px 38px;animation:bookIn .45s ease}
.book-done .ok-ring{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;border-radius:50%;border:2px solid var(--red);box-shadow:0 0 0 12px #f20d3510,0 0 60px #f20d352e;color:var(--red)}
.book-done .ok-ring svg{width:38px;height:38px}
.book-done h2{font-family:var(--display);font-size:40px;text-transform:uppercase;line-height:1.1;margin:0 0 10px}
.book-done p{color:#a9a9b0;font-size:14px;max-width:420px;margin:0 auto 26px;line-height:1.7}
.trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;margin-top:34px}
.trust-strip span{display:inline-flex;align-items:center;gap:9px;color:#7e7e86;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.trust-strip svg{width:17px;height:17px;color:var(--red)}

/* ---- RESPONSIVO ---- */
@media(max-width:980px){.site-header{height:70px}.brand img{width:150px}.menu-toggle{display:block;position:relative;z-index:3}.site-header nav{position:fixed;inset:70px 0 auto;display:block;max-height:0;overflow:hidden;padding:0 24px;background:#080809;transition:.35s}.site-header nav.open{max-height:calc(100vh - 70px);overflow:auto;padding:20px 24px 34px}.site-header nav>a{display:block;padding:14px 0!important}.nav-action{margin-top:10px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}.hero{min-height:auto}.hero-inner{grid-template-columns:1fr;padding-top:130px}.hero-copy{text-align:center;margin:auto}.hero h1{font-size:80px;border-left:0;padding-left:0}.hero-copy>p{margin:25px auto}.hero-actions,.hero-proof{justify-content:center}.hero-media{height:590px}.hero-media img{left:50%;right:auto;transform:translateX(-50%);width:650px}.hero-ring{right:50%;transform:translateX(50%)}.about-grid,.achievement-grid,.modality-layout,.store-grid,.faq-grid{grid-template-columns:1fr}.about-media{margin-top:20px}.value-grid{grid-template-columns:1fr}.achievement-visual{order:2}.club-grid{grid-template-columns:1fr 1fr}.club-person{grid-row:1/3;grid-column:2}.club-benefits{grid-column:1/3}.plan-grid{grid-template-columns:1fr}.plan-card.featured{margin-top:18px}.progress-grid{grid-template-columns:1fr;gap:45px}.trainer-band-grid{grid-template-columns:1fr}.trainer-band-copy{padding-right:0}.trainer-band figure{clip-path:none}.store-photo{min-height:500px}.structure-heading{grid-template-columns:1fr;gap:10px}.footer-grid{grid-template-columns:1fr 1fr}.final-cta-inner{display:block}.btn-large{margin-top:20px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.gallery-item:first-child{grid-row:auto;grid-column:1/3}.gallery-item:nth-child(4){grid-column:auto}.testimonial-grid{grid-template-columns:1fr}.book-panel.wide{grid-template-columns:1fr}.book-map{min-height:380px;border-left:0;border-top:1px solid #26262c}}
@media(max-width:620px){.container{width:min(100% - 28px,var(--container))}.hero h1{font-size:58px}.hero-copy>p{font-size:15px}.hero-actions{display:grid}.hero-proof{gap:8px}.hero-proof i{margin:0 5px}.hero-media{height:480px}.hero-media img{width:520px;height:480px}.hero-ring{width:290px;height:290px;top:125px}.section{padding:82px 0}.section h2,.achievement h2,.plans h2,.store-section h2,.faq-section h2{font-size:50px}.about-grid,.achievement-grid{gap:45px}.about-media{height:470px}.photo-main{width:78%;height:390px}.photo-top{width:39%;height:190px}.photo-bottom{height:220px}.experience-stamp{left:0}.value-card{display:block}.feature-icon{margin-bottom:22px}.achievement{padding:82px 0}.achievement-visual{height:440px}.metric-row>div{min-width:0;padding:15px}.metric-row strong{font-size:36px}.club{padding-top:65px}.club-grid{display:block}.club h2{font-size:86px}.club h3{font-size:38px}.club-person{height:350px}.club-benefits{grid-template-columns:1fr}.club-benefits div{min-height:76px}.modality-photo{min-height:450px}.modality-item{grid-template-columns:58px 1fr 25px}.trainer-band-copy{padding:55px 0}.trainer-band h2{font-size:48px}.trainer-band figure{height:300px}.plans{padding:85px 0}.progress-section{padding:75px 0}.progress-section h2{font-size:46px}.store-section{padding-top:85px}.store-section h2{font-size:50px}.store-categories{grid-template-columns:1fr}.store-photo{min-height:370px}.brand-rail{grid-template-columns:1fr}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(6,220px)}.gallery-item:first-child,.gallery-item:nth-child(4){grid-column:auto}.faq-section{padding:85px 0}.faq-section h2{font-size:50px}.accordion summary{font-size:20px}.final-cta h2{font-size:49px}.btn-large{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.lightbox{padding:20px}.lightbox button{right:15px}.hero .scroll-cue{display:none}.book-page{padding:120px 0 80px}.book-panel{padding:26px}.book-form{padding:26px}.field-row,.choice-grid{grid-template-columns:1fr}.bp-step{min-width:64px}.bp-label{display:none}.book-progress{margin:28px 0 30px}.book-head h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.progress-bars em{width:var(--value)}}

/* Proteções de layout para conteúdo intrínseco em telas estreitas. */
.section,.achievement{overflow:hidden}
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .hero{display:block}
  .hero-inner{min-width:0;grid-template-columns:minmax(0,1fr)}
  .hero-inner>*,.store-grid>*,.plan-grid>*{min-width:0}
  .hero-copy{width:100%;max-width:100%;margin-inline:0}
  .hero h1{font-size:44px}
  .hero-proof{flex-wrap:wrap}
  .store-grid,.plan-grid{grid-template-columns:minmax(0,1fr)}
}

@font-face{font-family:'Bebas Neue';src:url('/assets-pessoa/fonts/bebas-neue-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets-pessoa/fonts/manrope-variable.woff2') format('woff2-variations');font-style:normal;font-weight:200 800;font-display:swap}

/* ---- Ícones: fileta de segurança (nunca renderizar sólido/preto) ---- */
.feature-icon svg,.club-benefits svg,.modality-item svg,.store-categories svg,.plan-card li svg,.round-icon svg,.btn svg,.floating-whatsapp svg{fill:none;stroke:currentColor}
.feature-icon svg,.club-benefits svg,.modality-item svg,.store-categories svg{transition:color .25s,background .25s,border-color .25s,transform .25s,box-shadow .25s}

/* ============================================================
   Extras — tabelas markdown do blog (renderizadas pelo site)
   ============================================================ */
.md-table-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:10px}
.md-table-wrap table{width:100%;border-collapse:collapse;font-size:14.5px}
.md-table-wrap th{background:#111114;color:#fff;text-align:left;padding:12px 16px;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.md-table-wrap td{padding:12px 16px;border-top:1px solid var(--line);color:#c9c9d4}
.md-table-wrap tr:hover td{background:#ffffff05}
.article-body h1,.article-body h2,.article-body h3,.article-body h4{color:#fff;line-height:1.25}
.article-body code{background:#1a1a1f;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:.9em;color:#fbbf24}
.article-body blockquote{border-left:3px solid var(--red);padding:10px 18px;margin:22px 0;background:#101014;color:#c9c9d4;border-radius:0 10px 10px 0}
