/* Version two: explore the space, meet the coaches, keep your place. */
[hidden]{display:none!important}
.site-header{position:sticky;top:0;background:rgba(8,8,8,.95);backdrop-filter:blur(16px)}
.desktop-nav{margin-left:2rem;gap:clamp(1.2rem,2.4vw,2.4rem)}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-.65rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav a[aria-current]::after,.desktop-nav a:hover::after{transform:scaleX(1)}
.hero-line{display:block;animation:hero-arrive .85s cubic-bezier(.2,.7,.2,1) both}
.hero-line:nth-child(2){animation-delay:.09s}.hero-line:nth-child(3){animation-delay:.18s}
.hero-image>img{animation:image-arrive 1.15s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes image-arrive{from{opacity:.35;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
.motion-ready .reveal{transition:opacity .65s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(20px)}
.space-grid{gap:clamp(3rem,7vw,7rem);grid-template-columns:1.05fr 1fr}
.gym-gallery{min-width:0}
.gallery-stage{display:block;position:relative;width:100%;padding:0;background:#151515;overflow:hidden;text-align:left;touch-action:pan-y}
.gallery-stage>img{width:100%;height:560px;object-fit:cover;object-position:center 65%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.gallery-stage:hover>img{transform:scale(1.025)}
.expand-label{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:1px solid #ffffff5c;background:#0808089c;backdrop-filter:blur(12px);color:#fff;font-size:.8125rem}
.expand-label>span{font-size:1.4rem;line-height:1}
.gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.35rem 0}
.gallery-meta .eyebrow{font-size:.75rem}
.gallery-meta p:not(.eyebrow){font-size:.8125rem;line-height:1.6;color:#65655e;margin-top:.25rem}
.gallery-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.gallery-controls button{background:none;color:var(--ink);border:1px solid #b9b9b0;width:40px;height:40px;font-size:1.2rem;transition:background .2s,color .2s}
.gallery-controls button:hover{background:var(--ink);color:white}
.gallery-controls>span{font-size:.75rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}
.gallery-thumbs button{position:relative;padding:0;background:#121212;text-align:left;border:2px solid transparent;outline-offset:4px;overflow:hidden}
.gallery-thumbs button[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--paper) inset}
.gallery-thumbs img{width:100%;height:100px;object-fit:cover;object-position:center 60%;opacity:.58;transition:opacity .25s}
.gallery-thumbs button[aria-pressed=true] img,.gallery-thumbs button:hover img{opacity:1}
.gallery-thumbs span{position:absolute;bottom:.5rem;left:.5rem;right:.25rem;color:#fff;font-size:.75rem;text-shadow:0 1px 8px #000;z-index:1}
.gallery-thumbs button::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent,#0009);pointer-events:none}
.gallery-dialog{width:min(1100px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;background:#0d0d0d;color:var(--paper);border:1px solid #3c3c37;overflow:auto}
.gallery-dialog::backdrop,.profile-dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}
.viewer-topbar{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;border-bottom:1px solid #333}
.viewer-topbar .eyebrow{font-size:.75rem}.viewer-topbar .dialog-close{position:static;color:var(--paper);padding:.2rem}
.viewer-media{position:relative;background:#070707;touch-action:pan-y}
.viewer-media>img{width:100%;height:min(66dvh,760px);object-fit:contain;max-width:100%;margin:auto}
.viewer-media>button{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;background:#151515b8;color:white;border:1px solid #ffffff70;backdrop-filter:blur(10px);font-size:1.5rem}
.viewer-previous{left:1.25rem}.viewer-next{right:1.25rem}
.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid #333}
.viewer-caption h2{font:500 1.2rem/1.4 var(--body)}.viewer-caption p{font-size:.875rem;color:#adada5;margin-top:.25rem}.viewer-caption>span{font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.coaches-v2{padding:6rem var(--gutter)}
.coaches-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem}
.coaches-heading h2{font:600 clamp(3.8rem,6.4vw,6.25rem)/.95 var(--display);letter-spacing:-.01em;margin-top:1.6rem}
.coaches-heading>p{font-size:.9375rem;line-height:1.8;color:#62625b;margin-bottom:.3rem}
.coach-finder{padding:0;margin:3rem 0 0;border:0;min-width:0}.coach-finder legend{font-size:.875rem;font-weight:500;margin-bottom:.9rem;padding:0}
.focus-options{display:flex;flex-wrap:wrap;gap:.6rem}.focus-options label{position:relative;cursor:pointer}
.focus-options input{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%}
.focus-options span{display:block;padding:.75rem 1rem;font-size:.875rem;border:1px solid #b7b7ad;transition:background .2s,color .2s,border-color .2s}
.focus-options input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.focus-options label:hover span{border-color:var(--ink)}.focus-options input:focus-visible+span{outline:2px solid #5454b4;outline-offset:4px}
.coach-results{font-size:.8125rem;color:#66665f;margin:1.3rem 0}
.coach-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start;min-height:300px}
.coach-card{min-width:0}.coach-card-photo{display:block;position:relative;width:100%;padding:0;overflow:hidden;background:#111;aspect-ratio:3/4}
.coach-card-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.coach-card-photo:hover>img{transform:scale(1.035)}
.coach-photo-action{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:3.5rem 1.25rem 1.2rem;background:linear-gradient(transparent,#000b);font-size:.875rem;color:white}.coach-photo-action>span{font-size:1.35rem}
.coach-card-info{padding-top:1.25rem}.coach-card-info h3{font:500 1.75rem/1.35 var(--body);letter-spacing:-.04em}
.coach-card-info h3 button{padding:0;background:none;color:var(--ink)}.coach-card-info>p{font-size:.875rem;color:#66665f;line-height:1.7;margin-top:.3rem}
.coach-nojs-link{display:inline-block;color:#64645b;font-size:.8125rem;margin-top:.5rem}
.coach-guidance{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:2rem;margin-top:2rem;border-top:1px solid #ccccc5}.coach-guidance>p{font-size:.9375rem;color:#64645b}.coach-guidance .coach-match{margin:0;flex-shrink:0}
.profile-dialog{padding:0;border:0;width:min(980px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);background:var(--paper);color:var(--ink);overflow:hidden}
.profile-layout{display:grid;grid-template-columns:.9fr 1fr;max-height:calc(100dvh - 2rem);overflow-y:auto}
.profile-dialog>.dialog-close{z-index:2;background:var(--paper);top:1rem;right:1rem;color:var(--ink);border:1px solid #b9b9af}
.profile-media{position:relative;min-height:610px;background:#111}
.profile-media>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.profile-media>figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.25rem 1.25rem;background:linear-gradient(transparent,#000b);color:white;font-size:.75rem;letter-spacing:.1em}
.profile-content{padding:3.5rem 2.5rem 2.5rem}.profile-content>.eyebrow{color:#65655b;font-size:.75rem}
.profile-content h2{font:600 clamp(4rem,8vw,6rem)/1 var(--display);margin:1.3rem 0 1rem;text-transform:uppercase}
.profile-tagline{font-size:1.1rem;line-height:1.6;font-weight:500;margin-bottom:1rem}.profile-content>#profile-bio{font-size:1rem;color:#62625a;line-height:1.8}
.profile-focus{margin:1.8rem 0;padding:1.3rem 0;border-top:1px solid #ccccc3;border-bottom:1px solid #ccccc3}.profile-focus .eyebrow{font-size:.75rem;color:#686860}
.profile-focus ul{list-style:none;padding:0;margin:.7rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.profile-focus li{font-size:.8125rem;border:1px solid #ccccc3;padding:.4rem .6rem}
.profile-content>.button{width:100%}.profile-content>.text-link{margin-top:1.2rem}.profile-note{font-size:.8125rem;color:#707066;line-height:1.7;margin-top:1.5rem}
.mobile-dock{display:none}.modal-open .mobile-dock{visibility:hidden}
@media(min-width:1600px){.coaches-v2{padding-left:max(var(--gutter),calc((100vw - 1600px)/2));padding-right:max(var(--gutter),calc((100vw - 1600px)/2))}}
@media(max-width:1050px){.desktop-nav{margin-left:0;gap:1.2rem}.header-actions{gap:1rem}.space-grid{gap:3rem}.gallery-stage>img{height:490px}.gallery-meta{display:block}.gallery-controls{margin-top:.8rem;justify-content:flex-end}.gallery-thumbs img{height:85px}.coaches-heading{gap:2rem}.coaches-heading h2{font-size:clamp(3.5rem,6.4vw,6rem)}.coach-cards{gap:1rem}.profile-content{padding:3.5rem 1.75rem 2rem}.profile-media{min-height:650px}}
@media(max-width:760px){
  html{scroll-padding-top:6rem}.site-header{position:sticky}.hero-line{animation-duration:.6s}.space-grid{grid-template-columns:1fr;gap:2.5rem}
  .gallery-stage>img{height:440px;object-position:center 61%}.gallery-meta{display:flex;align-items:flex-start;gap:.5rem}.gallery-controls{margin:0;gap:.35rem}.gallery-controls button{width:40px;height:40px}.gallery-meta p:not(.eyebrow){max-width:200px}.gallery-thumbs img{height:88px}.expand-label{left:1rem;right:1rem;bottom:1rem}
  .coaches-v2{padding:3.5rem var(--gutter) 4rem}.coaches-heading{display:block}.coaches-heading h2{font-size:clamp(3.1rem,11.4vw,5.5rem)}.coaches-heading>p{margin-top:1.5rem}.coach-finder{margin-top:2rem}
  .focus-options{gap:.5rem;display:grid;grid-template-columns:1fr 1fr}.focus-options span{padding:.75rem .6rem;font-size:.8125rem;display:flex;align-items:center;height:100%;min-height:48px}
  .coach-cards{grid-template-columns:1fr;gap:2.5rem;min-height:0}.coach-card-photo{aspect-ratio:4/4.6}.coach-card-photo>img{object-position:50% 45%}.coach-card-info{padding-top:1rem}.coach-guidance{display:block;margin-top:2rem}.coach-guidance .coach-match{margin-top:1.25rem}
  .gallery-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.viewer-topbar{padding:.65rem 1rem}.viewer-media>img{height:64dvh;min-height:180px}.viewer-media>button{width:44px;height:44px;top:auto;bottom:.8rem;transform:none}.viewer-previous{left:.8rem}.viewer-next{right:.8rem}.viewer-caption{padding:1rem;align-items:flex-start}.viewer-caption p{font-size:.8125rem}.viewer-caption h2{font-size:1.05rem}
  .profile-layout{grid-template-columns:1fr}.profile-media{height:370px;min-height:0}.profile-media>img{object-position:center 35%}.profile-content{padding:2rem 1.5rem}.profile-content h2{font-size:4rem}.profile-dialog>.dialog-close{top:.75rem;right:.75rem}
  .mobile-dock{display:grid;grid-template-columns:1fr 1fr 1.2fr;position:fixed;left:1rem;right:1rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:8;background:#111e;backdrop-filter:blur(16px);border:1px solid #62625b;box-shadow:0 5px 28px #0004;padding:.3rem;gap:.2rem}
  .mobile-dock a,.mobile-dock button{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.6rem .85rem;font-size:.8125rem;color:var(--paper);background:none}.mobile-dock a[aria-current]{background:#ffffff17}.mobile-dock button{background:var(--paper);color:var(--ink)}.site-footer{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}
}
@media(max-width:380px){.gallery-meta{display:block}.gallery-controls{margin-top:.75rem;justify-content:flex-start}.gallery-stage>img{height:365px}.focus-options{grid-template-columns:1fr}.mobile-dock{left:.5rem;right:.5rem}.mobile-dock a,.mobile-dock button{padding:.55rem .65rem}.profile-media{height:320px}}
@media(prefers-reduced-motion:reduce){.hero-line,.hero-image>img{animation:none}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}.gallery-stage:hover>img,.coach-card-photo:hover>img{transform:none}.motion-ready .reveal{transition:none}}
