/* Homepage typography and shared plan sections. */
body{padding-bottom:112px}body[data-view="inicio"]{background:#080808}.intro{max-width:1770px;margin:auto;padding-top:42px;padding-bottom:38px}.intro .eyebrow{color:#ff751a;font-size:12px;letter-spacing:2px}.intro h1{font-family:Anton,'Arial Narrow',Arial,sans-serif;text-transform:uppercase;font-weight:400;font-size:clamp(46px,5.5vw,86px);line-height:1.12;letter-spacing:-1px;color:#fff}.intro h1 span{color:#ff7417}.intro>p:last-child{color:#bababa;max-width:210px;line-height:1.6}nav a:hover,nav a[aria-current]{color:#ff914f}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #ff914f;outline-offset:4px}.bike-subnav>div{flex-wrap:wrap}.plans-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid #39332e;border-bottom:1px solid #39332e}.plans-section .eyebrow{color:#ff914f}.plans-section h2{font-family:Anton,'Arial Narrow',Arial,sans-serif;font-size:clamp(32px,3.5vw,52px);font-weight:400;line-height:1.18;letter-spacing:0}.plans-section h2 span{color:#ff7417;background:none;-webkit-text-fill-color:currentColor}.plans-intro{color:#bcb8b2;line-height:1.7;font-size:16px}.plans-coming{border:1px solid #463b31;border-top:3px solid #ff7417;padding:34px;background:#161310}.plans-label{color:#ff914f;font-size:12px;font-weight:700;letter-spacing:2px}.plans-coming h3{font-family:Arial,sans-serif;font-size:28px;margin:18px 0 12px}.plans-coming p{color:#bcb8b2;line-height:1.7;max-width:410px}.plans-contact{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:28px;padding-top:22px;border-top:1px solid #483b32;font-weight:700;font-size:15px;line-height:1.5}.plans-contact span{color:#ff914f;font-size:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.music-player{position:fixed;z-index:20;bottom:16px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 32px));display:flex;align-items:center;gap:24px;padding:16px 22px;background:#171717f5;border:1px solid #48403a;border-radius:12px;box-shadow:0 12px 45px #0007;backdrop-filter:blur(12px)}.music-caption{display:flex;gap:14px;align-items:center;min-width:190px}.music-caption strong{display:block;font-size:12px;letter-spacing:1.5px;color:#fff}.music-caption #music-status{display:block;font-size:12px;color:#aaa;margin-top:5px}.sound-bars{color:#ff7417;white-space:nowrap;font-size:22px}.music-select{flex:1}.music-select select{font:inherit;font-size:14px;color:#f5f5f5;background:#222;border:1px solid #51453b;padding:10px;border-radius:5px;width:100%}#music-toggle{min-height:42px;min-width:100px;border:0;border-radius:5px;background:#ff7417;color:#111;font:700 14px Arial;cursor:pointer;white-space:nowrap}#music-toggle:disabled{opacity:.6;cursor:wait}.music-volume{display:grid;gap:5px;font-size:11px;color:#bbb}.music-volume input{width:90px;accent-color:#ff7417}.music-credit{position:absolute;bottom:-1px;right:22px;transform:translateY(-2px);font-size:9px;color:#aaa}.music-player[data-playing="true"] .sound-bars{animation:sound-pulse .8s alternate infinite}@keyframes sound-pulse{to{opacity:.45}}@media(max-width:800px){.intro{padding:30px 5%}.intro h1{font-size:48px;max-width:500px}.intro h1 span{display:block}.intro>p:last-child{max-width:none}.plans-section{grid-template-columns:1fr;gap:24px}.plans-coming{padding:25px}.music-player{bottom:8px;width:calc(100% - 16px);padding:12px;gap:10px;display:grid;grid-template-columns:1fr auto;border-radius:8px}.music-caption{min-width:0;gap:10px}.music-caption strong{font-size:11px}.music-select{grid-row:2;grid-column:1}.music-select select{font-size:13px;padding:8px}.music-volume{display:none}#music-toggle{grid-column:2;grid-row:1 / span 2;min-width:80px}.music-credit{position:static;grid-column:1/-1;transform:none;font-size:10px}body{padding-bottom:154px}.intro .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){.music-player[data-playing="true"] .sound-bars{animation:none}}
@media(max-width:800px){.music-volume{display:flex;align-items:center;gap:8px;grid-row:3;grid-column:1/-1}.music-volume input{width:105px}.music-credit{grid-row:4}body{padding-bottom:180px}}
.guide-art img{height:auto}
/* Keep the original photograph, clipping only its baked-in orange edge strips. */
.choice.strength .cover{height:auto;max-height:none;width:100%;top:50%;bottom:auto;object-fit:initial;clip-path:inset(1.3% 0 1.8%);transform:translateY(-50%)!important}.choice.strength:hover .cover{transform:translateY(-50%)!important}.choice-top{color:#fff;text-shadow:0 1px 5px #000;font-size:12px}.choice.strength .choice-top{padding:8px 10px;margin:-8px -10px;background:linear-gradient(90deg,#000a,transparent);border-radius:3px}
body{padding-bottom:88px}.music-player.compact-audio{width:auto;max-width:calc(100% - 28px);left:auto;right:20px;bottom:18px;transform:none;border-radius:40px;gap:14px;padding:13px 18px;display:flex;background:#151515f2;border:1px solid #ffffff24;box-shadow:0 8px 30px #0005}.compact-audio>svg{color:#ff853a;flex-shrink:0}.compact-audio .music-volume{display:grid;gap:5px;font-size:11px;letter-spacing:.4px;color:#dedede}.compact-audio .music-volume input{width:105px;accent-color:#ff853a;margin:0;cursor:pointer}.compact-audio #music-start{font:600 12px Arial;color:#fff;background:#34302d;border:1px solid #ffffff20;border-radius:20px;padding:10px 13px;cursor:pointer}.compact-audio[data-playing="true"] #music-start{display:none}@media(max-width:800px){body{padding-bottom:100px}.music-player.compact-audio{bottom:12px;right:12px;padding:11px 15px;gap:10px}.compact-audio .music-volume{grid-column:auto;grid-row:auto}.compact-audio .music-volume input{width:95px}.choice-top{font-size:11px}}
.spotify-dock{position:fixed;z-index:20;right:20px;bottom:18px;width:360px;max-width:calc(100vw - 24px);border:1px solid #ffffff20;border-radius:16px;background:#161616;box-shadow:0 12px 40px #0008;overflow:hidden}.spotify-dock summary{display:flex;align-items:center;gap:12px;padding:15px 18px;cursor:pointer;list-style:none;font-size:11px;font-weight:700;letter-spacing:1.2px;color:#f5f5f5}.spotify-dock summary::-webkit-details-marker{display:none}.spotify-dot{color:#ff853a;font-size:23px}.dock-chevron{margin-left:auto;font-size:20px;transition:transform .2s}.spotify-dock details[open] .dock-chevron{transform:rotate(180deg)}.spotify-content{padding:0 10px 12px}.spotify-content iframe{display:block}.spotify-content>a{display:block;font-size:11px;color:#b9b9b9;margin:10px 8px 0}.spotify-dock summary:focus-visible{outline:2px solid #ff853a;outline-offset:-4px}body{padding-bottom:270px}@media(max-width:800px){.spotify-dock{right:12px;bottom:12px;width:330px}.spotify-dock summary{padding:11px 15px}body{padding-bottom:270px}}
.spotify-content{padding:0 0 12px}.spotify-content>a{margin-left:16px}@media(max-width:800px){.spotify-dock{width:360px;max-width:calc(100vw - 16px);right:8px}}
/* Spotify beside the brand, in the page header. */
header{flex-wrap:wrap;justify-content:flex-start;gap:24px}header .brand{order:0}header .spotify-dock{order:1;position:relative;right:auto;bottom:auto;width:360px;max-width:100%;flex:0 1 360px;box-shadow:none;border-radius:12px}header nav{order:2;margin-left:auto}header .location{order:3}body{padding-bottom:0}.spotify-dock summary{padding:10px 16px}.spotify-content>a{margin-top:7px}@media(max-width:800px){header{gap:14px;align-items:center}header .brand{order:0}header nav{order:1;margin-left:auto}header .spotify-dock{order:2;flex-basis:100%;width:100%;max-width:none}body{padding-bottom:0}}
@media(min-width:601px) and (max-width:800px){header .spotify-dock{order:1;flex:0 1 360px;width:360px}header nav{order:2;flex-basis:100%;margin-left:0;justify-content:center}}
header .ambient-player{order:1;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:50px;border:1px solid #ffffff21;background:linear-gradient(135deg,#20201f,#111);box-shadow:inset 0 1px 0 #ffffff08;max-width:100%;flex:0 1 370px}.ambient-player button{background:none;border:0;color:#ff853a;display:grid;place-items:center;padding:5px;cursor:pointer;flex-shrink:0}.ambient-player button:disabled{opacity:1;cursor:default}.audio-spectrum{height:34px;display:flex;align-items:center;gap:3px;flex:1;min-width:70px;overflow:hidden}.audio-spectrum i{display:block;width:3px;flex:1;max-width:4px;height:3px;border-radius:3px;background:#ff853a;transition:height .1s linear;opacity:.8}.ambient-player label{display:flex;flex:0 1 88px;min-width:45px}.ambient-player input{width:100%;margin:0;accent-color:#ff853a;cursor:pointer}.ambient-player output{font-size:11px;color:#bbb;min-width:27px;text-align:right}.ambient-player[data-blocked="true"] button{border-radius:50%;background:#ff853a1a}@media(max-width:600px){header .ambient-player{order:2;flex-basis:100%;padding:10px 15px}.audio-spectrum{height:28px}}@media(min-width:601px) and (max-width:800px){header .ambient-player{order:1;flex:1;min-width:290px}header nav{order:2;flex-basis:100%}}
.audio-spectrum i{max-width:none}
/* Foto vertical da abertura Indoor: preservar professora e bicicleta completas. */
.ride-image{background:#09070b;min-height:730px}
.ride-image>img{object-fit:contain;object-position:center}
.ride-image:after{background:linear-gradient(0deg,#09070b,transparent 16%)}
@media(max-width:800px){.ride-image{min-height:0;max-height:none}.ride-image>img{position:relative;display:block;width:100%;height:auto;object-fit:contain}}
/* Transição contínua da fotografia para o fundo, sem editar o arquivo. */
.ride-image{display:flex;align-items:center;justify-content:center;overflow:visible}
.ride-image>img{position:relative;display:block;width:min(100%,584px);height:auto;object-fit:contain;mix-blend-mode:lighten;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 87%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 87%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.ride-image:after{display:none}
@media(max-width:800px){.ride-image>img{width:100%;max-width:584px}.ride-image{padding:0 3%}}
/* Faixa de energia em laranja e preto, alinhada à identidade Fênix. */
.ride-band{background:linear-gradient(105deg,#120c08 0%,#512209 35%,#9b3e0c 68%,#ce5916 100%);border-top:1px solid #ff853a40;border-bottom:1px solid #ff853a30;color:#fff7f0}
.ride-band b{color:#ffb475}
/* Filme do estúdio: proporção original e bordas que desaparecem no fundo. */
.ride-experience{align-items:center;grid-template-columns:1.1fr .9fr;gap:7%}
.experience-story .experience-lines{margin-top:32px}
.ride-video-frame{display:flex;justify-content:center;align-items:center;min-width:0}
.ride-video{display:block;width:100%;max-width:390px;height:auto;aspect-ratio:9/16;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:800px){.ride-experience{grid-template-columns:1fr;gap:30px}.ride-video{max-width:390px}}
/* Vídeo junto ao título; no celular vem antes dos textos explicativos. */
.ride-experience{grid-template-columns:1.1fr .9fr;column-gap:7%;row-gap:24px;align-items:start}
.experience-story{display:contents}
.ride-experience .section-heading{grid-column:1;grid-row:1;align-self:end}
.ride-experience .experience-lines{grid-column:1;grid-row:2;margin-top:0}
.ride-experience .ride-video-frame{grid-column:2;grid-row:1 / span 2;align-self:center}
@media(max-width:800px){.ride-experience{grid-template-columns:1fr;gap:24px}.ride-experience .section-heading{grid-column:1;grid-row:1}.ride-experience .ride-video-frame{grid-column:1;grid-row:2}.ride-experience .experience-lines{grid-column:1;grid-row:3}.ride-video{width:auto;max-width:100%;height:min(62vh,520px)}}
/* Bordas por sobreposição: evita falha de composição de vídeo com máscaras no desktop. */
.ride-video-frame{position:relative;width:min(100%,390px);justify-self:center;isolation:isolate}
.ride-video{width:100%;-webkit-mask-image:none;mask-image:none}
.ride-video-frame:after{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(90deg,#09070b,transparent 8%,transparent 92%,#09070b),linear-gradient(180deg,#09070b,transparent 7%,transparent 93%,#09070b);z-index:1}
@media(max-width:800px){.ride-video-frame{width:min(100%,calc(62vh * .5625),292.5px)}.ride-video{height:auto;width:100%}}

footer{flex-wrap:wrap}.music-credits{flex-basis:100%;font-size:12px;color:#bdb9b4;line-height:1.6}.music-credits summary{cursor:pointer;padding:10px 0}.music-credits p{font-size:12px;max-width:900px}.music-credits a{text-decoration:underline}.music-credits ol{columns:3;padding-left:20px}.music-credits li{display:list-item;border:0;padding:3px 0;break-inside:avoid}@media(max-width:800px){.music-credits ol{columns:2}}
.ride-video-frame{isolation:auto}.ride-video{mask:none;-webkit-mask:none;transform:translateZ(0);backface-visibility:hidden;opacity:1;visibility:visible}

/* Planos Bike Indoor no Hubfit. */
.bike-plans-shortcut{display:flex;align-items:center;margin-top:18px;padding:10px 0;background:none;border:0;border-bottom:1px solid #ff853a80;color:#ffb17d;font:700 16px Arial,sans-serif;cursor:pointer;width:fit-content;text-align:left}.bike-plans-shortcut:hover{color:#fff}.bike-plans-buy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:18px 22px;border-radius:4px;background:linear-gradient(110deg,#ff7417,#ff9b45);color:#17100b;font:700 17px Arial,sans-serif;line-height:1.4;text-decoration:none}.bike-plans-buy:hover{background:#ffae68}.bike-plans-buy span{font-size:23px}.plans-destination{display:block;margin-top:12px;color:#bcb8b2;font-size:12px;line-height:1.5}.bike-plans-card .plans-contact{font-size:14px}@media(max-width:480px){.bike-plans-buy{padding:16px;font-size:16px}}

/* Catálogo de planos: consulta no site, contratação no Hubfit. */
.bike-plan-catalog{border-top:1px solid #44362d}.bike-plan-heading{max-width:760px}.bike-plan-heading h2{font-family:Anton,'Arial Narrow',Arial,sans-serif;font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1.1}.bike-plan-heading h2 span{color:#ff853a}.bike-buy-steps{list-style:none;padding:0;margin:32px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bike-buy-steps li{display:flex;gap:14px;line-height:1.6;color:#bbb6b1;font-size:14px}.bike-buy-steps b{color:#ff853a;font-size:20px}.bike-buy-steps strong{display:block;color:#fff;font-size:16px;margin-bottom:5px}.bike-plan-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 42px}.bike-plan-jumps button{background:#19130f;color:#f3d8c7;border:1px solid #63432d;padding:12px 16px;border-radius:30px;font:600 13px Arial;cursor:pointer}.bike-plan-jumps button:hover{background:#693315}.bike-plan-group{margin-top:46px;scroll-margin-top:25px}.bike-plan-group>h3{font-size:27px;margin:0 0 10px;color:#fff}.bike-group-intro{color:#bcb8b2;line-height:1.6;margin-bottom:22px}.bike-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bike-price-card{min-width:0;border:1px solid #44362d;border-top:3px solid #ff853a;background:linear-gradient(145deg,#1b1510,#100d0b);padding:26px;display:flex;flex-direction:column}.bike-price-card h4{color:#fff;font-size:18px;line-height:1.5;min-height:54px;margin:0 0 22px}.bike-price-term{font-size:13px;color:#c3b8b0;margin:0 0 7px;text-transform:uppercase;letter-spacing:1px}.bike-price{font-size:clamp(30px,3vw,42px);font-weight:800;color:#fff;margin:0;line-height:1.2;white-space:nowrap}.bike-price span{font-size:18px;color:#ffad76}.bike-price-detail{color:#bcb8b2;font-size:14px;line-height:1.6;margin:12px 0 24px}.bike-price-card .bike-plans-buy{margin-top:auto;font-size:15px;padding:14px 16px}.bike-sold-out{margin-top:auto;color:#c5bcb5;border:1px solid #67584d;padding:15px;text-align:center}.bike-price-card.is-sold-out{border-top-color:#796454}.bike-plan-footer{margin-top:36px;padding-top:24px;border-top:1px solid #44362d;color:#aaa29b;font-size:13px;line-height:1.7}.bike-plan-footer .plans-contact{width:fit-content;color:#ffb17d;border:0;padding:0;margin-top:18px}@media(max-width:1000px){.bike-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.bike-price-grid,.bike-buy-steps{grid-template-columns:1fr}.bike-price-card h4{min-height:0}.bike-plan-group>h3{font-size:23px}.bike-plan-jumps{gap:8px}.bike-plan-jumps button{font-size:12px}.bike-price{font-size:38px}.bike-buy-steps{gap:18px}}

.bike-checkout-heading{margin:46px 0 0;font-size:25px;color:#fff}.bike-plan-catalog>.bike-plan-jumps{margin:24px 0}.bike-plan-catalog>.bike-plan-group:first-of-type{margin-top:28px}.bike-buy-steps li{border:0;padding:0}.bike-buy-steps li span{color:#bcb8b2;font-size:14px}

/* Valores de musculação e Doble fornecidos pela Fênix. */
.strength-plan-catalog{border-top:1px solid #44362d}.strength-plan-catalog h2 span{color:#ff853a}.strength-plan-catalog .bike-price small{font-size:14px;color:#c4b7ad;font-weight:400;margin-left:4px}.strength-plan-catalog .bike-price{font-size:clamp(28px,2.8vw,40px)}.strength-installments{font-size:18px;font-weight:700;color:#ffb786;margin:20px 0 0}.strength-price-note{color:#bcb8b2;font-size:14px;line-height:1.7;margin:24px 0}.doble-plans{margin-top:54px;border-top:1px solid #44362d;padding-top:40px;scroll-margin-top:30px}.doble-plans>h3{font:400 44px Anton,'Arial Narrow',Arial,sans-serif;color:#fff;margin:10px 0}.doble-option{padding:0 0 22px}.doble-option+.doble-option{border-top:1px solid #44362d;padding-top:22px}.strength-plan-catalog .bike-price-card h4{min-height:0}.strength-plan-catalog .bike-price-grid{margin-top:22px}@media(max-width:600px){.strength-plan-catalog .bike-price{font-size:38px}}

/* Destaque editorial do plano anual de sábados. */
.bike-price-card-featured{border:2px solid #ff853a;background:linear-gradient(145deg,#352012,#100d0b);box-shadow:0 0 24px rgba(255,133,58,.14)}.bike-plan-badge{align-self:flex-start;display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:10px 14px;background:linear-gradient(110deg,#ff7a16,#ffb35c);color:#17100a;font:800 12px/1.4 Arial,sans-serif;letter-spacing:.8px;border-radius:4px}.bike-plan-badge span{font-size:16px;line-height:1}.bike-price-card-featured .bike-price{color:#ffb35c}
