/* Public event stage: readable content on the left, a complete poster on the right. */
.homepage {
  --navy: #122d61; --navy-deep: #0c234e; --line: #e2e8f1; --accent: #91bb7e;
  --stage-width: min(1480px, calc(100% - 64px));
  --stage-min-height: clamp(480px, calc(100dvh - 224px), 740px);
  min-height: 100dvh; height: auto; display: flex; flex-direction: column;
  overflow-x: clip; background: #fff;
}
.homepage .site-header { height: 88px; flex: 0 0 88px; padding: 0; border: 0; background: #fff; }
.homepage .header-inner, .homepage .footer-inner { width: var(--stage-width); height: 100%; gap: 28px; }
.homepage .brand-logo { width: 242px; }
.homepage .home-nav { margin-left: auto; gap: 30px; }
.homepage .home-nav a { font-size: 13px; font-weight: 500; color: #72809a; }
.homepage .home-nav a[aria-current] { font-weight: 700; color: var(--navy); }
.homepage .home-nav a[aria-current]:after { width: 16px; height: 3px; border-radius: 4px; left: calc(50% - 8px); background: #4f77ad; }
.homepage .header-actions .button { border-radius: 8px; }
.homepage .header-register { min-height: 44px; gap: 14px; padding: 11px 17px; font-size: 12px; white-space: nowrap; background: var(--navy); box-shadow: 0 4px 12px #122d6114; }
.homepage .header-register > span:first-child { font-size: inherit; }
.homepage #home-main { width: var(--stage-width); height: auto; max-height: none; min-height: 0; margin: 8px auto 16px; }
.event-stage { display: grid; grid-template-columns: minmax(0, 66fr) minmax(290px, 34fr); gap: 16px; height: auto; align-items: stretch; }
.slide-stage { min-width: 0; min-height: 0; height: auto; display: grid; grid-template-rows: auto 50px; }
.homepage .home-swiper { width: 100%; height: 100%; min-width: 0; min-height: 0; border: 0; border-radius: 8px; isolation: isolate; overflow: clip; }
.homepage .home-swiper .swiper-wrapper { min-height: 0; align-items: flex-start; }
.homepage .home-swiper .swiper-slide { height: auto; }
.homepage .home-slide { min-height: var(--stage-min-height); padding: 32px; overflow: visible; }
.homepage .overview-slide { display: grid; grid-template-rows: minmax(min-content, 1fr) auto; padding: 34px 32px 23px; background: radial-gradient(ellipse at 100% 0%, #26477e 0, transparent 55%), var(--navy); color: #fff; border: 0; }
.homepage .home-hero-copy { align-self: center; padding-bottom: 24px; min-width: 0; }
.homepage .home-kicker { gap: 9px; color: #b9cbe4; font-size: 12px; letter-spacing: 1.6px; position: relative; top: -12px; }
.homepage .home-kicker > span { width: auto; height: auto; background: none; border-radius: 0; }
.homepage .home-kicker > .kicker-dot { width: 6px; height: 6px; border-radius: 50%; background: #b4d39a; }
.homepage .home-kicker small { font-size: 12px; color: #cfdaed; border-color: #ffffff40; border-radius: 4px; padding: 2px 7px; }
.homepage .home-category { margin: 22px 0 13px; color: #9db7d6; font-size: 9px; letter-spacing: 1.7px; }
.homepage .home-hero-copy h1 { max-width: 760px; color: #fff; font-size: clamp(30px, 2.65vw, 43px); line-height: 1.35; letter-spacing: -.045em; text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere; }
.homepage .home-subtitle { margin-top: 17px; color: #e1e9f5; font-size: 15px; line-height: 1.7; }
.homepage .home-description { margin-top: 10px; color: #b4c6e1; font-size: 12px; line-height: 1.85; white-space: pre-line; }
.homepage .hero-actions { margin-top: 26px; gap: 12px; flex-wrap: wrap; }
.homepage .button-lime { min-height: 48px; padding: 13px 19px; gap: 22px; border: 1px solid #e4efd0; border-radius: 12px; background: #deebca; color: #122d61; font-size: 13px; font-weight: 650; box-shadow: 0 6px 20px #081c4826; }
.homepage .button-lime > span:first-child { font-size: inherit; line-height: inherit; }
.homepage .button-lime:hover:enabled { background: #edf6df; translate: 0 -2px; box-shadow: 0 8px 24px #081c4833; }
.homepage .home-text-link { color: #dce6f6; border: 1px solid #ffffff35; border-radius: 12px; padding: 13px 16px; min-height: 48px; font-size: 12px; gap: 16px; transition: background .2s, border-color .2s; }
.homepage .home-text-link > span:first-child { font-size: inherit; }
.homepage .home-text-link:hover { border-color: #ffffff7a; background: #ffffff0d; }
.homepage .hero-registration-state { margin-top: 18px; color: #b6c6df; font-size: 10px; gap: 10px; }
.homepage .hero-registration-state i { width: 8px; height: 8px; flex: 0 0 8px; background: #9ccb82; }
.homepage .hero-registration-state[data-registration-open="true"] i { animation: registration-status-breathe 1.8s ease-in-out infinite; }
@keyframes registration-status-breathe {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 #9ccb8233; }
  50% { transform: scale(1.45); box-shadow: 0 0 0 12px #9ccb8200; }
}
.homepage .home-event-facts { display: grid; grid-template-columns: 1fr 1.2fr; gap: 13px 24px; border-top: 1px solid #ffffff26; padding: 18px 0 0; }
.homepage .home-event-facts > div { padding: 0; border: 0; min-width: 0; }
.homepage .home-event-facts > div:last-child { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 12px; }
.homepage .home-event-facts span { margin-bottom: 6px; color: #91acd2; letter-spacing: 1.5px; font-size: 8px; }
.homepage .home-event-facts strong { color: #e8eef8; font-size: 13px; line-height: 1.65; font-weight: 550; }
.homepage .home-event-facts small { color: #a5bad8; font-size: 12px; line-height: 1.65; margin-top: 4px; }
.poster-panel { min-width: 0; min-height: 0; height: auto; margin-bottom: 50px; display: flex; flex-direction: column; gap: 14px; padding: 16px; background: #f5f7fa; border: 0; border-radius: 8px; }
.poster-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.poster-heading .eyebrow { font-size: 9px; color: #7787a0; letter-spacing: 1.6px; }
.sample-badge { display: inline-flex; align-items: center; border-radius: 5px; padding: 4px 7px; background: #e7edf7; border: 1px solid #d7e0f0; color: #4b6287; font-size: 9px; font-weight: 650; white-space: nowrap; }
.poster-frame { width: 100%; flex: 1; min-height: 0; position: relative; padding: 0; border: 0; border-radius: var(--card-radius); background: #fff; overflow: hidden; cursor: zoom-in; box-shadow: 0 5px 20px #122d6110; }
.poster-frame img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; }
.poster-zoom { position: absolute; bottom: 12px; right: 12px; display: flex; gap: 8px; align-items: center; padding: 9px 11px; color: #fff; font-size: 10px; border: 1px solid #ffffff38; border-radius: 8px; background: #122d61eb; box-shadow: 0 3px 12px #0002; transition: background .2s; }
.poster-frame:hover .poster-zoom { background: #24477c; }
.poster-zoom .ui-arrow { width: 14px; height: 14px; flex-basis: 14px; }
.poster-caption { font-size: 10px; color: #7e8a9e; line-height: 1.6; text-align: center; white-space: pre-line; }
.homepage .program-slide, .homepage .guide-slide { background: #f6f8fc; color: #273457; }
.homepage .panel-intro { padding: 0; }
.panel-heading-line { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.homepage .panel-intro .eyebrow { font-size: 9px; color: #7284a2; letter-spacing: 1.7px; }
.homepage .panel-number { font-size: 10px; color: #94a2b8; letter-spacing: 1px; margin: 0; }
.homepage .panel-intro h2 { margin: 15px 0 10px; font-size: clamp(24px, 2vw, 31px); line-height: 1.35; letter-spacing: -.04em; white-space: pre-line; }
.homepage .panel-intro > p { font-size: 11px; line-height: 1.8; color: #71809a; max-width: 700px; white-space: pre-line; }
.homepage .program-event-time { margin: 0; padding: 0; border: 0; font-size: 10px; color: #617392; }
.program-context { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.homepage .panel-intro > .sample-note { color: #8290a6; font-size: 9px; margin-top: 6px; }
.homepage .program-board { padding: 0; margin-top: 22px; background: transparent; border: 0; border-radius: 0; overflow: visible; }
.homepage .program-board-heading { display: flex; padding: 0 0 13px; border: 0; color: #8190a8; font-size: 9px; letter-spacing: 1px; }
.homepage .program-board-heading .badge { font-size: 9px; padding: 3px 7px; background: #e6ecf6; color: #536d97; border: 0; }
.homepage .program-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-height: none; overflow: visible; overscroll-behavior: auto; }
.homepage .program-row { display: flex; flex-direction: column; gap: 15px; padding: 17px 15px; border: 1px solid #e1e7f1; border-radius: var(--card-radius); background: #fff; min-width: 0; }
.homepage .program-row-time { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.homepage .program-row-time > span { color: #95a6c0; font-size: 10px; letter-spacing: 1px; }
.homepage .program-row-time strong { font-size: 9px; color: #617797; white-space: normal; }
.program-row-content { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.program-session { font-size: 10px; color: #657fa5; margin-bottom: 12px; font-weight: 650; }
.speaker-profile { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; min-height: 58px; }
.speaker-avatar { display: grid; place-items: center; width: 54px; height: 64px; flex: 0 0 54px; border-radius: var(--card-radius); background: linear-gradient(140deg, #e7edf6, #d8e3f2); color: #7b94b9; overflow: hidden; font-size: 19px; }
.speaker-avatar img { width: 100%; height: 100%; object-fit: cover; }
.homepage .program-speaker { margin: 0; color: var(--navy); font-size: 13px; line-height: 1.5; font-weight: 700; word-break: keep-all; overflow-wrap: anywhere; }
.homepage .program-speaker > span { display: block; font-size: 9px; font-weight: 450; color: #8490a5; margin-top: 5px; line-height: 1.5; }
.homepage .program-row h3 { font-size: 14px; line-height: 1.65; letter-spacing: -.02em; word-break: keep-all; overflow-wrap: anywhere; margin: 0; }
.homepage .program-description, .speaker-bio-summary { font-size: 10px; color: #7a89a0; line-height: 1.8; margin: 10px 0 0; white-space: pre-line; }
.speaker-bio-summary { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.program-participant-count { color: #637ba0; font-size: 10px; margin-top: 12px; }
.program-detail-button { display: flex; justify-content: space-between; align-items: center; gap: 7px; margin-top: auto; padding: 14px 0 0; border-top: 1px solid #e7edf5; font-size: 10px; color: #365c91; background: transparent; min-height: 42px; }
.program-detail-button .ui-arrow { width: 14px; height: 14px; flex-basis: 14px; }
.program-card-body { margin-bottom: 18px; }
.homepage .program-empty { grid-column: 1 / -1; min-height: 270px; border: 1px dashed #d8e0ed; border-radius: var(--card-radius); background: #fff; padding: 32px 20px; text-align: center; }
.homepage .program-empty h3 { font-size: 19px; }
.homepage .program-empty p { font-size: 12px; white-space: pre-line; line-height: 1.8; }
.homepage .guide-board { margin-top: 22px; background: transparent; border: 0; padding: 0; }
.guide-location-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.homepage .guide-detail { display: block; border: 0; padding: 0; }
.homepage .guide-detail .eyebrow { font-size: 9px; color: #8293b0; }
.homepage .guide-detail h3 { font-size: 13px; line-height: 1.7; margin: 8px 0 6px; word-break: keep-all; overflow-wrap: anywhere; }
.homepage .guide-detail p { font-size: 10px; line-height: 1.9; color: #7b8ba3; margin: 0; white-space: pre-line; }
.homepage .venue-detail { border: 1px solid #e2e8f2; border-radius: var(--card-radius); background: #fff; padding: 19px; }
.location-card { position: relative; display: flex; flex-direction: column; justify-content: center; border: 1px solid #dbe5f3; padding: 19px; border-radius: var(--card-radius); background: #eaf0f9; }
.location-card h3 { font-size: 14px; margin: 0 0 12px; }
.location-marker { position: absolute; right: 16px; top: 16px; width: 25px; height: 25px; color: #7993b9; }
.location-marker svg { width: 100%; height: 100%; }
.map-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #31588d; font-size: 11px; font-weight: 650; padding: 10px 12px; border-radius: 8px; background: #fff; border: 1px solid #dce5f1; box-shadow: 0 2px 5px #122d6108; transition: background .2s, box-shadow .2s; }
.map-link:hover { background: #f7faff; box-shadow: 0 4px 10px #122d6110; }
.map-link .ui-arrow { width: 14px; height: 14px; flex-basis: 14px; }
.subway-card { display: flex; gap: 14px; margin-top: 12px; padding: 16px 18px; border: 1px solid #dfe7f3; border-radius: var(--card-radius); background: #eef3fb; }
.transit-symbol { display: grid; place-items: center; flex: 0 0 29px; height: 29px; margin-top: 2px; border: 1px solid #b8c9e2; border-radius: 9px; color: #6886b0; font-size: 13px; font-weight: 700; }
.subway-card h3 { font-size: 11px; margin: 0 0 6px; }
.subway-card p { font-size: 10px; line-height: 1.9; color: #7487a5; white-space: pre-line; }
.guide-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 22px 0 0; }
.homepage .guide-registration-flow { margin-top: 19px; padding: 14px 16px; border-top: 1px solid #dfe6f0; border-radius: var(--card-radius); background: #edf2fa; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #7184a3; font-size: 9px; }
.homepage .guide-registration-flow i { color: #a0afc5; font-style: normal; }
.homepage .guide-registration-flow small { width: 100%; margin: 0; color: #91a0b6; font-size: 9px; }
.homepage .slide-toolbar { background: transparent; border: 0; padding: 0 6px; }
.homepage .slide-toolbar-inner { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 100%; gap: 14px; }
.homepage .slide-index { font-size: 9px; color: #a3afc3; gap: 7px; }
.homepage .slide-index strong { font-size: 11px; color: var(--navy); }
.homepage .slide-tabs { display: flex; gap: 4px; margin: 0 auto; }
.homepage .slide-tabs button { font-size: 10px; color: #8996ab; border: 0; border-radius: 8px; padding: 7px 11px; background: transparent; }
.homepage .slide-tabs button.active { color: #244c81; background: #eef3fa; font-weight: 650; }
.homepage .slide-tabs button:after { display: none; }
.homepage .slide-controls { display: flex; gap: 5px; padding: 4px; border: 1px solid #e1e8f3; border-radius: 12px; background: linear-gradient(135deg, #fff, #f2f6fc); box-shadow: 0 4px 12px #122d6108; }
.homepage .slide-controls button { display: grid; place-items: center; width: 34px; height: 30px; min-height: 0; border: 1px solid #dae4f0; border-radius: 8px; background: #fff; color: #244a82; box-shadow: 0 2px 5px #122d6108; transition: transform .18s, background .18s, border-color .18s, box-shadow .18s; }
.homepage .slide-controls #home-next:enabled { background: linear-gradient(145deg, #2e589c, #122d61); color: #fff; border-color: transparent; }
.homepage .slide-controls button:hover:enabled { transform: translateY(-1px); background: #eaf1fb; border-color: #a8bfdc; box-shadow: 0 5px 12px #122d6120; }
.homepage .slide-controls #home-next:hover:enabled { background: linear-gradient(145deg, #3b6aae, #1b3973); border-color: transparent; }
.homepage .slide-controls button:active:enabled { transform: scale(.96); }
.homepage .slide-controls button:focus-visible { outline: 2px solid #7397cb; outline-offset: 3px; }
.slide-control-icon { display: block; width: 12px; height: 12px; fill: currentColor; transition: translate .18s; }
.homepage .slide-controls #home-next:hover:enabled .slide-control-icon { translate: 2px 0; }
.homepage .slide-controls #home-previous:hover:enabled .slide-control-icon { translate: -2px 0; }
.homepage .slide-controls button:disabled { opacity: .5; background: #edf2f9; border-color: transparent; box-shadow: none; cursor: default; }
@media (prefers-reduced-motion: reduce) { .homepage .slide-controls button, .homepage .slide-controls .slide-control-icon { transition: none; } .homepage .slide-controls button:enabled, .homepage .slide-controls button:enabled .slide-control-icon { transform: none; translate: none; } }
.homepage .site-footer { height: 58px; flex: 0 0 58px; margin-top: auto; background: #fff; padding: 0; border: 0; }
.homepage .footer-logo { width: 146px; height: auto; opacity: .56; }
.homepage .footer-inner > small { font-size: 8px; color: #9ba7b8; letter-spacing: 1px; margin-left: auto; }
.homepage .footer-links { font-size: 10px; color: #8191a8; gap: 19px; }
.homepage [data-home-field="wizardTitle"] { white-space: pre-line; }
.poster-dialog, .program-dialog { margin: auto; padding: 0; background: #fff; color: #122d61; border: 1px solid #e3e9f3; border-radius: var(--card-radius); max-height: 94dvh; box-shadow: 0 25px 100px #081c4840; }
.poster-dialog::backdrop, .program-dialog::backdrop { background: #08182dd9; backdrop-filter: blur(5px); }
.poster-dialog { width: min(830px, calc(100vw - 32px)); }
.poster-dialog-toolbar, .program-dialog-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; border-bottom: 1px solid #e4eaf2; }
.poster-dialog-toolbar strong { font-size: 11px; letter-spacing: 1px; }
.poster-dialog-toolbar button, .program-dialog-toolbar button { width: 33px; height: 33px; border-radius: 9px; background: #eff3f9; color: #49648b; font-size: 24px; line-height: 1; }
.poster-dialog-body { overflow: auto; max-height: calc(94dvh - 58px); background: #f1f4f9; }
.poster-dialog-body img { display: block; width: 100%; height: auto; }
.program-dialog { width: min(700px, calc(100vw - 32px)); }
.program-detail-content { padding: 27px 32px; max-height: calc(94dvh - 58px); overflow-y: auto; }
.program-detail-content .speaker-profile { margin: 18px 0 22px; }
.program-detail-content .speaker-avatar { width: 75px; height: 90px; flex-basis: 75px; }
.program-detail-content .program-speaker { font-size: 19px; }
.program-detail-content .program-speaker span { font-size: 12px; }
.program-detail-content h2 { font-size: 25px; line-height: 1.5; letter-spacing: -.03em; margin: 9px 0 20px; }
.program-detail-section { margin-top: 24px; border-top: 1px solid #e3eaf4; padding-top: 18px; }
.program-detail-section h3 { font-size: 13px; margin-bottom: 10px; }
.program-detail-section > p { font-size: 13px; line-height: 1.9; color: #72839d; white-space: pre-line; }
.homepage .program-dialog .eyebrow { color: #7089ae; }
.homepage button:focus-visible, .homepage a:focus-visible { outline: 2px solid #92b3e2; outline-offset: 3px; }
.program-participants { padding: 0; margin: 0; list-style: none; }
.program-participants li { display: grid; grid-template-columns: 40px 145px 1fr; align-items: baseline; gap: 10px; padding: 10px 0; border-bottom: 1px solid #edf1f7; }
.participant-role { font-size: 10px; color: #6a85ad; }
.program-participants strong { font-size: 13px; color: #2f4a71; }
.program-participants small { font-size: 11px; font-weight: 450; }
.participant-organization { font-size: 11px; color: #7f90aa; line-height: 1.7; }
@media (min-width: 1800px) { .homepage .home-slide { padding: 48px; } .homepage .overview-slide { padding-bottom: 30px; } }
@media (max-width: 1180px) {
  .homepage { --stage-width: calc(100% - 40px); }
  .event-stage { gap: 14px; grid-template-columns: minmax(0, 66fr) minmax(265px, 34fr); }
  .homepage .home-slide { padding: 28px; }
  .homepage .home-hero-copy h1 { font-size: 32px; }
  .homepage .home-subtitle { font-size: 13px; }
  .poster-panel { padding: 14px; }
  .homepage .program-list { gap: 9px; }
  .homepage .program-row { padding: 14px 11px; }
  .speaker-profile { flex-direction: column; align-items: flex-start; gap: 9px; }
  .speaker-avatar { width: 50px; height: 55px; flex-basis: 55px; }
  .program-detail-content .speaker-profile { flex-direction: row; align-items: center; }
  .homepage .home-nav { gap: 20px; }
  .homepage .brand-logo { width: 220px; }
  .homepage .guide-location-grid { grid-template-columns: 1fr; }
  .location-card { padding: 13px 16px; flex-direction: row; align-items: center; gap: 16px; justify-content: space-between; }
  .location-card h3 { margin: 0; font-size: 12px; }
  .location-marker { display: none; }
}
@media (max-width: 900px) {
  .homepage { height: auto; min-height: 100dvh; display: flex; flex-direction: column; overflow: visible; --stage-width: calc(100% - 32px); }
  .homepage .site-header { height: 80px; flex: 0 0 80px; }
  .homepage .header-inner { gap: 14px; flex-wrap: wrap; }
  .homepage .brand-logo { width: 200px; }
  .homepage .header-register { margin-left: auto; padding: 10px 12px; font-size: 11px; min-height: 39px; }
  .homepage .home-nav { display: none; }
  .homepage #home-main { height: auto; max-height: none; margin: 4px auto 0; align-self: auto; }
  .event-stage { height: auto; display: flex; flex-direction: column; gap: 20px; }
  .slide-stage { height: auto; grid-template-rows: auto 50px; }
  .homepage .home-swiper { height: auto; }
  .homepage .home-slide { min-height: 0; padding: 32px; }
  .homepage .overview-slide { min-height: 620px; }
  .homepage .home-hero-copy h1 { font-size: 35px; }
  .homepage .home-event-facts { padding-top: 20px; }
  .homepage .program-list { gap: 12px; }
  .homepage .program-row { padding: 17px 14px; }
  .speaker-profile { flex-direction: row; align-items: center; }
  .speaker-avatar { flex-basis: 54px; width: 54px; height: 64px; }
  .homepage .guide-location-grid { grid-template-columns: 1.4fr 1fr; }
  .location-card { display: flex; flex-direction: column; align-items: stretch; padding: 18px; }
  .location-card h3 { margin-bottom: 13px; }
  .poster-panel { height: auto; max-height: none; position: static; margin: 0; padding: 20px; align-items: stretch; }
  .poster-frame { flex: none; height: auto; max-width: 500px; margin: auto; }
  .poster-frame img { position: static; height: auto; }
  .homepage .site-footer { height: auto; flex: none; margin-top: 20px; padding: 22px 0; }
  .homepage .footer-inner { flex-wrap: wrap; gap: 16px; }
}
@media (max-width: 600px) {
  .homepage { --stage-width: calc(100% - 24px); }
  .homepage .site-header { height: 70px; flex-basis: 70px; }
  .homepage .brand-logo { width: 158px; }
  .homepage .header-register { font-size: 10px; padding: 10px; gap: 7px; }
  .homepage .header-register .ui-arrow { width: 14px; height: 14px; flex-basis: 14px; }
  .slide-stage { height: auto; }
  .homepage .home-swiper { border-radius: var(--card-radius); }
  .homepage .home-slide { padding: 26px 22px; }
  .homepage .overview-slide { padding-bottom: 21px; }
  .homepage .home-kicker { font-size: 11px; letter-spacing: 1px; gap: 6px; }
  .homepage .home-category { margin-top: 23px; font-size: 8px; }
  .homepage .home-hero-copy h1 { font-size: 32px; line-height: 1.4; }
  .homepage .home-subtitle { font-size: 13px; }
  .homepage .home-description { font-size: 11px; }
  .homepage .hero-actions { gap: 10px; margin-top: 22px; }
  .homepage .button-lime, .homepage .home-text-link { min-height: 45px; font-size: 11px; padding: 11px 13px; gap: 12px; }
  .homepage .home-event-facts { grid-template-columns: 1fr; gap: 12px; }
  .homepage .home-event-facts > div:last-child { display: block; grid-column: auto; }
  .homepage .home-event-facts span { margin-bottom: 4px; }
  .homepage .home-event-facts strong { font-size: 12px; }
  .homepage .home-event-facts small { font-size: 11px; }
  .homepage .panel-intro h2 { font-size: 26px; }
  .homepage .panel-intro > p { font-size: 11px; }
  .homepage .program-list { grid-template-columns: 1fr; gap: 10px; }
  .homepage .program-row { padding: 18px; }
  .homepage .program-row h3 { font-size: 15px; }
  .speaker-profile { flex-direction: row; }
  .homepage .program-description, .speaker-bio-summary { font-size: 11px; }
  .homepage .program-board { margin-top: 18px; }
  .homepage .guide-location-grid { grid-template-columns: 1fr; gap: 10px; }
  .location-card { flex-direction: row; align-items: center; padding: 13px 16px; }
  .location-card h3 { margin: 0; }
  .map-link { font-size: 10px; padding: 9px 10px; }
  .guide-support-grid { grid-template-columns: 1fr; gap: 20px; }
  .homepage .slide-toolbar { padding: 0 1px; }
  .homepage .slide-toolbar-inner { gap: 7px; }
  .homepage .slide-tabs { gap: 0; }
  .homepage .slide-tabs button { padding: 7px 8px; font-size: 10px; }
  .homepage .slide-controls { gap: 4px; }
  .homepage .slide-controls button { width: 32px; height: 28px; }
  .poster-panel { padding: 16px; border-radius: var(--card-radius); }
  .homepage .footer-logo { width: 128px; }
  .homepage .footer-inner > small { width: 100%; order: 3; font-size: 7px; margin: 0; letter-spacing: .7px; }
  .homepage .footer-links { margin-left: auto; gap: 13px; font-size: 9px; }
  .program-detail-content { padding: 22px; }
  .program-detail-content h2 { font-size: 21px; }
  .program-participants li { grid-template-columns: 30px 1fr; gap: 5px 10px; }
  .participant-organization { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .homepage *, .homepage *:before, .homepage *:after { scroll-behavior: auto !important; transition: none !important; }
  .homepage .hero-registration-state[data-registration-open="true"] i { animation: none; }
}
@media (min-width: 901px) {
  .homepage .program-board-heading { padding-bottom: 8px; }
  .homepage .program-row { padding: 15px 14px; gap: 12px; }
  .homepage .program-row .speaker-profile { margin-bottom: 14px; }
  .homepage .program-card-body { margin-bottom: 14px; }
  .homepage .program-detail-button { padding-top: 12px; min-height: 38px; }
}
@media (min-width: 901px) and (max-height: 820px) {
  .homepage .home-slide { padding: 22px 26px; }
  .homepage .overview-slide { padding-bottom: 20px; }
  .homepage .home-category { margin: 15px 0 10px; }
  .homepage .home-subtitle { margin-top: 12px; }
  .homepage .home-description { margin-top: 7px; }
  .homepage .hero-actions { margin-top: 18px; }
  .homepage .hero-registration-state { margin-top: 12px; }
  .homepage .home-hero-copy { padding-bottom: 16px; }
  .homepage .panel-intro h2 { margin: 10px 0 7px; font-size: 25px; }
  .homepage .panel-intro > p { font-size: 10px; line-height: 1.7; margin-top: 0; }
  .homepage .program-context { margin-top: 8px; }
  .homepage .panel-intro > .sample-note { margin-top: 4px; }
  .homepage .program-board { margin-top: 14px; }
  .homepage .program-row { padding: 12px; gap: 9px; }
  .homepage .program-session { margin-bottom: 8px; }
  .homepage .program-row .speaker-profile { flex-direction: row; align-items: center; gap: 8px; margin-bottom: 11px; min-height: 48px; }
  .homepage .program-row .speaker-avatar { width: 40px; height: 48px; flex-basis: 40px; }
  .homepage .program-row h3 { font-size: 12px; line-height: 1.55; }
  .homepage .program-description, .homepage .speaker-bio-summary { font-size: 9px; line-height: 1.7; margin-top: 8px; }
  .homepage .program-card-body { margin-bottom: 11px; }
  .homepage .program-detail-button { padding-top: 9px; min-height: 33px; }
  .homepage .guide-board { margin-top: 14px; }
  .homepage .venue-detail { padding: 14px; }
  .homepage .guide-detail h3 { font-size: 11px; margin: 6px 0; }
  .homepage .guide-detail p { font-size: 9px; line-height: 1.7; }
  .homepage .subway-card { padding: 12px 14px; margin-top: 10px; }
  .homepage .subway-card p { font-size: 9px; line-height: 1.7; }
  .homepage .guide-support-grid { padding-top: 14px; gap: 16px; }
  .homepage .guide-registration-flow { margin-top: 12px; padding: 10px 13px; font-size: 8px; }
}
@media (min-width: 901px) and (max-height: 760px) {
  .homepage { --stage-min-height: clamp(320px, calc(100dvh - 194px), 740px); }
  .homepage .site-header { height: 72px; flex-basis: 72px; }
  .homepage .site-footer { height: 44px; flex-basis: 44px; }
  .homepage .home-slide { padding: 18px 24px; }
  .homepage .panel-intro h2 { font-size: 23px; }
  .homepage .program-board { margin-top: 10px; }
  .homepage .program-row { padding: 10px; }
  .homepage .program-row .speaker-profile { margin-bottom: 8px; }
  .homepage .program-card-body { margin-bottom: 8px; }
}
/* Contact information stays beside the map, with subway directions below it. */
.guide-information-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 16px; align-items: start; }
.guide-info-column, .guide-map-column { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.homepage .guide-slide .panel-intro h2 { font-size: 27px; margin: 12px 0 9px; }
.homepage .guide-slide .panel-intro > p { margin-top: 0; }
.homepage .guide-board { margin-top: 18px; }
.homepage .guide-info-column .guide-detail { padding: 13px 15px; border: 1px solid #e2e8f2; border-radius: var(--card-radius); background: #fff; }
.homepage .guide-info-column .guide-detail h3 { font-size: 12px; line-height: 1.6; margin: 6px 0; }
.homepage .guide-info-column .guide-detail p { font-size: 10px; line-height: 1.7; overflow-wrap: anywhere; }
.homepage .guide-info-column .guide-registration-flow { margin-top: 10px; padding: 9px 10px; gap: 6px; }
.homepage .location-card { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 14px; }
.homepage .location-card h3 { margin: 0; font-size: 13px; }
.venue-map { display: block; width: 100%; height: 220px; border: 1px solid #d2dfef; border-radius: var(--card-radius); background: #e8edf5; }
.homepage .guide-map-column .subway-card { margin: 0; padding: 13px 14px; }
.homepage .guide-map-column .subway-card p { font-size: 10px; line-height: 1.7; }
@media (min-width: 901px) and (max-height: 820px) {
  .homepage .guide-slide .panel-intro h2 { font-size: 23px; margin: 9px 0 6px; }
  .homepage .guide-board { margin-top: 12px; }
  .guide-information-grid { gap: 12px; }
  .guide-info-column, .guide-map-column { gap: 10px; }
  .homepage .guide-info-column .guide-detail { padding: 10px 12px; }
  .homepage .guide-info-column .guide-detail h3 { font-size: 11px; }
  .homepage .guide-info-column .guide-detail p { font-size: 9px; }
  .homepage .guide-info-column .guide-registration-flow { padding: 7px 8px; font-size: 8px; }
  .homepage .location-card { padding: 11px; gap: 10px; }
  .venue-map { height: 190px; }
  .homepage .guide-map-column .subway-card { padding: 10px 12px; gap: 9px; }
  .homepage .guide-map-column .subway-card p { font-size: 9px; }
}
@media (max-width: 600px) {
  .guide-information-grid { grid-template-columns: 1fr; }
  .venue-map { height: 230px; }
}
.overview-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 24px; align-items: center; min-width: 0; }
.homepage .overview-illustration { margin: 0; padding: 10px; width: 100%; max-width: 400px; border-radius: var(--card-radius); transform: none; border-color: #c1d3e24d; background: #e2eadc; box-shadow: 0 12px 40px #081c4833; }
.homepage .overview-illustration img { width: 100%; height: auto; object-fit: contain; border-radius: 5px; }
.overview-image-frame { width: 100%; aspect-ratio: 5 / 4; position: relative; }
.homepage .overview-image-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.homepage .overview-content-grid .home-hero-copy h1 { font-size: clamp(28px, 2.3vw, 38px); }
@media (min-width: 901px) and (max-height: 820px) {
  .overview-content-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .72fr); gap: 18px; }
  .homepage .overview-content-grid .home-hero-copy h1 { font-size: 29px; }
  .homepage .overview-content-grid .home-subtitle { font-size: 12px; line-height: 1.6; }
  .homepage .overview-content-grid .home-description { font-size: 10px; line-height: 1.7; }
  .homepage .overview-content-grid .hero-actions { gap: 8px; }
  .homepage .overview-content-grid .button-lime, .homepage .overview-content-grid .home-text-link { font-size: 11px; min-height: 40px; padding: 10px 12px; gap: 12px; }
}
@media (max-width: 600px) {
  .overview-content-grid { grid-template-columns: 1fr; gap: 8px; }
  .homepage .overview-illustration { width: 180px; justify-self: end; margin-bottom: 20px; }
  .homepage .overview-content-grid .home-hero-copy h1 { font-size: 32px; }
}
@media (min-width: 901px) and (max-height: 760px) { .venue-map { height: 170px; } }
.guide-information-grid { align-items: stretch; }
.homepage .guide-map-column .location-card { flex: 1; background: #fff; }
.location-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.homepage .location-heading .map-link { padding: 0; border: 0; background: transparent; box-shadow: none; gap: 6px; font-size: 9px; font-weight: 500; }
.homepage .location-heading .map-link .ui-arrow { width: 12px; height: 12px; flex-basis: 12px; }
.homepage .location-card .venue-map { flex: 1; min-height: 170px; height: auto; }
.homepage .location-card .subway-card { border: 0; border-top: 1px solid #e3eaf3; border-radius: 0; background: #fff; padding: 12px 0 0; }
@media (max-width: 600px) { .homepage .location-card .venue-map { min-height: 230px; } }
.homepage .guide-slide :is(.guide-detail > .eyebrow, .location-heading h3, .subway-card h3) { display: block; font-size: 12px; font-weight: 650; line-height: 1.5; letter-spacing: 0; color: #284e81; margin: 0; }
.poster-open-link { display: inline-flex; align-items: center; gap: 5px; padding: 2px 0; background: transparent; color: #48648c; font-size: 10px; white-space: nowrap; }
.poster-open-link:hover { color: #122d61; }
.homepage .poster-frame, .homepage .poster-frame img { border-radius: 0; }
.homepage .home-event-facts { --event-fact-columns: max-content max-content minmax(0, max-content); grid-template-columns: var(--event-fact-columns); justify-content: space-between; gap: 12px 38px; }
.homepage .home-event-facts > div { display: flex; align-items: baseline; gap: 14px; }
.homepage .home-event-facts > div:first-child { grid-column: 1 / span 2; }
.homepage .home-event-facts > .event-venue-fact { grid-column: 3; }
.homepage .home-event-facts > div > span { flex: 0 0 auto; margin-bottom: 0; white-space: nowrap; font-size: 12px; letter-spacing: 0; }
.homepage .home-event-facts > div > strong { min-width: 0; white-space: nowrap; }
.event-venue-line { display: flex; align-items: baseline; gap: 14px; min-width: 0; }
.event-venue-line strong { flex-shrink: 0; }
.homepage .event-venue-line small { min-width: 0; margin-top: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.homepage .home-event-facts > div.event-hosting-facts { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; column-gap: normal; }
.event-hosting-facts > div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.homepage .event-hosting-facts span { flex: 0 0 auto; white-space: nowrap; margin: 0; letter-spacing: 0; font-size: 12px; }
.homepage .event-hosting-facts strong { min-width: 0; font-size: 12px; word-break: keep-all; }
.event-hosting-facts > #sponsor-fact { gap: 14px; }
.homepage #event-sponsors { display: flex; align-items: baseline; justify-content: space-between; width: var(--sponsor-content-width, auto); flex: 0 1 var(--sponsor-content-width, auto); flex-wrap: wrap; gap: 8px 24px; }
.homepage .event-hosting-facts .sponsor-name { flex: 0 1 auto; min-width: 0; max-width: 100%; white-space: normal; color: inherit; font: inherit; overflow-wrap: anywhere; }
.homepage .site-footer { height: auto; flex: none; margin-top: auto; }
.homepage .footer-inner { flex-direction: column; align-items: stretch; height: auto; gap: 10px; padding: 12px 0; }
.partner-logos { --partner-logo-width: 150px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.partner-group { display: flex; align-items: center; gap: 14px; min-width: 0; }
.partner-role { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; color: #55729d; flex-shrink: 0; }
.partner-role::after { content: ''; display: block; width: 2px; height: 1em; flex-shrink: 0; background: var(--navy); }
.partner-group-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.partner-group[data-partner-role="sponsor"] .partner-group-logos { align-items: flex-end; justify-content: flex-start; gap: 30px; transform: translateY(-5px); }
.partner-group[data-partner-role="sponsor"] .partner-logo { position: relative; width: var(--logo-visible-width, var(--partner-logo-width)); height: 36px; flex: 0 0 auto; }
.partner-group[data-partner-role="sponsor"] .partner-logo img { position: absolute; width: var(--logo-frame-width, var(--sponsor-logo-width, var(--partner-logo-width))); height: 36px; object-position: right bottom; right: var(--logo-right-offset, 0px); bottom: var(--logo-baseline-offset, 0px); }
.partner-group[data-partner-role="organizer"] .partner-logo img { width: auto; max-width: var(--partner-logo-width); height: 28px; }
.partner-group[data-partner-role="host"] .partner-logo img { width: calc(var(--partner-logo-width) * 1.2); }
.partner-group:is([data-partner-role="host"], [data-partner-role="organizer"]) .partner-logo img { transform: translateX(calc(-1 * var(--logo-left-offset, 0px))); }
.partner-logo { display: inline-flex; align-items: center; justify-content: center; }
.partner-logo img { display: block; width: 150px; height: 36px; object-fit: contain; opacity: 1; filter: none; }
@media (min-width: 901px) {
  .partner-logos { --partner-logo-width: clamp(64px, calc((var(--left-card-width, 66vw) - 212px) / var(--partner-logo-count, 5)), 150px); width: var(--left-card-width, 66%); flex-wrap: nowrap; justify-content: space-between; gap: 32px; }
  .partner-group { flex: 0 0 auto; }
  .partner-logo img, .partner-logo-placeholder { width: var(--partner-logo-width); }
  .partner-logo-placeholder { padding-inline: 4px; }
  .partner-group[data-partner-role="sponsor"] { flex: 0 0 auto; }
  .partner-group[data-partner-role="sponsor"] .partner-group-logos { flex: 0 0 auto; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .homepage .footer-inner > .partner-logos { flex-wrap: nowrap; gap: 8px; }
}
.partner-logo-placeholder { display: flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 12px; border: 1px solid #dce5f1; border-radius: 6px; color: #46658e; font-size: 10px; font-weight: 600; background: #fff; }
.footer-meta { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.footer-meta > small { font-size: 8px; color: #8898b0; letter-spacing: 1px; }
@media (min-width: 901px) {
  .homepage.compact-stage .home-slide { padding: 22px 26px; }
  .homepage.compact-stage .panel-intro h2 { font-size: 25px; margin: 10px 0 7px; }
  .homepage.compact-stage .panel-intro > p { margin-top: 0; font-size: 10px; line-height: 1.7; }
  .homepage.compact-stage .program-board { margin-top: 14px; }
  .homepage.compact-stage .program-context { margin-top: 8px; }
  .homepage.compact-stage .program-row { padding: 12px; gap: 9px; }
  .homepage.compact-stage .program-row .speaker-profile { flex-direction: row; align-items: center; gap: 8px; margin-bottom: 10px; min-height: 48px; }
  .homepage.compact-stage .program-row .speaker-avatar { width: 40px; height: 48px; flex-basis: 40px; }
  .homepage.compact-stage .program-row h3 { font-size: 12px; line-height: 1.55; }
  .homepage.compact-stage .program-card-body { margin-bottom: 10px; }
  .homepage.compact-stage .home-hero-copy h1 { font-size: 29px; }
  .homepage.compact-stage .home-subtitle { font-size: 12px; line-height: 1.6; margin-top: 12px; }
  .homepage.compact-stage .home-description { font-size: 10px; line-height: 1.7; }
  .homepage.compact-stage .home-category { margin: 15px 0 10px; }
  .homepage.compact-stage .hero-actions { margin-top: 18px; }
  .homepage.compact-stage .hero-registration-state { margin-top: 12px; }
  .homepage.compact-stage .guide-info-column .guide-detail { padding: 10px 12px; }
  .homepage.compact-stage .guide-board { margin-top: 12px; }
  .homepage.tight-stage .home-slide { padding: 16px 22px; }
  .homepage.tight-stage .panel-intro h2 { font-size: 22px; }
  .homepage.tight-stage .program-row { padding: 10px; }
  .homepage.tight-stage .program-session { margin-bottom: 6px; }
  .homepage.tight-stage .program-row .speaker-profile { margin-bottom: 8px; }
  .homepage.tight-stage .program-row h3 { font-size: 11px; }
  .homepage.tight-stage .program-detail-button { padding-top: 8px; min-height: 32px; }
  .homepage.tight-stage .location-card .venue-map { min-height: 160px; }
  .homepage.tight-stage .guide-slide .panel-intro h2 { margin: 7px 0 5px; }
}
@media (max-width: 600px) {
  .homepage .home-event-facts { --event-fact-columns: minmax(0, 1fr); }
  .homepage .home-event-facts > div:first-child, .homepage .home-event-facts > .event-venue-fact { grid-column: 1; }
  .homepage .home-event-facts > div.event-hosting-facts { grid-template-columns: 1fr; gap: 10px; }
  .homepage .home-event-facts > div { flex-wrap: wrap; gap: 5px; }
  .homepage .home-event-facts > div > span { flex-basis: 100%; }
  .event-venue-line { flex-wrap: wrap; gap: 5px; }
  .homepage .event-venue-line small { width: 100%; }
  .homepage #event-sponsors { width: auto; flex: 1; }
  .partner-group { flex-wrap: wrap; gap: 14px; }
  .partner-group-logos { gap: 8px; }
  .partner-logos { --partner-logo-width: 130px; gap: 12px; }
  .footer-meta { flex-wrap: wrap; }
  .partner-logo img { width: 130px; }
  .partner-group[data-partner-role="sponsor"] { display: grid; grid-template-columns: max-content minmax(0, 1fr); width: 100%; }
  .partner-group[data-partner-role="sponsor"] .partner-group-logos { display: flex; justify-content: space-between; gap: 8px; }
  .partner-group[data-partner-role="sponsor"] .partner-logo { min-width: 0; width: var(--logo-visible-width, calc((100% - 16px) / 3)); }
}

@media (max-width: 600px) {
  .homepage .footer-meta { flex-wrap: nowrap; gap: 8px; }
  .homepage .footer-meta > small { min-width: 0; font-size: clamp(6px, 1.8vw, 8px); letter-spacing: .1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .homepage .footer-meta .footer-links { margin-left: 0; flex-shrink: 0; }
  .homepage .footer-meta a[href="/admin"] { display: none; }
  .homepage #home-main { width: 100%; }
  .homepage .home-swiper { border-radius: 0; }
  .homepage .overview-slide { padding-inline: 0; }
  .homepage .overview-content-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .homepage .overview-content-grid .home-hero-copy, .homepage .overview-slide .home-event-facts { margin-inline: 22px; }
  .homepage .overview-illustration { width: 100%; max-width: none; justify-self: stretch; margin: 0 0 20px; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .homepage .overview-image-frame { aspect-ratio: auto; }
  .homepage .overview-image-frame img { position: static; display: block; width: 100%; height: auto; border-radius: 0; }
}

@media (max-width: 900px) {
  .homepage .slide-stage { grid-template-rows: 50px auto; }
  .homepage .slide-stage > .slide-toolbar { grid-column: 1; grid-row: 1; padding-inline: 12px; }
  .homepage .slide-stage > .home-swiper { grid-column: 1; grid-row: 2; }
}

/* Institution widths must not feed back into venue measurement. */
.homepage #event-organizer, .homepage #event-sponsors { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 14px; width: auto; flex: 0 0 auto; }
.homepage .event-hosting-facts .sponsor-name { white-space: nowrap; overflow-wrap: normal; }
.partner-group[data-partner-role="host"] .partner-logo-offsite img { width: auto; max-width: var(--partner-logo-width); height: 28px; }
@media (min-width: 901px) {
  .homepage .footer-inner > .partner-logos { width: var(--left-card-width, 66%); flex-wrap: nowrap; gap: 12px; }
  .partner-group-logos { flex-wrap: nowrap; }
}
@media (min-width: 601px) {
  .homepage .home-event-facts { grid-template-columns: max-content max-content minmax(0, 1fr); gap: 12px 24px; }
  .homepage .event-venue-line { flex: 1; }
}
@media (min-width: 901px) and (max-width: 1300px) {
  .homepage .event-hosting-facts span, .homepage .event-hosting-facts strong { font-size: 10px; }
  .homepage #event-organizer, .homepage #event-sponsors { gap: 10px; }
  .homepage .event-hosting-facts > div { gap: 7px; }
  .homepage .home-event-facts > div > strong, .homepage .event-venue-line strong { font-size: 11px; }
  .homepage .event-venue-line strong { flex-shrink: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (min-width: 901px) and (max-width: 1050px) {
  .homepage .event-hosting-facts span, .homepage .event-hosting-facts strong { font-size: 8px; }
  .homepage #event-organizer, .homepage #event-sponsors { gap: 8px; }
}
@media (max-width: 900px) {
  .homepage .home-event-facts > div.event-hosting-facts { display: flex; flex-wrap: wrap; gap: 12px 18px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .homepage .home-event-facts { column-gap: 8px; }
  .homepage #event-organizer, .homepage #event-sponsors { gap: 6px; }
  .homepage .event-hosting-facts > #sponsor-fact { gap: 7px; }
}

.partner-group[data-partner-role="organizer"] .partner-logo-kriea img { width: calc(var(--partner-logo-width) * 1.2); max-width: none; height: 36px; }
.partner-group[data-partner-role="host"] .partner-logo-offsite img { height: 26.6px; max-width: calc(var(--partner-logo-width) * .95); }
@media (min-width: 901px) {
  .partner-group[data-partner-role="sponsor"] .partner-group-logos { gap: 12px; }
}

@media (max-width: 480px) {
  .homepage .home-kicker small { font-size: 11px; }
}

@media (max-width: 600px) {
  .homepage .home-event-facts > div:first-child,
  .homepage .home-event-facts > .event-venue-fact { flex-wrap: nowrap; align-items: baseline; gap: 10px; }
  .homepage .home-event-facts > div:first-child > span,
  .homepage .home-event-facts > .event-venue-fact > span { flex-basis: auto; }
  .homepage #event-time { font-size: 11px; white-space: nowrap; }
  .homepage .event-venue-line { flex: 1; min-width: 0; flex-wrap: wrap; gap: 3px 10px; overflow: visible; }
  .homepage .event-venue-line strong { flex: 0 1 auto; min-width: 0; max-width: 100%; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
  .homepage .event-venue-line small { flex: 0 1 auto; min-width: 0; max-width: 100%; width: auto; margin-top: 0; color: #fff; font-size: 10px; white-space: normal; overflow-wrap: anywhere; overflow: visible; text-overflow: clip; }
}
