.session-cover{position:relative;height:76svh;min-height:500px;max-height:900px;margin:0 -5.56%;isolation:isolate;display:flex;align-items:flex-end;color:#fff}.session-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-2}.session-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 85%);z-index:-1}.session-cover>div{padding:6%}.session-cover h1{margin-bottom:22px;font-size:clamp(52px,7vw,102px)}.session-cover h1 em{font-family:Didot,'Bodoni 72',Georgia,serif;font-weight:400}.cover-link{display:inline-block;margin:16px 28px 0 0;border-bottom:1px solid #fff8;padding-bottom:7px;font-size:12px}.direction-intro{padding:80px 0 45px}.direction-intro h2{font-size:clamp(32px,4vw,55px)}.direction-intro>p:not(.eyebrow){max-width:560px;color:var(--muted)}.direction-intro nav{flex-wrap:wrap;margin-top:28px;gap:25px}.direction-intro nav a{border-bottom:1px solid var(--line);padding-bottom:8px}.location-story{padding:45px 0 60px;border-top:1px solid var(--line);scroll-margin-top:110px}.location-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.location-heading h2{font-size:clamp(38px,4.5vw,66px);margin-bottom:12px}.location-heading p:not(.eyebrow){color:var(--muted);max-width:460px;font-size:13px}.choose-setting{background:none;border:0;border-bottom:1px solid;padding:8px 0;white-space:nowrap;font-size:12px}.location-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:25px}.photo-open{padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in}.photo-open img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s}.photo-open:hover img{transform:scale(1.025)}.location-gallery .photo-open:nth-child(2){grid-row:span 2}.location-gallery .photo-open:nth-child(2) img{height:100%;aspect-ratio:auto}.location-gallery .photo-open:last-child{grid-column:span 2}.location-gallery .photo-open:last-child img{aspect-ratio:2/1;object-position:50% 35%}#photo-viewer{background:#111;color:#fff;border:1px solid #666;width:min(1000px,95vw);padding:45px 18px 15px;max-height:94svh}#photo-viewer::backdrop{background:#000e}#photo-viewer img{display:block;max-width:100%;max-height:75svh;object-fit:contain;margin:auto}#photo-viewer p{font-size:12px;margin:12px 0 0;text-align:center}#close-photo{position:absolute;right:18px;top:10px;background:none;border:0;color:white}@media(max-width:600px){.session-cover{min-height:470px;height:70svh}.location-heading{display:block}.location-gallery{grid-template-columns:1fr 1fr}.location-gallery .photo-open:nth-child(2){grid-row:auto}.location-gallery .photo-open:nth-child(2) img{aspect-ratio:3/4}.location-gallery .photo-open:last-child{grid-column:auto}.location-gallery .photo-open:last-child img{aspect-ratio:3/4}.direction-intro{padding-top:45px}.location-story{padding:30px 0 40px}.direction-intro nav{gap:18px}}@media(prefers-reduced-motion:reduce){.photo-open img{transition:none}}

/* Preserve the complete photographs and keep the cover at a crisp display size. */
.session-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5%;height:auto;min-height:0;max-height:none;margin:0;padding:42px 0;color:inherit}
.session-cover>img{position:static;display:block;inset:auto;width:100%;height:auto;max-width:530px;justify-self:center;object-fit:contain;object-position:center;z-index:auto}
.session-cover:after{display:none}
.session-cover>div{padding:0}
.session-cover h1{font-size:clamp(42px,5.5vw,78px)}
.cover-link{border-color:var(--line)}
.location-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px;align-items:end}
.location-gallery .photo-open:nth-child(n){grid-column:auto;grid-row:auto;align-self:end}
.location-gallery .photo-open:nth-child(n) img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;transition:none}
.location-gallery .photo-open{opacity:var(--session-reveal,1)}
.location-gallery .photo-open:focus-visible{opacity:1}
#photo-viewer img{width:auto;height:auto}
@media(max-width:600px){
 .session-cover{grid-template-columns:1fr;gap:28px;padding:24px 0 40px}
 .session-cover>img{max-width:420px}
 .location-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
}
@media(prefers-reduced-motion:reduce){.location-gallery .photo-open{opacity:1}}

/* Two independent columns keep natural frames close without empty grid cells. */
.location-gallery{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:20px}
.session-photo-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.session-photo-column:nth-child(2){padding-top:36px}
.location-gallery .photo-open:nth-child(n){display:block;width:100%;align-self:stretch}
.location-story{padding:32px 0 40px}
.location-heading{gap:22px}
.location-gallery [data-tone="balanced"] img{filter:contrast(.97)}
.location-gallery [data-tone="highlight"] img,#photo-viewer img[data-tone="highlight"]{filter:brightness(.95) contrast(.93)}
.location-gallery [data-tone="shadow"] img,#photo-viewer img[data-tone="shadow"]{filter:contrast(.88) brightness(1.12)}
@media(max-width:600px){
 .location-gallery{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px}
 .session-photo-column{gap:10px}
 .session-photo-column:nth-child(2){padding-top:22px}
}

/* Match the studio navigation without changing its layout between themes. */
body.theme-light{background:#fff;--panel:#f2f2ef;--line:#0002}
body>header{min-height:128px;padding:20px 4%;border:0;background:linear-gradient(180deg,rgba(21,23,24,.86),rgba(42,45,47,.57));backdrop-filter:blur(28px) saturate(125%);z-index:50}
body.theme-light>header{background:#fff}
body>header .logo{display:block;width:84px;height:84px;object-fit:contain}
body>header nav{font-size:14px;gap:28px}
.location-story{position:relative;overflow:visible;padding:32px 0 40px;scroll-margin-top:var(--session-header,128px);background:inherit}
.location-heading{position:sticky;top:var(--session-header,128px);z-index:12;background:#111;padding:16px 0;margin-bottom:24px}
.theme-light .location-heading{background:#fff}
.location-gallery{display:flex;flex-direction:column;gap:24px;align-items:stretch}
.session-scroll-track{position:relative;padding:0;min-height:0}
.session-spread{display:grid;gap:16px;align-items:start;margin:0 auto;max-width:100%}
.session-stack{display:flex;flex-direction:column;gap:16px}
.session-scroll-track:nth-child(2) .session-stack{grid-column:1;grid-row:1}
.session-scroll-track:nth-child(2) .session-spread>.photo-open{grid-column:2;grid-row:1}
@media(min-width:761px) and (min-height:621px) and (prefers-reduced-motion:no-preference){.session-spread{position:sticky;top:var(--session-top)}}
@media(max-width:760px){body>header{min-height:92px;padding:12px 4%;gap:16px}body>header .logo{width:64px;height:64px}body>header nav{gap:10px 16px;flex-wrap:wrap;justify-content:flex-end;font-size:11px}.location-heading{position:relative;top:auto}}
@media(max-width:600px){.session-spread,.session-stack{gap:10px}}

.automotive-feature .session-spread>.photo-open{grid-column:1!important;grid-row:1}
.automotive-feature .session-stack{grid-column:2!important;grid-row:1;height:var(--feature-height);display:grid;grid-template-rows:repeat(2,minmax(0,1fr));justify-items:center}
.automotive-feature .session-stack .photo-open{height:100%;width:auto;max-width:100%}
.automotive-feature .session-stack img{height:100%;width:auto;max-width:100%;object-fit:contain;aspect-ratio:auto!important}
.location-gallery .automotive-feature .session-stack .photo-open:nth-child(n){height:100%;width:auto;min-height:0;align-self:stretch}
.location-gallery .automotive-feature .session-stack .photo-open:nth-child(n) img{height:100%;width:auto;max-width:100%;object-fit:contain}


/* Editorial stagger for the sessions page hero headline. */
.session-cover h1 br + em{
  display:inline-block;
  margin-left:clamp(76px,12vw,210px);
}
@media(max-width:760px){
  .session-cover h1 br + em{
    margin-left:clamp(34px,12vw,72px);
  }
}

/* Compact paired spreads, retaining the complete photo frames. */
.session-cover{padding:24px 0;gap:4%}
.session-cover>img{max-height:42svh;width:auto;max-width:100%}
.session-cover h1{font-size:clamp(36px,4.4vw,64px)}
.direction-intro{padding:36px 0 24px}
.location-story{padding:20px 0 24px}
.location-heading{padding:12px 0;margin-bottom:12px}
.location-heading h2{font-size:clamp(30px,3.4vw,48px)}
.location-heading .eyebrow{margin-bottom:12px}
.location-gallery{gap:16px;margin-top:12px}
@media(min-width:768px){.location-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:767px){.session-cover{gap:16px}.session-cover>img{max-height:38svh}.session-scroll-track{height:auto!important}.session-spread{position:relative;top:auto}}
/* Neutral single focus indicator; mouse selections use their selected state. */
body :focus-visible{outline:1px solid currentColor;outline-offset:3px}
body :focus:not(:focus-visible){outline:none}
body input:focus,body textarea:focus{outline:none;box-shadow:none;border-color:currentColor;caret-color:currentColor}
.package:has(input:checked){box-shadow:none;background:var(--panel)}
.package:has(input:focus-visible){outline:1px solid currentColor;outline-offset:2px}
.package input:focus-visible{outline:none}
body input[type=checkbox],body input[type=radio]{accent-color:#eee;filter:grayscale(1)}
body.theme-light input[type=checkbox],body.theme-light input[type=radio]{accent-color:#222}
body ::selection{background:#7775;color:inherit}

.location-gallery .photo-open{transform:translateY(var(--session-rise,0px));will-change:opacity,transform}
.location-gallery .photo-open:focus-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.location-gallery .photo-open{opacity:1;transform:none;will-change:auto}}

.location-gallery.moody-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.moody-gallery>.photo-open{width:100%;aspect-ratio:2/3;padding:0;overflow:hidden}
.moody-gallery>.photo-open img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
@media(max-width:767px){.location-gallery.moody-gallery{grid-template-columns:1fr;gap:20px}}
