.light-demo{--band:14px;flex-direction:column;margin:0;display:flex}.light-scene{isolation:isolate;aspect-ratio:4/3;border-radius:calc(var(--radius-lg) - 6px);background:radial-gradient(120% 90% at 50% 38%,#2e2924 0%,#171411 75%);max-height:56svh;position:relative;overflow:hidden}.light-sky,.light-bands,.light-frame{position:absolute;inset:9% 14% 32%}.light-sky{background:radial-gradient(110% 90% at 62% 28%,#fff3cf 0%,#f2cf7c 42%,#c98a34 100%)}.light-bands{background:repeating-linear-gradient(to bottom, #e9e1d3f7 0 var(--band), #f4efe638 var(--band) calc(var(--band) * 2))}.light-bands--front{background-position:0 calc((1 - var(--open)) * var(--band));box-shadow:0 1px #12100d33}.light-bands--front:after{content:"";opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .35' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .33 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");position:absolute;inset:0}.light-frame{border:8px solid #d9cfbf;border-radius:4px;inset:calc(9% - 8px) calc(14% - 8px) calc(32% - 8px);box-shadow:0 18px 30px -18px #000c}.light-frame:after{content:"";background:#d9cfbf;border-radius:3px;height:10px;position:absolute;inset:auto -18px -20px}.light-floor{clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);background:repeating-linear-gradient(to bottom, rgb(244 207 120/calc(.5 * var(--open))) 0 5px, transparent 5px 12px);filter:blur(.6px);height:26%;position:absolute;inset:auto 6% 0}.light-scene:after{content:"";z-index:-1;background:radial-gradient(70% 55% at 50% 45%, rgb(240 192 96/calc(.32 * var(--open))), transparent 70%);position:absolute;inset:0}.light-control{align-items:center;gap:14px;padding:16px 12px 0;display:flex}.light-control label{flex:none;font-size:.92rem;font-weight:600}.light-control input{min-width:0;min-height:44px;accent-color:var(--graphite);cursor:grab;touch-action:pan-y;flex:1;margin:0}.light-control input:active{cursor:grabbing}.light-demo figcaption{color:var(--muted);padding:2px 12px 0;font-size:.8rem}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/manrope-latin-300-normal-BgxWhS7-.woff2)format("woff2"),url(/assets/manrope-latin-300-normal-BXCth4v8.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@property --mx{syntax:"<percentage>";inherits:true;initial-value:70%}@property --my{syntax:"<percentage>";inherits:true;initial-value:40%}:root{interpolate-size:allow-keywords}.progress{z-index:31;background:var(--orange);transform-origin:0;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0;scale:0 1}@supports (animation-timeline:scroll(root)){.js .progress{animation:linear both progress-grow;animation-timeline:scroll(root)}@keyframes progress-grow{to{scale:1}}}.header{transition:box-shadow .4s var(--ease), background-color .4s var(--ease)}.js .header.is-scrolled{box-shadow:0 1px 0 #ffffff80 inset, 0 22px 48px -24px rgb(var(--shade) / .6);background:#f4efe6fa}@property --solid{syntax:"<number>";inherits:true;initial-value:1}@supports (animation-timeline:scroll()){.js .header{transition:none;animation:linear both header-solid;animation-timeline:scroll(root);animation-range:56px 88px}.js .header:has(.navigation.is-open){--solid:1;animation:none}@keyframes header-solid{0%{--solid:0}to{--solid:1}}.js .header,.js .header.is-scrolled{background:rgb(244 239 230/calc(.97 * var(--solid)));box-shadow:0 1px 0 rgb(255 255 255/calc(.5 * var(--solid))) inset, 0 22px 48px -24px rgb(var(--shade) / calc(.6 * var(--solid)))}.js .brand-dark{opacity:var(--solid)}.js .brand-light{opacity:calc(1 - var(--solid))}@media (width>=901px){.js .navigation a:not(.button){color:color-mix(in srgb, var(--muted) calc(var(--solid) * 100%), #f4efe6eb)}.js .navigation a:not(.button):hover{color:color-mix(in srgb, var(--ink) calc(var(--solid) * 100%), var(--sand))}}.js .menu-toggle{box-shadow:inset 0 0 0 1px rgb(244 239 230/calc(.3 * (1 - var(--solid))))}.js .header :focus-visible{outline-color:color-mix(in srgb, var(--graphite) calc(var(--solid) * 100%), var(--gold))}}.js main{overflow-x:clip}.js .hero-image{animation:room-in 2.4s var(--ease-out) both}@keyframes room-in{0%{scale:1.03}}.js .hero-dim{animation:light-in 1.6s var(--ease) both}@keyframes light-in{0%{opacity:.5}}.js .hero-shade{-webkit-mask-image:radial-gradient(60% 55% at var(--mx) var(--my), #000 0%, transparent 75%);-webkit-mask-image:radial-gradient(60% 55% at var(--mx) var(--my), #000 0%, transparent 75%);mask-image:radial-gradient(60% 55% at var(--mx) var(--my), #000 0%, transparent 75%);transition:--mx 1.2s var(--ease-out), --my 1.2s var(--ease-out);animation:26s ease-in-out infinite alternate shade-drift}@keyframes shade-drift{to{translate:-4% 3%}}.js .hero-actions,.js .hero-description,.js .hero-proof{animation:rise 1s var(--ease-out) both}.js .hero-description{animation-delay:.45s}.js .hero-actions{animation-delay:.6s}.js .hero-proof{animation-delay:.8s}.js .split .w{vertical-align:top;margin:-.08em -.03em -.18em;padding:.08em .03em .18em;display:inline-block;overflow:hidden}.js .split .w>span{opacity:0;display:inline-block;translate:0 108%}.js #hero-title.split .w>span{animation:word-rise 1s var(--ease-out) both;animation-delay:calc(var(--i) * 70ms + .1s)}.js :is([data-reveal] h2,h2[data-reveal]).split .w>span{transition:translate .9s var(--ease-out), opacity .6s var(--ease);transition-delay:calc(min(var(--i), 6) * 60ms + var(--d,0s))}.js :is([data-reveal].is-in h2,h2[data-reveal].is-in).split .w>span{opacity:1;translate:0}@keyframes word-rise{to{opacity:1;translate:0}}:where(.js.motion-ready) [data-reveal]{opacity:0;transition:opacity 1s var(--ease), translate 1.1s var(--ease-out);transition-delay:var(--d,0s);translate:0 34px}:where(.js.motion-ready) [data-reveal].is-in{opacity:1;translate:0}:where(.js.motion-ready) [data-reveal].stagger{opacity:1;translate:none}:where(.js.motion-ready) .stagger>*{opacity:0}:where(.js.motion-ready) .stagger.is-in>*{opacity:1;animation:rise .9s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 4) * 90ms + 80ms)}:where(.js.motion-ready) .stagger:where(.model-grid,.project-grid)>*{opacity:1;translate:0 16px}:where(.js.motion-ready) .stagger:where(.model-grid,.project-grid).is-in>*{animation-name:rise-soft}@keyframes rise-soft{0%{translate:0 16px}to{translate:0}}.js [data-motion-settled=true],.js .stagger[data-motion-settled=true]>*,.js [data-motion-settled=true] .split .w>span,.js .split[data-motion-settled=true] .w>span{opacity:1;transition:none;animation:none;translate:none}.stagger>:first-child{--i:0}.stagger>:nth-child(2){--i:1}.stagger>:nth-child(3){--i:2}.stagger>:nth-child(4){--i:3}.stagger>:nth-child(5){--i:4}.stagger>:nth-child(6){--i:5}.stagger>:nth-child(7){--i:6}.stagger>:nth-child(n+8){--i:7}@keyframes rise{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}:where(.js.motion-ready) .label:before{transform-origin:top;transition:scale .8s var(--ease-out) .2s;scale:1 .2}.js .is-in .label:before,.js .is-in.label:before,.js .hero .label:before{scale:1}.js .slats:after{animation:30s ease-in-out infinite alternate sun-pass}@keyframes sun-pass{0%{translate:-18%}to{translate:18%}}:where(.js.motion-ready) .process-list li{border-top-color:#0000;position:relative}:where(.js.motion-ready) .process-list li:after{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:-1px;left:0;right:0;scale:0 1}.js .stagger.is-in>li:after{animation:line-draw 1.1s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 4) * 90ms + .2s)}.js .stagger[data-motion-settled=true]>li:after{animation:none;scale:1}@keyframes line-draw{to{scale:1}}@supports (interpolate-size:allow-keywords){.js .faq-grid details::details-content{height:0;transition:height .45s var(--ease), content-visibility .45s allow-discrete;overflow:clip}.js .faq-grid details[open]::details-content{height:auto}}.text-link svg,.button-icon svg{transition:translate .35s var(--ease)}.text-link:hover svg{translate:2px -2px}@media (prefers-reduced-motion:reduce){.js [data-reveal],.js .stagger>*,.js .split .w>span,.js .process-list li:after{opacity:1;translate:none;scale:none}}.opener{display:none}html.opener-on:not(.no-opener) .opener{z-index:300;background:radial-gradient(120% 90%,#26221d 0%,#12100d 70%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.opener svg{z-index:1;width:min(76vmin,620px);height:auto;position:relative;overflow:visible}.op-bands{z-index:0;pointer-events:none;grid-template-rows:repeat(14,minmax(0,1fr));display:grid;position:absolute;inset:0}.op-bands i{transform-origin:50%;background:radial-gradient(120% 90%,#26221d 0%,#12100d 70%) fixed;height:calc(100% + 1px)}html.opener-opening .opener{background:0 0!important}html.opener-opening .op-bands i{background:linear-gradient(#f4efe612,#0000 38%,#0000004d),radial-gradient(120% 90%,#26221d 0%,#12100d 70%) fixed}@media (width<=639px){.op-bands{grid-template-rows:repeat(10,minmax(0,1fr))}.op-bands i:nth-child(n+11){display:none}}.opener .op-slat,.opener .op-core{transform-box:fill-box;transform-origin:50%}.opener .op-floor{transform-box:fill-box;transform-origin:top}.opener .op-floor polygon{fill:#f4cf78;opacity:.42;filter:blur(.6px)}.opener .op-frame line{stroke:#8d8275;stroke-width:1.2px}.opener .op-box{fill:none;stroke:#d9cfbf;stroke-width:8px}.opener .op-sill{fill:#d9cfbf}.opener-labels{z-index:1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.opener-labels span{text-transform:uppercase;letter-spacing:.02em;color:#fff;opacity:0;white-space:nowrap;font-family:Manrope,sans-serif;font-size:clamp(18px,2.6vw,30px);font-weight:800;position:absolute}.opener-labels span i{color:#f0c060;font-style:normal}.opener-brand{z-index:1;opacity:0;place-items:center;display:grid;position:absolute}.opener-brand img{filter:drop-shadow(0 6px 30px #12100d8c);width:min(62vw,340px);height:auto;display:block}html.opener-lite .opener svg,html.opener-lite .opener-labels,html.opener-lite .op-bands{display:none}html.opener-on:not(.opener-out){background:#12100d}html.opener-on:not(.opener-out) body{overflow:hidden}html.opener-on:not(.opener-out) #inicio,html.opener-on:not(.opener-out) #inicio *,html.opener-on:not(.opener-out) #inicio :before,html.opener-on:not(.opener-out) #inicio :after{animation-play-state:paused!important}
