html { scroll-padding-top: 24px; }
.events-main { padding: 0; }
.events-hero { background: var(--canvas); padding: 56px 0 44px; }
.events-hero-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; }
.events-intro > p:not(.eyebrow) { margin-top: 24px; color: var(--muted); max-width: 44ch; font-size: 1.1rem; }
.events-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.events-main figure { margin: 0; min-width: 0; }
.events-hero img { width: 100%; height: auto; aspect-ratio: 1.12; object-fit: cover; border-radius: 3px; }
.events-main figcaption { padding-top: 10px; color: var(--muted); font-size: .85rem; }
.events-facts { list-style: none; padding: 28px 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; border-bottom: 1px solid var(--line); }
.events-facts strong, .events-facts span { display: block; }
.events-facts strong { font-family: var(--sans); font-size: 1.15rem; }
.events-facts span { font-size: .875rem; color: var(--muted); margin-top: 4px; }
.events-facts a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.events-section { padding-top: 72px; }
.events-heading { max-width: 720px; margin-bottom: 30px; }
.events-main h2 { font-size: clamp(2.16rem, 4.32vw, 3.24rem); }
.events-heading > p:not(.eyebrow) { margin-top: 20px; color: var(--muted); }
.event-types, .event-menus { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.occasions-heading { max-width: 850px; }
.occasions-heading h2 { color: var(--ink); font-family: var(--sans); font-weight: 700; font-size: clamp(2.052rem, 3.78vw, 3.024rem); line-height: 1.2; letter-spacing: -.025em; }
.occasions-heading > p { color: var(--ink) !important; font-size: 1.125rem; }
.event-types { gap: 28px; }
.event-types article { min-width: 0; padding: 26px; display: flex; flex-direction: column; background: #fff; border: 1px solid #bbb7b0; border-top: 4px solid var(--ink); border-radius: 6px; box-shadow: 0 5px 16px rgba(38,37,34,.06); }
.event-number { color: #514b43; font-size: .875rem; font-weight: 700; }
.event-types h3 { margin: 12px 0 16px; color: var(--ink); font-family: var(--sans); font-weight: 700; font-size: 1.458rem; line-height: 1.35; }
.event-types p { color: #34322e; font-size: 1.0625rem; line-height: 1.7; margin-bottom: 24px; }
.event-types figure { margin-top: auto; }
.event-types img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 3px; }
.event-types figcaption { color: #514b43; font-size: .875rem; line-height: 1.4; }
.event-menu { background: var(--canvas); border: 1px solid var(--line); padding: 30px 26px; display: flex; flex-direction: column; min-width: 0; }
.event-menu h3 { font-family: var(--serif); font-size: 1.836rem; line-height: 1.2; }
.set-occasion { color: var(--muted); margin-top: 8px; font-size: .875rem; }
.event-menu dl { margin: 24px 0; }
.event-menu dt { font-weight: 700; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; margin: 20px 0 5px; }
.event-menu dt:first-child { margin-top: 0; }
.event-menu dd { margin: 0; color: var(--muted); }
.event-menu > a { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); font-size: .875rem; font-weight: 700; text-underline-offset: 4px; }
.events-menu-note { margin-top: 20px; color: var(--muted); font-size: .875rem; }
.events-menu-note a { display: inline-block; text-underline-offset: 4px; }
.events-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.events-gallery img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 3px; }
.events-contact { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin: 72px 0; padding: 40px; background: var(--ink); color: white; }
.events-contact > div { max-width: 700px; min-width: 0; }
.events-contact .eyebrow { color: var(--accent); }
.events-contact p:not(.eyebrow) { margin-top: 20px; color: rgba(255,255,255,.8); }
.events-contact .btn { flex-shrink: 0; }
@media (max-width: 1000px) { .event-menus { gap: 16px; } .event-menu { padding: 24px 18px; } .events-hero-grid { gap: 28px; } }
@media (min-width: 761px) and (max-width: 1050px) { .event-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .events-hero { padding: 32px 0; }
  .events-hero-grid, .event-types, .event-menus { grid-template-columns: 1fr; }
  .events-hero img { aspect-ratio: 3/2; }
  .events-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .events-section { padding-top: 48px; }
  .events-gallery { gap: 24px 16px; }
  .events-contact { flex-direction: column; align-items: flex-start; margin: 48px 0; padding: 28px 22px; gap: 24px; }
}
@media (max-width: 480px) { .events-gallery { grid-template-columns: 1fr; } .events-facts strong { font-size: 1rem; } }
