:root{--ink:#282c28;--deep:#202720;--cream:#f7f5ef;--paper:#eae7dd;--white:#fffefa;--gold:#c3a46c;--gold-dark:#77603b;--muted:#60665e;--line:#d4d3c8;--serif:'Instrument Serif',Georgia,serif}
html{scroll-padding-top:110px}
h1,h2,h3{letter-spacing:-.018em}
h1{line-height:1.1}
h2{font-size:43px;line-height:1.14}
h3{line-height:1.2}
p{line-height:1.85}
.location-label{font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.text-link{font-size:13px;text-decoration-color:#998567;text-underline-offset:7px;padding:7px 0;min-height:40px}
.button{min-height:50px;border-radius:0;padding:15px 22px;font-size:13px}


.site-header{background:var(--cream);color:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{width:min(1440px,calc(100% - 88px));min-height:102px;gap:38px}
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;padding:8px 0;line-height:1}
.wordmark img{width:240px;height:auto;max-height:none}
.desktop-nav{gap:34px}
.desktop-nav>a,.collection-menu>summary{font-size:13px;color:var(--ink);font-weight:400}
.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{color:var(--gold-dark)}
.header-inquiry{border:1px solid var(--deep);background:var(--deep);color:var(--cream);font-size:12px;min-height:45px;padding:12px 18px;gap:22px;margin-left:0;border-radius:0}
.header-inquiry:hover,.header-inquiry[aria-current=page]{background:#414a3e;border-color:#414a3e;color:var(--cream)}
.mobile-contact-label{display:none}
.collection-menu{position:relative}
.collection-menu summary{display:flex;gap:11px;align-items:center;cursor:pointer;min-height:46px;list-style:none}
.collection-menu summary::-webkit-details-marker{display:none}
.collection-menu summary>span{color:var(--gold-dark);font-size:16px;margin-top:-5px}
.collection-menu nav{position:absolute;top:calc(100% + 6px);left:-22px;min-width:255px;background:var(--cream);border:1px solid var(--line);padding:12px 22px;box-shadow:0 15px 25px rgba(30,35,28,.12)}
.collection-menu nav a{display:block;color:var(--ink);font-size:13px;padding:10px 0;min-height:44px;white-space:nowrap;line-height:1.8;border-bottom:1px solid var(--line)}
.collection-menu nav a:last-child{border-bottom:0}
.collection-menu nav a:hover,.collection-menu nav a[aria-current=page]{color:var(--gold-dark)}
.mobile-menu nav{background:var(--cream);color:var(--ink);border-top:1px solid var(--line)}
.mobile-menu nav a{color:var(--ink);border-color:var(--line)}
.mobile-menu nav a[aria-current=page]{color:var(--gold-dark)}
.mobile-menu summary span{color:var(--ink)}
.visual-hero{width:min(1440px,calc(100% - 88px));padding:28px 0 0;margin:0 auto}
.hero-gallery{grid-template-columns:1.8fr .68fr .68fr;gap:22px;height:auto;align-items:start;max-width:none}
.hero-feature{background:transparent;overflow:visible;height:auto;aspect-ratio:auto}
.hero-images{position:relative;inset:auto;aspect-ratio:1.4;overflow:hidden;background:#313c2c}
.hero-slide{transition:opacity .65s ease,visibility .65s ease}
.hero-bottom{position:static;padding:12px 0 0;gap:12px;background:none;color:var(--ink)}
.hero-bottom>a{font-size:12px;line-height:1.5;padding:8px 0;display:flex;align-items:center;gap:14px;min-height:44px}
.hero-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}
.hero-bottom>a>span{color:var(--gold-dark);font-size:18px}
.hero-controls{gap:9px}
.hero-controls button{width:40px;height:40px;border-color:#b9bcb0;background:transparent;color:var(--ink);font-size:17px}
.hero-controls button:hover{background:var(--deep);color:var(--cream);border-color:var(--deep)}
.hero-controls>span{font-size:10px;color:var(--muted)}
.hero-support{display:contents}
.hero-collection{overflow:visible;display:block}
.hero-collection .photograph{height:auto;aspect-ratio:3/4}
.hero-individual{margin-top:55px}
.hero-athlete{margin-top:116px}
.hero-individual img{object-position:50% 25%}
.hero-athlete img{object-position:50% 35%}
.hero-collection>span{position:static;padding:13px 0 4px;background:none;color:var(--ink);font-size:12px;line-height:1.55;min-height:44px;gap:10px}
.hero-collection>span>span{color:var(--gold-dark);font-size:18px}
.hero-caption{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:start;padding:35px 0 57px;max-width:none;border-bottom:0}
.hero-caption .location-label{font-size:10px;margin:0 0 17px;color:var(--gold-dark)}
.hero-caption h1{font-size:clamp(38px,3.3vw,50px);line-height:1.08;max-width:550px;margin:0;letter-spacing:-.018em}
.hero-introduction{padding-top:2px;max-width:455px;justify-self:end}
.hero-introduction>p{font-size:16px;color:var(--muted);line-height:1.85;margin:0 0 12px}
.personal-section{background:var(--paper);padding:84px 0}
.personal-portrait-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center;max-width:1120px}
.personal-portrait .photograph{aspect-ratio:4/5}
.personal-portrait img{object-position:29% 50%}
.personal-portrait figcaption{font-size:11px;margin-top:12px}
.personal-story h2{font-size:46px;line-height:1.12;margin-bottom:26px;max-width:575px}
.personal-story p:not(.location-label){font-size:16px;color:#525b50;line-height:1.9;margin-bottom:19px}
.personal-story .location-label{margin-bottom:18px}
.personal-story .text-link{margin-top:4px}
.session-directory{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding:85px 0 70px}
.directory-intro h2{font-size:43px;max-width:365px;line-height:1.13}
.directory-intro>p:not(.location-label){font-size:15px;color:var(--muted);max-width:355px;line-height:1.9}
.directory-intro .text-link{font-size:12px}
.directory-link{display:flex;justify-content:space-between;gap:35px;padding:25px 0 26px;border-top:1px solid var(--line);align-items:center;transition:padding .2s}
.directory-link:last-child{border-bottom:1px solid var(--line)}
.directory-link h3{font-size:33px;margin:0 0 11px;line-height:1.2}
.directory-link p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:475px}
.directory-link>span{width:42px;height:42px;border:1px solid #bec1b4;display:grid;place-content:center;border-radius:50%;font-size:20px;flex-shrink:0;transition:background .2s,color .2s}
.directory-link:hover>span{background:var(--deep);color:white;border-color:var(--deep)}
.directory-link:hover h3{color:var(--gold-dark)}
.home-client-note{display:grid;grid-template-columns:1.2fr .8fr;gap:78px;align-items:center;padding-bottom:85px}
.graduation-story{display:block;min-width:0}
.graduation-story .photograph{aspect-ratio:1.75}
.graduation-story img{object-position:38% 50%}
.graduation-story>span{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.6;padding:14px 0 6px;min-height:44px}
.graduation-story>span>span{color:var(--gold-dark);font-size:19px}
.graduation-story:hover>span{text-decoration:underline;text-underline-offset:4px}
.note-copy .client-quote{border:0;padding:0}
.note-copy .client-quote blockquote{font-size:31px;line-height:1.48;letter-spacing:-.008em}
.note-copy .location-label{margin-bottom:22px}
.note-copy .text-link{margin-top:20px;font-size:12px}
.invitation{background:#e7e9df;padding:65px 0 69px}
.invitation h2{font-size:42px;line-height:1.15;max-width:740px;margin-bottom:21px}
.invitation p{font-size:15px;line-height:1.9;max-width:650px}
.invitation-inner{gap:65px}
.site-footer{padding-top:54px}
.footer-main{padding-bottom:43px;gap:85px}
.footer-main .logo img{width:250px;height:auto;max-height:none;filter:brightness(0) invert(1);opacity:.96}
.footer-main p{font-size:13px;color:#bec7b7}
.footer-main nav a{font-size:13px;line-height:1.8}
.footer-main nav{gap:14px}
.footer-email{font-size:13px}
.footer-bottom{font-size:10px}
.page-intro{padding-top:73px;padding-bottom:46px}
.page-intro h1{font-size:61px;line-height:1.1;max-width:920px}
.page-intro p{font-size:17px;max-width:730px;line-height:1.9}
.portfolio-intro h1{max-width:700px}
.portfolio-grid{columns:3;column-gap:22px}
.portfolio-grid .photograph{margin-bottom:22px}
.gallery-filters button{font-size:12px;border-radius:0;padding:11px 16px}
.portfolio-grid.small-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;max-width:1050px}
.portfolio-grid.small-collection .photograph{width:100%;max-width:none;height:auto;max-height:none;margin-bottom:0}
.portfolio-grid.small-collection .photograph:only-child{grid-column:span 2}
.portfolio-grid.small-collection img{width:100%;height:auto;max-height:none;object-fit:contain}
.photograph[data-photo=individualWoman] img{object-position:50% 25%}
.service-nav{padding-top:22px;padding-bottom:18px;gap:37px}
.service-nav a{font-size:12px}
.service-hero{gap:90px;grid-template-columns:.9fr 1.1fr;padding-top:62px;padding-bottom:60px}
.service-hero h1{font-size:55px;line-height:1.1}
.service-hero-copy p:not(.location-label){font-size:15px;line-height:1.9}
.service-hero-image{aspect-ratio:1.15}
.service-pair h2,.session-note h2,.other-sessions h2,.sport-link h2{font-size:38px;line-height:1.15}
.senior-intro{grid-template-columns:1.1fr .9fr;gap:100px;padding-top:62px;padding-bottom:53px}
.senior-intro h1{font-size:57px;line-height:1.1}
.senior-intro p:not(.location-label){font-size:15px;line-height:1.9}
.senior-feature .photograph{aspect-ratio:1.78}
.senior-details{padding:75px 0}
.senior-details>.reading h2{font-size:43px;line-height:1.13}
.athlete-layout{grid-template-columns:1fr 1fr;gap:92px;padding-top:58px}
.athlete-photo{aspect-ratio:3/4;position:sticky;top:130px}
.athlete-photo img{object-position:50% 30%}
.athlete-layout h1{font-size:57px;line-height:1.1}
.athlete-layout h2{font-size:37px;line-height:1.15;margin-top:35px}
.athlete-layout p:not(.location-label){font-size:15px;line-height:1.9}
.athlete-gallery{max-width:1000px}
.session-row{grid-template-columns:280px 1fr;gap:65px;padding:40px 0}
.session-title h2{font-size:39px;line-height:1.15}
.session-title p{font-size:36px}
.session-row>.photograph{height:285px}
.session-row>div>p{font-size:15px;line-height:1.9}

.questions-intro h2{font-size:42px;line-height:1.15}
.questions summary{font-size:15px}
.about-opening{grid-template-columns:.9fr 1.1fr;gap:95px;padding:68px 0 65px}
.about-opening h1{font-size:67px;line-height:1.05}
.about-intro{font-size:19px;line-height:1.9}
.about-opening .photograph{aspect-ratio:1.1}
.about-body{grid-template-columns:.55fr 1fr;gap:90px;max-width:1100px;padding-top:65px}
.about-sidebar p{font-size:13px;line-height:1.8}
.about-body .reading p{font-size:17px;line-height:1.95}
.about-body .signature{font-size:43px}
.reviews-layout{grid-template-columns:1fr 1fr;gap:90px}
.review-list blockquote{font-size:29px;line-height:1.55}
.review-list .client-quote{border-left:1px solid #a58e62}
.contact-copy h1{font-size:61px;line-height:1.1}
.contact-layout{gap:100px;padding-top:65px}
.contact-copy>p:not(.location-label){font-size:16px;line-height:1.9}
.contact-copy .contact-price{font-size:13px}
.contact-walt .photograph{height:94px;width:76px}
.contact-walt>div{min-width:0}
a[href^="mailto:"]{overflow-wrap:anywhere}
.inquiry-form-wrap{border-top:1px solid #92805a;background:#ece9e0;padding:36px}
.form-field label{font-size:13px;font-weight:500}
.form-field input,.form-field textarea,.form-field select{border-radius:0;background:#faf9f4}
.form-disclosure{font-size:11px;line-height:1.8}
.gallery-access h2{font-size:37px;line-height:1.15}
.image-prev,.image-next{backdrop-filter:blur(3px)}
.inquiry-dialog h2{font-size:39px;line-height:1.15}
@media(max-width:1100px){
  .wordmark img{width:210px}
  .header-inner,.visual-hero{width:calc(100% - 56px)}.header-inner{gap:28px}.desktop-nav{gap:25px}.hero-gallery{gap:16px;grid-template-columns:1.6fr .7fr .7fr}.hero-individual{margin-top:37px}.hero-athlete{margin-top:86px}.hero-bottom>a{font-size:11px;gap:8px}.hero-controls{gap:6px}.hero-controls button{width:36px;height:36px}.hero-caption{gap:65px;padding-bottom:48px}.hero-caption h1{font-size:43px}.hero-introduction>p{font-size:15px}.personal-portrait-layout{gap:65px}.personal-story h2{font-size:42px}.personal-story p:not(.location-label){font-size:15px}.session-directory{gap:65px}.directory-link h3{font-size:30px}.home-client-note{gap:50px}.note-copy .client-quote blockquote{font-size:29px}.service-hero{gap:55px}.service-hero h1,.senior-intro h1,.athlete-layout h1{font-size:49px}.senior-intro,.athlete-layout{gap:55px}.session-row{grid-template-columns:245px 1fr;gap:42px}.session-title h2{font-size:35px}.about-opening{gap:60px}.about-opening h1{font-size:60px}.contact-layout{gap:55px}.contact-copy h1{font-size:54px}.invitation h2{font-size:39px}.invitation-inner{gap:45px}
}
@media(max-width:950px){
  .header-inner{min-height:88px;gap:20px}
  .desktop-nav{display:none}
  .header-inquiry{margin-left:auto;white-space:nowrap}
  .mobile-menu{display:block;margin-left:0}
  .mobile-menu summary{display:flex;align-items:center;list-style:none;cursor:pointer;font-size:0;padding:10px 0 10px 8px;min-width:32px}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary span{font-size:22px;color:var(--ink)}
  .mobile-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;padding:9px 28px 18px;max-height:calc(100dvh - 90px);overflow:auto;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 20px 20px rgba(0,0,0,.15)}
  .mobile-menu nav a{font-size:14px;padding:12px 0;min-height:44px;border-bottom:1px solid var(--line)}
  .desktop-contact-label{display:none}
  .mobile-contact-label{display:inline}
}
@media(max-width:800px){
  html{scroll-padding-top:90px}.header-inner{width:calc(100% - 40px);min-height:83px;gap:16px}.wordmark img{width:190px}.desktop-nav{display:none}.header-inquiry{display:flex;margin-left:auto;min-height:42px;padding:10px 14px;font-size:11px;gap:14px}.mobile-menu{margin-left:0}.mobile-menu summary{font-size:0;padding:10px 0 10px 8px;gap:0;min-width:32px}.mobile-menu summary span{font-size:22px}.mobile-menu nav{padding:9px 20px 18px;max-height:calc(100dvh - 90px);overflow:auto}.mobile-menu nav a{font-size:14px;padding:12px 0;min-height:44px}.desktop-contact-label{display:none}.mobile-contact-label{display:inline}.visual-hero{width:calc(100% - 40px);padding-top:20px}.hero-gallery{grid-template-columns:1.55fr .72fr .72fr;gap:12px}.hero-individual{margin-top:25px}.hero-athlete{margin-top:59px}.hero-collection>span{font-size:10px;gap:5px;align-items:flex-start}.hero-collection>span>span{font-size:15px}.hero-bottom{display:block;padding-top:6px}.hero-bottom>a{font-size:11px;min-height:31px;padding:5px 0}.hero-controls{justify-content:flex-start;gap:10px}.hero-controls button{width:38px;height:38px}.hero-caption{gap:35px;padding:30px 0 43px;grid-template-columns:1fr 1fr}.hero-caption h1{font-size:39px}.hero-caption .location-label{font-size:9px;line-height:1.8;margin-bottom:14px}.hero-introduction>p{font-size:14px;line-height:1.85}.hero-introduction .text-link{font-size:12px}.personal-section{padding:56px 0}.personal-portrait-layout{gap:40px;grid-template-columns:.8fr 1.2fr}.personal-portrait .photograph{aspect-ratio:3/4}.personal-story h2{font-size:36px}.personal-story p:not(.location-label){font-size:14px}.personal-story p:nth-last-of-type(1){margin-bottom:12px}.personal-portrait figcaption{font-size:10px;line-height:1.7}.session-directory{padding:55px 0;gap:40px;grid-template-columns:.8fr 1.2fr}.directory-intro h2{font-size:36px}.directory-intro>p:not(.location-label){font-size:14px}.directory-link{gap:20px;padding:21px 0}.directory-link h3{font-size:29px}.directory-link p{font-size:13px}.directory-link>span{width:34px;height:34px;font-size:17px}.home-client-note{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:55px}.note-copy .client-quote blockquote{font-size:26px}.note-copy .location-label{font-size:9px}.invitation{padding:48px 0}.invitation h2{font-size:37px}.invitation p{font-size:15px}.footer-main{gap:30px}.footer-main>div:first-child{grid-column:span 2}.page-intro{padding-top:45px;padding-bottom:32px}.page-intro h1{font-size:49px}.page-intro p{font-size:16px}.portfolio-grid{columns:2;column-gap:14px}.portfolio-grid .photograph{margin-bottom:14px}.portfolio-grid.small-collection{gap:18px}.service-nav{gap:25px;padding-top:16px;padding-bottom:13px}.service-nav a{font-size:11px}.service-hero{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:35px}.service-hero h1{font-size:47px;max-width:600px}.service-hero-copy p:not(.location-label){font-size:16px;max-width:650px}.service-hero-image{aspect-ratio:1.5}.service-pair h2,.session-note h2,.other-sessions h2,.sport-link h2{font-size:34px}.senior-intro{grid-template-columns:1fr;gap:20px;padding-top:40px;padding-bottom:35px}.senior-intro h1{font-size:49px;max-width:620px}.senior-intro p:not(.location-label){font-size:16px}.senior-details{padding:50px 0}.senior-details>.reading h2{font-size:37px}.athlete-layout{grid-template-columns:.85fr 1.15fr;gap:32px;padding-top:40px}.athlete-layout h1{font-size:42px}.athlete-layout h2{font-size:32px}.athlete-layout p:not(.location-label){font-size:15px}.athlete-photo{top:110px}.session-row{grid-template-columns:200px 1fr;gap:30px;padding:30px 0}.session-title h2{font-size:33px}.session-title p{font-size:31px}.session-row>.photograph{height:270px}.questions-intro h2{font-size:36px}.about-opening{grid-template-columns:1fr;gap:27px;padding:45px 0}.about-opening h1{font-size:56px}.about-intro{font-size:18px;max-width:640px}.about-opening .photograph{aspect-ratio:1.5}.about-body{grid-template-columns:1fr;gap:20px;padding-top:35px}.about-body .reading p{font-size:17px;line-height:1.9}.reviews-layout{grid-template-columns:1fr;gap:35px}.review-list blockquote{font-size:27px}.contact-layout{grid-template-columns:1fr;gap:32px;padding-top:45px}.contact-copy h1{font-size:51px}.contact-copy>p:not(.location-label){font-size:16px}.inquiry-form-wrap{padding:30px}.contact-review blockquote{font-size:27px}.inquiry-dialog h2{font-size:34px}
}
@media(max-width:600px){
  .header-inner{width:calc(100% - 32px);min-height:78px;gap:12px}.wordmark img{width:180px}.header-inquiry{padding:9px 11px;min-height:40px;gap:11px;font-size:11px}.mobile-menu summary{padding-left:3px;min-width:26px}.visual-hero{width:calc(100% - 32px);padding-top:16px}.hero-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.hero-feature{grid-column:span 2;aspect-ratio:auto}.hero-images{aspect-ratio:1.4}.hero-bottom{display:flex;padding-top:8px;align-items:center}.hero-bottom>a{font-size:11px;max-width:175px;min-height:44px;gap:10px}.hero-controls{gap:6px}.hero-controls button{width:40px;height:40px}.hero-controls>span{font-size:10px;min-width:24px}.hero-individual,.hero-athlete{margin-top:0}.hero-support{display:contents}.hero-collection .photograph{aspect-ratio:4/5}.hero-collection>span{font-size:11px;padding:10px 0 0;line-height:1.6;min-height:35px}.hero-collection>span>span{font-size:17px}.hero-athlete img{object-position:50% 35%}.hero-caption{display:block;padding:28px 0 40px}.hero-caption h1{font-size:42px;max-width:400px;line-height:1.08;margin-bottom:21px}.hero-caption .location-label{font-size:9px;margin-bottom:15px}.hero-introduction{padding:0;max-width:none}.hero-introduction>p{font-size:15px;line-height:1.85;max-width:none;margin-bottom:10px}.hero-introduction .text-link{font-size:13px}.personal-portrait-layout{grid-template-columns:1fr;gap:29px}.personal-portrait{max-width:430px}.personal-portrait .photograph{aspect-ratio:1.14}.personal-portrait img{object-position:31% 50%}.personal-portrait figcaption{font-size:11px}.personal-story h2{font-size:40px;max-width:420px;line-height:1.12;margin-bottom:25px}.personal-story p:not(.location-label){font-size:16px;line-height:1.85}.personal-story .location-label{margin-bottom:16px}.personal-section{padding:43px 0 47px}.session-directory{grid-template-columns:1fr;gap:28px;padding:47px 0 42px}.directory-intro h2{font-size:39px;max-width:420px;line-height:1.13;margin-bottom:20px}.directory-intro>p:not(.location-label){font-size:15px;max-width:none}.directory-intro .text-link{font-size:13px}.directory-link{padding:24px 0;gap:20px}.directory-link h3{font-size:32px;line-height:1.16;margin-bottom:12px}.directory-link p{font-size:14px;line-height:1.85}.directory-link>span{width:38px;height:38px}.home-client-note{grid-template-columns:1fr;gap:34px;padding-bottom:48px}.graduation-story .photograph{aspect-ratio:1.65}.graduation-story>span{font-size:11px}.note-copy{max-width:440px}.note-copy .client-quote blockquote{font-size:31px;line-height:1.48}.note-copy .location-label{font-size:10px;margin-bottom:20px}.note-copy .text-link{font-size:13px;margin-top:17px}.invitation h2{font-size:39px;line-height:1.13}.invitation p{font-size:15px;line-height:1.85}.invitation .button{width:auto;max-width:none;min-width:200px;font-size:13px}.footer-main nav a{font-size:12px}.footer-main p{font-size:13px}.footer-bottom{font-size:10px}.page-intro h1{font-size:44px;line-height:1.12}.page-intro p{font-size:16px;line-height:1.85}.gallery-filters{gap:3px}.gallery-filters button{padding:11px 9px;font-size:11px;min-height:44px}.portfolio-grid{column-gap:10px}.portfolio-grid .photograph{margin-bottom:10px}.portfolio-grid.small-collection{grid-template-columns:1fr;gap:18px}.portfolio-grid.small-collection .photograph:only-child{grid-column:auto}.portfolio-grid.small-collection .photograph{max-width:100%}.service-nav{gap:22px}.service-nav a{font-size:11px}.service-hero h1{font-size:43px;line-height:1.13}.service-hero-copy p:not(.location-label){font-size:16px}.service-hero-image{aspect-ratio:1.28}.service-pair h2{font-size:36px}.service-pair p{font-size:16px}.senior-intro h1{font-size:44px;line-height:1.12}.senior-feature .photograph{aspect-ratio:1.55}.senior-feature img{object-position:35% 50%}.senior-details>.reading h2{font-size:37px}.session-note h2{font-size:34px}.athlete-layout{grid-template-columns:1fr;gap:30px;padding-bottom:43px}.athlete-photo{position:static;max-height:none;aspect-ratio:3/4}.athlete-layout h1{font-size:45px;line-height:1.12}.athlete-layout h2{font-size:34px}.athlete-layout p:not(.location-label){font-size:16px}.athlete-gallery{padding-bottom:45px}.athlete-gallery figcaption{font-size:11px}.session-row{grid-template-columns:1fr;gap:26px;padding:30px 0 35px}.session-row>.photograph{height:auto;aspect-ratio:1.6}.session-title{display:flex;align-items:baseline;gap:20px}.session-title h2{font-size:32px;line-height:1.15}.session-title p{font-size:30px}.session-row>div>p{font-size:15px;line-height:1.85}.questions-intro h2{font-size:38px}.about-opening h1{font-size:52px}.about-opening .photograph{aspect-ratio:1.15}.about-intro{font-size:17px}.about-body{padding-top:32px}.about-body .reading p{font-size:17px}.review-list blockquote{font-size:29px}.contact-copy h1{font-size:46px}.contact-layout{padding-top:40px}.inquiry-form-wrap{padding:28px 22px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-field label{font-size:13px}.inquiry-dialog h2{font-size:33px}.gallery-access h2{font-size:35px}
}
@media(max-width:350px){.header-inner{gap:9px}.wordmark img{width:155px}.header-inquiry{padding:8px 9px;gap:7px}.hero-bottom>a{font-size:10px;gap:6px;max-width:138px}.hero-controls{gap:4px}.hero-controls button{width:36px;height:36px}.hero-caption h1{font-size:38px}.session-title h2{font-size:28px}.session-title p{font-size:28px}}
.hero-stage{display:grid;position:relative}
.hero-stage>.hero-gallery{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility .7s ease}
.hero-stage>.hero-gallery.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero-main-photo{aspect-ratio:1.4}
.hero-main-photo img{object-position:50% 42%}
.hero-gallery:nth-child(2) .hero-main-photo img{object-position:35% 50%}
.hero-gallery:nth-child(3) .hero-main-photo img{object-position:50% 45%}
.visual-hero>.hero-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.visual-hero>.hero-controls button{width:40px;height:40px;min-width:40px}
.visual-hero.hero-welcome{padding-top:0}
.hero-welcome .hero-caption{padding-top:20px}
@media(max-width:600px){.hero-stage .hero-gallery{gap:14px 12px}.hero-stage .hero-feature{grid-column:span 2}.hero-main-photo{aspect-ratio:1.4}.visual-hero>.hero-controls{margin-top:12px}.hero-welcome .hero-caption{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-stage>.hero-gallery,.directory-link>span{transition:none}.reveal-pending{opacity:1;transform:none}}

/* Longer, personal copy keeps a comfortable reading width between photographs. */
.prose-section + .prose-section{margin-top:42px}
.senior-details .session-note{align-self:start}
.session-starting-price{color:var(--ink)!important}
.athlete-team{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center;padding-bottom:80px}
.athlete-team-photo .photograph{aspect-ratio:1.5}
.athlete-team-photo figcaption{font-size:11px;color:var(--muted);margin-top:13px}
.athlete-team h2{font-size:39px;line-height:1.15}
.athlete-team p{color:var(--muted);font-size:16px}
.reviews-featured{display:grid;grid-template-columns:1.15fr .85fr;gap:75px;align-items:center;padding-bottom:65px}
.reviews-featured .review-portrait .photograph{aspect-ratio:1.35}
.reviews-featured .featured-quote{margin:0;border:0;padding:0}
.reviews-featured .featured-quote blockquote{font-size:32px;line-height:1.5}
.review-grid{columns:2;column-gap:75px;padding-bottom:60px}
.review-grid .client-quote{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;margin:0 0 35px;padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}
.review-grid .client-quote blockquote{font-size:24px;line-height:1.65;letter-spacing:0}
.review-grid .client-quote figcaption{font-size:12px;margin-top:19px}
.review-grid .client-quote figcaption span{font-size:10px}
.about-body .reading{max-width:690px}
.social-links,.footer-main .social-links{display:flex;flex-direction:row;align-items:center;gap:12px;margin:24px 0 0}
.social-link,.footer-main .social-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;min-width:46px;padding:0;border:1px solid var(--line);background:var(--cream);color:var(--ink);text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.social-link svg{display:block;width:22px;height:22px}
.social-link:hover,.footer-main .social-link:hover{background:#e2d5bd;border-color:#c3a46c;color:var(--deep)}
.social-link:focus-visible{outline:3px solid var(--gold-dark);outline-offset:4px}
.footer-main .social-link:focus-visible{outline-color:var(--gold)}
.contact-social-links{margin:0 0 28px}
.client-quote .review-stars{display:flex;gap:3px;align-items:center;width:max-content;color:#977337;margin:0 0 18px}
.review-stars svg{display:block;flex:none;width:17px;height:17px}
.review-grid .client-quote .review-stars{margin-bottom:14px}
@media(max-width:600px){.mobile-contact-label{max-width:65px;white-space:normal;line-height:1.25;text-align:center}}
@media(max-width:350px){.header-inquiry{padding:8px}.mobile-contact-label{max-width:54px}}
@media(max-width:950px){
  .athlete-team,.reviews-featured{gap:40px}
  .review-grid{column-gap:40px}
  .reviews-featured .featured-quote blockquote{font-size:28px}
}
@media(max-width:700px){
  .athlete-team{grid-template-columns:1fr;gap:30px;padding-bottom:50px}
  .athlete-team h2{font-size:36px}
  .reviews-featured{grid-template-columns:1fr;gap:30px;padding-bottom:40px}
  .reviews-featured .review-portrait .photograph{aspect-ratio:1.5}
  .reviews-featured .featured-quote blockquote{font-size:29px}
  .review-grid{columns:1;padding-bottom:35px}
  .review-grid .client-quote{margin-bottom:25px}
  .review-grid .client-quote blockquote{font-size:24px;line-height:1.65}
}

/* Progressive enhancements retain the finished site's existing visual system. */
[hidden]{display:none!important}
.portfolio-grid.single-visible>.photograph:not([hidden]){grid-column:1/-1}
.inquiry-honeypot{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}
.inquiry-status{font-size:14px;line-height:1.8;padding:16px 18px;margin:22px 0 0;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
.inquiry-status[data-state=sent]{background:#e7e9df;border-color:#bec7b7}
.inquiry-status[data-state=error]{border-color:#9b674d}
.inquiry-status:focus{outline:2px solid var(--gold-dark);outline-offset:4px}
#inquiry-form .button:disabled{cursor:wait;opacity:.65}
#inquiry-form .button:disabled:has(+.form-disclosure+.inquiry-status[data-state=sent]){cursor:default}
