@keyframes preSlat{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes emberFloat{0%{opacity:0;transform:translateY(100vh) rotate(0deg) scale(1)}10%{opacity:.8}90%{opacity:.6}to{opacity:0;transform:translateY(-100px) rotate(720deg) scale(.3)}}@keyframes charReveal{to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes draw-loop{0%{stroke-dashoffset:var(--path-length, 1000)}50%{stroke-dashoffset:0}to{stroke-dashoffset:calc(var(--path-length, 1000)*-1)}}@keyframes dropdownReveal{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes heroOverlayDrift{0%{transform:scale(1.02) translate(0,0)}to{transform:scale(1.05) translate(-.5%,.5%)}}@keyframes fillText{to{color:var(--black)}}@keyframes gradientSheen{0%{transform:translateX(-6%);opacity:.65}to{transform:translateX(6%);opacity:.85}}@keyframes shineSwipe{0%{left:-100%;opacity:1}to{left:150%;opacity:0}}@keyframes inputFocusGlow{0%{box-shadow:0 0 0 0 rgba(220,38,38,.4)}to{box-shadow:0 0 0 3px rgba(220,38,38,.12)}}@keyframes mechanicalSettle{to{clip-path:inset(0 0 0 0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg);opacity:var(--float-opacity-start, 0.3)}50%{transform:translateY(var(--float-distance, -25px)) rotate(var(--float-rotate, 3deg));opacity:var(--float-opacity-end, 0.5)}}@keyframes slow-rotate{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.03)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes blob-morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}50%{border-radius:50% 60% 30% 60%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes shaft-sway{0%,to{transform:rotate(-5deg) translateX(0)}50%{transform:rotate(5deg) translateX(30px)}}@keyframes slatReveal{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes highlightPulse{0%,to{opacity:0}50%{opacity:.2}}@keyframes lineReveal{to{stroke-dashoffset:0}}@keyframes heroCharReveal{0%{opacity:0;filter:blur(10px);transform:translateY(20px) scale(.9)}60%{filter:blur(2px)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes textShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes counterPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes counterGlow{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 20px rgba(232,93,4,.4)}}@keyframes mapGlowPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.4;transform:scale(1.4)}}@keyframes pageIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[onclick],[role=button],[tabindex]:not([tabindex="-1"]),a,button,input[type=button],input[type=reset],input[type=submit],label[for],select,summary{cursor:pointer!important}.btn-link,.btn-primary,.btn-white,.footer a,.footer-column a,.footer-legal a,.link-slide,.mobile-submenu a,.nav a,.nav button,.nav-cta,.nav-dropdown a,.nav-links a,.nav-links li>a,.nav-logo,.nav-mobile-menu a,.nav-mobile-toggle,.portfolio-item,.project-card,.service-card,[data-magnetic]{cursor:pointer!important}.preloader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}.preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}.preloader-content{text-align:center}.preloader-fence{width:120px;height:80px;margin-bottom:24px}.preloader-fence .pre-post{fill:#262626}.preloader-fence .pre-slat{fill:#262626;opacity:0;animation:preSlat .4s ease forwards}.preloader-fence .pre-slat:nth-child(1){animation-delay:.1s}.preloader-fence .pre-slat:nth-child(2){animation-delay:.2s}.preloader-fence .pre-slat:nth-child(3){animation-delay:.3s}.preloader-fence .pre-slat:nth-child(4){animation-delay:.4s}.preloader-fence .pre-slat:nth-child(5){animation-delay:.5s}.preloader-text{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#a3a3a3}@property --clip-progress{syntax:"<percentage>";initial-value:0%;inherits:false}@property --reveal-progress{syntax:"<number>";initial-value:0;inherits:false}@property --draw-progress{syntax:"<percentage>";initial-value:0%;inherits:false}@property --glow-opacity{syntax:"<number>";initial-value:0;inherits:false}@supports (animation-timeline:view()){.section-reveal{opacity:0;transform:translateY(40px);animation:sectionReveal linear both;animation-timeline:view();animation-range:entry 0%entry 40%}@keyframes sectionReveal{to{opacity:1;transform:translateY(0)}}.card-scroll-reveal{opacity:0;transform:translateY(30px) scale(.98);animation:cardReveal linear both;animation-timeline:view();animation-range:entry 5%entry 35%}.card-scroll-reveal:nth-child(2){animation-range:entry 8%entry 38%}.card-scroll-reveal:nth-child(3){animation-range:entry 11%entry 41%}.card-scroll-reveal:nth-child(4){animation-range:entry 14%entry 44%}.card-scroll-reveal:nth-child(5){animation-range:entry 17%entry 47%}.card-scroll-reveal:nth-child(6){animation-range:entry 20%entry 50%}@keyframes cardReveal{to{opacity:1;transform:translateY(0) scale(1)}}.hero-scroll-parallax{animation:heroParallax linear both;animation-timeline:scroll();animation-range:0 80vh}@keyframes heroParallax{0%{transform:translateY(0);opacity:1}to{transform:translateY(-30px);opacity:.4}}.trust-scroll-reveal{opacity:1;transform:none;animation:none}@keyframes trustReveal{to{opacity:1;transform:translateY(0)}}.eyebrow-scroll-clip{clip-path:polygon(0 0,0 0,0 100%,0 100%);animation:eyebrowClip linear both;animation-timeline:view();animation-range:entry 10%entry 35%}@keyframes eyebrowClip{to{clip-path:polygon(0 0,100%0,100% 100%,0 100%)}}.heading-scroll-reveal,.portfolio-scroll-lift{transform:translateY(30px);animation-timeline:view()}.heading-scroll-reveal{opacity:0;filter:blur(4px);animation:headingReveal linear both;animation-range:entry 5%entry 40%}@keyframes headingReveal{to{opacity:1;transform:translateY(0);filter:blur(0)}}.portfolio-scroll-lift{animation:portfolioLift linear both;animation-range:entry 0%exit 100%}@keyframes portfolioLift{50%{transform:translateY(-10px)}to{transform:translateY(20px)}}.process-scroll-reveal{opacity:0;transform:translateX(-20px);animation:processReveal linear both;animation-timeline:view();animation-range:entry 10%entry 45%}@keyframes processReveal{to{opacity:1;transform:translateX(0)}}}.faq-answer{opacity:0;transition:grid-template-rows 280ms var(--ease-out-expo),opacity 200ms ease}.faq-item.active .faq-answer{grid-template-rows:1fr;opacity:1}@supports (transition-behavior:allow-discrete){.faq-answer{transition-behavior:allow-discrete}@starting-style{.faq-item.active .faq-answer{grid-template-rows:0fr;opacity:0}}}.nav-mobile-menu{position:fixed;inset:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:9990;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity 300ms var(--ease-out-expo),transform 300ms var(--ease-out-expo),visibility 300ms}.nav-mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}@supports (transition-behavior:allow-discrete){.nav-mobile-menu{transition-behavior:allow-discrete}@starting-style{.nav-mobile-menu.is-open{opacity:0;transform:translateY(-10px)}}}.nav-mobile-menu a{display:block;width:100%;font-size:clamp(24px,5vw,36px);font-weight:var(--font-light);color:var(--black);text-decoration:none;transition:opacity 200ms ease;padding:12px 0}.nav-mobile-menu a:hover{opacity:.6}.mobile-submenu{display:flex;flex-direction:column;gap:12px;padding:16px 16px 16px 20px;margin:8px 0 0;background:rgba(0,0,0,.02);border-left:2px solid var(--accent, #dc2626);border-radius:0 4px 4px 0}.mobile-submenu a{display:block;width:100%;font-size:clamp(14px,3vw,16px);font-weight:var(--font-regular);color:var(--gray-600);padding:10px 12px;border-radius:4px;transition:background 200ms ease,color 200ms ease}.mobile-submenu a:hover{color:var(--black);background:rgba(0,0,0,.03);opacity:1}.nav-mobile-toggle span{transition:transform 250ms var(--ease-out-expo),opacity 200ms ease;display:block;width:18px;height:1.5px;background:#f5f5f2;border-radius:1px;transition:all .3s cubic-bezier(.16,1,.3,1);transform-origin:center}.btn-press{transition:transform 150ms var(--ease-out-expo)}.btn-press:active{transform:scale(.97)}.link-slide{position:relative;text-decoration:none}.link-slide::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 280ms var(--ease-out-expo)}.link-slide:focus-visible::after,.link-slide:hover::after{transform:scaleX(1);transform-origin:left}.card-micro-tilt:hover{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg) translateY(-4px)}.card-micro-tilt,.icon-rotate-hover .icon,.icon-rotate-hover svg{transition:transform 300ms var(--ease-out-expo)}.icon-rotate-hover:hover .icon,.icon-rotate-hover:hover svg{transform:rotate(12deg) scale(1.1)}.focus-ring:focus-visible{outline:2px solid var(--color-primary, #dc2626);outline-offset:3px}.content-lazy{content-visibility:auto;contain-intrinsic-size:auto 500px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;animation-timeline:none!important}.card-scroll-reveal,.eyebrow-scroll-clip,.heading-scroll-reveal,.portfolio-scroll-lift,.process-scroll-reveal,.section-reveal,.shutter-blinds,.shutter-diagonal,.shutter-diamond,.shutter-iris,.shutter-mechanical,.shutter-split,.shutter-strips,.shutter-vertical,.stagger-entrance,.stagger-group>*,.trust-scroll-reveal,[data-parallax],[data-reveal],[data-text-reveal] .word-inner,[data-velocity-skew]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;animation:none!important}.cursor-dot,.cursor-ring{display:none!important}.hero-scroll-parallax,.split-text .char{animation:none!important}.split-text .char{opacity:1!important;transform:none!important}.faq-answer,.nav-mobile-menu{transition:none!important}}@supports (view-transition-name:none){::view-transition-new(root),::view-transition-old(root){animation-duration:300ms;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:fadeSlideOut}::view-transition-new(root){animation-name:fadeSlideIn}@keyframes fadeSlideOut{to{opacity:0;transform:translateY(-10px)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}}.vt-hero-cta{view-transition-name:hero-cta}.vt-section-header{view-transition-name:section-header}}@media (hover:none){.cursor-dot,.cursor-ring{display:none!important}}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,#dc2626,#0a0a0a);z-index:1001;transition:width .1s linear}html.lenis,html.lenis body{height:auto}.ember-container,.grain{inset:0;pointer-events:none}.grain{position:fixed;z-index:9997;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat}.ember-container{position:absolute;overflow:hidden;z-index:5}.ember{position:absolute;width:4px;height:4px;background:radial-gradient(circle,rgba(220,38,38,.8)0,rgba(220,38,38,0) 70%);border-radius:50%;animation:emberFloat linear infinite;opacity:0}.split-text .char{display:inline-block;opacity:0;transform:translateY(40px) rotateX(-40deg);animation:charReveal .6s cubic-bezier(.33,1,.68,1) forwards}.split-text .word{display:inline-block;overflow:hidden;margin-right:.3em}[data-reveal]{opacity:0;transform:translateY(40px);will-change:transform,opacity;transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-parallax]{will-change:transform;transition:transform 400ms ease-out}.reveal-chars,.reveal-words,[data-text-reveal]{overflow:hidden}[data-text-reveal] .word{display:inline-block;overflow:hidden}[data-text-reveal] .word-inner{will-change:transform;transition:transform var(--duration-reveal) var(--ease-out)}[data-text-reveal].is-visible .word-inner{transform:translateY(0)}.reveal-chars .char,.reveal-words .word,[data-text-reveal] .word-inner{display:inline-block;transform:translateY(100%)}.reveal-words .word{opacity:0;transition:transform var(--duration-slower) var(--ease-out-expo),opacity var(--duration-normal) ease;transition-delay:calc(var(--word-index, 0)*var(--stagger-normal))}.reveal-words.is-visible .word{transform:translateY(0);opacity:1}.reveal-chars .char{transition:transform var(--duration-normal) var(--ease-out-expo);transition-delay:calc(var(--char-index, 0)*var(--stagger-fast))}.reveal-chars.is-visible .char{transform:translateY(0)}.reveal-clip-btt,.reveal-clip-ltr,.reveal-clip-rtl,.reveal-clip-ttb{clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path var(--duration-slower) var(--ease-in-out-quart)}.reveal-clip-btt.is-visible,.reveal-clip-center.is-visible,.reveal-clip-ltr.is-visible,.reveal-clip-rtl.is-visible,.reveal-clip-ttb.is-visible,.reveal-wipe.is-visible{clip-path:polygon(0 0,100%0,100% 100%,0 100%)}.reveal-clip-btt,.reveal-clip-rtl,.reveal-clip-ttb{clip-path:polygon(100%0,100%0,100% 100%,100% 100%)}.reveal-clip-btt,.reveal-clip-ttb{clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%)}.reveal-clip-ttb{clip-path:polygon(0 0,100%0,100%0,0 0)}.reveal-clip-center{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path var(--duration-slower) var(--ease-out-expo)}.reveal-wipe{position:relative;clip-path:polygon(0 0,0 0,0 100%,0 100%)}.reveal-wipe::after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-101%);transition:transform var(--duration-slower) var(--ease-in-out-quart);z-index:1}.reveal-wipe.is-visible{transition:clip-path var(--duration-normal) var(--ease-in-out-quart) .2s}.reveal-wipe.is-visible::after{transform:translateX(101%);transition-delay:.3s}.reveal-fade-up,.reveal-stagger>*{opacity:0;transform:translateY(40px);transition:opacity var(--duration-normal) ease,transform var(--duration-slower) var(--ease-out-expo)}.reveal-fade-up.is-visible,.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger>*{transform:translateY(30px)}.reveal-stagger.is-visible>:nth-child(1){transition-delay:0s}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.05s}.reveal-stagger.is-visible>:nth-child(3),.section-animate.is-visible .stagger-item:nth-child(1){transition-delay:.1s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.15s}.reveal-stagger.is-visible>:nth-child(5),.section-animate.is-visible .stagger-item:nth-child(2){transition-delay:.2s}.reveal-stagger.is-visible>:nth-child(6){transition-delay:.25s}.img-reveal,.img-reveal-scale{overflow:hidden}.img-reveal .img-inner,.img-reveal img,.img-reveal-scale img{clip-path:inset(100%0 0 0);transition:clip-path var(--duration-slower) var(--ease-in-out-quart)}.img-reveal.is-visible .img-inner,.img-reveal.is-visible img{clip-path:inset(0 0 0 0)}.img-reveal-scale img{transform:scale(1.15);transition:clip-path var(--duration-slower) var(--ease-in-out-quart),transform 1.2s var(--ease-out-expo)}.img-reveal-scale.is-visible img{clip-path:inset(0 0 0 0);transform:scale(1)}.svg-draw circle,.svg-draw line,.svg-draw path,.svg-draw polyline,.svg-draw rect{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.svg-draw [data-draw]{transition:stroke-dashoffset var(--draw-duration, 1.5s) var(--ease-out-expo)}.svg-draw-stagger.is-visible [data-draw],.svg-draw.is-visible [data-draw],.svg-draw:hover [data-draw]{stroke-dashoffset:0}.svg-draw [data-draw],.svg-draw-fill [data-draw],.svg-draw-stagger [data-draw]{stroke-dasharray:var(--path-length, 1000);stroke-dashoffset:var(--path-length, 1000)}.svg-draw-stagger [data-draw]{transition:stroke-dashoffset var(--draw-duration, 1s) var(--ease-out-quart);transition-delay:calc(var(--draw-index, 0)*.15s)}.svg-draw-fill [data-draw]{fill:transparent;transition:stroke-dashoffset 1s var(--ease-out-expo),fill .5s ease .8s}.svg-draw-fill.is-visible [data-draw]{stroke-dashoffset:0;fill:currentColor}.svg-draw-loop [data-draw]{stroke-dasharray:var(--path-length, 1000);animation:draw-loop 4s linear infinite}.icon-check .check-path{stroke-dasharray:50;stroke-dashoffset:50;transition:stroke-dashoffset .4s var(--ease-out-expo)}.icon-arrow-draw:hover .arrow-line,.icon-check.is-checked .check-path,a:hover .icon-arrow-draw .arrow-line,button:hover .icon-arrow-draw .arrow-line{stroke-dashoffset:0}.icon-arrow-draw .arrow-line{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .3s var(--ease-out-quart)}@supports (animation-timeline:view()){[data-css-reveal]{opacity:0;transform:translateY(30px);animation:cssReveal linear both;animation-timeline:view();animation-range:entry 0%cover 40%}@keyframes cssReveal{to{opacity:1;transform:translateY(0)}}[data-css-scale]{transform:scale(.9);animation:cssScale linear both;animation-timeline:view();animation-range:entry 0%cover 50%}@keyframes cssScale{to{transform:scale(1)}}[data-css-parallax]{animation:cssParallax linear both;animation-timeline:view();animation-range:entry 0%exit 100%}@keyframes cssParallax{0%{transform:translateY(-10%)}to{transform:translateY(10%)}}}.tilt-card{transform-style:preserve-3d;transform:perspective(1000px) rotateX(0) rotateY(0);transition:transform .1s ease-out}.tilt-card .tilt-inner{transform:translateZ(30px);transition:transform .3s ease}.tilt-card:hover .tilt-inner{transform:translateZ(50px)}.tilt-card .tilt-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2)0,rgba(255,255,255,0) 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.tilt-card:hover .tilt-shine{opacity:1}.clip-reveal{clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);transition:clip-path .8s cubic-bezier(.65,0,.35,1)}.clip-reveal.revealed{clip-path:polygon(0 0,100%0,100% 100%,0 100%)}.magnetic{position:relative;transition:transform .3s cubic-bezier(.33,1,.68,1)}.magnetic-area{position:absolute;inset:-40px;z-index:-1}.count-up{display:inline-block}:root{--font-display:'Bebas Neue', sans-serif;--font-serif:'Instrument Serif', Georgia, serif;--font-sans:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:'JetBrains Mono', 'SF Mono', monospace;--white:#ffffff;--off-white:#fafafa;--black:#0a0a0a;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--accent:#dc2626;--accent-subtle:rgba(220, 38, 38, 0.08);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:4rem;--text-7xl:5rem;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--section-padding:120px;--container-max:1440px;--container-padding:48px;--duration-instant:100ms;--duration-fast:200ms;--duration-normal:400ms;--duration-slow:600ms;--duration-slower:1000ms;--duration-reveal:800ms;--ease-out:cubic-bezier(0.25, 0.1, 0.25, 1);--ease-in-out:cubic-bezier(0.42, 0, 0.58, 1);--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1)}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 500px}section:not(.hero):not(.hero-section):not([class*=hero]){content-visibility:auto;contain-intrinsic-size:auto 600px}*,::after,::before{margin:0;padding:0;box-sizing:border-box}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}html{-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4{color:var(--black)}body,html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans, 'DM Sans'),-apple-system,BlinkMacSystemFont,sans-serif;font-weight:var(--font-regular);line-height:1.5;background:var(--white);overflow-x:hidden;font-variant-numeric:tabular-nums;letter-spacing:-.01em}h1,h2,h3,h4{font-weight:var(--font-medium);letter-spacing:-.02em}.hero-title strong,.text-contrast,h1 strong,h2 strong,h3 strong,h4 strong{font-weight:var(--font-semibold)}.text-contrast{letter-spacing:-.015em}.text-muted{color:var(--gray-500)}.gradient-reveal,.text-blueprint{-webkit-text-fill-color:transparent}.gradient-reveal{position:relative;display:inline-block;background:linear-gradient(120deg,rgba(0,0,0,.2),#0a0a0a 45%,rgba(0,0,0,.2));-webkit-background-clip:text;color:rgba(0,0,0,.85);background-size:200% 100%;background-position:0 50%;transition:background-position .8s ease}.gradient-reveal.is-visible{background-position:100% 50%;color:rgba(0,0,0,.95)}.text-blueprint{font-weight:400}::selection{background:var(--black);color:var(--white)}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:0;background:0 0}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.eyebrow,.section-eyebrow{font-weight:var(--font-medium);text-transform:uppercase}.eyebrow{font-size:var(--text-xs);letter-spacing:.2em;color:var(--gray-400)}.section-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;color:var(--gray-500);margin-bottom:20px}.section-eyebrow::before{content:"";width:32px;height:1px;background:var(--gray-400)}.section{padding:var(--section-padding)0}.bg-grid{position:relative;background:linear-gradient(135deg,#fff 0,#f8f8f8 45%,#fff 100%);overflow:hidden}.bg-grid::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:160px 160px,160px 160px;opacity:.22;mix-blend-mode:multiply;pointer-events:none;z-index:1}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}.nav,.nav::before{top:0;left:0;right:0}.nav{position:fixed;z-index:1000;padding:0 clamp(24px,4vw,64px);display:flex;justify-content:space-between;align-items:center;height:80px;transition:all .5s cubic-bezier(.16,1,.3,1);background:linear-gradient(180deg,rgba(5,5,5,.95)0,rgba(5,5,5,.85) 100%);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.nav::before{content:"";position:absolute;height:1px;background:linear-gradient(90deg,transparent 0,rgba(232,93,4,.5) 20%,rgba(232,93,4,.8) 50%,rgba(232,93,4,.5) 80%,transparent 100%);opacity:.6}.nav-links>li>a::after,.nav::after{content:"";position:absolute;bottom:0}.nav::after{left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 30%,rgba(255,255,255,.08) 70%,transparent 100%)}.nav.nav-scrolled,.nav.scrolled{height:64px;background:rgba(8,8,8,.97);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 rgba(255,255,255,.03),0 4px 24px rgba(0,0,0,.4),0 8px 48px rgba(0,0,0,.2)}.nav.nav-scrolled::before,.nav.scrolled::before{opacity:.8}.nav-links a,.nav-logo{text-transform:uppercase;text-decoration:none}.nav-logo{font-family:"Bebas Neue",sans-serif;font-size:clamp(18px,2vw,22px);font-weight:400;letter-spacing:.12em;color:#f5f5f2;position:relative;display:flex;align-items:center;gap:12px;transition:all .3s ease}.has-dropdown>a svg,.nav-logo::before{width:8px;height:8px;transition:all .3s ease}.nav-logo::before{content:"";background:#e85d04;border-radius:1px;transform:rotate(45deg);box-shadow:0 0 12px rgba(232,93,4,.5)}.nav-logo:hover::before{transform:rotate(45deg) scale(1.2);box-shadow:0 0 20px rgba(232,93,4,.8)}.nav-logo:hover{color:#fff}.nav-links{gap:clamp(24px,3vw,48px);list-style:none;margin:0;padding:0}.nav-links a{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;color:rgba(245,245,242,.6);padding:8px 0}.nav-links>li>a::after{left:0;width:100%;height:2px;background:#e85d04;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.16,1,.3,1)}.nav-links a.active,.nav-links>li>a:hover{color:#e85d04}.nav-links>li>a:hover::after{transform:scaleX(1);transform-origin:left}.nav-links a.active::after{transform:scaleX(1);background:#e85d04}.has-dropdown>a,.nav-links,.nav-links li{display:flex;align-items:center}.nav-links li{position:relative}.nav-dropdown::before,.nav-links li.has-dropdown::before{content:"";position:absolute;top:100%;left:-20px;right:-20px;height:30px}.has-dropdown>a{gap:6px}.has-dropdown>a svg{stroke:rgba(245,245,242,.5);stroke-width:2.5}.has-dropdown:hover>a svg{stroke:#e85d04;transform:rotate(180deg)}.has-dropdown>a::after,.hero-overlay-img img{display:none}.nav-dropdown{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);min-width:240px;background:rgba(12,12,12,.98);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:8px 0;opacity:0;visibility:hidden;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 6px rgba(0,0,0,.3),0 12px 24px rgba(0,0,0,.4),0 24px 48px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03);z-index:1001}.nav-dropdown::before{top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(232,93,4,.4),transparent)}.nav-dropdown::after{content:"";position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:40px;height:16px;background:0 0}.nav-links li.has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.nav-dropdown a{display:flex;align-items:center;padding:12px 20px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:400;letter-spacing:.02em;text-transform:none;color:rgba(245,245,242,.65);transition:all .25s ease;position:relative;border-left:2px solid transparent;margin:0 8px;border-radius:2px}.nav-dropdown a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:60%;background:#e85d04;transition:width .25s ease;border-radius:0 2px 2px 0}.nav-dropdown a:hover{color:#f5f5f2;background:rgba(232,93,4,.1);padding-left:28px}.nav-dropdown a:hover::before{width:3px;background:#e85d04}.nav-links li.has-dropdown:hover .nav-dropdown a{animation:dropdownReveal .4s cubic-bezier(.16,1,.3,1) forwards}.nav-dropdown a:nth-child(1){animation-delay:.02s;opacity:0}.nav-dropdown a:nth-child(2){animation-delay:.04s;opacity:0}.nav-dropdown a:nth-child(3){animation-delay:.06s;opacity:0}.nav-dropdown a:nth-child(4){animation-delay:.08s;opacity:0}.nav-dropdown a:nth-child(5){animation-delay:.1s;opacity:0}.nav-dropdown a:nth-child(6){animation-delay:.12s;opacity:0}.nav-dropdown a:nth-child(7){animation-delay:.14s;opacity:0}.nav-dropdown a:nth-child(8){animation-delay:.16s;opacity:0}.nav-cta{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#e85d04 0,#d45404 100%);padding:14px 28px;border:0;border-radius:2px;text-decoration:none;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1)}.nav-cta::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.nav-cta:hover::before{left:100%}.nav-cta:hover{background:linear-gradient(135deg,#ff6b35 0,#e85d04 100%);transform:translateY(-2px);box-shadow:0 4px 16px rgba(232,93,4,.4),0 8px 32px rgba(232,93,4,.2),inset 0 1px 0 rgba(255,255,255,.15)}.nav-cta,.nav-cta:active{box-shadow:0 2px 8px rgba(232,93,4,.3),inset 0 1px 0 rgba(255,255,255,.1)}.nav-cta:active{transform:translateY(0) scale(.98)}.nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;background:0 0;border:1px solid rgba(255,255,255,.1);border-radius:2px;transition:all .3s ease}.nav-mobile-toggle:hover{border-color:rgba(232,93,4,.5);background:rgba(232,93,4,.05)}.nav-mobile-toggle.is-active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-mobile-toggle.is-active span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-mobile-toggle.is-active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#fff 0,#f8f8f8 60%,#fff 100%);z-index:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.hero-bg,.hero-overlay-img{position:absolute;inset:0;pointer-events:none}.hero-bg{background:radial-gradient(circle at 24% 18%,rgba(0,0,0,.028),transparent 42%),radial-gradient(circle at 82% 8%,rgba(0,0,0,.022),transparent 36%),linear-gradient(125deg,rgba(10,10,10,.03),rgba(10,10,10,.01));overflow:hidden;z-index:1}.hero-overlay-img{z-index:3;background-image:url(../images/hero-section-overlay.jpg);background-image:image-set(url(../images/hero-section-overlay.avif)type("image/avif"),url(../images/hero-section-overlay.jpg)type("image/jpeg"));background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:.55;animation:heroOverlayDrift 30s ease-in-out infinite alternate}@media (prefers-reduced-motion:reduce){.hero-overlay-img{animation:none}}.grain{opacity:.02}.ambient-blob{display:block;opacity:var(--ambient-opacity, 0.04)}.light-shaft{display:block;opacity:.12}@media (max-width:768px){.ambient-blob,.light-shaft{display:none}}.hero-diagonal{position:absolute;top:0;right:32%;width:1px;height:100%;background:linear-gradient(to bottom,transparent,var(--gray-200),transparent);transform:rotate(12deg);transform-origin:top}.hero-content{position:relative;z-index:10;display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:80px;width:100%;max-width:1500px;margin:0 auto;padding:140px 80px 100px}.hero-text{max-width:520px}.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-weight:var(--font-medium);letter-spacing:.18em;color:var(--gray-500)}.hero-eyebrow::before{content:"";width:40px;height:1px;background:var(--gray-400)}.hero-title,.text-blueprint{font-weight:var(--font-regular)}.hero-title{font-size:clamp(76px,10vw,148px);line-height:1.04;letter-spacing:-.035em;margin-bottom:24px}.text-blueprint{-webkit-text-stroke:1px var(--black);color:transparent;animation:fillText 1s ease forwards .6s}.hero-subtitle{font-size:var(--text-base);font-weight:var(--font-regular);line-height:1.8;color:var(--gray-600);margin-bottom:48px;max-width:420px}.btn-primary,.hero-buttons{display:inline-flex;align-items:center}.hero-buttons{gap:32px;flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.hero-bg::after{animation:none}}.btn-primary{justify-content:center;font-size:13px;font-weight:var(--font-semibold);letter-spacing:.12em;text-transform:uppercase;color:#111!important;background:linear-gradient(135deg,rgba(255,255,255,.15)0,rgba(255,255,255,.08) 50%,rgba(255,255,255,.15) 100%);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.3);border-radius:0;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.5),inset 0-1px 0 rgba(0,0,0,.05);text-shadow:none;padding:20px 40px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;will-change:transform}.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.btn-primary:link,.btn-primary:visited{color:#111!important;text-shadow:none}.btn-primary:hover{background:linear-gradient(135deg,rgba(255,255,255,.25)0,rgba(255,255,255,.12) 50%,rgba(255,255,255,.25) 100%)}.btn-primary:active{transform:scale(.98) translateY(0)}.btn-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:var(--font-regular);letter-spacing:.1em;text-transform:uppercase;color:var(--gray-600);transition:color var(--duration-normal) ease}.btn-link:hover{color:var(--black)}.btn-link svg{transition:transform var(--duration-normal) ease}.btn-link:hover svg,.problem-cta:hover svg,.project-card:hover .project-card-link svg{transform:translateX(4px)}.btn-link:active{transform:scale(.97)}.nav-links a{transition:transform 150ms ease,color 150ms ease}.nav-links a.nav-magnetic-active{transform:translate(var(--mx, 0),var(--my, 0))}.animated-link,.nav-links a{position:relative}.animated-link::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.animated-link:hover::after{transform:scaleX(1);transform-origin:left}.btn-lift{transition:transform var(--duration-normal) var(--ease-elastic),box-shadow var(--duration-normal) ease}.btn-lift:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(0,0,0,.15)}.btn-lift:active{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}.btn-fill{position:relative;overflow:hidden;z-index:1}.btn-fill::before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-101%);transition:transform var(--duration-normal) var(--ease-out-expo);z-index:-1}.btn-fill:hover::before{transform:translateX(0)}.btn-fill:hover{color:var(--white)}.btn-border-draw{position:relative;background:0 0;border:0}.btn-border-draw::after,.btn-border-draw::before{content:"";position:absolute;border:1px solid currentColor;box-sizing:border-box;pointer-events:none}.btn-border-draw::before{top:0;left:0;width:100%;height:100%;border-right:none;border-bottom:none;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-expo)}.btn-border-draw::after{bottom:0;right:0;width:100%;height:100%;border-left:none;border-top:none;transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out-expo) .08s}.btn-border-draw:hover::after,.btn-border-draw:hover::before{transform:scaleX(1)}.btn-arrow{display:inline-flex;align-items:center;gap:.75em}.btn-arrow .arrow{transition:transform var(--duration-normal) var(--ease-out-expo)}.btn-arrow:hover .arrow{transform:translateX(6px)}.btn-glow,.btn-shine{position:relative}.btn-glow::after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--accent),transparent,var(--accent));border-radius:inherit;opacity:0;z-index:-1;filter:blur(8px);transition:opacity var(--duration-normal) ease}.btn-glow:hover::after{opacity:.6}.btn-shine{overflow:hidden}.btn-shine::after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-25deg);transition:none;pointer-events:none}.btn-shine:hover::after{animation:shineSwipe .4s ease-out forwards}.btn-link:focus-visible,.btn-primary:focus-visible,.btn-white:focus-visible,a.focus-ring:focus-visible,button.focus-ring:focus-visible{outline:2px solid #111;outline-offset:3px;box-shadow:0 0 0 4px rgba(17,17,17,.15)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{animation:inputFocusGlow .3s ease}.btn-depth{transition:transform 150ms ease,box-shadow 150ms ease}.btn-depth:hover{transform:scale(1.02)}.btn-depth:active{transform:scale(.98);box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.btn-primary,.btn-white{position:relative;overflow:hidden}.btn-primary::after,.btn-white::after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;transform:skewX(-25deg);pointer-events:none}.btn-primary::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}.btn-primary:hover::after,.btn-white:hover::after{animation:shineSwipe .5s ease-out forwards}.btn-primary:active{box-shadow:inset 0 2px 8px rgba(0,0,0,.3)}.btn-white::after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.05),transparent)}.btn-white:active{transform:scale(.98) translateY(0);box-shadow:inset 0 2px 6px rgba(0,0,0,.1)}.stagger-entrance{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.stagger-entrance.is-visible{opacity:1;transform:translateY(0)}.stagger-entrance:nth-child(1){transition-delay:0ms}.stagger-entrance:nth-child(2){transition-delay:80ms}.stagger-entrance:nth-child(3){transition-delay:160ms}.stagger-entrance:nth-child(4){transition-delay:240ms}.stagger-entrance:nth-child(5){transition-delay:320ms}.stagger-entrance:nth-child(6){transition-delay:400ms}.stagger-group.is-visible>*{opacity:1;transform:translateY(0)}.stagger-group>*{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.stagger-group>:nth-child(1){transition-delay:0ms}.stagger-group>:nth-child(2){transition-delay:60ms}.stagger-group>:nth-child(3){transition-delay:120ms}.stagger-group>:nth-child(4){transition-delay:180ms}.stagger-group>:nth-child(5){transition-delay:240ms}.stagger-group>:nth-child(6){transition-delay:300ms}[data-velocity-skew]{--skew:0deg;transform:skewY(var(--skew));transition:transform .08s linear;will-change:transform}h1[data-velocity-skew],h2[data-velocity-skew]{--skew-multiplier:0.6}p[data-velocity-skew],span[data-velocity-skew]{--skew-multiplier:1.2}.project-card[data-velocity-skew],img[data-velocity-skew]{--skew-multiplier:0.4;transform:skewY(var(--skew)) scale(calc(1 + var(--velocity-abs, 0)*.02))}.cursor-dot{position:fixed;top:0;left:0;width:4px;height:4px;background:#e85d04;border-radius:0;pointer-events:none;z-index:99999;transform:translate(-50%,-50%) rotate(45deg);transition:transform .2s cubic-bezier(.23,1,.32,1),width .2s ease,height .2s ease,background .2s ease,border-radius .2s ease;will-change:transform}.cursor-dot.is-hovering,.cursor-ring{transform:translate(-50%,-50%) rotate(0deg)}.cursor-ring{position:fixed;top:0;left:0;width:32px;height:32px;border:1px solid rgba(232,93,4,.5);border-radius:0;pointer-events:none;z-index:99998;transition:transform .3s cubic-bezier(.23,1,.32,1),width .25s ease,height .25s ease,border-color .2s ease,border-radius .2s ease,opacity .2s ease;will-change:transform}.cursor-ring::after,.cursor-ring::before{content:"";position:absolute;background:rgba(232,93,4,.4);transition:all .25s ease}.cursor-ring::before{width:1px;height:8px;top:-12px;left:50%;transform:translateX(-50%)}.cursor-ring::after{width:8px;height:1px;left:-12px;top:50%;transform:translateY(-50%)}.cursor-dot.is-hovering{width:8px;height:8px;background:#e85d04}.cursor-ring.is-hovering{width:48px;height:48px;border-color:#e85d04;border-radius:2px;transform:translate(-50%,-50%) rotate(0deg)}.cursor-ring.is-hovering::before{height:12px;top:-18px;background:#e85d04}.cursor-ring.is-hovering::after{width:12px;left:-18px;background:#e85d04}.cursor-dot.is-text{width:2px;height:18px;border-radius:1px;background:rgba(232,93,4,.8);transform:translate(-50%,-50%) rotate(0deg)}.cursor-ring.is-text{width:24px;height:24px;border-color:rgba(232,93,4,.3);opacity:.6}.cursor-ring.is-text::after,.cursor-ring.is-text::before{opacity:0}.cursor-dot.is-clicking{transform:translate(-50%,-50%) rotate(45deg) scale(.5);background:#ff6b35}.cursor-ring.is-clicking{transform:translate(-50%,-50%) scale(.85);border-color:#ff6b35}.cursor-dot.is-hidden,.cursor-ring.is-hidden{opacity:0;transform:translate(-50%,-50%) scale(0)}.has-custom-cursor,.has-custom-cursor *,.has-custom-cursor [role=button],.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor input,.has-custom-cursor select,.has-custom-cursor textarea{cursor:none!important}.shutter-blinds{clip-path:inset(0 0 100%0);transition:clip-path .8s cubic-bezier(.77,0,.175,1)}.shutter-blinds.is-visible,.shutter-vertical.is-visible{clip-path:inset(0 0 0 0)}.shutter-vertical{clip-path:inset(0 100%0 0);transition:clip-path .7s cubic-bezier(.77,0,.175,1)}.shutter-iris{clip-path:circle(0 at 50% 50%);transition:clip-path .9s cubic-bezier(.34,1.56,.64,1)}.shutter-iris.is-visible{clip-path:circle(75%at 50% 50%)}.shutter-diamond{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path .8s cubic-bezier(.77,0,.175,1)}.shutter-diamond.is-visible{clip-path:polygon(50%0,100% 50%,50% 100%,0 50%)}.shutter-diagonal.is-visible,.shutter-diamond.is-visible.is-full,.shutter-split.is-visible{clip-path:polygon(0 0,100%0,100% 100%,0 100%)}.shutter-diagonal{clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path .6s cubic-bezier(.77,0,.175,1)}.shutter-split{clip-path:polygon(0 50%,100% 50%,100% 50%,0 50%);transition:clip-path .7s cubic-bezier(.77,0,.175,1)}.shutter-mechanical{clip-path:inset(0 100%0 0);transition:clip-path .5s cubic-bezier(.34,1.56,.64,1)}.shutter-mechanical.is-visible{clip-path:inset(0-5%0 0);animation:mechanicalSettle .3s .5s ease-out forwards}.shutter-strips{position:relative;overflow:hidden}.shutter-strips::after,.shutter-strips::before{content:"";position:absolute;left:0;right:0;height:50%;background:inherit;z-index:1;transition:transform .6s cubic-bezier(.77,0,.175,1)}.shutter-strips::before{top:0;transform:translateY(0)}.shutter-strips::after{bottom:0;transform:translateY(0)}.shutter-strips.is-visible::before{transform:translateY(-100%)}.shutter-strips.is-visible::after{transform:translateY(100%)}.link-highlight{position:relative;z-index:1}.link-highlight::before{content:"";position:absolute;bottom:0;left:-.15em;right:-.15em;height:.35em;background:var(--accent-subtle);z-index:-1;transition:height var(--duration-normal) var(--ease-out-expo)}.link-highlight:hover::before{height:100%}.card-hover-lift{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) ease,border-color var(--duration-fast) ease}.card-hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05);border-color:var(--gray-300)}.card-img-zoom{overflow:hidden}.card-img-zoom img{transition:transform var(--duration-slow) var(--ease-out-expo)}.card-img-zoom:hover img{transform:scale(1.08)}.card-border-glow,.card-content-slide{position:relative;overflow:hidden}.card-border-glow::before{content:"";position:absolute;inset:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(0,0,0,.04),transparent 40%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.card-border-glow:hover::before{opacity:1}.card-content-slide .card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);transform:translateY(100%);transition:transform var(--duration-normal) var(--ease-out-expo)}.card-content-slide:hover .card-overlay{transform:translateY(0)}.float{animation:float var(--float-duration, 20s) ease-in-out infinite;animation-delay:var(--float-delay, 0s)}.slow-rotate{animation:slow-rotate var(--rotate-duration, 60s) linear infinite}.pulse-glow{animation:pulse-glow 4s ease-in-out infinite}.breathe{animation:breathe 6s ease-in-out infinite}.blob-morph{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:blob-morph 10s ease-in-out infinite}.gradient-shift{background-size:200% 200%;animation:gradient-shift 15s ease infinite}.ambient-blob,.ambient-container{position:absolute;pointer-events:none;z-index:0}.ambient-container{inset:0;overflow:hidden}.ambient-blob{background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);filter:blur(60px)}.light-shaft{position:absolute;width:200px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent);transform-origin:top center;animation:shaft-sway 25s ease-in-out infinite}.fence-section{position:relative;display:flex;align-items:center;justify-content:center}.fence-container{position:relative;perspective:1500px}.fence-wrapper{transform:rotateY(-8deg) rotateX(2deg);transform-style:preserve-3d;transition:transform 100ms ease-out}.fence-svg{width:540px;height:420px;overflow:visible}.fence-post,.fence-slat{fill:var(--gray-800)}.fence-slat{opacity:0;animation:slatReveal .8s var(--ease-out) forwards}.fence-slat:nth-child(1){animation-delay:.15s}.fence-slat:nth-child(2){animation-delay:.2s}.fence-slat:nth-child(3){animation-delay:.25s}.fence-slat:nth-child(4){animation-delay:.3s}.fence-slat:nth-child(5){animation-delay:.35s}.fence-slat:nth-child(6){animation-delay:.4s}.fence-slat:nth-child(7){animation-delay:.45s}.fence-slat:nth-child(8){animation-delay:.5s}.fence-slat:nth-child(9){animation-delay:.55s}.fence-slat:nth-child(10){animation-delay:.6s}.fence-slat:nth-child(11){animation-delay:.65s}.fence-slat:nth-child(12){animation-delay:.7s}.slat-highlight{stroke:var(--black);stroke-width:1;opacity:0;animation:highlightPulse 4s ease-in-out infinite}.reveal-line{stroke:var(--black);stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:1400;stroke-dashoffset:1400;animation:lineReveal 1.8s var(--ease-out) forwards;animation-delay:.2s}.dimension-line{stroke:var(--gray-400);stroke-width:.5}.dimension-text{font-family:var(--font-mono, 'JetBrains Mono'),monospace;font-size:9px;fill:var(--gray-400);letter-spacing:.05em}.corner-marker{stroke:var(--gray-400);stroke-width:.5;fill:none}.spec-label{position:absolute;text-align:left}.spec-label.top-right{top:-60px;right:0;text-align:right}.spec-label.bottom-left{bottom:-20px;left:-80px}.spec-label.bottom-right{bottom:-32px;right:-6px}.spec-value{display:block;font-size:32px;font-weight:var(--font-light);letter-spacing:-.02em;color:var(--black);margin-bottom:4px}.spec-unit{font-size:10px;font-weight:var(--font-medium);letter-spacing:.15em;text-transform:uppercase;color:var(--gray-400)}.trust-bar{position:absolute;bottom:48px;left:var(--container-padding);right:var(--container-padding);display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:linear-gradient(135deg,rgba(255,255,255,.12)0,rgba(255,255,255,.06) 50%,rgba(255,255,255,.12) 100%);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.25);border-radius:0;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.4),inset 0-1px 0 rgba(0,0,0,.05);z-index:10}.hero::after,.zone0::before{content:"";position:absolute;left:0;right:0}.hero::after{bottom:0;height:200px;background:linear-gradient(to top,rgba(0,0,0,.15),transparent);pointer-events:none;z-index:2}.trust-item{text-align:left}.trust-label,.zone0-meta strong{color:var(--gray-800);font-weight:var(--font-semibold)}.trust-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.trust-value,.zone0-step-btn .step-index{font-size:14px;font-weight:var(--font-semibold);color:var(--black);letter-spacing:.02em}.zone0{background:#fafafa;position:relative;overflow:hidden}.zone0::before{top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gray-200),transparent)}.zone0-grid{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,64px);align-items:start}@media (min-width:1024px){.zone0-grid{grid-template-columns:5fr 7fr;gap:clamp(48px,5vw,80px);align-items:center}}.zone0-copy h2{font-size:clamp(28px,3.5vw,40px);margin:0 0 20px;letter-spacing:-.025em;color:var(--black);line-height:1.15}.zone0-copy h2 .text-blueprint{-webkit-text-stroke:1px var(--black);transition:color 320ms ease,-webkit-text-fill-color 320ms ease}.zone0-copy h2 .text-blueprint,.zone0-copy h2.is-visible .text-blueprint{color:var(--black);-webkit-text-fill-color:var(--black)}.system-copy p,.zone0-copy p{color:var(--gray-600);margin:0 0 24px;line-height:1.7}.zone0-lede{font-size:17px;line-height:1.85;color:var(--gray-700);max-width:480px}.zone0-steps{display:grid;gap:8px;margin-bottom:20px}.zone0-step-btn{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--gray-200);border-radius:0;background:#fff;cursor:pointer;transition:all 200ms cubic-bezier(.23,1,.32,1);text-align:left}.zone0-step-btn span{display:inline-block}.zone0-step-btn .step-index{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);font-size:10px;min-width:48px;flex-shrink:0}.zone0-step-btn .step-title{font-weight:var(--font-medium);color:var(--gray-700);letter-spacing:-.01em;font-size:14px}.zone0-step-btn:hover{border-color:var(--gray-300);background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.05);transform:translateX(4px)}.zone0-step-btn.is-active{border-color:#171717;background:#171717;transform:translateX(8px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.zone0-step-btn.is-active .step-index{color:rgba(255,255,255,.6)}.zone0-step-btn.is-active .step-title{color:#fff}.zone0-visual{position:relative;width:100%;display:flex;flex-direction:column;gap:0}.zone0-image-stack{position:relative;width:100%;aspect-ratio:4/3;border-radius:0;overflow:hidden;background:#e5e5e5;box-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 32px rgba(0,0,0,.08),0 24px 48px rgba(0,0,0,.04)}.zone0-frame-wrapper{position:absolute;inset:0;opacity:0;transition:opacity 600ms cubic-bezier(.4,0,.2,1);will-change:opacity}.zone0-frame-wrapper.is-active{opacity:1}.zone0-frame-wrapper.is-exiting{opacity:0;transition:opacity 800ms cubic-bezier(.4,0,.2,1)}.zone0-frame-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.zone0-caption-area{position:relative;min-height:80px;padding:20px 0 0}.zone0-caption{position:absolute;top:20px;left:0;right:0;margin:0;font-size:14px;line-height:1.6;color:var(--gray-600);opacity:0;transform:translateY(8px);transition:opacity 400ms ease,transform 400ms ease;display:flex;align-items:flex-start;gap:12px}.zone0-caption.is-active{opacity:1;transform:translateY(0)}.caption-marker{display:inline-block;padding:4px 10px;background:#171717;color:#fff;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:0;flex-shrink:0;margin-top:2px}.zone0-progress{display:flex;align-items:center;gap:16px;padding-top:24px}.zone0-progress-track{flex:1;height:2px;background:var(--gray-200);border-radius:0;overflow:hidden}.zone0-progress-fill{height:100%;width:25%;background:#171717;border-radius:0;transition:width 400ms cubic-bezier(.4,0,.2,1)}.zone0-progress-steps{display:flex;gap:8px}.zone0-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--gray-300);background:0 0;cursor:pointer;padding:0;transition:all 200ms ease}.zone0-dot:hover{border-color:var(--gray-500)}.zone0-dot.is-active{border-color:#171717;background:#171717;transform:scale(1.2)}.zone0-meta{margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-200);display:flex;gap:20px;flex-wrap:wrap;color:var(--gray-500);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.zone0-meta strong{letter-spacing:.04em}@media (max-width:1023px){.zone0-visual{order:-1}.zone0-image-stack{aspect-ratio:16/10}}@media (max-width:640px){.zone0-step-btn{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px}.zone0-caption{flex-direction:column;gap:8px}.zone0-progress{flex-direction:column-reverse;align-items:stretch;gap:12px}.zone0-progress-steps{justify-content:center}}.gabion{background:#fafaf9;position:relative;overflow:hidden;padding:clamp(80px,12vw,160px)0}.gabion::before,.system-selector::before{content:"";position:absolute;pointer-events:none}.gabion::before{inset:0;background:radial-gradient(ellipse 80% 50%at 20% 80%,rgba(168,162,158,.08)0,transparent 50%),radial-gradient(ellipse 60% 40%at 80% 20%,rgba(120,113,108,.06)0,transparent 50%)}.gabion-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,80px);align-items:center}@media (min-width:1024px){.gabion-grid{grid-template-columns:5fr 7fr}}.gabion-copy{color:#1c1917}.gabion-title{font-size:clamp(40px,5vw,64px);font-weight:500;line-height:.95;letter-spacing:-.03em;margin:0 0 24px;color:#1c1917}.gabion-title .accent{color:#78716c;font-weight:400}.gabion-lede{font-size:clamp(16px,1.2vw,18px);font-weight:300;line-height:1.75;color:#57534e;max-width:420px;margin-bottom:32px}.gabion-uses{display:flex;flex-wrap:wrap;gap:8px}.gabion-use{padding:10px 16px;background:#fff;border:1px solid #e7e5e4;border-radius:0;font-size:12px;font-weight:500;letter-spacing:.04em;color:#44403c;cursor:default;transition:all 300ms cubic-bezier(.23,1,.32,1)}.gabion-use:hover{background:#fafaf9;border-color:#d6d3d1;color:#1c1917;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.gabion-use.is-active{background:#1c1917;border-color:#1c1917;color:#fafaf9}.gabion-visual{position:relative;width:100%;aspect-ratio:16/10;border-radius:0;overflow:hidden;background:radial-gradient(120% 120%at 25% 10%,#f5f5f4 0,#e7e5e4 55%,#d6d3d1 100%);border:1px solid #44403c;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 4px 6px -1px rgba(0,0,0,.1),0 10px 20px -5px rgba(0,0,0,.12),0 25px 50px -12px rgba(0,0,0,.18),inset 0 0 80px 20px rgba(0,0,0,.06);color:#292524}.gabion-visual svg{width:100%;height:100%;display:block;shape-rendering:geometricPrecision}.gabion-caption{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:linear-gradient(to top,rgba(255,255,255,.95)0,rgba(255,255,255,.8) 50%,transparent 100%);display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.gabion-caption-badge,.gabion-caption-text{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#78716c}.gabion-caption-badge{font-family:var(--font-mono, 'JetBrains Mono'),monospace;font-size:9px;letter-spacing:.15em;color:#a8a29e;padding:6px 10px;background:#fff;border:1px solid #e7e5e4;border-radius:0}.gabion-visual:hover .gabion-caption-badge::after{content:" · Paused"}@media (max-width:1023px){.gabion-visual{order:-1}}@media (prefers-reduced-motion:reduce){.gabion-visual svg animate{display:none}}.system-selector{background:#fff;position:relative;overflow:hidden}.system-selector::before{inset:-40px 0 auto 0;height:120px;background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 70%)}.system-selector::after{content:"";position:absolute;inset:auto 5% 12%auto;width:140px;height:1px;background:var(--gray-200)}.system-selector-grid{display:grid;grid-template-columns:320px 1fr;gap:clamp(32px,6vw,72px);align-items:start}.system-selector .section-header{position:relative;padding-bottom:16px;margin-bottom:8px}.system-selector .section-header::after{content:"";position:absolute;left:0;bottom:0;width:160px;height:2px;background:linear-gradient(90deg,#0a0a0a,#3a3a3a,transparent);opacity:.6}.system-selector .section-sub{max-width:840px;color:var(--gray-600);letter-spacing:.01em;line-height:1.75;margin-top:10px}.system-selector-nav{display:grid;gap:10px}.system-selector-body,.system-tab{position:relative;border:1px solid var(--gray-200)}.system-tab{background:#f8f8f8;padding:14px 16px;min-height:62px;text-align:left;cursor:pointer;font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-700);overflow:hidden;transition:border-color 160ms ease,background 160ms ease,color 160ms ease}.system-tab.is-active{border-color:#0a0a0a;background:#0a0a0a;color:#fff}.system-selector-body::before,.system-tab::after{content:"";position:absolute;inset:0;pointer-events:none}.system-tab::after{background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,0));opacity:0;transition:opacity 180ms ease}.portfolio-item:hover::after,.service-card:hover::after,.system-tab.is-active::after,.system-tab:hover::after{opacity:1}.system-selector-body{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,40px);align-items:stretch;background:#fff;border-radius:0;padding:clamp(18px,3vw,28px);box-shadow:0 18px 40px rgba(0,0,0,.06)}.system-selector-body::before{background:radial-gradient(circle at 15% 20%,rgba(0,0,0,.035),transparent 40%);border-radius:inherit}.system-copy h2{margin:0 0 12px;font-size:clamp(26px,3vw,34px);letter-spacing:-.02em}.system-copy p{margin:0 0 18px;line-height:1.75;max-width:640px}.system-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0 14px}.system-meta .label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:6px}.system-meta .value{font-weight:var(--font-semibold);letter-spacing:-.01em;color:#0a0a0a;background:linear-gradient(90deg,rgba(0,0,0,.04),transparent);border:1px solid var(--gray-200);padding:10px 12px;border-radius:0}.system-copy,.system-cta,.system-meta,.system-visual{transition:opacity 220ms ease,transform 220ms ease}.system-copy.is-swapping,.system-cta.is-swapping,.system-meta.is-swapping,.system-visual.is-swapping{opacity:.35;transform:translateY(8px)}.system-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.system-cta .btn-link{color:var(--gray-700)}.system-cta .btn-link:hover{color:var(--black)}.system-visual{position:relative;width:100%;min-height:260px;border-radius:0;overflow:hidden;border:1px solid var(--gray-200);background:linear-gradient(135deg,#f8f8f8,#f0f0f0)}.system-frame{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.02);transition:opacity 450ms ease,transform 450ms ease}.system-frame img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}.system-frame.is-active{opacity:1;transform:scale(1)}.pill-label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:0;background:rgba(0,0,0,.06);color:var(--gray-700);letter-spacing:.14em;font-size:11px;text-transform:uppercase}@media (max-width:1080px){.system-selector-body,.system-selector-grid{grid-template-columns:1fr}}.problem{background:var(--gray-100);position:relative;overflow:hidden}.problem-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.problem-stat{position:relative}.problem-number{font-size:clamp(80px,12vw,160px);font-weight:var(--font-light);line-height:1;letter-spacing:-.04em;color:var(--black);margin-bottom:16px}.problem-number .accent{color:var(--accent)}.problem-label,.problem-text p{font-size:var(--text-lg);font-weight:var(--font-light);color:var(--gray-600);max-width:300px}.problem-text h2{font-size:clamp(28px,4vw,42px);font-weight:var(--font-light);line-height:1.3;letter-spacing:-.02em;margin-bottom:24px}.faq-header h2 strong,.footer-cta h2 strong,.portfolio-header h2 strong,.problem-cta,.problem-text h2 strong,.process-header h2 strong,.service-card h3,.services-header h2 strong,.testimonial-info h4{font-weight:var(--font-medium)}.problem-text p{font-size:var(--text-base);line-height:1.8;margin-bottom:32px;max-width:480px}.problem-cta{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--black);padding-bottom:4px;border-bottom:1px solid var(--gray-300);transition:all var(--duration-normal) ease}.problem-cta:hover{border-color:var(--black)}.problem-cta svg{transition:transform var(--duration-normal) ease}.services{background:var(--white)}.services-header{margin-bottom:64px}.services-header .eyebrow{margin-bottom:20px}.portfolio-header h2,.process-header h2,.services-header h2{font-size:clamp(32px,4vw,48px);font-weight:var(--font-light);letter-spacing:-.02em}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-200);border:1px solid var(--gray-200)}.service-card{background:var(--white);padding:48px 40px;z-index:1;overflow:visible;--komo-skew:0deg;--komo-scale:1;--komo-blur:12px;--komo-alpha:0.12;transform:perspective(900px) translateZ(0);transform-style:preserve-3d;will-change:transform}.services .service-card.card-scroll-reveal{animation:none!important;transform:perspective(900px) translateZ(0)}.portfolio-item>*,.service-card>*{position:relative;z-index:2}.service-card::before{background:repeating-linear-gradient(90deg,rgba(0,0,0,.1)0,rgba(0,0,0,.1) 10%,transparent 18%,transparent 36%);transform:skewY(var(--komo-skew)) scaleY(var(--komo-scale)) translateY(6px);filter:blur(var(--komo-blur));opacity:var(--komo-alpha);mix-blend-mode:multiply}.service-card:hover{background:var(--white);box-shadow:0 10px 30px rgba(0,0,0,.04);z-index:10;border-color:var(--black)}.service-card:hover .service-icon{color:var(--black);transform:translateY(-4px)}.service-card:hover .service-arrow{opacity:1;transform:translateX(0)}.komorebi{position:relative;background:#e8e6e3;overflow:hidden;padding:clamp(80px,12vw,192px)0}.komorebi .container{position:relative;z-index:1}.komorebi-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,48px);align-items:center}@media (min-width:1024px){.komorebi-grid{grid-template-columns:5fr 7fr;gap:clamp(48px,5vw,80px)}}.komorebi-left{pointer-events:none}.komorebi-title{font-size:clamp(48px,6vw,80px);font-weight:500;line-height:.9;letter-spacing:-.04em;margin:16px 0 28px;color:#1a1a1a}.komorebi-title .accent{color:#737373;font-weight:400}.komorebi-lede{font-size:clamp(17px,1.25vw,20px);font-weight:300;line-height:1.7;color:#525252;max-width:380px}.komorebi-right{position:relative;height:clamp(480px,55vw,600px);border:1px solid rgba(0,0,0,.08);overflow:hidden;background:#d4d4d4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 2px 20px rgba(0,0,0,.06)}.komorebi-stage{position:absolute;inset:0;cursor:crosshair;overflow:hidden}.komorebi-concrete{position:absolute;inset:0;background:linear-gradient(135deg,#d6d3cf 0,#c9c5c0 50%,#d1cec9 100%);opacity:.85}.komorebi-noise,.komorebi-slat-body::before{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");mix-blend-mode:overlay;pointer-events:none;opacity:.5}.komorebi-bloom{position:absolute;width:800px;height:800px;left:50%;top:50%;margin-left:-400px;margin-top:-400px;background:radial-gradient(circle,rgba(255,255,255,.9)0,rgba(255,255,255,.4) 30%,transparent 60%);filter:blur(40px);opacity:.4;transition:transform .1s ease-out;pointer-events:none;will-change:transform}.komorebi-slats{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,2vw,20px);perspective:1000px;z-index:2;padding:clamp(40px,5vw,60px)}.komorebi-slat{position:relative;width:70%;height:clamp(70px,7vw,88px);transform-style:preserve-3d;transition:none}.komorebi-slat-shadow{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;transform-origin:center center;mix-blend-mode:multiply;pointer-events:none;border-radius:0;filter:blur(8px);opacity:.5;transition:transform .25s ease-out,filter .25s ease-out,opacity .25s ease-out;z-index:-1}.komorebi-slat-body{position:relative;width:100%;height:100%;overflow:hidden;border-radius:0;background:linear-gradient(180deg,#404040 0,#1a1a1a 30%,#0a0a0a 70%,#171717 100%);box-shadow:0 8px 32px rgba(0,0,0,.25),0 2px 8px rgba(0,0,0,.15)}.komorebi-slat-body::before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");opacity:.25}.slat-bottom-edge,.slat-top-edge{position:absolute;left:0;right:0;z-index:20}.slat-top-edge{top:0;height:1px;background:rgba(255,255,255,.25)}.slat-bottom-edge{bottom:0;height:2px;background:rgba(0,0,0,.5)}.komorebi-slat-body .glint{position:absolute;left:0;right:0;top:30%;height:2px;background:rgba(255,255,255,.6);filter:blur(2px);pointer-events:none;transition:top .25s ease-out,opacity .25s ease-out;opacity:.7;z-index:10}.komorebi-badge{position:absolute;bottom:clamp(16px,2vw,24px);right:clamp(16px,2vw,24px);font-family:var(--font-mono, 'JetBrains Mono'),monospace;font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#737373;z-index:3}.portfolio-item::after,.service-card::after{inset:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(0,0,0,.04),transparent 40%);opacity:0;transition:opacity .3s ease}.portfolio-item::after{content:"";position:absolute;pointer-events:none;z-index:1}.service-icon{width:40px;height:40px;margin-bottom:28px;color:var(--gray-400);transition:all var(--duration-normal) ease}.service-card h3{font-size:var(--text-lg);margin-bottom:12px;letter-spacing:-.01em}.service-card p{font-weight:var(--font-light);line-height:1.7;margin-bottom:24px}.cta-phone span,.service-link{text-transform:uppercase;color:var(--gray-500)}.service-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:var(--font-medium);letter-spacing:.12em;transition:color var(--duration-normal) ease}.service-link:hover{color:var(--black)}.service-arrow{opacity:0;transform:translateX(-8px);transition:all var(--duration-normal) ease}.service-card.fire-rated::before{content:"CLASS A";position:absolute;top:20px;right:20px;font-size:9px;font-weight:var(--font-semibold);letter-spacing:.1em;color:var(--accent);padding:4px 8px;background:var(--accent-subtle);border-radius:0;z-index:3}.proof{background:var(--white);border-top:1px solid var(--gray-200)}.proof-content{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.testimonial-main{position:relative}.testimonial-quote{font-size:clamp(24px,3vw,36px);font-weight:var(--font-light);font-style:italic;line-height:1.5;letter-spacing:-.01em;color:var(--black);margin-bottom:40px;position:relative}.testimonial-quote::before{content:'"';position:absolute;top:-20px;left:-30px;font-size:120px;font-weight:var(--font-light);color:var(--gray-200);line-height:1;font-style:normal}.testimonial-author{display:flex;align-items:center;gap:16px}.testimonial-avatar{width:56px;height:56px;background:var(--gray-200);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--gray-500)}.testimonial-info h4{font-size:var(--text-base);margin-bottom:4px}.credential-item p,.service-card p,.testimonial-info p{font-size:var(--text-sm);color:var(--gray-500)}.credentials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.credential-item{padding:32px;border:1px solid var(--gray-200);transition:border-color var(--duration-normal) ease}.credential-item:hover{border-color:var(--gray-400)}.credential-icon{width:32px;height:32px;margin-bottom:20px;color:var(--gray-400)}.credential-item h4,.process-step h3{font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.02em;margin-bottom:8px}.credential-item p{font-size:var(--text-xs);line-height:1.6}.process{background:var(--gray-100)}.process-header{margin-bottom:80px}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.process-timeline::before{content:"";position:absolute;top:32px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);height:1px;background:var(--gray-300)}.process-step{text-align:center;position:relative;padding:0 24px}.process-number{width:64px;height:64px;margin:0 auto 28px;border:1px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:var(--font-light);color:var(--black);background:var(--gray-100);position:relative;z-index:1;transition:all var(--duration-normal) ease}.process-step:hover .process-number{background:var(--black);color:var(--white);border-color:var(--black)}.process-step h3{font-size:var(--text-base);margin-bottom:12px}.process-step p{font-size:var(--text-sm);color:var(--gray-500);max-width:200px;margin:0 auto}.portfolio{background:var(--off-white);overflow:hidden}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}.portfolio-header .eyebrow{margin-bottom:20px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}@media (max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.portfolio-grid{grid-template-columns:1fr;gap:24px}}.project-card{position:relative;background:var(--white);border-radius:0;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.06);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1);transform-style:preserve-3d;perspective:1000px}.project-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.1),0 24px 60px rgba(0,0,0,.08)}.project-card-inner{transform-style:preserve-3d;transition:transform .15s ease-out}.project-card-image{position:relative;height:280px;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1);will-change:transform}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-location{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:0;font-size:12px;font-weight:var(--font-medium);color:var(--charcoal);letter-spacing:.02em;box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateZ(20px)}.project-card-location svg{width:12px;height:12px;opacity:.7}.project-card-content{padding:24px;transform:translateZ(10px)}.project-card-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--charcoal);margin-bottom:12px;letter-spacing:-.01em}.project-card-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.project-card-tag{display:inline-block;padding:6px 12px;background:var(--off-white);border-radius:0;font-size:11px;font-weight:var(--font-medium);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em}.project-card-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--charcoal);text-decoration:none;transition:gap .3s ease}.project-card-link:hover{gap:12px}.project-card-link svg{width:16px;height:16px;transition:transform .3s ease}@media (prefers-reduced-motion:reduce){.project-card,.project-card-image img,.project-card-inner,.project-card-link svg{transition:none}}.faq{background:var(--off-white);border-top:1px solid var(--gray-200)}.faq-content{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-header .eyebrow{margin-bottom:20px}.faq-header h2,.footer-cta h2{font-weight:var(--font-light);letter-spacing:-.02em}.faq-header h2{font-size:clamp(28px,3.5vw,40px);margin-bottom:24px}.faq-header p,.footer-brand p,.process-step p{font-weight:var(--font-light);line-height:1.7}.faq-header p{font-size:var(--text-base);color:var(--gray-500)}.faq-list{border-top:1px solid var(--gray-200)}.faq-item{border-bottom:1px solid var(--gray-200)}.cta-phone a,.faq-question{font-weight:var(--font-medium);transition:color var(--duration-normal) ease}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px 0;font-size:var(--text-base);text-align:left;color:var(--black);background:0 0;border:0;cursor:pointer;font-family:inherit}.faq-question:hover{color:var(--gray-600)}.faq-icon{width:24px;height:24px;position:relative;flex-shrink:0;margin-left:20px}.faq-icon::after,.faq-icon::before{content:"";position:absolute;background:var(--gray-400);transition:all var(--duration-normal) ease;width:12px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-icon::after{width:1px;height:12px}.faq-item.active .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}.faq-answer-inner{padding:8px 0 32px 20px;font-size:var(--text-base);font-weight:var(--font-light);line-height:1.85;color:var(--gray-600);border-left:2px solid var(--gray-200);margin-left:4px}.footer-cta{background:var(--black);padding:calc(var(--section-padding)*.8)0;position:relative;overflow:hidden}.footer-cta::after,.footer-cta::before{content:"";position:absolute;pointer-events:none}.footer-cta::before{inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03}.footer-cta::after{top:0;left:20%;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(232,93,4,.3),transparent);transform:skewX(-15deg)}.footer-cta-content{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-cta h2{font-size:clamp(28px,4vw,44px);color:var(--white)}.footer-cta-buttons{display:flex;align-items:center;gap:32px;flex-shrink:0}.btn-white,.footer-brand h3,.footer-column h4{font-weight:var(--font-medium);letter-spacing:.1em;text-transform:uppercase}.btn-white{display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--black);background:var(--white);padding:20px 40px;transition:all var(--duration-normal) ease}.btn-white:hover{background:var(--gray-200)}.cta-phone{display:flex;flex-direction:column;align-items:flex-end;color:var(--white)}.cta-phone span{font-size:10px;letter-spacing:.15em;margin-bottom:6px}.cta-phone a{font-size:var(--text-lg);letter-spacing:.02em}.cta-phone a:hover{color:var(--gray-300)}.footer{background:var(--gray-900);padding:80px 0 40px;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:max(40px,env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px;margin-bottom:60px}.footer-brand h3,.footer-column h4{font-size:13px;margin-bottom:20px}.footer-brand p{max-width:280px}.footer-column h4{font-size:11px;letter-spacing:.15em;color:var(--gray-400);margin-bottom:24px}.footer-column ul{list-style:none}.footer-column li{margin-bottom:14px}.footer-brand p,.footer-column a{font-size:var(--text-sm);color:var(--gray-500)}.footer-brand h3,.footer-column a:hover{color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--gray-800)}.footer-legal{display:flex;gap:32px}.footer-column a,.footer-legal a{transition:color var(--duration-normal) ease}.footer-legal a:hover{color:var(--gray-400)}.footer-legal,.footer-license{font-size:var(--text-xs);color:var(--gray-600)}@media (max-width:1200px){.hero-content{grid-template-columns:1fr;text-align:center;padding:160px 48px 140px;gap:60px}.hero-text{max-width:100%;margin:0 auto}.hero-eyebrow{justify-content:center}.hero-eyebrow::before{display:none}.hero-subtitle{margin:0 auto 48px}.hero-buttons{justify-content:center}.fence-section{display:none}.trust-bar{position:static;flex-wrap:wrap;gap:24px 40px;justify-content:center;text-align:center;padding:24px var(--container-padding)0;margin-top:32px}.process-timeline::before,.scroll-indicator{display:none}.faq-content,.problem-content,.proof-content{grid-template-columns:1fr;gap:48px}.process-timeline,.services-grid{grid-template-columns:repeat(2,1fr)}.process-timeline{gap:40px}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-item:nth-child(n){grid-column:span 1}.footer-cta-content{text-align:center}.footer-cta-buttons,.footer-cta-content{flex-direction:column}.cta-phone{align-items:center}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.section{padding:64px 0}.content-lazy{content-visibility:visible;contain-intrinsic-size:auto}.nav{height:64px;padding:0 20px}.nav.nav-scrolled,.nav.scrolled{height:56px}.nav-logo{font-size:16px}.nav-logo::before{width:6px;height:6px}.nav-cta,.nav-links{display:none}.nav-mobile-toggle{display:flex}.process-timeline,.services-grid{grid-template-columns:1fr}.process-step{padding:0}.credentials-grid,.portfolio-grid{grid-template-columns:1fr}.portfolio-header{margin-bottom:32px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-bottom{flex-direction:column;gap:20px;text-align:center}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}.cursor,.cursor-dot{display:none!important}*{cursor:auto!important}.callout-line,.corner-marker,.dimension-line,.dimension-text,.fence-post,.fence-slat,.post-cap,.reveal-line,.slat-highlight{opacity:1!important;transform:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:none!important}}.scroll-progress-container{position:fixed;top:50%;right:48px;transform:translateY(-50%);height:300px;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:100;mix-blend-mode:difference}.scroll-progress-track{width:1px;height:100%;background:rgba(128,128,128,.2);position:relative}.scroll-progress-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--white);transition:height .1s linear}.scroll-progress-fill::after{content:"";position:absolute;bottom:0;right:0;width:12px;height:1px;background:var(--white)}.scroll-progress-percent{font-size:10px;font-weight:var(--font-medium);letter-spacing:.05em;color:var(--white);font-variant-numeric:tabular-nums;writing-mode:vertical-rl;text-orientation:mixed}@media (max-width:768px){.scroll-progress-container{display:none}}.hero-title .char{opacity:0;filter:blur(10px);transform:translateY(20px);animation:heroCharReveal .6s cubic-bezier(.23,1,.32,1) forwards}.hero-title .word{display:inline-block;overflow:hidden}.hero-title.revealed::after{inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.1) 50%,transparent 100%);animation:textShimmer 1.5s ease-out .8s}.project-card[data-magnetic],.service-card[data-magnetic],[data-magnetic]{transition:transform .4s cubic-bezier(.23,1,.32,1);will-change:transform}.hero-title.revealed::after,.service-card::after,.service-card::before{content:"";position:absolute;pointer-events:none}.service-card::before{inset:0;border-radius:inherit;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(232,93,4,.06),transparent 40%);opacity:0;transition:opacity .4s ease;z-index:1}.service-card:hover::before{opacity:1}.service-card::after{width:4px;height:4px;background:var(--ember);border-radius:50%;top:var(--mouse-y, 50%);left:var(--mouse-x, 50%);transform:translate(-50%,-50%) scale(0);transition:transform .3s cubic-bezier(.23,1,.32,1);z-index:2}.service-card:hover::after{transform:translate(-50%,-50%) scale(1)}.section-animate{opacity:0;transform:translateY(60px);transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1)}.section-animate.is-visible,.section-animate.is-visible .stagger-item{opacity:1;transform:translateY(0)}.section-animate .stagger-item{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.23,1,.32,1),transform .6s cubic-bezier(.23,1,.32,1)}.section-animate.is-visible .stagger-item:nth-child(3){transition-delay:.3s}.section-animate.is-visible .stagger-item:nth-child(4){transition-delay:.4s}.section-animate.is-visible .stagger-item:nth-child(5){transition-delay:.5s}.section-animate.is-visible .stagger-item:nth-child(6){transition-delay:.6s}.section-scale-in{opacity:0;transform:scale(.95);transition:opacity .7s ease,transform .7s cubic-bezier(.23,1,.32,1)}.section-scale-in.is-visible{opacity:1;transform:scale(1)}.counter-value{display:inline-block;font-variant-numeric:tabular-nums;transition:transform .1s ease}.counter-value.counting{animation:counterPulse .1s ease}.counter-complete{animation:counterGlow .6s ease}.image-reveal{position:relative;overflow:hidden}.image-reveal img{transform:scale(1.1);transition:transform 1s cubic-bezier(.23,1,.32,1)}.image-reveal::after{content:"";position:absolute;inset:0;background:var(--void);transform-origin:right;transform:scaleX(1);transition:transform .8s cubic-bezier(.77,0,.175,1);z-index:2}.image-reveal.revealed::after{transform:scaleX(0)}.image-reveal.revealed img{transform:scale(1)}.image-reveal-diagonal::after{background:linear-gradient(135deg,var(--void) 50%,transparent 50%);transform:translateX(0)}.image-reveal-diagonal.revealed::after{transform:translateX(100%)}.image-reveal-iris::after{background:var(--void);clip-path:circle(0 at 50% 50%);transition:clip-path .8s cubic-bezier(.77,0,.175,1);transform:none}.image-reveal-iris.revealed::after{clip-path:circle(150%at 50% 50%)}.hero{perspective:1000px;perspective-origin:center center}.hero-content{transform-style:preserve-3d}.hero-text{transform:translateZ(40px);will-change:transform}.hero-overlay-img{transform:translateZ(-20px) scale(1.04);will-change:transform}.fence-section{transform:translateZ(20px);will-change:transform}.hero[data-parallax-active] .hero-text{transition:transform .1s linear}.hero[data-parallax-active] .hero-overlay-img{transition:transform .15s linear}.link-draw{position:relative;text-decoration:none;padding-bottom:2px}.link-draw::after,.link-draw::before{content:"";position:absolute;bottom:0;height:1px;background:currentColor;transition:transform .4s cubic-bezier(.77,0,.175,1)}.link-draw::before{left:0;width:100%;transform:scaleX(0);transform-origin:right}.link-draw::after{right:0;width:100%;transform:scaleX(0);transform-origin:left}.link-draw:hover::before{transform:scaleX(1);transform-origin:left}.link-draw:hover::after{transform:scaleX(0);transform-origin:right;transition-delay:.2s}.footer a:not(.btn-white){position:relative;text-decoration:none}.footer a:not(.btn-white)::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.23,1,.32,1)}.footer a:not(.btn-white):hover::after{transform:scaleX(1);transform-origin:left}.map-marker,.region-dot,.service-area-dot{position:relative}.map-marker::before,.region-dot::before,.service-area-dot::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--ember);opacity:0;animation:mapGlowPulse 2.5s ease-in-out infinite;z-index:-1}.map-marker:nth-child(2)::before,.service-area-dot:nth-child(2)::before{animation-delay:.4s}.map-marker:nth-child(3)::before,.service-area-dot:nth-child(3)::before{animation-delay:.8s}.map-marker:nth-child(4)::before,.service-area-dot:nth-child(4)::before{animation-delay:1.2s}.map-marker:nth-child(5)::before,.service-area-dot:nth-child(5)::before{animation-delay:1.6s}.county-region{transition:filter .3s ease}.county-region:hover{filter:drop-shadow(0 0 12px rgba(232,93,4,.5))}.nav.nav-scrolled .nav-logo,.nav.scrolled .nav-logo{letter-spacing:.1em}.nav.nav-scrolled .nav-logo::before,.nav.scrolled .nav-logo::before{box-shadow:0 0 16px rgba(232,93,4,.7)}:focus-visible{outline:2px solid var(--ember);outline-offset:3px;transition:outline-offset .2s ease}.btn-primary,.btn-white,.service-cta-button{transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease,background .3s ease}.btn-primary:hover,.btn-white:hover,.service-cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.15)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.23,1,.32,1)}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.service-card{position:relative;background:linear-gradient(var(--white),var(--white)) padding-box,linear-gradient(135deg,transparent,transparent) border-box;border:1px solid transparent;transition:border-color .3s ease}.service-card:hover{background:linear-gradient(var(--white),var(--white)) padding-box,linear-gradient(135deg,rgba(232,93,4,.3),transparent 60%) border-box}.page-transition-in{animation:pageIn .6s cubic-bezier(.23,1,.32,1)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-title .char{opacity:1;filter:none;transform:none;animation:none}}