:root{color-scheme:light;--taupe:#3c352b;--paper:#f2f4f2;--slate:#657a80;--opal:#b0c6c8;--muted:#5f7074;--margin:clamp(24px,5vw,90px);--ease-out:cubic-bezier(.23,1,.32,1);font-family:'Manrope',sans-serif;color:var(--taupe);background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{background:var(--opal);color:var(--taupe)}:focus-visible{outline:2px solid var(--slate);outline-offset:6px}.skip-link{position:fixed;top:16px;left:16px;padding:14px 22px;background:var(--taupe);color:#fff;z-index:20;transform:translateY(-180%)}.skip-link:focus{transform:none}
.page-shell{min-height:100svh;display:flex;flex-direction:column;overflow:clip;background:#fff}.site-header{min-height:124px;margin:0 var(--margin);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:178px;display:block}.brand img{width:100%;height:auto;display:block}.header-descriptor{margin:0;color:var(--muted);font-size:11px;line-height:1.6;text-align:right}
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;flex:1;min-height:650px;padding:48px var(--margin) 74px}.hero-copy{position:relative;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{margin:0 0 31px;font-size:9px;letter-spacing:.19em;color:var(--muted);font-weight:500}h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(76px,7.4vw,126px);font-weight:400;line-height:.74;letter-spacing:-.035em;margin:0 0 30px -2px}.line{display:block;overflow:visible}.line>span{display:block;animation:type-reveal 1100ms var(--ease-out) both}.line:nth-child(2)>span{animation-delay:70ms}.line:nth-child(3)>span{animation-delay:140ms}.accent{color:var(--slate);font-style:italic}.intro{font-size:15px;line-height:1.8;color:var(--muted);margin:0;max-width:410px;text-wrap:pretty}.contact-link{display:inline-flex;gap:25px;font-size:12px;border-bottom:1px solid var(--slate);padding:10px 0;margin-top:24px}
.experience{position:absolute;inset:0;isolation:isolate;pointer-events:none}
.house-build,.model-fallback{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.house-build{z-index:1;opacity:0}
.experience.is-building .house-build{opacity:1}
.experience.is-building .model-fallback,.experience.is-pending .model-fallback{opacity:0}
.site-footer{display:flex;align-items:center;justify-content:flex-end;min-height:76px;margin:0 var(--margin);font-size:10px;color:var(--muted)}.site-footer p{margin:0}
.site-header,.eyebrow,.intro{animation:fade-in 900ms var(--ease-out) both}.intro{animation-delay:210ms}@keyframes type-reveal{from{opacity:0;transform:translateY(.22em)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.contact-link:hover{color:var(--slate)}}
@media(min-width:1700px){.page-shell{max-width:2100px;margin:auto}.hero{min-height:760px}}
@media(max-width:1050px){.hero{min-height:620px;padding-top:44px;padding-bottom:55px}h1{font-size:clamp(73px,8.7vw,92px)}.intro{font-size:14px}.eyebrow{font-size:8px}.site-header{min-height:110px}}
@media(max-width:700px){.site-header{min-height:100px;gap:18px}.brand{width:140px}.header-descriptor{font-size:10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:42px;padding-bottom:0;min-height:auto}.hero-copy{pointer-events:auto}h1{font-size:clamp(78px,16vw,114px);margin-bottom:29px}.eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:27px}.intro{font-size:14px;line-height:1.8}.experience{position:relative;inset:auto;width:calc(100% + var(--margin)*2);margin:22px calc(var(--margin)*-1) 0;aspect-ratio:1;height:auto}.house-build,.model-fallback{object-fit:cover;object-position:right center}.site-footer{min-height:76px;justify-content:center}.desktop-break{display:none}}

@media(max-width:380px){:root{--margin:20px}.brand{width:122px}h1{font-size:76px}.eyebrow{font-size:7px}.header-descriptor{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.line>span{opacity:1;transform:none}}

/* Media layers switch only for a fallback; completion holds the decoded frame. */
.house-build,.model-fallback{transition:none}



/* Launch announcement is the primary message. */
h1 .lead{font-size:.69em;letter-spacing:-.035em;line-height:.86;margin-bottom:0}.hero{min-height:680px}.intro{max-width:390px}
@media(max-width:700px){.hero{min-height:auto}.lead{white-space:nowrap}}
