/* Isolated photo polish. Approved branding, hero and glass menu remain unchanged. */
.v3 .photo-editorial>.photo-gloss .gallery-item img{position:static;inset:auto;height:100%;object-fit:cover;transform:none}
.v3 .photo-editorial>.photo-gloss .gallery-item:hover img{transform:scale(1.025)}
.v3 .photo-editorial>.photo-gloss .gallery-item{aspect-ratio:4/3}
.v3 .photo-editorial>.photo-installed .gallery-item img{object-position:45% center}
.v3 .about-image>img{object-position:45% 50%}
.v3 .photo-preparation .gallery-item img{object-position:50% 40%}
.v3 .photo-label{padding:7px 12px;border:1px solid #ffffff38;border-radius:100px;background:#0c0c0ec7;color:#fff;text-decoration:none;text-shadow:0 1px 2px #0008;line-height:1.35}
.v3 #photo-full{width:auto;max-width:100%;height:auto;max-height:70dvh;margin-inline:auto}
@media(max-width:760px){.v3 .photo-editorial>.photo-gloss .gallery-item{aspect-ratio:3/4}.v3 .photo-editorial>.photo-gloss .gallery-item img{object-position:50% center}.v3 #photo-full{max-height:65dvh}.v3 .photo-label{padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.v3 .photo-editorial>.photo-gloss .gallery-item:hover img{transform:none}}

/* Opening hours: a quiet, readable close to the contact section. */
.v3 .opening-hours{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,7vw,96px);padding-top:clamp(36px,5vw,64px);border-top:1px solid var(--rule)}
.v3 .hours-intro .eyebrow{margin:0 0 16px}
.v3 .hours-intro h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 20px}
.v3 .hours-intro>p:not(.eyebrow){max-width:31ch;color:var(--muted);font-size:.9375rem;line-height:1.75;margin:0 0 13px}
.v3 .hours-appointment{display:inline-flex;align-items:center;gap:22px;min-height:44px;color:var(--gold)}
.v3 .hours-appointment span{font-size:1.125rem}
.v3 .hours-list{margin:0;border-top:1px solid var(--rule);align-self:start}
.v3 .hours-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:21px 0;border-bottom:1px solid var(--rule)}
.v3 .hours-list dt{min-width:0;font-size:1rem;line-height:1.5;color:var(--text)}
.v3 .hours-list dd{margin:0;max-width:14rem;text-align:right;font-size:1rem;line-height:1.5;color:var(--text);font-variant-numeric:tabular-nums}
.v3 .hours-list time{white-space:nowrap}
.v3 .hours-by-appointment dd{color:var(--gold);font-size:.9375rem}
.v3 .hours-closed dd{color:var(--muted)}
@media(max-width:760px){.v3 .opening-hours{grid-template-columns:1fr;gap:28px;padding-top:34px}.v3 .hours-intro h3{font-size:2.2rem}.v3 .hours-list>div{padding:19px 0}.v3 .hours-list dd{max-width:10rem}}
@media(max-width:400px){.v3 .hours-list dt,.v3 .hours-list dd{font-size:.9375rem}.v3 .hours-list>div{gap:12px}.v3 .hours-by-appointment dd{max-width:8.5rem}}
