:root{
  --gallery-maroon:var(--brand-maroon,#741f2b);
  --gallery-gold:var(--brand-gold,#b9964b);
  --gallery-charcoal:var(--charcoal,#333333);
  --gallery-warm:#f8f6f2;
}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;color:#222;padding:12px 16px;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.gallery-hero{background:var(--gallery-warm);padding:92px 24px 78px;border-bottom:1px solid rgba(0,0,0,.06)}
.gallery-hero-inner,.gallery-section{width:min(1180px,calc(100% - 32px));margin:0 auto}
.gallery-hero span,.gallery-heading>span{display:block;color:var(--gallery-gold);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.gallery-hero h1{margin:0;color:var(--gallery-maroon);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3rem,7vw,5.6rem);font-weight:400;line-height:1}
.gallery-hero p{max-width:720px;margin:22px 0 0;color:#4a4a4a;font-size:1.08rem;line-height:1.75}
.gallery-section{padding:96px 0 110px}
.gallery-heading{text-align:center;max-width:760px;margin:0 auto 46px}
.gallery-heading h2{margin:0;color:var(--gallery-charcoal);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.25rem,5vw,3.8rem);font-weight:400;line-height:1.08}
.gallery-heading p{margin:20px auto 0;color:#555;line-height:1.75}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.gallery-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.07)}
.gallery-media{background:#111;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}
.gallery-media img,.gallery-media video{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.gallery-card-copy{padding:24px;flex:1}
.gallery-type{display:inline-block;color:var(--gallery-maroon);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.gallery-card h3{margin:0;color:var(--gallery-charcoal);font-family:"DM Serif Display",Georgia,serif;font-size:1.65rem;font-weight:400;line-height:1.15}
.gallery-card p{margin:14px 0 0;color:#4a4a4a;line-height:1.7}
.gallery-empty{max-width:720px;margin:0 auto;padding:42px;text-align:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px}
.gallery-empty h3{margin:0 0 8px;color:var(--gallery-maroon);font-family:"DM Serif Display",Georgia,serif;font-size:2rem;font-weight:400}
.gallery-empty p{margin:0;color:#555}
.gallery-page video:focus-visible,.gallery-page a:focus-visible,.gallery-page button:focus-visible{outline:3px solid var(--gallery-gold);outline-offset:3px}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-section{padding-top:78px}}
@media(max-width:700px){.gallery-hero{padding:70px 18px 58px}.gallery-section{width:min(100% - 28px,1180px);padding:64px 0 82px}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-heading{margin-bottom:34px}.gallery-card-copy{padding:20px}.gallery-media{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
