/* Full-section photographs, in the user's supplied order. */
#manifiesto,#programas,#ruta,#sedes{position:relative;isolation:isolate;background:#172e44}
.numbered-section-photo{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.numbered-section-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--section-photo-position,center)}
.numbered-section-photo::after{display:none}
#manifiesto{--section-photo-position:center 67%}#programas{--section-photo-position:center 62%}#ruta{--section-photo-position:center top}#sedes{--section-photo-position:center 64%}
#manifiesto>.wrap,#programas>.wrap,#ruta>.wrap,#sedes>.wrap{width:calc(100% - 12vw);max-width:1440px;padding:24px 28px;background:#fff;border-radius:12px;box-shadow:0 18px 60px #00000025}
#programas>.wrap,#sedes>.wrap{background:#f3f7fa}
#manifiesto .section-label,#manifiesto .section-index,#manifiesto .manifesto-link,#programas .section-heading .section-label,#programas .section-heading .section-index,#ruta .route-content>.section-label,#ruta .route-content>.section-label .section-index,#sedes .section-heading .section-label,#sedes .section-heading .section-index{color:#172e44}
#manifiesto .manifesto-description,#manifiesto .manifesto-values,#programas .section-heading>p,#programas .visual-result,#programas .visual-programs-note,#ruta .route-intro,#ruta .route-steps p,#ruta .coaches-copy p,#sedes .section-heading>p{color:#414242}
.panel-navigation{display:none}
.program-carousel-arrow,.program-carousel-status{display:none}
/* Catalog facts use the same grouped presentation as venue information. */
.catalog-card-facts{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;border:0;padding:0}
.catalog-card-facts>div{align-content:start;padding:13px;border:1px solid #e1ebf2;border-radius:8px;background:#f8fbfd}
.catalog-card-facts dt{letter-spacing:0}.catalog-card-facts dd{line-height:1.55}
.visual-catalog-offer .visual-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:15px;border:1px solid #dceaf3;border-radius:8px;background:#eef7fc}
.visual-catalog-offer .visual-price small{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #dceaf3}
html.panel-mode{scroll-snap-type:y mandatory;scroll-padding-top:0}
.panel-mode .panel-screen{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin:0}
.panel-mode .landing-opening{display:flex;flex-direction:column}
.panel-mode .landing-opening>.site-header,.panel-mode .landing-opening>.marquee,.panel-mode .landing-opening>.overview{flex:none}
.panel-mode .landing-opening>.hero{flex:1;min-height:0;height:auto}
.panel-mode .section-pad{padding-block:20px}
.panel-mode .panel-screen>.wrap{height:100%;max-height:100%;min-height:0}
.panel-mode .panel-screen>.wrap{transition:opacity .45s ease,transform .45s ease}
.panel-mode .panel-screen:not(.is-current-panel)>.wrap{opacity:.7;transform:translateY(12px)}
.panel-mode .panel-screen.is-current-panel>.wrap{opacity:1;transform:none}
.panel-mode .display-title{font-size:clamp(32px,3.4vw,58px);line-height:1.03;margin-top:12px}
.panel-mode .manifesto-grid{gap:40px;align-items:center}
.panel-mode .manifesto-photo{max-height:min(66svh,520px)}
.panel-mode .manifesto-description{margin-top:18px}.panel-mode .manifesto-values{margin-top:18px;gap:10px}
.panel-mode .manifesto-link{margin-top:20px}
.panel-mode #programas>.wrap,.panel-mode #sedes>.wrap{display:flex;flex-direction:column}
.panel-mode #programas{--program-photo-height:clamp(140px,24svh,250px)}
.panel-mode #programas .section-heading{display:block}
.panel-mode #programas .section-heading .display-title{font-size:clamp(24px,2vw,30px)}
.panel-mode #programas .section-heading>p{font-size:12px;margin-top:6px;max-width:none}
.panel-mode .section-heading{flex:none;gap:24px;margin-bottom:12px;align-items:center}
.panel-mode .section-heading .display-title{font-size:clamp(25px,2.4vw,36px);line-height:1.03;margin-top:8px}
.panel-mode .section-heading>p{font-size:13px;line-height:1.5;max-width:250px}
.panel-mode #programas .visual-filters{flex:none;padding:6px 10px;gap:10px;margin-bottom:0}
.panel-mode #programas .visual-filters label{font-size:10px}
.panel-mode #programas .visual-filters select{height:36px;font-size:12px}
.panel-mode #programas .visual-filter-reset{min-height:36px}
.panel-mode #programas .visual-result{flex:none;margin:8px 0;font-size:11px}
.panel-mode .program-carousel{position:relative;flex:1;min-height:0}
.panel-mode #programas .program-grid{display:flex;height:100%;min-height:0;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
.panel-mode #programas .program-grid::-webkit-scrollbar{display:none}
.panel-mode .program-card{display:flex;flex:0 0 calc((100% - 32px)/3);flex-direction:column;height:100%;min-height:0;scroll-snap-align:start;transform:none!important}
.panel-mode .program-card .program-photo{order:0;width:100%;height:0;min-height:140px;aspect-ratio:auto;flex:1 1 0;margin:0;border-radius:0}
.panel-mode .program-card .program-photo img,.panel-mode .program-card .program-photo video{height:100%;width:100%;object-fit:cover;object-position:center top}
.panel-mode .program-card .card-top{order:1;padding:12px 16px 0;font-size:10px}
.panel-mode .program-card .card-bottom{order:2;flex:none;height:var(--program-body-height,auto);min-height:0;padding:8px 16px 12px;overflow:visible}
.panel-mode .program-card .card-bottom h3{flex:none;min-height:2.16em;margin:0 0 8px;font-size:clamp(19px,1.6vw,23px);line-height:1.08}
.panel-mode .program-card .card-bottom>p{min-height:0;flex:none;margin:0 0 12px;font-size:13px;line-height:1.4}
.panel-mode .program-card .visual-program-meta{flex:none;padding-top:9px;font-size:11px;margin-top:12px}
.panel-mode .program-card .visual-program-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:none;align-items:end;gap:12px;margin-top:10px}
.panel-mode .program-card .visual-price{min-width:0;font-size:11px}
.panel-mode .program-card .visual-price strong{font-size:26px}.panel-mode .program-card[data-program="4"] .visual-price strong{font-size:18px}
.panel-mode .program-card .visual-price small{font-size:9px}
.panel-mode .program-card .visual-detail-button{min-height:38px;width:auto;padding:10px 12px;font-size:11px;white-space:normal}
.panel-mode .program-card .adult-video-open{font-size:10px;padding:8px;min-width:0}.panel-mode .program-card .adult-video-open span{font-size:12px}
.panel-mode .program-card[data-program="0"] .program-photo img{object-position:center 12%}
.panel-mode .program-card .program-video{background:#d4eefb}
.panel-mode .program-card .program-video video{width:min(100%,calc(var(--program-photo-height)*1.2));margin-inline:auto;object-position:center 20%}
.visual-result>a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:8px 14px;border-radius:5px;background:#75beee;color:#fff;font-size:11px;text-decoration:none}
.panel-mode #programas .visual-programs-note{flex:none;margin:10px 0 0;font-size:11px;line-height:1.35}
.panel-mode .program-carousel-arrow{position:absolute;top:46%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:38px;height:38px;border:1px solid #dbe7ee;border-radius:50%;background:#fff;color:#172e44;box-shadow:0 3px 12px #172e4422;cursor:pointer}
.program-carousel-arrow svg{width:21px;height:21px}.program-carousel-arrow.is-next{right:-19px}.program-carousel-arrow.is-previous{left:-19px}.program-carousel-arrow:disabled{opacity:0;pointer-events:none}
.panel-mode .program-carousel-status{display:inline;color:#172e44}.panel-mode .visual-result:has(.program-carousel-status)>span:not(.program-carousel-status){display:none}
.panel-mode .route-grid{height:100%;gap:40px;align-items:stretch}
.panel-mode .route-image-wrap{height:100%;min-height:0;max-height:100%}
.panel-mode .route-image-wrap img{object-position:center top;transform:none!important}
.panel-mode .route-content{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:12px;scrollbar-width:thin}
.panel-mode .route-content .display-title{font-size:clamp(32px,3.2vw,54px)}
.panel-mode .route-intro{margin:16px 0 20px;font-size:14px;line-height:1.5}
.panel-mode .route-steps li{padding-bottom:15px}.panel-mode .route-steps h3{font-size:21px}.panel-mode .route-steps p{font-size:13px;line-height:1.45;margin-top:5px}
.panel-mode .coaches-copy{padding-top:15px;margin-top:4px}.panel-mode .coaches-copy p{font-size:13px;line-height:1.55}
.panel-mode .venues .venue-layout{flex:1;height:auto;min-height:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:16px;background:transparent}
.panel-mode .venues .venue-browser{height:100%;min-height:0;overflow:visible;padding:10px}
.panel-mode .venues .venue-tabs{flex:none;margin-bottom:8px;padding:3px}
.panel-mode .venues .venue-tabs button{padding:9px;font-size:11px}
.panel-mode .venues .venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;overflow:visible;gap:7px;padding-right:0}
.panel-mode .venues .venue-grid button{min-height:0;padding:8px;gap:2px}
.panel-mode .venues .venue-grid button strong{font-size:16px;margin:2px 0}
.panel-mode .venues .venue-grid button span{font-size:8px}
.panel-mode .venues .venue-grid button small{font-size:9px;line-height:1.25}
.panel-mode .venues .venue-detail{height:100%;min-height:0;overflow:hidden}
.panel-mode .venues .venue-map{height:200px;min-height:200px;flex:none}
.panel-mode .venues .venue-detail-copy{padding:10px 12px 4px}
.panel-mode .venues .venue-detail-copy h3{font-size:24px;margin:4px 0 6px}
.panel-mode .venues .venue-detail-copy>p{font-size:11px;line-height:1.35;margin:0 0 6px}
.panel-mode .venues .venue-detail-copy .section-label{font-size:9px}
.panel-mode .venues .venue-detail-copy>a:not(.visual-venue-offer){font-size:11px}
.panel-mode .venues .venue-facts:has(.venue-fact){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}
.panel-mode .venues .venue-fact{grid-column:auto;padding:7px 8px;font-size:10px}
.panel-mode .venues .venue-fact dt{font-size:9px;margin-bottom:3px}
.panel-mode .venues .venue-fact dd{font-size:10px;line-height:1.35}
.panel-mode .venues .venue-contacts{gap:10px}
.panel-mode .venues .venue-contacts p{flex-basis:auto;font-size:11px;margin:0}
.panel-mode .venues .venue-contacts a{font-size:11px;padding:8px 10px;min-height:32px}
.panel-mode .venues .visual-venue-offer{margin-top:10px;min-height:34px;padding:8px;font-size:11px}
.panel-mode .venues .venue-map-note{font-size:9px;padding:0 12px 8px;margin:0}
.panel-mode .venues .venue-browser>.venue-map-note{padding:10px 2px 0;margin-top:auto;line-height:1.4}
.panel-mode .experience-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:28px}
.panel-mode .experience .display-title{font-size:clamp(58px,7vw,100px)}
.panel-mode .signup-layout{gap:40px;align-items:center}.panel-mode .signup-options{gap:14px}
.panel-mode .signup-options>div,.panel-mode .signup-options>div:nth-child(2){min-height:0;padding:22px}
.panel-mode .signup-options h3{margin:18px 0 12px;font-size:29px;min-height:0}
.panel-mode .signup-options p{font-size:14px;line-height:1.45;margin-bottom:18px}
.panel-mode .franchise-layout{gap:40px;align-items:center}
.panel-mode .franchise-form{max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-width:thin}
.panel-mode .footer{scroll-snap-align:end;scroll-snap-stop:always}
.panel-mode .floating-contact{right:34px;bottom:6px;min-height:34px;padding:8px 10px;font-size:10px}
.panel-mode .panel-navigation{position:fixed;right:3px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;z-index:12}
.panel-navigation button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.panel-navigation button::before{content:"";width:8px;height:8px;border:1px solid #75beee;border-radius:50%;background:#172e4477}
.panel-navigation button[aria-current="true"]::before{background:#75beee;box-shadow:0 0 0 3px #75beee33}
.panel-navigation button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(min-width:761px) and (max-width:1100px){.panel-mode .venues .venue-facts:has(.venue-fact){grid-template-columns:repeat(2,minmax(0,1fr))}.panel-mode .program-card .card-top{padding-inline:12px;font-size:9px}.panel-mode .program-card .card-bottom{padding-inline:12px}.panel-mode .program-card .card-bottom>p{font-size:12px}.panel-mode .program-card .visual-program-foot{grid-template-columns:1fr}.panel-mode .venues .venue-detail-copy{padding:12px}.panel-mode .venues .venue-fact{padding:8px}}
@media(min-width:761px) and (max-height:750px){.panel-mode #programas{--program-photo-height:140px}.panel-mode #programas>.wrap,.panel-mode #sedes>.wrap{padding:16px 24px}.panel-mode #sedes .section-heading .display-title{font-size:25px}.panel-mode #sedes .section-heading{margin-bottom:8px}}
/* Photo and copy each occupy one half; only the copy has a white panel. */
@media(min-width:761px){
 #manifiesto,#ruta{padding:0}
 #manifiesto>.wrap,#ruta>.wrap{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none;padding:0;gap:0;background:transparent;border-radius:0;box-shadow:none;align-items:stretch}
 #manifiesto .manifesto-photo,#ruta .route-image-wrap{width:100%;height:100%;min-height:100svh;max-height:none;aspect-ratio:auto;margin:0;border-radius:0}
 #manifiesto .manifesto-photo img,#ruta .route-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none!important}
 #ruta .route-image-wrap img{object-position:center top}
 #manifiesto .manifesto-copy,#ruta .route-content{align-self:center;margin:24px 5vw 24px 24px;padding:30px;background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000018;overflow:visible;height:auto;max-height:none}
 .panel-mode #manifiesto .manifesto-photo,.panel-mode #ruta .route-image-wrap{min-height:0}
 .panel-mode #ruta .route-content .display-title{font-size:clamp(28px,2.6vw,40px)}
 .panel-mode #ruta .route-intro{font-size:13px;line-height:1.4;margin:12px 0 16px}
 .panel-mode #ruta .route-steps li{padding-bottom:11px;gap:8px;grid-template-columns:56px 1fr}
 .panel-mode #ruta .route-steps h3{font-size:19px}.panel-mode #ruta .route-steps p{font-size:12px;line-height:1.4;margin-top:4px}
 .panel-mode #ruta .coaches-copy{padding-top:12px;margin-top:2px}.panel-mode #ruta .coaches-copy h3{font-size:14px}.panel-mode #ruta .coaches-copy p{font-size:11px;line-height:1.4;margin-top:8px}
}
@media(max-width:760px){#manifiesto>.wrap,#programas>.wrap,#ruta>.wrap,#sedes>.wrap{width:calc(100% - 28px);padding:24px 18px}#ruta{--section-photo-position:45% top}.catalog-card-facts{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.catalog-card-facts>div{padding:12px}}
@media(prefers-reduced-motion:reduce){.panel-mode .panel-screen>.wrap{transition:none;transform:none!important;opacity:1!important}}
/* Ruta uses only the supplied photograph, opened out to show both players. */
#ruta .route-image-wrap{display:none}
#ruta .numbered-section-photo{background:#d7d9d5}
#ruta .numbered-section-photo img{width:calc(100% + 7vw);object-fit:cover;object-position:center top;transform:translateX(-7vw) scale(1.14);transform-origin:right top}
#ruta>.wrap{display:flex;justify-content:flex-end;align-items:center;min-height:100svh}
#ruta .route-content{width:calc(50% - 5vw - 24px);flex:none}
@media(max-width:760px){#ruta{padding-top:265px}#ruta .numbered-section-photo img{width:100%;object-fit:contain;object-position:center top;transform:none}#ruta>.wrap{min-height:0;display:block}#ruta .route-content{width:100%;padding:0}}
/* Let the map use the space left after the venue facts and actions. */
.panel-mode .venues .venue-map{height:auto;min-height:200px;flex:1 1 auto}
.panel-mode .venues .venue-detail-copy{flex:none}
.panel-mode .venues #venue-directions{display:inline-flex;align-items:center;min-height:0;margin:0;padding:0;line-height:1.3}
.panel-mode .venues .venue-browser:has(#venue-grid button:nth-child(5)) .venue-grid{flex:1;grid-auto-rows:minmax(0,1fr);align-content:stretch}
.panel-mode .venues .venue-browser:has(#venue-grid button:nth-child(5)) .venue-grid button{justify-content:center}
.panel-mode .venues .venue-browser:not(:has(#venue-grid button:nth-child(5))){height:auto;align-self:start}
.panel-mode .venues .venue-browser:not(:has(#venue-grid button:nth-child(5)))>.venue-map-note{margin-top:14px}
@media(min-width:1600px){
 .panel-mode .venues .venue-grid button{padding:14px;gap:4px}.panel-mode .venues .venue-grid button strong{font-size:20px}.panel-mode .venues .venue-grid button small{font-size:12px;line-height:1.4}.panel-mode .venues .venue-grid button span{font-size:10px}
 .panel-mode .venues .venue-detail-copy{padding:16px 18px 12px}.panel-mode .venues .venue-detail-copy h3{font-size:32px}.panel-mode .venues .venue-detail-copy>p{font-size:14px}.panel-mode .venues .venue-detail-copy .section-label{font-size:11px}
 .panel-mode .venues .venue-fact{padding:11px 12px}.panel-mode .venues .venue-fact dt{font-size:11px}.panel-mode .venues .venue-fact dd{font-size:13px;line-height:1.45}
 .panel-mode .venues .venue-contacts a,.panel-mode .venues .venue-contacts p,.panel-mode .venues #venue-directions{font-size:13px}.panel-mode .venues .visual-venue-offer{font-size:13px;min-height:42px}.panel-mode .venues .venue-map-note{font-size:11px}
}
/* Make availability and pricing the visual anchor of each program card. */
.program-card .visual-program-venues{display:inline-flex;align-items:baseline;gap:7px}
.program-card .visual-venue-number{font-size:26px;line-height:1;color:#75beee}
.program-card .visual-program-venues>span{font-size:12px;color:#172e44}
.program-card[data-program="1"] .program-photo img{object-position:center 14%}
.program-card[data-program="3"] .program-photo img{object-position:center 8%}
.panel-mode .program-card[data-program="1"] .program-photo img{object-position:center 14%}
.panel-mode .program-card[data-program="3"] .program-photo img{object-position:center 8%}
.panel-mode .program-card .visual-venue-number{font-size:clamp(20px,min(1.9vw,3.4svh),36px)}
.panel-mode .program-card .visual-program-meta{padding-top:8px}
.panel-mode .program-card .visual-price strong{font-size:clamp(30px,min(2.5vw,4.4svh),48px)}
.panel-mode .program-card .visual-program-foot{margin-top:8px}
.panel-mode .program-card .card-bottom>p{margin-bottom:0}
@media(min-width:1101px) and (min-height:900px){
 .panel-mode #programas{--program-photo-height:max(250px,calc(100svh - 670px))}
 .panel-mode .program-card .card-bottom h3{font-size:clamp(23px,1.9vw,30px)}
 .panel-mode .program-card .card-bottom>p{font-size:14px;line-height:1.45}
 .panel-mode .program-card .visual-program-meta{padding-top:12px;font-size:13px}
 .panel-mode .program-card .visual-program-venues>span{font-size:13px}
 .panel-mode .program-card .visual-price{font-size:12px}.panel-mode .program-card .visual-price small{font-size:10px}
 .panel-mode .program-card .visual-detail-button{min-height:42px;font-size:12px;padding:11px 15px}
}
/* Compact by actual viewport height, including laptop screens with OS scaling. */
@media(min-width:761px) and (max-height:719px){
 .panel-mode .section-pad{padding-block:12px}
 .panel-mode #programas>.wrap,.panel-mode #sedes>.wrap{width:calc(100% - 48px);padding:12px 18px}
 .panel-mode .section-label{font-size:10px;letter-spacing:.14em}
 .panel-mode .section-heading{margin-bottom:8px;gap:16px}
 .panel-mode .section-heading .display-title,.panel-mode #programas .section-heading .display-title{font-size:24px;margin-top:5px}
 .panel-mode .section-heading>p,.panel-mode #programas .section-heading>p{font-size:12px;line-height:1.35}
 .panel-mode .header-inner{padding-block:8px;gap:8px 20px}
 .panel-mode .desktop-nav{gap:20px}.panel-mode .desktop-nav a{font-size:12px;padding-block:5px}
 .panel-mode .header-actions .button{padding:10px 14px;min-height:36px;font-size:12px}
 .panel-mode .site-header .brand-crest{height:52px;width:36px}
 .panel-mode .site-header .club-wordmark{font-size:17px}.panel-mode .site-header .academy-descriptor{font-size:11px}
 .panel-mode .marquee{padding-block:10px}.panel-mode .marquee-track{font-size:12px}
 .panel-mode .overview-inner{min-height:60px}.panel-mode .overview-item{padding-block:10px}
 .panel-mode .overview-number{font-size:32px}.panel-mode .overview-label{font-size:10px}
 .panel-mode .overview .overview-link{min-height:36px;padding:8px 12px;font-size:11px}
 .panel-mode .hero-content{padding-block:12px}.panel-mode .hero h1{font-size:clamp(34px,min(5vw,8.8svh),58px);margin-block:10px;max-width:620px}
 .panel-mode .hero-description{font-size:13px;line-height:1.4;max-width:580px}
 .panel-mode .hero-actions{margin-top:12px;gap:12px}.panel-mode .hero-actions .button{min-height:38px;padding:11px 16px;font-size:12px}
 .panel-mode .hero-photo-caption{font-size:19px;bottom:18px}
 .panel-mode #manifiesto .manifesto-copy,.panel-mode #ruta .route-content{margin:12px 30px 12px 16px;padding:18px}
 .panel-mode #manifiesto .display-title,.panel-mode #ruta .route-content .display-title{font-size:clamp(24px,2.6vw,33px);margin-top:8px}
 .panel-mode .manifesto-description{font-size:13px;line-height:1.45;margin-top:12px}
 .panel-mode .manifesto-values{margin-top:12px;font-size:11px;gap:8px}.panel-mode .manifesto-link{margin-top:14px;font-size:11px}
 .panel-mode #programas .visual-filters{padding:5px 8px;gap:8px}.panel-mode #programas .visual-filters select{height:30px;font-size:12px}
 .panel-mode #programas .visual-filter-reset{min-height:30px;font-size:11px}.panel-mode #programas .visual-result{margin:5px 0}
 .panel-mode .program-card .program-photo{min-height:90px}
 .panel-mode .program-card .card-top{padding:8px 12px 0;font-size:9px}
 .panel-mode .program-card .card-bottom{padding:6px 12px 10px}
 .panel-mode .program-card .card-bottom h3{font-size:18px;min-height:0;margin-bottom:7px;line-height:1.08}
 .panel-mode .program-card .card-bottom>p{font-size:12px;line-height:1.35}
 .panel-mode .program-card .visual-program-meta{margin-top:8px;padding-top:7px}
 .panel-mode .program-card .visual-venue-number{font-size:23px}
 .panel-mode .program-card .visual-program-venues>span{font-size:11px}
 .panel-mode .program-card .visual-price strong{font-size:29px}.panel-mode .program-card .visual-program-foot{gap:8px;margin-top:6px}
 .panel-mode .program-card .visual-detail-button{min-height:34px;padding:8px 10px}
 .panel-mode #programas .visual-programs-note{font-size:10px;margin-top:6px}
 .panel-mode #ruta .route-intro{font-size:12px;margin:8px 0 12px}
 .panel-mode #ruta .route-steps li{padding-bottom:8px;grid-template-columns:38px 1fr}
 .panel-mode #ruta .route-steps h3{font-size:17px}.panel-mode #ruta .route-steps p{font-size:12px;margin-top:2px}
 .panel-mode #ruta .coaches-copy{padding-top:8px}.panel-mode #ruta .coaches-copy p{font-size:11px;margin-top:5px}
 .panel-mode .venues .venue-layout{gap:10px}
 .panel-mode .venues .venue-browser{padding:7px}.panel-mode .venues .venue-tabs{margin-bottom:6px}
 .panel-mode .venues .venue-tabs button{padding:7px}.panel-mode .venues .venue-grid{gap:5px}
 .panel-mode .venues .venue-grid button{padding:6px}.panel-mode .venues .venue-grid button strong{font-size:14px}
 .panel-mode .venues .venue-grid button small{font-size:9px;line-height:1.2}
 .panel-mode .venues .venue-map{min-height:130px}
 .panel-mode .venues .venue-detail-copy{padding:8px 10px}.panel-mode .venues .venue-detail-copy h3{font-size:21px;margin:3px 0}
 .panel-mode .venues .venue-facts:has(.venue-fact){gap:5px;margin:6px 0}
 .panel-mode .venues .venue-fact{padding:5px 6px}.panel-mode .venues .venue-fact dd{font-size:10px;line-height:1.25}
 .panel-mode .venues .visual-venue-offer{margin-top:6px;min-height:30px;padding:6px}
 .panel-mode .signup-layout,.panel-mode .franchise-layout{gap:22px}
 .panel-mode .signup-options>div,.panel-mode .signup-options>div:nth-child(2){padding:18px}
 .panel-mode .signup-options h3{font-size:24px;margin:12px 0}.panel-mode .signup-options p{font-size:13px}
 .panel-mode .franchise-form{padding:18px}.panel-mode .franchise-form .form-grid{gap:10px}
 .panel-mode .franchise-form input,.panel-mode .franchise-form select{min-height:34px;padding:8px 10px;font-size:12px}
 .panel-mode .franchise-form h3{font-size:22px;margin:0 0 6px}
 .panel-mode .franchise-form>p{font-size:12px;line-height:1.35;margin:0 0 10px}
 .panel-mode .franchise-form .form-grid label{font-size:11px;gap:4px}
 .panel-mode .franchise-form textarea{min-height:52px;height:52px;padding:8px 10px;font-size:12px}
 .panel-mode .franchise-form .form-grid label.consent{font-size:11px;line-height:1.3}
 .panel-mode .franchise-form button[type=submit]{min-height:36px;padding:10px 14px;font-size:12px;margin-top:8px}
}
/* Never clip content at extreme zoom, short heights or after dynamic updates. */
.panel-mode .panel-screen:not(.is-current-panel)>.wrap{transform:none}
.panel-mode #manifiesto.section-pad,.panel-mode #ruta.section-pad{padding:0}
.panel-mode #manifiesto>.wrap{height:100svh}
.panel-mode #manifiesto .manifesto-photo{min-height:0;height:100%;max-height:100svh}
.panel-mode .panel-screen.panel-overflow{height:auto;min-height:100svh;max-height:none;overflow:visible;scroll-snap-align:start}
.panel-mode .panel-overflow>.wrap{height:auto;max-height:none}
.panel-mode #manifiesto.panel-overflow>.wrap{height:auto;min-height:100svh}
.panel-mode #manifiesto.panel-overflow .manifesto-photo{height:100svh}
.panel-mode .panel-overflow .route-content,.panel-mode .panel-overflow .franchise-form,.panel-mode .panel-overflow .venue-detail,.panel-mode .panel-overflow .venue-browser{height:auto;max-height:none;overflow:visible}
.panel-mode .panel-overflow .venue-map{flex:none;height:160px}
.panel-mode .panel-overflow .venue-grid{flex:none;grid-auto-rows:auto}
.panel-mode .panel-overflow .program-carousel{flex:none}
.panel-mode #programas.panel-overflow .program-grid{height:auto;align-items:stretch}
.panel-mode .panel-overflow .program-card{height:auto}
.panel-mode .panel-overflow .program-card .program-photo{height:130px;flex:none}
.panel-mode .panel-overflow .program-card .card-bottom{height:auto}
html.panel-mode:has(.panel-overflow){scroll-snap-type:y proximity}
@media(min-width:961px) and (max-width:1100px) and (max-height:719px){
 .panel-mode .program-card{flex-basis:calc((100% - 16px)/2)}
 .panel-mode .program-card .visual-program-foot{grid-template-columns:minmax(0,1fr) auto}
 .panel-mode .venues .venue-facts:has(.venue-fact){grid-template-columns:repeat(3,minmax(0,1fr))}
 .panel-mode .venues .venue-map{min-height:110px}
}
