/* Give the heading, event facts and statistics their own space in the left column. */
#app:has(.hero) .hero { align-items:stretch; }
#app:has(.hero) .hero-copy { display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:9px 0 10px; }
.home-heading { min-width:0; }
#app:has(.hero) .home-heading .hero-title { margin:0; line-height:1.25; overflow-wrap:anywhere; }
.home-heading .event-name { margin:14px 0 10px; font-size:17px; line-height:1.6; overflow-wrap:anywhere; }
.home-heading .mission { font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.home-event-info { min-width:0; margin-top:28px; padding:22px 0 0; border-top:1px solid var(--line); }
.home-event-facts { display:grid; gap:12px; margin:0; }
.home-event-facts > div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px; align-items:baseline; min-width:0; }
.home-event-facts dt { color:var(--muted); font-size:13px; line-height:1.6; }
.home-event-facts dd { min-width:0; margin:0; color:var(--ink); font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.home-event-facts dd strong { color:var(--wine); font-size:17px; font-weight:500; font-variant-numeric:tabular-nums; }
.hero-copy .home-event-info .event-platform-banner { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:baseline; gap:12px; min-width:0; margin:12px 0 0; padding:0; border:0; background:transparent; }
.home-event-info .event-platform-banner > strong { color:var(--muted); font-size:13px; font-weight:400; line-height:1.6; }
.home-event-info .event-platform-tags { min-width:0; gap:4px 12px; }
.home-event-info .event-platform-tags span { min-width:0; max-width:100%; padding:0; border:0; background:transparent; color:var(--ink); font-size:15px; line-height:1.6; }
.home-event-note { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.home-registration-statistics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:30px 0 0; padding:16px 0; border:1px solid var(--line); border-radius:6px; background:var(--cream); }
.home-registration-statistics > div { display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; gap:5px; padding:0 12px; border-left:1px solid var(--line); }
.home-registration-statistics > div:first-child { border-left:0; }
.home-registration-statistics dt { font-size:12px; color:var(--muted); line-height:1.5; overflow-wrap:anywhere; }
.home-registration-statistics dd { order:-1; margin:0; font-size:24px; font-weight:600; line-height:1.2; color:var(--wine); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; max-width:100%; }
#app:has(.hero) .hero-gallery {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0,1fr);
  gap: 10px;
  padding: 9px;
}
#app:has(.hero) .hero-gallery > .hero-composite {
  height: auto;
  min-height: 0;
  aspect-ratio: 32 / 9;
}
#app:has(.hero) .hero-composite img {
  min-height: 0;
  height: 100%;
}
#app:has(.hero) .home-entry-split {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto;
  align-items: stretch;
  gap: 10px;
}
#app:has(.hero) .home-entry-split .guest-entry {
  height: auto;
  min-height: 0;
  min-width: 0;
  padding: 12px;
  gap: 4px;
  align-items: flex-start;
  justify-content: flex-start;
  overflow-wrap: anywhere;
}
#app:has(.hero) .home-entry-split .eyebrow { font-size: 10px; line-height: 1.4; }
#app:has(.hero) .home-entry-split strong { font-size: 20px; line-height: 1.35; }
#app:has(.hero) .home-entry-split span:not(.eyebrow) { font-size: 12px; line-height: 1.5; }
#app:has(.hero) .home-entry-split i { margin-top: auto; padding-top: 4px; font-size: 12px; line-height: 1.5; }
@media (max-width:900px) {
  #app:has(.hero) .hero-copy { display:block; padding-bottom:0; }
}

@media (min-width:641px) and (max-width:1200px) {
  #app:has(.hero) .home-entry-split { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  #app:has(.hero) .hero-copy { padding-top:0; }
  .home-heading .event-name { font-size:16px; }
  .home-event-info { margin-top:24px; padding-top:18px; }
  .home-event-facts { gap:10px; }
  .home-event-facts > div, .hero-copy .home-event-info .event-platform-banner { grid-template-columns:84px minmax(0,1fr); gap:10px; }
  .hero-copy .home-event-info .event-platform-banner { margin-top:10px; }
  .home-event-facts dd strong { font-size:16px; }
  .home-registration-statistics { margin-top:24px; padding:14px 0; }
  .home-registration-statistics > div { padding: 0 4px; }
  .home-registration-statistics dd { font-size:22px; }
  #app:has(.hero) .hero-gallery { gap: 8px; padding: 6px; }
  #app:has(.hero) .hero-gallery > .hero-composite { aspect-ratio: 2.2; }
  #app:has(.hero) .home-entry-split { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; gap: 8px; }
  #app:has(.hero) .home-entry-split .guest-entry {
    display: flex;
    flex-direction:column;
    gap: 5px;
    padding: 10px;
    min-height:112px;
    align-items:flex-start;
  }
  #app:has(.hero) .home-entry-split .eyebrow { display: none; }
  #app:has(.hero) .home-entry-split strong { font-size: 17px; }
  #app:has(.hero) .home-entry-split span:not(.eyebrow) { font-size:12px; }
  #app:has(.hero) .home-entry-split i { margin-top:auto; padding:3px 0 0; font-size:11px; white-space:nowrap; }
}

/* A separate, centered deadline strip sits between the hero and application entries. */
#app:has(.hero) .home-registration-countdown { min-width:0; margin-top:0; margin-bottom:16px; padding:0; }
#app:has(.hero) .home-registration-countdown .rc-panel { display:grid; grid-template-columns:auto auto auto auto; justify-content:center; align-items:center; min-width:0; min-height:0; gap:6px 18px; padding:14px 22px; border:1px solid var(--wine); border-radius:6px; background:var(--wine); color:white; text-align:center; }
.home-registration-countdown .rc-heading { order:1; grid-column:1; grid-row:1; justify-content:center; flex-wrap:wrap; gap:6px; min-width:0; color:white; }
.home-registration-countdown .rc-heading > strong { font-size:16px; letter-spacing:0; }
.home-registration-countdown .rc-badge { background:white; border-color:white; color:var(--wine); font-weight:600; }
.home-registration-countdown .rc-timezone { order:3; grid-column:3; grid-row:1; margin:0; font-size:11px; line-height:1.6; color:var(--cream); }
.home-registration-countdown .rc-deadline { order:2; grid-column:2; grid-row:1; margin:0; font-size:16px; font-weight:500; line-height:1.5; color:white; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.home-registration-countdown .rc-clock { order:4; grid-column:4; grid-row:1; min-width:0; justify-content:center; flex-wrap:wrap; gap:6px 10px; color:white; }
.home-registration-countdown .rc-part { gap:4px; }
.home-registration-countdown .rc-part > b { font-size:24px; }
.home-registration-countdown .rc-part > span { font-size:12px; color:var(--cream); }
.home-registration-countdown .rc-detail { order:5; grid-column:1/-1; grid-row:2; min-width:0; margin:0; font-size:11px; line-height:1.6; color:var(--cream); }
.home-registration-countdown .rc-retry { order:6; grid-column:1/-1; justify-self:center; min-width:0; max-width:100%; }
#app:has(.hero) .home-registration-countdown:is([data-state="loading"],[data-state="syncing"],[data-state="error"]) .rc-panel { grid-template-columns:minmax(0,1fr); }
#app:has(.hero) .home-registration-countdown:is([data-state="paused"],[data-state="closed"]) .rc-panel { grid-template-columns:auto auto auto; }
.home-registration-countdown:is([data-state="loading"],[data-state="syncing"],[data-state="error"]) :is(.rc-heading,.rc-deadline,.rc-detail) { grid-column:1; grid-row:auto; }
@media(max-width:900px) {
  #app:has(.hero) .home-registration-countdown .rc-panel { grid-template-columns:auto auto auto; gap:6px 14px; }
  .home-registration-countdown .rc-clock { grid-column:1/-1; grid-row:2; }
  .home-registration-countdown .rc-detail { grid-row:3; }
}
@media(max-width:640px) {
  #app:has(.hero) .home-registration-countdown { margin-bottom:12px; }
  #app:has(.hero) .home-registration-countdown .rc-panel { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:12px; gap:5px 12px; }
  #app:has(.hero) .home-registration-countdown:is([data-state="paused"],[data-state="closed"]) .rc-panel { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .home-registration-countdown .rc-heading { grid-column:1; grid-row:1; justify-content:flex-end; }
  .home-registration-countdown .rc-timezone { grid-column:2; grid-row:1; justify-self:start; }
  .home-registration-countdown .rc-deadline { grid-column:1/-1; grid-row:2; font-size:15px; }
  .home-registration-countdown .rc-clock { grid-column:1/-1; grid-row:3; }
  .home-registration-countdown .rc-detail { grid-row:4; }
  .home-registration-countdown .rc-part > b { font-size:24px; }
  .home-registration-countdown .rc-part > span { font-size:11px; }
  .home-registration-countdown:is([data-state="loading"],[data-state="syncing"],[data-state="error"]) :is(.rc-heading,.rc-deadline,.rc-detail) { grid-column:1/-1; grid-row:auto; justify-content:center; }
}

/* Homepage accents reuse the shared site palette. */
#app:has(.hero) .hero-gallery {border-color:transparent;background:transparent;}
#app:has(.hero) .home-entry-split .guest-entry {background:var(--cream);border-color:var(--line);}
#app:has(.hero) .home-entry-split strong {color:var(--wine);}
#app:has(.hero) .apply-choice {background:var(--cream);border-color:var(--line);color:var(--wine);}
#app:has(.hero) .apply-choice:hover {background:var(--paper);}
#app:has(.hero) .apply-choice small {color:var(--muted);}
#app:has(.hero) .go-icon {border-color:var(--gold);color:var(--wine);}

#app:has(.hero) .hero-gallery { align-self:stretch; }

@media(max-width:600px){#app:has(.hero) .topbar .nav{justify-content:flex-end;column-gap:12px}}
