/* Original Clarika typography is restored by typography-original.css. */
:root{--navy:#172e44;--navy2:#172e44;--ink:#414242;--muted:#414242;--blue-text:#75beee}
body{font-family:Clarika,Arial,sans-serif;font-weight:700;color:#414242}
.program-card .card-bottom h3{text-transform:uppercase}
.desktop-nav a,.mobile-nav a,.section-label,.section-index,.program-card .card-top,
.visual-offer-badge,.visual-dialog-copy .section-label,.signup-modal__kicker,
.venue-grid button span,.overview .overview-item strong{color:#172e44}
.brand .club-wordmark,.brand .academy-descriptor,
.display-title,.display-title span,.manifesto .display-title span,
.program-card .card-bottom h3,.visual-price strong,.visual-result a,
.visual-dialog-copy h2,.visual-dialog-body>h3,
.visual-offer-row h3,.visual-offer-row .visual-offer-secondary,
.visual-faq h2,.visual-faq summary,.visual-catalog-hero h1,.visual-catalog-offer h2,
.visual-breadcrumb,.visual-breadcrumb a,.visual-back-link,
.route-content .display-title,.route-steps h3,.step-number,.coaches-copy h3,
.venue-grid button strong,.venue-detail-copy h3,.franchise-form h3,
.venue-detail-copy>a,.signup-modal h2,
.manifesto-link,.overview .overview-link b{color:#75beee}
.visual-detail-button,.visual-detail-button:hover,.form-submit,.form-submit:hover,
.signup-modal__button--primary,.venue-tabs button.is-active{background:#75beee;color:#fff;border-color:#75beee}
.signup-modal__button--secondary{background:#fff;color:#75beee;border-color:#75beee}
.visual-filter-reset{color:#414242}
.header-cta{color:#fff}.hero .button-light{color:#fff}
.header-actions .header-informes{background:#172e44;color:#fff;border-color:#172e44}
.header-actions .header-informes:hover{background:#172e44;color:#fff}
.hero{background:#172e44;color:#fff}
.hero-photo{inset:0 0 0 29%;background-image:linear-gradient(90deg,#172e44 0%,rgba(23,46,68,.3) 53%,rgba(23,46,68,.02)),var(--hero-image,url('assets/route-formativa.jpg'));background-position:center,center 35%}
.hero h1{color:#fff}.hero h1 em{color:#75beee}.hero .eyebrow{color:#b9ddf3}.hero .text-link{color:#fff}
.hero .eyebrow:before{background:#75beee}.hero .text-link{border-bottom-color:#c4d8e4}
.hero-signup-secondary{background:transparent!important;color:#fff!important;border-color:#a9c2d3}
@font-face{font-family:ClarikaQuote;src:url('assets/fonts/clarika-geo-400.otf') format('opentype');font-weight:400;font-display:swap}
.hero-photo-caption{color:#fff;background:transparent;padding:0;border:0;margin:0;font-family:ClarikaQuote,Clarika,Arial,sans-serif;font-weight:400;font-size:clamp(18px,1.5vw,26px);line-height:1.15;letter-spacing:0;text-align:right;right:40px;bottom:26px}
.hero-photo-caption span{display:block}.hero-photo-caption strong{font-family:Clarika,Arial,sans-serif;font-weight:700}
.hero-actions .button,.header-cta,.visual-detail-button,.signup-register,.footer-signup{justify-content:center}
.overview .overview-link{justify-content:flex-start}
.hero-description,.section-heading>p,.program-card .card-bottom>p,
.program-card .card-bottom details,.program-card .card-bottom details p,
.manifesto-description,.manifesto-values,.route-intro,.route-steps p,.coaches-copy p,.signup-options p,
.venue-grid button small,.venue-detail-copy>p,.venue-facts dt,.venue-facts dd,
.venue-contacts p,.venue-map-note,.overview .overview-item span,.overview .overview-link,
.visual-program-meta,.visual-price,.visual-filters label,.visual-result,.visual-empty,
.visual-programs-note,.visual-dialog-copy p,.visual-dialog-body>p,
.visual-offer-row dt,.visual-offer-row dd,.visual-offer-row p,.visual-faq p,
.visual-catalog-hero p:not(.section-label),.visual-catalog-offer p,.visual-page-note,
.form-grid label,.form-grid input,.form-grid select,.form-grid textarea,
.franchise-form>p,.form-status,.lead-form label,.lead-form input:not([type=checkbox]),
.lead-form select,.lead-form__status,.signup-modal__copy{color:#414242}
.hero .hero-description{color:#e0eaf1}
.signup .section-label,.signup .section-index,.franchise .section-label,.franchise .section-index,.experience .section-label,.experience .section-index{color:#fff}
.experience .display-title,.experience .display-title span,
.signup .display-title,.signup .display-title span,
.franchise-copy .display-title,.franchise-copy .display-title span{color:#fff}
.footer h2,.footer .footer-social .social-handle,.footer .footer-bottom small{color:#fff}
.footer-brand .club-wordmark,.footer-brand .academy-descriptor{color:#fff}
.footer{background:#75beee;color:#fff}
.footer nav a,.footer .footer-bottom a,.footer .footer-social .social-icon{color:#fff}
.footer .footer-brand .academy-descriptor{border-color:#ffffffa6}
.footer .footer-signup,.footer .footer-signup:hover{background:#fff;color:#75beee;border-color:#fff}
.footer h2,.footer nav,.footer nav a,.footer .footer-signup,
.footer .footer-bottom,.footer .footer-bottom a,.footer .footer-bottom small,
.footer .social-handle{font-family:Clarika,Arial,sans-serif;font-weight:700;letter-spacing:0;word-spacing:0}
.venue-tabs button:not(.is-active){color:#414242}
.signup-options>div:nth-child(2) p{color:#414242}
.signup-options>div:first-child{background:#75beee;color:#fff}
.signup-options>div:first-child>span,.signup-options>div:first-child h3,.signup-options>div:first-child p{color:#fff}
.signup-options>div:nth-child(2){background:#fff;color:#75beee}
.signup-options>div:nth-child(2)>span,.signup-options>div:nth-child(2) h3{color:#75beee}
.signup .signup-options .signup-register{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:auto;max-width:100%;min-width:180px;min-height:48px;margin-top:auto;padding:14px 22px;border:1px solid;border-radius:6px;line-height:1.2;letter-spacing:0;text-decoration:none;text-align:center}
.signup .signup-options>div:first-child .signup-register,.signup .signup-options>div:first-child .signup-register:hover{background:#fff;color:#75beee;border-color:#fff}
.signup .signup-options>div:nth-child(2) .signup-register,.signup .signup-options>div:nth-child(2) .signup-register:hover{background:#75beee;color:#fff;border-color:#75beee}
.site-header .brand .club-wordmark,.site-header .brand .academy-descriptor{color:#75beee}
.desktop-nav a,.mobile-nav a,.overview .overview-item strong{color:#172e44}
.marquee{background:#75beee;color:#fff}.marquee img{filter:none}
.route-image-stamp{color:#fff}
/* Venue browser and detail share a clear card layout; maps fill a fixed frame. */
.venues{background:#f5f9fc}
.venues .venue-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;background:transparent;align-items:start}
.venues .venue-browser{padding:16px;border:1px solid #dce6ed;border-radius:12px;background:#edf4f8}
.venues .venue-tabs{margin-bottom:16px;padding:4px;background:#fff;border:1px solid #dce6ed;border-radius:8px}
.venues .venue-tabs button{min-height:44px;padding:11px 12px;border-radius:5px}
.venues .venue-grid{gap:10px}
.venues .venue-grid button{padding:16px;gap:7px;min-height:122px;border-radius:8px;border:1px solid #dce6ed;box-shadow:0 2px 6px #272b4e04;transition:border-color .2s,background .2s,box-shadow .2s}
.venues .venue-grid button strong{margin:3px 0 2px}
.venues .venue-grid button small{line-height:1.5}
.venues .venue-grid button.is-active{border-color:#75beee;background:#fff;box-shadow:inset 4px 0 #75beee,0 3px 12px #272b4e09}
.venues .venue-grid button:hover{background:#f7fcff;border-color:#75beee}
.venues .venue-grid button:focus-visible,.venues .venue-tabs button:focus-visible{outline:3px solid #75beee;outline-offset:3px}
.venues .venue-detail{background:#fff;border:1px solid #dce6ed;border-radius:12px;box-shadow:0 12px 36px #272b4e0a}
.venues .venue-map{position:relative;display:block;flex:0 0 auto;height:clamp(280px,24vw,360px);min-height:0;overflow:hidden;background:#e9f4fb;border-bottom:1px solid #dce6ed}
.venues .venue-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:100%;border:0}
.venues .venue-map .map-fallback{inset:0;padding:28px;background:#e9f4fb;color:#414242;font-size:14px;line-height:1.6;letter-spacing:0;transform:none;text-align:center}
.venues .venue-map iframe[hidden],.venues .venue-map .map-fallback[hidden]{display:none}
.venues .venue-detail-copy{padding:28px}
.venues .venue-detail-copy h3{margin:12px 0}
.venues .venue-detail-copy>#venue-address{margin-bottom:18px;line-height:1.6}
.venues .venue-facts{grid-template-columns:100px minmax(0,1fr);column-gap:18px;row-gap:0;margin:22px 0;border-top:1px solid #e5edf3}
.venues .venue-facts dt,.venues .venue-facts dd{margin:0;padding:12px 0;border-bottom:1px solid #e5edf3;line-height:1.6;overflow-wrap:anywhere}
.venues .venue-facts dt{color:#75beee}
.venues .venue-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.venues .venue-contacts a{border-radius:6px;min-height:44px}
.venues .venue-contacts p{flex-basis:100%;margin:0;line-height:1.6}
.venues .visual-venue-offer{margin-top:24px;min-height:48px;border:1px solid #75beee;border-radius:6px;background:#75beee;color:#fff;text-decoration:none;white-space:normal;text-align:center}
.venues .visual-venue-offer:hover{background:#75beee;color:#fff}
.venues .venue-map-note{padding:0 28px 24px;line-height:1.6}
@media(max-width:1000px) and (min-width:761px){.venues .venue-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px}.venues .venue-grid{grid-template-columns:1fr}.venues .venue-grid button{min-height:100px}.venues .venue-detail-copy{padding:22px}.venues .venue-facts{grid-template-columns:84px minmax(0,1fr);column-gap:12px}}
@media(max-width:760px){.venues .venue-layout{display:flex;gap:22px}.venues .venue-browser{padding:12px}.venues .venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.venues .venue-grid button{min-height:122px;padding:13px}.venues .venue-map{height:300px;min-height:0}.venues .venue-detail-copy{padding:22px 20px}.venues .venue-facts{grid-template-columns:85px minmax(0,1fr);column-gap:12px}.venues .venue-map-note{padding:0 20px 22px}}
@media(max-width:380px){.venues .venue-grid{grid-template-columns:1fr}.venues .venue-grid button{min-height:100px}}
.floating-contact{display:inline-flex;align-items:center;gap:10px;background:#168344;color:#fff;border-color:#168344;font-family:Clarika,Arial,sans-serif;font-weight:700}
.floating-contact:hover{background:#116a36;color:#fff}
.whatsapp-icon{display:block;flex:none;width:23px;height:23px;fill:currentColor;color:inherit}
.venue-contacts a{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#168344;color:#fff;font-family:Clarika,Arial,sans-serif}
.venue-contacts .whatsapp-icon{width:20px;height:20px}
.visual-dialog-close{font:700 26px/1 Clarika,Arial,sans-serif}
@media(min-width:761px) and (max-width:1440px){.header-inner{flex-wrap:wrap}.desktop-nav{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap}.header-actions{margin-left:auto}}
@media(max-width:760px){.hero-photo{inset:0;background-image:linear-gradient(90deg,#172e44eb,#172e44b0 55%,#172e4455),linear-gradient(0deg,#172e44dd,transparent),var(--hero-image,url('assets/route-formativa.jpg'));background-position:center,center,center 32%}.hero-photo-caption{display:none}.whatsapp-icon{width:22px;height:22px}}
/* Keep the opening photo and both lower bars together at common entry sizes. */
.hero{height:auto;min-height:max(0px,calc(100svh - var(--opening-reserved,235px) - 2px))}
.hero-content{height:auto;padding-top:clamp(20px,4svh,46px);padding-bottom:clamp(24px,4svh,46px)}
.hero-copy{max-width:760px}.hero h1{max-width:760px;font-size:clamp(48px,min(6.2vw,10svh),104px);line-height:.9}
@media(min-width:761px) and (max-height:800px){.hero h1{font-size:clamp(48px,min(5.7vw,9svh),82px);margin-top:16px;margin-bottom:16px}.hero-description{line-height:1.45}.hero-actions{margin-top:20px}.hero-content{padding-block:20px}}
@media(max-width:760px){.hero-copy{max-width:100%}.hero-content{padding-top:18px;padding-bottom:92px}.hero h1{font-size:clamp(42px,min(12vw,6.4svh),68px);margin-block:16px}.hero-description{line-height:1.45}.hero-actions{margin-top:20px}.hero-photo-caption{display:block;right:18px;bottom:15px;font-size:18px;line-height:1.1}}
/* Compact footer spacing, retaining all navigation and contact links. */
.footer .footer-main{padding-top:28px;padding-bottom:26px;gap:22px 28px}
.footer .footer-brand{align-items:center;gap:9px}
.footer .footer-brand img.brand-crest{width:48px;height:76px}
.footer .footer-brand .club-wordmark{font-size:21px}
.footer .footer-brand .academy-descriptor{font-size:13px;padding-left:10px}
.footer h2{margin-top:0;margin-bottom:10px}
.footer nav{gap:4px 16px}
.footer nav a{min-height:28px}
.footer .footer-signup{margin-top:10px;padding:12px 18px;min-height:44px}
.footer .footer-social{gap:4px}
.footer .footer-social a{min-height:36px;padding-block:6px;overflow-wrap:anywhere}
.footer .footer-bottom{padding-top:10px;padding-bottom:10px;gap:12px}
@media(max-width:760px){.footer .footer-main{padding-block:24px;gap:20px}.footer .footer-brand img.brand-crest{width:43px;height:66px}.footer nav a{min-height:32px}.footer .footer-bottom{padding-bottom:72px;gap:6px}}
.hero .button-light,.hero .button-light:hover{background:#75beee;color:#fff}
.hero .hero-signup-secondary,.hero .hero-signup-secondary:hover{background:#fff!important;color:#75beee!important;border-color:#fff}
/* The header is in document flow, so anchor targets need no sticky-header offset. */
html{scroll-padding-top:0}
#programas{scroll-margin-top:0}
.overview .overview-link{align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 40px);min-height:48px;padding:14px 18px;border:1px solid #75beee;border-radius:6px;background:#75beee;color:#fff;text-align:center;letter-spacing:0;transition:background .2s,border-color .2s}
.overview .overview-link::before{content:"";display:block;flex:none;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.overview .overview-link b{display:none}
.overview .overview-link:hover{background:#172e44;border-color:#172e44;color:#fff}
.overview .overview-link:focus-visible{outline:3px solid #172e44;outline-offset:3px}
@media(max-width:760px){.overview .overview-link{width:100%;margin:12px 0;min-height:48px;padding:13px 18px}}
.programs .section-heading .section-label,.programs .section-heading .section-index,
.manifesto-copy>.section-label,.manifesto-copy>.section-label .section-index,
.route-content>.section-label,.route-content>.section-label .section-index,
.venues .section-heading .section-label,.venues .section-heading .section-index{color:#172e44}
.programs .display-title,.programs .display-title span,
.manifesto .display-title,.manifesto .display-title span,
.route .display-title,.route .display-title span,
.venues .display-title,.venues .display-title span{color:#75beee}
.program-card .card-top{color:#172e44}
.program-card .card-bottom h3,.program-card .visual-price strong{color:#75beee}
.program-card .visual-detail-button,.program-card .visual-detail-button:hover{background:#75beee;color:#fff}
/* Keep the full head visible in portrait photos, with the same frame across cards. */
.program-card .program-photo{height:auto;aspect-ratio:1;flex:none}
.program-card .program-photo img,.program-card .program-photo video{width:100%;height:100%;object-fit:cover;object-position:center top}
.program-card .program-video video{object-position:center 15%}
.visual-catalog-offer>img{height:auto;aspect-ratio:1;object-fit:cover;object-position:center top}
.visual-catalog-offer>img[src*="adult"],.visual-dialog-hero>img[src*="adult"]{object-position:center 15%}
.visual-dialog-hero>img{height:auto;max-height:none;aspect-ratio:1;object-fit:cover;object-position:center top}
.program-card .visual-price strong,.visual-catalog-offer .visual-price strong{font-size:28px;line-height:1.1}
.visual-offer-actions .visual-price strong{font-size:30px;line-height:1.1}
.visual-catalog-hero{padding:30px 0 26px;background:#fff;border-bottom:1px solid #dce6ed}
.visual-catalog-hero h1{max-width:100%;font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-.025em;margin:14px 0}
.visual-catalog-hero .visual-breadcrumb{margin-bottom:18px}
.visual-catalog-hero p:not(.section-label){max-width:850px;font-size:15px;line-height:1.6;margin:0}
.visual-catalog-main{padding-top:26px}
.visual-page-note{padding:14px 18px;margin-bottom:20px;border-radius:6px;line-height:1.6}
.visual-catalog-offer-body>.visual-offer-badge{align-self:flex-start;padding:7px 10px;margin-bottom:8px;border:1px solid #dceaf3;border-radius:6px;background:#eef7fc;color:#172e44;font-size:16px;line-height:1.3;letter-spacing:0}
.visual-catalog-offer-body h2{margin:8px 0 18px}
.catalog-card-facts{display:grid;gap:14px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #e5edf3}
.catalog-card-facts>div{display:grid;gap:5px}.catalog-card-facts dt{font-size:11px;color:#172e44;letter-spacing:.04em;text-transform:uppercase}.catalog-card-facts dd{margin:0;font-size:14px;line-height:1.6;color:#414242}
.visual-catalog-offer .visual-price{padding:0 0 5px}.visual-catalog-offer .visual-price small{margin-top:5px;line-height:1.5}
.venues .venue-facts:has(.venue-fact){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}
.venues .venue-fact{padding:14px 16px;border:1px solid #e1ebf2;border-radius:8px;background:#f8fbfd;min-width:0}
.venues .venue-fact[data-fact="Horarios"],.venues .venue-fact[data-fact="Programas"],.venues .venue-fact[data-fact="Duración"],.venues .venue-fact[data-fact="Disponibilidad"]{grid-column:1/-1}
.venues .venue-fact dt,.venues .venue-fact dd{padding:0;border:0}.venues .venue-fact dt{margin-bottom:7px}.venues .venue-fact dd{white-space:pre-line;line-height:1.65}
.franchise-form .form-grid label.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.franchise-form .form-grid label.consent>input[type=checkbox]{width:17px;height:17px;min-height:17px;min-width:17px;flex:0 0 17px;margin:2px 0 0;padding:0;align-self:flex-start}
.franchise-form .form-grid label.consent>span{display:block;flex:1;min-width:0}
.footer .footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer .footer-identity .footer-signup{margin-top:0}
.footer .footer-main{padding-top:20px;padding-bottom:20px;gap:20px 28px}
@media(min-width:1001px){.footer .footer-main{grid-template-columns:1fr 1fr 1.25fr}.footer .footer-brand{grid-column:auto}}
@media(min-width:761px) and (max-width:1000px){.footer .footer-main{grid-template-columns:1fr 1fr}.footer .footer-identity{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}}
@media(max-width:760px){.visual-catalog-hero{padding:24px 0}.visual-catalog-hero h1{font-size:32px}.visual-catalog-offer-body>.visual-offer-badge{font-size:16px}.visual-catalog-offer .visual-price strong,.program-card .visual-price strong{font-size:27px}.footer .footer-main{padding-block:20px;gap:18px}.footer .footer-identity{gap:10px}}
