.spc-album-page{overflow-x:hidden}
.spc-album-heading{align-items:center}
.spc-year-mark{width:clamp(110px,15vw,185px);max-height:120px;display:grid;place-items:center;padding:12px}
.spc-year-mark img{width:100%;max-height:105px;object-fit:contain}
.spc-access-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1fr);gap:clamp(28px,7vw,90px);align-items:start;padding-top:clamp(14px,3vw,28px);border-top:1px solid var(--spc-line)}
.spc-access-copy h2,.spc-album-toolbar h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.055em}
.spc-access-copy>p:last-child,.spc-album-toolbar p{max-width:520px;color:var(--spc-muted);font-size:.9rem;font-weight:650;line-height:1.65}
.spc-access-card{padding:clamp(20px,3vw,30px);border:1px solid var(--spc-line);border-radius:var(--spc-radius);background:var(--spc-surface-soft)}
.spc-album-form{display:grid;gap:12px}
.spc-album-form label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.spc-album-form input{width:100%;min-width:0;padding:15px 16px;border:1px solid var(--spc-line-strong);border-radius:12px;background:var(--spc-bg);color:var(--spc-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1rem,2vw,1.15rem);font-weight:800;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.spc-album-form input:focus{outline:3px solid color-mix(in srgb,var(--spc-focus) 55%,transparent);outline-offset:2px}
.spc-primary-button{min-height:48px;border:1px solid var(--spc-text);border-radius:999px;background:var(--spc-text);color:var(--spc-bg);font-size:.8rem;font-weight:800;letter-spacing:.04em;cursor:pointer}
.spc-primary-button:hover{transform:translateY(-1px)}
.spc-access-note{margin:16px 0 0;color:var(--spc-muted);font-size:.78rem;font-weight:650;line-height:1.55}
.spc-alert{margin-bottom:16px;padding:13px 14px;border:1px solid var(--spc-line);border-radius:12px;font-size:.82rem;font-weight:700;line-height:1.5}.spc-alert.is-error{border-color:color-mix(in srgb,var(--spc-danger) 40%,var(--spc-line));color:var(--spc-danger);background:color-mix(in srgb,var(--spc-danger) 8%,transparent)}
.spc-album-toolbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--spc-line)}
.spc-media-count{min-width:110px;text-align:right}.spc-media-count strong{display:block;font-size:2.6rem;font-weight:800;line-height:.9;letter-spacing:-.065em}.spc-media-count span{color:var(--spc-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.spc-photo{position:relative;min-width:0;overflow:hidden;border:1px solid var(--spc-line);border-radius:16px;background:var(--spc-surface-soft);text-decoration:none;transition:transform .2s var(--spc-ease),border-color .2s ease}
.spc-photo:hover{transform:translateY(-2px);border-color:var(--spc-line-strong)}
.video-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--spc-surface)}
.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--spc-ease)}.spc-photo:hover img{transform:scale(1.025)}
.spc-media-overlay{position:absolute;inset:auto 10px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.spc-media-type,.play-badge{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;background:rgba(17,18,16,.72);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(10px)}.play-badge{width:27px;padding:0;justify-content:center;font-size:.6rem}
.caption{display:block;overflow:hidden;padding:10px 12px;color:var(--spc-muted);font-size:.7rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.spc-gallery-status{margin-top:20px;color:var(--spc-muted);font-size:.75rem;font-weight:700;text-align:center}.spc-gallery-status p{margin:0}.spc-gallery-status #sentinel{height:1px}
.spc-lb-overlay{z-index:10000!important}
@media(max-width:960px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.spc-access-layout{grid-template-columns:1fr}.spc-album-toolbar{align-items:flex-start;flex-direction:column}.spc-media-count{text-align:left}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.spc-year-mark{width:115px;padding:0}}
@media(max-width:430px){.gallery{grid-template-columns:1fr}.video-thumb{aspect-ratio:16/10}}
