/* The /events/ calendar. Loads after utility-pages.css and builds on its
   tokens. Three signature pieces: an inline pine-treeline horizon under the
   hero, a dark "Up next" lead band (the site's object-you-act-on primitive),
   and calendar-leaf date tiles. Listing rows stay an editorial list with
   rules, not cards; the one action is the official link on each title. */

/* Hero and horizon */
.yhseo-events-hero{padding-bottom:clamp(18px,3vw,30px)}
.yhseo-events-horizon{margin:0 0 clamp(34px,5vw,54px)}
.yhseo-events-horizon svg{display:block;width:100%;height:clamp(44px,7vw,80px)}
.yhseo-events-horizon__back{fill:var(--yhu-green);opacity:.22}
.yhseo-events-horizon__front{fill:var(--yhu-green);opacity:.82}
.yhseo-events-horizon__line{fill:var(--yhu-gold)}
.yhseo-events-horizon__ripple{fill:none;stroke:var(--yhu-green);stroke-width:2;stroke-linecap:round;opacity:.3}

/* Calendar leaf */
.yhseo-event-leaf{display:flex;flex:0 0 72px;flex-direction:column;align-self:flex-start;overflow:hidden;border:1px solid var(--yhu-line);border-radius:10px;background:var(--yhu-paper);box-shadow:0 4px 14px rgba(19,42,54,.08);text-align:center}
.yhseo-event-leaf__month{padding:4px 0 3px;background:var(--yhu-green);color:#fff;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.yhseo-event-leaf__day{padding:5px 0 0;color:var(--yhu-ink);font:600 1.72rem/1 Georgia,serif}
.yhseo-event-leaf__weekday{padding:1px 0 7px;color:var(--yhu-muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

/* Featured lead */
.yhseo-events-featured{display:flex;gap:clamp(24px,4vw,44px);align-items:flex-start;margin:0 0 clamp(44px,6vw,64px);padding:clamp(26px,4vw,44px);border-radius:14px;background:var(--yhu-ink);color:#fff;background-image:radial-gradient(ellipse at top right,rgba(14,90,70,.55),transparent 55%)}
.yhseo-events-featured .yhseo-event-leaf{flex-basis:96px;border:0;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.yhseo-events-featured .yhseo-event-leaf__day{font-size:2.4rem;padding-top:8px}
.yhseo-events-featured .yhseo-event-leaf__weekday{padding-bottom:10px}
.yhseo-events-featured__body{min-width:0}
.yhseo-events-featured__kicker{margin:0 0 10px;color:var(--yhu-gold);font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.yhseo-events-featured__body h2{margin:0;font:600 clamp(26px,3.6vw,36px)/1.1 Georgia,serif;letter-spacing:-.025em}
.yhseo-events-featured__body h2 a{color:#fff;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:5px}
.yhseo-events-featured__body h2 a:hover{text-decoration-color:var(--yhu-gold)}
.yhseo-events-featured__meta{margin:12px 0 0;color:#c8d6d4;font-size:.98rem;line-height:1.5}
.yhseo-events-featured__desc{margin:12px 0 0;max-width:640px;color:#e7eeed;line-height:1.65}
.yhseo-events-featured__cta{display:inline-flex;min-height:46px;margin-top:20px;padding:0 20px;align-items:center;gap:8px;border-radius:6px;background:#fff;color:var(--yhu-ink);font-weight:850;text-decoration:none}
.yhseo-events-featured__cta:hover{background:var(--yhu-gold);color:var(--yhu-ink)}

/* Month sections */
.yhseo-events-month-section{max-width:880px}
.yhseo-events-month{display:flex;align-items:baseline;gap:18px;margin:clamp(40px,6vw,56px) 0 10px;color:var(--yhu-ink);font:600 clamp(26px,4vw,34px)/1.1 Georgia,serif;letter-spacing:-.025em}
.yhseo-events-month::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--yhu-gold),var(--yhu-line) 55%,transparent);transform:translateY(-6px)}
.yhseo-events-month-section:first-of-type .yhseo-events-month{margin-top:0}
.yhseo-events-list{margin:0;padding:0;list-style:none}
.yhseo-event{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--yhu-line)}
.yhseo-event:first-child{border-top:0}
.yhseo-event__body{min-width:0}
.yhseo-event__title{margin:2px 0 0;font:600 1.32rem/1.25 Georgia,serif;letter-spacing:-.015em}
.yhseo-event__title a{color:var(--yhu-ink);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:rgba(22,39,47,.3);text-underline-offset:4px}
.yhseo-event__title a:hover{color:var(--yhu-green);text-decoration-color:currentColor}
.yhseo-event__tag{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;background:rgba(212,154,42,.16);color:#8a5f13;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;vertical-align:3px}
.yhseo-event__meta{margin:7px 0 0;color:var(--yhu-muted);font-size:.95rem;line-height:1.55}
.yhseo-event__desc{margin:8px 0 0;max-width:640px;color:var(--yhu-ink);line-height:1.62}
.yhseo-events-main .yhseo-utility-band{margin-top:clamp(48px,7vw,72px)}

@media(max-width:760px){
.yhseo-events-featured{gap:18px;padding:22px 18px;flex-direction:row}
.yhseo-events-featured .yhseo-event-leaf{flex-basis:70px}
.yhseo-events-featured .yhseo-event-leaf__day{font-size:1.7rem;padding-top:5px}
.yhseo-event{gap:16px;padding:19px 0}
.yhseo-event-leaf{flex-basis:60px}
.yhseo-event-leaf__day{font-size:1.4rem}
.yhseo-event__title{font-size:1.14rem}
.yhseo-event__tag{display:block;width:fit-content;margin:8px 0 0;vertical-align:baseline}
.yhseo-events-main .yhseo-utility-band{margin-top:44px}
}
