/* Approved logo: display-only scaling. No crop, mask, recolour or effects. */
html { scroll-padding-top: 176px; }
.main-nav { height: 138px; gap: 24px; }
.brand img { width: 116px; height: auto; object-fit: contain; flex-shrink: 0; }
.footer .brand img { width: 110px; height: auto; }
.main-nav nav { gap: clamp(16px, 2vw, 28px); }
.events-intro { max-width: 36ch; margin: 0; color: var(--muted); }
.event-tabs { display: flex; border-bottom: 1px solid var(--line); margin: 32px 0 40px; }
.event-tabs button { flex: 1; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); padding: 20px 16px; min-height: 56px; text-align: left; font-size: 20px; }
.event-tabs button span { float: right; margin-left: 8px; }
.event-tabs button[aria-selected="true"] { border-bottom-color: var(--green); background: var(--sand); color: var(--green); }
.event-tabs button:hover { color: var(--green); background: var(--sand); }
.event-tabs button:focus-visible, .event-panel:focus-visible { outline: 2px solid var(--gold-dark); outline-offset: 4px; }
.event-panel { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: start; }
.event-image { position: sticky; top: 194px; }
.event-image img { aspect-ratio: 1; width: 100%; height: auto; object-fit: cover; }
.event-image figcaption { font-size: 10px; color: var(--muted); letter-spacing: .08em; margin-top: 12px; }
.event-copy > h3 { font-size: clamp(32px, 3.2vw, 46px); line-height: 1.12; margin: 0 0 24px; text-wrap: balance; }
.event-copy > p { max-width: 65ch; }
.event-occasions { margin: 32px 0; }
.event-occasions > div { padding: 20px 0; border-top: 1px solid var(--line); }
.event-occasions dt { font-family: var(--serif); font-size: 24px; line-height: 1.3; margin-bottom: 8px; }
.event-occasions dd { margin: 0; color: var(--muted); max-width: 65ch; }
.event-note, .event-terms { color: var(--muted); font-size: 14px; }
.event-terms { margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
@media (max-width: 1100px) {
  .event-panel { gap: 32px; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 144px; }
  .main-nav { height: 102px; flex-wrap: nowrap; }
  .brand img { width: 84px; height: auto; }
  .main-nav nav.open { gap: 6px 24px; }
  .event-tabs { margin-block: 24px; }
  .event-tabs button { font-size: 16px; padding: 16px 10px; }
  .event-tabs button span { display: none; }
  .event-panel { grid-template-columns: 1fr; gap: 28px; }
  .event-image { position: static; }
  .event-image img { aspect-ratio: 4 / 3; object-fit: cover; max-height: 400px; }
  .events-section .section-heading { display: block; }
  .events-intro { margin-top: 20px; max-width: 65ch; }
  .footer .brand img { width: 96px; }
}
@media print {
  .event-panel[hidden] { display: grid !important; margin-top: 32px; }
  .event-image { position: static; }
}
