.hero-event { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); width: min(1280px, 100%); margin: 0 auto clamp(120px, 12vw, 180px); background: #fff; align-items: center; }
.hero-event-poster { display: block; }
.hero-event-poster img { display: block; width: 100%; height: auto; }
.hero-event-copy { min-width: 0; font-size: 15px; line-height: 1.6; }
.hero-event-copy h2 { margin: 16px 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.08; letter-spacing: -.025em; text-transform: uppercase; }
.hero-event-copy > p { margin: 16px 0; }
.hero-event-copy .kicker { font-size: 12px; letter-spacing: .12em; }
.hero-event-speaker { font-size: clamp(20px, 2vw, 24px); line-height: 1.35; font-weight: 600; }
.hero-event-details { display: grid; grid-template-columns: 1fr; gap: 16px; border-top: 1px solid #000; padding-top: 24px; margin-top: 24px; }
.hero-event-details time { font-size: 18px; font-weight: 600; }
.hero-event-details p { margin: 0; }
.hero-event-registration { font-size: 14px; }
.hero-event-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.hero-event-actions > a:not(.button) { color: #000; text-underline-offset: 4px; white-space: nowrap; }
.hero-event a:focus-visible { outline: 2px solid #000; outline-offset: 4px; }
@media (max-width: 700px) {
  .hero-event { grid-template-columns: 1fr; }
  .hero-event-poster { width: 100%; }
  .hero-event-details { grid-template-columns: 1fr; }
  .hero-event-actions .button { width: 100%; text-align: center; }
}

/* Header commerce buttons stay centred on both axes in every state. */
.header-subscribe,
.header-buy { transform-origin: center; }
@media (hover: hover) {
  .header-subscribe:hover,
  .header-buy:hover { transform: scale(1.015); }
}
.header-subscribe:active,
.header-buy:active { transform: scale(.985); }
@media (prefers-reduced-motion: reduce) {
  .header-subscribe,
  .header-buy { transform: none !important; transition: none; }
}

