/* Paper albums, joined in chronological order by a single orange vine. */
body[data-hub="events"]{background:#fff;color:#16110e;font-weight:400}
.album-page{--accent:#ee5b28;overflow:hidden;background-image:radial-gradient(ellipse at 20% 30%,#fff9f3 0,transparent 58%)}
.album-intro{text-align:center;padding:62px 20px 22px}
.album-eyebrow{font-size:12px;letter-spacing:.16em;color:#b83d13;margin-bottom:18px}
.album-intro h1{font-size:clamp(25px,3vw,38px);font-weight:500;letter-spacing:.06em;margin:0 0 14px}
.album-intro h1 span{display:inline;color:var(--accent);font-size:inherit}
.album-intro>p:not(.album-eyebrow){font-size:17px;letter-spacing:.18em;margin-bottom:22px}
.album-year{display:flex;align-items:center;justify-content:center;gap:18px;font-size:13px;letter-spacing:.12em}
.album-year:before,.album-year:after{content:"";height:1px;width:32px;background:var(--accent)}
.timeline-shell{position:relative;max-width:1060px;margin:0 auto;padding:45px 60px 85px}
.timeline-entry{position:relative;min-height:210px;display:flex;align-items:flex-start;padding:0 0 8px}
.timeline-entry:nth-child(even){justify-content:flex-end}
.album{position:relative;display:block;width:42%;text-decoration:none;z-index:3;transform:rotate(4deg);transition:transform .25s ease;outline-offset:12px}
.timeline-entry:nth-child(even) .album{transform:rotate(-4deg)}
.album-front{position:relative;display:block;background:#fff;padding:12px 12px 0;box-shadow:0 12px 22px #6a2b141c,0 2px 5px #6a2b141a}
.album-front>img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover}
.album-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 5px 20px;gap:15px;font-size:21px;font-weight:400;letter-spacing:.04em}
.album-arrow{font-size:29px;line-height:1;color:var(--accent);font-weight:400}
.album-back{position:absolute;display:block;inset:12% 18% 8% -17%;transform:rotate(-16deg);background:#fff;padding:10px 10px 32px;box-shadow:0 5px 14px #6a2b1422}
.album-back img{width:100%;height:100%;object-fit:cover;display:block}
.timeline-entry:nth-child(even) .album-back{inset:12% -17% 8% 18%;transform:rotate(17deg)}
.album:hover,.timeline-entry:nth-child(even) .album:hover{transform:rotate(0deg) translateY(-7px)}
.album:focus-visible{outline:2px solid var(--accent)}
.album-ending{text-align:center;padding:0 20px 65px;position:relative}
.album-ending>p:first-of-type{font-size:20px;letter-spacing:.08em;margin-bottom:20px}
.album-ending>p span{color:var(--accent)}
#events-status{color:#16110e;font-size:12px;margin:24px 0 0}
body[data-hub="events"] .hub-footer{color:#16110e;border-color:#f5c5ae}
.album-no-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1.6;color:#b83d13;font-size:24px;background:#fff8ef}
/* Compact, gently staggered album shelves. */
.album-intro{padding:34px 20px 18px}
.album-intro h1{font-size:clamp(24px,2.6vw,34px);font-weight:400;letter-spacing:.02em}
.album-eyebrow{margin-bottom:10px}
.album-intro>p:not(.album-eyebrow){margin-bottom:14px;font-size:15px}
.timeline-shell{max-width:1440px;padding:34px 54px 44px}
#event-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:52px;row-gap:50px}
.timeline-entry,.timeline-entry:nth-child(even){min-height:0;padding:0;display:block}
.album,.timeline-entry:nth-child(even) .album{width:100%;transform:translateY(var(--shift,0px)) rotate(var(--tilt,-2deg))}
.timeline-entry:nth-child(3n+2){--tilt:2deg;--shift:10px}
.timeline-entry:nth-child(3n){--tilt:-1deg;--shift:3px}
.timeline-entry:nth-child(4n){--tilt:1.5deg}
.album:before{content:"";position:absolute;inset:5px -7px -5px 6px;background:#fff;transform:rotate(-2deg);box-shadow:0 2px 6px #6a2b1415}
.album-back,.timeline-entry:nth-child(even) .album-back{inset:5px -12px 0 7px;transform:rotate(4deg);padding:7px 7px 30px;box-shadow:0 5px 12px #6a2b141a}
.album-front{padding:9px 9px 0;box-shadow:0 10px 16px #6a2b1424,0 2px 4px #6a2b1412}
.album-front>img{aspect-ratio:1.85}
.album-caption{font-size:18px;padding:11px 5px 15px;letter-spacing:.02em}
.album-arrow{font-size:24px}
.album:hover,.timeline-entry:nth-child(even) .album:hover{transform:translateY(calc(var(--shift,0px) - 5px)) rotate(0deg)}
.album-ending{padding:8px 20px 32px}
.album-ending>p:first-of-type{font-size:16px;margin-bottom:12px}
#events-status{margin-top:16px}
@media(min-width:600px) and (max-width:949px){#event-archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 42px}.timeline-shell{padding-left:40px;padding-right:40px}}
@media(max-width:599px){.album-intro{padding:28px 22px 18px}.album-intro h1{font-size:23px}.album-intro>p:not(.album-eyebrow){font-size:13px;letter-spacing:.08em}.timeline-shell{padding:28px 48px 36px;max-width:450px}#event-archive{grid-template-columns:1fr;gap:44px}.album-caption{font-size:17px}.album-ending>p:first-of-type{font-size:14px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.album{transition:none}}
