:root { --module-gap: 24px; }
/* Individual callups: keep the hero image out of flex flow and prevent overflow. */
.single-callup .article-hero { --hero-image:none; }
.single-callup .article-hero-image { position:absolute; inset:0; z-index:-2; }
.single-callup .article-hero-image img { width:100%; height:100%; object-fit:cover; display:block; }
.single-callup .article-hero-shade { display:none; }
.single-callup .inner-hero-content { width:100%; position:relative; }
.single-callup .article-layout { grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:clamp(24px,5vw,70px); }
.single-callup .article-content,.single-callup .article-aside { min-width:0; overflow-wrap:anywhere; }
.single-callup .article-content figure { margin:32px 0; }
.single-callup .article-aside > .callup-status { position:static; inset:auto; display:inline-flex; max-width:100%; margin:0 0 16px; vertical-align:top; box-shadow:none; }
.single-callup .article-aside > .callup-status + h2 { margin-top:0; }
.single-callup .callup-status.open { background:#e4f4e9; color:#166534; }
.single-callup .callup-status.coming { background:#fff3c4; color:#854d0e; }
.single-callup .callup-status.closed { background:#fee2e2; color:#991b1b; }
@media(max-width:900px){.single-callup .article-layout{grid-template-columns:1fr}.single-callup .article-aside{position:static;padding:24px;border:1px solid var(--line);background:white}}
@media(max-width:540px){.single-callup .callup-facts{grid-template-columns:1fr}.single-callup .article-hero h1{font-size:clamp(36px,10vw,54px)}}
.everest-menu { display: contents; margin: 0; padding: 0; list-style: none; }.everest-menu li { list-style: none; }
/* Native WordPress menus on entries use sub-menu, not the wireframe markup. */
.site-header .everest-menu > .menu-item-has-children { position:relative; }
.site-header .everest-menu .sub-menu { display:none; margin:0; list-style:none; }
.main-nav .everest-menu > li > .sub-menu { position:absolute; z-index:80; top:100%; left:50%; width:210px; transform:translateX(-50%); padding:10px; border-top:3px solid var(--red); border-radius:0 0 16px 16px; background:#fff; box-shadow:0 18px 42px rgba(17,28,81,.2); }
.site-header .everest-menu > .open > .sub-menu,
.site-header .everest-menu > .menu-item-has-children:not(.submenu-enhanced):hover > .sub-menu,
.site-header .everest-menu > .menu-item-has-children:not(.submenu-enhanced):focus-within > .sub-menu { display:grid; }
.site-header .everest-menu .sub-menu[hidden] { display:none; }
.main-nav .everest-menu .sub-menu a { display:block; padding:13px 14px; border-radius:10px; color:var(--navy); font-size:12px; letter-spacing:0; text-transform:none; }
.main-nav .everest-menu .sub-menu a::after { display:none; }
.main-nav .everest-menu .sub-menu a:hover,.main-nav .everest-menu .sub-menu a:focus-visible { background:rgba(35,54,137,.08); color:var(--red); }
.site-header .everest-menu .nav-dropdown-toggle:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
.site-header .everest-menu .open > .nav-dropdown-toggle > .nav-chevron { transform:translateY(2px) rotate(225deg); }
@media(max-width:900px){.mobile-nav .everest-menu > li{width:100%}.mobile-nav .everest-menu .sub-menu{position:static;padding:7px 8px;gap:2px}.mobile-nav .everest-menu .sub-menu a{display:block;padding:11px 16px 11px 27px;border:0;border-radius:9px;background:#f4f6fb;color:var(--navy)}}
body.menu-open { overflow: hidden; }
.acf-module { position: relative; }
.acf-module .container.narrow, .legacy-page-content .container.narrow { max-width: 820px; }
.module-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.module-empty,.module-setup-note { padding: 22px; border: 1px dashed #b8c2d0; background: #f8fafc; color: #667085; }
.home-empty-state,.module-setup-empty { min-height: 460px; display: grid; place-items: center; padding: 90px 0; text-align: center; }

/* Home — cabecera múltiple */
.home-hero { min-height: 690px; display: flex; align-items: center; overflow: hidden; background: var(--navy); color: #fff; }
.home-hero-slides,.home-hero-slide,.home-hero-picture,.home-hero-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero-slide { opacity: 0; visibility: hidden; transition: opacity .8s ease,visibility .8s; }
.home-hero-slide.is-active { opacity: 1; visibility: visible; }
.home-hero-picture img { object-fit: cover; }
.home-hero .hero-overlay { z-index: 1; }
.home-hero .hero-content { z-index: 2; }
.home-hero h1 { max-width: 780px; margin: 0; font: 700 clamp(54px,6.3vw,88px)/.98 var(--font-secondary); letter-spacing: -.045em; }
.home-hero h1 em { color: #fff; font-style: normal; text-decoration: underline var(--red) 5px; text-underline-offset: 9px; }
.home-hero-stats { position: absolute; z-index: 3; right: 0; bottom: 0; display: flex; background: rgba(25,39,106,.9); backdrop-filter: blur(10px); }
.home-hero-stats div { min-width: 145px; padding: 21px 32px; border-left: 1px solid rgba(255,255,255,.14); }
.home-hero-stats strong,.home-hero-stats span { display: block; }
.home-hero-stats strong { font-size: 24px; }
.home-hero-stats span { color: rgba(255,255,255,.65); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

/* Avisos y accesos */
.module-notification { color: #fff; }
.module-notification.is-red { background: var(--red); }
.module-notification.is-navy { background: var(--navy); }
.module-notification.is-sky { background: var(--sky); color: var(--navy); }
.module-notification .container { min-height: 42px; display: flex; align-items: center; gap: 20px; }
.module-notification strong { display: flex; align-items: center; gap: 9px; white-space: nowrap; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.module-notification p { flex: 1; margin: 0; font-size: 12px; }
.notification-link { color: inherit; font-size: 12px; font-weight: 700; }
.home-quick-links { background: #fff; border-bottom: 1px solid var(--line); }
.home-quick-links .quick-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.module-icon { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #cde8f4; background: #eff9fd; color: var(--navy); }
.module-icon::before { font-size: 20px; }
.icon-calendar::before { content: "▦"; }.icon-whistle::before { content: "◉"; }.icon-trophy::before { content: "♜"; }.icon-document::before { content: "▤"; }.icon-team::before { content: "●●"; font-size: 11px; }.icon-image::before { content: "▧"; }

/* Encabezados y tarjetas */
.acf-module .section-heading { max-width: 760px; }
.module-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--module-gap); }
.module-card { overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 12px 34px rgba(15,38,67,.07); }
.module-card-media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #e9edf3; }
.module-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.module-card:hover .module-card-media img { transform: scale(1.035); }
.module-card-copy { padding: 28px; }
.module-card-copy time { display: block; margin-bottom: 8px; color: var(--muted); font-size: 10px; }
.module-card-copy h3 { margin: 0 0 12px; color: var(--navy); font: 700 27px/1.12 var(--font-secondary); }
.module-card-copy p { color: var(--muted); font-size: 13px; }
.module-posts > .container > .button,.module-posts > .container > .text-link { margin-top: 28px; }
.news-archive-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }.archive-card { border: 1px solid var(--line); background: #fff; }.archive-card-image { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--cream); }.archive-card-image img { width: 100%; height: 100%; object-fit: cover; }.archive-card-copy { padding: 28px; }.archive-card-copy time { display: block; margin: 9px 0; color: var(--muted); font-size: 10px; }.archive-card-copy h2 { margin: 8px 0 12px; color: var(--navy); font: 700 27px/1.12 var(--font-secondary); }.archive-card-copy p { color: var(--muted); font-size: 13px; }

/* Evento especial */
.module-special-event { min-height: 430px; display: grid; align-items: center; overflow: hidden; background: var(--red); color: #fff; }
.module-cover,.module-cover img,.module-cover-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.module-cover img { object-fit: cover; }
.module-cover-shade { background: linear-gradient(90deg,rgba(177,27,53,.96),rgba(177,27,53,.67)); }
.special-event-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 40px; padding-block: 75px; }
.special-event-inner > time { font: 700 32px/1.1 var(--font-secondary); }
.module-special-event h2 { color: #fff; }
.module-special-event .section-heading { margin: 0; }

/* Resultados, estadísticas y clasificación */
.module-results { overflow: hidden; background: var(--navy); color: #fff; }
.module-results .section-heading h2,.module-results .eyebrow { color: #fff; }
.result-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.result-cards article { padding: 26px; background: #fff; color: var(--ink); }
.result-cards time { color: var(--muted); font-size: 10px; }
.result-cards h3 { color: var(--navy); font: 700 24px var(--font-secondary); }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.stat-grid > div { min-height: 130px; display: grid; place-content: center; padding: 22px; background: #fff; text-align: center; }
.stat-grid strong { display: block; color: var(--navy); font: 700 36px var(--font-secondary); }
.stat-grid span { color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.standings-table { margin-top: 30px; border: 1px solid var(--line); background: #fff; }
.standings-row { display: grid; grid-template-columns: 70px minmax(180px,1fr) 70px 70px; align-items: center; min-height: 54px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.standings-row:last-child { border-bottom: 0; }
.standings-head { background: var(--navy); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Galería y vídeos */
.module-gallery-grid { display: grid; gap: 14px; }
.module-gallery-grid.columns-2 { grid-template-columns: repeat(2,1fr); }.module-gallery-grid.columns-3 { grid-template-columns: repeat(3,1fr); }.module-gallery-grid.columns-4 { grid-template-columns: repeat(4,1fr); }
.module-gallery-grid a { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--navy); }
.module-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.module-gallery-grid a:hover img { transform: scale(1.04); }
.module-gallery-grid span { position: absolute; inset: auto 0 0; padding: 20px 14px 12px; background: linear-gradient(transparent,rgba(0,0,0,.7)); color: #fff; font-size: 11px; }
.module-video-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
.module-video-grid article { padding: 22px; border: 1px solid var(--line); background: #fff; }
.module-video-grid iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.module-video-grid h3 { color: var(--navy); }

/* Formularios */
.module-form,.module-image-text { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: var(--cream); }
.module-form-media,.module-form-media picture,.module-form-media img,.module-image-text-media,.module-image-text-media picture,.module-image-text-media img { width: 100%; height: 100%; }
.module-form-media img,.module-image-text-media img { object-fit: cover; }
.module-form-content,.module-image-text-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(45px,7vw,105px); }
.module-form .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),.module-form .gform_wrapper textarea,.module-form .gform_wrapper select { width: 100%; border: 1px solid #cdd4dd; background: #fff; }
.module-form .gform_button { min-height: 48px; padding: 0 24px; border: 0; background: var(--red); color: #fff; font-weight: 700; }
.form-note { color: var(--muted); font-size: 11px; }

/* Página interior y texto */
.module-page-header { isolation: isolate; }
.module-page-header .module-cover { z-index: -3; }
.module-page-header .module-cover-shade { z-index: -2; background: linear-gradient(95deg,rgba(17,28,81,.98),rgba(35,54,137,.7)); }
.module-rich-content.is-cream { background: var(--cream); }.module-rich-content.is-navy { background: var(--navy); color: #fff; }
.module-rich-content.is-navy h2,.module-rich-content.is-navy .eyebrow { color: #fff; }
.wysiwyg-content { font-size: 16px; line-height: 1.75; }
.wysiwyg-content h2,.wysiwyg-content h3 { color: var(--navy); font-family: var(--font-secondary); }
.is-navy .wysiwyg-content h2,.is-navy .wysiwyg-content h3 { color: #fff; }
.module-image-text.is-image-right .module-image-text-media { order: 2; }

/* Documentos, eventos, equipo y FAQs */
.document-grid { display: grid; gap: 12px; }
.document-card { min-height: 82px; display: grid; grid-template-columns: 58px 1fr 30px; align-items: center; gap: 18px; padding: 14px 20px; border: 1px solid var(--line); background: #fff; }
.document-card > span { display: grid; place-items: center; width: 52px; height: 52px; background: var(--red); color: #fff; font-size: 10px; font-weight: 700; }
.document-card div { display: flex; flex-direction: column; }.document-card small { color: var(--muted); }.document-card b { color: var(--red); font-size: 22px; }
.event-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.event-grid article { padding: 25px; border-top: 4px solid var(--red); background: #fff; box-shadow: var(--shadow); }
.event-grid time { color: var(--red); font-size: 11px; font-weight: 700; text-transform: uppercase; }.event-grid h3 { color: var(--navy); font: 700 24px var(--font-secondary); }.event-grid p { color: var(--muted); }
.calendar-filter-note { margin-bottom: 20px; padding: 12px 16px; background: #eef7fb; color: var(--navy); font-size: 12px; }
.team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.team-grid article { background: #fff; border: 1px solid var(--line); }.team-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }.team-grid article > div { padding: 25px; }.team-grid h3 { margin: 0; color: var(--navy); font: 700 27px var(--font-secondary); }.team-grid article strong { color: var(--red); font-size: 11px; text-transform: uppercase; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 4px; color: var(--navy); font-weight: 700; cursor: pointer; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--red); font-size: 22px; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details > div { padding: 0 35px 25px 4px; color: var(--muted); }

/* CTA y footer editable */
.module-cta { padding: 58px 0; background: var(--red); color: #fff; }.module-cta > .container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.module-cta .section-heading { margin: 0; }.module-cta .section-heading h2,.module-cta .eyebrow { color: #fff; }.module-cta .module-buttons { margin: 0; flex-shrink: 0; }
.site-footer .footer-main { grid-template-columns: minmax(280px,1.5fr) repeat(auto-fit,minmax(140px,1fr)); }
.footer-link-column { display: flex; flex-direction: column; }.footer-link-column a { margin-bottom: 10px; }
.footer-socials { display: flex; gap: 9px; margin-top: 20px; }.footer-socials a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; }.footer-socials img { width: 17px; height: 17px; object-fit: contain; filter: brightness(0) invert(1); }
.acf-lightbox { position: fixed; z-index: 1000; inset: 0; display: none; align-items: center; justify-content: center; padding: 60px; background: rgba(7,15,40,.94); }
.acf-lightbox.is-open { display: flex; }.acf-lightbox figure { max-width: min(1100px,85vw); margin: 0; }.acf-lightbox img { max-width: 100%; max-height: 78vh; object-fit: contain; }.acf-lightbox figcaption { padding: 12px; color: #fff; text-align: center; }
.acf-lightbox button { position: absolute; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; font-size: 22px; cursor: pointer; }.acf-lightbox-close { top: 22px; right: 22px; }.acf-lightbox-prev { left: 22px; }.acf-lightbox-next { right: 22px; }
.module-reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease,transform .55s ease; }.module-reveal.is-visible { opacity: 1; transform: none; }

/* Módulos procedentes del inventario completo de wireframes */
.module-facilities { display: grid; grid-template-columns: minmax(340px,.8fr) 1.2fr; background: var(--navy); color: #fff; }
.facility-copy { display: grid; place-items: center; padding: clamp(48px,7vw,110px); }.facility-copy .section-heading h2,.facility-copy .eyebrow { color: #fff; }
.facility-list { display: grid; gap: 10px; margin: 28px 0; padding: 0; list-style: none; }.facility-list li::before { content: '✓'; margin-right: 10px; color: #70d2e9; font-weight: 700; }
.facility-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); min-height: 580px; }.facility-photo { position: relative; overflow: hidden; }.facility-photo:first-child { grid-row: span 2; }.facility-photo img { width: 100%; height: 100%; object-fit: cover; }.facility-photo span { position: absolute; inset: auto 0 0; padding: 35px 18px 15px; background: linear-gradient(transparent,rgba(0,0,0,.7)); color: #fff; }
.module-home-contact,.module-video-banner { position: relative; isolation: isolate; padding: clamp(65px,9vw,125px) 0; background: var(--navy); color: #fff; }.module-home-contact > .module-cover,.module-video-banner > .module-cover { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }.module-home-contact .module-cover-shade,.module-video-banner .module-cover-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(13,25,76,.96),rgba(13,25,76,.68)); }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(35px,7vw,100px); align-items: center; }.contact-intro h2,.contact-intro .eyebrow,.module-video-banner h2,.module-video-banner .eyebrow { color: #fff; }.contact-direct { display: grid; gap: 12px; margin-top: 32px; }.contact-direct a { display: flex; flex-direction: column; color: #fff; }.contact-direct small { color: #70d2e9; text-transform: uppercase; }.sports-contact-form { padding: clamp(28px,4vw,55px); background: #fff; color: var(--navy); box-shadow: var(--shadow); }
.module-shop-preview { padding: 65px 0; background: var(--red); color: #fff; }.shop-preview-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(35px,8vw,110px); }.shop-preview-images { position: relative; aspect-ratio: 4/3; }.shop-preview-images img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .45s; }.shop-preview-images img.is-active { opacity: 1; }.shop-preview-copy h2,.shop-preview-copy .eyebrow { color: #fff; }.optional-pill,.callup-status { display: inline-flex; padding: 6px 10px; border-radius: 100px; background: #fff; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.contact-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.contact-info-grid article { padding: 30px; border-top: 4px solid var(--red); background: #fff; box-shadow: var(--shadow); }.contact-info-grid h3 { color: var(--navy); font: 700 25px var(--font-secondary); }.contact-info-grid p { color: var(--muted); }.contact-info-icon { display: block; width: 38px; height: 38px; border-radius: 50%; background: var(--navy); }
.location-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 55px; align-items: center; }.location-copy address { margin: 25px 0; color: var(--muted); font-style: normal; line-height: 1.8; }.location-map { min-height: 430px; background: #e8edf2; }.location-map iframe,.location-map img { width: 100%; height: 430px; border: 0; object-fit: cover; }
.module-wide-cta { padding: 55px 0; background: var(--navy); color: #fff; }.module-wide-cta > .container { display: flex; align-items: center; gap: 30px; justify-content: space-between; }.module-wide-cta h2,.module-wide-cta .eyebrow { color: #fff; }.module-wide-cta .section-heading { margin: 0; }.module-wide-cta > .container > img { width: 74px; height: 74px; object-fit: contain; }
.directory-toolbar,.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 25px 0; }.directory-toolbar input,.directory-toolbar select { min-height: 44px; padding: 0 14px; border: 1px solid var(--line); background: #fff; }.directory-select-filters { display: flex; flex: 1; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }.directory-select-filters label { display: grid; gap: 5px; min-width: 150px; color: var(--navy); font-size: 11px; font-weight: 700; }.directory-select-filters select { width: 100%; }.directory-filters,.calendar-view-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }.directory-filters button,.calendar-view-switch button { padding: 9px 15px; border: 1px solid var(--line); border-radius: 100px; background: #fff; color: var(--navy); cursor: pointer; }.directory-filters button.active,.calendar-view-switch button.active { border-color: var(--red); background: var(--red); color: #fff; }.calendar-toolbar p { color: var(--muted); }
.featured-news { display: grid; grid-template-columns: 1.2fr .8fr; margin-bottom: 38px; background: var(--navy); color: #fff; }.featured-news-image img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }.featured-news-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px,5vw,70px); }.featured-news-copy h2 { color: #fff; font: 700 clamp(34px,4vw,52px) var(--font-secondary); }.featured-news-copy time { color: #70d2e9; }
.result-list { display: grid; gap: 12px; }.result-score-card { display: grid; grid-template-columns: 170px 1fr 190px; align-items: center; min-height: 110px; padding: 18px 24px; border-left: 4px solid var(--red); background: #fff; box-shadow: var(--shadow); }.result-score-meta { display: flex; flex-direction: column; }.result-score-meta span { color: var(--red); font-weight: 700; }.result-score-meta small,.result-score-card > p { color: var(--muted); }.result-score-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; text-align: center; }.result-score-teams div { display: flex; gap: 12px; align-items: center; }.result-score-teams b { font: 700 30px var(--font-secondary); color: var(--navy); }
.featured-callup-grid > .module-card-grid { margin-bottom: 35px; }.callup-directory-grid,.coach-grid,.shop-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }.callup-directory-card,.coach-card,.shop-product-card { overflow: hidden; border: 1px solid var(--line); background: #fff; }.callup-card-media,.callup-card-media img,.coach-card > img,.shop-product-image,.shop-product-image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }.callup-directory-card > div,.coach-card > div,.shop-product-card > div { padding: 23px; }.callup-directory-card h3,.coach-card h3,.shop-product-card h3 { margin: 10px 0; color: var(--navy); font: 700 25px var(--font-secondary); }.callup-directory-card small,.shop-product-card small { color: var(--muted); text-transform: uppercase; }.callup-status.coming { background: #edf0f5; color: var(--navy); }.callup-status.closed { background: #ddd; color: #555; }.coach-card strong { color: var(--red); font-size: 11px; text-transform: uppercase; }
.gallery-albums { border-top: 1px solid var(--line); }.gallery-album { border-bottom: 1px solid var(--line); }.gallery-album summary { display: flex; justify-content: space-between; padding: 22px 6px; cursor: pointer; list-style: none; }.gallery-album summary span { display: flex; flex-direction: column; }.gallery-album summary strong { color: var(--navy); font-size: 20px; }.gallery-album summary small { color: var(--muted); }.gallery-album summary b { color: var(--red); font-size: 25px; }.gallery-album-images { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 0 0 25px; }.gallery-album-images a { position: relative; aspect-ratio: 4/3; overflow: hidden; }.gallery-album-images img { width: 100%; height: 100%; object-fit: cover; }.gallery-album-images span { position: absolute; inset: auto 0 0; padding: 20px 10px 8px; background: linear-gradient(transparent,rgba(0,0,0,.7)); color: #fff; font-size: 10px; }
.module-video-banner { min-height: 470px; display: grid; align-items: center; }.module-video-playlist { background: var(--cream); }.video-playlist-layout { display: grid; grid-template-columns: 1.5fr .7fr; gap: 24px; }.video-playlist-feature { padding: 20px; background: #fff; }.video-playlist-feature iframe { width: 100%; height: auto; aspect-ratio: 16/9; }.video-playlist-feature h3 { color: var(--navy); font: 700 28px var(--font-secondary); }.video-playlist-options { display: grid; align-content: start; gap: 10px; }.video-option { display: grid; grid-template-columns: 95px 1fr; gap: 13px; padding: 9px; border: 1px solid var(--line); background: #fff; text-align: left; cursor: pointer; }.video-option.active { border-color: var(--red); box-shadow: inset 4px 0 var(--red); }.video-option img { width: 95px; height: 70px; object-fit: cover; }.video-option span { display: flex; flex-direction: column; }.video-option small { color: var(--muted); }
.photo-ribbon { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px,32vw); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }.photo-ribbon a { aspect-ratio: 4/3; scroll-snap-align: start; }.photo-ribbon img { width: 100%; height: 100%; object-fit: cover; }
.shop-product-card strong { display: block; margin: 14px 0; color: var(--red); font-size: 19px; }.shop-customizer-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(35px,7vw,90px); }.kit-main { width: 100%; aspect-ratio: 1/1; object-fit: contain; background: #f3f4f6; }.kit-thumbs { display: flex; gap: 10px; margin-top: 12px; }.kit-thumbs button { border: 1px solid var(--line); background: #fff; cursor: pointer; }.kit-thumbs button.active { border-color: var(--red); }.kit-thumbs img { width: 70px; height: 70px; object-fit: cover; }.kit-details h3 { color: var(--navy); font: 700 38px var(--font-secondary); }.size-options { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0; }.size-options span { min-width: 42px; padding: 9px; border: 1px solid var(--line); text-align: center; }.kit-note { color: var(--muted); }
.callup-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-bottom: 42px; background: var(--line); border: 1px solid var(--line); }.callup-facts div { display: flex; flex-direction: column; padding: 20px; background: #fff; }.callup-facts small { color: var(--red); font-size: 10px; font-weight: 700; text-transform: uppercase; }.callup-section { margin-top: 50px; }.callup-section h2 { color: var(--navy); font: 700 34px var(--font-secondary); }.callup-requirements { display: grid; gap: 10px; padding: 0; list-style: none; }.callup-requirements li { padding: 15px 18px 15px 45px; background: var(--cream); position: relative; }.callup-requirements li::before { content: '✓'; position: absolute; left: 18px; color: var(--red); font-weight: 700; }.callup-timeline { border-left: 2px solid var(--red); margin-left: 45px; }.callup-timeline article { display: grid; grid-template-columns: 80px 1fr; gap: 20px; margin-left: -42px; padding-bottom: 28px; }.callup-timeline time { display: grid; place-items: center; height: 80px; border-radius: 50%; background: var(--red); color: #fff; font-weight: 700; text-align: center; }.callup-timeline h3 { margin: 5px 0; color: var(--navy); }.callup-contact { display: grid; gap: 8px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }

@media (max-width: 1000px) {
  .module-card-grid,.result-cards,.event-grid,.team-grid,.news-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .special-event-inner { grid-template-columns: 120px 1fr; }.special-event-inner > .button,.special-event-inner > .module-buttons { grid-column: 2; }
  .module-gallery-grid.columns-4 { grid-template-columns: repeat(2,1fr); }
  .callup-directory-grid,.coach-grid,.shop-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-album-images { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .result-score-card { grid-template-columns: 130px 1fr; }.result-score-card > p { grid-column: 2; }
}
@media (max-width: 700px) {
  .home-hero { min-height: 640px; align-items: flex-start; }.home-hero .hero-content { padding-top: 85px; padding-bottom: 165px; }.home-hero h1 { font-size: 50px; }.home-hero-stats { left: 0; right: 0; }.home-hero-stats div { min-width: 0; flex: 1; padding: 16px 12px; }.home-hero-stats strong { font-size: 19px; }
  .module-notification .container { align-items: flex-start; flex-direction: column; gap: 7px; padding-block: 13px; }
  .module-card-grid,.result-cards,.event-grid,.team-grid,.module-video-grid,.news-archive-grid { grid-template-columns: 1fr; }
  .special-event-inner { grid-template-columns: 1fr; gap: 20px; }.special-event-inner > .button,.special-event-inner > .module-buttons { grid-column: auto; }
  .module-gallery-grid.columns-2,.module-gallery-grid.columns-3,.module-gallery-grid.columns-4 { grid-template-columns: 1fr; }
  .module-form,.module-image-text { grid-template-columns: 1fr; }.module-form-media,.module-image-text-media { min-height: 330px; }.module-image-text.is-image-right .module-image-text-media { order: 0; }.module-form-content,.module-image-text-copy { padding: 55px 24px; }
  .standings-row { grid-template-columns: 48px minmax(130px,1fr) 42px 48px; padding-inline: 10px; }
  .module-cta > .container { align-items: flex-start; flex-direction: column; }.module-cta .module-buttons { margin-top: 10px; }
  .module-facilities,.contact-layout,.shop-preview-inner,.location-layout,.featured-news,.video-playlist-layout,.shop-customizer-grid { grid-template-columns: 1fr; }
  .facility-gallery { min-height: 480px; }.facility-copy { padding: 55px 24px; }.contact-layout { padding-inline: 20px; }.sports-contact-form { padding: 25px 20px; }
  .contact-info-grid,.callup-directory-grid,.coach-grid,.shop-product-grid { grid-template-columns: 1fr; }
  .location-layout { gap: 25px; }.location-map,.location-map iframe,.location-map img { min-height: 330px; height: 330px; }
  .module-wide-cta > .container,.directory-toolbar,.calendar-toolbar { align-items: flex-start; flex-direction: column; }
  .result-score-card { grid-template-columns: 1fr; gap: 14px; }.result-score-card > p { grid-column: auto; }.result-score-teams { grid-template-columns: 1fr auto 1fr; }
  .gallery-album-images { grid-template-columns: 1fr 1fr; }.video-option { grid-template-columns: 78px 1fr; }.video-option img { width: 78px; height: 58px; }
  .callup-facts { grid-template-columns: 1fr; }.callup-timeline { margin-left: 35px; }.callup-timeline article { grid-template-columns: 64px 1fr; margin-left: -33px; }.callup-timeline time { height: 64px; }
}
@media (prefers-reduced-motion: reduce) { .home-hero-slide { transition: none; }.module-reveal { opacity: 1; transform: none; transition: none; } }
