:root{--deep:#14110d;--dim:#a79c88;--gold:#e8c87a;--glass:rgba(32,25,17,.66);--glass-line:rgba(232,226,212,.2)}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#overlay{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1;cursor:crosshair}.nomo #overlay{display:none}#spacer{position:relative;z-index:2;pointer-events:none}.stage{position:fixed;inset:0;z-index:3;pointer-events:none;perspective:1200px;perspective-origin:50% 46%}.arrival{transition:opacity .78s cubic-bezier(.17,.84,.3,1),transform .78s cubic-bezier(.17,.84,.3,1)}.panel:not([data-on]),.services:not([data-on]),.aldo:not([data-on]),.arrive:not([data-on]),.win:not([data-on]){backdrop-filter:none;-webkit-backdrop-filter:none}.panel{position:absolute;opacity:0;transform:translateZ(-380px) translateY(34px);transition:opacity .78s cubic-bezier(.17,.84,.3,1),transform .78s cubic-bezier(.17,.84,.3,1);padding:clamp(1.4rem,2.6vw,2rem);width:min(44ch,42vw)}.panel[data-on]{opacity:1;transform:translateZ(0) translateY(0);pointer-events:auto}.panel.left{left:clamp(1.25rem,5vw,4rem);top:50%;margin-top:-7rem}.panel.right{right:clamp(1.25rem,5vw,4rem);top:50%;margin-top:-7rem}@media(max-width:860px){.panel.left,.panel.right{left:1rem;right:1rem;width:auto;top:auto;bottom:7vh;margin:0}}.eyebrow{margin:0 0 .85rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff9e}.panel h2{margin:0;font-size:clamp(1.5rem,3.2vw,2.5rem);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:balance;color:var(--ink)}.panel p{margin:1rem 0 0;color:var(--body);line-height:1.6;font-size:clamp(.9rem,1.25vw,1rem)}.hero{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 1.5rem;transition:opacity .4s ease}.hero h1{margin:0;font-size:clamp(2.25rem,6.5vw,5rem);font-weight:400;line-height:.98;letter-spacing:-.05em;color:var(--ink);text-wrap:balance;text-shadow:0 4px 40px rgba(0,0,0,.6)}.hero .heromark{margin:0;display:flex;justify-content:center;color:var(--ink);filter:drop-shadow(0 4px 40px rgba(0,0,0,.6))}.hero .mark{margin:0 0 1.5rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}.hero .sub{margin:1.5rem auto 0;max-width:40ch;color:var(--body);line-height:1.55;font-size:1rem}.scrollcue{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);font-family:var(--mono);font-size:.625rem;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);transition:opacity .4s ease}.scrollcue i{display:block;width:1px;height:30px;margin:.7rem auto 0;background:linear-gradient(var(--faint),transparent)}.services{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(-420px) translateY(30px);width:min(720px,90vw);opacity:0;padding:clamp(1.5rem,3vw,2.25rem);transition:opacity .78s cubic-bezier(.17,.84,.3,1),transform .78s cubic-bezier(.17,.84,.3,1)}.services[data-on]{opacity:1;transform:translate(-50%,-50%) translateZ(0) translateY(0);pointer-events:auto}.services h2{margin:0;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:400;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.services ol{margin:1.5rem 0 0;padding:0;list-style:none;border-top:1px solid rgba(232,226,212,.16)}.services li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:1rem;align-items:baseline;border-bottom:1px solid rgba(232,226,212,.16);padding:.75rem 0}.services .n{font-family:var(--mono);font-size:.6875rem;color:#ffffff8c}.services .t{font-size:clamp(.95rem,1.7vw,1.15rem);letter-spacing:-.02em;color:var(--ink)}.services .d{font-size:.8125rem;color:var(--muted);text-align:right;max-width:26ch;line-height:1.45}@media(max-width:640px){.win{width:min(300px,68vw)}}@media(max-width:700px){.services li{grid-template-columns:2rem 1fr}.services .d{grid-column:2;text-align:left;margin-top:.2rem;max-width:none}}.aldo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(-460px) translateY(28px);width:min(1080px,94vw);opacity:0;padding:clamp(1.4rem,3vw,2.1rem);transition:opacity .78s cubic-bezier(.17,.84,.3,1),transform .78s cubic-bezier(.17,.84,.3,1)}.aldo[data-on]{opacity:1;transform:translate(-50%,-50%) translateZ(0) translateY(0);pointer-events:auto}.aldo .in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,3.5vw,2.75rem);align-items:stretch}@media(max-width:820px){.aldo .in{grid-template-columns:1fr}.aldo .fig{max-width:460px;margin-inline:auto;height:auto}.aldo .stack{aspect-ratio:420/260;flex:0 0 auto}}.aldo h2{margin:0 0 .35rem;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:400;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.aldo .say{margin:0 0 1.25rem;color:var(--body);font-size:.9rem;line-height:1.6;max-width:40ch}.aldo ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(232,226,212,.16)}.aldo li{display:grid;grid-template-columns:2.1rem 1fr;gap:.75rem;align-items:baseline;border-bottom:1px solid rgba(232,226,212,.16);padding:.6rem 0}.aldo .n{font-family:var(--mono);font-size:.625rem;color:#ffffff8c;letter-spacing:.1em}.aldo .t{font-size:.95rem;color:var(--ink);letter-spacing:-.01em}.aldo .t small{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem;letter-spacing:0}.aldo .goes{margin:1.25rem 0 0;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.aldo .go2{font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--glass-line);padding:.35rem 0 .25rem;transition:color .18s ease,border-color .18s ease}.aldo .go2:hover{color:var(--ink);border-color:var(--ink)}.aldo .go{margin:0;display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--invert);background:#fff;border-radius:999px;padding:.55rem .95rem;text-decoration:none}.aldo .go:hover{background:#ffffffd1}.aldo .fig{margin:0;border:1px solid var(--glass-line);border-radius:8px;background:#0a07048c;overflow:hidden;height:100%;display:flex;flex-direction:column;padding:clamp(.6rem,1.4vw,1rem)}.aldo .figcap{font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:.5rem .7rem;border-top:1px solid var(--glass-line)}.aldo .fig [data-step]{opacity:1}.aldo[data-on] .fig [data-step]{animation:aldoCycle 9s linear infinite}.aldo[data-on] .fig [data-step="1"]{animation-delay:0s}.aldo[data-on] .fig [data-step="2"]{animation-delay:.9s}.aldo[data-on] .fig [data-step="3"]{animation-delay:1.8s}.aldo[data-on] .fig [data-step="4"]{animation-delay:2.7s}@keyframes aldoCycle{0%,4%{opacity:0}12%,86%{opacity:1}96%,to{opacity:0}}.aldo[data-on] .fig .sweep{animation:aldoSweep 9s ease-in-out infinite}@keyframes aldoSweep{0%,8%{transform:translateY(0);opacity:0}14%{opacity:.9}60%{transform:translateY(150px);opacity:.9}70%,to{transform:translateY(150px);opacity:0}}.aldo .stack{position:relative;flex:1 1 auto;min-height:190px;perspective:1200px}.aldo .lay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.aldo .lay *{vector-effect:non-scaling-stroke}.aldo .plan{animation:figPlan 14s cubic-bezier(.6,.02,.3,1) infinite;transform-origin:50% 55%}.aldo .axo{animation:figAxo 14s cubic-bezier(.6,.02,.3,1) infinite;transform-origin:50% 55%;opacity:0}@keyframes figPlan{0%,4%{opacity:0;transform:rotateX(0) scale(.97)}9%,30%{opacity:1;transform:rotateX(0) scale(1)}42%{opacity:0;transform:rotateX(46deg) scale(1.02)}to{opacity:0;transform:rotateX(46deg) scale(1.02)}}@keyframes figAxo{0%,33%{opacity:0;transform:rotateX(30deg) scale(.99)}44%,92%{opacity:1;transform:rotateX(0) scale(1)}98%,to{opacity:0;transform:rotateX(0) scale(1)}}.aldo .parcel{fill:none;stroke:#ffffffd9;stroke-width:1.3}.aldo .setback{fill:none;stroke:#ffffff80;stroke-width:1;stroke-dasharray:5 4}.aldo .build{fill:#ffffff29;stroke:#ffffffb3;stroke-width:1}.aldo .grid line{stroke:#ffffff21;stroke-width:.6}.aldo .foot{fill:#ffffff4d;stroke:#fff;stroke-width:1.1}.aldo .posts line,.aldo .roof line{stroke:#fff;stroke-width:1.15}.aldo .eaves{fill:none;stroke:#fff;stroke-width:1.15}.aldo .pitch{fill:#ffffff38;stroke:none}.aldo .pitch.b{fill:#ffffff1c}.aldo .sunpath{fill:none;stroke:#ffffff6b;stroke-width:.9;stroke-dasharray:3 5}.aldo .axo .parcel{animation:figIn 14s linear infinite;animation-delay:-.2s}.aldo .axo .grid{animation:figIn 14s linear infinite;animation-delay:.1s}.aldo .axo .setback{animation:figIn 14s linear infinite;animation-delay:.5s}.aldo .axo .build{animation:figIn 14s linear infinite;animation-delay:.9s}.aldo .axo .foot{animation:figIn 14s linear infinite;animation-delay:1.4s}.aldo .axo .posts{animation:figIn 14s linear infinite;animation-delay:1.9s}.aldo .axo .eaves{animation:figIn 14s linear infinite;animation-delay:2.3s}.aldo .axo .pitch{animation:figIn 14s linear infinite;animation-delay:2.8s}.aldo .axo .pitch.b{animation:figIn 14s linear infinite;animation-delay:2.95s}.aldo .axo .roof{animation:figIn 14s linear infinite;animation-delay:2.7s}.aldo .axo .sunpath{animation:figIn 14s linear infinite;animation-delay:3.6s}@keyframes figIn{0%,22%{opacity:0}30%,92%{opacity:1}97%,to{opacity:0}}.aldo .tags{position:absolute;inset:0;pointer-events:none}.aldo .tag{position:absolute;font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:#fffc;background:#100b06c7;padding:.2rem .4rem;border-radius:3px;white-space:nowrap;opacity:0;animation:tagIn 14s linear infinite}.aldo .t1{left:2%;top:3%;animation-delay:.2s}.aldo .t2{right:2%;top:3%;animation-delay:1.1s}.aldo .t3{left:2%;bottom:4%;animation-delay:2s}.aldo .t4{right:2%;bottom:4%;animation-delay:3.4s}@keyframes tagIn{0%,4%{opacity:0;transform:translateY(4px)}10%,90%{opacity:1;transform:none}96%,to{opacity:0}}.aldo .figcap{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.55rem;font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.aldo .figcap .s{opacity:.35;animation:capOn 14s linear infinite}.aldo .s1{animation-delay:.2s}.aldo .s2{animation-delay:1.1s}.aldo .s3{animation-delay:2s}.aldo .s4{animation-delay:2.9s}@keyframes capOn{0%,4%{opacity:.3;color:var(--faint)}9%,26%{opacity:1;color:var(--ink)}34%,to{opacity:.35;color:var(--faint)}}@media(prefers-reduced-motion:reduce){.aldo .plan{display:none}.aldo .axo,.aldo .axo *,.aldo .tag,.aldo .figcap .s{animation:none;opacity:1;transform:none}}.nomo .aldo .plan{display:none}.nomo .aldo .axo,.nomo .aldo .axo *,.nomo .aldo .tag,.nomo .aldo .figcap .s{animation:none!important;opacity:1!important;transform:none!important}.win{position:absolute;left:0;top:0;width:min(300px,46vw);overflow:hidden;opacity:0;transition:opacity .4s ease;will-change:transform}.win[data-on]{opacity:1;pointer-events:auto}.win .shot{aspect-ratio:4/3;background:#241d14 var(--photo) center/cover}.win .bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border-top:1px solid var(--glass-line)}.win .name{margin:0;font-size:.8125rem;color:var(--ink)}.win .meta{margin:0;font-family:var(--mono);font-size:.625rem;color:var(--muted);letter-spacing:.05em}.winlink{display:block;text-decoration:none;color:inherit}.win .plus{all:unset;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--glass-line);border-radius:5px;color:var(--ink);font-size:15px;flex:0 0 auto}.winlink:hover .plus{background:var(--chip);border-color:var(--chip);color:var(--invert)}.winlink:focus-visible{outline:2px solid var(--chip);outline-offset:3px;border-radius:var(--radius)}.arrive{position:absolute;left:50%;top:50%;width:min(540px,92vw);transform:translate(-50%,-50%) translateZ(-620px);opacity:0;padding:clamp(1.5rem,3.5vw,2.4rem);transition:opacity .78s cubic-bezier(.17,.84,.3,1),transform .78s cubic-bezier(.17,.84,.3,1)}.arrive[data-on]{opacity:1;transform:translate(-50%,-50%) translateZ(0);pointer-events:auto}.arrive h2{margin:0;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:400;letter-spacing:-.03em;line-height:1.08;color:var(--ink)}.arrive p{margin:.9rem 0 1.5rem;color:var(--body);font-size:.9375rem;line-height:1.6}.arrive .row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.arrive textarea{display:block;width:100%;box-sizing:border-box;background:#00000040;border:1px solid var(--glass-line);border-radius:6px;color:var(--ink);font-family:inherit;font-size:1rem;line-height:1.5;padding:.7rem .85rem;resize:vertical;min-height:5.2rem}.arrive textarea::placeholder{color:var(--faint)}.arrive textarea:focus{outline:none;border-color:#ffffffb3}.arrive textarea[aria-invalid=true],.arrive input[aria-invalid=true]{border-color:#ffb4a2}.arrive input{flex:1 1 210px;min-width:0;background:#00000040;border:1px solid var(--glass-line);border-radius:6px;color:var(--ink);font-family:inherit;font-size:1rem;padding:.7rem .85rem}.arrive input::placeholder{color:var(--faint)}.arrive input:focus{outline:none;border-color:#ffffffb3}.arrive button{all:unset;cursor:pointer;background:#fff;color:var(--invert);font-weight:600;border-radius:8px;font-size:.9375rem;padding:.7rem 1.4rem}.arrive button:hover{background:#ffffffd1}.arrive button:focus-visible{outline:2px solid #fff;outline-offset:2px}.hud{position:fixed;z-index:4;font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);pointer-events:none}.hud.bl{bottom:clamp(1rem,3vw,1.6rem);left:clamp(1rem,3vw,1.6rem)}.hud .tch{display:none}@media(hover:none){.hud .ptr{display:none}.hud .tch{display:inline}}@media(max-width:560px){.hud.br{display:none}}.hud.br{bottom:clamp(1rem,3vw,1.6rem);right:clamp(1rem,3vw,1.6rem);text-align:right;transition:opacity .5s ease}.nomo .hud{display:none}.nomo *{transition:none!important;animation:none!important}.nomo #scene{display:none}.nomo .stage{position:static}.nomo #spacer{height:auto!important}.nomo .hero{position:static;transform:none;padding:6rem 1.5rem 3rem}.nomo .scrollcue,.nomo .hud.br{display:none}.nomo .panel,.nomo .services,.nomo .arrive,.nomo .aldo,.nomo .win{position:static;opacity:1;transform:none;margin:0 auto 3rem;pointer-events:auto;width:min(640px,92vw)}.nomo .win{transform:none!important;left:auto!important;top:auto!important;opacity:1!important;pointer-events:auto!important}.arrive .formmsg{margin:.85rem 0 0;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-height:1em}.arrive .formmsg.ok{color:var(--gold)}.arrive .formmsg.error{color:#ffb4a2}.arrive .formmsg a{color:inherit}.arrive form.sent{display:none}.arrive button[disabled]{opacity:.55;cursor:default}
