/* Events page styles — extracted 2026-08-06 from events.html's hand-copied
   inline shell when the page moved onto loop-shared.css. Loads AFTER
   loop-shared.css and loop-pages.css; the rules here are events-only. */

/* The events page historically rendered links in the surrounding text color. */
a{color:inherit}

/* Pre-consolidation metrics this page was designed around: its inline shell
   had no .lede scale (body-size text) and a 600-weight eyebrow. The hero is
   bottom-anchored, so the shared 1.26rem lede would push the whole stack up. */
.eyebrow{font-weight:600}
.page-hero.events-page-hero .lede{font-size:1rem;line-height:1.65}

/* Page-scale typography (larger than the shared scale). .page-hero h1 in
   loop-pages.css still wins on the hero headline, as it did before. */
h1,h2,h3{color:var(--xblue);line-height:1.08}
h1{font-size:clamp(3.1rem,9vw,7.5rem);font-weight:700;letter-spacing:-.055em;max-width:9.5em}
h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:600;letter-spacing:-.035em;max-width:13em}
h3{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;letter-spacing:-.015em}

/* This hero carries more content than its sibling pages (buttons + meta row),
   so it outgrew .page-hero's min-height and rode up against the nav. */
.page-hero.events-page-hero{min-height:80svh}
@media(max-width:900px){.page-hero.events-page-hero{min-height:auto}}

.section{padding:clamp(82px,11vw,132px) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);gap:clamp(36px,8vw,110px);align-items:end;margin-bottom:clamp(48px,8vw,88px)}
.section-head .eyebrow{margin-bottom:20px}
.section-intro{color:var(--ink-2);font-size:clamp(1rem,2vw,1.2rem)}

.calendar-list{border-top:1px solid var(--rule)}
.calendar-month + .calendar-month{margin-top:clamp(62px,9vw,108px)}
.calendar-month > h3{margin-bottom:20px;font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.025em}
.event-row{display:grid;grid-template-columns:minmax(120px,.24fr) minmax(0,1fr) minmax(190px,.38fr);gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(26px,4vw,42px) 0;border-bottom:1px solid var(--rule)}
.event-date{color:var(--xblue);font-family:var(--sans);font-size:clamp(1.35rem,2.6vw,2rem);font-weight:600;letter-spacing:-.025em;line-height:1.1}
.event-date strong{display:block;margin-top:5px;color:var(--rmblue);font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}
.event-title p{color:var(--ink-2);margin-top:8px}
.event-detail{color:var(--ink-2);font-size:.9rem}
.event-detail strong{display:block;color:var(--ink);font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

.calendar-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;border:1px solid var(--rule);border-top:3px solid var(--rmblue);background:var(--white);padding:clamp(28px,5vw,48px)}
.calendar-pending strong{display:block;color:var(--xblue);font-size:clamp(1.25rem,2.4vw,1.8rem);margin-bottom:8px}
.calendar-pending p{color:var(--ink-2);max-width:48rem}

.past-events{margin-top:clamp(34px,6vh,54px);border:1px solid var(--rule);border-radius:16px;background:#fff;padding:0 clamp(18px,3vw,28px)}
.past-events summary{cursor:pointer;padding:20px 0;color:var(--xblue);font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.past-events[open] summary{border-bottom:1px solid var(--rule)}
.past-events .event-row{opacity:.78}

.visit-address{font-style:normal;font-weight:600;line-height:1.55;color:var(--xblue)}
.visit-panel{border:1px solid var(--rule);border-top:3px solid var(--rmblue);background:var(--white);padding:clamp(28px,5vw,48px)}
.visit-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,56px);color:var(--ink-2)}
.visit-copy strong{color:var(--ink)}
.visit-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vw,38px)}

.formats{background:var(--white)}

/* Footer: this page's footer is sans/mixed-case with its own row layout —
   neutralize the shared footer's mono/uppercase treatment. */
footer{padding:34px 0}
footer .footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.78rem;font-family:var(--sans);letter-spacing:normal;text-transform:none}
.footer-row p{max-width:48em}
.footer-row a{color:var(--white);font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}

@media(max-width:800px){
  .section-head{grid-template-columns:1fr}
  .visit-copy{grid-template-columns:1fr}
  .event-row{grid-template-columns:minmax(100px,.3fr) minmax(0,1fr)}
  .event-detail{grid-column:2}
}
@media(max-width:520px){
  .event-row{grid-template-columns:1fr;gap:14px}
  .event-detail{grid-column:auto}
  .calendar-pending{grid-template-columns:1fr}
  footer .footer-row{align-items:flex-start;flex-direction:column}
}
