.estate-home-page { --home-search-overlap:88px; }
.estate-hero { height:auto; min-height:0; padding-bottom:var(--home-search-overlap); position:relative; isolation:isolate; overflow:hidden; background:#e9e5dc; }
.estate-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 57%; z-index:-3; }
.estate-home-page .estate-hero-image {animation:home-hero-drift 22s ease-in-out infinite alternate;transform-origin:center 60%}
@keyframes home-hero-drift {from{transform:scale(1)}to{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.estate-home-page .estate-hero-image{animation:none;transform:none}}
.estate-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(270deg,rgba(255,248,234,.94) 0%,rgba(255,249,239,.78) 30%,rgba(255,249,239,.12) 65%); }
.estate-hero::after { content:""; position:absolute; inset-inline:0; height:40px; bottom:-1px; background:#fff; clip-path:polygon(0 100%,100% 30%,100% 100%); z-index:-1; }
.estate-hero-inner { width:min(1320px,85%); margin:auto; padding-top:164px; padding-bottom:28px; }
.estate-hero-copy { width:52%; max-width:620px; }
.estate-eyebrow { display:inline-flex; align-items:center; gap:7px; padding:5px 11px; border-radius:30px; background:#ffffffd9; color:#526071; font-size:clamp(7px,.9vw,12px); font-weight:700; margin-top:20px; }
.estate-eyebrow i { color:#b88028; font-size:clamp(13px,1.6vw,21px); line-height:1.2; }
.estate-hero-copy h1 { font-size:clamp(26px,2.2vw,34px); font-weight:800; line-height:1.4; color:#172735; letter-spacing:-.4px; margin:12px 0; }
.estate-hero-copy h1 span { color:#b27a29; }
.estate-hero-copy p { color:#405063; font-size:clamp(13px,1.05vw,15px); line-height:1.75; font-weight:500; }
.estate-benefits { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.estate-benefits span { display:flex; align-items:center; gap:6px; padding:7px 10px; background:#ffffffde; border:1px solid #b880281a; border-radius:28px; color:#465464; font-size:11px; font-weight:700; }
.estate-benefits i { font-size:19px; color:#a97c39; }
.estate-discovery { position:relative; z-index:10; width:85%; max-width:1320px; margin:calc(-1 * var(--home-search-overlap)) auto 32px; }
.estate-search-tabs { display:flex; width:50%; background:#fff; border-radius:18px 18px 0 0; overflow:hidden; }
#search-box .search-tab { flex:1; min-height:46px; display:flex; align-items:center; justify-content:center; gap:8px; padding:7px; border:0; border-inline-start:1px solid #edf0f4; color:#263443; font-size:14px; font-weight:700; background:linear-gradient(#fff,#f5f6f8); transition:background .2s,color .2s; }
#search-box .search-tab i { font-size:19px; line-height:1.2; }
#search-box .search-tab-active { color:#a66d20; background:#fff; }
#search-box .search-tab:hover { background:#fcf5e9; }
.estate-search-card { display:grid; grid-template-columns:minmax(0,1fr) 24%; gap:20px; background:#fff; padding:20px; border-radius:18px 0 18px 18px; box-shadow:0 16px 40px rgba(24,39,56,.16); border:1px solid #e5e9ee; }
.estate-search-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(8px,1vw,14px); }
.estate-keyword { grid-column:1/-1; }
#search-box .search-field { height:clamp(30px,3.8vw,52px); min-height:0; border:1px solid #e9edf2; border-radius:13px; background:#fff; color:#526071; font-size:clamp(8px,1vw,13px); font-weight:600; box-shadow:0 3px 12px rgba(25,40,55,.035); padding-block:6px; padding-inline-start:30px; padding-inline-end:25px; width:100%; outline:none; }
#search-box .estate-keyword .search-field { height:clamp(38px,4.8vw,66px); font-size:clamp(9px,1.1vw,15px); padding-inline-start:clamp(48px,3.7vw,58px); }
#search-box .estate-filter > span:first-child { right:10px; color:#b48031; }
#search-box .estate-filter > span:last-child { left:9px; }
#search-box .estate-keyword > span { color:#b48031; }
.estate-search-main, .estate-filter { min-width:0; }
#search-box .search-field:focus { border-color:#b48031; box-shadow:0 0 0 3px rgba(180,128,49,.12); }
#search-box .search-field:disabled { opacity:.55; cursor:not-allowed; }
#search-box .search-field option { background:#fff; color:#263443; }
#search-box #searchSubmitBtn { width:100%; height:clamp(34px,4.3vw,59px); min-height:0; border:1px solid #9b6e2c; border-radius:12px; margin-top:clamp(4px,.6vw,8px); background:linear-gradient(100deg,#91602d,#be8c34); color:white; font-size:clamp(10px,1.25vw,17px); box-shadow:inset 0 1px 2px #e2b761,0 4px 10px rgba(156,110,41,.12); }
#search-box #searchSubmitBtn:hover { background:linear-gradient(100deg,#7c5025,#ab792c); transform:none; }
.estate-map-preview { position:relative; border-radius:14px; overflow:hidden; min-height:clamp(119px,15.2vw,207px); background:#edf0ec; }
.estate-map-preview svg { position:absolute; inset:0; width:100%; height:100%; }
.estate-map-pin { position:absolute; top:41%; left:51%; transform:translate(-50%,-50%); color:#b9842c; font-size:30px; filter:drop-shadow(0 2px 2px white); }
.estate-map-preview button { position:absolute; bottom:clamp(12px,1.6vw,22px); left:50%; transform:translateX(-50%); width:max-content; max-width:95%; padding:clamp(9px,1.1vw,16px) clamp(12px,1.5vw,21px); background:#172735; color:#fff; font-size:clamp(8px,1vw,13px); font-weight:700; border-radius:18px; display:flex; align-items:center; gap:9px; box-shadow:0 4px 10px #17273522; }
.estate-map-preview button i { color:#d9ad5a; font-size:19px; }
.estate-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:16px; }
.estate-trust-grid > div { border:1px solid #e9edf2; border-radius:14px; min-height:76px; background:#fff; display:flex; align-items:center; justify-content:center; gap:14px; }
.estate-trust-grid > div > i { display:grid; place-items:center; width:clamp(34px,4.4vw,58px); height:clamp(34px,4.4vw,58px); border-radius:50%; background:#faf0e1; color:#b87d2b; font-size:clamp(23px,2.9vw,39px); }
.estate-trust-grid p { display:flex; flex-direction:column; gap:5px; text-align:center; }
.estate-trust-grid strong { font-size:clamp(12px,1.65vw,22px); color:#172735; font-weight:700; }
.estate-trust-grid span { font-size:clamp(7px,.85vw,12px); color:#87909f; }
.dark .estate-hero-shade { background:linear-gradient(270deg,rgba(12,22,33,.92),rgba(12,22,33,.72) 35%,rgba(12,22,33,.04) 80%); }
.dark .estate-hero-copy h1 { color:#fff; }
.dark .estate-hero-copy h1 span { color:#d6a957; }
.dark .estate-hero-copy p { color:#d1d9e2; }
.dark .estate-eyebrow, .dark .estate-benefits span { background:#172735d9; color:#dde5ee; }
.dark .estate-hero::after { background:#020617; }
.dark .estate-search-tabs, .dark .estate-search-card, .dark .estate-trust-grid > div { background:#111d2b; border-color:#283649; }
.dark #search-box .search-tab { background:#172735; color:#d8e0ea; border-color:#283649; }
.dark #search-box .search-tab-active { background:#111d2b; color:#d6a957; }
.dark #search-box .search-field, .dark #search-box .search-field option { background:#172735; color:#dce5ee; border-color:#283649; }
.dark .estate-trust-grid strong { color:#e2e8f0; }
.dark .estate-trust-grid > div > i { background:#b9842c22; }
@media(max-width:767px) {
.estate-home-page {--home-search-overlap:48px}
.estate-hero {height:auto;min-height:0}
.estate-hero-image {object-position:30% center}
.estate-hero-shade {background:linear-gradient(180deg,#fff8eceb,#fff8ecbc 44%,#fff8ec00)}
.estate-hero-inner {width:92%;padding-top:110px}
.estate-hero-copy {width:100%;text-align:center}
.estate-hero-copy h1 {font-size:clamp(24px,6vw,28px);line-height:1.4;margin:10px 0}
.estate-hero-copy p {font-size:12px}
.estate-eyebrow {font-size:9px;padding:7px 11px}
.estate-eyebrow i {font-size:17px}
.estate-benefits {justify-content:center;gap:6px;margin-top:12px}
.estate-benefits span {font-size:8px;padding:8px 10px}
.estate-benefits i {font-size:17px}
.estate-discovery {width:92%;margin-bottom:26px}
.estate-search-tabs {width:100%}
#search-box .search-tab {min-height:46px;font-size:13px}
#search-box .search-tab i {font-size:19px}
.estate-search-card {display:block;padding:17px;border-radius:0 0 16px 16px}
.estate-search-fields {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#search-box .search-field {height:43px;font-size:11px;padding-inline-start:35px}
#search-box .estate-keyword .search-field {height:49px;font-size:11px;padding-inline-start:48px}
#search-box #searchSubmitBtn {height:46px;font-size:13px;margin-top:9px}
#search-box #searchSubmitBtn i {font-size:23px}
.estate-map-preview {min-height:103px;margin-top:16px}
.estate-map-preview button {bottom:50%;transform:translate(-50%,50%);padding:12px 17px;font-size:11px}
.estate-map-preview button i {font-size:18px}
.estate-map-pin {left:23%;font-size:25px}
.estate-trust-grid {grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px}
.estate-trust-grid>div {min-height:78px;gap:13px}
.estate-trust-grid strong {font-size:15px}
.estate-trust-grid span {font-size:9px}
.estate-trust-grid>div>i {width:39px;height:39px;font-size:25px}
.dark .estate-hero-shade {background:linear-gradient(180deg,#0c1621ed,#0c1621bb 44%,#0c162100)}
}
.estate-map-dialog {width:min(900px,94vw);max-height:90vh;border:1px solid #e9edf2;border-radius:20px;padding:20px;color:#172735;background:white}
.estate-map-dialog::backdrop {background:#17273599;backdrop-filter:blur(4px)}
.estate-map-heading {display:flex;justify-content:space-between;align-items:center;gap:15px}
.estate-map-heading h2 {font-size:17px;font-weight:800}
.estate-map-heading button {font-size:26px}
.estate-map-dialog p {font-size:12px;color:#647080;margin:10px 0}
#estate-listings-map {height:min(60vh,520px);border-radius:12px}
.dark .estate-map-dialog {background:#111d2b;color:white}
@media(prefers-reduced-motion:reduce) {
.estate-search * {transition:none;scroll-behavior:auto}
}
.home-featured-swiper .swiper-slide {height:auto;}
.home-featured-swiper .swiper-slide > * {height:100%;}
.home-featured-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;margin-bottom:22px;padding:22px 26px;border:1px solid #eed9b1;border-radius:20px;background:radial-gradient(ellipse at 100% 0%,#fff7e6 0,transparent 48%),linear-gradient(110deg,#fff 0%,#fffdf9 100%);box-shadow:0 12px 32px #9c6c1a12}
.home-featured-heading:before{position:absolute;inset-block:0;inset-inline-start:0;width:5px;background:linear-gradient(180deg,#f5c453,#c88a24);content:""}
.home-featured-copy{min-width:0}
.home-featured-title-line{display:flex;align-items:center;gap:13px}
.home-featured-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid #f0d69f;border-radius:15px;background:linear-gradient(145deg,#fff4d8,#ffe4a4);color:#bd7a12;font-size:23px;box-shadow:0 5px 13px #b8862c1c}
.home-featured-kicker{display:block;margin-bottom:2px;color:#a66b16;font-size:11px;font-weight:800;letter-spacing:.03em}
.home-featured-title-line h2{color:#18364a;font-size:clamp(20px,2vw,26px);font-weight:900;line-height:1.3}
.home-featured-copy>p{max-width:900px;margin:9px 0 0;color:#64758a;font-size:14px;line-height:1.9}
.home-featured-cta{display:inline-flex;min-height:46px;flex:0 0 auto;align-items:center;justify-content:center;gap:10px;padding:0 19px;border:1px solid #bd7a12;border-radius:12px;background:linear-gradient(120deg,#e9ad3b,#c98722);box-shadow:0 7px 16px #b17b261f;color:#fff;font-size:13px;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s,filter .2s}
.home-featured-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px #b17b2633;filter:saturate(1.08)}
.home-featured-cta i{font-size:18px;transition:transform .2s}
.home-featured-cta:hover i{transform:translateX(-3px)}
.dark .home-featured-heading{border-color:#665330;background:radial-gradient(ellipse at 100% 0%,#58441c55 0,transparent 52%),linear-gradient(110deg,#142333,#182a38);box-shadow:0 12px 32px #0003}
.dark .home-featured-title-line h2{color:#f3f5f7}
.dark .home-featured-copy>p{color:#becbd6}
@media(max-width:640px){.home-featured-heading{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:17px;padding:18px 18px 18px 16px;border-radius:16px}.home-featured-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px;font-size:21px}.home-featured-copy>p{font-size:13px;line-height:1.8}.home-featured-cta{width:100%;min-height:44px}}
