:root { --events-lime: #9cab13; --events-cream: #f8f6ef; --events-ink: #111; --events-muted: #b8b7b0; }

.events-page { min-width: 1180px; background: var(--events-ink); color: var(--events-cream); }
.events-page > main { width: min(100%,1920px); margin-inline: auto; overflow: hidden; }
.events-page:not(.event-detail-page) > main { background: #f8f8f6 url('assets/manual-art/background-art.webp') center top / 1920px 3071px repeat-y; color: #171717; }
.events-page .site-header a[aria-current="page"] { color: var(--events-cream); text-decoration: underline; text-underline-offset: .4em; }
.events-page .bio-footer { max-width: none; margin: 0; }

.events-intro { position: relative; isolation: isolate; min-height: 650px; padding: 205px 14% 120px; border-bottom: 1px solid rgb(20 20 20 / .14); }
.events-intro > p { margin: 0 0 18px; color: var(--events-lime); font-size: 14px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.events-intro h1 { max-width: 900px; margin: 0; font-size: clamp(96px,10vw,190px); font-weight: 900; letter-spacing: -.075em; line-height: .78; }
.events-intro > div { position: relative; z-index: 2; width: 580px; margin: 48px 0 0 4px; color: #4e4e4a; font-size: 20px; line-height: 1.6; }
.events-intro h1, .events-intro > p { position: relative; z-index: 2; }
.events-intro-eye { position: absolute; z-index: 6; top: 78px; right: -22px; width: 560px; opacity: 1; pointer-events: none; transform: rotate(-8deg); filter: drop-shadow(0 22px 22px rgb(0 0 0 / .15)); animation: events-eye-float 9s ease-in-out infinite; }
.events-intro-flower { position: absolute; z-index: 5; right: 18%; bottom: 78px; width: 150px; pointer-events: none; transform-origin: center; animation: events-flower-spin 28s linear infinite; }
@keyframes events-eye-float { 0%,100% { transform: translate(0,0) rotate(-8deg); } 50% { transform: translate(-20px,16px) rotate(-5deg); } }
@keyframes events-flower-spin { to { transform: rotate(360deg); } }

.events-list { width: 1480px; margin: 0 auto; padding: 110px 0 150px; }
.event-list-card { display: grid; min-height: 410px; grid-template-columns: 57% 43%; overflow: hidden; margin-bottom: 58px; border: 1px solid #d7d7d2; border-radius: 28px; background: rgb(255 255 255 / .94); box-shadow: 0 24px 60px rgb(34 34 25 / .1); transition: border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease; }
.event-list-card:hover { border-color: rgb(156 171 19 / .9); background: #fff; box-shadow: 0 30px 70px rgb(34 34 25 / .17); transform: translateY(-7px); }
.event-list-image { position: relative; display: block; min-height: 410px; overflow: hidden; background: #222; }
.event-list-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 60%,rgb(17 17 17 / .28)); pointer-events: none; }
.event-list-image img { width: 100%; height: 100%; object-fit: cover; transition: filter .3s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.event-list-card:hover .event-list-image img, .event-list-image:focus-visible img { filter: saturate(1.08) contrast(1.03); transform: scale(1.035); }
.event-list-image > span { position: absolute; z-index: 2; top: 23px; left: 25px; display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgb(255 255 255 / .62); border-radius: 50%; background: rgb(17 17 17 / .58); color: #fff; font-size: 13px; font-weight: 800; }
.event-list-copy { position: relative; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: 56px 66px; }
.event-list-copy > p { margin: 0 0 16px; color: var(--events-lime); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-list-copy h2 { margin: 0; font-size: 38px; font-weight: 800; letter-spacing: -.035em; line-height: 1.12; }
.event-list-copy h2 a { color: #171717; text-decoration: none; }
.event-list-copy > div { margin-top: 18px; color: #5c5c57; font-size: 16px; line-height: 1.65; }
.event-list-copy time { margin-top: 28px; color: #30302d; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.event-read-more { display: inline-flex; align-items: center; gap: 16px; margin-top: 31px; padding: 14px 23px; border: 1px solid rgb(126 143 13 / .85); border-radius: 999px; color: #171717; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: background .18s ease, color .18s ease, gap .18s ease; }
.event-read-more:hover, .event-read-more:focus-visible { gap: 24px; background: var(--events-lime); color: #111; outline: 0; }
.events-noscript { padding: 80px; text-align: center; }

.event-detail-main { background: #111 !important; }
.event-detail-hero { position: relative; height: 760px; overflow: hidden; background: #222; }
.event-detail-hero > img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.9) contrast(1.03); }
.event-detail-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgb(8 8 8 / .92) 0%,rgb(8 8 8 / .64) 43%,rgb(8 8 8 / .18) 76%),linear-gradient(0deg,rgb(8 8 8 / .7),transparent 46%); }
.event-detail-heading { position: absolute; z-index: 2; top: 50%; left: 11%; width: 710px; transform: translateY(-42%); }
.event-detail-heading > p { margin: 0 0 20px; color: var(--events-lime); font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.event-detail-heading h1 { margin: 0; font-size: 68px; font-weight: 900; letter-spacing: -.055em; line-height: .98; }
.event-detail-heading > div { width: 590px; margin-top: 25px; color: #eee; font-size: 18px; line-height: 1.6; }
.event-detail-heading time { display: block; margin-top: 30px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.event-story-shell { display: grid; width: 1450px; margin: 0 auto; grid-template-columns: 220px 1fr; gap: 95px; padding: 115px 0 130px; }
.event-story-aside { position: sticky; top: 110px; align-self: start; display: grid; gap: 28px; padding: 18px 0 24px; border-top: 1px solid rgb(255 255 255 / .25); border-bottom: 1px solid rgb(255 255 255 / .14); }
.event-story-aside a { color: var(--events-cream); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.event-story-aside a:hover, .event-story-aside a:focus-visible { color: var(--events-lime); outline: 0; }
.event-story-aside span { color: #777; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.event-story-content { min-width: 0; }
.event-story-intro { width: 910px; margin: 0 0 85px; color: #e7e5de; font-size: 23px; line-height: 1.7; }
.event-story-section { display: grid; width: 940px; grid-template-columns: 70px 1fr; gap: 28px; margin-bottom: 58px; padding-top: 34px; border-top: 1px solid rgb(255 255 255 / .14); }
.event-story-section > p { margin: 6px 0 0; color: var(--events-lime); font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.event-story-section h2 { margin: 0; color: #fff; font-size: 34px; letter-spacing: -.035em; }
.event-story-section div > p { margin: 14px 0 0; color: var(--events-muted); font-size: 17px; line-height: 1.78; }

.event-gallery { display: grid; width: 1110px; grid-template-columns: repeat(2,1fr); gap: 26px; margin-top: 95px; }
.event-gallery-item { margin: 0; }
.event-gallery-item.is-featured { grid-column: 1 / -1; }
.event-gallery-item img { display: block; width: 100%; height: 360px; border: 1px solid rgb(255 255 255 / .13); object-fit: cover; }
.event-gallery-item.is-featured img { height: 580px; object-position: center; }
.event-gallery-item figcaption { margin-top: 10px; color: #85847f; font-size: 12px; font-style: italic; }

.event-detail-pagination { display: grid; width: 1450px; margin: 0 auto 120px; grid-template-columns: 1fr 100px 1fr; align-items: center; padding: 48px 0; border-top: 1px solid rgb(255 255 255 / .18); border-bottom: 1px solid rgb(255 255 255 / .18); }
.event-detail-pagination > a { display: grid; color: var(--events-cream); text-decoration: none; }
.event-detail-pagination > a:last-child { justify-items: end; text-align: right; }
.event-detail-pagination span { color: #888; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.event-detail-pagination strong { margin-top: 9px; font-size: 16px; }
.event-detail-pagination > a:hover strong, .event-detail-pagination > a:focus-visible strong { color: var(--events-lime); }
.event-detail-pagination > a:nth-child(2) { display: grid; grid-template-columns: repeat(3,5px); gap: 6px; justify-content: center; }
.event-detail-pagination i { width: 5px; height: 5px; border-radius: 50%; background: #fff; }

@media (prefers-reduced-motion: reduce) { .events-intro-eye,.events-intro-flower { animation: none; } .event-list-card,.event-list-image img { transition: none; } }
