*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--bg);color:var(--fg);font-family:var(--font), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-reveal]{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}[data-reveal].is-in{opacity:1;transform:none}[data-words] .w{opacity:.18;transition:opacity .35s linear}[data-words] .w.on{opacity:1}.cursor{z-index:90;pointer-events:none;color:var(--fg);transition:opacity .3s;position:fixed;top:0;left:0}.cursor.is-hidden{opacity:0}.cursor__dot,.cursor__ring{will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.cursor__dot{background:currentColor;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor__ring{border:1.5px solid color-mix(in srgb, currentColor 50%, transparent);place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;transition:width .45s cubic-bezier(.16,1,.3,1),height .45s cubic-bezier(.16,1,.3,1),margin .45s cubic-bezier(.16,1,.3,1),background .3s;display:grid}.cursor__label{color:var(--bg);opacity:0;white-space:nowrap;font-size:12px;font-weight:600;transition:opacity .25s}.cursor.has-label .cursor__ring{background:currentColor;border-color:currentColor;width:72px;height:72px;margin:-36px 0 0 -36px}.cursor.has-label .cursor__label{opacity:1}.cursor.is-down .cursor__ring{width:24px;height:24px;margin:-12px 0 0 -12px}.has-cursor,.has-cursor *{cursor:none!important}@media (pointer:coarse){.cursor{display:none}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}[data-words] .w{opacity:1}}:root{--bg:#14110e;--fg:#f6f1e8;--accent:#efa94a;--paper:#f3eee4;--ink:#2a2520;--font:"Albert Sans Variable";--muted:color-mix(in srgb, var(--fg) 70%, transparent);--line:color-mix(in srgb, var(--fg) 16%, transparent);--glass:#181410d6;--gutter:clamp(18px, 3vw, 44px);--ease:cubic-bezier(.16, 1, .3, 1)}body{font-weight:420}h1,h2,h3{text-wrap:balance}::selection{background:var(--accent);color:var(--bg)}.only-coarse{display:none}@media (pointer:coarse){.only-fine{display:none}.only-coarse{display:inline}}.hero-loop,.rays{pointer-events:none;width:100%;height:100lvh;position:fixed;inset:0}.hero-loop{z-index:1;object-fit:cover;background:var(--bg) url(/sunhaus/renders/hero.webp) center / cover;transition:opacity .2s linear}.rays{z-index:2;mix-blend-mode:screen}.hero-scrim{z-index:2;pointer-events:none;background:linear-gradient(90deg,#100c089e,#100c0840 38%,#0000 60%),linear-gradient(#0000 60%,#100c0880);position:fixed;inset:0}html:not(.is-live) .rays{opacity:0}.rays{transition:opacity 2.4s}.film,.overlay,.labels{width:100%;height:100lvh;position:fixed;inset:0}.film{image-rendering:auto;z-index:0;background:var(--bg);display:block;transform:translateZ(0)}.overlay{z-index:3;pointer-events:none}.overlay polygon{fill:#efa94a1a;stroke:#ffd59a;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:opacity .4s}.labels{z-index:3;pointer-events:none;overflow:hidden}.poi{background:var(--glass);border:1px solid var(--line);white-space:nowrap;opacity:0;will-change:transform;border-radius:12px;gap:1px;padding:8px 12px;font-size:13px;transition:opacity .4s;display:grid;position:absolute;top:0;left:0}.poi:after{content:"";background:linear-gradient(var(--fg), transparent);width:1px;height:26px;position:absolute;top:100%;left:50%}.poi b{font-weight:650}.poi small{color:var(--muted);font-size:12px}.poi.on{opacity:1}main,.foot{z-index:4;position:relative}.scrim{z-index:1;pointer-events:none;background:linear-gradient(#0000 62%,#0e0b08a6),linear-gradient(#0e0b0859,#0000 20%);position:fixed;inset:0}.nav{z-index:30;padding:16px var(--gutter);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:inline-flex}.nav .brand{justify-self:start}.nav__links{background:var(--glass);border:1px solid var(--line);border-radius:99px;gap:2px;padding:5px;display:flex}.nav__links a{color:var(--muted);border-radius:99px;padding:8px 15px;font-size:15px;font-weight:550;transition:color .3s,background .3s}.nav__links a:hover{color:var(--fg);background:#ffffff14}.nav .pill{justify-self:end}.pill{white-space:nowrap;height:46px;transition:transform .5s var(--ease), background .3s, border-color .3s;border-radius:99px;justify-content:center;align-items:center;padding:0 22px;font-size:16px;font-weight:650;display:inline-flex}.pill--light{background:var(--fg);color:var(--bg)}.pill--light:hover{transform:translateY(-2px)}.pill--ghost{border:1px solid color-mix(in srgb, var(--fg) 40%, transparent);background:#14110e4d}.pill--ghost:hover{border-color:var(--fg);transform:translateY(-2px)}.pill--big{height:56px;padding:0 28px;font-size:17px}.kicker{color:var(--accent);margin:0 0 10px;font-size:15px;font-weight:600}h2{letter-spacing:-.035em;margin:0;font-size:clamp(34px,3.8vw,60px);font-weight:600;line-height:1.02}.card,.side{background:var(--glass);border:1px solid var(--line);border-radius:24px}.card p,.side p{color:var(--muted);margin:14px 0 0;font-size:17px;line-height:1.5}.muted{color:var(--muted)}.hero{min-height:260svh;padding:0 var(--gutter);position:relative}.hero__copy{flex-direction:column;justify-content:flex-end;height:100svh;padding-bottom:120px;display:flex;position:sticky;top:0}.hero__copy>:not(.facts){max-width:760px}.hero__copy>*{opacity:0;transition:opacity 1.2s var(--ease), transform 1.4s var(--ease);transform:translateY(20px)}.is-live .hero__copy>*{opacity:1;transform:none}.is-live .hero__copy>:nth-child(2){transition-delay:80ms}.is-live .hero__copy>:nth-child(3){transition-delay:.16s}.is-live .hero__copy>:nth-child(4){transition-delay:.24s}.hero h1{letter-spacing:-.055em;text-shadow:0 2px 24px #00000047;margin:0;font-size:clamp(72px,11vw,184px);font-weight:600;line-height:.88}.hero__sub{max-width:520px;color:color-mix(in srgb, var(--fg) 88%, transparent);text-shadow:0 1px 20px #0006;margin:18px 0 0;font-size:clamp(19px,1.6vw,24px);line-height:1.4}.hero__ctas{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.facts{background:var(--glass);border:1px solid var(--line);opacity:0;border-radius:20px;gap:28px;margin:0;padding:14px 22px;transition:opacity 1.2s .4s;display:flex;position:absolute;bottom:40px;right:0}.is-live .facts{opacity:1;transform:none}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:2px 0 0;font-size:16px;font-weight:600}.setting,.approach{min-height:220svh;padding:0 var(--gutter);align-items:center;display:flex}.setting .card,.approach .card{max-width:460px;padding:28px}.approach{justify-content:flex-end}.tour{height:1300svh}.sticky{height:100svh;padding:90px var(--gutter) var(--gutter);pointer-events:none;justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0}.side{pointer-events:auto;width:min(400px,100%);padding:26px}.side h2{font-size:clamp(30px,2.6vw,42px)}.specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 0;display:grid}.specs div{background:#ffffff0f;border-radius:14px;padding:12px}.specs dt{color:var(--muted);font-size:12px}.specs dd{letter-spacing:-.01em;margin:3px 0 0;font-size:17px;font-weight:650}.steps{gap:6px;margin:22px 0 0;padding:0;list-style:none;display:flex}.steps li{background:#ffffff29;border-radius:3px;flex:1;height:3px;overflow:hidden}.steps li i{background:var(--accent);width:0;height:100%;display:block}.side [data-step-title],.side [data-step-text],.specs{transition:opacity .35s}.side.is-swapping [data-step-title],.side.is-swapping [data-step-text],.side.is-swapping .specs{opacity:0}.homes{background:var(--bg);height:100svh;min-height:640px;position:relative;overflow:hidden}.picker{position:absolute;inset:0}.picker__img,.picker__glow{object-fit:cover;object-position:40% 50%;width:100%;height:100%;position:absolute;inset:0}.picker.is-over{cursor:pointer}.picker.is-contain:before{content:"";background:var(--pimg) center / cover;filter:blur(40px)brightness(.72);position:absolute;inset:-60px}.picker.is-contain .picker__img,.picker.is-contain .picker__glow{object-fit:contain;object-position:25% 50%}.picker__glow{pointer-events:none;opacity:0;filter:drop-shadow(0 0 6px #ffc478d9)drop-shadow(0 0 18px #ffaa5a73);transition:opacity .28s}.picker__glow.on{opacity:1}.side--homes{right:var(--gutter);max-height:calc(100svh - 120px);position:absolute;top:50%;overflow-y:auto;transform:translateY(-46%)}.units{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.units button{text-align:left;background:#ffffff0d;border:1px solid #0000;border-radius:16px;grid-template-columns:1fr auto;gap:2px 12px;width:100%;padding:12px 14px;transition:border-color .2s,background .2s;display:grid}.units button:hover,.units button.on{background:#ffffff14;border-color:#ffd59a99}.units b{font-size:16px}.units small{color:var(--muted);font-size:13px}.units em{text-align:right;font-style:normal;font-weight:650}.units .st{color:#9fe0b0;background:#78c88c29;border-radius:99px;grid-column:2;justify-self:end;padding:2px 8px;font-size:12px;font-weight:650}.units .st.sold{color:var(--muted);background:#ffffff14}.units .st.show{color:var(--accent);background:#efa94a2e}.unit-cta{margin-top:14px}.flat{pointer-events:none;height:280svh;margin-top:-100svh;position:relative}.flat__stick{height:100svh;position:sticky;top:0;overflow:hidden}.pano{z-index:1;opacity:0;pointer-events:none;cursor:grab;touch-action:pan-y;will-change:opacity, transform;width:100%;height:100lvh;display:block;position:fixed;inset:0}.pano.is-on{pointer-events:auto}.in-flat main{pointer-events:none}.in-flat .side--flat,.in-flat .hot,.in-flat .flat__hint{pointer-events:auto}.film{transform-origin:50%;will-change:transform, opacity}.side__cta{margin-top:18px}.pano.is-grabbing{cursor:grabbing}.hotspots{pointer-events:none;position:absolute;inset:0}.hot{pointer-events:auto;transform-origin:50%;will-change:transform;background:#ffffff29;border:2px solid #fffffff2;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;transition:opacity .3s,background .2s;position:absolute;top:0;left:0}.hot:hover{background:#ffffff59}.hot span{white-space:nowrap;background:var(--glass);opacity:0;border-radius:99px;padding:4px 10px;font-size:13px;font-weight:600;transition:opacity .2s;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.hot:hover span{opacity:1}.side--flat{right:var(--gutter);max-height:calc(100svh - 110px);position:absolute;top:50%;overflow-y:auto;transform:translateY(-46%)}.room__dims{justify-content:space-between;align-items:baseline;gap:12px;display:flex;color:var(--fg)!important;margin:10px 0 0!important}.room__dims b{font-size:20px;font-weight:650}.room__dims span{color:var(--muted);font-size:15px}.room__notes{color:var(--muted);gap:4px;margin:12px 0 0;padding:0 0 0 18px;font-size:15px;display:grid}.minimap{background:#ffffff0a;border-radius:14px;width:100%;margin-top:16px;display:block}.minimap rect{fill:#ffffff0d;stroke:#ffffff59;stroke-width:.06px;cursor:pointer;transition:fill .3s}.minimap rect.on{fill:#efa94a59;stroke:var(--accent)}.minimap text{fill:#ffffffb3;pointer-events:none;font-size:.42px}.minimap .cone{fill:#ffffff59}.minimap .me{fill:#fff}.rooms{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.rooms button{background:#ffffff12;border:1px solid #0000;border-radius:99px;padding:6px 11px;font-size:13px;font-weight:600}.rooms button.on{border-color:var(--accent);color:var(--accent)}.unit-sum{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0;display:grid}.unit-sum div{background:#ffffff0d;border-radius:12px;padding:10px 12px}.unit-sum dt{color:var(--muted);font-size:12px}.unit-sum dd{margin:2px 0 0;font-weight:650}.flat__hint{left:var(--gutter);bottom:var(--gutter);pointer-events:auto;background:var(--glass);border:1px solid var(--line);border-radius:99px;margin:0;padding:9px 14px;font-size:14px;font-weight:550;position:absolute}.plans{padding:16vh var(--gutter) 10vh;background:var(--bg)}.plans__head{max-width:680px}.plan-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:6vh;display:grid}.plan-card{border:1px solid var(--line);transition:transform .5s var(--ease), border-color .3s;background:#1d1915;border-radius:22px;flex-direction:column;padding:18px;display:flex}.plan-card:hover{border-color:#efa94a80;transform:translateY(-4px)}.plan-card svg{aspect-ratio:15/13;background:#f1ece2;border-radius:12px;width:100%;margin-bottom:14px}.plan-card h3{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:650}.plan-card p{color:var(--muted);margin:6px 0 0;font-size:15px}.plan-card dl{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 16px;display:grid}.plan-card dt{color:var(--muted);font-size:12px}.plan-card dd{margin:2px 0 0;font-weight:650}.plan-card .pill{height:42px;margin-top:auto;font-size:15px}.fine{color:var(--muted);margin:18px 0 0;font-size:13px}.visit{text-align:center;min-height:100svh;padding:10vh var(--gutter);background:linear-gradient(to bottom, var(--bg), #14110e66), var(--visit-img,none) center / cover;justify-content:center;align-items:center;display:flex}.visit h2{letter-spacing:-.05em;font-size:clamp(48px,6vw,104px)}.visit p{max-width:520px;color:color-mix(in srgb, var(--fg) 86%, transparent);margin:18px auto 0;font-size:19px}.visit .hero__ctas{justify-content:center}.foot{padding:30px var(--gutter);background:var(--bg);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:24px;display:flex}.foot__note{opacity:.5;margin:0 0 0 auto;font-size:13px}@media (max-width:900px){.nav{grid-template-columns:1fr auto}.nav__links{display:none}.hero__copy{padding-bottom:150px}.hero-scrim{background:linear-gradient(#0000 40%,#100c08bf)}.facts{display:none}.setting,.approach{align-items:flex-end;padding-bottom:10vh}.sticky{align-items:flex-end;padding:80px 12px 12px}.side{width:100%;padding:18px}.side h2{font-size:26px}.side p,.specs dd{font-size:15px}.side--homes,.side--flat{width:auto;max-height:46svh;inset:auto 12px 12px;transform:none}.homes{height:auto;min-height:0}.picker{height:74svh;position:relative}.side--homes{max-height:none;margin:0 12px 16px;position:relative;bottom:auto;left:auto;right:auto}.minimap,.unit-sum{display:none}.flat__hint{font-size:13px;top:76px;bottom:auto;left:12px}.plan-cards{grid-template-columns:1fr 1fr}.foot__note{margin-left:0}}@media (max-width:560px){.plan-cards{grid-template-columns:1fr}.nav .pill{padding:0 16px}}
