/* Fixed landscape and foreground-only depth. Original artwork is retained outside localized line repairs. */
html[data-home-design=night]{--paper:#0c100d;--ink:#f8f8f1;--green:#badd24;--muted:#c1c7bd;background:var(--paper)}
.home-page{position:relative}
.home-header{position:absolute;top:0;left:0;right:0;max-width:1920px;width:100%;min-height:0;padding:16px 3%;align-items:flex-start}
.home-brand{width:clamp(130px,10vw,178px)}
.header-links{padding-top:0}
.account-menu{background:#141b12}
.premium-hero{width:100%;max-width:1920px;min-height:0;aspect-ratio:1586/928;margin:0 auto;overflow:hidden;isolation:isolate}
.hero-art.night-art{position:absolute;inset:0;width:100%;height:auto;max-width:none;aspect-ratio:1586/992;margin:0;perspective:none;pointer-events:none}
.night-defs{position:absolute}
.night-scene{position:relative;width:100%;aspect-ratio:1586/992;transform-origin:65% 55%;transition:transform .8s ease-out;z-index:1}
.night-drift{position:absolute;inset:0}
html[data-motion=playing] .night-scene{transform:perspective(1800px) rotateX(calc(var(--tilt-x,0deg)*.55)) rotateY(calc(var(--tilt-y,0deg)*.55))}
.motion-enabled .night-art.is-visible .night-drift{animation:night-float 9s ease-in-out infinite}
.night-landscape,.night-reference,.night-effects,.night-interface{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.night-landscape{z-index:0}
.night-interface{z-index:2;overflow:visible}
.night-reference{z-index:1}
.night-effects{z-index:2;overflow:visible}
.hero-copy{position:relative;width:41%;padding:14.6% 0 40px 3%;pointer-events:none;z-index:3}
.hero-copy h1{font-size:clamp(64px,6.3vw,121px);line-height:.96;letter-spacing:-.06em}
.hero-copy .home-wow{font-size:1.12em;line-height:1.02;color:#badd24}
.hero-description{font-size:clamp(16px,1.15vw,21px);line-height:1.4;max-width:64%;margin:24px 0 0}
.hero-description>span{color:#bbd94c}
.hero-closing{font-size:clamp(16px,1.15vw,21px);line-height:1.4;max-width:64%;margin:20px 0 0}
.hero-actions{max-width:85%;margin-top:22px;gap:12px 22px}
.button-primary{background:#badd24;box-shadow:0 6px 28px #badd2418}
.hero-actions .button-primary{padding:13px 19px;font-size:14px}
.hero-actions .button-text{font-size:13px}
.workflow-strip{margin-top:0;background:#0c100df5;border-color:#59604c}
.night-chip-aura{opacity:.6}
.night-chip-letter-shade{fill:#192813;opacity:.3}
.night-chip-letter-light{fill:#dcff8a;opacity:.6;mix-blend-mode:screen;filter:drop-shadow(0 0 8px #beff38) drop-shadow(0 0 2px #d6ff68)}
.night-window-scan,.night-water-reflection,.night-water-glint{opacity:0}
.motion-enabled .night-art.is-visible .night-window-scan{animation:night-window-sweep 5.8s ease-in-out infinite alternate}
.motion-enabled .night-art.is-visible .night-water-reflection{animation:night-water 5.4s ease-in-out infinite alternate}
.motion-enabled .night-art.is-visible .night-water-glint{animation:night-glint 4.2s ease-in-out -1.4s infinite alternate}
.motion-enabled .night-art.is-visible .night-chip-aura,.motion-enabled .night-art.is-visible .night-chip-letter-light{animation:chip-flicker 3.8s linear infinite}
.motion-enabled .night-art.is-visible .night-chip-letter-shade{animation:night-letter-dim 3.8s linear infinite}
@keyframes night-letter-dim{0%,21%,46%,100%{opacity:.3}24%{opacity:.65}28%{opacity:.08}56%{opacity:.16}60%{opacity:.5}64%{opacity:.04}82%{opacity:.19}88%{opacity:.46}92%{opacity:.25}}
@keyframes night-window-sweep{0%{transform:translateX(40px);opacity:.15}12%,88%{opacity:.4}100%{transform:translateX(530px);opacity:.15}}
@keyframes night-water{0%{transform:translate(-1px,.4px);opacity:.08}48%{opacity:.22}100%{transform:translate(1px,-.4px);opacity:.12}}
@keyframes night-glint{0%,100%{opacity:.025}50%{opacity:.075}}
@media(min-width:1921px){.hero-copy h1{font-size:121px}.hero-description,.hero-closing{font-size:21px}}
@media(min-width:1001px) and (max-width:1300px){
 .home-header{padding-top:16px}.home-brand{width:130px}.header-links>a{display:none}
 .premium-hero{aspect-ratio:auto;min-height:max(700px,58.5vw)}
 .hero-copy{padding-top:15%;width:42%}.hero-copy h1{font-size:6.2vw}
 .hero-description,.hero-closing{max-width:64%;font-size:16px}
 .hero-description{margin-top:22px}.hero-closing{margin-top:18px}
 .hero-actions{max-width:88%;gap:8px 16px}.hero-actions .button-primary{font-size:13px}
}
@media(max-width:1000px){
 .home-header{position:relative;align-items:center;padding:22px 24px 8px;background:#0c100d}
 .home-brand{width:140px}.header-links{padding:0;font-size:13px}
 .premium-hero{display:flex;flex-direction:column;min-height:0;aspect-ratio:auto;overflow:hidden}
 .hero-copy{order:0;width:100%;padding:28px 24px 0;pointer-events:auto}
 .hero-copy h1{font-size:clamp(62px,10.5vw,86px)}
 .hero-description,.hero-closing{max-width:560px;font-size:18px}
 .hero-actions{max-width:none;margin-top:24px}
 .hero-art.night-art{order:1;position:relative;inset:auto;width:132%;height:auto;max-width:none;margin:-30px 0 -5% -32%;aspect-ratio:1586/992}
 .night-art::after{content:'';position:absolute;inset:0 0 auto;height:8%;background:linear-gradient(#0c100d,transparent);z-index:4}
 .workflow-strip{margin-top:0}
}
@media(max-width:600px){
 .home-header{padding:18px 20px 8px}.home-brand{width:122px}
 .hero-copy{padding:25px 20px 0}.hero-copy h1{font-size:clamp(46px,14.2vw,72px)}
 .hero-description{font-size:17px;max-width:360px;margin-top:25px}
 .hero-closing{font-size:18px;max-width:340px;margin-top:20px}
 .hero-actions{gap:12px 18px;margin-top:22px}.hero-actions .button-primary{padding:13px 17px}
 .hero-art.night-art{margin-top:0;margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){.night-window-scan,.night-water-reflection,.night-water-glint{display:none}.night-chip-aura{opacity:.6}}

/* Camera optics and room links are fixed to the same moving scene as the house. */
.night-room-halo{stroke:#bde94e;stroke-width:6;opacity:.11}
.night-room-line{stroke:#d5fa7d;stroke-width:1.55;opacity:.7}
.night-room-port{fill:#efffc2;stroke:none;opacity:.85}
.night-endpoint-halo{fill:url(#night-orb-halo);stroke:none;opacity:.7}
.night-endpoint-ring{stroke:#d8ff88;stroke-width:.9;opacity:.65}
.night-endpoint-core{fill:#f3ffc9;stroke:none}
.night-camera-target{filter:drop-shadow(0 1px 2px #081005)}
.night-camera-frame{stroke:#fff;stroke-width:2.8;opacity:.94;filter:drop-shadow(0 0 2px #ffffff30)}
.night-camera-crosshair{stroke:#fff;stroke-width:1.8;opacity:.95}
.night-camera-center{fill:#fff;stroke:#0c100d;stroke-width:.75;filter:drop-shadow(0 0 3px #ffffff70)}
.motion-enabled .night-art.is-visible .night-room-line{animation:night-line-pulse 3.4s ease-in-out var(--room-delay,0s) infinite}
.motion-enabled .night-art.is-visible .night-room-halo{animation:night-link-glow 3.4s ease-in-out var(--room-delay,0s) infinite}
.motion-enabled .night-art.is-visible .night-endpoint-halo,.motion-enabled .night-art.is-visible .night-endpoint-ring{animation:night-endpoint-pulse 3.4s ease-in-out var(--room-delay,0s) infinite;transform-box:fill-box;transform-origin:center}
@keyframes night-float{0%,100%{transform:translateY(4px)}50%{transform:translateY(-6px)}}
@keyframes night-line-pulse{0%,100%{opacity:.38}45%,55%{opacity:.92}}
@keyframes night-link-glow{0%,100%{opacity:.045}45%,55%{opacity:.22}}
@keyframes night-endpoint-pulse{0%,100%{opacity:.3;transform:scale(.92)}45%,55%{opacity:.95;transform:scale(1.14)}}
@media(prefers-reduced-motion:reduce){.night-drift,.night-scene{transform:none!important;animation:none!important}}

/* The retained source lights remain static without JS, with reduced motion or without motion-path support. */
.night-source-orb{transform:translate(var(--orb-x),var(--orb-y));offset-rotate:0deg;offset-anchor:0px 0px;transform-box:view-box;mix-blend-mode:screen}
@supports(offset-path:path("M0 0 L1 1")){
 .motion-enabled .night-source-orb{transform:none;offset-path:var(--orb-path)}
 .motion-enabled .night-art.is-visible .night-source-orb{animation:night-source-travel var(--orb-duration) linear var(--orb-delay) infinite}
}
@keyframes night-source-travel{0%{offset-distance:0%;opacity:0}6%{opacity:1}86%{offset-distance:100%;opacity:1}93%,100%{offset-distance:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.night-source-orb{offset-path:none!important;transform:translate(var(--orb-x),var(--orb-y))!important}}

/* Each orbit is one continuous vector, sharing its transform and geometry with its light. */
.night-orbit-underlay{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.night-orbit-line{stroke:#d7ef85;stroke-width:1.35;stroke-linecap:round;opacity:.72}
.night-orbit-halo{stroke:#b8e64c;stroke-width:5;stroke-linecap:round;opacity:.13;filter:blur(2px)}
.night-ring-line{stroke:#e9ff9d;stroke-width:1.65;opacity:.9}
.night-ring-halo{stroke:#c4ef5c;stroke-width:12;opacity:.38;filter:blur(7px)}
.night-orbit-origin,.night-orbit-port{fill:#efffc2;filter:drop-shadow(0 0 4px #c5f74a)}
