/* House interaction keeps the accepted typography, photo grade and glass. */
.hero.assembly-mounted .hero-picture,.hero.assembly-mounted .hero-picture>img {animation:none}
.hero.assembly-mounted .hero-picture{overflow:hidden;contain:paint}
.hero.assembly-mounted .build-lines{display:none}
.assembly-map{position:absolute;max-width:none;pointer-events:none;overflow:visible}
.assembly-guides{fill:none;stroke:#efe5cc;stroke-width:1.2;opacity:0}
.assembly-guides .draft-handwriting{font:30px/1.2 Caveat,cursive;fill:#e4d3ab;stroke:none}
.assembly-guides .draft-handwriting path{fill:none;stroke:#e4d3ab;stroke-width:1.2}
.assembly-guides path{stroke-dasharray:1;stroke-dashoffset:1}
.assembly-piece{opacity:0}
.hero[data-assembly="complete"] .assembly-map{visibility:hidden}
.hero.assembly-mounted .hero-title-main path{animation:none!important;stroke-dasharray:1;stroke-dashoffset:1}
.hero.assembly-mounted:not([data-assembly="complete"]) [data-hero-word],
.hero.assembly-mounted:not([data-assembly="complete"]) [data-hero-note]{opacity:0}
.hero.assembly-mounted:not([data-assembly="complete"]) .signature-line{opacity:0}
/* The parent remains visible while its normalized path is drawn. */
.hero.assembly-mounted:not([data-assembly="complete"]) .signature-flourish{opacity:.78}
.hero[data-assembly="complete"] [data-hero-word],
.hero[data-assembly="complete"] [data-hero-note],
.hero[data-assembly="complete"] .signature-line,
.hero[data-assembly="complete"] .signature-flourish{opacity:1;transform:none;clip-path:inset(0 0 0 0)}
.hero.assembly-mounted[data-assembly="complete"] .hero-progress-stroke,
.hero[data-assembly="complete"] .signature-flourish path{stroke-dashoffset:0}
.signature-line{display:block;width:max-content;max-width:100%;margin-inline:auto;will-change:clip-path,opacity,transform}
.signature-flourish{display:block;width:min(260px,90%);height:18px;margin:-3px auto 0;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.15;opacity:.78}
.signature-flourish path{stroke-dasharray:1;stroke-dashoffset:1}
.house-explorer{overflow:hidden;padding-top:12px;padding-bottom:26px;background:radial-gradient(ellipse at 50% 44%,#50524219,transparent 66%)}
.explore-heading,.arrival-heading{text-align:center;padding:0 var(--gutter) 14px;position:relative;z-index:3}
.explore-heading .breadcrumbs,.arrival-heading .breadcrumbs{display:inline-flex;align-items:center;min-height:36px;margin:0 auto 8px;padding:0 12px;font-size:12px;border-radius:100px;transition:background-color 240ms,color 240ms}
.explore-heading .breadcrumbs:hover,.arrival-heading .breadcrumbs:hover{background:#fff8df0a;color:var(--chalk)}
.explore-heading h1,.arrival-heading h1{margin:0}
:root body .house-explorer .editorial-title,:root body .interior-journey .editorial-title{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:0 .2em;line-height:1.18}
:root body .house-explorer .editorial-title>.title-main,:root body .interior-journey .editorial-title>.title-main{font-size:clamp(30px,3.3vw,48px);line-height:1.22}
:root body .house-explorer .editorial-title>.title-note,:root body .interior-journey .editorial-title>.title-note{font-size:clamp(34px,3.7vw,54px);line-height:1.25}
.house-viewport{position:relative;height:clamp(290px,calc(100svh - 350px),580px);max-width:1440px;margin:auto;isolation:isolate}
.explore-house-photo{width:100%;height:100%;display:block;object-fit:contain;object-position:50% 50%;filter:saturate(.82) sepia(.035) contrast(1.015) brightness(.91)}
.house-viewport::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--bg),transparent 10%,transparent 91%,var(--bg));z-index:1}
.house-entry-veil{position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse at 56% 58%,transparent 15%,#14181185);opacity:0;transition:opacity 900ms ease}
.house-map-interactive{position:absolute;max-width:none;z-index:2;overflow:visible;pointer-events:none}
.house-contours a{pointer-events:visiblePainted;outline:none}
.house-contours path{fill:rgba(232,205,140,.025);stroke:#e8d6a3a8;stroke-width:1.35;transition:fill 300ms,stroke-width 300ms,stroke 300ms;vector-effect:non-scaling-stroke}
.house-contours a:focus-visible path,.house-contours a:hover path{fill:rgba(242,218,158,.18);stroke:#fff5d3;stroke-width:3}
.house-explorer[data-highlight="kitchens"] [data-house-choice="kitchens"] path,
.house-explorer[data-highlight="extensions"] [data-house-choice="extensions"] path,
.house-explorer[data-highlight="exteriors"] [data-house-choice="exteriors"] path{fill:rgba(242,218,158,.18);stroke:#fff5d3;stroke-width:3}
.house-map-notes{fill:var(--chalk);font:34px Caveat,cursive;paint-order:stroke;stroke:#17201888;stroke-width:2}
.house-map-notes path{fill:none;stroke:#efe5cc;stroke-width:1.8}
.house-choices{position:relative;z-index:3;padding:0 var(--gutter);max-width:490px;margin:10px auto 0;text-align:center}
.house-choices>.button,.arrival-actions>.button{width:100%;border-radius:999px;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 22px}
.house-secondary{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;margin:8px auto 0}
.house-secondary .text-link{margin:0;min-height:44px}
.house-explorer .house-map{transition:opacity 650ms ease}
.house-explorer[data-entering="true"] .house-map{opacity:0}
.house-explorer[data-entering="true"] .house-viewport{will-change:transform,opacity}
.house-explorer[data-entering="true"] .house-entry-veil{opacity:1}
.house-explorer[data-entering="true"] .house-choices>.button{opacity:0;pointer-events:none}
.entry-cancel{position:absolute;top:0;left:var(--gutter);right:var(--gutter);margin:0;min-height:56px;padding:6px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ek-glass-edge);border-radius:99px;background:var(--ek-glass-light),var(--ek-glass-tint);color:var(--chalk);backdrop-filter:var(--ek-glass-optics);-webkit-backdrop-filter:var(--ek-glass-optics);box-shadow:var(--ek-glass-shadow);font-size:13px}
.entry-cancel[hidden]{display:none}
.journey-status{position:absolute;left:50%;top:100%;width:max-content;max-width:90vw;transform:translateX(-50%);font-size:12px;color:var(--muted);pointer-events:none}
.journey-status:empty{display:none}
.interior-journey{padding:12px 0 35px;overflow:hidden}
.interior-stage{position:relative;isolation:isolate;overflow:hidden;margin:0 auto;width:min(calc(100% - 2 * var(--gutter)),calc((100svh - 350px) * 1.776833),1320px);min-width:min(100%,560px);aspect-ratio:1672/941;border-radius:28px;background:#2e3029;box-shadow:inset 0 0 0 1px #fff6dc20}
.interior-image-frame{position:absolute;inset:0}
.interior-stage .interior-picture{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.88) sepia(.035) contrast(.99) brightness(.94)}
.interior-light{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#10170fd4,transparent 44%,#14181008);box-shadow:inset 0 0 0 1px #fff4ce18;border-radius:inherit}
.interior-caption{position:absolute;bottom:26px;left:20px;right:20px;z-index:2;display:grid;justify-items:center;gap:17px;text-align:center}
.interior-caption .handwritten{font-size:clamp(26px,2.6vw,35px);color:#fff4dc;text-shadow:0 2px 14px #0c110c99}
:root body .interior-caption .interior-plan{min-height:52px;width:min(100%,330px);border-radius:999px;padding:9px 13px 9px 24px;font-size:14px;font-weight:500}
.interior-plan>span[aria-hidden]{width:32px;height:32px;display:grid;place-items:center;border:1px solid #fff4d65c;border-radius:50%;background:#ffffff0a}
.interior-room-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:calc(100% - 2 * var(--gutter));max-width:920px;margin:20px auto 0}
.interior-room{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 14px;align-items:center;gap:13px;min-width:0;padding:7px 13px 7px 7px;min-height:68px;border-radius:18px;border:1px solid #efe8d32a;background:linear-gradient(155deg,#fff9df0c,transparent 54%),#292f242e;box-shadow:inset 0 1px 1px #fff9dc10;color:var(--chalk);font-size:13px;line-height:1.3;transition:background-color 280ms,border-color 280ms,box-shadow 280ms,transform 240ms}
.interior-room-thumb{display:block;width:70px;height:54px;border-radius:12px;overflow:hidden}
.interior-room-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) brightness(.92)}
.interior-room[aria-current="page"]{border-color:#e5d09a80;background:linear-gradient(145deg,#d6c49614,transparent 60%),#363c2e4a;box-shadow:inset 0 1px 1px #fef1c438,0 0 18px #d6be7810}
.interior-room-arrow{font-size:17px;color:#dcca98;opacity:.8}
.interior-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}
.interior-hotspot{position:absolute;left:var(--spot-x);top:var(--spot-y);transform:translate(-50%,-50%);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;padding:5px 11px 5px 5px;border:1px solid var(--ek-glass-edge);border-radius:999px;background:var(--ek-glass-light),rgba(26,30,23,.19);backdrop-filter:var(--ek-glass-optics);-webkit-backdrop-filter:var(--ek-glass-optics);box-shadow:var(--ek-glass-shadow);color:#fffaf0;text-shadow:0 1px 6px #000b;pointer-events:auto;transition:background-color 280ms,box-shadow 280ms}
.interior-hotspot>span:first-child{width:29px;height:29px;display:grid;place-items:center;border:1px solid #fff7d750;border-radius:50%;font-size:22px;font-weight:300;line-height:1}
.interior-hotspot-label{font-size:12px;font-weight:500}
.interior-hotspot:hover,.interior-hotspot:focus-visible{background-color:#fff8dc18;box-shadow:var(--ek-glass-shadow),0 0 24px #e8cd7c20}
.interior-hotspot:active{background-color:#fff8dc2c}
.interior-room[aria-current="page"] .interior-room-arrow{opacity:0}
.interior-room:active{transform:scale(.98);transition-duration:100ms;background-color:#fff2b315}
.interior-after{display:flex;justify-content:center;padding:20px var(--gutter) 0}
.interior-after .text-link{font-size:13px}
@media(hover:hover) and (pointer:fine){.interior-room:hover{background-color:#fff5cf0e;border-color:#f3e9c368;box-shadow:inset 0 1px 1px #fffce950,0 0 24px #cbb47512;transform:translateY(-1px)}.entry-cancel:hover{background-color:#fff5cf14}}
@media(min-width:761px){.explore-heading .breadcrumbs,.arrival-heading .breadcrumbs{position:absolute;left:var(--gutter);top:12px;margin:0}.explore-heading,.arrival-heading{padding-inline:210px}}
@media(max-width:760px){
 .house-explorer,.interior-journey{padding-top:6px}
 .explore-heading,.arrival-heading{padding-bottom:10px;padding-inline:18px}
 .explore-heading .breadcrumbs,.arrival-heading .breadcrumbs{margin-bottom:4px}
 :root body .house-explorer .editorial-title>.title-main,:root body .interior-journey .editorial-title>.title-main{font-size:29px}
 :root body .house-explorer .editorial-title>.title-note,:root body .interior-journey .editorial-title>.title-note{font-size:33px}
 .house-viewport{height:auto;width:calc(100% - 24px);aspect-ratio:1672/941;overflow:hidden;border-radius:23px}
 .explore-house-photo{object-fit:contain;object-position:50% 50%;position:absolute;inset:0}
 .house-viewport::after{background:linear-gradient(0deg,#14181130,transparent 20%)}
 .house-choices{margin-top:12px;max-width:420px}
 .house-map-notes{display:none}
 .house-choices>.button{min-height:52px}
 .house-secondary{margin-top:6px;gap:26px}
 .interior-stage{width:calc(100% - 24px);min-width:0;height:auto;aspect-ratio:auto;border-radius:23px;overflow:visible;background:transparent;box-shadow:none}
 .interior-image-frame{position:relative;inset:auto;aspect-ratio:1672/941;overflow:hidden;border-radius:23px}
 .interior-stage .interior-picture{object-fit:contain}
 .interior-light{background:linear-gradient(0deg,#10170f30,transparent 48%)}
 .interior-caption{position:relative;left:auto;right:auto;bottom:auto;padding:18px 14px 0;gap:12px}
 .interior-caption .handwritten{font-size:28px}
 :root body .interior-caption .interior-plan{min-height:49px;font-size:13px;width:min(100%,305px)}
 .interior-room-choices{width:calc(100% - 28px);max-width:450px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
 .interior-room{grid-template-columns:48px minmax(0,1fr) 12px;gap:9px;padding:6px 9px 6px 6px;min-height:58px;font-size:12px;border-radius:15px}
 .interior-room-thumb{width:48px;height:44px;border-radius:10px}
 .interior-hotspot{min-height:44px;min-width:44px;padding:5px;background-color:#1f271c50}
 .interior-hotspot-label{position:absolute;top:100%;padding:3px 6px;border-radius:7px;background:#192015a6;font-size:10px;white-space:nowrap}
 .interior-after{padding-top:12px}
}
@media(max-height:620px) and (min-width:761px){
 .house-explorer,.interior-journey{padding-top:0}
 .explore-heading .breadcrumbs,.arrival-heading .breadcrumbs{position:absolute;left:var(--gutter);top:6px;margin:0}
 :root body .house-explorer .editorial-title>.title-main,:root body .interior-journey .editorial-title>.title-main{font-size:29px}
 :root body .house-explorer .editorial-title>.title-note,:root body .interior-journey .editorial-title>.title-note{font-size:33px}
 .house-viewport{height:clamp(220px,calc(100svh - 250px),340px)}
 .interior-stage{width:min(calc(100% - 2 * var(--gutter)),calc((100svh - 250px) * 1.776833),900px);min-width:0}
 .interior-caption{bottom:14px;gap:7px}
 .interior-caption .handwritten{font-size:26px}
 .interior-room-choices{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.house-contours path,.house-explorer .house-map,.house-entry-veil,.interior-room{transition:none}.interior-room:hover,.interior-room:active{transform:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.interior-room,.entry-cancel{background:#252c21;border-color:#d6c99f;backdrop-filter:none;-webkit-backdrop-filter:none}.interior-room[aria-current="page"]{background:#414735}}
@media(prefers-contrast:more){.house-contours path{stroke:#fff;stroke-width:3}.house-map-notes{fill:#fff;stroke:#000;stroke-width:4}}
