/* Warm, editorial discovery details, scoped to the home page. */
.home-refined .home-featured { position: relative; background: #fffefa; }
.home-refined .home-featured .home-featured-heading { position: relative; align-items: end; margin-bottom: 32px; gap: 28px; }
.home-refined .home-featured .home-featured-intro { min-width: 0; }
.home-refined .home-featured .home-featured-heading h2 { max-width: 670px; margin-top: 15px; font-size: clamp(1.75rem, 2.65vw, 2.4rem); line-height: 1.22; }
.home-refined .home-featured h2 em,
.home-refined .home-neighborhoods h2 em { color: #667360; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }
.home-refined .home-featured .home-featured-heading p { max-width: 550px; margin-top: 12px; color: #64716d; font-size: .9375rem; line-height: 1.7; }
.home-refined .home-featured .home-section-heading > .home-text-link { flex-shrink: 0; gap: 13px; padding-bottom: 3px; border-bottom: 1px solid #c9b68c; }
.home-refined .home-featured .home-section-heading > .home-text-link > .material-symbols-outlined { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #f4efdf; color: #6c704e; font-size: 18px; }
.home-refined .home-featured .home-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; min-width: 0; }
.home-refined .home-featured [data-home-featured-track]:focus-visible { outline: 3px solid #2a6db2; outline-offset: 4px; }
.home-refined .home-featured .home-property-grid--count-1 { grid-template-columns: minmax(0, 1fr); max-width: 400px; margin-inline: auto; }
.home-refined .home-featured .home-property-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 824px; margin-inline: auto; }
.home-refined .home-featured .home-featured-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 2px; }
.home-refined .home-featured .home-featured-controls[hidden] { display: none; }
.home-refined .home-featured .home-featured-position { color: #65745f; font-size: .8125rem; font-variant-numeric: tabular-nums; line-height: 1.5; }
.home-refined .home-featured .home-featured-arrows { display: flex; gap: 8px; }
.home-refined .home-featured .home-featured-arrows button { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; padding: 0; border: 1px solid #d7dfcc; border-radius: 50%; background: #f5f5eb; color: #415b40; cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease; }
.home-refined .home-featured .home-featured-arrows button:hover:not(:disabled) { border-color: #a8b696; background: #e9eedf; }
.home-refined .home-featured .home-featured-arrows button:disabled { color: #9ba390; border-color: #e5e8dd; background: #fafaf4; cursor: default; }
.home-refined .home-featured .home-featured-arrows .material-symbols-outlined { font-size: 20px; }
.home-refined .home-featured .property-card--professional { overflow: hidden; border: 1px solid #e3e3d8; border-radius: 17px; background: #fff; box-shadow: 0 5px 18px rgb(47 60 47 / 3%); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.home-refined .home-featured .property-card--professional:hover { border-color: #bac4af; box-shadow: 0 14px 28px rgb(47 60 47 / 8%); transform: translateY(-3px); }
.home-refined .home-featured .property-card__image { margin: 8px 8px 0; aspect-ratio: 1.52; border-radius: 11px; background: #eeeee6; }
.home-refined .home-featured .property-card__image-link,
.home-refined .home-featured .property-card__image img { border-radius: 11px; }
.home-refined .home-featured .property-card__image-link img { transition: transform 320ms ease; }
.home-refined .home-featured .property-card--professional:hover .property-card__image-link img { transform: scale(1.025); }
.home-refined .home-featured .property-card__image-link:focus-visible { outline-offset: -6px; }
.home-refined .home-featured .property-card__badges { top: 13px; left: 13px; right: 69px; gap: 6px; }
.home-refined .home-featured .property-card__badge { padding: 7px 10px; border: 1px solid rgb(255 255 255 / 70%); border-radius: 6px; background: #f9f8f0; color: #2f4d43; font-size: .625rem; font-weight: 650; letter-spacing: .02em; box-shadow: 0 2px 7px rgb(17 43 38 / 7%); }
.home-refined .home-featured .catalog-card-status { border-color: #334d40; background: #334d40; color: #fff; }
.home-refined .home-featured .wishlist-button { top: 12px; right: 12px; width: 44px; height: 44px; border: 1px solid #f1eddf; background: #fffef9; color: #4b6054; box-shadow: 0 3px 10px rgb(20 40 30 / 9%); }
.home-refined .home-featured .wishlist-button:hover { border-color: #d0bd97; background: #fff8e9; }
.home-refined .home-featured .wishlist-button.is-active { border-color: #e8c9cf; background: #fff0f3; color: #a32f50; }
.home-refined .home-featured .catalog-card-arrow { width: 44px; height: 44px; border: 1px solid rgb(255 255 255 / 80%); background: rgb(255 254 249 / 94%); color: #365147; box-shadow: 0 3px 10px rgb(20 40 30 / 10%); }
.home-refined .home-featured .catalog-card-arrow:hover { background: #f1e8d2; }
.home-refined .home-featured .catalog-card-arrow--prev { left: 11px; }
.home-refined .home-featured .catalog-card-arrow--next { right: 11px; }
.home-refined .home-featured .catalog-card-photo-count { right: 13px; bottom: 12px; gap: 6px; padding: 5px 8px; border: 1px solid rgb(255 255 255 / 15%); border-radius: 5px; background: rgb(21 42 36 / 78%); font-size: .6875rem; }
.home-refined .home-featured .property-card__body { padding: 23px 23px 17px; }
.home-refined .home-featured .catalog-card-category { align-items: center; gap: 12px; margin-bottom: 12px; color: #64715d; font-size: .6875rem; font-weight: 650; line-height: 1.6; letter-spacing: .09em; overflow-wrap: anywhere; }
.home-refined .home-featured .catalog-card-category > span { flex-shrink: 0; padding: 4px 8px; border-radius: 4px; background: #edf0e6; color: #566748; font-size: .625rem; letter-spacing: .04em; }
.home-refined .home-featured .property-card__title-row { margin-bottom: 12px; }
.home-refined .home-featured .property-card__title-row h3 { color: #183b48; font-size: 1.0625rem; line-height: 1.5; letter-spacing: -.025em; overflow-wrap: anywhere; }
.home-refined .home-featured .property-card__title-row a:hover { color: #52674c; text-decoration: underline; text-decoration-color: #c9b68c; text-underline-offset: 4px; }
.home-refined .home-featured .property-card__location { align-items: start; gap: 6px; color: #63736e; font-size: .8125rem; line-height: 1.6; overflow-wrap: anywhere; }
.home-refined .home-featured .property-card__location .material-symbols-outlined { margin-top: 2px; color: #7a8972; font-size: 17px; }
.home-refined .home-featured .catalog-card-address { color: #68776f; font-size: .75rem; line-height: 1.7; overflow-wrap: anywhere; }
.home-refined .home-featured .property-card__facts { gap: 12px 8px; margin-top: 18px; padding-block: 17px; border-color: #ecece2; }
.home-refined .home-featured .property-card__fact { gap: 7px; min-width: 0; color: #4f675d; font-size: .75rem; line-height: 1.5; overflow-wrap: anywhere; }
.home-refined .home-featured .property-card__fact .material-symbols-outlined { color: #7e8d76; font-size: 19px; }
.home-refined .home-featured .catalog-card-value { margin-top: 18px; margin-bottom: 14px; }
.home-refined .home-featured .catalog-card-value__label { margin-bottom: 4px; color: #6e7869; font-size: .6875rem; line-height: 1.5; }
.home-refined .home-featured .property-card__price { color: #183b48; font-size: clamp(1.5rem, 2.1vw, 1.75rem); font-weight: 600; line-height: 1.35; letter-spacing: -.045em; overflow-wrap: anywhere; }
.home-refined .home-featured .property-card__price small { color: #66776a; font-size: .6875rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
.home-refined .home-featured .catalog-card-fees { margin-top: 7px; color: #6a7569; font-size: .6875rem; line-height: 1.7; overflow-wrap: anywhere; }
.home-refined .home-featured .catalog-card-reference { gap: 7px; min-height: 45px; margin-bottom: 0; padding-top: 3px; border-top: 1px solid #eeeee6; color: #6d786d; font-size: .6875rem; overflow-wrap: anywhere; }
.home-refined .home-featured .catalog-card-reference strong { color: #5e705e; font-weight: 500; }
.home-refined .home-featured .catalog-copy { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; color: #71836a; }
.home-refined .home-featured .catalog-copy:hover { background: #f0f2e8; color: #354e36; }
.home-refined .home-featured .catalog-copy .material-symbols-outlined { font-size: 15px; }
.home-refined .home-featured .property-card__actions .button { min-height: 46px; border: 1px solid #dbe0d1; border-radius: 7px; background: #f0f2e9; color: #365140; }
.home-refined .home-featured .property-card__actions .button:hover { border-color: #425d46; background: #425d46; color: #fff; }
.home-refined .home-featured .property-card__interest { min-height: 44px; color: #536b57; }
.home-refined .home-featured .home-featured-note { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 22px; color: #697666; font-size: .75rem; line-height: 1.7; text-align: center; }
.home-refined .home-featured .home-featured-note .material-symbols-outlined { color: #8c8157; font-size: 19px; }

.home-refined .home-neighborhoods { position: relative; background: #f3f3e9; }
.home-refined .home-neighborhoods .home-neighborhood-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.3fr); align-items: center; gap: 80px; }
.home-refined .home-neighborhoods .home-neighborhood-intro { min-width: 0; }
.home-refined .home-neighborhoods h2 { max-width: 440px; margin-top: 16px; font-size: clamp(1.75rem, 2.55vw, 2.3rem); line-height: 1.3; }
.home-refined .home-neighborhoods h2 em { display: block; }
.home-refined .home-neighborhoods .home-neighborhood-intro > p { max-width: 375px; margin-top: 18px; color: #626e5f; font-size: .9375rem; line-height: 1.85; }
.home-refined .home-neighborhoods .home-neighborhood-intro > .home-text-link { gap: 10px; margin-top: 14px; color: #3d5843; }
.home-refined .home-neighborhoods .home-neighborhood-art { display: block; width: min(100%, 370px); height: auto; margin: 22px 0 -8px -12px; }
.home-refined .home-neighborhoods .home-neighborhood-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; min-width: 0; }
.home-refined .home-neighborhoods .home-neighborhood-grid > a { display: grid; grid-template-columns: minmax(0, 1fr) 35px; grid-template-rows: auto 1fr; align-items: start; gap: 16px 9px; min-height: 166px; padding: 23px 22px 22px; border: 1px solid #dedfd1; border-radius: 12px; background: #fffefa; transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.home-refined .home-neighborhoods .home-neighborhood-grid > a:hover { border-color: #b0bc9f; background: #fff; transform: translateY(-2px); }
.home-refined .home-neighborhoods .home-neighborhood-number { align-self: start; color: #92987d; font-family: Georgia, 'Times New Roman', serif; font-size: .9375rem; line-height: 1.6; }
.home-refined .home-neighborhoods .home-neighborhood-details { grid-column: 1; grid-row: 2; align-self: end; min-width: 0; }
.home-refined .home-neighborhoods .home-neighborhood-grid strong { display: block; color: #294735; font-size: .9375rem; font-weight: 600; line-height: 1.5; letter-spacing: -.015em; overflow-wrap: anywhere; }
.home-refined .home-neighborhoods .home-neighborhood-grid small { display: block; margin-top: 5px; color: #65725e; font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.home-refined .home-neighborhoods .home-neighborhood-grid > a > .material-symbols-outlined { display: grid; place-items: center; grid-column: 2; grid-row: 1; width: 35px; height: 35px; border: 1px solid #e1e4d4; border-radius: 50%; background: #f1f3e7; color: #657855; font-size: 19px; }
.home-refined .home-neighborhoods .home-neighborhood-grid > a:hover > .material-symbols-outlined { background: #e9eddc; color: #3c5937; }

@media (max-width: 1100px) {
	.home-refined .home-featured .property-card__body { padding-inline: 19px; }
	.home-refined .home-neighborhoods .home-neighborhood-layout { gap: 40px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a { padding-inline: 18px; }
}
@media (max-width: 1023px) {
	.home-refined .home-featured .home-property-grid:not(.home-property-grid--count-1) { position: relative; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 2.2); gap: 16px; max-width: none; margin-inline: 0; width: 100%; padding: 6px 0 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0; scrollbar-width: thin; scrollbar-color: #c6ceb8 transparent; }
	.home-refined .home-featured .home-property-grid:not(.home-property-grid--count-1) > .property-card { scroll-snap-align: start; }
	.home-refined .home-featured .home-property-grid.home-property-grid--count-2 { grid-auto-columns: calc((100% - 16px) / 2); }
	.home-refined .home-featured .property-card--professional:hover { transform: none; }
}
@media (max-width: 900px) {
	.home-refined .home-neighborhoods .home-neighborhood-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 30px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a { grid-template-columns: 27px minmax(0, 1fr) 35px; grid-template-rows: auto; align-items: center; gap: 12px; min-height: 88px; padding: 18px; }
	.home-refined .home-neighborhoods .home-neighborhood-number { align-self: center; font-size: .8125rem; }
	.home-refined .home-neighborhoods .home-neighborhood-details { grid-column: 2; grid-row: 1; align-self: center; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a > .material-symbols-outlined { grid-column: 3; }
}
@media (max-width: 767px) {
	.home-refined .home-featured .home-featured-heading { display: block; margin-bottom: 23px; }
	.home-refined .home-featured .home-featured-heading .home-eyebrow { max-width: calc(100% - 100px); font-size: .6875rem; }
	.home-refined .home-featured .home-featured-heading h2 { max-width: 450px; margin-top: 22px; font-size: clamp(1.625rem, 6.8vw, 2rem); line-height: 1.2; letter-spacing: -.04em; }
	.home-refined .home-featured .home-featured-heading p { max-width: 330px; margin-top: 11px; font-size: .875rem; line-height: 1.65; }
	.home-refined .home-featured .home-section-heading > .home-text-link { position: absolute; top: -9px; right: 0; min-height: 44px; padding: 0; gap: 6px; border: 0; font-size: .8125rem; }
	.home-refined .home-featured .home-section-heading > .home-text-link > .material-symbols-outlined { width: 22px; height: 22px; background: transparent; font-size: 18px; }
	.home-refined .home-featured .home-property-grid:not(.home-property-grid--count-1) { grid-auto-columns: calc((100% - 12px) / 1.2); gap: 12px; }
	.home-refined .home-featured .home-property-grid.home-property-grid--count-2 { grid-auto-columns: calc((100% - 12px) / 1.2); }
	.home-refined .home-featured .property-card__image { margin: 6px 6px 0; aspect-ratio: 1.46; }
	.home-refined .home-featured .property-card__body { padding: 18px 18px 10px; }
	.home-refined .home-featured .catalog-card-category { margin-bottom: 8px; gap: 7px; font-size: .625rem; letter-spacing: .055em; }
	.home-refined .home-featured .property-card__title-row { margin-bottom: 9px; }
	.home-refined .home-featured .property-card__title-row h3 { font-size: 1rem; line-height: 1.45; }
	.home-refined .home-featured .property-card__location { font-size: .75rem; }
	.home-refined .home-featured .catalog-card-address { font-size: .6875rem; }
	.home-refined .home-featured .property-card__facts { margin-top: 12px; gap: 8px 6px; padding-block: 12px; }
	.home-refined .home-featured .property-card__fact { gap: 5px; font-size: .75rem; }
	.home-refined .home-featured .property-card__fact .material-symbols-outlined { font-size: 18px; }
	.home-refined .home-featured .catalog-card-value { margin-top: 13px; margin-bottom: 10px; }
	.home-refined .home-featured .property-card__price { font-size: 1.5rem; }
	.home-refined .home-featured .home-featured-note { gap: 8px; margin-top: 17px; font-size: .75rem; }
	.home-refined .home-neighborhoods .home-neighborhood-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.home-refined .home-neighborhoods h2 { max-width: 430px; font-size: clamp(1.625rem, 6.2vw, 2rem); margin-top: 13px; }
	.home-refined .home-neighborhoods .home-neighborhood-intro > p { max-width: 430px; margin-top: 15px; font-size: .875rem; }
	.home-refined .home-neighborhoods .home-neighborhood-intro > .home-text-link { margin-top: 10px; }
	.home-refined .home-neighborhoods .home-neighborhood-art { width: min(100%, 290px); max-height: 165px; margin: 13px auto -5px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a { min-height: 86px; padding: 17px; }
}
@media (max-width: 359px) {
	.home-refined .home-featured .property-card__body { padding-inline: 18px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a { grid-template-columns: 22px minmax(0, 1fr) 31px; gap: 9px; padding-inline: 15px; }
	.home-refined .home-neighborhoods .home-neighborhood-grid > a > .material-symbols-outlined { width: 31px; height: 31px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
	.home-refined .home-featured .property-card--professional,
	.home-refined .home-featured .property-card__image-link img,
	.home-refined .home-neighborhoods .home-neighborhood-grid > a { transition: none; }
	.home-refined .home-featured .property-card--professional:hover,
	.home-refined .home-featured .property-card--professional:hover .property-card__image-link img,
	.home-refined .home-neighborhoods .home-neighborhood-grid > a:hover { transform: none; }
}
