/* Gallery additions: the established site typography and palette stay inherited. */
.gallery-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gallery-page .gallery-hero .wrap{padding-top:48px;padding-bottom:54px}
.gallery-page .gallery-hero h1{margin-bottom:18px;font-size:clamp(3.5rem,6.6vw,6.5rem)}
.gallery-page .gallery-hero .lead{margin-bottom:0;max-width:32ch}
.gallery-collection{padding:72px 0 80px}
.gallery-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,640px);gap:clamp(36px,5vw,72px);align-items:start;grid-template-areas:"heading media" "story media";grid-template-rows:min-content 1fr;row-gap:0}
.gallery-heading{max-width:390px;grid-area:heading}
.gallery-story{max-width:390px;grid-area:story}
.gallery-heading .eyebrow{margin-bottom:18px}
.gallery-heading h2{font-size:clamp(2.5rem,4.2vw,4.5rem);margin-bottom:12px}
.gallery-subtitle{font-size:1.25rem;font-weight:500;line-height:1.4;margin-bottom:26px}
.gallery-story>p:not(.eyebrow){max-width:35ch}
.gallery-credit{border-top:1px solid var(--rule);margin:30px 0 22px;padding-top:22px}
.gallery-credit dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:7px;color:var(--muted)}
.gallery-credit dd{margin:0;font-size:1rem}
.gallery-story .text-link{font-size:.9375rem}
.gallery-browser{min-width:0;max-width:640px;grid-area:media}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.gallery-toolbar .eyebrow{margin:0;color:var(--ink);font-size:.75rem}
.gallery-controls{display:flex;gap:9px;align-items:center}
.gallery-status{display:none;font-size:.875rem;font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:8px;min-width:58px;text-align:right}
.gallery-ready .gallery-status{display:inline}
.gallery-instructions-enhanced{display:none}
.gallery-ready .gallery-instructions-enhanced{display:inline}
.gallery-ready .gallery-instructions-basic{display:none}
.gallery-arrow{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .18s,color .18s}
.gallery-arrow:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.gallery-arrow:disabled{opacity:.35;cursor:default}
.gallery-arrow[hidden],.gallery-position[hidden]{display:none}
.gallery-track{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8e847b #e7e0d9;padding:2px 0 20px;margin:0;max-width:100%;-webkit-overflow-scrolling:touch}
.gallery-slide{flex:0 0 339px;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:normal}
.gallery-slide img{display:block;width:100%;height:auto;background:#fff}
.gallery-slide figcaption{padding:17px 0 2px;display:flex;align-items:baseline;gap:14px;color:var(--ink);font-size:.9375rem;line-height:1.5}
.gallery-slide figcaption span{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.gallery-slide figcaption strong{font-weight:500}
.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px}
.gallery-hint{font-size:.8125rem;color:var(--muted);margin:0;max-width:none}
.gallery-positions{display:flex;align-items:center;gap:2px}
.gallery-position{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink);cursor:pointer}
.gallery-position::after{content:"";height:5px;width:22px;border-radius:4px;background:#c5b9ae}
.gallery-position[aria-current="true"]::after{background:var(--ink)}
.gallery-return{margin-top:38px;padding-top:24px;border-top:1px solid var(--rule)}
.gallery-return .text-link{font-size:1rem}
.gallery-teaser .gallery-teaser-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);align-items:center;gap:clamp(34px,5vw,80px)}
.gallery-teaser-cover{display:block;background:#f6f6f3}
.gallery-teaser-cover img{display:block;width:100%;height:auto}
.gallery-teaser-copy h2{font-size:clamp(2.4rem,4vw,4.2rem);margin-bottom:24px}
.gallery-teaser-copy p:not(.eyebrow){max-width:36ch}
.gallery-teaser-copy .eyebrow{margin-bottom:18px}
.gallery-teaser-copy .text-link{margin-top:4px}
@media(max-width:1000px){
  .gallery-layout{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:32px}
  .gallery-slide{flex-basis:310px}
  .gallery-heading h2{font-size:3.5rem}
}
@media(max-width:760px){
  .gallery-page .gallery-hero .wrap{padding-top:30px;padding-bottom:34px}
  .gallery-page .gallery-hero h1{font-size:clamp(3.2rem,10vw,4.6rem)}
  .gallery-page .gallery-hero .lead{font-size:1.25rem}
  .gallery-collection{padding:40px 0 56px}
  .gallery-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "media" "story";grid-template-rows:auto;row-gap:28px}
  .gallery-heading,.gallery-story{max-width:none}
  .gallery-heading h2{font-size:3.2rem}
  .gallery-story>p:not(.eyebrow){max-width:54ch}
  .gallery-subtitle{margin-bottom:0}
  .gallery-credit{margin-top:22px;margin-bottom:16px;padding-top:18px}
  .gallery-browser{margin-top:0}
  .gallery-slide{flex-basis:min(86%,339px)}
  .gallery-track{gap:18px}
  .gallery-teaser .gallery-teaser-layout{grid-template-columns:1fr;gap:30px}
  .gallery-teaser-copy h2{font-size:2.7rem}
}
@media(max-width:380px){
  .gallery-toolbar{gap:8px}
  .gallery-controls{gap:6px}
  .gallery-status{margin-right:3px;min-width:48px;font-size:.8125rem}
  .gallery-toolbar .eyebrow{letter-spacing:.08em}
  .gallery-hint{max-width:21ch}
}
@media(prefers-reduced-motion:reduce){.gallery-arrow{transition:none}.gallery-track{scroll-behavior:auto}}
