/**
 * AM2027 — special events.
 * One block per event: a single image in the left column, title and copy in the
 * right. Stacks to image-above-copy below 820px.
 */

/* Top padding trimmed to match the other interior pages: it was sized to
   sit above this page's own heading, which now lives in the sub banner. */
.events{padding:clamp(18px,2vw,26px) 28px clamp(56px,8vw,88px)}

.events-head h1{margin:0;font-size:calc((clamp(26px,3.4vw,34px)) * var(--fs,1));font-weight:700;letter-spacing:-.015em}
.events-head .u{width:56px;height:2px;background:var(--teal);margin:14px 0 0}
.events-intro{margin:20px 0 0;font-size:calc((15.5px) * var(--fs,1));line-height:1.6;color:var(--slate);}
.events-empty{margin:32px 0 0;font-size:calc((15px) * var(--fs,1));color:var(--slate)}

/* The header is sticky, so an event linked to from another page would stop
   underneath it. */
.event{scroll-margin-top:calc(var(--hdr) + 18px)}
.event{
  display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:clamp(20px,3vw,34px);
  align-items:start;
  margin:44px 0 0;padding:0 0 40px;
  border-bottom:1px solid var(--line-soft);
}
.event:last-child{border-bottom:0;padding-bottom:0}
/* Without an image the copy takes the full width rather than sitting in a
   half-width gutter with empty space beside it. */
.event.has-no-image{grid-template-columns:1fr}

/* ---------- image ---------- */
.ev-shot{margin:0;overflow:hidden;border-radius:8px;background:var(--wash)}
.ev-shot img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}

/* ---------- copy ---------- */
.ev-body{max-width:64ch}
.ev-title{margin:0;font-size:calc((clamp(19px,2.2vw,23px)) * var(--fs,1));font-weight:700;line-height:1.25;letter-spacing:-.01em}
.ev-meta{
  display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;
  font-size:calc((13px) * var(--fs,1));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);
}
.ev-where::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;
  background:currentColor;opacity:.55;margin-right:10px;vertical-align:middle}
.ev-desc{margin:14px 0 0;font-size:calc((15px) * var(--fs,1));line-height:1.65;color:var(--slate)}
.ev-desc p{margin:0 0 10px}
.ev-desc p:last-child{margin-bottom:0}
.ev-desc ul,.ev-desc ol{margin:10px 0;padding-left:20px}
.ev-desc li{margin:0 0 5px}
.ev-note{margin:14px 0 0;font-size:calc((14px) * var(--fs,1));line-height:1.55;font-style:italic;color:var(--slate)}
.ev-body .btn{margin:20px 0 0}

@media(max-width:820px){
  /* Stack: image above the copy, wider ratio so it reads as a banner. */
  .event{grid-template-columns:1fr;gap:16px;margin:32px 0 0;padding-bottom:30px}
  .ev-shot img{aspect-ratio:16/9}
  .ev-body{max-width:none}
}
