/* page-album.css — extracted from design handoff */
.ahero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--p900)}
.ahero .bg{position:absolute;inset:0;background:url('album/jubile90_18.jpg') center/cover;transform:scale(1.04)}
.ahero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,4,46,.95) 8%,rgba(28,4,46,.25) 70%)}
.ahero .wrap{position:relative;padding-bottom:64px;width:100%}
.ahero h1{font-size:clamp(46px,7vw,100px);font-weight:900;letter-spacing:-.02em;line-height:.95;margin:16px 0 18px}
.ahero h1 span{color:var(--gold)}
.ahero p{max-width:56ch;color:#eadff5;font-size:19px}
.astats{display:flex;gap:44px;flex-wrap:wrap;margin-top:34px}
.astats b{display:block;font-size:40px;font-weight:900;line-height:1}
.astats span{font-size:13.5px;color:#d9c6ef}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:28px 0}
.tools .f{height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:700 14px var(--sans);color:var(--ink2);cursor:pointer}
.tools .f.on{background:var(--p700);color:#fff;border-color:var(--p700)}
.tools .f small{font:600 11px var(--mono);margin-left:6px;opacity:.7}
.tools .sp{margin-left:auto}
.masonry{columns:4 260px;column-gap:12px}
.ph{break-inside:avoid;margin:0 0 12px;position:relative;border-radius:5px;overflow:hidden;cursor:zoom-in;background:var(--p100)}
.ph img{width:100%;height:auto;transition:transform .6s}
.ph:hover img{transform:scale(1.04)}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(0deg,rgba(28,4,46,.85),transparent);color:#fff;font-size:13.5px;font-weight:700;opacity:0;transition:opacity .25s}
.ph:hover figcaption{opacity:1}
.ph figcaption small{display:block;font:600 10.5px var(--mono);letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.prog{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:56px}
.prog div{background:#fff;padding:24px}
.prog b{display:block;font-size:17px;font-weight:900;color:var(--p700);margin-bottom:6px}
.prog p{font-size:14.5px;color:var(--ink2)}
.prog i{font:600 11px var(--mono);letter-spacing:.14em;color:var(--mute);font-style:normal;text-transform:uppercase}
.drive{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--p700);color:#fff;border-radius:var(--r);padding:34px 36px;margin-top:48px}
.drive h3{font-size:26px;font-weight:900}
.drive p{color:#d9c6ef;margin-top:6px}
@media (max-width:900px){.prog{grid-template-columns:1fr 1fr}}
