/* Homepage-only Glow Walk feature; existing shared pages remain unchanged. */
.topline { position: relative; }
.site-header { position: relative; top: auto; background: var(--navy-950); }
.site-header__inner { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 24px; }
.site-nav { gap: clamp(12px, 1.5vw, 26px); flex-wrap: wrap; }
.site-nav a { font-size: .77rem; letter-spacing: .06em; white-space: nowrap; }
.site-nav .glow-nav {
  padding: 12px 18px; border: 1px solid #ffe6a3; border-radius: 999px;
  color: var(--navy-950); background: linear-gradient(135deg, #ffe6a3, var(--gold-bright));
  box-shadow: 0 3px 15px #e2a42d20;
}
.site-nav .glow-nav::after { display: none; }
.site-nav .glow-nav:hover { background: #ffe6a3; }
.hero { min-height: 680px; }
.hero__content { padding-top: 36px; }
.glow-announcement {
  color: var(--cream); background: linear-gradient(100deg, #651511, #981a16, #651511);
  border-block: 1px solid var(--gold); position: relative; z-index: 2;
}
.glow-announcement__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 14px; }
.glow-announcement p { margin: 0; font-size: 1rem; }
.glow-announcement p > span { color: var(--gold-bright); margin-right: 12px; }
.glow-announcement a { font-weight: 800; white-space: nowrap; text-underline-offset: 4px; }
.glow-feature {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-block: 36px 64px; padding: 12px; scroll-margin-top: 24px;
  background: var(--cream); color: var(--ink); border: 2px solid var(--gold);
  border-radius: 22px; box-shadow: inset 0 0 0 4px #fffdf7, var(--shadow);
}
.glow-feature__visual { position: relative; margin: 0; min-height: 550px; overflow: hidden; border-radius: 12px; }
.glow-feature__visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.glow-feature__badge { position: absolute; top: 20px; left: 20px; padding: 12px 18px; border: 1px solid var(--gold); border-radius: 6px; background: #051c34f2; color: var(--gold-bright); text-transform: uppercase; font-size: .85rem; font-weight: 800; letter-spacing: .08em; }
.glow-feature__visual figcaption { position: absolute; bottom: 14px; left: 16px; padding: 4px 9px; border-radius: 4px; color: white; background: #020d19bd; font-size: .75rem; }
.glow-feature__copy { display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding: clamp(28px, 3.5vw, 60px); }
.glow-feature__eyebrow { margin: 0 0 18px; color: #86540b; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.glow-feature h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 4.2vw, 4.5rem); line-height: 1.02; letter-spacing: -.045em; }
.glow-feature__intro { max-width: 440px; margin: 22px 0; font-size: 1.15rem; }
.glow-feature__required { margin: 0; padding: 7px 18px; border: 2px solid var(--navy-900); border-radius: 999px; font-size: .87rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.glow-feature__details { max-width: 440px; margin: 14px 0 24px; font-size: .95rem; line-height: 1.65; }
.glow-feature__button { display: flex; justify-content: center; align-items: center; gap: 20px; width: 100%; max-width: 440px; min-height: 62px; padding: 14px 24px; border: 2px solid var(--gold); border-radius: 10px; color: var(--cream); background: linear-gradient(160deg, #b9231b, #7e110d); text-decoration: none; font-family: Georgia, 'Times New Roman', serif; font-size: 1.6rem; font-weight: 700; box-shadow: 0 6px 18px #981a1620; }
.glow-feature__button:hover { background: #981a16; }
.glow-feature__destination { margin: 12px 0 0; font-size: .9rem; }
.glow-feature a:focus-visible { outline-color: var(--navy-900); }
@media (max-width: 1180px) and (min-width: 901px) {
  .site-nav { gap: 3px 18px; padding-block: 12px; }
  .site-header__inner { grid-template-columns: 230px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .site-header__inner { grid-template-columns: minmax(180px, 300px) auto; }
  .site-nav { position: absolute; top: 100%; gap: 0; }
  .site-nav a { font-size: .85rem; }
  .site-nav .glow-nav { margin-top: 10px; }
  .hero { min-height: 700px; }
  .hero__content { padding-top: 80px; }
  .glow-feature { grid-template-columns: 1fr; max-width: 720px; }
  .glow-feature__visual { min-height: 0; aspect-ratio: 1; }
  .glow-feature__copy { padding: 38px 28px; }
  .glow-feature h2 { font-size: clamp(2.5rem, 7vw, 4rem); }
}
@media (max-width: 620px) {
  .site-header__inner { grid-template-columns: minmax(180px, 245px) auto; gap: 12px; }
  .glow-announcement__inner { flex-direction: column; gap: 6px; text-align: center; padding-block: 12px; }
  .glow-announcement p { font-size: .87rem; }
  .glow-announcement p > span { display: none; }
  .glow-announcement strong { display: block; }
  .glow-announcement a { display: inline-flex; align-items: center; min-height: 36px; font-size: .9rem; }
  .hero { min-height: 630px; }
  .hero__content { padding-top: 52px; }
  .glow-feature { margin-block: 24px 40px; padding: 8px; border-radius: 16px; }
  .glow-feature__copy { padding: 30px 14px; }
  .glow-feature__badge { top: 12px; left: 12px; font-size: .7rem; padding: 8px 12px; }
  .glow-feature__eyebrow { font-size: .7rem; letter-spacing: .09em; }
  .glow-feature h2 { font-size: clamp(2.15rem, 9.5vw, 3.5rem); }
  .glow-feature__intro { font-size: 1rem; }
  .glow-feature__required { font-size: .75rem; padding-inline: 12px; }
  .glow-feature__destination { font-size: .82rem; }
}
@media print {
  .glow-announcement, .glow-feature { display: none !important; }
}
