:root{--ease:cubic-bezier(.23,1,.32,1)}#atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.42}.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--gold);z-index:30;transform-origin:left;transform:scaleX(0)}.header{position:fixed;height:90px;transition:background 250ms,box-shadow 250ms}.header.scrolled{background:#080807ed;box-shadow:0 1px 0 #e4b87324}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.hero{height:auto;max-height:none;min-height:0;display:block;overflow:clip}.hero-stage{position:relative;height:100svh;min-height:780px;isolation:isolate;overflow:hidden}.hero:after{display:none}.hero-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(#080807 0%,#08080760 40%,transparent 65%,#080807 100%)}.hero-content{z-index:4;transform-origin:50% 30%;padding-top:160px}.hero-content h1{font-size:clamp(55px,6.4vw,96px)}.hero-art{inset:12% -8% -10%}.hero-bottom{z-index:5}.solar-scene{display:none;position:absolute;inset:0;z-index:-2;pointer-events:none}.solar-ready .solar-scene{display:block}.solar-ready .hero-art{opacity:0}.solar-sky{position:absolute;inset:0;clip-path:inset(0 0 22% 0)}.solar-orb{position:absolute;left:50%;top:80%;width:min(76vw,1000px);aspect-ratio:1;transform:translate(-50%,-35%);mix-blend-mode:screen}.solar-orb img{width:100%;height:100%;object-fit:contain;display:block}.solar-halo{position:absolute;left:50%;top:78%;width:100vw;height:90vh;background:radial-gradient(ellipse,#f6af3b50 0%,#c1761c20 32%,transparent 65%);transform:translate(-50%,-50%);opacity:.7}.horizon-light{position:absolute;top:78%;left:-10%;width:120%;height:1px;background:linear-gradient(90deg,transparent,#e4b87344 15%,#ffe4ac 50%,#e4b87344 85%,transparent);box-shadow:0 -3px 28px 3px #efa13960}.solar-ground{position:absolute;inset:78% 0 0;background:linear-gradient(#100e09,#080807 90%)}.orbit{position:absolute;border:1px solid #e4b87320;border-radius:50%;width:75vw;height:75vw;left:12.5%;top:25%;transform:rotateX(65deg) rotateZ(-25deg)}.orbit-two{width:95vw;height:95vw;left:2.5%;top:14%;opacity:.4}.dawn-caption{position:absolute;top:22%;left:7%;right:7%;text-align:center;z-index:4;pointer-events:none;opacity:0;font-size:clamp(42px,6vw,88px);line-height:1.12;letter-spacing:-.04em}.dawn-caption span{display:block}.dawn-caption span:last-child{color:#f4cf92}.animating .hero{height:240svh;overflow:visible}.animating .hero-stage{position:sticky;top:0;height:100svh}.kinetic-strip{overflow:hidden;border-block:1px solid #e4b87324;padding:25px 0;background:#0e0d0a;position:relative;z-index:2}.kinetic-strip>div{display:flex;gap:35px;align-items:center;width:max-content;white-space:nowrap;font-size:clamp(23px,3.2vw,46px);letter-spacing:-.035em;color:#d4c9b5;transform:translateX(-6%)}.kinetic-strip span{font-size:.8em;color:var(--gold)}
.intro{position:relative;z-index:2}.intro h2{font-size:clamp(40px,4.2vw,63px)}.word,.word-inner{display:inline-block}.word-inner{transform-origin:50% 100%}.word-space{white-space:pre}.workshop{background:radial-gradient(ellipse at 75% 55%,#28201255,transparent 60%),#10100d}.model{perspective:1100px;transform-style:preserve-3d}.model .layer{will-change:transform}.assembly-notes span{transition:color 200ms}.assembly-notes i{transform-origin:left;transition:transform 250ms}.assembly-notes span.active{color:var(--gold)}.assembly-notes span.active i{transform:scaleX(1.65)}.service-row{position:relative;isolation:isolate;transition:background 250ms}.service-row:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--ease)}.service-row:hover:before{transform:scaleX(1)}.service-row h3{transition:transform 250ms var(--ease),color 250ms}.service-row:hover h3{color:var(--gold);transform:translateX(10px)}.service-row>span{transition:transform 250ms var(--ease)}.service-row:hover>span{transform:translateX(-10px)}.detail-section{position:relative;z-index:2;overflow:hidden}.detail-section:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #91764730;border-radius:50%;left:-280px;top:-90px}.step{position:relative}.step:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform 500ms var(--ease)}.process-list li.passed .step:after{transform:scaleX(1)}.process-list h3{transition:color 250ms}.process-list li.passed h3{color:#f4cf92}.contact-glow{background:radial-gradient(ellipse at 50% 90%,#a5702f55,transparent 65%);inset:-25%}.contact-inner{position:relative;z-index:2}.footer-wordmark{transform-origin:left bottom}.button{position:relative;overflow:hidden;transition:transform 160ms var(--ease),background 200ms}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff5 50%,transparent 80%);transform:translateX(-130%);pointer-events:none;transition:transform 500ms var(--ease)}.button:hover:before{transform:translateX(130%)}.button svg,.text-link svg,.header-contact svg{transition:transform 200ms var(--ease)}.button:hover svg,.text-link:hover svg{transform:translateX(4px)}.header-contact:hover svg{transform:translate(3px,-3px)}.button:active{transform:scale(.97)}.motion-control{position:fixed;right:20px;bottom:18px;z-index:25;display:flex;align-items:center;gap:9px;padding:10px 13px;min-height:44px;background:#12110eea;color:#ddd1bd;border:1px solid #81735e;border-radius:5px;font-size:11px;cursor:pointer}.motion-control:hover{background:#33291b}.motion-control:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.motion-paused #atmosphere{opacity:0}.motion-paused .dawn-caption{display:none}.motion-paused .hero-content{transform:none!important;opacity:1!important}.motion-paused .word-inner{transform:none!important;opacity:1!important}.motion-paused .layer{transform:none!important}.motion-paused .solar-orb{transform:translate(-50%,-50%)!important}
@media(hover:hover) and (pointer:fine){.service-row:hover{background:#e4b87306}.model:hover{cursor:crosshair}}
@media(max-width:720px){.header{height:80px}.hero-stage{min-height:720px}.hero-content{padding-top:143px}.hero-content h1{font-size:clamp(38px,8.8vw,62px)}.animating .hero{height:175svh}.hero-bottom>span{display:none}.solar-orb{width:150vw;top:79%}.solar-halo{width:160vw}.dawn-caption{top:28%;font-size:42px}.orbit{width:150vw;height:150vw;left:-25%;top:45%}.orbit-two{width:180vw;height:180vw;left:-40%;top:35%}.kinetic-strip{padding-block:20px}.kinetic-strip>div{gap:22px;font-size:28px}.intro h2{font-size:37px}.motion-label{display:none}.motion-control{right:12px;bottom:12px;padding:10px 15px}.footer{padding-bottom:75px}.hero-bottom{bottom:32px;font-size:11px}}
@media(max-height:650px) and (min-width:721px){.hero-stage{min-height:600px}.hero-content{padding-top:110px}.hero-content h1{font-size:60px}.hero-content p{margin:18px auto}.solar-orb{width:65vw}.dawn-caption{font-size:60px}}
.solar-orb{top:96%;mask-image:radial-gradient(circle at 50% 50%,#000 48%,transparent 70%)}.dawn-caption{top:20%;text-shadow:0 2px 4px #080807,0 8px 35px #080807}.dawn-caption:before{content:'';position:absolute;inset:-25%;background:radial-gradient(ellipse,#080807a8,transparent 68%);z-index:-1}.hero-stage{min-height:min(780px,100svh)}.solar-ground{background:linear-gradient(#100e0960,#080807 90%)}.solar-scene{z-index:-1}.hero-stage:after{z-index:0}.hero-bottom{bottom:35px}.motion-control{right:16px;bottom:12px}.assembly-sequence{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:none}.sequence-ready .assembly-sequence{display:block}.sequence-ready .layer{visibility:hidden}
@media(max-width:720px){.solar-orb{top:93%;width:150vw}.hero-stage{min-height:650px}.hero-bottom{bottom:55px}.dawn-caption{font-size:38px;top:23%}.hero-content{padding-top:130px}.animating .hero{height:195svh}}
@media(prefers-reduced-motion:reduce){.animating .hero{height:auto}.hero-stage{position:relative}.dawn-caption,#atmosphere{display:none}.solar-orb{transform:translate(-50%,-50%)!important}.word-inner{opacity:1!important;transform:none!important}.kinetic-strip>div{transform:none!important}}
.hero-bottom{bottom:65px}.motion-control{display:none}.js .motion-control{display:flex}.motion-control:disabled{cursor:default;opacity:.7}@media(max-width:720px){.hero-bottom{bottom:60px}}
/* The original supplied logo, framed without redrawing its artwork. */
.logo-window{position:relative;display:block;overflow:hidden;isolation:isolate;flex-shrink:0;aspect-ratio:1.28;width:100px;line-height:0}
.logo-window img{position:absolute;width:232%;max-width:none;height:auto;left:-66%;top:-20%;mix-blend-mode:screen}
.footer-wordmark.logo-window{width:clamp(220px,30vw,360px);margin-inline:auto}
/* A day unfolding: parchment, bronze, daylight, clay and twilight. */
.intro.wrap,.services.wrap,.process.wrap,.faq.wrap{width:100%;padding-inline:max(56px,calc((100% - 1280px)/2));position:relative;isolation:isolate;overflow:hidden}
.intro{background:#eee4d2;color:#30281e;--muted:#625342;--gold:#805020;--line:#b5a28a}
.intro:before,.services:before,.process:before,.faq:before{content:'';position:absolute;pointer-events:none;z-index:-1;width:65vw;height:65vw;max-width:950px;max-height:950px;border:1px solid currentColor;border-radius:50%;right:-25%;top:-35%;opacity:.12;transform:translateY(var(--scene-y,0px)) rotate(var(--scene-turn,0deg))}
.intro:after{content:'';position:absolute;z-index:-1;inset:-30%;background:radial-gradient(ellipse at 15% 65%,#d9a75d55,transparent 55%);transform:translateY(var(--scene-y,0px));pointer-events:none}
.workshop{background:radial-gradient(ellipse at 70% 45%,#74552e55,transparent 65%),#29231b}
.services{background:#f5f0e5;color:#30281e;--muted:#655746;--gold:#85551e;--line:#c6b9a4}
.services:before{right:auto;left:-42%;top:10%;border-width:55px;opacity:.045}
.services .service-row>span{color:#795934}.services .service-row:hover{background:#b88b4020}
.detail-section{background:#b96843;color:#251b15}.detail-items p{color:#3d281e}.detail-section:before{width:620px;height:620px;left:-350px;top:-130px;border:1px solid #efc49d88;transform:translateY(var(--scene-y,0px)) scale(1.1)}
.process{background:#ead9ba;color:#33291c;--muted:#61513d;--gold:#865321;--line:#bbaa8b}
.process:before{top:10%;right:-10%;width:600px;height:600px;border-radius:0;border-width:1px;transform:translateY(var(--scene-y,0px)) rotate(calc(45deg + var(--scene-turn,0deg)))}
.process-list li.passed h3{color:#89501c}
.faq{background:#ead9ba;color:#33291c;--muted:#61513d;--gold:#865321;--line:#bbaa8b}.faq:before{display:none}
.contact{background:#352e3e}.contact-glow{background:radial-gradient(ellipse at 50% 85%,#dd8b5080,transparent 65%)}
.footer{background:#080807}
@media(max-width:1050px){.intro.wrap,.services.wrap,.process.wrap,.faq.wrap{padding-inline:32px}}
@media(max-width:720px){.logo-window{width:86px}.intro.wrap,.services.wrap,.process.wrap,.faq.wrap{padding-inline:22px}.intro:before{width:110vw;height:110vw;right:-60%;top:0}.footer-wordmark.logo-window{width:240px}}
@media(prefers-reduced-motion:reduce){.intro:before,.intro:after,.services:before,.detail-section:before,.process:before{transform:none}}
.logo-window{aspect-ratio:1.23;mix-blend-mode:screen}.logo-window img{width:220%;left:-60%;top:-19%}
/* A decorative web-design workspace that follows the visitor's scroll. */
.webscape{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;--web-reveal:1;--web-x:0px;--web-y:0px;color:#956633;opacity:var(--web-reveal);contain:paint}
.web-grid{position:absolute;inset:0;background-image:linear-gradient(#926b3020 1px,transparent 1px),linear-gradient(90deg,#926b3020 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 20%,#000);opacity:.55;transform:translate3d(var(--web-x),var(--web-y),0) scale(1.15)}
.web-window{position:absolute;width:380px;height:260px;right:-55px;top:8%;border:1px solid currentColor;border-radius:12px;background:#fff7e775;opacity:.25;transform:translate3d(var(--web-x),var(--web-y),0) rotate(-12deg);box-shadow:15px 20px 0 #95663312}
.web-chrome{height:30px;border-bottom:1px solid currentColor;display:flex;align-items:center;gap:5px;padding:0 12px}.web-chrome i{width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.web-chrome span{font-size:9px;margin-left:25px;letter-spacing:.08em}
.web-layout{position:relative;padding:22px}.web-mini-nav{width:60%;height:4px;background:currentColor;margin-bottom:24px;opacity:.5}.web-mini-title{height:10px;width:45%;background:currentColor;margin:8px 0}.web-mini-title.short{width:32%}.web-mini-button{width:55px;height:18px;border:1px solid currentColor;border-radius:20px;margin-top:15px}.web-mini-image{position:absolute;right:20px;top:40px;width:110px;height:100px;background:#bf8a4640;display:grid;place-items:center;font-size:65px}.web-mini-cards{display:flex;gap:10px;margin-top:27px}.web-mini-cards i{width:33%;height:40px;border:1px solid currentColor}
.web-phone{position:absolute;width:80px;height:145px;border:1px solid currentColor;border-radius:14px;right:28%;bottom:8%;opacity:.24;transform:translate3d(calc(var(--web-x) * -1),calc(var(--web-y) * -.7),0) rotate(12deg);background:#f5edd777;padding:12px}.web-phone>i{display:block;width:22px;height:3px;background:currentColor;margin:auto}.web-phone>span{display:block;text-align:center;font-size:40px;margin:10px 0}.web-phone>b{display:block;height:4px;background:currentColor;margin:6px 0}
.web-cursor{position:absolute;width:42px;height:50px;right:18%;bottom:22%;fill:#bd874c;stroke:#fcf0d6;stroke-width:1.5;opacity:.4;transform:translate3d(calc(var(--web-x) * -1.8),var(--web-y),0) rotate(-15deg)}
.web-tag{position:absolute;right:5%;bottom:11%;padding:6px 12px;border:1px solid currentColor;border-radius:5px;font-size:11px;letter-spacing:.04em;opacity:.35;transform:translate3d(var(--web-x),calc(var(--web-y) * -.5),0)}
.web-palette{position:absolute;left:5%;bottom:8%;display:flex;gap:6px;opacity:.2;transform:translate3d(var(--web-x),var(--web-y),0)}.web-palette i{width:26px;height:26px;border-radius:50%;background:#956633}.web-palette i:nth-child(2){background:#b96843}.web-palette i:nth-child(3){background:#352e3e}.web-palette i:nth-child(4){background:#d5ae70}
.web-connector{position:absolute;right:10%;top:10%;height:75%;width:30%;border:1px dashed currentColor;border-left:0;border-bottom:0;border-radius:0 90px 0 0;opacity:.15;transform:translateY(var(--web-y))}
.services>.section-top,.services>.service-row,.intro>h2,.intro>div:not(.webscape),.process>.section-top,.process>.process-list{position:relative;z-index:1}
.services .web-window{top:35%;right:-130px;transform:translate3d(var(--web-x),var(--web-y),0) rotate(14deg);opacity:.14}.services .web-phone{right:5%;bottom:6%}.services .web-tag{right:35%;bottom:5%}
.detail-section .webscape{color:#61351f}.detail-section .web-window{right:auto;left:-120px;top:40%;opacity:.16}.detail-section .web-grid{opacity:.25}.detail-section .web-phone{right:5%;bottom:-45px}.detail-section .web-tag{display:none}
.process .web-window{top:-80px;right:4%;opacity:.14}.process .web-phone{bottom:-50px;right:45%}.process .web-tag{bottom:5%}
.contact .webscape{color:#f2bd80}.contact .web-grid{background-image:linear-gradient(#e7b67520 1px,transparent 1px),linear-gradient(90deg,#e7b67520 1px,transparent 1px);mask-image:linear-gradient(90deg,#000,transparent 40%,transparent 60%,#000)}.contact .web-window{right:-170px;top:15%;background:#f2bd800b;opacity:.3}.contact .web-phone{left:5%;bottom:20%;background:#f2bd800b}.contact .web-tag{left:3%;right:auto;bottom:12%}.contact .web-cursor{right:13%;bottom:18%}
@media(max-width:720px){.web-window{width:280px;height:220px;right:-140px;top:20%;opacity:.14}.web-phone{right:8%;bottom:5%;opacity:.18}.web-grid{background-size:48px 48px;opacity:.3}.web-tag{font-size:9px;bottom:4%}.web-cursor{width:30px;right:15%;bottom:10%;opacity:.25}.web-palette{bottom:3%}.web-palette i{width:17px;height:17px}.services .web-window{right:-190px}.contact .web-window{right:-220px;opacity:.2}.contact .web-phone{left:-35px}.contact .web-tag{display:none}.detail-section .web-window{left:-220px}}
.motion-paused .webscape{--web-x:0px!important;--web-y:0px!important;--web-reveal:1!important}
@media(prefers-reduced-motion:reduce){.webscape{--web-x:0px!important;--web-y:0px!important;--web-reveal:1!important}}
