/* Photography direction: open views, quiet captions, deliberate scale. */
.home-hero{--photo-height:clamp(520px,72svh,850px);display:flex;flex-direction:column;min-height:0;max-height:none;height:auto;margin:0 2.5%;background:var(--paper)}
.hero-slide{position:relative;inset:auto;z-index:0;width:100%;height:var(--photo-height);order:0}
.hero-slide img{object-position:center 48%;filter:none}
.hero-shade{display:none}
.hero-brand{left:0;right:0;top:0;bottom:auto;height:var(--photo-height);background:linear-gradient(0deg,#211a1638,transparent 85%),radial-gradient(ellipse at center,#211a1645,transparent 70%)}
.hero-brand-name{font-size:clamp(54px,8vw,120px)}
.hero-brand-place{font-size:11px;letter-spacing:.35em}
.hero-bottom{left:30px;right:30px;top:calc(var(--photo-height) - 55px);bottom:auto;z-index:2}
.home-hero-copy{position:static;order:1;width:100%;max-width:none;padding:65px 5% 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px 9%;text-align:left;align-items:center;justify-content:initial}
.home-hero-copy .eyebrow{grid-column:1;grid-row:1;text-align:left}
.home-hero h1{writing-mode:horizontal-tb;font-size:clamp(30px,3.2vw,46px);line-height:1.8;letter-spacing:.09em;grid-column:1;grid-row:2 / span 2;white-space:normal}
.home-hero-copy>p:not(.eyebrow){grid-column:2;grid-row:2;text-align:left;font-size:13px}
.home-hero-copy .button{grid-column:2;grid-row:3;justify-self:start;margin:0}
.service-tile,.service-tile:nth-child(2){grid-template-columns:1.6fr 1fr;align-items:center;gap:6%;margin-bottom:110px}
.tile-photo{aspect-ratio:1.5;width:100%;margin:0}
.tile-photo img{object-position:center;filter:none}
.service-description,.service-tile:nth-child(2) .service-description{padding:0;grid-column:auto;grid-row:auto}
.service-tile:nth-child(2){grid-template-columns:1fr 1.6fr}
.service-tile:nth-child(2) .tile-photo{grid-column:2;grid-row:1}
.service-tile:nth-child(2) .service-description{grid-column:1;grid-row:1}
.tile-photo.panel-photo,.pilates-hero>.panel-photo{aspect-ratio:1.96;min-height:0;width:100%;height:auto;background:#e7dfd1}
.tile-photo.panel-photo img,.pilates-hero>.panel-photo img{position:absolute;width:108.85%;height:auto;left:-4.5%;top:-25.5%;max-width:none;filter:none}
.wide-photo{display:grid;grid-template-columns:1.8fr 1fr;gap:7%;height:auto;margin:0;padding:0 7.5% 85px;color:var(--ink);align-items:center}
.wide-photo>img{position:static;inset:auto;z-index:auto;display:block;width:100%;min-width:0;aspect-ratio:1.65;height:auto;object-position:center}
.wide-photo:after{display:none}
.wide-photo>div{position:static;inset:auto;padding:0}
.wide-photo h2{font-size:clamp(25px,2.5vw,36px);line-height:1.9}
.wide-photo .eyebrow{color:var(--cognac)}
.facility-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 5%;align-items:start}
.facility-gallery figure,.facility-gallery figure.large{grid-row:auto;margin:0;overflow:visible}
.facility-gallery .large{grid-column:1 / -1}
.facility-gallery figure img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.facility-gallery .large img{height:auto;min-height:0;aspect-ratio:2.15;object-position:center}
.facility-gallery figcaption{position:static;padding:14px 0;background:none;color:var(--muted);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.13em}
.photo-hero{display:flex;flex-direction:column;padding:0;margin:0 5%;gap:0;background:transparent;min-height:0;max-height:none;height:auto}
.photo-hero>img{order:0;width:100%;height:clamp(360px,46vw,620px);min-height:0;object-position:center 45%}
.photo-hero-shade{display:none}
.photo-hero-copy{position:relative;inset:auto;order:1;width:78%;max-width:none;margin:-65px auto 0;padding:45px 6%;background:var(--paper);text-align:center;color:var(--ink)}
.photo-hero h1{font-size:clamp(30px,3.6vw,49px);line-height:1.65}
.photo-hero .eyebrow{color:var(--cognac)}
.photo-hero-copy>p:last-child{margin-top:15px}
.editorial-row,.editorial-row.reverse{grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}
.editorial-row>img{aspect-ratio:1.4;height:auto;object-position:center}
.experience-photo{align-self:start}
.experience-photo img{aspect-ratio:1.45;height:auto;object-position:center}
.pilates-hero{display:flex;flex-direction:column;gap:0;margin:0 8%;padding:0;background:transparent}
.pilates-hero>.panel-photo{order:0;max-width:1100px;align-self:center}
.pilates-hero>div:last-child{order:1;padding:45px 6%;text-align:center;background:var(--paper)}
.contact-layout>div+div>img{aspect-ratio:1.5;height:auto;object-position:center}
.access-teaser>img{aspect-ratio:1.5;height:auto;object-position:center}
@media(max-width:760px){
 .home-hero{--photo-height:510px;margin:0}
 .hero-brand-name{font-size:clamp(36px,10vw,68px);letter-spacing:.07em}
 .hero-brand-place{font-size:8px;letter-spacing:.25em}
 .hero-bottom{left:18px;right:18px;padding:0;top:calc(var(--photo-height) - 45px)}
 .home-hero-copy{display:flex;align-items:flex-start;padding:38px 8% 42px;gap:16px}
 .home-hero h1{font-size:29px;line-height:1.85}
 .home-hero-copy>p:not(.eyebrow){font-size:12px;line-height:2.2}
 .home-hero-copy .button{margin-top:8px;align-self:flex-start}
 .service-tile,.service-tile:nth-child(2){display:flex;gap:0;margin-bottom:60px}
 .tile-photo,.tile-photo.panel-photo,.service-tile:nth-child(2) .tile-photo{width:100%;margin:0;align-self:auto;aspect-ratio:1.4}
 .tile-photo.panel-photo{aspect-ratio:1.96}
 .service-description,.service-tile:nth-child(2) .service-description{padding:25px 0 0}
 .wide-photo{display:block;padding:0 8% 55px}
 .wide-photo>img{aspect-ratio:1.45}
 .wide-photo>div{padding:27px 0 0}
 .wide-photo h2{font-size:27px}
 .facility-gallery{gap:24px;grid-template-columns:1fr}
 .facility-gallery .large{grid-column:auto}
 .facility-gallery .large img,.facility-gallery figure img{aspect-ratio:1.5;min-height:0;height:auto}
 .facility-gallery figcaption{font-size:9px;padding:12px 0}
 .photo-hero{margin:0}
 .photo-hero>img{height:auto;aspect-ratio:1.1;object-position:center}
 .photo-hero-copy{width:88%;margin:-28px auto 0;padding:30px 7% 15px}
 .photo-hero h1{font-size:27px;line-height:1.8}
 .photo-hero-copy>p:last-child{font-size:12px}
 .editorial-row>img,.experience-photo img{aspect-ratio:1.4;height:auto}
 .pilates-hero{margin:0 5%}
 .pilates-hero>div:last-child{padding:32px 5%}
 .pilates-hero h1{font-size:29px}
 .pilates-hero>.panel-photo{aspect-ratio:1.96}
}
@media(max-width:360px){.home-hero{--photo-height:445px}.home-hero h1{font-size:26px}.hero-brand-name{font-size:34px}.photo-hero h1{font-size:25px}}
.inline-trial{max-width:1360px;margin:35px auto 90px;padding:45px 6%;width:85%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;background:#eae2d6;border-top:1px solid #c5b49e;border-bottom:1px solid #c5b49e}
.inline-trial h2{font-size:30px;margin-bottom:13px}.inline-trial p:not(.eyebrow){font-size:13px;line-height:2.1}.inline-trial strong{font-weight:500}.inline-trial small{display:block;margin-top:15px;color:var(--muted);font-size:11px;line-height:1.9}.inline-trial .button{font-size:13px}.pilates-trial{background:#eee9e0}.pilates-points{display:grid;grid-template-columns:repeat(3,1fr);gap:6%}.pilates-points article{border-top:1px solid var(--line);padding-top:24px}.pilates-points article>span{font:10px/1.8 Georgia,serif;letter-spacing:.15em;color:var(--cognac)}.pilates-points h3{font-size:24px;margin:20px 0 16px}.pilates-points p,.pilates-goal-list p{font-size:14px;line-height:2.2}.pilates-goal-list{margin-top:40px}.pilates-goal-list article{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding:30px 0;border-top:1px solid var(--line)}.pilates-goal-list h3{font-size:23px}.pilates-flow{padding-top:20px}
@media(max-width:760px){.inline-trial{display:block;width:84%;margin:15px auto 60px;padding:30px 7%}.inline-trial h2{font-size:26px}.inline-trial>div+div{margin-top:25px}.inline-trial .button{width:100%;font-size:12px;padding:14px 12px}.inline-trial small{font-size:10px}.pilates-points{display:block}.pilates-points article+article{margin-top:30px}.pilates-goal-list article{display:block}.pilates-goal-list h3{font-size:22px;margin-bottom:17px}}
/* Facility carousel: native touch scrolling, no automatic motion. */
.facility-slider{width:100%;min-width:0}
.facility-gallery.facility-track{display:flex;gap:0;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;align-items:flex-start}
.facility-track::-webkit-scrollbar{display:none}
.facility-track>figure,.facility-track>figure.large{flex:0 0 100%;width:100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
.facility-track>figure img,.facility-track>figure.large img{width:100%;height:auto;min-height:0;aspect-ratio:1.9;object-fit:cover;object-position:center}
.facility-track figcaption{font-size:11px;padding:17px 0;background:transparent}
.facility-controls{display:flex;align-items:center;gap:25px;padding-top:20px}
.facility-dots{display:flex;gap:4px}
.facility-dots button{width:36px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.facility-dots button:after{content:'';width:7px;height:7px;border:1px solid var(--cognac);border-radius:50%;background:transparent}
.facility-dots button[aria-pressed=true]:after{background:var(--cognac)}
.facility-count{margin-left:auto;font:12px/1.5 Georgia,serif;letter-spacing:.15em;color:var(--muted)}
.facility-arrows{display:flex;gap:8px}
.facility-arrows button{width:48px;height:48px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px}
.facility-arrows button:hover:not(:disabled){background:var(--cream)}
.facility-arrows button:disabled{opacity:.3}
@media(max-width:760px){.facility-track>figure img,.facility-track>figure.large img{aspect-ratio:1.35}.facility-track figcaption{font-size:9px;padding:14px 0}.facility-controls{gap:12px;padding-top:10px}.facility-dots button{width:28px}.facility-arrows button{width:44px;height:44px}.facility-count{font-size:10px}}
.home-hero-copy{grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}
.home-hero h1{min-height:0;height:auto;grid-area:auto}
.hero-intro-title .eyebrow{margin-bottom:16px}
.hero-intro-action p{font-size:13px;line-height:2.1;color:var(--muted);letter-spacing:.05em}
.hero-intro-action .button{margin-top:22px}
@media(max-width:760px){.home-hero-copy{gap:22px}.hero-intro-action p{font-size:12px;line-height:2.2}.hero-intro-action .button{margin-top:18px}.hero-intro-title .eyebrow{margin-bottom:14px}}
@media(max-width:760px){.hero-intro-title,.hero-intro-action{width:100%;text-align:center}.hero-intro-title .eyebrow,.hero-intro-title h1,.hero-intro-action p{text-align:center}.hero-intro-action .button{display:inline-flex;margin-left:auto;margin-right:auto}}
