/* Homepage-only presentation. Other routes retain the shared site styles. */
.homepage .hero { min-height: 760px; }
.homepage .hero-visual { min-height: 430px; }
.homepage .hero-suite { width: 112%; height: auto; }
.season-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 25px;
  padding: 9px 14px;
  border: 1px solid #cbd9f2;
  border-radius: 999px;
  background: #edf3ff;
  color: #1648a8;
  font-size: 12px;
  font-weight: 700;
}
.season-link:hover { background: #e0ebff; }
.homepage a:focus-visible, .homepage button:focus-visible {
  outline: 3px solid #2f7dff;
  outline-offset: 5px;
}
.holiday-ready {
  padding: 36px clamp(18px, 5vw, 72px) 80px;
  background: linear-gradient(#edf5ff, #fff 75%);
}
.holiday-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--max);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #dbe4f2;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 70px #123b7610;
}
.holiday-copy { padding: clamp(28px, 3.8vw, 54px); }
.holiday-copy .eyebrow { font-size: 10px; }
.holiday-copy h2 { font-size: clamp(36px, 3.8vw, 51px); line-height: 1.04; }
.holiday-intro { color: var(--muted); font-size: 16px; }
.holiday-steps { list-style: none; padding: 0; margin: 28px 0; }
.holiday-steps li { display: flex; gap: 15px; margin: 0 0 20px; }
.holiday-steps li > span {
  padding-top: 2px;
  font-size: 11px;
  font-weight: 800;
  color: #5078b9;
}
.holiday-steps h3 { font-size: 16px; line-height: 1.3; margin: 0 0 5px; }
.holiday-steps p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.holiday-copy .button { gap: 18px; }
.holiday-tour-link { display: block; width: fit-content; margin-top: 16px; color: var(--blue-700); font-size: 13px; font-weight: 700; }
.holiday-tour-link:hover { text-decoration: underline; }
.holiday-art { position: relative; overflow: hidden; min-height: 600px; background: #071a42; }
.holiday-art img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}
.mobile-preview-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; min-width: 0; }
.mobile-preview-pair figure { margin: 0; min-width: 0; text-align: center; }
.mobile-preview-pair img { width: min(100%, 260px); height: auto; margin: 0 auto 24px; filter: drop-shadow(0 24px 32px #0005); }
.mobile-preview-pair figcaption strong { display: block; font-size: 14px; line-height: 1.5; }
.mobile-preview-pair figcaption span { display: block; color: #b3c5e6; font-size: 12px; margin-top: 5px; }
.demo-image-note { grid-column: 1 / -1; text-align: center; margin: 0; color: #a4b7d9; font-size: 11px; }
@media (max-width: 1200px) {
  .homepage .desktop-nav { gap: 16px; }
  .homepage .brand img { width: 150px; }
}
@media (max-width: 980px) {
  .homepage .hero { min-height: auto; }
  .homepage .hero-copy { max-width: 720px; margin: 0 auto; }
  .homepage .hero-visual { min-height: auto; }
  .homepage .hero-suite { width: 100%; }
  .homepage .hero-metrics { width: 100%; max-width: 720px; margin: 0 auto; }
  .holiday-card { grid-template-columns: 1.1fr .9fr; }
  .holiday-art { min-height: 560px; }
  .homepage .showcase-copy { max-width: 620px; }
  .mobile-preview-pair { width: min(100%, 650px); margin: 0 auto; }
}
@media (max-width: 700px) {
  .holiday-ready { padding: 16px 16px 48px; }
  .holiday-card { grid-template-columns: 1fr; border-radius: 22px; }
  .holiday-copy { padding: 30px 24px; }
  .holiday-copy h2 { font-size: 38px; }
  .holiday-art { min-height: 0; height: clamp(360px, 66vw, 440px); }
  .holiday-art img { width: 200%; max-width: none; right: 0; }
  .mobile-preview-pair { gap: 16px; }
  .mobile-preview-pair img { margin-bottom: 16px; }
  .mobile-preview-pair figcaption strong { font-size: 12px; }
  .mobile-preview-pair figcaption span { font-size: 11px; }
}
@media (max-width: 640px) {
  .homepage .hero-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .homepage .hero-metrics div { padding: 14px 10px; }
  .homepage .hero-metrics dt { font-size: 23px; }
  .homepage .hero-metrics dd { font-size: 10px; }
  .homepage .hero { gap: 28px; }
  .season-link { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .homepage { scroll-behavior: auto; }
  .homepage *, .homepage *::before, .homepage *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
