.media-strip{margin:0 0 35px;padding:0}
.strip-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.strip-heading h3,.empty-strip h3{font:italic 34px var(--serif)}
.strip-controls{display:flex;gap:8px}
.strip-controls button{border:1px solid var(--line);width:42px;height:38px;background:transparent;color:inherit;font-size:20px}
.strip-controls button:disabled{opacity:.25;cursor:default}
.image-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 0 15px;overscroll-behavior-x:contain}
.image-track::-webkit-scrollbar{display:none}
.image-track>article{flex:0 0 calc((100% - 60px)/4);min-width:0;scroll-snap-align:start}
.image-track .poster-card button{height:240px;background:#eae6df}
.image-track .poster-card h3{font-size:23px}
.image-track .poster-card p{font-size:11px;line-height:1.65}
.image-track .poster-card .eyebrow{font-size:8px;margin-top:13px}
.image-track .poster-card .text-link{font-size:9px}
.archive-label{display:flex;justify-content:space-between;margin:15px 0 30px;color:var(--muted);font-size:10px}
.empty-strip{border-top:1px solid var(--line);padding-top:22px}.empty-strip p{font-size:12px;color:var(--muted);margin-top:12px}
.upcoming-concerts{border-top:1px solid var(--line);padding-top:35px;margin-top:45px}
.upcoming-concerts>h3{font-size:42px;margin-bottom:20px}
.gallery-page .strip-controls button{border-color:#ffffff40}
.gallery-page .media-strip{border-bottom:1px solid #ffffff18;padding-bottom:15px}
.gallery-image button{padding:0;border:0;background:#112a42;width:100%;height:220px;overflow:hidden}
.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-image button:hover img{transform:scale(1.025)}
.gallery-image p{font-size:11px;color:#c1cbd6;margin:12px 0 0;line-height:1.6}
.gallery-album button{aspect-ratio:1;height:auto}.gallery-album img{object-fit:contain}
.gallery-album .text-link{font-size:10px;color:var(--gold)}
.video-heading{font:italic 38px var(--serif);margin:30px 0}
#photo-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:60px 24px 30px;background:#071626;color:var(--paper);overflow:auto}
#photo-dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
#photo-dialog img{max-width:calc(100vw - 48px);max-height:calc(100dvh - 145px);width:auto;height:auto;object-fit:contain}
#photo-dialog p{font:italic 23px/1.35 var(--serif);margin-top:18px;text-align:center;max-width:750px}
#photo-dialog .close-photo{position:fixed;top:18px;right:20px;border:1px solid #ffffff50;border-radius:50%;width:44px;height:44px;background:#091c31;color:white}
@media(max-width:760px){.image-track{gap:14px}.image-track>article{flex-basis:calc((100% - 14px)/2)}.image-track .poster-card button{height:220px}.strip-heading h3,.empty-strip h3{font-size:28px}.strip-controls button{width:38px}.gallery-image button{height:210px}.archive-label{font-size:8px;gap:15px}.gallery-album button{height:auto}}
@media(max-width:400px){.image-track>article{flex-basis:74%}.image-track .poster-card button{height:245px}}

/* Keep complete photographs visible and put labels outside their frame. */
.gallery-image img,.photo-preview img{object-fit:contain;transform:none!important}
.poster-place{line-height:1.3}
.site-page.photo-home .main-photo{display:flex;flex-direction:column}
.site-page.photo-home .main-photo>img{min-height:0;flex:1;width:100%;height:0;object-fit:contain;opacity:1}
.site-page.photo-home .main-photo:after,.small-photos a:after{display:none}
.site-page.photo-home .portrait-title{position:static;flex:none;padding:14px 22px;background:var(--night)}
.site-page.photo-home .portrait-title h1{font-size:clamp(48px,5vw,76px);margin:4px 0}
.site-page.photo-home .portrait-title p{font-size:20px}
.site-page.photo-home .portrait-title .button{margin-top:12px}
.small-photos a{display:flex;flex-direction:column;background:#07101a}
.small-photos img{min-height:0;flex:1;height:0;object-fit:contain;transform:none!important}
.small-photos span{position:static;flex:none;padding:8px 12px;font-size:20px;background:var(--night)}
@media(max-width:760px){.site-page.photo-home .portrait-title{padding:8px 20px}.site-page.photo-home .portrait-title h1{font-size:45px}.site-page.photo-home .portrait-title p{font-size:16px}.site-page.photo-home .portrait-title .button{margin-top:8px;padding:8px 15px;min-height:38px}.site-page.photo-home .portrait-title .eyebrow{font-size:7px}.site-page.photo-home .small-photos span{position:static;font-size:12px;padding:5px 4px}}

.brand small{color:var(--gold);letter-spacing:.12em}
@media(max-width:760px){.brand small{font-size:8px;letter-spacing:.08em}}
/* Main portrait: closer framing, lettering in the lower dress area. */
.site-page.photo-home .main-photo{display:block;position:relative}
.site-page.photo-home .main-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.site-page.photo-home .main-photo:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(0deg,#091c31e6,transparent 48%);pointer-events:none}
.site-page.photo-home .portrait-title{position:absolute;bottom:24px;left:22px;right:20px;padding:0;background:transparent;z-index:1}
.site-page.photo-home .portrait-title h1{font-size:clamp(58px,7vw,110px)}
@media(max-width:760px){.site-page.photo-home .main-photo>img{object-position:50% 25%}.site-page.photo-home .portrait-title{bottom:22px;left:25px;right:20px}.site-page.photo-home .portrait-title h1{font-size:clamp(58px,17vw,90px)}.site-page.photo-home .portrait-title p{font-size:21px}.site-page.photo-home .portrait-title .button{margin-top:15px;padding:12px 18px;min-height:44px}}

.bio-places{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.bio-places figure{margin:0;min-width:0}.bio-places button{display:block;width:100%;height:240px;padding:0;border:0;background:#102438;cursor:zoom-in}.bio-places img{width:100%;height:100%;object-fit:contain}.bio-places figcaption{padding-top:12px}.bio-places strong{display:block;font:italic 25px var(--serif)}.bio-places span{display:block;font-size:11px;color:var(--muted);margin:7px 0}.bio-places small{display:block;font-size:9px;line-height:1.7;color:var(--muted)}.bio-places small a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.bio-places{grid-template-columns:1fr;gap:26px}.bio-places button{height:230px}.bio-places strong{font-size:26px}}

.bio-text h3{font:italic 28px/1.3 var(--serif);margin:27px 0 14px}.gallery-page .image-track>article{flex-basis:calc((100% - 60px)/4)}.gallery-page .gallery-image .text-link{font-size:9px;color:var(--gold)}@media(max-width:760px){.gallery-page .strip-heading{gap:10px}.gallery-page .strip-heading h3{font-size:24px}.gallery-page .image-track{gap:8px}.gallery-page .image-track>article{flex-basis:calc((100% - 24px)/4)}.gallery-page .gallery-image button{height:100px}.gallery-page .gallery-image p{font-size:9px;line-height:1.4}.gallery-page .gallery-image .text-link{font-size:7px;min-height:30px}.gallery-page .strip-controls{gap:4px}.gallery-page .strip-controls button{width:32px}}
