.site-header nav a:first-child:after{display:none}.site-header nav a[aria-current]:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:4px;background:var(--orange)}
.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.album-card{min-width:0;padding:0;overflow:hidden;border:1px solid #d6e0e9;border-radius:28px;text-align:left;color:var(--ink);background:#eaf1f7;box-shadow:0 10px 26px rgba(22,59,92,.055)}.album-card.video{background:#fff0df;border-color:#efdbc6}.album-cover{display:block;position:relative;aspect-ratio:1.65;overflow:hidden;background:var(--sand)}.album-cover img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .3s}.album-card:hover .album-cover img{transform:scale(1.025)}.folder-symbol{position:absolute;left:24px;top:24px;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--sand);color:var(--navy)}.folder-symbol svg{width:25px;height:25px}.album-copy{display:flex;align-items:center;justify-content:space-between;padding:25px 30px;border-top:3px solid var(--navy)}.video .album-copy{border-color:var(--orange)}.album-title{display:block;font:500 38px/1.1 var(--serif);margin-bottom:8px}.album-count{display:block;font:400 14px/1.6 var(--sans);color:var(--muted)}.album-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid #163b5c33;border-radius:50%}.album-arrow svg{width:22px;height:22px}.video .album-arrow{background:transparent;border-color:#9b500b33}
dialog{padding:0;border:0;color:var(--ink);font-family:var(--sans)}dialog::backdrop{background:rgba(22,39,58,.78);backdrop-filter:blur(10px)}#album-index{width:min(1180px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);border-radius:32px;background:var(--sand);overscroll-behavior:contain} .index-header{position:sticky;top:0;z-index:2;background:var(--sand);padding:28px 32px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.index-header h2{font:500 38px/1.1 var(--serif);margin-bottom:8px}.index-header p{font:400 14px/1.6 var(--sans);color:var(--muted)}.circle{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;padding:0;border:1px solid #163b5c55;border-radius:50%;background:transparent;color:var(--navy);font:400 32px/1 var(--sans)}.circle svg{width:22px;height:22px}.circle:hover,.return-list:hover{background:#f0a35a33}.material-grid{padding:28px 32px 32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.material{display:block;position:relative;min-width:0;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#e7dfd0;aspect-ratio:4/3}.material img{width:100%;height:100%;object-fit:cover}.material:hover{border-color:var(--orange-ink)}.material-number{position:absolute;left:12px;bottom:12px;color:#fff;font:600 14px/1 var(--sans);text-shadow:0 1px 4px #000}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:var(--orange);display:grid;place-items:center;color:var(--navy)}.play svg{width:20px;height:20px;fill:currentColor}.fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:14px}
#viewer{width:min(1400px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);border-radius:28px;background:var(--sand)}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}.viewer-header h2{font:500 29px/1.1 var(--serif)}.return-list{border-color:var(--line);color:var(--navy)}.return-list svg{width:20px;height:20px}.viewer-media{display:flex;justify-content:center;align-items:center;background:#102c45;min-height:200px}.viewer-media img{max-height:calc(100dvh - 220px);width:100%;object-fit:contain}.viewer-media iframe{width:100%;height:min(65dvh,720px);border:0;display:block}.viewer-nav{display:flex;align-items:center;justify-content:center;gap:28px;padding:16px}.position{font-size:14px;color:var(--muted)}
@media(max-width:1000px){.material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.album-grid{grid-template-columns:1fr;gap:24px}.album-card{border-radius:24px}.album-cover{aspect-ratio:1.5}.album-copy{padding:22px 24px}.album-title{font-size:34px}.folder-symbol{left:20px;top:20px}#album-index{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:24px}.index-header{padding:20px 16px;gap:12px}.index-header h2{font-size:29px}.index-header p{font-size:13px}.material-grid{padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.material{border-radius:14px}#viewer{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:24px}.viewer-header{padding:16px 12px;gap:8px;flex-wrap:wrap}.viewer-header h2{font-size:24px;order:3;flex-basis:100%;text-align:center}.return-list{padding:10px 14px}.viewer-media img{max-height:calc(100dvh - 250px)}.viewer-media iframe{height:52dvh}.viewer-nav{gap:24px}}
@media(prefers-reduced-motion:reduce){.album-cover img{transition:none}}

/* Photo viewer: the frame follows the image's proportions. */
#viewer.is-photo{width:auto;max-width:calc(100% - 48px);overflow:auto;border-radius:24px}
.is-photo .viewer-panel{position:relative}
.is-photo .viewer-header{position:absolute;inset:0 0 auto;z-index:2;padding:16px;pointer-events:none;background:none}
.is-photo .viewer-header button{pointer-events:auto;background:rgba(16,29,43,.62);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.is-photo .viewer-header button:hover{background:rgba(16,29,43,.85)}
.is-photo .viewer-header h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.is-photo .viewer-media{position:relative;min-height:0;background:transparent}
.is-photo .viewer-media img{display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain}
.is-photo .viewer-media:after{content:attr(data-number);position:absolute;left:18px;bottom:16px;padding:7px 11px;border-radius:10px;background:rgba(16,29,43,.65);color:#fff;font:600 14px/1.3 var(--sans);pointer-events:none}
.viewer-footer{background:var(--sand)}
.viewer-caption{padding:18px 24px 0;min-height:44px;font:400 16px/1.65 var(--sans);color:var(--muted);text-align:left;overflow-wrap:anywhere;hyphens:none}
.is-photo .viewer-nav{padding:12px 16px 16px;gap:24px}
.is-photo .viewer-nav .position{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){#viewer.is-photo{max-width:calc(100% - 24px);border-radius:18px}.is-photo .viewer-header{padding:10px;flex-wrap:nowrap}.is-photo .viewer-header .circle{width:44px;height:44px}.is-photo .return-list{min-height:44px;padding:10px 12px;gap:8px;font-size:12px}.is-photo .viewer-media:after{left:12px;bottom:12px;font-size:12px}.viewer-caption{padding:14px 16px 0;min-height:38px;font-size:14px}.is-photo .viewer-nav{gap:16px;padding:10px 12px 12px}.is-photo .viewer-nav .circle{width:42px;height:42px}}

/* Qigong-style controls beside the material, with circular navigation. */
#viewer,#viewer.is-photo{overflow:visible}
.viewer-nav .previous,.viewer-nav .next{position:fixed;top:var(--arrow-top,50%);transform:translateY(-50%);z-index:4;width:56px;height:56px;border:1px solid rgba(255,255,255,.75);background:rgba(255,253,248,.15);color:rgba(255,255,255,.9);box-shadow:0 4px 18px rgba(0,0,0,.16);backdrop-filter:blur(5px)}
.viewer-nav .previous{left:var(--arrow-left,18px)}.viewer-nav .next{right:var(--arrow-right,18px)}
.viewer-nav .previous:hover,.viewer-nav .next:hover{background:rgba(240,163,90,.28);border-color:rgba(240,163,90,.9)}
.viewer-nav .circle svg{width:25px;height:25px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.is-photo .viewer-nav{height:0;padding:0}
.is-photo .viewer-caption{min-height:80px;padding:24px}
.is-photo .viewer-media,.is-photo .viewer-media img{border-radius:24px 24px 0 0}
.viewer-footer{border-radius:0 0 24px 24px}
@media(max-width:700px){.viewer-nav .previous,.viewer-nav .next,.is-photo .viewer-nav .circle{width:44px;height:44px;background:rgba(16,29,43,.5)}.is-photo .viewer-caption{min-height:64px;padding:18px 16px}.is-photo .viewer-media,.is-photo .viewer-media img{border-radius:18px 18px 0 0}.viewer-footer{border-radius:0 0 18px 18px}}

/* Controls stay at the same viewport coordinates for every frame. */
.viewer-nav .previous,.viewer-nav .next{top:50%}
.viewer-nav .previous{left:max(18px,calc(50% - 584px))}
.viewer-nav .next{right:max(18px,calc(50% - 584px))}
#viewer .viewer-close{position:fixed;right:max(18px,calc(50% - 584px));top:32px;z-index:5;width:56px;height:56px;border:1px solid rgba(255,255,255,.75);background:rgba(255,253,248,.15);color:rgba(255,255,255,.9);backdrop-filter:blur(5px);box-shadow:0 4px 18px rgba(0,0,0,.16)}
#viewer .viewer-close:hover{border-color:rgba(240,163,90,.9);background:rgba(240,163,90,.28)}
@media(max-width:700px){.viewer-nav .previous{left:9px}.viewer-nav .next{right:9px}#viewer .viewer-close{top:12px;right:12px;width:44px;height:44px}}
@media(min-width:701px){.viewer-nav .previous{left:28px}.viewer-nav .next{right:28px}#viewer .viewer-close{right:28px}}

/* Video opens directly at the player, without a title strip. */
.album-card.photo .album-cover img{filter:brightness(.88)}
#viewer:not(.is-photo) .viewer-header{height:0;padding:0}
#viewer:not(.is-photo) .viewer-header h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#viewer:not(.is-photo) .viewer-media{border-radius:28px 28px 0 0;overflow:hidden}
@media(max-width:700px){#viewer:not(.is-photo) .viewer-media{border-radius:24px 24px 0 0}}

.album-card{text-decoration:none} .server-index{margin:32px 0} .server-index-title{font:600 28px "Cormorant Garamond",serif}.server-video iframe{width:100%;aspect-ratio:16/9;border:0}.gallery-enhanced .server-materials{display:none}
