/* Photographic navigation and the redesigned course/studio entrances. */
.visual-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center;padding-block:28px 60px}
.visual-hero-copy{padding:24px 0;min-width:0}
.visual-hero .eyebrow{color:var(--red);font-size:.875rem;margin-bottom:20px}
.visual-hero h1{font-size:clamp(3rem,4.8vw,5rem);line-height:1.04;letter-spacing:-.065em;margin-bottom:25px}
.visual-hero h1 em{font-style:normal;color:var(--red)}
.visual-hero-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:490px}
.visual-hero-actions{display:flex;gap:22px 26px;align-items:center;flex-wrap:wrap;margin-top:32px}
.visual-hero-actions .text-link{font-size:.875rem}
.visual-hero-photo{position:relative;height:470px;background:var(--light)}
.visual-hero-photo:after{content:'';position:absolute;bottom:-14px;left:0;width:72px;height:14px;background:var(--red)}
.visual-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.visual-section{padding-block:42px 76px;scroll-margin-top:110px}
.visual-section .eyebrow{color:var(--red);font-size:.875rem}
.visual-section .section-heading{align-items:end;margin-bottom:31px}
.visual-section h2{font-size:clamp(2rem,3vw,3rem);line-height:1.13;letter-spacing:-.045em}
.section-aside{color:var(--muted);font-size:1rem;line-height:1.65;margin:0 0 3px;max-width:390px}
.visual-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.visual-offer{display:flex;flex-direction:column;min-width:0;background:#f3f4f4;overflow:hidden}
.visual-offer-wide{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr}
.visual-offer-media{height:245px;overflow:hidden;background:#e9ebeb}
.visual-offer-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.visual-offer-wide .visual-offer-media{height:100%;min-height:340px}
.visual-offer-copy{padding:29px 30px 26px;display:flex;flex-direction:column;flex:1}
.visual-offer .eyebrow{font-size:.75rem;letter-spacing:.08em;line-height:1.6;margin-bottom:13px;color:#b91c23}
.visual-offer h3{font-size:1.8rem;line-height:1.1;letter-spacing:-.035em;margin-bottom:17px;overflow-wrap:anywhere}
.visual-offer p:not(.eyebrow){font-size:1rem;line-height:1.65;color:var(--muted);margin-bottom:29px}
.visual-offer-action{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:.875rem;font-weight:700;margin-top:auto;padding-top:17px;border-top:1px solid #d6dadb}
.visual-offer-action>span{color:var(--red);font-size:1.3rem}
.visual-offer:hover h3{color:var(--red)}
.visual-offer:hover .visual-offer-media img{transform:scale(1.035)}
.visual-offer:focus-visible{outline:3px solid #2577d2;outline-offset:5px}
.image-service{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff;margin-bottom:76px}
.image-service-photo{min-height:400px}
.image-service-photo img{width:100%;height:100%;object-fit:cover}
.image-service-copy{padding:48px 46px;align-self:center}
.image-service-copy>.eyebrow{color:#f48b90;font-size:.875rem}
.image-service h2{font-size:2.6rem;line-height:1.14;letter-spacing:-.045em;margin-bottom:25px}
.image-service-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75;color:#d1d6d8}
.service-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.service-actions .text-link{font-size:.875rem;color:#fff}
.quiet-link{display:inline-block;font-size:.875rem;margin-top:27px;text-decoration:underline;text-underline-offset:5px;color:#d1d6d8}
.studio-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-top:15px;margin-bottom:20px}
.studio-shortcuts>a{display:flex;align-items:center;gap:16px;padding:25px 28px 25px 0;font-weight:700;font-size:1rem}
.studio-shortcuts>a>span{font-size:.8rem;font-weight:400;color:var(--red)}
.studio-shortcuts b{margin-left:auto;color:var(--red);font-size:1.4rem}
.studio-shortcuts>a+a{border-left:1px solid var(--line);padding-left:28px}
.studio-shortcuts>a:hover{color:var(--red)}
.studio-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.studio-editorial{background:#f2f4f4;color:var(--ink)}
.studio-editorial .eyebrow{color:var(--red)}
.studio-editorial .image-service-copy>p:not(.eyebrow){color:var(--muted)}
.studio-editorial .text-link{color:var(--ink)}
.directory-card.has-image{border:0;border-bottom:1px solid var(--line);background:#f3f4f4}
.directory-card.has-image>img{height:220px}
.directory-card.has-image>div{padding:25px 25px 28px}
.directory-card.has-image h3{font-size:1.5rem;min-height:1.3em;margin-bottom:23px}
.sibling-nav .sibling-photo-link{display:flex;align-items:center;gap:13px;padding-block:12px}
.sibling-photo-link img{width:72px;height:57px;object-fit:cover;flex:none;background:var(--light)}
.sibling-photo-link span{font-size:.875rem;line-height:1.45}
.sports-directory a img{width:60px;height:45px;object-fit:cover;flex:none;background:var(--light);margin-right:12px}
.sports-directory a{align-items:center}
.page-hero-image:has(img[src*='/offers/children']){height:auto;aspect-ratio:16/9}
.page-hero-image:has(img[src*='/offers/child-yoga']) img{object-fit:contain}
.directory-card.has-image>img[src*='/offers/children']{object-fit:contain;background:#f2f4f4}
.directory-card.has-image>img[src*='/offers/child-yoga']{object-fit:contain;background:#f2f4f4}
.page-hero-image:has(img[src*='/offers/']){min-width:0}
@media(max-width:1100px){
 .visual-hero{gap:30px}.visual-hero-photo{height:400px}.visual-hero h1{font-size:3.6rem}
 .visual-hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
 .visual-offer-grid{gap:20px}.visual-offer-copy{padding:25px}.visual-offer h3{font-size:1.6rem}
 .visual-offer-wide{display:flex}.visual-offer-wide .visual-offer-media{height:245px;min-height:0}
 .visual-offer-wide{grid-column:span 1}.visual-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .visual-offer-grid>.visual-offer:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}
 .visual-offer-grid>.visual-offer:last-child .visual-offer-media{height:100%;min-height:260px}
 .image-service-copy{padding:35px}.image-service h2{font-size:2.1rem}
 .studio-offer-grid{gap:20px}.studio-offer-grid .visual-offer-copy{padding:22px}
 .studio-offer-grid .visual-offer-media{height:210px}.studio-shortcuts>a{font-size:.875rem;gap:12px}
}
@media(max-width:780px){
 .visual-hero{grid-template-columns:1fr;padding-top:12px;gap:20px;padding-bottom:42px}
 .visual-hero-copy{padding:15px 0}.visual-hero h1{font-size:3.55rem}.visual-hero-copy>p:not(.eyebrow){max-width:590px}
 .visual-hero-actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.visual-hero-photo{height:auto;aspect-ratio:3/2}
 .visual-section{padding-block:35px 50px}.section-aside{display:none}.visual-section .section-heading{margin-bottom:26px}
 .image-service{grid-template-columns:1fr;margin-bottom:50px}.image-service-photo{min-height:0;aspect-ratio:16/9}
 .image-service-copy{padding:34px}.studio-offer-grid{grid-template-columns:1fr}
 .studio-offer-grid .visual-offer{display:grid;grid-template-columns:1fr 1fr}
 .studio-offer-grid .visual-offer-media{height:100%;min-height:280px}
 .studio-shortcuts{grid-template-columns:1fr}.studio-shortcuts>a{padding:19px 0;font-size:1rem}
 .studio-shortcuts>a+a{border-left:0;border-top:1px solid var(--line);padding-left:0}
 .directory-card.has-image>img{height:205px}
}
@media(max-width:540px){
 .visual-hero h1{font-size:2.9rem}.visual-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}
 .visual-hero .eyebrow,.visual-section .eyebrow{font-size:.75rem}.visual-hero-actions{gap:19px}
 .visual-offer-grid{grid-template-columns:1fr;gap:23px}.visual-offer h3{font-size:1.75rem}
 .visual-offer-grid>.visual-offer:last-child{grid-column:auto;display:flex}
 .visual-offer-grid>.visual-offer:last-child .visual-offer-media{height:220px;min-height:0}
 .visual-offer-media,.visual-offer-wide .visual-offer-media{height:220px}.visual-offer-copy{padding:25px}
 .visual-offer p:not(.eyebrow){margin-bottom:23px}.visual-section h2{font-size:2.05rem}
 .image-service-copy{padding:30px 25px}.image-service h2{font-size:2.05rem}.image-service-photo{aspect-ratio:4/3}
 .service-actions{align-items:flex-start;flex-direction:column;gap:23px}.image-service-copy>.eyebrow{font-size:.75rem}
 .studio-offer-grid .visual-offer{display:flex}.studio-offer-grid .visual-offer-media{height:220px;min-height:0}
 .directory-card.has-image>img{height:210px}.sibling-photo-link img{width:85px;height:64px}
 .sports-directory a img{width:47px;height:39px;margin-right:8px}
}
@media(prefers-reduced-motion:reduce){.visual-offer-media img{transition:none}.visual-offer:hover .visual-offer-media img{transform:none}}
.hub-reference{padding-bottom:64px}.hub-reference>details{border-block:1px solid var(--line)}.hub-reference>details>summary{font-size:1rem;font-weight:700;cursor:pointer;padding:25px 0;line-height:1.6}.hub-reference .prose{max-width:900px;padding:15px 0 35px}.hub-reference .prose>div>h2:first-child{margin-top:0}
.directory-card.has-image>img[src*="child-gymnastics"]{object-fit:contain;background:#f2f4f4}.page-hero-image:has(img[src*="child-gymnastics"]) img{object-fit:contain}
