/* Experimento visual inspirado na linguagem esportiva do StrideFitness.
   Design, textos e implementacao proprios. Apenas a Home usa esta folha.
   Nao e um clone do template do Framer. */
:root{--bg:#0a0908;--panel:#131211;--panel2:#1b1a19;--yellow:#ffd23f;--yellow2:#ffe680;--orange:#b98448;--bronze-line:#54402c;--white:#f8f5f0;--muted:#b2afaa;--line:rgba(242,239,234,.15);--shadow:0 22px 65px rgba(0,0,0,.35)}
body{background:#0c0b0a;color:var(--white);font-family:'Bahnschrift','Segoe UI',Arial,sans-serif}
h1,h2,h3,.brand-main,.hero-badge strong,.quick strong,.feature h3,.unit-body h3{font-family:'Bahnschrift Condensed','Arial Narrow',Impact,'Arial Black',sans-serif;font-stretch:condensed}
.container{width:min(1330px,calc(100% - 86px))}
html{scroll-padding-top:124px}
.site-top{position:sticky;top:0;z-index:80}
.topline{position:relative;z-index:50;background:var(--yellow);color:#0d0c0b;font:900 11px/1.2 'Bahnschrift','Segoe UI',sans-serif;letter-spacing:.24em;padding:9px 12px}
header{top:100%;background:rgba(7,6,5,.93);backdrop-filter:blur(10px)}
.nav{height:80px;border-bottom:1px solid rgba(251,248,243,.18)}
.brand-lockup{flex-direction:row;align-items:center;gap:3px;transform:none}.brand-name{display:flex;flex-direction:column}.brand-logo{display:block;flex:none;width:60px;height:60px;margin-inline:-9px -4px;object-fit:contain}.brand-top{font-size:10px;letter-spacing:.28em;color:var(--yellow);transform:none}
.brand-main{font-size:29px;letter-spacing:-.035em;transform:none}
.menu{gap:24px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#e5e2dd}
.menu .cta{background:var(--yellow);color:#141312;border-radius:2px;padding:15px 18px;box-shadow:none}
.menu .cta:hover{background:#ffeb99;color:#111}
.stride-hero.hero{min-height:820px;display:flex;align-items:stretch;padding:0;isolation:isolate;background:#0a0908}
.stride-hero:before{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,210,63,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,210,63,.035) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(to right,black,transparent 75%);pointer-events:none}
.stride-photo{position:absolute;inset:0 0 0 41%;z-index:-1;background:url('assets/bg-triceps.webp') center 29%/cover no-repeat;filter:grayscale(.2) contrast(1.12) saturate(.75) brightness(.79)}
.stride-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#0a0908 0%,rgba(10,9,8,.97) 27%,rgba(10,9,8,.48) 59%,rgba(10,9,8,.16) 100%),linear-gradient(0deg,#0a0908 0%,transparent 35%,rgba(10,9,8,.27) 87%);pointer-events:none}
.stride-hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:820px;padding:160px 0 115px}
.stride-copy{width:min(830px,100%);position:relative}
.stride-kicker{display:flex;align-items:center;gap:13px;font:900 12px/1.4 'Bahnschrift','Segoe UI',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#dfdcd7}
.stride-kicker:before{content:"";width:34px;height:3px;background:var(--yellow)}
.stride-headline{font-size:clamp(78px,10.4vw,154px);line-height:.79;letter-spacing:-.065em;margin:24px 0 28px;max-width:890px;text-shadow:0 5px 34px rgba(0,0,0,.23);font-weight:1000}
.stride-headline span{display:block;white-space:nowrap}.stride-headline em{font-style:normal;color:var(--yellow)}
.stride-headline .mini{font-size:.72em;letter-spacing:-.048em}
.stride-intro{max-width:510px;font-size:17px!important;line-height:1.67!important;color:#cac7c2!important;margin:0!important}
.stride-hero .actions{margin-top:30px;gap:11px}
.btn{border-radius:2px;padding:16px 23px;letter-spacing:.085em;transition:transform .18s,background-color .18s,border-color .18s}
.btn.yellow{background:var(--yellow);color:#0f0e0d}
.btn.yellow:hover{background:#ffe274;box-shadow:0 12px 28px rgba(255,210,63,.17)}
.btn.ghost{background:rgba(9,8,7,.48);border:1px solid rgba(255,255,255,.36)}
.btn.ghost:hover{border-color:var(--yellow)}
.stride-ticker{position:relative;overflow:hidden;white-space:nowrap;background:var(--yellow);color:#11100f;border-top:1px solid var(--yellow);border-bottom:1px solid var(--yellow);padding:14px 0}
.stride-track{width:max-content;display:flex;align-items:center;gap:36px;animation:stride-marquee 32s linear infinite}
.stride-track span{font:950 17px 'Bahnschrift Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.stride-track b{font-size:14px}
@keyframes stride-marquee{to{transform:translateX(-50%)}}
.stride-mini-caption{font:750 10px/1.6 Consolas,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);margin-top:27px}
.quickbar{margin-top:0;position:relative;z-index:4}.quickgrid{background:#151413;border:0;border-bottom:1px solid rgba(255,210,63,.32);border-radius:0;box-shadow:none;grid-template-columns:repeat(4,1fr)}
.quick{padding:35px 27px;border-right:1px solid rgba(255,210,63,.17);position:relative}
.quick small{color:#999691;font-size:10px;letter-spacing:.17em}.quick strong{font-size:clamp(20px,2.3vw,32px);line-height:1.06;text-transform:uppercase;letter-spacing:-.02em;color:var(--white)}
.stride-intro-bar{border-bottom:1px solid rgba(255,255,255,.11);padding:65px 0 30px;display:flex;justify-content:space-between;gap:25px;align-items:end}
.stride-intro-bar strong{display:block;text-transform:uppercase;letter-spacing:-.045em;line-height:.9;font-size:clamp(33px,4vw,58px);font-family:'Bahnschrift Condensed',Impact,sans-serif}
.stride-intro-bar span{font:700 10px Consolas,monospace;color:var(--yellow);letter-spacing:.15em;text-transform:uppercase}
section{padding:106px 0}
#sobre{background:#0e0d0c}
.section-head{margin-bottom:48px}
.eyebrow,.light .eyebrow{color:var(--yellow);letter-spacing:.18em}
h2{font-size:clamp(44px,5.5vw,78px);line-height:.9;letter-spacing:-.05em;max-width:840px}
.section-head p{font-size:14px;color:#a6a39e}
.story-grid{gap:70px}.story-copy p{color:#b6b3ae}
.story-point{background:#171615;border-radius:3px;border:1px solid #33302b;padding:24px}
.story-point:hover{border-color:var(--yellow)}.story-point b{color:var(--yellow)}
.story-art{border-radius:3px;min-height:560px;border-color:rgba(255,210,63,.18)}
.story-art:after{color:var(--yellow);text-shadow:0 8px 24px #000}
.units-grid{gap:12px}.unit-card{border-radius:4px;background:#161514;box-shadow:none;min-height:570px;border:1px solid #34312c}
.unit-card:hover{border-color:var(--yellow)}.unit-photo{height:270px}.unit-label{border-radius:2px;background:var(--yellow);font-size:9px;letter-spacing:.09em}
.unit-body{padding:26px}.unit-body h3{font-size:34px}.unit-meta b{color:var(--yellow)}
.features-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,2vw,24px);
}
.feature{
  position:relative;
  padding:clamp(20px,3vw,34px);
  border:1px solid var(--bronze-line);
  border-radius:6px;
  background:radial-gradient(ellipse at top left,rgba(255,210,63,.09),transparent 64%),var(--panel);
}
.feature::before{
  content:"";
  position:absolute;
  inset:0 clamp(20px,3vw,34px) auto;
  height:1px;
  background:linear-gradient(90deg,var(--yellow),transparent 75%);
}
.feature-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.feature-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid var(--bronze-line);
  border-radius:6px;
  background:rgba(255,210,63,.08);
  color:var(--yellow);
}
.feature-icon svg{width:26px;height:26px}
.feature h3{margin:0 0 9px;font-size:clamp(22px,2.2vw,32px);text-transform:uppercase;overflow-wrap:anywhere}
.feature p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.feature-partners{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.feature-partners li{border:1px solid var(--bronze-line);border-radius:4px;padding:6px 9px;color:var(--white);font-size:12px}
.feature-partners strong{color:var(--yellow)}
@media(max-width:760px){
  .features-grid{grid-template-columns:1fr}
  .feature-header{margin-bottom:16px}
}
.feature h3{font-size:28px}.feature:hover{border-color:var(--yellow)}
.gallery-grid figure{border-radius:2px}.gallery-grid figcaption{border-radius:2px;background:#11100f}
.final-cta{border-radius:4px}
.footer-grid{gap:25px}footer{border-top:1px solid rgba(255,210,63,.25)}
/* Motion with a graceful reduced-motion fallback */
@media(max-width:1100px){
 .container{width:min(100% - 56px,1150px)}
 .stride-headline{font-size:clamp(72px,10vw,120px)}
 .stride-hero-inner{min-height:760px}
 .stride-hero.hero{min-height:760px}
}
@media(max-width:800px){
 .container{width:calc(100% - 40px)}
 html{scroll-padding-top:114px}.nav{height:72px}
 .stride-hero.hero{min-height:880px}
 .stride-hero-inner{min-height:880px;align-items:flex-end;padding:160px 0 186px}
 .stride-photo{inset:0 0 30% 7%;background-position:60% 20%}
 .stride-shade{background:linear-gradient(0deg,#0a0908 15%,rgba(10,9,8,.93) 29%,rgba(10,9,8,.45) 56%,rgba(10,9,8,.37) 100%),linear-gradient(90deg,rgba(10,9,8,.45),transparent)}
 .stride-headline{font-size:clamp(57px,10vw,90px);line-height:.84;margin-top:19px}
 .quickgrid{grid-template-columns:repeat(2,1fr)}.quick:nth-child(2){border-right:0}
 .stride-intro-bar{padding:52px 0 22px}
 .story-grid{gap:30px}.story-art{min-height:420px}
}
@media(max-width:580px){
 .topline{font-size:9px;letter-spacing:.14em}
 .container{width:calc(100% - 32px)}
 .brand-main{font-size:24px}.brand-logo{width:52px;height:52px;margin-inline:-7px -4px}
 .mobile-menu-btn{background:var(--yellow);border-radius:2px}
 .menu{background:#11100f;border:1px solid rgba(255,210,63,.26)}
 .stride-hero.hero{min-height:790px}
 .stride-hero-inner{min-height:790px;padding:138px 0 191px}
 .stride-photo{inset:0 0 34%;background-position:59% 22%}
 .stride-kicker{font-size:9px;letter-spacing:.16em}
 .stride-kicker:before{width:24px}
 .stride-headline{font-size:clamp(52px,13.3vw,78px);line-height:.84;letter-spacing:-.055em;margin:18px 0}
 .stride-headline span{white-space:normal}
 .stride-headline .mini{font-size:.73em}
 .stride-intro{font-size:14px!important;line-height:1.5!important;max-width:360px}
 .stride-hero .actions{flex-direction:column;align-items:stretch;margin-top:18px}
 .stride-hero .btn{min-height:46px;font-size:10px}
 .stride-mini-caption{margin-top:20px;font-size:9px}
 .stride-ticker{padding:10px 0}.stride-track span{font-size:14px}
 .quick{padding:22px 14px}.quick strong{font-size:21px}.quick small{font-size:9px}
 .stride-intro-bar{display:block}.stride-intro-bar span{display:block;margin-bottom:15px}
 section{padding:70px 0}.section-head{margin-bottom:27px}
 h2{font-size:clamp(38px,10.5vw,55px)}
 .story-art{min-height:430px}.story-grid{gap:28px}
 .unit-photo{height:220px}.unit-body{padding:20px}
 .feature h3{font-size:26px}
 #estrutura{background-attachment:scroll}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important}
}


/* ECG fornecido em ecg-animacao.html: SVG leve, desenho e gradiente originais. */
.stride-ecg{
  --ecg-a:#ffd23f;
  --ecg-b:#b98448;
  --ecg-glow:#b98448;
  position:absolute;left:0;top:82%;width:100%;height:106px;
  z-index:1;pointer-events:none;overflow:hidden;
  opacity:.97;
}
.stride-ecg svg{width:100%;height:100%;display:block;overflow:visible}
.stride-ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.stride-ecg .base{stroke:var(--ecg-b);stroke-opacity:.17;stroke-width:1.2}
.stride-ecg .trace{stroke-dasharray:280 1000;stroke-dashoffset:280}
.stride-ecg .glow{stroke:var(--ecg-glow);stroke-width:9;opacity:.8;filter:url(#ecg-blur)}
.stride-ecg .core{stroke:url(#ecg-grad);stroke-width:3}
@media(max-width:800px){.stride-ecg{top:84%;height:78px}.stride-ecg .glow{stroke-width:7}.stride-ecg .core{stroke-width:2.6}}
@media(max-width:580px){.stride-ecg{top:84%;height:62px}.stride-ecg .glow{stroke-width:6}.stride-ecg .core{stroke-width:2.4}}

/* Controle discreto para a animação SVG integrada */
.stride-motion-toggle{
  display:inline-block;appearance:none;background:transparent;border:0;
  border-bottom:1px solid rgba(255,210,63,.55);border-radius:0;
  padding:4px 0;color:#ffd23f;cursor:pointer;
  font:700 10px/1.2 Consolas,'Courier New',monospace;
  letter-spacing:.07em;margin-left:18px;vertical-align:baseline
}
.stride-motion-toggle:hover,.stride-motion-toggle:focus-visible{color:#fff3ad;border-bottom-color:#fff3ad}
.stride-motion-toggle:focus-visible{outline:2px solid #ffd23f;outline-offset:5px}
@media(max-width:580px){
 .stride-motion-toggle{display:inline-block;margin:9px 0 0}
 .stride-mini-caption{max-width:360px}
}

/* -------------------------------------------------
   Home demonstrativa de academia — fotos licenciadas
   Fundos originais mantidos:
   .stride-photo / .story-art / #estrutura
------------------------------------------------- */
.demo-modalities-section{
  position:relative;
  isolation:isolate;
  background:linear-gradient(90deg,rgba(11,10,9,.94),rgba(11,10,9,.86)),
  url('assets/biblioteca-academia/ambientes/academia-equipamentos-28320723.webp') center 40%/cover no-repeat;
}
.demo-benefits-section{
  position:relative;
  isolation:isolate;
  background:linear-gradient(100deg,rgba(12,11,10,.94),rgba(12,11,10,.90)),
  url('assets/biblioteca-academia/ambientes/academia-vazia-escura-17211446.webp') center 45%/cover no-repeat;
}
.demo-contact-section{
  background:linear-gradient(110deg,rgba(10,9,8,.87),rgba(10,9,8,.78)),
  url('assets/biblioteca-academia/ambientes/academia-vista-cidade-36877065.webp') center 45%/cover no-repeat;
}
.demo-contact-section .final-cta{background:linear-gradient(110deg,var(--yellow),var(--yellow2));box-shadow:0 30px 90px rgba(0,0,0,.45)}
.demo-modalities-section .unit-card{min-height:540px;background:#121110}
.demo-modalities-section .unit-body{min-height:238px}
.demo-modalities-section .unit-photo{height:290px}
.demo-modalities-section .unit-photo img{filter:brightness(.77) contrast(1.08) saturate(.85)}
.demo-modalities-section .unit-card:hover .unit-photo img{transform:scale(1.05);filter:brightness(.92)}
.demo-modalities-section .unit-label{padding:9px 12px}
.demo-modalities-section .unit-body p{font-size:14px;line-height:1.7}
#estrutura .gallery-grid{grid-template-columns:1.16fr .92fr .92fr;grid-template-rows:repeat(3,230px);grid-auto-rows:230px;gap:12px}
#estrutura .gallery-grid img{filter:brightness(.86) saturate(.88)}
#estrutura .gallery-grid figure:hover img{transform:scale(1.045);filter:brightness(1) saturate(1)}
#estrutura .gallery-grid figure.tall{grid-row:1/3}
#estrutura .gallery-grid figcaption{font-size:10px;letter-spacing:.09em;border-color:rgba(255,210,63,.16)}
.gallery-disclaimer{margin:22px 0 0;color:#c2bfba;font-size:12px;line-height:1.5}
.story-art:after{content:"O SEU RITMO.\A O SEU ESPAÇO.\A SUA EVOLUÇÃO.";color:var(--yellow)}
.demo-footer{grid-template-columns:1.1fr .8fr 1.3fr 1.2fr}
.demo-footer .brand-main{color:#faf7f2}
.demo-footer>div>a:not(.brand-lockup){color:#bfbcb7}
.demo-footer>div>a:not(.brand-lockup):hover{color:var(--yellow)}
.demo-footer p{line-height:1.7;margin-top:13px}
@media(max-width:950px){
 #estrutura .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:240px}
 #estrutura .gallery-grid figure.tall{grid-row:auto}
 .demo-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .demo-modalities-section .unit-photo{height:230px}
 .demo-modalities-section .unit-body{min-height:0}
 #estrutura .gallery-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:250px}
 #estrutura .gallery-grid figure.tall{grid-row:auto}
 .demo-footer{grid-template-columns:1fr}
 .demo-contact-section .final-cta{padding:30px 23px}
}

/* Separadores discretos entre seções com fotografias de fundo.
   Mantêm as imagens existentes e criam uma pausa visual sem mudar o recorte. */
.demo-modalities-section,
.demo-benefits-section,
#estrutura,
.demo-contact-section{margin-top:18px}
@media(max-width:620px){
 .demo-modalities-section,
 .demo-benefits-section,
 #estrutura,
 .demo-contact-section{margin-top:12px}
}
