/* A continuous opening: loading → typography → scroll narrative. */
.preloader{display:none;position:fixed;inset:0;z-index:1000;background:#22231f;color:var(--paper);overflow:hidden;clip-path:inset(0);font-family:var(--font)}.is-loading .preloader{display:flex;flex-direction:column;justify-content:space-between}.is-loading{overflow:hidden}.is-loading body{overflow:hidden}.loader-top,.loader-bottom{display:flex;align-items:center;justify-content:space-between;padding:30px 55px;font-size:8px;letter-spacing:.09em;gap:30px}.loader-top>span:last-child{color:#929a84;font-size:7px}.loader-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column}.loader-symbol{width:150px;height:150px;overflow:visible}.loader-orbit{stroke:#60694f;stroke-width:.7;stroke-dasharray:2 7;transform-origin:110px 110px;animation:loaderOrbit 18s linear infinite}.loader-stroke{stroke:var(--orange);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:loaderTrace 1.3s ease-out forwards}.loader-scribble{stroke:var(--paper);stroke-width:.9;stroke-linecap:round;stroke-dasharray:1100;stroke-dashoffset:1100;animation:loaderTrace 1.5s .1s ease-in-out forwards;opacity:.7}.loader-dot{fill:var(--orange);transform-origin:110px 110px;animation:loaderOrbit 3s linear infinite}.loader-word{font-family:var(--display);font-size:43px;letter-spacing:-.07em;font-weight:550;margin-top:25px;line-height:1}.loader-word>span{font-size:7px;display:block;letter-spacing:.42em;text-align:center;margin-top:13px;font-family:var(--font);font-weight:400}.loader-caption{font-size:10px;color:#929d82;margin-top:35px;letter-spacing:.015em;white-space:nowrap}.loader-bottom{position:relative;margin-top:auto;z-index:2}.loader-bottom>span:first-child{font-size:7px;color:#929a84}.loader-track{height:1px;flex:1;max-width:360px;background:#5b644d;overflow:hidden}.loader-track>i{height:1px;display:block;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;animation:loaderProgress 1.6s ease-out forwards}.loader-bottom button{background:none;font-size:9px;letter-spacing:.01em;color:var(--paper);display:flex;gap:25px;align-items:center;padding:15px 0}.loader-bottom button>span{font-size:21px}.preloader[aria-hidden=true]{display:none!important}.is-loading .header{pointer-events:none}.hero-scene{position:relative}.hero-stage{position:relative;min-height:100svh;background:var(--paper);isolation:isolate}.hero-scene .hero{position:relative;padding-top:135px;padding-bottom:25px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.header{position:absolute;top:0;left:0;width:100%;z-index:30}.hero-scene .hero-title{margin:30px 0 30px;position:relative}.hero-scene h1{font-size:clamp(95px,10.8vw,166px);line-height:.96}.hero-line-first,.hero-indent{overflow:clip;padding-block:.09em;margin-block:-.09em}.hero-line-inner{display:inline-block;transform-origin:0 100%}.hero-indent{margin-left:6%}.hero-last{margin-top:29px;font-size:.61em;line-height:1.12;overflow:visible;padding:6px 0 14px}.hero-last-prefix{display:inline-block}.hero-word{padding:0 5px 3px;border-color:#f65b2a60}.hero-word:before{box-shadow:none}.hero-word:before,.hero-word:after{height:5px;width:5px}.hero-scene .hero-tool{right:1%;top:4px;z-index:3}.hero-bezier{position:absolute;inset:-90px -55px auto auto;width:calc(100% + 110px);height:calc(100% + 260px);overflow:visible;pointer-events:none;z-index:4}.hero-bezier #hero-curve{stroke:var(--orange);stroke-width:1.8;stroke-linecap:round;opacity:.8}.hero-control-points{stroke:#f65b2a80;stroke-width:.8}.hero-control-points>path{stroke-dasharray:3 5}.hero-control-points circle,.hero-control-points rect{fill:var(--paper);stroke:var(--orange);stroke-width:1}.hero-bezier #hero-pen>path{fill:var(--ink);stroke:var(--paper);stroke-width:1.2}.hero-bezier #hero-pen>rect{fill:var(--orange);stroke:none}.hero-bezier #hero-pen>text{fill:var(--ink);font-size:11px;stroke:none;font-family:var(--font)}.hero-cursor{display:none}.hero-scene .hero-bottom{position:relative;z-index:6;margin:25px 0 30px}.hero-scene .hero-bottom p{font-size:12px}.hero-scene .hero-strip{position:relative;z-index:6;padding:21px 0 0;margin-top:auto}.hero-floating-selection{position:absolute;left:26px;top:54%;width:153px;height:135px;border:1px solid #919d7f;transform:rotate(-13deg);background:#f3f1e8e0;z-index:5;pointer-events:none}.hero-floating-selection>svg{width:100%;height:100%;stroke:#39442e;stroke-width:1.2;overflow:visible}.hero-floating-selection>svg circle,.hero-floating-selection>svg rect{fill:var(--orange);stroke:var(--orange)}.hero-floating-selection>span{position:absolute;bottom:-18px;left:-1px;font-size:5px;letter-spacing:.06em;color:#7f8f6a}.selection-handle{position:absolute;width:5px;height:5px;background:var(--paper);border:1px solid #91a078;z-index:2}.top-left{top:-3px;left:-3px}.top-right{top:-3px;right:-3px}.bottom-left{bottom:-3px;left:-3px}.bottom-right{bottom:-3px;right:-3px}.hero-scroll-hint{position:absolute;right:-28px;bottom:30%;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:5}.hero-scroll-hint>span{font-size:6px;writing-mode:vertical-rl;letter-spacing:.06em;color:#7e8b6d}.hero-scroll-hint svg{height:34px;width:20px;stroke:var(--orange);stroke-width:1;fill:none}.hero-scroll-hint svg{animation:scrollNudge 2.5s ease-in-out infinite}.motion-enhanced .hero-scene{height:235svh;min-height:1350px}.motion-enhanced .hero-stage{position:sticky;top:0;height:100svh;min-height:710px;overflow:hidden}.motion-enhanced .hero-scene .hero{height:100%;min-height:0;max-height:100%;justify-content:flex-start;padding-top:140px}.motion-enhanced .hero-scene h1{font-size:clamp(90px,10.5vw,164px)}.motion-enhanced .hero-floating-selection{left:10px;top:57%}.motion-enhanced .hero-line-inner,.motion-enhanced .motion-char,.motion-enhanced .motion-word-inner{will-change:transform}.motion-word{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}.motion-word-inner{display:inline-block}.motion-char{display:inline-block;white-space:pre;transform-origin:50% 100%}.hero-last .motion-char{vertical-align:baseline}.motion-enhanced .section-heading h2,.motion-enhanced .services-heading h2,.motion-enhanced .intro h2,.motion-enhanced .cta-content h2,.motion-enhanced .white-label h2{overflow:visible}.journey-thread{display:none;position:absolute;inset:0 auto auto 0;pointer-events:none;z-index:7;width:100%;opacity:.25;overflow:visible}.motion-enhanced .journey-thread{display:block}.journey-thread path{stroke:var(--orange);stroke-width:1.2;stroke-linecap:round;vector-effect:non-scaling-stroke}main{position:relative;outline:none}.motion-enhanced .reveal{opacity:1;transform:none;transition:none}.motion-enhanced .work-image{will-change:clip-path}.motion-enhanced .work-image img{will-change:transform}.motion-enhanced .section-label,.motion-enhanced .time-card,.motion-enhanced .principles>div{will-change:transform}.hero-scene .hero-side .asterisk{animation:none}.motion-fallback .hero-scene{height:auto!important;min-height:0!important}.motion-fallback .hero-stage{position:relative!important;height:auto!important;min-height:0!important}.motion-fallback .hero-last,.motion-fallback .hero-bottom,.motion-fallback .hero-strip,.motion-fallback .hero-line-inner,.motion-fallback .hero-tool,.motion-fallback .hero-floating-selection,.motion-fallback .motion-char,.motion-fallback .motion-word-inner,.motion-fallback .header,.motion-fallback .section-label,.motion-fallback .section-heading,.motion-fallback .work-card,.motion-fallback .work-image,.motion-fallback .price-card,.motion-fallback .time-card,.motion-fallback .principles>div{opacity:1!important;visibility:visible!important;clip-path:none!important;transform:none!important}.motion-fallback .hero-bezier,.motion-fallback .hero-floating-selection,.motion-fallback .journey-thread{display:none}.motion-paused .journey-thread{opacity:.1}.motion-paused .hero-last,.motion-paused .hero-bottom,.motion-paused .hero-strip,.motion-paused .motion-char,.motion-paused .motion-word-inner{opacity:1!important;visibility:visible!important;transform:none!important}.motion-paused .hero-scroll-hint svg{animation:none}
@keyframes loaderTrace{to{stroke-dashoffset:0}}@keyframes loaderOrbit{to{transform:rotate(360deg)}}@keyframes loaderProgress{to{transform:scaleX(1)}}@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(min-width:1600px){.motion-enhanced .hero-scene .hero{padding-top:155px}.hero-scene .hero-title{margin-top:40px}.hero-scene .hero-tool{right:6%;top:15px}.hero-floating-selection{width:190px;height:160px}.hero-scene .hero-bottom{margin-top:40px}.hero-scene .hero-bottom p{font-size:14px}}
@media(max-height:820px) and (min-width:761px){.motion-enhanced .hero-stage{min-height:650px}.motion-enhanced .hero-scene .hero{padding-top:110px}.motion-enhanced .hero-scene h1{font-size:clamp(84px,9.1vw,134px)}.hero-scene .hero-title{margin:20px 0}.hero-last{margin-top:20px}.hero-scene .hero-bottom{margin:15px 0 20px}.hero-scene .hero-tool{width:170px}.hero-floating-selection{width:125px;height:110px;top:53%}.hero-scene .hero-strip{padding-top:17px}.hero-scroll-hint{bottom:28%}}
@media(max-width:1100px){.hero-floating-selection{width:125px;height:110px;left:10px}.hero-scene .hero-tool{width:170px;right:0}.hero-scroll-hint{right:-22px}.hero-scene .hero-bottom{grid-template-columns:1fr 1.1fr}.hero-scene .hero-bottom p{font-size:11px}.hero-scene .hero-title{margin-top:35px}.hero-bezier{right:-40px;width:calc(100% + 80px)}.hero-scene .hero-side{display:none}}
@media(max-width:760px){.loader-top,.loader-bottom{padding:23px 22px;gap:18px}.loader-top{font-size:6px}.loader-top>span:last-child{font-size:5px;max-width:120px;text-align:right;line-height:1.6}.loader-symbol{width:120px;height:120px}.loader-word{font-size:38px;margin-top:20px}.loader-word>span{font-size:6px}.loader-caption{font-size:8px;margin-top:27px}.loader-bottom{flex-wrap:wrap}.loader-bottom>span:first-child{font-size:5px;max-width:145px;line-height:1.7}.loader-track{order:3;flex-basis:100%;max-width:none}.loader-bottom button{font-size:8px;gap:12px;padding:8px 0}.loader-bottom button>span{font-size:18px}.hero-scene .hero{padding-top:110px;padding-bottom:22px;min-height:100svh;justify-content:flex-start}.motion-enhanced .hero-scene{height:195svh;min-height:1120px}.motion-enhanced .hero-stage{min-height:620px;height:100svh;max-height:none}.motion-enhanced .hero-scene .hero{padding-top:115px}.hero-scene .hero-title{margin:32px 0 24px}.hero-scene h1,.motion-enhanced .hero-scene h1{font-size:17vw;line-height:.96}.hero-line-first,.hero-indent{padding-block:.11em;margin-block:-.11em}.hero-indent{margin-left:3%;margin-top:5px}.hero-last{font-size:.58em;line-height:1.12;margin-top:35px;padding:3px 0 8px;max-width:100%;white-space:normal}.hero-last-prefix{display:block}.hero-word{display:inline-block;padding:2px 4px 3px;margin-top:7px}.hero-scene .hero-tool{width:100px;right:0;top:-12px;transform:rotate(7deg) scale(.7);transform-origin:right top}.hero-scene .hero-bottom{margin:26px 0 15px;display:block}.hero-scene .hero-bottom p{font-size:10px;line-height:1.7;margin-bottom:20px}.hero-scene .hero-actions .button{font-size:9px;padding:12px 15px;gap:15px}.hero-scene .hero-actions .text-link{font-size:7px}.hero-scene .hero-actions{gap:15px}.hero-scene .hero-strip{padding-top:16px;font-size:4px;gap:8px;line-height:1.7;margin-top:auto}.hero-scene .hero-strip a{font-size:4px}.hero-floating-selection,.motion-enhanced .hero-floating-selection{width:74px;height:66px;top:45%;left:auto;right:3px;transform:rotate(-11deg)}.hero-floating-selection>span{font-size:3px;bottom:-12px}.selection-handle{width:4px;height:4px}.hero-scroll-hint{right:1px;bottom:20%;gap:10px}.hero-scroll-hint>span{font-size:4px}.hero-scroll-hint svg{height:23px;width:13px}.hero-bezier{inset:-45px -55px auto auto;width:calc(100% + 110px);height:calc(100% + 140px)}.hero-bezier #hero-curve{stroke-width:2}.hero-control-points{opacity:.5}.hero-bezier #hero-pen{display:none}.journey-thread{opacity:.18}.journey-thread path{stroke-width:1}.motion-word{padding-bottom:.13em;margin-bottom:-.13em}}
@media(max-height:720px) and (max-width:760px){.motion-enhanced .hero-stage{min-height:590px}.motion-enhanced .hero-scene .hero{padding-top:98px}.hero-scene .hero-title{margin-top:25px;margin-bottom:18px}.hero-scene h1,.motion-enhanced .hero-scene h1{font-size:16vw}.hero-last{margin-top:26px}.hero-scene .hero-bottom{margin-top:15px}.hero-scene .hero-bottom p{font-size:9px;line-height:1.65;margin-bottom:17px}.hero-scene .hero-strip{padding-top:11px}.hero-floating-selection,.motion-enhanced .hero-floating-selection{top:44%}}
@media(prefers-reduced-motion:reduce){.preloader{display:none!important}.hero-scene,.motion-enhanced .hero-scene{height:auto!important;min-height:0!important}.hero-stage,.motion-enhanced .hero-stage{position:relative!important;height:auto!important;min-height:0!important}.hero-scene .hero{height:auto!important;min-height:100svh!important}.hero-line-inner,.hero-last,.hero-bottom,.hero-strip,.motion-char,.motion-word-inner{opacity:1!important;visibility:visible!important;transform:none!important}.journey-thread,.hero-bezier,.hero-scroll-hint,.hero-floating-selection{display:none!important}.hero-scene .hero-tool{transform:rotate(7deg)}.hero-scene .hero-strip{margin-top:30px}}
.motion-fallback main *{opacity:1!important;visibility:visible!important;clip-path:none!important;transform:none!important}.motion-fallback .canvas-section{height:auto!important;min-height:0!important}.motion-fallback .canvas-sticky{position:relative!important;height:auto!important;min-height:0!important;padding-block:35px}.motion-fallback #creation-path{stroke-dashoffset:0!important}.motion-paused .section-label,.motion-paused .principles>div,.motion-paused .service-list>details,.motion-paused .step,.motion-paused .inline-checks>span,.motion-paused .faq-list>details,.motion-paused .price-card,.motion-paused .time-card,.motion-paused .scope-note,.motion-paused .estimate-bar,.motion-paused .intro .lead,.motion-paused .intro-grid>div>p,.motion-paused .section-heading>p,.motion-paused .process-description,.motion-paused .white-label-bottom>p,.motion-paused .white-label-bottom>div>p,.motion-paused .cta-bottom,.motion-paused .portfolio-note{opacity:1!important;visibility:visible!important;transform:none!important}.motion-paused .work-section,.motion-paused .work-image{clip-path:none!important}html.lenis{scroll-behavior:auto!important}
