/* Shared theme and navigation, based on the approved homepage. */
.event-page {
  --sage: #e7efeb;
  --sand: #f1e8d9;
  --teal-deep: #08636c;
  --content: 1240px;
  --muted: #526477;
  --orange-dark: #bc4315;
  --text-body: 1.125rem;
  --text-small: .9375rem;
  --text-meta: .875rem;
  font-size: var(--text-body);
  line-height: 1.9;
}
.event-page :focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
.event-page .container { width: min(calc(100% - 64px), var(--content)); }
.event-page .nav-shell { gap: 18px; }
.event-page .brand img { flex-shrink: 0; }
.event-page .main-nav { gap: 16px; }
.event-page .main-nav a, .event-page .nav-dropdown summary { font-size: var(--text-small); }
.nav-recruit-status { margin: -4px 10px 8px; color: var(--muted); font-size: var(--text-meta); }
.event-page .brand-date { font-size: var(--text-meta); }
.event-page .status-bar { font-size: var(--text-small); }
.event-page .copyright { font-size: var(--text-meta); }
.event-page .section { padding-block: clamp(64px, 7.5vw, 104px); }
.event-page .button { gap: 20px; border-radius: 8px; padding: 15px 22px; }
.event-page .button.orange { background: var(--orange-dark); border-color: var(--orange-dark); }
.event-page .button.light { border-color: #b9b3a7; }
.event-page .button span { margin-left: auto; }
.event-page .eyebrow { margin-bottom: 20px; color: var(--ink); font-size: var(--text-small); letter-spacing: .07em; }
.event-page .eyebrow::before { width: 10px; height: 10px; border-radius: 0; background: var(--teal); }
.event-page .footer-brand img { height: auto; }
.footer-organizers { margin: 36px 0 0; color: #c0cbd5; font-size: var(--text-meta); }

/* Keep the longer, descriptive navigation readable without reducing its type size. */
@media (max-width: 1240px) {
  .event-page .nav-toggle { display: inline-flex; }
  .event-page .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - 78px); overflow-y: auto; padding: 22px 20px 28px; flex-direction: column; align-items: stretch; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .event-page .main-nav.is-open { display: flex; }
  .event-page .main-nav a, .event-page .nav-dropdown summary { font-size: var(--text-body); }
  .event-page .nav-dropdown .dropdown-menu { position: static; width: 100%; margin-top: 10px; box-shadow: none; }
}

@media (min-width: 981px) and (max-width: 1150px) {
  .event-page .main-nav { gap: 12px; }
  .event-page .brand-date { display: none; }
}

@media (max-width: 680px) {
  .event-page { --text-body: 1.0625rem; }
  .event-page .brand-date { display: none; }
  .event-page .container { width: calc(100% - 40px); }
  .event-page .status-bar .container { display: grid; grid-template-columns: 1fr; font-size: var(--text-meta); padding-block: 10px; gap: 4px; }
  .event-page .status-bar .sep { display: none; }
  .event-page .nav-shell { gap: 10px; }
  .event-page .brand { gap: 6px; }
  .event-page .nav-toggle { font-size: var(--text-small); }
  .event-page .eyebrow { font-size: var(--text-meta); margin-bottom: 18px; letter-spacing: .02em; gap: 6px; }
  .event-page .footer-links { grid-template-columns: 1fr 1fr; gap: 14px; }
  .footer-organizers { line-height: 1.9; }
}
