/* First-cohort content, with the established Ningbo blue-and-white artwork. */
.header-main .association-brand, footer .association-brand { display:flex; flex:0 0 auto; align-items:center; gap:12px; min-width:0; padding:0; background:transparent; color:var(--ink); letter-spacing:0; }
.association-emblem { display:block; flex:0 0 48px; width:48px; height:48px; overflow:hidden; border-radius:50%; }
.header-main .association-emblem img, footer .association-emblem img { display:block; width:100%; height:100%; object-fit:contain; }
.association-wordmark { font:600 23px/1.4 var(--serif); white-space:nowrap; }
.header-main .association-wordmark small, footer .association-wordmark small { display:block; margin-top:3px; font:10px/1.5 var(--sans); letter-spacing:.12em; color:var(--muted); }
.course-row > summary { grid-template-columns:54px minmax(0,1fr) 26px; }
.hero h1 { font-size:clamp(46px,5.5vw,76px); line-height:1.3; }
.hero h1 br { display:none; }
.hero h1 span { display:block; white-space:normal; font-size:clamp(30px,3.5vw,48px); line-height:1.5; margin-top:8px; }
.hero-programme { max-width:40em; letter-spacing:.08em; }
.hero-edition { margin-top:14px; font-size:19px; letter-spacing:.16em; color:var(--blue); }
.event-meta { flex-wrap:wrap; gap:18px 38px; }
.event-organizers { margin-top:22px; max-width:36em; color:#496b84; font-size:13px; line-height:1.9; }
.hero-content { padding-top:60px; }
.schedule-day-tab { flex-wrap:wrap; gap:4px 10px; }
.schedule-day-tab small { font-size:11px; }

@media(max-width:680px) {
  .header-main .association-brand, footer .association-brand { gap:8px; }
  .association-emblem { flex-basis:36px; width:36px; height:36px; }
  .association-wordmark { font-size:17px; }
  .header-main .association-wordmark small, footer .association-wordmark small { font-size:7px; letter-spacing:.035em; margin-top:2px; }
  .course-row > summary { grid-template-columns:28px minmax(0,1fr) 24px; }
  .hero-content { padding-top:34px; }
  .hero h1 { font-size:clamp(40px,10.5vw,56px); }
  .hero h1 span { font-size:clamp(27px,6.8vw,36px); letter-spacing:0; margin-top:10px; }
  .hero .hero-programme { font-size:12px; line-height:1.8; letter-spacing:.02em; align-items:flex-start; }
  .hero-programme .line { flex-shrink:0; margin-top:10px; width:20px; }
  .hero-edition { font-size:17px; margin-top:12px; }
  .hero-actions { margin-top:24px; }
  .event-meta { gap:18px 24px; }
  .event-meta strong { font-size:15px; }
  .event-organizers { font-size:12px; max-width:29em; }
  .schedule-day-tab span { font-size:15px; }
  .schedule-day-tab small { display:none; }
}

@media(max-width:380px) {
  .header-main { gap:6px; }
  .header-main .association-brand, footer .association-brand { gap:6px; }
  .association-emblem { flex-basis:30px; width:30px; height:30px; }
  .association-wordmark { font-size:14px; }
  .header-main .association-wordmark small, footer .association-wordmark small { font-size:6px; letter-spacing:0; }
  .header-main .header-cta { padding-inline:6px; font-size:12px; }
  .nav-enhanced .mobile-menu-toggle { padding-inline:6px; font-size:13px; }
}
.footer-ranking { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 13px; font-weight: 400; letter-spacing: 0; }
.footer-ranking:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
