.homepage-redesign {
  --home-navy: #102942;
  --home-navy-2: #173b5b;
  --home-blue: #30619f;
  --home-mist: #eef3f6;
  --home-warm: #b98a45;
  --home-warm-soft: #e6d6bc;
  --home-ink: #17263a;
  --home-body: #445569;
  --home-line: #dce3e8;
  --home-max: 1480px;
  --home-serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --home-sans: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  margin: 0;
  background: #fff;
  color: var(--home-ink);
  font: 16px/1.55 var(--home-sans);
  -webkit-font-smoothing: antialiased;
}

.homepage-redesign ::selection {
  background: #d8c5a4;
  color: var(--home-navy);
}

.homepage-redesign main {
  overflow: hidden;
}

.homepage-redesign .home-v59,
.homepage-redesign .home-v59 *,
.homepage-redesign .home-v59 *::before,
.homepage-redesign .home-v59 *::after,
.homepage-redesign .homepage-footer,
.homepage-redesign .homepage-footer *,
.homepage-redesign .homepage-footer *::before,
.homepage-redesign .homepage-footer *::after {
  box-sizing: border-box;
}

.homepage-redesign .home-v59 img {
  display: block;
  max-width: 100%;
  height: auto;
}

.homepage-redesign .home-v59 figure,
.homepage-redesign .home-v59 p,
.homepage-redesign .home-v59 h1,
.homepage-redesign .home-v59 h2,
.homepage-redesign .home-v59 h3 {
  margin-top: 0;
}

.homepage-redesign .home-v59 a {
  color: inherit;
  text-decoration: none;
}

.homepage-redesign .home-v59 a:focus-visible,
.homepage-redesign .home-v59 button:focus-visible,
.homepage-redesign .homepage-footer a:focus-visible,
.homepage-redesign .homepage-footer button:focus-visible {
  outline: 3px solid rgba(185, 138, 69, .62);
  outline-offset: 4px;
}

.homepage-redesign .shell {
  width: min(var(--home-max), calc(100% - 64px));
  margin-inline: auto;
}

.homepage-redesign .home-v59 h1,
.homepage-redesign .home-v59 h2,
.homepage-redesign .home-v59 h3 {
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-weight: 400;
}

.homepage-redesign .home-v59 h2 {
  font-size: clamp(2.05rem, 2.7vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -.012em;
}

.homepage-redesign .home-v59 h3 {
  font-size: 1.35rem;
  line-height: 1.18;
}

.homepage-redesign .eyebrow {
  margin-bottom: .35rem;
  color: #8d6735;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.homepage-redesign .home-link {
  display: inline-flex;
  gap: .55rem;
  align-items: center;
  color: var(--home-blue) !important;
  font-weight: 700;
}

.homepage-redesign .home-link::after {
  content: "→";
  color: #9a7547;
  transition: transform .2s cubic-bezier(.2, .72, .2, 1), color .18s ease;
}

.homepage-redesign .home-link:hover,
.homepage-redesign .home-link:focus-visible {
  color: #755735 !important;
}

.homepage-redesign .home-link:hover::after,
.homepage-redesign .home-link:focus-visible::after {
  color: #755735;
  transform: translateX(4px);
}

.homepage-redesign .home-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .82rem 1.28rem;
  border: 1px solid var(--home-navy);
  background: var(--home-navy);
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .01em;
  transition: background-color .2s ease, transform .2s ease;
}

.homepage-redesign .home-button:hover {
  background: var(--home-blue);
}

.homepage-redesign .home-button:active {
  transform: translateY(1px);
}

/* Shared production header, restyled only on the homepage. */
.homepage-redesign .site-header {
  position: relative;
  z-index: 1030;
  border-bottom: 1px solid var(--home-line);
  background: #fff;
  box-shadow: 0 1px 0 rgba(16, 41, 66, .04);
  color: var(--home-navy);
  font-family: var(--home-sans);
}

.homepage-redesign .site-header__inner {
  width: min(var(--home-max), calc(100% - 64px));
  min-height: 80px;
  padding: 0;
}

.homepage-redesign .site-header__brand {
  padding-block: .35rem;
}

.homepage-redesign .site-header__brand img {
  width: 172px;
  height: auto;
}

.homepage-redesign .site-header__menu {
  margin-left: clamp(1.25rem, 2.5vw, 3rem);
}

.homepage-redesign .site-header__nav {
  gap: clamp(.55rem, 1.2vw, 1.45rem);
}

.homepage-redesign .site-header__nav-link {
  position: relative;
  min-height: 80px;
  padding: 0 .2rem;
  color: var(--home-navy);
  font-size: .9rem;
  font-weight: 700;
}

.homepage-redesign .site-header__nav-link::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 19px;
  left: 50%;
  height: 1px;
  background: var(--home-warm);
  transition: right .2s ease, left .2s ease;
}

.homepage-redesign .site-header__nav-link:hover,
.homepage-redesign .site-header__nav-link:focus-visible {
  color: #755735;
}

.homepage-redesign .site-header__nav-link:hover::after,
.homepage-redesign .site-header__nav-link:focus-visible::after {
  right: 16%;
  left: 16%;
}

.homepage-redesign .site-header__dropdown-toggle {
  width: 2rem;
  min-height: 80px;
  color: #8e6c45;
}

.homepage-redesign .site-header__submenu {
  top: calc(100% - 8px);
  min-width: 230px;
  padding: 12px;
  border: 1px solid var(--home-line);
  background: #fff;
  box-shadow: 0 20px 54px rgba(16, 41, 66, .08);
}

.homepage-redesign .site-header__submenu a {
  position: relative;
  min-height: 0;
  padding: 9px 10px;
  color: var(--home-navy);
  font-size: .9rem;
  font-weight: 600;
}

.homepage-redesign .site-header__submenu a:hover,
.homepage-redesign .site-header__submenu a:focus-visible {
  padding-left: 18px;
  background: #faf8f4;
  color: var(--home-blue);
}

.homepage-redesign .site-header__contact {
  padding-left: 20px;
}

.homepage-redesign .site-header__phone-desktop {
  min-height: auto;
  padding: 0 0 0 20px;
  border: 0;
  border-left: 1px solid var(--home-warm-soft);
  background: transparent;
  color: var(--home-navy);
}

.homepage-redesign .site-header__phone-desktop span {
  color: #8d6735;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.homepage-redesign .site-header__phone-desktop strong {
  font-family: var(--home-serif);
  font-size: 1.08rem;
  font-weight: 400;
}

/* Hero */
.homepage-redesign .hero {
  position: relative;
  min-height: 455px;
  overflow: hidden;
  border-bottom: 1px solid var(--home-line);
  background: #fff;
}

.homepage-redesign .hero-grid {
  position: relative;
  display: block;
  width: min(1500px, calc(100% - 64px));
  min-height: 455px;
  margin-inline: auto;
}

.homepage-redesign .hero-copy {
  position: relative;
  z-index: 4;
  display: flex;
  width: 43%;
  min-width: 500px;
  min-height: 455px;
  align-items: center;
  padding: 38px 36px 40px 0;
}

.homepage-redesign .hero-copy-inner {
  width: 100%;
  max-width: 650px;
}

.homepage-redesign .hero-title {
  max-width: 640px;
  margin-bottom: 0;
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-size: clamp(2.72rem, 3.04vw, 3.58rem);
  font-weight: 400;
  font-kerning: normal;
  line-height: 1.09;
  letter-spacing: -.014em;
  text-rendering: optimizeLegibility;
}

.homepage-redesign .hero-title span {
  display: block;
  white-space: nowrap;
}

.homepage-redesign .hero-title .hero-place {
  display: inline;
}

.homepage-redesign .hero-title span + span {
  margin-top: .105em;
}

.homepage-redesign .hero-title::after {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-top: 21px;
  background: var(--home-warm);
}

.homepage-redesign .hero-lead {
  max-width: 535px;
  margin: 21px 0 22px;
  color: var(--home-body);
  font-size: 1.045rem;
  line-height: 1.64;
}

.homepage-redesign .hero-actions {
  display: flex;
  gap: 18px;
  align-items: stretch;
  flex-wrap: wrap;
}

.homepage-redesign .trust {
  display: grid;
  min-width: 240px;
  max-width: 295px;
  align-content: center;
  padding-left: 17px;
  border-left: 2px solid var(--home-warm-soft);
}

.homepage-redesign .trust strong {
  color: var(--home-navy);
  font-size: .96rem;
}

.homepage-redesign .trust small {
  color: var(--home-body);
  font-size: .88rem;
  line-height: 1.45;
}

.homepage-redesign .hero-image {
  --redesign-hero-fade-secondary: linear-gradient(0deg, rgba(16,41,66,.035), transparent 28%);
  position: absolute;
  z-index: 0;
  inset: 0 0 0 25%;
  min-height: 455px;
  margin: 0;
  overflow: hidden;
  background: #e9eef1;
}

.homepage-redesign .hero-image picture,
.homepage-redesign .hero-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.homepage-redesign .hero-image img {
  min-height: 455px;
  object-fit: cover;
  object-position: center 52%;
  filter: saturate(.97) contrast(1.018) brightness(1.01);
}

.homepage-redesign .hero-image::after {
  content: "";
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--home-warm) 0 10%, rgba(180,134,69,.13) 10% 100%);
  pointer-events: none;
}

.homepage-redesign .hero-image-fade {
  display: none;
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}

/* Fast paths */
.homepage-redesign .fastpaths {
  border-bottom: 1px solid var(--home-line);
  background: #fff;
}

.homepage-redesign .fast-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.homepage-redesign .fast-item {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 112px;
  margin-right: 28px;
  padding: 22px 28px 22px 16px;
  overflow: visible;
  background-color: #fff;
}

.homepage-redesign .fast-item:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 22px;
  right: 0;
  bottom: 22px;
  width: 1px;
  background: var(--home-line);
}

.homepage-redesign .fast-num,
.homepage-redesign .fast-title,
.homepage-redesign .fast-copy {
  position: relative;
  z-index: 1;
  display: block;
}

.homepage-redesign .fast-num {
  margin-bottom: 6px;
  color: #8c98a2;
  font-family: var(--home-serif);
  font-size: .98rem;
  line-height: 1.6;
}

.homepage-redesign .fast-title {
  color: var(--home-navy);
  font-size: 1.04rem;
  font-weight: 750;
  letter-spacing: -.01em;
  line-height: 1.3;
}

.homepage-redesign .fast-copy {
  max-width: 29ch;
  margin-top: .38rem;
  color: var(--home-body);
  font-size: .92rem;
  line-height: 1.52;
}

.homepage-redesign .fast-arrow {
  position: absolute;
  z-index: 1;
  top: 25px;
  right: 14px;
  color: #7f8c97;
  font-size: 1.2rem;
  transition: color .18s ease, transform .2s ease;
}

.homepage-redesign .fast-item:focus-visible {
  outline: 1px solid rgba(180,134,69,.5);
  outline-offset: -5px;
}

@media (hover: hover) and (pointer: fine) {
  .homepage-redesign .fast-item::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    filter: saturate(.7) contrast(.94);
    transform: scale(1.018);
    transition: opacity .28s ease, transform .42s cubic-bezier(.2, .72, .2, 1);
    pointer-events: none;
  }

  .homepage-redesign .fast-item:nth-child(1)::before { background-image: url("../images/homepage/shortcuts/discover-nice-480x320.jpg"); background-image: image-set(url("../images/homepage/shortcuts/discover-nice-480x320.webp") 1x, url("../images/homepage/shortcuts/discover-nice-960x640.webp") 2x); background-position: center 45%; }
  .homepage-redesign .fast-item:nth-child(2)::before { background-image: url("../images/homepage/shortcuts/find-property-480x320.jpg"); background-image: image-set(url("../images/homepage/shortcuts/find-property-480x320.webp") 1x, url("../images/homepage/shortcuts/find-property-960x640.webp") 2x); background-position: center 52%; }
  .homepage-redesign .fast-item:nth-child(3)::before { background-image: url("../images/homepage/shortcuts/buyer-guide-480x233.jpg"); background-image: image-set(url("../images/homepage/shortcuts/buyer-guide-480x233.webp") 1x, url("../images/homepage/shortcuts/buyer-guide-960x467.webp") 2x); background-position: center 48%; }
  .homepage-redesign .fast-item:nth-child(4)::before { background-image: url("../images/homepage/shortcuts/why-med-in-heaven-480x270.jpg"); background-image: image-set(url("../images/homepage/shortcuts/why-med-in-heaven-480x270.webp") 1x, url("../images/homepage/shortcuts/why-med-in-heaven-960x540.webp") 2x); background-position: center 48%; }

  .homepage-redesign .fast-item:hover::before,
  .homepage-redesign .fast-item:focus-visible::before {
    opacity: .17;
    transform: scale(1);
  }

  .homepage-redesign .fast-item:hover,
  .homepage-redesign .fast-item:focus-visible {
    background-color: rgba(255,255,255,.92);
    box-shadow: inset 1px 0 0 rgba(180,134,69,.55);
  }

  .homepage-redesign .fast-item:hover .fast-arrow,
  .homepage-redesign .fast-item:focus-visible .fast-arrow {
    color: #8e6d48;
    transform: translateX(2px);
  }
}

/* Latest properties, News, and video */
.homepage-redesign .section {
  padding: 64px 0;
}

.homepage-redesign .section-head {
  display: flex;
  gap: 28px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 25px;
}

.homepage-redesign .section-head .home-link {
  flex: 0 0 auto;
  max-width: 245px;
  font-size: .92rem;
  line-height: 1.35;
}

.homepage-redesign .section-head .latest-properties-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 245px;
  max-width: 100%;
  align-items: center;
  padding: .72rem 0;
  border-block: 1px solid var(--home-line);
  transition: border-color .2s ease;
}

.homepage-redesign .latest-properties-cta__text > span {
  display: block;
}

.homepage-redesign .section-head .latest-properties-cta:hover,
.homepage-redesign .section-head .latest-properties-cta:focus-visible {
  border-block-color: var(--home-warm);
}

.homepage-redesign #latest-properties {
  max-width: 760px;
  margin-bottom: 0;
  font-size: clamp(2.2rem, 2.55vw, 2.85rem);
}

.homepage-redesign .fresh-grid {
  display: grid;
  grid-template-columns: minmax(0, 3.2fr) minmax(330px, .9fr);
  gap: 46px;
}

.homepage-redesign .property-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 18px;
  align-items: start;
}

.homepage-redesign .property {
  position: relative;
  padding-bottom: 18px;
}

.homepage-redesign .property__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.homepage-redesign .property__link:focus-visible {
  outline: 3px solid var(--home-warm);
  outline-offset: 4px;
}

.homepage-redesign .property::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #d8e0e6;
  transition: background-color .2s ease;
}

.homepage-redesign .property-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1.46 / 1;
  background: #e9eef1;
}

.homepage-redesign .property-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.homepage-redesign .property-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  background: linear-gradient(0deg, rgba(15,41,65,.16), transparent 50%);
  opacity: 0;
  transition: opacity .24s ease, border-color .22s ease;
  pointer-events: none;
}

.homepage-redesign .property-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.96) contrast(1.025);
  transition: filter .24s ease, transform .34s cubic-bezier(.2, .72, .2, 1);
}

.homepage-redesign .property--linked:hover .property-media::after,
.homepage-redesign .property--linked:focus-within .property-media::after {
  border-color: rgba(180,134,69,.62);
  opacity: 1;
}

.homepage-redesign .property--linked:hover .property-media img,
.homepage-redesign .property--linked:focus-within .property-media img {
  filter: saturate(1.02) contrast(1.035);
  transform: scale(1.018);
}

.homepage-redesign .property--linked:hover::after,
.homepage-redesign .property--linked:focus-within::after {
  background: var(--home-warm);
}

.homepage-redesign .property-primary-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .3rem .65rem;
  margin: 12px 0 0;
}

.homepage-redesign .property-price {
  margin: 0;
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-size: 1.3rem;
  font-weight: 620;
  white-space: nowrap;
  transition: color .2s ease;
}

.homepage-redesign .home-v59 .property-area {
  flex: 1 1 7rem;
  min-width: 0;
  margin: 0;
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  overflow-wrap: anywhere;
  transition: color .2s ease;
}

.homepage-redesign .property--linked:hover .property-price,
.homepage-redesign .property--linked:focus-within .property-price {
  color: var(--home-warm);
}

.homepage-redesign .property--linked:hover .property-area,
.homepage-redesign .property--linked:focus-within .property-area {
  color: var(--home-blue);
}

.homepage-redesign .property-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .15rem .55rem;
  min-width: 0;
  margin: 5px 0 0;
}

.homepage-redesign .property-meta {
  flex: 0 1 auto;
  max-width: 100%;
  margin: 0 0 0 auto;
  color: #536577;
  font-size: 1.02rem;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.35;
  text-align: right;
}

.homepage-redesign .property-meta__separator {
  margin: 0 .28rem;
}

.homepage-redesign .property-date {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: .34rem;
  max-width: 100%;
  margin-left: auto;
}

.homepage-redesign .property-date--recent::before {
  content: "";
  width: .28rem;
  height: .28rem;
  flex: none;
  align-self: center;
  background: var(--home-warm);
  transform: rotate(45deg);
}

.homepage-redesign .property-published {
  color: #596a7a;
  font: 550 .88rem/1.2 var(--home-serif);
  white-space: nowrap;
}

.homepage-redesign .property-date--recent .property-published {
  color: #596a7a;
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 600;
}

.homepage-redesign .fresh-aside {
  padding-left: 30px;
  border-left: 1px solid var(--home-line);
}

.homepage-redesign .news-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.homepage-redesign .news-heading h2,
.homepage-redesign .video-box h2 {
  margin-bottom: 0;
  font-size: 2rem;
}

.homepage-redesign .news-heading .home-link,
.homepage-redesign .news-item .home-link {
  font-size: .86rem;
}

.homepage-redesign .news-item {
  position: relative;
  padding: 15px 0;
  border-top: 1px solid var(--home-line);
}

.homepage-redesign .news-item:first-of-type {
  border-top: 2px solid var(--home-warm);
}

.homepage-redesign .news-date {
  color: #9c633d;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.homepage-redesign .news-item h3 {
  margin: 7px 0 4px;
  font-family: var(--home-sans);
  font-size: .96rem;
  font-weight: 750;
  line-height: 1.4;
}

.homepage-redesign .news-copy,
.homepage-redesign .news-copy p {
  margin: 5px 0;
  color: var(--home-body);
  font-size: .87rem;
  line-height: 1.55;
}

.homepage-redesign .video-box {
  margin-top: 27px;
  padding-top: 25px;
  border-top: 1px solid var(--home-line);
}

.homepage-redesign .video-box-head {
  margin-bottom: 16px;
}

.homepage-redesign .video-card {
  display: block;
  overflow: hidden;
  border-top: 3px solid var(--home-warm);
  background: #fff;
}

.homepage-redesign .video-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.homepage-redesign .video-media picture,
.homepage-redesign .video-media img {
  width: 100%;
  height: 100%;
}

.homepage-redesign .video-media img {
  object-fit: cover;
  filter: saturate(.96) contrast(1.025);
  transition: filter .18s ease;
}

.homepage-redesign .video-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(15,41,65,.08), transparent 45%);
  pointer-events: none;
}

.homepage-redesign .play {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 50%;
  background: rgba(16,41,66,.72);
  color: #fff;
  transform: translate(-50%, -50%);
}

.homepage-redesign .play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid currentColor;
}

.homepage-redesign .video-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border: 1px solid #d8e0e6;
  border-top: 0;
  color: var(--home-navy);
  font-size: .9rem;
  font-weight: 700;
}

/* Buyer guide */
.homepage-redesign .guide-wrap {
  padding: 46px 0;
  border-block: 1px solid var(--home-line);
  background: #f6f8f9;
}

.homepage-redesign .guide-grid {
  display: grid;
  grid-template-columns: minmax(290px, .72fr) minmax(0, 1.4fr);
  min-height: 540px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(16,41,66,.05);
}

.homepage-redesign .guide-intro {
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 45px 36px 250px;
  background: linear-gradient(180deg, #faf7f1 0%, #f7f2e9 62%, #f5efe5 100%);
}

.homepage-redesign .guide-intro > :not(.guide-photo) {
  position: relative;
  z-index: 3;
}

.homepage-redesign .guide-intro h2 {
  margin-bottom: 13px;
  font-size: clamp(2.2rem, 2.65vw, 2.85rem);
}

.homepage-redesign .guide-intro > p:not(.eyebrow) {
  max-width: 390px;
  margin-bottom: 16px;
  color: var(--home-body);
  font-size: 1.01rem;
  line-height: 1.62;
}

.homepage-redesign .guide-intro > .home-link {
  align-self: flex-start;
  font-size: .94rem;
}

.homepage-redesign .guide-photo {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 255px;
  margin: 0;
  overflow: hidden;
  background: #e5ddd1;
}

.homepage-redesign .guide-photo picture,
.homepage-redesign .guide-photo img {
  width: 100%;
  height: 100%;
}

.homepage-redesign .guide-photo img {
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.92) contrast(1.025) brightness(1.02);
  transform: scale(1.015);
}

.homepage-redesign .guide-photo::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(180deg, #f7f2e9 0%, rgba(247,242,233,.94) 12%, rgba(247,242,233,.58) 29%, rgba(247,242,233,.14) 50%, transparent 68%), linear-gradient(90deg, rgba(247,242,233,.3), transparent 52%);
  pointer-events: none;
}

.homepage-redesign .guide-content {
  padding: 38px 44px 38px 48px;
}

.homepage-redesign .guide-columns {
  display: grid;
  grid-template-columns: 1.3fr .85fr .85fr;
  gap: 30px;
}

.homepage-redesign .guide-block {
  min-height: 205px;
  padding-right: 22px;
  border-right: 1px solid var(--home-line);
}

.homepage-redesign .guide-block:last-child {
  padding-right: 0;
  border-right: 0;
}

.homepage-redesign .guide-label {
  margin-bottom: 0;
  color: #8d6735;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.homepage-redesign .guide-block h3 {
  margin: 8px 0 9px;
  font-size: 1.6rem;
}

.homepage-redesign .guide-block > p:not(.guide-label) {
  max-width: 34ch;
  color: var(--home-body);
  font-size: .9rem;
}

.homepage-redesign .guide-links {
  display: grid;
  gap: 7px;
  margin-top: 15px;
}

.homepage-redesign .guide-links a {
  display: inline-flex;
  gap: .42rem;
  width: max-content;
  max-width: 100%;
  align-items: center;
  color: #315f8f;
  font-size: .94rem;
  font-weight: 700;
  line-height: 1.45;
}

.homepage-redesign .guide-links a::after {
  content: "→";
  flex: 0 0 auto;
  color: #9a7547;
  transition: transform .2s ease;
}

.homepage-redesign .guide-links a:hover::after,
.homepage-redesign .guide-links a:focus-visible::after {
  transform: translateX(4px);
}

.homepage-redesign .calcs {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--home-line);
}

.homepage-redesign .calcs-head h3 {
  margin-bottom: 0;
  font-size: 1.55rem;
}

.homepage-redesign .calcs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 20px;
}

.homepage-redesign .calc-dest {
  position: relative;
  display: block;
  min-height: 132px;
  padding: 18px 18px 16px;
  border-top: 3px solid #d5b170;
  background: #f7f9fa;
  box-shadow: inset 0 0 0 1px #e0e6eb;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.homepage-redesign .calc-dest strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--home-navy);
  font-size: 1.02rem;
  line-height: 1.35;
}

.homepage-redesign .calc-dest strong::after {
  content: "→";
  color: var(--home-blue);
}

.homepage-redesign .calc-dest ul {
  margin: 11px 0 0;
  padding: 0;
  color: var(--home-body);
  font-size: .84rem;
  list-style: none;
}

.homepage-redesign .calc-dest li + li {
  margin-top: 4px;
}

.homepage-redesign .calc-dest:hover,
.homepage-redesign .calc-dest:focus-visible {
  border-top-color: var(--home-warm);
  background: #fff;
  box-shadow: 0 12px 26px rgba(16,41,66,.09), inset 0 0 0 1px #dce4e9;
  transform: translateY(-2px);
}

/* Discover Nice and areas */
.homepage-redesign .nice-section {
  padding-top: 58px;
  padding-bottom: 46px;
}

.homepage-redesign .nice-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 54px;
  align-items: start;
}

.homepage-redesign .nice-photo {
  position: relative;
  isolation: isolate;
  margin: 2px 0 0;
  overflow: visible;
}

.homepage-redesign .nice-photo::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 16px -16px -16px 16px;
  border: 1px solid rgba(180,134,69,.48);
  background: #eee5d7;
  box-shadow: 0 16px 34px rgba(16,41,66,.08);
}

.homepage-redesign .nice-photo::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border: 1px solid rgba(16,41,66,.32);
  box-shadow: inset 0 -2px 0 rgba(180,134,69,.5), 0 12px 28px rgba(16,41,66,.08);
  pointer-events: none;
}

.homepage-redesign .nice-photo picture,
.homepage-redesign .nice-photo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
}

.homepage-redesign .nice-photo img {
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.98) contrast(1.035) brightness(1.01);
}

.homepage-redesign .nice-copy {
  padding-top: 2px;
}

.homepage-redesign #discover-heading {
  margin: 7px 0 18px;
  font-size: clamp(2.5rem, 3.05vw, 3.35rem);
}

.homepage-redesign .nice-copy > p:not(.eyebrow) {
  max-width: 60ch;
  margin-bottom: .9rem;
  color: var(--home-body);
  font-size: 1.02rem;
  line-height: 1.65;
}

.homepage-redesign .nice-copy .home-link {
  margin-top: 8px;
}

.homepage-redesign .areas {
  padding-top: 44px;
  margin-top: 34px;
  border-top: 1px solid var(--home-line);
}

.homepage-redesign .areas-head {
  display: flex;
  gap: 30px;
  align-items: end;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid #d8e0e6;
}

.homepage-redesign #areas-heading {
  margin-bottom: 0;
  font-size: clamp(2.15rem, 2.55vw, 2.75rem);
}

.homepage-redesign .areas-head p {
  max-width: 46ch;
  margin-bottom: 0;
  color: var(--home-body);
  font-size: 1rem;
  line-height: 1.58;
}

.homepage-redesign .area-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
  border-left: 1px solid #cfd8df;
}

.homepage-redesign .area-select {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 118px;
  flex-direction: column;
  overflow: hidden;
  padding: 17px 18px 16px;
  border-right: 1px solid #cfd8df;
  border-bottom: 1px solid #cfd8df;
  background: #fff;
}

.homepage-redesign .area-select::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--home-warm);
  opacity: 0;
  transform: scaleY(.45);
  transition: opacity .18s ease, transform .22s ease;
}

.homepage-redesign .area-select-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.homepage-redesign .area-num {
  color: #9a7446;
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .11em;
}

.homepage-redesign .area-select-arrow {
  color: #8e6c45;
  opacity: .72;
  transition: color .18s ease, opacity .18s ease, transform .2s ease;
}

.homepage-redesign .area-select-title {
  display: block;
  margin: 7px 0 6px;
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-size: 1.22rem;
  line-height: 1.18;
}

.homepage-redesign .area-select-desc {
  display: block;
  max-width: 34ch;
  color: #5d6d7c;
  font-size: .93rem;
  line-height: 1.5;
}

.homepage-redesign .area-select:hover::after,
.homepage-redesign .area-select:focus-visible::after {
  opacity: .78;
  transform: scaleY(1);
}

.homepage-redesign .area-select:hover .area-select-arrow,
.homepage-redesign .area-select:focus-visible .area-select-arrow {
  color: #725432;
  opacity: 1;
  transform: translate(3px, -3px);
}

.homepage-redesign .areas-trust {
  max-width: 860px;
  margin: 24px 0 0;
  padding-left: 14px;
  color: #667584;
  font-size: .94rem;
  line-height: 1.58;
}

.homepage-redesign .home-v59 .area-hover-image {
  display: none;
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: 0;
  filter: saturate(.72) contrast(.94);
  transform: scale(1.018);
  transition: opacity .28s ease, transform .42s cubic-bezier(.2, .72, .2, 1);
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .homepage-redesign .home-v59 .area-hover-image {
    display: block;
  }

  .homepage-redesign .area-select:hover > .area-hover-image,
  .homepage-redesign .area-select:focus-visible > .area-hover-image {
    opacity: .2;
    transform: scale(1);
  }

  .homepage-redesign .area-select > :not(.area-hover-image) {
    position: relative;
    z-index: 1;
  }
}

/* Holiday home / investment */
.homepage-redesign .purpose {
  overflow: hidden;
  border-block: 1px solid #e1d7c6;
  background: #f5f2ec;
}

.homepage-redesign .purpose-grid {
  position: relative;
  isolation: isolate;
  min-height: 370px;
}

.homepage-redesign .purpose-copy {
  position: relative;
  z-index: 2;
  display: grid;
  width: 52%;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-content: center;
  min-height: 370px;
  padding: 42px 72px 42px 0;
}

.homepage-redesign #purpose-heading {
  grid-column: 1 / -1;
  max-width: 590px;
  margin-bottom: -5px;
  font-size: clamp(2.35rem, 2.85vw, 3.05rem);
}

.homepage-redesign .purpose-col {
  display: flex;
  flex-direction: column;
}

.homepage-redesign .purpose-col h3 {
  margin-bottom: 11px;
  font-family: var(--home-sans);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.32;
}

.homepage-redesign .purpose-col p {
  max-width: 35ch;
  color: var(--home-body);
  font-size: .91rem;
  line-height: 1.62;
}

.homepage-redesign .purpose-col .home-link {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 18px;
}

.homepage-redesign .purpose-image {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 39%;
  margin: 0;
}

.homepage-redesign .purpose-image picture,
.homepage-redesign .purpose-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.homepage-redesign .purpose-image img {
  object-fit: cover;
  object-position: center;
  filter: saturate(.97) contrast(1.025) brightness(1.01);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.015) 5%, rgba(0,0,0,.045) 10%, rgba(0,0,0,.1) 16%, rgba(0,0,0,.19) 23%, rgba(0,0,0,.31) 31%, rgba(0,0,0,.46) 39%, rgba(0,0,0,.62) 47%, rgba(0,0,0,.76) 55%, rgba(0,0,0,.87) 63%, rgba(0,0,0,.94) 70%, rgba(0,0,0,.985) 77%, #000 84%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.015) 5%, rgba(0,0,0,.045) 10%, rgba(0,0,0,.1) 16%, rgba(0,0,0,.19) 23%, rgba(0,0,0,.31) 31%, rgba(0,0,0,.46) 39%, rgba(0,0,0,.62) 47%, rgba(0,0,0,.76) 55%, rgba(0,0,0,.87) 63%, rgba(0,0,0,.94) 70%, rgba(0,0,0,.985) 77%, #000 84%);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}

/* Property-search guidance */
.homepage-redesign .search-guide {
  border-bottom: 1px solid var(--home-line);
  background: #fbfaf7;
}

.homepage-redesign .search-row {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: 52px;
  align-items: stretch;
  padding: 46px 0;
}

.homepage-redesign .search-copy h2 {
  max-width: 760px;
  margin-bottom: 12px;
  font-size: 2rem;
}

.homepage-redesign .search-copy p:not(.eyebrow) {
  max-width: 68ch;
  color: var(--home-body);
}

.homepage-redesign .search-actions {
  display: grid;
  min-width: 0;
  border-block: 1px solid #d7dee4;
}

.homepage-redesign .search-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 23px 0 22px 24px;
  border-bottom: 1px solid #d7dee4;
  transition: background-color .18s ease;
}

.homepage-redesign .search-panel:last-child {
  border-bottom: 0;
}

.homepage-redesign .search-panel::before {
  content: "";
  position: absolute;
  top: 23px;
  bottom: 23px;
  left: 0;
  width: 2px;
  background: rgba(180,134,69,.55);
}

.homepage-redesign .search-panel h3 {
  margin-bottom: 8px;
  font-size: 1.34rem;
}

.homepage-redesign .search-panel p {
  max-width: 38ch;
  margin-bottom: 15px;
  color: #5b6b79;
  font-size: .94rem;
  line-height: 1.58;
}

.homepage-redesign .search-panel-cta {
  display: inline-flex;
  gap: .42rem;
  align-self: flex-start;
  align-items: center;
  margin-top: auto;
  color: #315f8f;
  font-size: .92rem;
  font-weight: 700;
}

.homepage-redesign .search-panel-cta::after {
  content: "→";
  color: #9a7547;
  transition: transform .2s ease;
}

.homepage-redesign .search-panel:hover,
.homepage-redesign .search-panel:focus-visible {
  background: #f7f4ee;
}

.homepage-redesign .search-panel:hover .search-panel-cta::after,
.homepage-redesign .search-panel:focus-visible .search-panel-cta::after {
  transform: translateX(4px);
}

/* Why Med in Heaven */
.homepage-redesign .why {
  padding: 52px 0 54px;
}

.homepage-redesign .why-grid {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) 1.3fr;
  gap: 36px;
  align-items: center;
}

.homepage-redesign #why-heading {
  margin-bottom: 14px;
  font-size: clamp(2.25rem, 2.75vw, 3rem);
}

.homepage-redesign .credential {
  max-width: 720px;
  margin-bottom: 12px;
  color: var(--home-navy);
  font-family: var(--home-serif);
  font-size: 1.34rem;
  line-height: 1.3;
}

.homepage-redesign .why-copy > p:not(.eyebrow):not(.credential) {
  color: var(--home-body);
  font-size: .9rem;
}

.homepage-redesign .proofs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 28px;
}

.homepage-redesign .proof {
  min-height: 126px;
  padding: 18px 0;
  border-top: 1px solid var(--home-line);
}

.homepage-redesign .proof h3 {
  margin-bottom: 5px;
  font-family: var(--home-sans);
  font-size: 1.18rem;
  font-weight: 700;
}

.homepage-redesign .proof p {
  max-width: 31rem;
  margin-bottom: 0;
  color: var(--home-body);
  font-size: .84rem;
}

.homepage-redesign .why-assurances {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 132px minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 34px;
  align-items: center;
  margin-top: 38px;
  padding-top: 10px;
  border-bottom: 1px solid #cfd8df;
}

.homepage-redesign .why-assurance-portrait {
  display: flex;
  align-self: start;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
}

.homepage-redesign .why-assurance-portrait picture {
  display: block;
  width: 118px;
  height: 118px;
}

.homepage-redesign .why-assurance-portrait img {
  width: 118px;
  height: 118px;
  padding: 5px;
  border: 1px solid rgba(16,41,66,.18);
  border-radius: 50%;
  background: #f2eee7;
  box-shadow: 0 8px 22px rgba(16,41,66,.08);
  object-fit: contain;
}

.homepage-redesign .why-assurance {
  position: relative;
  display: flex;
  align-self: stretch;
  flex-direction: column;
  padding: 2px 30px 28px 0;
}

.homepage-redesign .why-assurance + .why-assurance {
  padding-right: 0;
  padding-left: 34px;
  border-left: 1px solid #d8e0e6;
}

.homepage-redesign .why-assurance::before {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin-bottom: 14px;
  background: rgba(180,134,69,.72);
}

.homepage-redesign .why-assurance h3 {
  margin-bottom: 9px;
  font-size: 1.42rem;
}

.homepage-redesign .why-assurance p {
  max-width: 58ch;
  margin-bottom: 0;
  color: #566878;
  font-size: .96rem;
  line-height: 1.6;
}

.homepage-redesign .why-assurance-link {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 14px;
  font-size: .94rem;
}

/* Video dialog */
.homepage-redesign .home-video-dialog {
  width: min(980px, calc(100% - 32px));
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--home-ink);
}

.homepage-redesign .home-video-dialog::backdrop {
  background: rgba(10, 28, 45, .82);
}

.homepage-redesign .home-video-dialog-inner {
  background: #fff;
  box-shadow: 0 24px 72px rgba(0,0,0,.34);
}

.homepage-redesign .home-video-dialog-inner > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
}

.homepage-redesign .home-video-dialog h2 {
  margin: 0;
  color: var(--home-navy);
  font: 400 1.5rem/1.2 var(--home-serif);
}

.homepage-redesign .home-video-close {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--home-line);
  background: #fff;
  color: var(--home-navy);
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}

.homepage-redesign .home-video-frame {
  aspect-ratio: 16 / 9;
  background: var(--home-navy);
}

.homepage-redesign .home-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* Frozen homepage footer */
.homepage-redesign .homepage-footer {
  margin-top: 0;
  padding: 50px 0 28px;
  background: var(--home-navy);
  color: #dbe6ef;
  font-family: var(--home-sans);
}

.homepage-redesign .homepage-footer__inner {
  width: min(var(--home-max), calc(100% - 64px));
  margin-inline: auto;
}

.homepage-redesign .homepage-footer__grid {
  display: grid;
  grid-template-columns: 1.35fr 1.25fr 1.15fr 1.15fr .9fr;
  gap: 34px;
}

.homepage-redesign .homepage-footer__brand img {
  width: 165px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: .95;
}

.homepage-redesign .homepage-footer__brand p {
  max-width: 260px;
  margin: 14px 0 0;
  color: #b8c9d7;
  font-size: .8rem;
}

.homepage-redesign .homepage-footer__phone {
  display: inline-block;
  margin: 7px 0;
  color: #fff;
  font-family: var(--home-serif);
  font-size: 1.15rem;
  text-decoration: none;
}

.homepage-redesign .homepage-footer__group h2 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: #fff;
  font-family: var(--home-sans);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.homepage-redesign .homepage-footer__group .homepage-footer__secondary-heading {
  margin-top: 24px;
}

.homepage-redesign .homepage-footer__links {
  display: grid;
  gap: 7px;
  font-size: .8rem;
}

.homepage-redesign .homepage-footer__links a,
.homepage-redesign .homepage-footer__preferences {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #dbe6ef;
  font: inherit;
  text-align: left;
  text-decoration: none;
}

.homepage-redesign .homepage-footer__preferences {
  cursor: pointer;
}

.homepage-redesign .homepage-footer__links a:hover,
.homepage-redesign .homepage-footer__links a:focus-visible,
.homepage-redesign .homepage-footer__preferences:hover,
.homepage-redesign .homepage-footer__preferences:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.homepage-redesign .homepage-footer__bottom {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.15);
  color: #aebfcd;
  font-size: .72rem;
}

@media (max-width: 1180px) {
  .homepage-redesign .site-header__inner,
  .homepage-redesign .hero-grid { width: calc(100% - 40px); }
  .homepage-redesign .site-header__menu { margin-left: .8rem; }
  .homepage-redesign .site-header__nav { gap: .35rem; }
  .homepage-redesign .site-header__contact { padding-left: .65rem; }
  .homepage-redesign .hero-grid,
  .homepage-redesign .hero-copy,
  .homepage-redesign .hero-image,
  .homepage-redesign .hero-image img { min-height: 420px; }
  .homepage-redesign .hero-image { left: 27%; }
  .homepage-redesign .hero-copy { width: 47%; min-width: 440px; padding: 34px 28px 36px 0; }
  .homepage-redesign .hero-title { max-width: 555px; font-size: clamp(2.48rem, 3.28vw, 3.08rem); }
  .homepage-redesign .hero-title span { white-space: normal; }
  .homepage-redesign .property-grid { grid-template-columns: repeat(2, 1fr); }
  .homepage-redesign .fresh-grid { grid-template-columns: minmax(0, 2.4fr) minmax(300px, .9fr); }
  .homepage-redesign .guide-grid { grid-template-columns: minmax(260px, .68fr) minmax(0, 1.72fr); }
  .homepage-redesign .guide-columns { grid-template-columns: 1fr 1fr; }
  .homepage-redesign .guide-block:first-child { grid-column: 1 / -1; min-height: 0; padding-bottom: 20px; border-right: 0; border-bottom: 1px solid var(--home-line); }
  .homepage-redesign .homepage-footer__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 980px) {
  .homepage-redesign .site-header__inner { width: calc(100% - 40px); min-height: 68px; padding-block: .45rem; }
  .homepage-redesign .site-header__brand img { width: 160px; }
  .homepage-redesign .site-header__compact-actions { gap: .55rem; }
  .homepage-redesign .site-header__call-mobile { border-color: var(--home-navy); color: var(--home-navy); }
  .homepage-redesign .site-header__menu-toggle { border-color: var(--home-line); color: var(--home-navy); }
  .homepage-redesign .site-header__menu { margin: .5rem 0 0; }
  .homepage-redesign .site-header__nav-link { min-height: 48px; padding: .8rem .35rem; font-size: 1rem; }
  .homepage-redesign .site-header__nav-link::after { display: none; }
  .homepage-redesign .site-header__dropdown-toggle { min-height: 48px; }
  .homepage-redesign .site-header__submenu { padding-left: 1rem; box-shadow: none; }
  .homepage-redesign .site-header__phone-menu { color: var(--home-blue); }
}

@media (max-width: 1000px) {
  .homepage-redesign .search-row { grid-template-columns: minmax(0, 1fr) minmax(285px, .72fr); gap: 38px; }
}

@media (max-width: 900px) {
  .homepage-redesign .shell { width: min(100% - 40px, var(--home-max)); }
  .homepage-redesign .section { padding: 52px 0; }
  .homepage-redesign .hero { min-height: 0; }
  .homepage-redesign .hero-grid { width: 100%; min-height: 0; }
  .homepage-redesign .hero-copy { width: 100%; min-width: 0; min-height: 0; padding: 48px 20px 40px; background: #fff; }
  .homepage-redesign .hero-copy-inner { max-width: 700px; margin-inline: auto; }
  .homepage-redesign .hero-title { max-width: 665px; font-size: clamp(2.52rem, 6.45vw, 3.22rem); }
  .homepage-redesign .hero-title span { white-space: normal; }
  .homepage-redesign .hero-image { position: relative; inset: auto; min-height: 0; }
  .homepage-redesign .hero-image picture,
  .homepage-redesign .hero-image img { min-height: 0; aspect-ratio: 2 / 1; }
  .homepage-redesign .hero-image::before { content: ""; background-image: linear-gradient(0deg, rgba(16,41,66,.055), transparent 30%); }
  .homepage-redesign .fast-grid { grid-template-columns: 1fr 1fr; }
  .homepage-redesign .fast-item { margin-right: 0; }
  .homepage-redesign .fast-item:nth-child(odd)::after { display: block; }
  .homepage-redesign .fast-item:nth-child(even)::after { display: none; }
  .homepage-redesign .fast-item:nth-child(n + 3) { border-top: 1px solid var(--home-line); }
  .homepage-redesign .fresh-grid { grid-template-columns: 1fr; gap: 30px; }
  .homepage-redesign .fresh-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; padding: 30px 0 0; border-top: 1px solid var(--home-line); border-left: 0; }
  .homepage-redesign .video-box { margin: 0; padding: 0; border: 0; }
  .homepage-redesign .guide-grid { display: block; }
  .homepage-redesign .guide-intro { padding-bottom: 300px; }
  .homepage-redesign .guide-photo { height: 305px; }
  .homepage-redesign .guide-content { padding: 42px 0; }
  .homepage-redesign .nice-grid { grid-template-columns: 1fr; gap: 34px; }
  .homepage-redesign .nice-photo { order: 2; }
  .homepage-redesign .nice-photo::before { inset: 11px -11px -11px 11px; }
  .homepage-redesign #discover-heading { font-size: clamp(2.35rem, 5.8vw, 3rem); }
  .homepage-redesign .area-grid { grid-template-columns: 1fr 1fr; }
  .homepage-redesign .purpose-grid { display: block; }
  .homepage-redesign .purpose-copy { width: 100%; min-height: 0; padding: 44px 0; }
  .homepage-redesign #purpose-heading { font-size: clamp(2.2rem, 5.6vw, 2.8rem); }
  .homepage-redesign .purpose-col .home-link { margin-top: 16px; padding-top: 0; }
  .homepage-redesign .purpose-image { position: relative; inset: auto; width: 100%; height: 360px; overflow: hidden; }
  .homepage-redesign .purpose-image img { -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.025) 6%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.18) 21%, rgba(0,0,0,.33) 30%, rgba(0,0,0,.5) 39%, rgba(0,0,0,.67) 48%, rgba(0,0,0,.81) 57%, rgba(0,0,0,.91) 65%, rgba(0,0,0,.97) 72%, #000 80%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.025) 6%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.18) 21%, rgba(0,0,0,.33) 30%, rgba(0,0,0,.5) 39%, rgba(0,0,0,.67) 48%, rgba(0,0,0,.81) 57%, rgba(0,0,0,.91) 65%, rgba(0,0,0,.97) 72%, #000 80%); }
  .homepage-redesign .why-grid { grid-template-columns: 1fr; }
  .homepage-redesign .proofs { margin-top: 24px; }
  .homepage-redesign .why-assurances { grid-template-columns: 104px 1fr 1fr; gap: 0 24px; }
  .homepage-redesign .why-assurance-portrait picture,
  .homepage-redesign .why-assurance-portrait img { width: 92px; height: 92px; }
  .homepage-redesign .why-assurance { padding-right: 22px; }
  .homepage-redesign .why-assurance + .why-assurance { padding-left: 24px; }
}

@media (max-width: 820px) {
  .homepage-redesign .search-row { grid-template-columns: 1fr; gap: 28px; }
  .homepage-redesign .search-actions { grid-template-columns: 1fr 1fr; border-inline: 1px solid #d7dee4; }
  .homepage-redesign .search-panel { min-height: 100%; padding: 21px 20px 20px 23px; border-right: 1px solid #d7dee4; border-bottom: 0; }
  .homepage-redesign .search-panel:last-child { border-right: 0; }
}

@media (max-width: 700px) {
  .homepage-redesign .why-assurances { grid-template-columns: 88px 1fr; gap: 0 18px; align-items: start; }
  .homepage-redesign .why-assurance-portrait { grid-row: 1 / span 2; }
  .homepage-redesign .why-assurance-portrait picture,
  .homepage-redesign .why-assurance-portrait img { width: 78px; height: 78px; }
  .homepage-redesign .why-assurance { padding: 0 0 22px; }
  .homepage-redesign .why-assurance + .why-assurance { padding: 22px 0 24px; border-top: 1px solid #d8e0e6; border-left: 0; }
  .homepage-redesign .homepage-footer__inner { width: min(100% - 40px, 42rem); }
  .homepage-redesign .homepage-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 28px; }
  .homepage-redesign .homepage-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .homepage-redesign .shell { width: calc(100% - 30px); }
  .homepage-redesign .section { padding: 44px 0; }
  .homepage-redesign .hero-copy { padding: 38px 15px 32px; }
  .homepage-redesign .hero-title { font-size: clamp(2.32rem, 9.7vw, 2.86rem); line-height: 1.09; letter-spacing: 0; }
  .homepage-redesign .hero-lead { font-size: 1rem; }
  .homepage-redesign .hero-actions { display: block; }
  .homepage-redesign .trust { margin-top: 18px; padding-top: 14px; padding-left: 14px; }
  .homepage-redesign .fast-grid { grid-template-columns: 1fr; }
  .homepage-redesign .fast-item { min-height: 0; padding: 21px 18px 22px 12px; border-top: 1px solid var(--home-line); }
  .homepage-redesign .fast-item:first-child { border-top: 0; }
  .homepage-redesign .fast-item::after { display: none !important; }
  .homepage-redesign .section-head { display: block; }
  .homepage-redesign .section-head .home-link { max-width: none; margin-top: 10px; }
  .homepage-redesign .section-head .latest-properties-cta { width: 100%; }
  .homepage-redesign #latest-properties { font-size: clamp(1.95rem, 8vw, 2.35rem); }
  .homepage-redesign .property-grid { grid-template-columns: 1fr 1fr; gap: 22px 12px; }
  .homepage-redesign .property-primary-row { column-gap: .35rem; }
  .homepage-redesign .property-price { font-size: 1.25rem; }
  .homepage-redesign .home-v59 .property-area { font-size: 1.25rem; }
  .homepage-redesign .property-meta-row { column-gap: 6px; }
  .homepage-redesign .property-meta { max-width: 8.4rem; font-size: .98rem; overflow-wrap: anywhere; }
  .homepage-redesign .property-meta__separator { margin: 0 .18rem; }
  .homepage-redesign .property-date--recent .property-published { font-size: 1rem; }
  .homepage-redesign .property-date--older .property-published { font-size: .82rem; }
  .homepage-redesign .fresh-aside { display: block; }
  .homepage-redesign .video-box { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--home-line); }
  .homepage-redesign .guide-intro { padding: 42px 20px 225px; }
  .homepage-redesign .guide-photo { height: 230px; }
  .homepage-redesign .guide-content { padding: 26px 20px; }
  .homepage-redesign .guide-columns { display: block; }
  .homepage-redesign .guide-block { min-height: 0; margin-bottom: 22px; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid var(--home-line); }
  .homepage-redesign .guide-block:last-child { border-bottom: 0; }
  .homepage-redesign .calcs-grid { grid-template-columns: 1fr; }
  .homepage-redesign .calc-dest { min-height: 0; }
  .homepage-redesign .nice-grid { gap: 28px; }
  .homepage-redesign .nice-photo::before { inset: 7px -7px -7px 7px; box-shadow: 0 10px 22px rgba(16,41,66,.07); }
  .homepage-redesign #discover-heading { font-size: clamp(2.2rem, 9vw, 2.7rem); }
  .homepage-redesign .areas-head { display: block; padding-bottom: 13px; }
  .homepage-redesign .areas-head p { margin-top: 10px; }
  .homepage-redesign #areas-heading { font-size: clamp(1.95rem, 8vw, 2.35rem); }
  .homepage-redesign .area-grid { grid-template-columns: 1fr; }
  .homepage-redesign .area-select { min-height: 0; padding: 16px 16px 15px; }
  .homepage-redesign .home-v59 .areas-trust { margin-top: 20px; }
  .homepage-redesign .purpose-copy { display: block; }
  .homepage-redesign #purpose-heading { margin-bottom: 26px; font-size: clamp(2.05rem, 8.6vw, 2.55rem); }
  .homepage-redesign .purpose-col + .purpose-col { margin-top: 28px; padding-top: 26px; border-top: 1px solid #d9cdb9; }
  .homepage-redesign .purpose-col p { max-width: none; }
  .homepage-redesign .purpose-image { height: 290px; }
  .homepage-redesign .search-actions { grid-template-columns: 1fr; }
  .homepage-redesign .search-panel { border-right: 0; border-bottom: 1px solid #d7dee4; }
  .homepage-redesign .search-panel:last-child { border-bottom: 0; }
  .homepage-redesign .proofs { grid-template-columns: 1fr; }
  .homepage-redesign .homepage-footer__bottom { display: block; }
  .homepage-redesign .homepage-footer__bottom span { display: block; }
  .homepage-redesign .homepage-footer__bottom span + span { margin-top: 8px; }
}

@media (max-width: 600px) and (orientation: portrait) {
  .homepage-redesign .hero-title > span { display: inline; }
  .homepage-redesign .hero-title .hero-place { white-space: nowrap; }
  .homepage-redesign .property-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .homepage-redesign .property-primary-row,
  .homepage-redesign .property-meta-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .homepage-redesign .property-price,
  .homepage-redesign .home-v59 .property-area {
    min-width: 0;
  }
  .homepage-redesign .property-date,
  .homepage-redesign .property-meta {
    min-width: 0;
    max-width: none;
    margin-left: 0;
    justify-self: end;
  }
  .homepage-redesign .property-price {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .homepage-redesign .home-v59 .property-area {
    overflow-wrap: normal;
    word-break: normal;
  }
  .homepage-redesign .property-date,
  .homepage-redesign .property-published,
  .homepage-redesign .property-meta {
    white-space: nowrap;
  }
  .homepage-redesign .property-published,
  .homepage-redesign .property-meta {
    text-align: right;
  }
}

@media (max-width: 950px) and (max-height: 430px) and (orientation: landscape) {
  .homepage-redesign .hero-title > span { display: inline; }
  .homepage-redesign .hero-title .hero-place { white-space: nowrap; }
  .homepage-redesign .hero-copy { background: transparent; }
  .homepage-redesign .hero-image { isolation: isolate; background: #fff; }
  .homepage-redesign .hero-image picture { position: relative; z-index: 0; }
  .homepage-redesign .hero-image::before { content: none; }
  .homepage-redesign .hero-image-fade { display: block; background-image: var(--redesign-hero-fade-gradient); }
  .homepage-redesign .guide-content { padding-inline: 36px; }
  .homepage-redesign .area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .homepage-redesign .homepage-footer__grid { grid-template-columns: 1fr; gap: 0; }
  .homepage-redesign .homepage-footer__brand,
  .homepage-redesign .homepage-footer__group { padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
}

@media (max-height: 430px) and (orientation: landscape) and (min-width: 700px) {
  .homepage-redesign .hero-grid { min-height: 280px; }
  .homepage-redesign .hero-image { position: absolute; inset: 0 0 0 25%; min-height: 280px; }
  .homepage-redesign .hero-image picture { position: absolute; inset: 0; min-height: 0; height: auto; aspect-ratio: auto; }
  .homepage-redesign .hero-image img { min-height: 100%; height: 100%; aspect-ratio: auto; }
  .homepage-redesign .hero-copy { width: 46%; min-width: 390px; min-height: 280px; padding: 20px 28px; }
  .homepage-redesign .hero-title { max-width: 405px; font-size: 2.08rem; line-height: 1.07; }
  .homepage-redesign .hero-lead { margin: 13px 0; font-size: .84rem; }
  .homepage-redesign .trust small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-redesign { scroll-behavior: auto; }
  .homepage-redesign .home-link::after,
  .homepage-redesign .home-button,
  .homepage-redesign .site-header__nav-link::after,
  .homepage-redesign .site-header__dropdown-toggle svg,
  .homepage-redesign .fast-item::before,
  .homepage-redesign .fast-arrow,
  .homepage-redesign .property-media::after,
  .homepage-redesign .property-media img,
  .homepage-redesign .property::after,
  .homepage-redesign .property-price,
  .homepage-redesign .property-area,
  .homepage-redesign .latest-properties-cta,
  .homepage-redesign .guide-links a::after,
  .homepage-redesign .calc-dest,
  .homepage-redesign .area-hover-image,
  .homepage-redesign .area-select::after,
  .homepage-redesign .area-select-arrow,
  .homepage-redesign .search-panel,
  .homepage-redesign .search-panel-cta::after {
    transition: none !important;
  }

  .homepage-redesign .area-hover-image {
    transform: none !important;
  }

  .homepage-redesign .property--linked:hover .property-media img,
  .homepage-redesign .property--linked:focus-within .property-media img {
    transform: none;
  }
}
