/* Keep the photo-to-search gap in normal document flow. */
.home-page .hero { position: relative; padding: 0 !important; }
.home-page .hero::after { content: ""; position: absolute; inset: auto 0 0; height: 54px; background: #fff; }
.home-page .hero > .wrap,
.home-page .home-trust { width: min(1424px, calc(100% - 80px)); }
.home-page .hero-card {
  min-height: 0; overflow: visible; border-radius: 0;
  background: transparent !important; box-shadow: none; z-index: 1;
}
.home-page .hero-grid {
  grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
  align-items: center; gap: 28px; min-height: 0; padding: 32px 0 36px;
}
.home-page .hero-copy { min-width: 0; padding: 0 0 0 16px; color: #222; }
.home-page .hero .eyebrow { font-size: clamp(12px, 1.1vw, 16px); letter-spacing: .16em; }
.home-page .hero h1 {
  margin: 20px 0 26px; font-size: clamp(40px, 4.4vw, 68px);
  font-weight: 850; line-height: 1.1; letter-spacing: -.045em;
}
.home-page .hero h1 span { color: #d90046; }
.home-page .hero p { max-width: none; margin: 0; font-size: clamp(17px, 1.7vw, 25px); color: #292329; }
.home-page .mosaic { margin: 0; min-height: 0; height: clamp(330px, 29vw, 440px); }
.home-page .tile {
  border: 6px solid #fff; border-radius: 24px; animation: none; will-change: auto;
  box-shadow: 0 10px 24px rgb(116 25 49 / 12%);
}
.home-page .tile.one { left: 0; top: 3%; width: 51%; height: 55%; }
.home-page .tile.two { left: 24%; top: 46%; width: 47%; height: 54%; z-index: 1; }
.home-page .tile.three { right: 0; top: 0; width: 39%; height: 43%; }
.home-page .tile.four { right: 0; top: 48%; width: 30%; height: 45%; }
.home-page .search-zone { position: relative; padding: 0; background: transparent; scroll-margin-top: 100px; }
.home-page .search-zone form {
  position: relative; inset: auto; display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center; gap: 0; width: 100%; min-height: 108px; margin: 0; padding: 18px;
  border: 1px solid #ffe1e9; border-radius: 20px; background: #fff;
  box-shadow: 0 12px 30px rgb(170 34 70 / 14%);
}
.home-page .search-zone .field {
  display: block; position: relative; min-width: 0; padding: 4px 14px 4px 46px;
  border: 0; border-right: 1px solid #e4dfe1;
}
.home-page .home-search-icon { width: 27px; height: 27px; flex: 0 0 auto; }
.home-page .field > .home-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); }
.home-page .search-zone label { font-size: 13px; font-weight: 550; text-transform: none; letter-spacing: 0; color: #222; }
.home-page .search-zone input,
.home-page .search-zone select { min-width: 0; min-height: 34px; margin-top: 2px; padding: 0; font-size: 15px; color: #292329; }
.home-page .search-zone button[type="submit"] {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 68px; margin-left: 18px; padding: 16px 28px; border: 0; border-radius: 13px;
  background: #d90046; color: #fff; font-size: 20px; font-weight: 750; cursor: pointer;
}
.home-page .search-zone button[type="submit"]:hover { background: #bc003d; }
.home-page .search-zone .hv-calendar { padding: 14px !important; }
.home-page .home-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 34px auto 0; }
.home-page .home-trust > span {
  display: flex; align-items: center; justify-content: center; gap: 16px; padding: 0 18px;
  min-height: 54px; font-size: clamp(14px, 1.35vw, 19px); font-weight: 750;
}
.home-page .home-trust > span + span { border-left: 1px solid #e4dfe1; }
.home-page .home-trust svg { width: 42px; height: 42px; color: #e6004c; flex: 0 0 auto; }
.home-page .destination-discovery { padding-top: 48px; }
.home-page .destination-discovery h2 { font-family: inherit; font-size: clamp(30px, 3vw, 42px); font-weight: 800; }
.home-page .student-feature h2 { color: #fff; }
.home-page .destination-credits { margin-top: 16px; font-size: 14px; color: #655b60; }
.home-page .destination-credits summary { width: fit-content; padding: 8px 0; cursor: pointer; }
.home-page .destination-credits ul { margin: 8px 0; padding-left: 20px; }
.home-page .destination-credits li { margin: 6px 0; }
.home-page .destination-credits a { text-decoration: underline; text-underline-offset: 3px; }
.home-page .destination-credits p { margin: 8px 0 0; }

@media (min-width: 901px) and (max-width: 1120px) {
  .home-page .search-zone .field { padding-left: 10px; }
  .home-page .field > .home-search-icon { display: none; }
}
@media (max-width: 900px) {
  .home-page .hero-grid { gap: 24px !important; padding: 30px 0 32px; }
  .home-page .hero-copy { padding: 0 12px; text-align: center; }
  .home-page .hero h1 { font-size: clamp(38px, 6.5vw, 56px); }
  .home-page .mosaic { width: min(520px, 100%); height: 310px; margin: 0 auto; }
  .home-page .search-zone form { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px 0; padding: 16px; }
  .home-page .search-zone .field { border-bottom: 1px solid #e4dfe1; padding-bottom: 8px; }
  .home-page .search-zone .field:nth-child(even) { border-right: 0; }
  .home-page .search-zone button[type="submit"] { grid-column: 1 / -1; width: 100%; min-height: 54px; margin: 0; }
  .home-page .home-trust > span { gap: 10px; padding: 0 10px; }
  .home-page .home-trust svg { width: 32px; height: 32px; }
}
@media (max-width: 620px) {
  .home-page header + main { padding-top: 0 !important; }
  .home-page .top { font-size: 10px; padding: 7px 10px; }
  .home-page .hero-grid { padding: 28px 0 28px; gap: 24px !important; }
  .home-page .hero-copy { padding: 0; }
  .home-page .hero .eyebrow { font-size: 11px; }
  .home-page .hero h1 { font-size: clamp(30px, 7.7vw, 46px) !important; margin: 14px 0 16px; overflow-wrap: normal; }
  .home-page .hero p { max-width: 290px; margin: auto; font-size: 16px; }
  .home-page .mosaic { width: min(380px, 100%); height: 220px; }
  .home-page .tile { border-width: 4px; border-radius: 18px; }
  .home-page .search-zone form { padding: 14px 10px; border-radius: 18px; }
  .home-page .search-zone .field { padding: 4px 8px 8px; }
  .home-page .search-zone .field:first-child { grid-column: 1 / -1; border-right: 0; }
  .home-page .search-zone .field:nth-child(2) { border-right: 1px solid #e4dfe1; }
  .home-page .search-zone .field:nth-child(3) { border-right: 0; }
  .home-page .search-zone .field:nth-child(4) { display: block; grid-column: 1 / -1; }
  .home-page .field > .home-search-icon { display: none; }
  .home-page .search-zone input,
  .home-page .search-zone select { min-height: 38px; font-size: 16px; }
  .home-page .home-trust { gap: 8px; margin-top: 24px; }
  .home-page .home-trust > span { flex-direction: column; gap: 8px; padding: 0 8px; font-size: 11px; text-align: center; }
  .home-page .home-trust svg { width: 30px; height: 30px; }
  .home-page .destination-discovery { padding-top: 36px !important; }
}
