/* Gallery uses the newsroom's spacing, glass header and shared AJAX controls. */
.site-page-album .album-gate h1 { overflow-wrap:anywhere; }
.site-page-album .album-password-row button { max-width:55%; overflow-wrap:anywhere; line-height:1.5; }
@media (max-width:600px) {
    .site-page-album:not(.site-locale-zh-CN):not(.site-locale-zh-Hant) .album-password-row { flex-wrap:wrap; }
    .site-page-album:not(.site-locale-zh-CN):not(.site-locale-zh-Hant) .album-password-row button { width:100%; max-width:100%; }
    .site-page-album:not(.site-locale-zh-CN):not(.site-locale-zh-Hant) .album-search-form { flex-wrap:wrap; }
    .site-page-album:not(.site-locale-zh-CN):not(.site-locale-zh-Hant) .album-year-field { flex-basis:100%; }
    .site-page-album:not(.site-locale-zh-CN):not(.site-locale-zh-Hant) .album-year-field select { width:100%; }
}
.site-page-album .site-footer { background:#0755bd;color:#d9edff; }
.album-page { min-height:70vh; }
.album-list { padding-bottom:80px; }
.album-hero { min-height:500px; }
.album-hero .blog-hero-inner { position:relative;z-index:1; }
.album-hero::before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 82% 64%,rgba(119,224,255,.24),transparent 62%); }
/* Shallow glass slabs form a diagonal plane, not a stack of empty picture frames. */
.album-hero-art { position:absolute;top:28px;right:-3%;width:min(1020px,74%);pointer-events:none; }
.album-block-scene { display:block;width:100%;height:auto; }
.album-block-motion { animation:album-block-enter 1.8s cubic-bezier(.2,.7,.2,1) both; }
.album-block-2 .album-block-motion { animation-delay:.1s; }
.album-block-3 .album-block-motion { animation-delay:.2s; }
.album-block-4 .album-block-motion { animation-delay:.25s; }
.album-block-5 .album-block-motion { animation-delay:.35s; }
.album-block-6 .album-block-motion { animation-delay:.45s; }
.album-block-7 .album-block-motion { animation-delay:.5s; }
.album-block-8 .album-block-motion { animation-delay:.6s; }
@keyframes album-block-enter { from { opacity:0;transform:translateY(32px); } to { opacity:1;transform:translateY(0); } }
.album-gate-art { position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 80% 70%,rgba(111,227,255,.3),transparent 65%); }
.album-gate-art i { position:absolute;display:block;right:10%;top:29%;width:340px;height:230px;border:1px solid rgba(207,243,255,.38);border-radius:12px;background:linear-gradient(145deg,rgba(216,245,255,.12),rgba(157,213,255,.02));transform:rotate(-14deg); }
.album-gate-art i::after { content:"";position:absolute;inset:20px;border:1px solid rgba(207,243,255,.18);border-radius:4px; }
.album-gate-art i:nth-child(2) { right:5%;top:34%;transform:rotate(4deg); }
.album-gate-art i:nth-child(3) { right:0;top:39%;transform:rotate(18deg); }
/* Imported NextGEN thumbs are 192px squares. Never stretch them into large covers. */
.album-grid,.album-photo-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:32px 24px;justify-items:center; }
.album-card,.album-photo { width:100%;max-width:192px;min-width:0; }
.album-card .blog-card-cover { aspect-ratio:1/1;border-radius:6px; }
.album-card .blog-card-cover::after { opacity:.14; }
.album-photo-count { position:absolute;z-index:2;right:10px;bottom:10px;padding:4px 8px;border-radius:4px;background:rgba(10,44,80,.7);color:#fff;font-size:12px;line-height:1.6;backdrop-filter:blur(10px); }
.album-card h3 { margin-top:14px;font-size:16px;line-height:1.6; }
.album-card .blog-card-summary { margin-top:7px;font:12px/1.7 Arial,sans-serif;font-variant-numeric:tabular-nums; }
.album-card .blog-card-read { padding:14px 0 10px; }
.album-card .blog-card-read span { font-size:18px; }
.album-search-form { display:flex;align-items:center;gap:12px;flex:0 1 460px;min-width:0; }
.album-search-form .blog-search { flex:1;min-width:0;margin:0; }
.album-year-field { position:relative;flex:0 0 142px;min-width:0; }
.album-year-field::after { content:"";position:absolute;right:15px;top:19px;width:7px;height:7px;border-right:1.5px solid #52718d;border-bottom:1.5px solid #52718d;transform:rotate(45deg);pointer-events:none; }
.album-year-field select { appearance:none;-webkit-appearance:none;display:block;width:100%;height:54px;padding:0 33px 0 15px;border:0;border-radius:6px;background:#f0f5fa;color:#365d7d;font:inherit;font-size:14px;line-height:1.6;cursor:pointer; }
.album-year-field select:focus-visible { outline:2px solid #347fc5;outline-offset:3px; }
.album-list .blog-result-meta { border-top:1px solid #e2eaf2; }
.album-subtitle { margin:16px 0 0;font-size:20px;line-height:1.7;color:#e1f1ff; }
.album-description { max-width:760px;margin:14px 0 0;font-size:15px;line-height:1.9;color:#d2e9ff;white-space:pre-line;overflow-wrap:anywhere; }
.album-image-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px; }
.album-image-heading h2 { margin:0;font:500 28px/1.5 Arial,sans-serif;font-variant-numeric:tabular-nums; }
.album-image-heading h2 span { margin-left:8px;font-size:14px;color:#617387; }
.album-image-heading>a { font-size:13px;color:#2465a8; }
.album-photo-grid { gap:24px; }
.album-photo { position:relative;isolation:isolate;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:6px;background:#e8f0f8;cursor:zoom-in; }
.album-photo img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease; }
.album-photo::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,35,62,.08) 50%,rgba(7,35,62,.44));opacity:.8;transition:opacity .25s; }
.album-photo>span { position:absolute;z-index:1;bottom:12px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;color:#fff;font:12px/1.5 Arial,sans-serif; }
.album-photo.is-image-error::before { content:"×";position:absolute;inset:0;display:grid;place-items:center;color:#7493ae;font:32px/1 Arial,sans-serif; }
.album-photo:focus-visible::after { opacity:.3; }
.album-preview-notice { z-index:125; }
@media (hover:hover) and (pointer:fine) {
    .album-card:hover .blog-card-cover::after { opacity:0; }
    .album-card:hover .blog-card-cover img { transform:none; }
    .album-photo:hover::after { opacity:.3; }
}
.album-gate { position:relative;isolation:isolate;display:flex;align-items:center;min-height:100vh;min-height:100dvh;padding:160px 56px 100px;color:#fff;background:linear-gradient(120deg,#0755bd,#126acc 65%,#197adb); }
.album-gate-inner { position:relative;z-index:1;width:100%;max-width:1140px;margin:0 auto; }
.album-gate h1 { max-width:750px;margin:0;font-size:clamp(32px,4vw,56px);line-height:1.5;font-weight:500;letter-spacing:.025em; }
.album-gate .blog-eyebrow { color:#c7e6ff; }
.album-gate-intro { max-width:520px;margin:18px 0 42px;color:#d5ebff;font-size:16px;line-height:1.9; }
.album-gate-form { max-width:510px; }
.album-gate-form label { display:block;margin-bottom:12px;color:#e5f3ff;font-size:13px; }
.album-password-row { display:flex;gap:8px;padding:7px;border:1px solid rgba(222,242,255,.35);border-radius:9px;background:rgba(231,247,255,.12);backdrop-filter:blur(18px); }
.album-password-row input { min-width:0;width:100%;border:0;padding:10px 12px;background:transparent;color:#fff;font-size:16px;line-height:1.5; }
.album-password-row input::placeholder { color:rgba(230,246,255,.65);font-size:14px; }
.album-password-row button { display:flex;flex:none;align-items:center;justify-content:center;gap:22px;padding:13px 21px;border:0;border-radius:5px;color:#1456a2;background:#edf8ff;font-size:14px;cursor:pointer; }
.album-password-row button:disabled { opacity:.7;cursor:wait; }
.album-gate :focus-visible { outline-color:#a9efff;outline-offset:2px; }
.album-gate-error { min-height:24px;margin:12px 0 0;color:#ffe0ca;font-size:13px;line-height:1.8; }
.album-gate-note { margin:13px 0 0;color:#bedcf8;font-size:12px;line-height:1.8; }
.album-gate-art { opacity:.75; }
.album-gate-art i { top:36%;right:8%;width:350px;height:245px; }
.album-gate-art i:nth-child(2) { top:40%;right:3%; }
.album-gate-art i:nth-child(3) { top:44%;right:-2%; }
@media (max-width:1120px) {
    .album-hero-art { width:820px;right:-200px;top:60px;opacity:.6; }
    .album-gate-art { opacity:.35;transform:translateX(18%); }
}
@media (max-width:760px) {
    .album-hero-art { width:700px;right:-300px;top:90px;opacity:.35; }
    .album-gate-art { opacity:.25;transform:translate(35%,10%); }
    .album-gate { padding:145px 32px 90px; }
    .album-grid,.album-photo-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr));column-gap:16px; }
}
@media (max-width:600px) {
    .album-list { padding-bottom:55px; }
    .album-hero { min-height:470px; }
    .album-hero-art { width:690px;right:-390px;top:80px;opacity:.28; }
    .album-gate { padding:135px 20px 65px; }
    .album-search-form { width:100%;gap:10px;margin-top:24px; }
    .album-year-field { flex-basis:124px; }
    .album-year-field select { padding-left:12px;font-size:13px; }
    .album-search-form .blog-search input { padding-left:12px;font-size:13px; }
    .album-search-form .blog-search button { flex-basis:38px; }
    .album-gate h1 { max-width:330px;font-size:34px; }
    .album-gate-intro { font-size:14px;margin-bottom:32px; }
    .album-password-row button { padding:12px;gap:10px;font-size:13px; }
    .album-grid,.album-photo-grid { column-gap:12px; }
    .album-grid { row-gap:28px; }
    .album-photo-grid { row-gap:12px; }
    .album-photo>span { bottom:8px;left:10px;right:10px; }
    .album-photo>span svg { width:16px;height:16px; }
    .album-image-heading { gap:12px; }
    .album-image-heading h2 { font-size:24px; }
    .album-image-heading>a { font-size:12px; }
    .album-subtitle { font-size:17px; }
}
@media (max-width:480px) {
    .album-grid,.album-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
    .album-block-motion { animation:none; }
    .album-photo img,.album-photo::after { transition:none; }
}
@media (forced-colors:active) {
    .album-year-field select { appearance:auto;border:1px solid CanvasText; }
    .album-year-field::after { display:none; }
}
