/* Native galleries and project/news detail pages share the site's glass treatment. */
.collection-page { padding-top: 14rem; padding-bottom: 6rem; min-height: 70vh; }
.collection-intro { max-width: 70rem; margin-bottom: 4rem; }
.collection-intro h1 { font: 700 4.625rem/1.2 'Libre Baskerville',Georgia,serif; margin: 0 0 1.5rem; }
.collection-intro > p:not(.eyebrow) { color: var(--ink); max-width: 65rem; margin-bottom: 1.25rem; }
.editor-link a { display: inline-flex; padding: .6rem 1rem; border: 1px solid #0b164033; border-radius: 2rem; font-size: 1rem; background: #ffffff80; }
.collection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.glass-card { border: 1px solid #fff9; border-radius: 2rem; background: #ffffff80; backdrop-filter: blur(16px); box-shadow: 0 8px 35px #0b164012; overflow: hidden; }
.album-cover { position: relative; display: block; height: 25rem; overflow: hidden; }
.album-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.album-cover:hover img { transform: scale(1.04); }
.album-count { position: absolute; bottom: 1.5rem; right: 1.5rem; border: 1px solid #fff8; padding: .6rem 1rem; border-radius: 2rem; background: #0b164077; color: white; backdrop-filter: blur(12px); font-size: 1rem; }
.collection-card-copy { padding: 2rem; }
.collection-card-copy h2 { font-size: 1.75rem; margin-bottom: 1rem; }
.collection-card-copy p { color: var(--ink); font-size: 1.25rem; }
.collection-empty { padding: 3rem; border-radius: 2rem; background: #ffffff80; }
.video-player { position: relative; aspect-ratio: 16/9; background: linear-gradient(130deg,#0b1640,#1f3a93); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.video-player > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .92; }
.video-player iframe { width: 100%; height: 100%; border: 0; position: absolute; inset: 0; }
.video-coming-soon { position: relative; color: white; font-size: 1.25rem; padding: 1rem 1.5rem; border-radius: 3rem; background: #ffffff26; border: 1px solid #ffffff80; backdrop-filter: blur(12px); }
.video-play.glass-control { position: relative; color: white; background: #0b1640e6; box-shadow: 0 2px 9px #0005; }
.video-play.glass-control:hover { background: #0b1640; }
.glass-control { border: 1px solid #ffffff66; border-radius: 4rem; background: #ffffff26; color: white; padding: .8rem 1.25rem; backdrop-filter: blur(12px); font: 500 1.25rem/1.3 'IBM Plex Sans',Arial,sans-serif; cursor: pointer; }
.glass-control:hover { background: #ffffff4d; }
.glass-control:disabled { opacity: .35; cursor: default; }
.lightbox-open { overflow: hidden; }
.gallery-lightbox {
    width: min(94vw, 1080px);
    max-height: 94dvh;
    padding: 0;
    border: 0;
    border-radius: .75rem;
    background: var(--paper);
    color: var(--navy);
    box-shadow: 0 16px 56px #0006;
}
.gallery-lightbox::backdrop { background: #0c101bd9; }
.lightbox-panel [hidden] { display: none; }
.lightbox-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1.25rem; }
.lightbox-header h2 { margin: 0; font: 600 clamp(1rem, 2.1vw, 1.55rem)/1.35 "Libre Baskerville", Georgia, serif; overflow-wrap: anywhere; }
.lightbox-header form { margin: 0; flex-shrink: 0; }
.lightbox-control {
    min-width: 40px;
    min-height: 40px;
    padding: .3rem .65rem;
    border: 1px solid transparent;
    border-radius: .3rem;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.lightbox-control:hover { background: #0b16400c; }
.lightbox-control[aria-disabled="true"] { opacity: .45; cursor: default; }
.lightbox-control:focus-visible, .lightbox-viewport:focus-visible, .lightbox-thumbnails button:focus-visible { outline: 2px solid #b56d24; outline-offset: -2px; }
.lightbox-close { font-size: 1.5rem; line-height: 1; }
.lightbox-figure { margin: 0; }
.lightbox-stage { position: relative; background: #171b23; }
.lightbox-viewport { height: clamp(155px, 57dvh, 640px); overflow: hidden; touch-action: pan-y; }
.lightbox-viewport.is-zoomed { overflow: auto; cursor: grab; touch-action: pan-x pan-y; overscroll-behavior: contain; }
.lightbox-viewport.is-dragging { cursor: grabbing; }
.lightbox-canvas { display: grid; place-items: center; width: max-content; min-width: 100%; min-height: 100%; }
.lightbox-image { display: block; max-width: none; user-select: none; }
.lightbox-stage > button {
    position: absolute;
    z-index: 1;
    top: 50%;
    translate: 0 -50%;
    background: #171b23e8;
    color: #fff;
    border-color: #ffffff70;
}
.lightbox-stage > button:hover { background: #000; }
.lightbox-prev { left: .65rem; }
.lightbox-next { right: .65rem; }
.lightbox-figure figcaption { padding: .7rem 1.25rem 0; line-height: 1.5; font-size: .95rem; }
.lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem 1.25rem; }
.lightbox-position { margin: 0; font-size: .88rem; color: #48516a; }
.lightbox-zoom { display: flex; align-items: center; margin-left: auto; border: 1px solid #0b164028; border-radius: .35rem; }
.lightbox-zoom-reset { min-width: 3.6rem; font-variant-numeric: tabular-nums; }
.lightbox-thumbnails { display: flex; gap: .45rem; overflow-x: auto; padding: .55rem 1.25rem .75rem; border-top: 1px solid #0b164021; }
.lightbox-thumbnails button { flex: 0 0 auto; padding: 2px; background: transparent; border: 2px solid transparent; border-radius: .35rem; cursor: pointer; }
.lightbox-thumbnails button[aria-current="true"] { border-color: var(--navy); }
.lightbox-thumbnails img { display: block; width: 3.7rem; height: 2.55rem; border-radius: .15rem; object-fit: cover; }
.lightbox-albums { display: flex; justify-content: space-between; gap: .5rem; padding: 0 1.25rem .65rem; font-size: .9rem; }
.project-filter { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 3rem; }
.project-filter a { padding: 1rem 1.5rem; border-radius: 3rem; border: 1px solid #0b164033; background: #ffffff80; font-size: 1.25rem; }
.project-filter a[aria-current=page] { background: var(--navy); color: white; }
.project-status-badge { display: inline-block; color: var(--red); border: 1px solid #e5352b44; border-radius: 2rem; padding: .35rem .75rem; margin-bottom: 1rem; font-size: 1rem; }
.detail-hero { width: 100%; max-height: 50rem; object-fit: cover; border-radius: 2rem; margin-bottom: 3rem; }
.detail-content { max-width: 75rem; margin: 0 auto; }
.detail-content .entry-content p { line-height: 1.7; margin-bottom: 1.5rem; }
.detail-facts { margin-block: 3rem; }
.collection-grid .news-image-link { height: 24rem; }
.collection-grid .news-feature-image { width: 100%; height: 100%; left: 0; top: 0; object-fit: cover; }
@media(max-width: 820px) {
    .collection-page { padding-top: 9rem; padding-bottom: 3rem; }
    .collection-intro { margin-bottom: 2rem; }
    .collection-intro h1 { font-size: 2.2rem; }
    .collection-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1.25rem; }
    .album-cover { height: 18rem; }
    .collection-card-copy { padding: 1.5rem; }
    .collection-card-copy h2 { font-size: 1.3rem; }
    .collection-card-copy p { font-size: 1rem; line-height: 1.5; }
    .gallery-lightbox { width: 96vw; border-radius: .5rem; }
    .lightbox-header, .lightbox-toolbar, .lightbox-thumbnails, .lightbox-albums { padding-inline: .7rem; }
    .lightbox-figure figcaption { padding-inline: .7rem; }
    .lightbox-viewport { height: clamp(155px, 49dvh, 440px); }
    .lightbox-control { min-width: 44px; min-height: 44px; }
    .video-coming-soon { font-size: 1rem; }
    .project-filter { gap: .5rem; }
    .project-filter a { font-size: .9rem; padding: .75rem 1rem; }
    .detail-hero { max-height: 28rem; }
    .editor-link a { font-size: .8rem; }
}
.album-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.album-photo-grid img { width: 100%; height: 24rem; object-fit: cover; border-radius: 1.5rem; }
@media(max-width: 820px) {
    .album-photo-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr)); gap: 1rem; }
    .album-photo-grid img { height: auto; aspect-ratio: 4 / 3; }
}
/* Glass controls use the same lit edge as the homepage's circular arrows. */
.glass-control {
    background: rgba(251,248,241,.2);
    box-shadow: inset 1px 1px 1px #ffffffb3, inset -1px -1px 1px #ffffff4d, 0 5px 14px #00000029;
}
