/* Compact slider and two CTA banners in the fourth equal column. */
.hero-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;min-height:0;container-type:size;container-name:hero-mosaic}
.hero-mosaic>.story-hero{grid-column:1/span 3;height:100%;min-height:0;max-height:none;border-radius:36px}
.hero-mosaic .story-hero-copy{display:none}
.hero-mosaic .story-hero-shade{background:linear-gradient(180deg,#1020180d 55%,#0b181b80 100%)}
.hero-mosaic .story-hero-navigation{left:24px;right:24px;bottom:18px}
.hero-mosaic .story-hero-tab{min-height:42px;gap:9px;font-size:12px}
.hero-highlights{position:absolute;left:24px;top:24px;z-index:3;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 112px);pointer-events:none}
.hero-highlights>span{padding:6px 11px;border:0;border-radius:99px;background:#17221c80;backdrop-filter:blur(8px);color:white;font:400 11px/1.3 var(--sans);white-space:nowrap}
.hero-cta-column{grid-column:4;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-width:0;min-height:0}
.hero-cta-card{width:100%;height:100%;min-width:0;min-height:0;border-radius:30px;text-align:left;overflow:hidden;transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.hero-cta-card:focus-visible{outline:2px solid #5c754c;outline-offset:4px}.hero-cta-card:hover{box-shadow:0 6px 20px #25351b10}
.hero-house-card{position:relative;display:flex;align-items:flex-end;padding:22px;background:#e7ebe3;color:white;isolation:isolate}
.hero-house-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 48%;z-index:-2;transition:transform .7s var(--ease)}
.hero-house-shade{position:absolute;inset:0;background:linear-gradient(transparent 40%,#0b181bd9 100%);z-index:-1}
.hero-house-card .hero-cta-copy{gap:6px}.hero-house-card .hero-cta-copy>span{font:400 12px/1.4 var(--sans);color:#ffffffe0}
.hero-house-card:hover .hero-house-photo{transform:scale(1.025)}
.hero-special-card{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:24px;padding:24px;background:#354b2d;color:white}.hero-special-card:hover{background:#496538}
.hero-manager{display:flex;align-items:center;gap:10px;min-width:0}
.hero-manager-avatar{width:44px;height:44px;flex-shrink:0;overflow:hidden;border-radius:50%;background:#dce2d8;border:1px solid #ffffff30}
.hero-manager-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:scale(1.3);transform-origin:50% 36%}
.hero-manager-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.hero-manager-copy strong{font:500 14px/1.25 var(--sans);color:white}.hero-manager-copy>span{font:400 11px/1.3 var(--sans);color:#d6e0cc}
.hero-cta-copy{display:flex;flex-direction:column;min-width:0}.hero-cta-copy strong{font:500 clamp(18px,1.5vw,23px)/1.2 var(--sans);letter-spacing:-.025em}
.hero-offer-date{white-space:nowrap}
.hero-section>.intro{padding-top:64px}
.hero-section .about-title h2{font-size:clamp(28px,2.5vw,36px);line-height:1.18}
.hero-section .section-copy{max-width:none}.hero-section .section-copy p{font-size:clamp(14px,1.05vw,16px);line-height:1.6}.hero-section .section-copy p+p{margin-top:12px}
@media screen and (min-width:801px){
 .hero-section{height:auto;max-height:none;display:flex;flex-direction:column;padding-top:16px;padding-bottom:16px}
 .hero-section>.hero-mosaic{height:min(56svh,620px);flex:0 0 auto;min-height:0}
 .hero-section>.intro{flex:0 0 auto;padding-top:clamp(64px,7svh,88px);gap:32px}
}
@container hero-mosaic (max-height:600px){
 .hero-cta-column{grid-template-rows:repeat(2,minmax(0,1fr))}
 .hero-special-card{padding:16px;gap:12px}.hero-house-card{padding:18px}.hero-cta-copy strong{font-size:18px}
 .hero-manager-avatar{width:32px;height:32px}.hero-manager-copy strong{font-size:12px}.hero-manager-copy>span{font-size:10px}
}
@container hero-mosaic (max-height:400px){
 .hero-cta-column{grid-template-rows:repeat(2,minmax(0,1fr))}
 .hero-special-card{padding:14px;gap:10px}.hero-cta-copy strong{font-size:16px}.hero-manager-avatar{width:30px;height:30px}
}
@container hero-mosaic (max-height:360px){.hero-cta-column{grid-template-rows:repeat(2,minmax(0,1fr))}}
@container hero-mosaic (max-height:280px){
 .hero-cta-column{grid-template-rows:repeat(2,minmax(0,1fr))}
 .hero-special-card{padding:8px;gap:6px}.hero-cta-copy strong{font-size:13.5px;line-height:1.1}
 .hero-manager{gap:7px}.hero-manager-avatar{width:26px;height:26px}.hero-manager-copy{gap:1px}.hero-manager-copy strong{font-size:11px}.hero-manager-copy>span{font-size:9px}
 .hero-house-card{padding:10px}.hero-house-card .hero-cta-copy>span{display:none}.hero-house-card .hero-cta-copy strong{font-size:15px}
 .story-hero-arrow,.story-hero-pause{width:38px;height:38px}.story-hero-pause{top:18px;right:18px}.hero-highlights{top:18px;left:18px}
}
@container hero-mosaic (max-height:220px){
 .story-hero-navigation{left:18px;right:18px;bottom:12px}
}
@media(min-width:701px) and (max-width:800px){.hero-mosaic{height:clamp(300px,48svh,440px)}}
@media(max-width:700px){
 .hero-mosaic{grid-template-columns:minmax(0,1fr);container-type:normal;gap:12px}
 .hero-mosaic>.story-hero{grid-column:auto;height:auto;aspect-ratio:4/3;max-height:320px;border-radius:32px}
 .hero-highlights{top:18px;left:18px;gap:5px;max-width:calc(100% - 90px)}.hero-highlights>span{font-size:10px;padding:5px 9px}
 .hero-mosaic .story-hero-navigation{display:none}
 .hero-mosaic .story-hero-arrow{top:50%;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;transform:translateY(-50%);opacity:1;pointer-events:auto;line-height:1}
 .hero-mosaic .story-hero-arrow.prev{left:14px}.hero-mosaic .story-hero-arrow.next{right:14px}
 .hero-mosaic .story-hero-arrow svg{display:block;width:20px;height:20px;flex-shrink:0}
 .hero-cta-column{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:10px}.hero-cta-card{height:auto;min-height:264px;border-radius:26px}
 .hero-special-card{padding:16px;gap:14px}.hero-house-card{padding:16px}.hero-cta-copy strong{font-size:18px}
 .hero-manager{gap:7px}.hero-manager-avatar{width:34px;height:34px}.hero-manager-copy strong{font-size:12px}.hero-manager-copy>span{font-size:10px}
 .hero-section>.intro{padding-top:64px;gap:20px}.hero-section .about-title h2{font-size:30px}.hero-section .section-copy p{font-size:15px;line-height:1.65}
 #interior-image{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
}
@media(max-width:380px){.hero-cta-card{min-height:240px}.hero-special-card,.hero-house-card{padding:12px}.hero-cta-copy strong{font-size:16px}.hero-manager-avatar{width:30px;height:30px}.hero-manager-copy strong{font-size:11px}.hero-manager-copy>span{font-size:9px}.hero-highlights{left:16px;top:16px}.hero-highlights>span{padding-inline:8px}}
/* Borderless photography and controls over images. */
img,.story-hero,.story-hero-slide,.hero-house-card,.hero-manager-avatar,
.adv-card.photo,.district-card,.features-card,.hmodel-thumb,.hmodel-carousel,
.hmodel-plan,.hshow-plan-panel,.interior-stage,.call-bar-avatar,
.story-hero-arrow,.story-hero-pause,.hmodel-arrow,
.interior-prev,.interior-next,.interior-expand{border:0}

.hero-section .about-offer{align-items:start}
.hero-section .about-offer .section-copy p+p{margin-top:22px}
.hero-section .about-summary{display:block}
.hero-section .about-summary .about-title h2{max-width:1100px;font-size:clamp(24px,2.2vw,32px);line-height:1.3}
.about-read-more{display:inline-flex;align-items:center;gap:20px;margin-top:26px;padding:12px 0;background:transparent;color:#354b2d;font:500 15px/1.4 var(--sans)}
.about-read-more>span{font-size:22px;line-height:1}
.hero-section .about-summary .section-copy{max-width:760px;margin-top:28px}
.about-summary .section-copy[hidden]{display:none}
.hero-title>span{display:block;margin-top:14px;font:400 clamp(17px,4.6vw,21px)/1.2 var(--sans);letter-spacing:-.02em}
.hero-title{position:absolute;left:36px;right:36px;bottom:32px;z-index:3;color:#fff;font:400 clamp(30px,3.3vw,52px)/1.06 var(--serif);letter-spacing:-.04em;pointer-events:none;text-shadow:0 2px 18px #0003}
.hero-title>span{display:block;margin-top:14px;font:400 clamp(18px,1.7vw,26px)/1.2 var(--sans);letter-spacing:-.02em}
@container hero-mosaic (max-height:360px){.hero-title{left:24px;bottom:20px;font-size:28px}.hero-title>span{font-size:18px;margin-top:8px}}
@media(max-width:700px){
 
 .hero-mosaic>.story-hero{aspect-ratio:318/490;max-height:620px;border-radius:28px}
 .hero-title{display:block;position:absolute;left:24px;right:20px;bottom:36px;z-index:3;color:#fff;font:400 clamp(27px,7vw,36px)/1.04 var(--serif);letter-spacing:-.045em;pointer-events:none}
 .hero-mosaic .story-hero-shade{background:linear-gradient(180deg,transparent 50%,#07170888 100%)}
 .hero-highlights,.hero-mosaic .story-hero-arrow{display:none}
 .hero-cta-column{gap:12px}
 .hero-cta-card{min-height:168px;border-radius:26px}
 .hero-special-card{background:#111511;padding:14px;gap:12px}
 .hero-special-card .hero-manager,.hero-house-card .hero-cta-copy>span{display:none}
 .hero-special-card>.hero-cta-copy{margin-top:auto}
 .hero-special-card:hover{background:#20271d}
 .hero-special-card .hero-cta-copy strong{font-size:16px;line-height:1.2}
 .hero-manager-avatar{width:28px;height:28px}
 .hero-manager-copy strong{font-size:11px}.hero-manager-copy>span{font-size:9px}
 .hero-section>.intro{padding-top:64px;gap:26px}
 .hero-section .about-title h2{font-size:32px;line-height:1.05}
 .hero-section .section-copy p{color:#73776f}
}
@media(max-width:360px){
 .hero-special-card{padding:10px;gap:10px}
 .hero-special-card .hero-cta-copy strong{font-size:14px}
 .hero-manager{gap:5px}.hero-manager-avatar{width:24px;height:24px}
}
@media screen and (max-width:700px){
 .hero-section{height:auto;max-height:none;padding-top:0}
 .hero-section>.hero-mosaic{height:auto;grid-template-rows:auto auto;align-items:stretch}
 /* A flow-sized spacer keeps the banner measurable in mobile grid layouts. */
 .hero-mosaic>.story-hero{height:auto;min-height:0;max-height:none;aspect-ratio:auto}
 .hero-mosaic>.story-hero::before{content:"";display:block;padding-top:90.909091%;pointer-events:none}
 .hero-section>.intro{margin-top:calc(12px + env(safe-area-inset-bottom,0px))}
}
@media screen and (max-width:700px) and (max-height:520px){
 .hero-cta-card{min-height:140px}
 .hero-special-card{padding:10px;gap:8px}
 .hero-special-card .hero-cta-copy strong{font-size:13px}
 .hero-title{bottom:16px;font-size:23px;line-height:1}
 .hero-title>span{margin-top:8px;font-size:16px}
}
.hero-title{top:32px;bottom:auto;right:100px}
.hero-highlights{top:auto;bottom:24px;left:36px}
.hero-mosaic .story-hero-shade{background:linear-gradient(180deg,#09170e99 0%,#09170e38 42%,transparent 65%,#09170e40 100%)}
@media(max-width:700px){
 .hero-title{top:24px;bottom:auto;right:20px;text-shadow:none}
 .hero-mosaic .story-hero-pause{top:auto;bottom:20px;right:20px}
}
@media(max-width:700px) and (max-height:520px){.hero-title{top:14px}}
@media(prefers-reduced-motion:reduce){.hero-cta-card,.hero-house-photo{transition:none}}
@media print{.hero-mosaic{height:400px;grid-template-columns:1fr}.hero-mosaic>.story-hero{grid-column:auto}.hero-section{height:auto;max-height:none}.hero-cta-column{display:none}}

.story-hero{cursor:grab}.story-hero.is-dragging{cursor:grabbing}.story-hero-image{-webkit-user-drag:none}
.hero-mosaic .hero-special-card{background:#eceee8;color:#171c15;justify-content:space-between}
.hero-mosaic .hero-special-card:hover{background:#e3e8dd}
.hero-special-card>.hero-cta-copy{margin-top:auto}

.hero-mosaic .hero-special-card{padding-inline:28px}
@media(max-width:700px){.hero-mosaic .hero-special-card{padding-inline:18px}}
@media(max-width:360px){.hero-mosaic .hero-special-card{padding-inline:14px}}

/* Same icon / copy hierarchy as the informational cards; no countdown. */
.hero-mosaic .hero-special-card{padding:24px;gap:20px;background:#eceee8;color:#171c15}
.hero-mosaic .hero-special-card:hover{background:#e3e8dd}
.hero-offer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;color:#597947}
.hero-offer-icon,.hero-offer-icon svg{display:block;width:36px;height:36px;flex-shrink:0}


.hero-mosaic .hero-special-card .hero-cta-copy{gap:8px;margin-top:auto}
.hero-mosaic :is(.hero-special-card,.hero-house-card) .hero-cta-copy strong{font:500 clamp(16px,1.45vw,20px)/1.3 var(--sans);letter-spacing:-.025em}
.hero-mosaic .hero-special-card .hero-offer-date{font:400 13px/1.4 var(--sans);color:#72776c}
@container hero-mosaic (max-height:400px){
 .hero-mosaic .hero-special-card{padding:16px;gap:12px}
 .hero-offer-icon,.hero-offer-icon svg{width:28px;height:28px}
 .hero-mosaic .hero-special-card .hero-cta-copy{gap:4px}
 .hero-mosaic .hero-special-card .hero-offer-date{font-size:11px}
}
@media(max-width:700px){
 .hero-mosaic .hero-special-card{padding:18px;gap:20px}
 .hero-offer-icon,.hero-offer-icon svg{width:32px;height:32px}
 .hero-mosaic :is(.hero-special-card,.hero-house-card) .hero-cta-copy strong{font-size:16px}
 .hero-mosaic .hero-special-card .hero-offer-date{font-size:12px}
}
@media(max-width:360px){.hero-mosaic .hero-special-card{padding:16px}.hero-mosaic :is(.hero-special-card,.hero-house-card) .hero-cta-copy strong{font-size:15px}}
@media(max-width:700px) and (max-height:520px){
 .hero-mosaic .hero-special-card{padding:14px;gap:10px}
 .hero-offer-icon,.hero-offer-icon svg{width:26px;height:26px}
 .hero-mosaic .hero-special-card .hero-cta-copy{gap:4px}
 .hero-mosaic :is(.hero-special-card,.hero-house-card) .hero-cta-copy strong{font-size:14px}
}


/* Personal advice in the hero, using the site's card and type styles. */
.hero-consultant-card{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:20px;padding:24px;background:#354b2d;color:#fff}
.hero-consultant-card:hover{background:#415a37}
.hero-consultant-message{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.hero-consultant-message>strong{font:500 clamp(20px,1.65vw,24px)/1.18 var(--sans);letter-spacing:-.03em}
.hero-consultant-action{font:400 13px/1.4 var(--sans);color:#eef2e9;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px;text-decoration-thickness:1px}
.hero-consultant-card:hover .hero-consultant-action{text-decoration-color:currentColor}
.hero-consultant-profile{display:flex;align-items:center;gap:12px;min-width:0}
.hero-consultant-avatar{position:relative;display:block;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#eceee8}
.hero-consultant-avatar>img{position:absolute;top:-3%;left:50%;display:block;width:136%;height:auto;max-width:none;transform:translateX(-50%)}
.hero-consultant-identity{display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-consultant-identity>strong{font:500 14px/1.3 var(--sans);letter-spacing:-.015em}
.hero-consultant-identity>span{font:400 11px/1.4 var(--sans);color:#dce5d6}
/* The mobile override below also avoids a fractional-width breakpoint gap. */
@media screen{.hero-section>.hero-mosaic{min-height:460px}}
@media(min-width:701px) and (max-width:1100px){
 .hero-consultant-card{padding:16px;gap:14px}
 .hero-consultant-message{gap:6px}.hero-consultant-message>strong{font-size:18px}
 .hero-consultant-action{font-size:12px}
 .hero-consultant-profile{gap:8px}.hero-consultant-avatar{flex-basis:44px;width:44px;height:44px}
 .hero-consultant-identity{gap:3px}.hero-consultant-identity>strong{font-size:12px}.hero-consultant-identity>span{font-size:10px}
}
@media(max-width:700px){
 .hero-section>.hero-mosaic{min-height:0}
 .hero-consultant-card{min-height:168px;padding:18px;gap:16px}
 .hero-consultant-message{gap:6px}.hero-consultant-message>strong{font-size:18px}
 .hero-consultant-action{font-size:12px}
 .hero-consultant-profile{flex-direction:row;align-items:center;gap:6px}
 .hero-consultant-avatar{flex-basis:44px;width:44px;height:44px}
 .hero-consultant-identity{flex:1;gap:2px}.hero-consultant-identity>strong{font-size:9.5px;line-height:1.25}.hero-consultant-identity>span{font-size:8.5px;line-height:1.3}
}
@media(max-width:400px){
 .hero-consultant-profile{gap:5px}.hero-consultant-avatar{flex-basis:32px;width:32px;height:32px}
 .hero-consultant-identity>strong{font-size:9px}.hero-consultant-identity>span{font-size:8px}
}
@media(max-width:380px){
 .hero-consultant-card{min-height:168px;padding:16px;gap:14px}
 .hero-consultant-message>strong{font-size:16px}.hero-consultant-action{font-size:11px}
}

@media(min-width:701px) and (max-width:760px){.hero-consultant-avatar{flex-basis:40px;width:40px;height:40px}}

/* Keep the title clear of playback controls in the short mobile frame. */
@media screen and (max-width:360px){.hero-title{left:20px;right:20px;font-size:22px}}

/* One semantic, visible heading for desktop and mobile. */
.hero-title{margin:0;white-space:normal}

/* Both hero cards use the same responsive headline size. */
.hero-mosaic{--hero-card-title-size:clamp(16px,1.45vw,20px)}
.hero-mosaic .hero-consultant-message>strong,
.hero-mosaic .hero-special-card .hero-cta-copy strong{font-size:var(--hero-card-title-size)}
@media(max-width:700px){.hero-mosaic{--hero-card-title-size:16px}}
@media(max-width:360px){.hero-mosaic{--hero-card-title-size:15px}}
@media(max-width:700px) and (max-height:520px){.hero-mosaic{--hero-card-title-size:14px}}
