html{scroll-snap-type:none}
body{overflow:clip;padding-top:var(--nav-h)}
main img{height:auto}
.pg-back{color:inherit;font-size:.66rem;letter-spacing:.23em}
.site-header{background-color:var(--wine)}

.pg-hero{position:relative;display:flex;height:clamp(360px,25vw,500px);overflow:hidden;background:var(--wine);color:#fff}
.pg-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 68%}
.pg-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,var(--tint)) 35%,rgba(0,0,0,var(--tint-foot)) 62%)}
.pg-hero{--tint:.30;--tint-foot:.78}
.pg-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto;padding-top:clamp(16px,2.1vw,40px)}
.pg-title{display:flex;flex-direction:column;gap:clamp(8px,1vw,14px);margin:auto 0 clamp(16px,1.8vw,30px);padding-top:clamp(12px,1.25vw,24px)}
.pg-title-prefix{font:600 clamp(13px,1vw,14px)/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#c9aa7d}
.pg-title-name{max-width:100%;overflow-wrap:anywhere;font:400 clamp(4.08rem,6.24vw,5.64rem)/1.12 var(--script);letter-spacing:normal;text-transform:none;color:#ffd7f7}
.pg-facts{display:flex;flex-wrap:wrap;align-self:stretch;gap:10px clamp(28px,5vw,72px);margin:0;padding:clamp(12px,1.2vw,22px) 0 clamp(16px,1.6vw,30px);border-top:1px solid rgba(255,255,255,.32)}
.pg-facts dt{margin-bottom:2px;font-size:.66rem;font-weight:600;letter-spacing:.23em;text-transform:uppercase;color:#fff}
.pg-facts dd{margin:0;font-size:clamp(.86rem,1.1vw,1rem)}

.pg-filter{position:sticky;top:var(--nav-h);transition:top .25s var(--ease);z-index:5;background:rgba(243,240,232,.97);border-bottom:1px solid var(--line)}
.pg-filter-list{display:flex;gap:clamp(20px,2.8vw,40px);margin:0;padding:0;list-style:none;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.pg-filter-list::-webkit-scrollbar{display:none}
.pg-filter button{position:relative;display:inline-flex;align-items:center;gap:.55em;min-height:54px;padding:0;border:0;background:none;color:var(--muted);font:600 .66rem/1.55 var(--sans);letter-spacing:.23em;text-transform:uppercase;cursor:pointer}
.pg-filter button::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.pg-filter button:hover,.pg-filter button[aria-pressed="true"]{color:var(--wine)}
.pg-filter button[aria-pressed="true"]::after{transform:scaleX(1)}
.pg-filter button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.pg-count{font-size:.57rem;letter-spacing:.13em;color:var(--gold)}

.pg-gallery{padding:clamp(18px,2vw,28px) 0 0}
.pg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;overflow:hidden}
.pg-tile[hidden]{display:none}
.pg-tile button{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;overflow:hidden;background:#d9d1c4;cursor:zoom-in}
.pg-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pg-tile button:hover img{transform:scale(1.03)}
.pg-tile button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.pg-foot-back{padding:clamp(32px,4vw,56px) 0 clamp(64px,8vw,104px)}

.pg-lightbox{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(16,7,5,.97);color:#fff;box-shadow:none;overflow:hidden}
.pg-lightbox::backdrop{background:rgba(16,7,5,.97)}
.pg-lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(64px,8vh,96px) clamp(16px,7vw,112px);touch-action:pan-y;user-select:none}
.pg-lb-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;-webkit-user-drag:none}
.pg-lb-btn{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.28);color:#fff;font:300 1.5rem/1 var(--sans);cursor:pointer}
.pg-lb-btn:hover{border-color:var(--gold);color:var(--gold)}
.pg-lb-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pg-lb-btn[hidden]{display:none}
.pg-lb-prev{left:clamp(10px,2vw,28px);top:50%;transform:translateY(-50%)}
.pg-lb-next{right:clamp(10px,2vw,28px);top:50%;transform:translateY(-50%)}
.pg-lb-close{top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);font-size:1rem}
.pg-lb-caption{position:absolute;left:0;right:0;bottom:clamp(20px,3.4vh,34px);margin:0;text-align:center;font:400 .62rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.78)}

@media(min-width:768px){.pg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.pg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .pg-hero{height:clamp(320px,88vw,360px);--tint:.37;--tint-foot:.78}
  .pg-facts{flex-direction:column}
  .pg-title-name{font-size:clamp(3.6rem,19.2vw,4.8rem);line-height:1.12}
  .pg-lb-prev,.pg-lb-next{top:auto;bottom:12px;transform:none}
}
html.nav-quiet .pg-filter{top:var(--nav-quiet-h)}
@media(prefers-reduced-motion:reduce){.pg-tile img,.pg-filter,.pg-filter button::after{transition:none}}
