@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-500.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-800.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin.woff2)format("woff2")}:root{--ink:#101315;--ink-soft:#171b1e;--steel:#8d9699;--silver:#dce1df;--paper:#f2f0e9;--white:#fff;--orange:#66c23a;--orange-dark:#287a32;--line:#10131529;--line-dark:#ffffff29;--font-display:"Barlow Condensed", Impact, sans-serif;--font-body:"Manrope", Arial, sans-serif;--container:min(1240px, calc(100vw - 48px));--section:clamp(5.5rem, 10vw, 10rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{color:var(--white);background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;text-transform:uppercase;line-height:.96}h1{margin-bottom:1.5rem;font-size:clamp(4.25rem,10vw,9.5rem);font-weight:700}h2{margin-bottom:1.5rem;font-size:clamp(3rem,6vw,6rem);font-weight:700}h3{margin-bottom:.75rem;font-size:clamp(1.65rem,3vw,2.5rem);font-weight:600}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--section)}.section-dark{color:var(--white);background:var(--ink)}.section-white{background:var(--white)}.eyebrow{color:var(--orange-dark);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.74rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:currentColor;width:2.5rem;height:2px}.lede{color:#454b4d;max-width:760px;font-size:clamp(1.12rem,2vw,1.4rem)}.section-dark .lede{color:#bec5c4}.section-dark .eyebrow,.hero .eyebrow,.page-hero .eyebrow,.feature-copy .eyebrow{color:var(--orange)}.button{border:2px solid var(--orange-dark);min-height:54px;color:var(--white);background:var(--orange-dark);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:.8rem;padding:.9rem 1.4rem;font-size:.78rem;font-weight:700;line-height:1;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{border-color:var(--orange-dark);background:var(--orange-dark);transform:translateY(-2px)}.button-outline{color:inherit;background:0 0;border-color:currentColor}.button-outline:hover{border-color:var(--orange);color:var(--white);background:var(--orange)}.button-small{min-height:44px;padding:.75rem 1rem}.text-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:.6rem;padding-bottom:.3rem;font-size:.8rem;font-weight:700;display:inline-flex}.text-link:after{content:"→";transition:transform .18s}.text-link:hover:after{transform:translate(.35rem)}.skip-link{z-index:999;color:var(--white);background:var(--orange);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:100;height:86px;color:var(--white);border-bottom:1px solid #ffffff21;transition:height .2s,background .2s,box-shadow .2s;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled,.site-header:has(.mobile-nav:not([hidden])){-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101315f5;height:72px;box-shadow:0 12px 40px #0000002e}.header-inner{align-items:center;height:100%;display:flex}.brand{width:150px;height:60px;margin-right:auto;display:block}.brand img{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%}.desktop-nav{align-items:center;gap:clamp(1.5rem,3vw,3rem);margin-right:2.5rem;display:flex}.desktop-nav a{letter-spacing:.1em;text-transform:uppercase;font-size:.77rem;font-weight:700;position:relative}.desktop-nav a:after{background:var(--orange);content:"";transform-origin:100%;height:2px;transition:transform .18s;position:absolute;bottom:-.55rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{width:48px;height:48px;color:inherit;background:0 0;border:0;padding:0;display:none}.menu-toggle span{background:currentColor;width:25px;height:2px;margin:6px auto;transition:transform .18s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-nav{height:calc(100dvh - 72px);color:var(--white);background:var(--ink);padding:3rem 24px;position:absolute;top:72px;left:0;right:0;overflow-y:auto}.mobile-nav a{border-bottom:1px solid var(--line-dark);font-family:var(--font-display);text-transform:uppercase;padding-block:.8rem;font-size:clamp(2.5rem,12vw,4rem);line-height:1;display:block}.mobile-nav .mobile-phone{color:var(--orange);font-family:var(--font-body);border:0;margin-top:1.5rem;font-size:1rem;font-weight:700}.hero{min-height:100svh;color:var(--white);background:var(--ink);isolation:isolate;place-items:end start;display:grid;position:relative}.hero:after{z-index:-1;content:"";background:linear-gradient(90deg,#080a0bf0 0%,#080a0b9e 48%,#080a0b1f 80%),linear-gradient(#0000 55%,#080a0bcc);position:absolute;inset:0}.hero-media{z-index:-2;position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%}.hero-content{padding-top:10rem;padding-bottom:clamp(5rem,9vw,8rem)}.hero h1{max-width:970px}.hero h1 em{color:var(--orange);font-style:normal;display:block}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:3rem;display:flex}.hero-copy{color:#d7dddb;max-width:600px;margin:0;font-size:clamp(1.05rem,2vw,1.3rem)}.hero-actions{flex:none;gap:1rem;display:flex}.hero-index{color:#ffffff80;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;align-items:center;gap:.75rem;font-size:.7rem;display:flex;position:absolute;bottom:2rem;right:max(24px,50vw - 620px)}.hero-index:before{background:var(--orange);content:"";width:1px;height:4rem}.page-hero{min-height:670px;color:var(--white);background:var(--ink);isolation:isolate;padding-top:12rem;padding-bottom:5rem;position:relative;overflow:hidden}.page-hero:after{z-index:-1;background:linear-gradient(90deg, #0a0c0df5 0%, #0a0c0da6 55%, #0a0c0d1f), linear-gradient(0deg, var(--ink), transparent 50%);content:"";position:absolute;inset:0}.page-hero-media{z-index:-2;position:absolute;inset:0}.page-hero-media img{object-fit:cover;width:100%;height:100%}.page-hero h1{max-width:950px;font-size:clamp(4.2rem,9vw,8.5rem)}.page-hero .lede{color:#d5dcda;max-width:680px}.intro-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(4rem,10vw,10rem);display:grid}.intro-grid h2{position:sticky;top:120px}.intro-copy p:first-child{font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.45}.stat-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:4rem;display:grid}.stat{border-right:1px solid var(--line);padding:1.8rem 1.5rem}.stat:last-child{border-right:0}.stat strong{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.3rem,5vw,4.5rem);font-weight:600;line-height:1;display:block}.stat span{color:#5b6263;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.section-heading{justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:4rem;display:flex}.section-heading h2{max-width:760px;margin-bottom:0}.section-heading p{color:#5b6263;max-width:420px;margin-bottom:0}.section-heading .eyebrow{color:var(--orange-dark)}.section-dark .section-heading>p{color:#aeb6b4}.section-dark .section-heading .eyebrow{color:var(--orange)}.service-grid{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.service-card{min-height:560px;color:var(--white);background:var(--ink-soft);isolation:isolate;position:relative;overflow:hidden}.service-card:after{z-index:-1;content:"";background:linear-gradient(#080a0b33 25%,#080a0bf5 100%);transition:background .3s;position:absolute;inset:0}.service-card img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute}.service-card:hover img{transform:scale(1.04)}.service-card-content{position:absolute;bottom:2rem;left:2rem;right:2rem}.service-number{color:var(--orange);letter-spacing:.12em;font-size:.72rem;font-weight:700}.service-card h3{max-width:470px;margin:.7rem 0;font-size:clamp(2.5rem,5vw,4.5rem)}.service-card p{color:#cad0cf;max-width:520px;margin-bottom:1.5rem}.feature-split{grid-template-columns:1.05fr .95fr;min-height:720px;display:grid}.feature-image img{object-fit:cover;width:100%;height:100%}.feature-copy{color:var(--white);background:var(--ink);flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);display:flex}.feature-copy h2{max-width:620px}.feature-copy p:not(.eyebrow){color:#b7bfbd;max-width:550px}.feature-copy .button{align-self:flex-start;margin-top:1.5rem}.capability-list{grid-template-columns:repeat(2,1fr);margin:3rem 0;padding:0;list-style:none;display:grid}.capability-list li{border-top:1px solid var(--line-dark);padding:1rem .5rem 1rem 0;font-size:.86rem;font-weight:600}.project-grid{grid-template-columns:repeat(12,1fr);gap:1.25rem;display:grid}.project-card{min-height:480px;color:var(--white);background:var(--ink);grid-column:span 6;position:relative;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.project-card:after{content:"";background:linear-gradient(#0000 45%,#000c);position:absolute;inset:0}.project-meta{z-index:1;position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem}.project-meta span{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.project-meta h3{margin:.3rem 0 0;font-size:clamp(1.8rem,3vw,3rem)}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.process-step{border-right:1px solid var(--line);min-height:290px;padding:2rem;position:relative}.process-step:last-child{border-right:0}.process-step:before{color:var(--orange);font-family:var(--font-display);content:"0" counter(step);counter-increment:step;margin-bottom:4rem;font-size:1rem;display:block}.process-grid{counter-reset:step}.process-step p{color:#5e6565;margin:0}.chip-list{flex-wrap:wrap;gap:.6rem;margin:2.5rem 0 0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--line);letter-spacing:.07em;text-transform:uppercase;padding:.5rem .85rem;font-size:.72rem;font-weight:700}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:var(--font-display);text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;padding:1.7rem 0;font-size:clamp(1.4rem,2.5vw,2.1rem);line-height:1.1;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{color:var(--orange);font-family:var(--font-body);content:"+";flex:none;font-size:1.5rem}.faq-item[open] summary:after{content:"−"}.faq-answer{color:#555c5d;max-width:760px;padding:0 0 1.8rem}.breadcrumb{color:#ffffff9e;letter-spacing:.08em;text-transform:uppercase;gap:.65rem;margin-bottom:3rem;padding:0;font-size:.73rem;font-weight:700;list-style:none;display:flex}.breadcrumb li:not(:last-child):after{color:var(--orange);content:"/";margin-left:.65rem}.cta-panel{color:var(--white);background:var(--orange);padding-block:clamp(5rem,10vw,9rem);position:relative;overflow:hidden}.cta-panel:before{color:#ffffff14;font-family:var(--font-display);content:"CPS";font-size:28rem;font-weight:800;line-height:1;position:absolute;top:-10rem;right:-3rem}.cta-panel .eyebrow{color:var(--ink)}.cta-inner{justify-content:space-between;align-items:flex-end;gap:3rem;display:flex;position:relative}.cta-inner h2{max-width:850px;margin:0}.cta-inner .button{border-color:var(--ink);color:var(--white);background:var(--ink);flex:none}.contact-grid{grid-template-columns:.7fr 1.3fr;gap:clamp(4rem,9vw,9rem);display:grid}.contact-details{align-self:start;position:sticky;top:120px}.contact-details dl{margin:3rem 0 0}.contact-details div{border-top:1px solid var(--line);padding-block:1.3rem}.contact-details dt{color:#777f80;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.contact-details dd{margin:.4rem 0 0;font-size:1.05rem}.contact-form{background:var(--white);padding:clamp(2rem,5vw,4rem)}.form-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.field{gap:.5rem;display:grid}.field-full{grid-column:1/-1}.field label,.field-label{color:#454b4c;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:700}.field input,.field textarea,.field select{width:100%;min-height:54px;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #aab1af;border-radius:0;padding:.8rem 0}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 1px 0 var(--orange);outline:0}.checkbox-field{color:#555c5d;align-items:flex-start;gap:.8rem;margin:1.8rem 0;font-size:.8rem;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--orange);margin-top:.2rem}.form-status{margin-top:1rem;font-size:.86rem;font-weight:600}.form-status[data-state=success]{color:#167647}.form-status[data-state=error]{color:#ad261f}.honeypot{position:absolute;left:-10000px}.site-footer{color:#c3c9c8;background:var(--ink);padding-top:6rem}.footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:4rem;padding-bottom:5rem;display:grid}.site-footer h2{color:var(--white);font-family:var(--font-body);letter-spacing:.13em;margin-bottom:1.5rem;font-size:.7rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li,.site-footer p{margin-bottom:.7rem}.site-footer address{margin-bottom:1rem;font-style:normal}.site-footer a:hover{color:var(--orange)}.footer-wordmark{width:175px;height:90px;margin-bottom:1.5rem;display:inline-block}.footer-wordmark img{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%}.footer-intro p{max-width:340px}.social-links{letter-spacing:.08em;text-transform:uppercase;gap:1rem;margin-top:1.2rem;font-size:.72rem;font-weight:700;display:flex}.footer-base{border-top:1px solid var(--line-dark);color:#858e8c;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-block:1.5rem;font-size:.7rem;display:flex}.footer-base p{margin:0}.floating-quote{z-index:90;color:var(--white);background:var(--orange-dark);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:1.3rem;padding:.9rem 1.2rem;font-size:.7rem;font-weight:700;transition:background .18s;display:flex;position:fixed;bottom:2rem;right:0}.floating-quote:hover{background:var(--orange-dark)}.floating-quote svg{fill:none;stroke:currentColor;stroke-width:2px;width:20px}.error-page{min-height:100svh;color:var(--white);background:var(--ink);text-align:center;place-items:center;padding-top:8rem;display:grid}.error-page strong{color:var(--orange);font-family:var(--font-display);font-size:clamp(8rem,26vw,22rem);line-height:.7;display:block}@media (width<=980px){:root{--container:min(100% - 36px, 760px)}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.hero-bottom,.section-heading,.cta-inner{flex-direction:column;align-items:flex-start}.hero-actions{width:100%}.intro-grid,.feature-split,.contact-grid{grid-template-columns:1fr}.intro-grid h2,.contact-details{position:static}.feature-image{min-height:560px}.service-card{min-height:500px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(2){border-right:0}.process-step:nth-child(n+3){border-top:1px solid var(--line)}.project-card{grid-column:span 6}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){:root{--container:calc(100% - 32px);--section:5.5rem}h1{font-size:clamp(3.8rem,21vw,6rem)}h2{font-size:clamp(2.8rem,15vw,4.5rem)}.site-header{height:72px}.brand{width:125px;height:56px}.brand img{width:100%}.hero{min-height:780px}.hero:after{background:linear-gradient(#080a0b47 25%,#080a0bf2 100%),linear-gradient(90deg,#080a0bcc,#0000)}.hero-content{padding-top:9rem}.hero-actions,.hero-actions .button{width:100%}.hero-actions{flex-direction:column}.hero-index{display:none}.page-hero{min-height:620px;padding-top:9rem}.page-hero h1{font-size:clamp(3.7rem,18vw,5.6rem)}.stat-row,.service-grid,.capability-list,.form-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.service-card{min-height:480px}.service-card-content{bottom:1.4rem;left:1.4rem;right:1.4rem}.feature-image{min-height:420px}.feature-copy{padding:4rem 1.5rem}.project-card{grid-column:1/-1;min-height:430px}.process-grid{grid-template-columns:1fr}.process-step,.process-step:nth-child(2){border-top:1px solid var(--line);border-right:0;min-height:230px}.process-step:before{margin-bottom:2.5rem}.cta-inner .button{width:100%}.contact-form{padding:2rem 1.25rem}.field-full{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-base{flex-direction:column;align-items:flex-start;gap:.7rem}.floating-quote{border-radius:50%;width:52px;height:52px;padding:1rem;bottom:1rem;right:1rem}.floating-quote span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
