.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}.album-cover-card{display:block;min-width:0}.album-cover-image{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--ivory)}.album-cover-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.album-cover-card:hover img{transform:scale(1.025)}.album-open{position:absolute;bottom:22px;right:22px;background:var(--paper);padding:13px 20px;display:flex;align-items:center;gap:20px;font-size:14px;color:var(--ink)}.album-cover-details{padding:20px 0;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.album-cover-details h3{font:clamp(26px,3vw,36px)/1.2 var(--serif);color:var(--ink)}.album-cover-details p,.album-cover-details>span{font-size:14px;color:var(--muted);margin-top:8px}.album-cover-details>span{white-space:nowrap}.gallery-empty{font-size:16px;border-top:1px solid var(--line);padding:28px 0;grid-column:1/-1;color:var(--muted)}
.gallery-page{background:var(--paper)}.gallery-header{height:88px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-header .brand img{width:43px;height:36px}.gallery-header .brand span{font-size:13px}.back-link{font-size:14px;color:var(--gold-text);padding:12px 0}.album-page{width:min(1380px,90%);margin:70px auto 100px}.album-heading h1{font:clamp(42px,6vw,76px)/1.1 var(--serif);font-weight:400;letter-spacing:-.04em;color:var(--ink)}.album-heading>p:not(.eyebrow){font-size:16px;color:var(--muted);margin:18px 0}.album-subline{display:flex;justify-content:space-between;gap:25px;font-size:14px;color:var(--muted);padding:25px 0 30px;border-bottom:1px solid var(--line);margin-bottom:30px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.photo-tile{min-width:0}.photo-open{width:100%;aspect-ratio:4/5;border:0;background:var(--ivory);display:block;overflow:hidden;padding:0;position:relative}.photo-open img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.photo-open:hover img{transform:scale(1.015)}.photo-tile-footer{display:flex;align-items:center;justify-content:space-between;padding:9px 0}.like-button,.comment-count-button{background:transparent;border:0;color:var(--ink);min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:8px;font-size:14px}.like-button svg,.comment-count-button svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}.like-button[aria-pressed=true]{color:#a03135}.like-button[aria-pressed=true] svg{fill:currentColor}.comment-count-button{color:var(--muted)}button:disabled{opacity:.5;cursor:wait}.photo-dialog{width:min(1240px,94vw);max-width:94vw;max-height:92dvh;margin:auto;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}.photo-dialog::backdrop{background:#171611d9;backdrop-filter:blur(5px)}.photo-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:640px;height:84dvh;max-height:850px}.photo-stage{display:flex;align-items:center;justify-content:center;background:#191916;position:relative;overflow:hidden}.photo-stage>img{width:100%;height:100%;object-fit:contain}.viewer-close,.viewer-prev,.viewer-next{position:absolute;z-index:2;border:1px solid #ffffff60;background:#19191690;color:#fff;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:30px;line-height:1}.viewer-close{top:16px;left:16px;font-size:20px}.viewer-prev{left:16px;top:calc(50% - 21px)}.viewer-next{right:16px;top:calc(50% - 21px)}.detail-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:5px 12px;color:#fff;background:#191916a0;border-radius:20px;font-size:13px}.comment-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.comment-header{display:flex;align-items:center;gap:13px;padding:24px;border-bottom:1px solid var(--line)}.comment-header img{width:37px;height:32px;object-fit:contain;opacity:.8}.comment-header strong{font-size:14px;font-weight:600}.comment-header p{font-size:13px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.comment-scroll{flex:1;min-height:100px;overflow-y:auto;padding:24px}.comment-scroll ol{list-style:none;padding:0;margin:0}.comment-item{font-size:14px;line-height:1.65;margin-bottom:24px;overflow-wrap:anywhere}.comment-item strong{font-weight:600}.comment-item p{white-space:pre-wrap;margin:5px 0}.comment-item time{font-size:12px;color:var(--muted)}#comment-status{font-size:14px;line-height:1.7;color:var(--muted)}.photo-engagement{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.comment-form{padding:0 24px 20px;display:flex;flex-direction:column;gap:8px}.comment-form label{font-size:14px}.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--line);padding:9px 12px;border-radius:3px;background:transparent;color:var(--ink);font:14px/1.5 var(--sans)}.comment-form textarea{resize:vertical;max-height:120px}.comment-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.comment-form-bottom>span{font-size:13px;color:var(--muted)}.gold-button{background:var(--gold-text);color:#fff;border:1px solid var(--gold-text);padding:11px 20px;min-height:44px;border-radius:4px;font:500 14px/1.3 var(--sans);display:inline-flex;justify-content:center;align-items:center;gap:8px}.gold-button:hover{background:#78603f}.outline-button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:11px 18px;min-height:44px;border-radius:4px;font-size:14px}.text-button{background:transparent;border:0;color:var(--gold-text);font-size:14px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:99;max-width:90vw;background:var(--ink);color:var(--paper);padding:14px 24px;border-radius:4px;font-size:14px}.gallery-footer{border-top:1px solid var(--line);text-align:center;font-size:12px;letter-spacing:.16em;padding:30px}.modal-open{overflow:hidden}#gallery-notice{font-size:16px;color:var(--muted);padding:20px 0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-text);outline-offset:4px} [hidden]{display:none!important}
@media(max-width:900px){.photo-dialog-layout{grid-template-columns:minmax(0,1fr) 320px}.photo-grid{gap:20px 15px}.album-page{margin-top:48px}.gallery-grid{gap:26px}.gallery-header .brand span{display:none}}
@media(max-width:650px){.gallery-grid{grid-template-columns:1fr}.album-cover-details h3{font-size:30px}.gallery-header{height:72px}.album-page{margin:36px auto 65px}.album-subline{gap:15px;flex-wrap:wrap;padding-top:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.photo-tile-footer{padding:4px 0}.photo-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh}.photo-dialog-layout{display:flex;flex-direction:column;height:auto;min-height:100dvh;max-height:none}.photo-dialog{overflow:auto}.photo-stage{height:52dvh;flex-shrink:0}.comment-panel{overflow:visible}.comment-header{padding:18px 20px}.comment-scroll{flex:none;max-height:32dvh;min-height:80px;padding:20px}.comment-form{padding:0 20px 24px}.viewer-close{position:fixed;top:12px;left:12px}.album-heading h1{font-size:44px}.photo-tile-footer button{font-size:13px;padding:6px}.photo-engagement{padding:6px 16px}}
@media(prefers-reduced-motion:reduce){.album-cover-image img,.photo-open img{transition:none}}

/* Embedded galleries keep the visitor on the home page. */
.photo-dialog{--paper:#faf8f3;--ink:#403d37;--muted:#89857e;--line:#ddd3c3;--gold-text:#8f6c3e;--sans:var(--font);background:var(--paper);color:var(--ink);border-radius:0}
#gallery-dialog{width:min(1200px,94vw);position:relative;max-height:90dvh;overscroll-behavior:contain;scroll-behavior:smooth}
.album-navigation{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:-40px 0 24px;padding-right:0}
.album-navigation button{width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;font-size:26px;background:transparent;color:#fff}.album-navigation span{font-size:12px;color:#aaa}
#gallery-dialog .dialog-header{margin-bottom:40px}#gallery-dialog .live-albums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#gallery-dialog .live-album{background:transparent;border:0;color:inherit;text-align:left;padding:0;min-width:0}#gallery-dialog .live-album img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}#gallery-dialog .live-album h3{font-size:18px;margin-top:12px}#gallery-dialog .live-album p{color:#aaa;font-size:13px;margin-top:6px}#gallery-dialog .live-album[aria-pressed=true] img{outline:2px solid #d1ad55;outline-offset:4px}
#selected-album{scroll-margin-top:20px;padding-top:15px;border-top:1px solid #ffffff25;margin:32px 0}#selected-album-status{color:#aaa;font-size:14px;margin:0 0 20px}
#gallery-dialog .photo-tile{--ink:#e5e1d8;--muted:#aaa;--ivory:#181818}#gallery-dialog .photo-open{border-radius:6px}#gallery-dialog .photo-open img{object-fit:cover}#gallery-dialog .gallery-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.photo-dialog .comment-panel{background:#faf8f3}.photo-dialog .comment-form input,.photo-dialog .comment-form textarea{box-sizing:border-box}.photo-dialog .comment-header img{height:40px;width:40px}.toast{background:#30271b;color:#fff;z-index:1000}
@media(max-width:650px){#gallery-dialog .live-albums{gap:14px}#gallery-dialog .live-album h3{font-size:13px}#gallery-dialog .live-album p{font-size:11px}#gallery-dialog .gallery-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-navigation{margin:0 0 20px}.photo-dialog-layout{min-height:100dvh}.photo-dialog{border-radius:0}}

/* City selectors remain in the gallery and load the chosen album below. */
.gallery-city-picker{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 28px}
.gallery-city-button{border:1px solid #a98a42;border-radius:12px;background:#1b1913;color:#f2d88e;padding:11px 23px;font-size:15px;font-weight:600;line-height:1.4;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.gallery-city-button:hover{background:#d4af4f;color:#171207;border-color:#e9c76b}
.gallery-city-button[aria-pressed=true]{background:var(--gold,#fbd35d);border-color:var(--gold,#fbd35d);color:#111;box-shadow:inset 0 0 0 1px #fff3}
.gallery-city-button:focus-visible{outline:2px solid #fff0bc;outline-offset:4px}
@media(max-width:650px){.gallery-city-picker{gap:9px;margin-bottom:22px}.gallery-city-button{padding:10px 17px;font-size:14px}}

.gallery-recent{margin-top:-20px;margin-bottom:35px;display:flex;flex-wrap:wrap;gap:18px 28px}.gallery-city-group{min-width:160px}.gallery-city-group h3{font-size:16px;font-weight:600;color:#f5d779;margin:0 0 10px}.gallery-city-dates{display:flex;flex-wrap:wrap;gap:8px}.gallery-city-dates .gallery-city-button{font-size:13px;padding:9px 15px;font-weight:500}.gallery-city-picker{gap:18px 28px}.gallery-recent:empty{display:none}@media(max-width:650px){.gallery-recent{margin-top:-8px;gap:18px}.gallery-city-group{min-width:0;width:100%}}
