:root{--cp-gold:#d8a22d;--cp-gold-hover:#e7b94c;--cp-graphite:#3b3f45;--cp-copper:#8a6a56;--cp-white:#f7f5f1;--cp-paper:#fff;--cp-ink:#292d33;--cp-muted:#62666c;--cp-on-dark:#dddfe1;--cp-border:#deddd8;--cp-icon-ink:#8a661f;--cp-font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;--cp-type-display:clamp(2.25rem, 1.564rem + 3.429vw, 4.65rem);--cp-type-heading:clamp(1.875rem, 1.368rem + 2.536vw, 3.65rem);--cp-type-feature:clamp(1.875rem, 1.468rem + 2.036vw, 3.3rem);--cp-type-subheading:clamp(1.5rem, 1.35rem + .75vw, 2.025rem);--cp-type-card:clamp(1.25rem, 1.214rem + .179vw, 1.375rem);--cp-type-pillar:clamp(1.5rem, 1.457rem + .214vw, 1.65rem);--cp-type-body:clamp(1rem, .965rem + .179vw, 1.125rem);--cp-type-ui:clamp(.875rem, .839rem + .179vw, 1rem);--cp-type-small:clamp(.875rem, .857rem + .09vw, .9375rem);--cp-type-caption:clamp(.75rem, .714rem + .179vw, .875rem);--cp-type-stat:clamp(2.75rem, 2.636rem + .571vw, 3.15rem);--cp-type-menu:clamp(2rem, 1.25rem + 3vw, 3.75rem);--cp-type-brand:clamp(1.375rem, 1.296rem + .393vw, 1.65rem);--cp-type-brand-detail:clamp(.5625rem, .545rem + .089vw, .625rem);--cp-leading-heading:1.12;--cp-leading-body:1.75;--cp-leading-ui:1.5;--cp-tracking-heading:-.045em;--cp-space-xs:.25rem;--cp-space-sm:.5rem;--cp-space-md:1rem;--cp-space-lg:clamp(1.25rem, 1.036rem + 1.071vw, 2rem);--cp-space-xl:clamp(1.75rem, 1.321rem + 2.143vw, 3.25rem);--cp-space-2xl:clamp(2rem, .786rem + 6.071vw, 6.25rem);--cp-section-space:clamp(3.5rem, 2.572rem + 4.643vw, 6.75rem);--cp-gutter:clamp(1.25rem, .607rem + 3.214vw, 3.5rem);--cp-content-width:77.5rem;--cp-copy-width:65ch;--cp-header-height:clamp(4.625rem, 4.232rem + 1.964vw, 6rem);--cp-touch-size:2.75rem;--cp-control-height:3.25rem;--cp-mark-size:clamp(7rem, 5.964rem + 5.179vw, 10.625rem);--cp-brand-mark-size:clamp(2.75rem, 2.446rem + 1.518vw, 3.8125rem);--cp-ease:cubic-bezier(.2, .65, .3, 1);--cp-transition:.2s;font-family:var(--cp-font-family);color:var(--cp-ink);background:var(--cp-paper);scroll-behavior:smooth;font-synthesis:none}*,:before,:after{box-sizing:border-box}body{font-size:var(--cp-type-body);line-height:var(--cp-leading-body);overflow-wrap:anywhere;margin:0}body,button,input,select,textarea{font-family:var(--cp-font-family)}button,input,select,textarea{font-size:var(--cp-type-body)}button{cursor:pointer}a{color:inherit;overflow-wrap:anywhere}img,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:var(--cp-leading-heading);overflow-wrap:anywhere;text-wrap:balance}h1,h2{letter-spacing:var(--cp-tracking-heading);font-weight:500}h2{font-size:var(--cp-type-heading)}h3{font-size:var(--cp-type-card);letter-spacing:-.025em;font-weight:550}ul{margin:0;padding:0;list-style:none}[hidden]{display:none!important}::selection{background:var(--cp-gold);color:var(--cp-ink)}:focus-visible{outline:3px solid var(--cp-copper);outline-offset:5px}section[id],#estimate,#cp-contact-details{scroll-margin-top:calc(var(--cp-header-height) + var(--cp-space-lg))}.cp-container{width:min(calc(100% - 2 * var(--cp-gutter)), var(--cp-content-width));z-index:1;margin-inline:auto;position:relative;container-type:inline-size}.cp-section{padding-block:var(--cp-section-space);isolation:isolate;position:relative;overflow:hidden}.cp-label{color:var(--cp-copper);text-transform:uppercase;letter-spacing:.14em;font-size:var(--cp-type-caption);margin-bottom:var(--cp-space-lg);font-weight:650}.cp-body{color:var(--cp-muted);font-size:var(--cp-type-body);margin-top:var(--cp-space-lg);line-height:var(--cp-leading-body);max-width:var(--cp-copy-width)}.cp-centered-heading{text-align:center;margin-bottom:var(--cp-space-xl)}.cp-section-intro{max-width:var(--cp-copy-width);color:var(--cp-muted);margin-top:var(--cp-space-lg)}.cp-centered-intro{text-align:center;margin:calc(-1 * var(--cp-space-md)) auto var(--cp-space-xl)}.cp-watermark{opacity:.055;pointer-events:none;z-index:0;width:38.125rem;position:absolute;top:-4.375rem;right:-11.5625rem}.cp-watermark svg{width:100%}.cp-actions{justify-content:center;gap:var(--cp-space-md);flex-wrap:wrap;display:flex}.cp-button{min-height:var(--cp-control-height);background:var(--cp-gold);border:1px solid var(--cp-gold);color:#202329;max-width:100%;font-size:var(--cp-type-ui);text-align:center;font-weight:650;line-height:var(--cp-leading-ui);transition:background var(--cp-transition), border-color var(--cp-transition);justify-content:center;align-items:center;padding:.875rem 1.625rem;text-decoration:none;display:inline-flex}.cp-button:hover{background:var(--cp-gold-hover);border-color:var(--cp-gold-hover)}.cp-button-outline{color:#fff;background:0 0;border-color:#ffffff80}.cp-button-outline:hover{background:#ffffff12;border-color:#fff}.cp-text-link{align-items:center;gap:var(--cp-space-lg);min-height:var(--cp-touch-size);margin-top:var(--cp-space-lg);font-size:var(--cp-type-ui);border-bottom:1px solid var(--cp-copper);font-weight:650;text-decoration:none;display:inline-flex}.cp-text-link svg{width:1.3125rem;color:var(--cp-copper)}.cp-skip-link{z-index:100;background:#fff;padding:.75rem 1.375rem;position:fixed;top:-10rem;left:1rem}.cp-skip-link:focus{top:1rem}.cp-header{z-index:30;background:#fff;border-bottom:1px solid #ecebe7;position:sticky;top:0}.cp-header-inner{min-height:var(--cp-header-height);justify-content:space-between;align-items:center;gap:var(--cp-space-md);flex-wrap:wrap;padding-block:.625rem;display:flex}.cp-brand{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.625rem;max-width:100%;text-decoration:none;display:inline-flex}.cp-brand svg{width:var(--cp-brand-mark-size);height:var(--cp-brand-mark-size)}.cp-brand>span{font-size:var(--cp-type-brand);letter-spacing:.12em;font-weight:650;line-height:1}.cp-brand small{font-size:var(--cp-type-brand-detail);letter-spacing:.2em;margin-top:.5rem;font-weight:500;display:block}.cp-navigation ul{gap:clamp(1.125rem,1.5vw,1.5rem);display:flex}.cp-navigation a{min-height:var(--cp-touch-size);font-size:var(--cp-type-ui);white-space:nowrap;align-items:center;text-decoration:none;display:flex;position:relative}.cp-navigation a:after{content:"";background:var(--cp-gold);width:0;height:2px;transition:width var(--cp-transition);position:absolute;bottom:.25rem;left:0}.cp-navigation a:hover{color:var(--cp-copper)}.cp-navigation a[aria-current]:after,.cp-navigation a:hover:after,.cp-navigation a:focus-visible:after{width:100%}.cp-header-cta{min-height:var(--cp-touch-size);padding:.6875rem 1rem}.cp-menu-toggle{width:var(--cp-touch-size);height:var(--cp-touch-size);color:var(--cp-graphite);border:1px solid var(--cp-border);transition:background var(--cp-transition), border-color var(--cp-transition);background:0 0;flex-shrink:0;padding:.5625rem;display:none}.cp-menu-toggle:hover,.cp-menu-toggle[aria-expanded=true]{background:var(--cp-white);border-color:var(--cp-copper)}.cp-hero{isolation:isolate;color:#fff;background:var(--cp-graphite);position:relative;overflow:hidden}.cp-hero-photo,.cp-hero-overlay{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.cp-hero-photo{object-fit:cover;object-position:50% 50%}.cp-hero-overlay{background:linear-gradient(#181c21bd,#181c21cc 65%,#181c21e6)}.cp-hero-inner{min-height:calc(100svh - var(--cp-header-height));text-align:center;padding-block:var(--cp-space-xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.cp-hero-logo{width:var(--cp-mark-size);height:var(--cp-mark-size);margin-bottom:var(--cp-space-lg);flex-shrink:0}.cp-accent-line{background:var(--cp-gold);width:3.125rem;height:2px;margin-bottom:var(--cp-space-lg)}.cp-hero h1{font-size:var(--cp-type-display);max-width:22ch;line-height:1.08}.cp-hero h1>span{display:block}.cp-hero p{color:#e7e8e9;max-width:min(100%,65ch);font-size:var(--cp-type-body);line-height:var(--cp-leading-body);margin-block:var(--cp-space-lg);text-wrap:pretty}.cp-hero .cp-actions{width:100%;position:relative}.cp-hero .cp-button{min-width:min(100%,13.5rem)}.cp-trust{background:var(--cp-white);border-bottom:1px solid #e3e0da}.cp-trust-inner{align-items:center;gap:var(--cp-space-xl);padding-block:var(--cp-space-lg);grid-template-columns:auto minmax(0,1fr);display:grid}.cp-trust p{gap:var(--cp-space-md);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.cp-trust strong{font-size:var(--cp-type-stat);letter-spacing:-.06em;white-space:nowrap;flex:none;font-weight:500;line-height:1}.cp-trust strong span{color:var(--cp-copper)}.cp-trust-description{font-size:var(--cp-type-small);line-height:var(--cp-leading-ui);text-align:left}.cp-trust-description>span{white-space:nowrap;display:block}.cp-trust ul{font-size:var(--cp-type-small);color:var(--cp-muted);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.cp-trust li{text-align:center;min-width:0;min-height:3.5rem;padding:var(--cp-space-sm) var(--cp-space-md);line-height:var(--cp-leading-ui);overflow-wrap:normal;text-wrap:balance;border-left:1px solid #d3c5ba;justify-content:center;align-items:center;display:flex}.cp-trust li:first-child{border-left:0}@container (width<=64rem){.cp-trust-inner{gap:var(--cp-space-lg);grid-template-columns:minmax(0,1fr)}.cp-trust ul{padding-top:var(--cp-space-md);border-top:1px solid #d3c5ba}}@container (width<=42rem){.cp-trust ul{gap:var(--cp-space-sm) 0;grid-template-columns:repeat(2,minmax(0,1fr))}.cp-trust li:nth-child(odd){border-left:0}}@container (width<=21rem){.cp-trust ul{grid-template-columns:minmax(0,1fr)}.cp-trust li{border-left:0}}.cp-difference{background:#fff}.cp-difference>.cp-watermark{opacity:.028;width:43.75rem;top:4rem;left:-36rem;right:auto}.cp-difference-inner{align-items:center;gap:var(--cp-space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.cp-difference h2{max-width:14ch}.cp-difference .cp-body{max-width:52ch}.cp-diagram{justify-self:end;width:100%;max-width:30.3125rem;container-type:inline-size}.cp-diagram-square{width:100%;position:relative}.cp-diagram-square>svg{width:100%}.cp-concept{font-size:var(--cp-type-caption);background:#fff;padding:0 .25rem;line-height:1.4;position:absolute;top:calc(50cqw + .75rem);left:50%;transform:translate(-50%)}.cp-diagram-label{font-size:var(--cp-type-small);border-left:2px solid var(--cp-copper);background:#fff;padding:.125rem .5rem;font-weight:650;line-height:1.4;position:absolute}.cp-label-plan{top:40%;right:24%}.cp-label-build{top:29%;right:17%}.cp-label-connect{top:18%;right:10%}.cp-label-maintain{top:7%;right:2%}.cp-diagram figcaption{color:var(--cp-copper);text-align:center;font-size:var(--cp-type-caption);letter-spacing:.06em;margin-top:var(--cp-space-md)}@container (width<=24rem){.cp-diagram-square{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;display:grid}.cp-diagram-square>svg{grid-column:1/-1}.cp-diagram-label{position:static}}.cp-services{background:var(--cp-white)}.cp-services .cp-watermark{opacity:.028;width:49.375rem;top:13.75rem;right:-34rem}.cp-service-grid{gap:var(--cp-space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cp-service-card{min-width:0;padding:var(--cp-space-lg);border:1px solid var(--cp-border);border-top:2px solid var(--cp-copper);transition:border-color var(--cp-transition), transform var(--cp-transition);background:#fff}.cp-service-card:hover{border-color:var(--cp-gold);transform:translateY(-3px)}.cp-service-title{gap:var(--cp-space-md);grid-template-columns:2.5rem minmax(0,1fr);align-items:center;min-height:4rem;display:grid}.cp-service-title>svg{width:2.1875rem;height:2.1875rem;color:var(--cp-icon-ink)}.cp-service-card h3{max-width:18ch}.cp-service-card>p{margin-top:var(--cp-space-lg);padding-top:var(--cp-space-md);color:var(--cp-muted);border-top:1px solid #e6e4de}.cp-pillars{background:var(--cp-graphite);color:#fff}.cp-pillars .cp-label{color:var(--cp-gold)}.cp-pillars h2{max-width:24ch}.cp-pillars .cp-section-intro{color:var(--cp-on-dark)}.cp-pillars .cp-watermark{opacity:.022;width:40rem;top:-11rem;right:-24rem}.cp-pillar-grid{gap:var(--cp-space-xl);margin-top:var(--cp-space-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cp-pillar-grid article{min-width:0;padding-top:var(--cp-space-lg);border-top:1px solid #ffffff45}.cp-pillar-title{align-items:center;gap:var(--cp-space-md);grid-template-columns:3rem minmax(0,1fr);min-height:3rem;display:grid}.cp-pillar-icon{width:2.9375rem;height:2.9375rem;color:var(--cp-gold)}.cp-pillar-grid h3{font-size:var(--cp-type-pillar);text-transform:uppercase;letter-spacing:.035em;font-weight:500}.cp-pillar-grid article>p{margin-top:var(--cp-space-lg);color:var(--cp-on-dark)}.cp-story-inner{align-items:center;gap:var(--cp-space-2xl);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid}.cp-story-photo{border-bottom:4px solid var(--cp-copper);height:clamp(22rem,18rem + 20vw,35rem);position:relative;overflow:hidden}.cp-story-photo img{object-fit:cover;object-position:50% 43%;width:100%;height:100%;position:absolute;inset:0}.cp-story .cp-watermark{opacity:.028;width:50rem;top:.625rem;right:-39rem}.cp-story h2,.cp-about-page h1{max-width:19ch;font-size:var(--cp-type-feature)}.cp-story-copy .cp-body{max-width:55ch}.cp-story-copy .cp-body+.cp-body{margin-top:var(--cp-space-md)}.cp-industries{background:var(--cp-white)}.cp-industries .cp-watermark{opacity:.028;top:-4.375rem;left:-30rem;right:auto}.cp-industry-grid{gap:0 var(--cp-space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cp-industry-grid li{min-width:0;padding-block:var(--cp-space-lg);border-top:1px solid #d2c6ba}.cp-industry-title{align-items:center;gap:var(--cp-space-md);min-height:3.5rem;display:flex}.cp-industry-grid li>p{color:var(--cp-muted);margin-top:var(--cp-space-md)}.cp-industry-grid svg{width:2.375rem;height:2.375rem;color:var(--cp-copper);flex-shrink:0}.cp-industry-grid h3{max-width:22ch;font-size:var(--cp-type-card);text-wrap:balance;font-weight:550;line-height:1.3}.cp-why .cp-watermark{opacity:.028;width:46.875rem;top:-10.625rem;right:-35rem}.cp-why-inner{align-items:start;gap:var(--cp-space-2xl);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);display:grid}.cp-why h2{max-width:20ch;font-size:var(--cp-type-feature)}.cp-benefits{gap:0 var(--cp-space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cp-benefits li{gap:var(--cp-space-md);min-width:0;padding-block:var(--cp-space-lg);border-top:1px solid #e1ded8;align-items:start;display:flex}.cp-benefits li>div{min-width:0}.cp-benefits h3{font-size:var(--cp-type-card);text-wrap:pretty;line-height:1.3}.cp-benefits p{margin-top:var(--cp-space-sm);color:var(--cp-muted)}.cp-benefits svg{width:1.625rem;height:1.625rem;color:var(--cp-icon-ink);flex-shrink:0}.cp-contact{isolation:isolate;background:var(--cp-graphite);color:#fff;padding-block:var(--cp-section-space);position:relative;overflow:hidden}.cp-contact .cp-watermark{opacity:.022;width:56.25rem;top:-15rem;right:-38rem}.cp-contact-top{text-align:center;margin-bottom:var(--cp-space-xl)}.cp-contact-top h2{max-width:22ch;margin-inline:auto}.cp-contact-top>p:not(.cp-contact-signature){max-width:55ch;color:var(--cp-on-dark);font-size:var(--cp-type-body);margin:var(--cp-space-lg) auto var(--cp-space-md)}.cp-contact-top .cp-button{min-width:min(100%,15.5rem)}.cp-contact-top .cp-actions{margin-top:var(--cp-space-lg)}.cp-contact-details{max-width:40rem;margin:var(--cp-space-lg) auto 0;color:var(--cp-on-dark);font-size:var(--cp-type-ui)}.cp-direct-links{justify-content:center;gap:0 var(--cp-space-lg);flex-wrap:wrap;display:flex}.cp-contact-action{min-height:var(--cp-touch-size);text-underline-offset:.25em;align-items:center;max-width:100%;padding-block:.5rem;text-decoration:underline #ffffff60;display:inline-flex}.cp-contact-action:hover{color:#fff;text-decoration-color:var(--cp-gold)}.cp-form-wrap{color:var(--cp-ink);padding:var(--cp-space-xl);border-top:3px solid var(--cp-copper);background:#fff}#estimate{gap:var(--cp-space-xl);grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);display:grid}.estimate-intro{border-right:1px solid var(--cp-border);padding-right:var(--cp-space-lg)}.estimate-intro h2{font-size:var(--cp-type-subheading);max-width:16ch;line-height:1.2}.estimate-intro p{color:var(--cp-muted);font-size:var(--cp-type-body);margin-top:var(--cp-space-md)}.estimate-intro .estimate-required{font-size:var(--cp-type-small)}.estimate-form{gap:1.5rem var(--cp-space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.estimate-form>p{min-width:0;margin:0}.estimate-form label{font-size:var(--cp-type-ui);margin-bottom:var(--cp-space-sm);font-weight:550;display:block}.estimate-form input:not([type=checkbox]),.estimate-form select,.estimate-form textarea{width:100%;min-width:0;min-height:var(--cp-control-height);color:var(--cp-ink);font-size:var(--cp-type-body);line-height:var(--cp-leading-ui);background:#fafaf9;border:1px solid #d1d2d1;border-radius:0;padding:.625rem .75rem}.estimate-form input:focus-visible,.estimate-form select:focus-visible,.estimate-form textarea:focus-visible{border-color:var(--cp-copper);background:#fff}.estimate-form select{text-overflow:ellipsis;padding-right:1.5rem}.estimate-form textarea{resize:vertical;min-height:8.5rem}.estimate-form .field-wide,.estimate-form .consent-field,[data-form-message],[data-turnstile-region],#field-error-cf-turnstile-response,.estimate-form>button,.estimate-form noscript{grid-column:1/-1}.estimate-form .consent-field label{font-size:var(--cp-type-small);color:var(--cp-muted);align-items:start;gap:.75rem;font-weight:400;line-height:1.65;display:flex}.estimate-form input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--cp-graphite);flex-shrink:0;margin:.1875rem 0 0}.estimate-form>button{background:var(--cp-gold);color:#202329;border:1px solid var(--cp-gold);font-size:var(--cp-type-ui);min-height:var(--cp-control-height);padding:.9375rem 1.25rem;font-weight:650}.estimate-form>button:hover{background:var(--cp-gold-hover)}.estimate-form>button:disabled{opacity:.6;cursor:wait}[data-form-message]:empty{display:none}[data-form-message]:not(:empty){font-size:var(--cp-type-body);background:#f1f5ef;border-left:3px solid #477243;padding:.8125rem 1rem}[data-form-message][role=alert]{color:#812a27;background:#fff2ef;border-color:#a63c32}[data-field-error]{color:#a32c26;font-size:var(--cp-type-small);margin-top:var(--cp-space-xs);display:block}[aria-invalid=true]{border-color:#a32c26!important}.no-script-message{font-size:var(--cp-type-small)}.cp-footer{border-top:1px solid var(--cp-border);padding-top:var(--cp-space-xl);background:#fff}.cp-footer-main{gap:var(--cp-space-xl);padding-bottom:var(--cp-space-xl);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.5fr);display:grid}.cp-footer-main>div>p{font-size:var(--cp-type-small);color:var(--cp-copper);margin-top:var(--cp-space-md);letter-spacing:.025em}.cp-footer address{font-style:normal;font-size:var(--cp-type-ui);flex-direction:column;justify-content:center;align-items:start;display:flex}.cp-footer address a,.cp-footer nav a{min-height:var(--cp-touch-size);align-items:center;text-decoration:none;display:inline-flex}.cp-footer address span{font-size:var(--cp-type-small);margin-top:var(--cp-space-sm);color:var(--cp-muted)}.cp-footer nav{font-size:var(--cp-type-ui);flex-direction:column;align-items:start;display:flex}.cp-footer a:hover{color:var(--cp-copper)}.cp-footer address a:hover,.cp-footer nav a:hover{text-underline-offset:.25em;text-decoration:underline}.cp-footer-bottom{justify-content:space-between;gap:var(--cp-space-lg);font-size:var(--cp-type-caption);color:var(--cp-muted);padding-block:var(--cp-space-lg);border-top:1px solid #e1ded9;display:flex}.cp-about-page .cp-button{margin-top:var(--cp-space-lg)}.cp-about-page h1{max-width:22ch}.cp-home-story-photo img{object-position:50% 60%}.cp-about-page .cp-about-hero-photo{aspect-ratio:6/7;max-width:35rem;height:auto}.cp-about-hero-photo img{filter:brightness(1.035)saturate(.9);width:168.667%;max-width:none;height:auto;inset:0 auto auto -66.6667%;transform:translateY(-33.3333%)}.cp-editorial-row{gap:var(--cp-space-2xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.cp-editorial-row h2,.cp-about-project h2{font-size:var(--cp-type-subheading);max-width:28ch}.cp-editorial-row>div>.cp-body:first-child{margin-top:0}.cp-founder-story-copy{margin:0}.cp-founder-story-copy>.cp-body:first-child{margin-top:0}.cp-about-purpose,.cp-about-project{background:var(--cp-white)}.cp-project-figure img{aspect-ratio:4/3;object-fit:cover;border-bottom:4px solid var(--cp-copper);width:100%;height:auto}.cp-project-figure figcaption{color:var(--cp-muted);font-size:var(--cp-type-small);margin-top:var(--cp-space-md)}.cp-about-contact{background:var(--cp-graphite);color:#fff;text-align:center}.cp-about-contact .cp-body{color:var(--cp-on-dark);margin-inline:auto}.cp-about-contact .cp-button{margin-top:var(--cp-space-lg)}.privacy-main{width:min(calc(100% - 2 * var(--cp-gutter)), 65ch);padding-block:var(--cp-section-space);margin-inline:auto}.privacy-main h1{font-size:var(--cp-type-feature)}.privacy-main h2{font-size:var(--cp-type-subheading);margin-top:var(--cp-space-xl)}.privacy-main p{color:var(--cp-muted);margin-top:var(--cp-space-md)}.privacy-main a{text-underline-offset:.2em}@media (width<=74.999em){.cp-menu-toggle{margin-left:auto;display:block}.cp-navigation{display:none}}@media (width<=68.749em){.cp-service-grid,.cp-pillar-grid,.cp-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}#estimate{grid-template-columns:minmax(0,1fr)}.estimate-intro h2{max-width:none}.estimate-intro{border-right:0;border-bottom:1px solid var(--cp-border);padding-right:0;padding-bottom:var(--cp-space-lg)}}@media (width<=56.249em){.cp-story-inner{gap:var(--cp-space-xl);grid-template-columns:minmax(0,1fr)}.cp-story-photo{justify-self:center;width:100%;max-width:35rem}.cp-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cp-footer nav{gap:0 var(--cp-space-lg);flex-flow:wrap;grid-column:1/-1}}@media (width<=47.999em){.cp-header-cta,.cp-hero-secondary{display:none}.cp-hero-overlay{background:#181c21d6}.cp-services .cp-centered-heading{margin-bottom:var(--cp-space-lg)}.cp-contact-top .cp-actions>a{width:100%;max-width:24rem}.cp-footer-main{grid-template-columns:minmax(0,1fr)}.cp-footer-bottom{gap:var(--cp-space-sm);flex-direction:column}}@media (width<=39.999em){.cp-service-grid,.cp-pillar-grid,.cp-benefits,.estimate-form{grid-template-columns:minmax(0,1fr)}.cp-service-card h3{max-width:none;min-height:0}.cp-pillar-title{grid-template-columns:2.75rem minmax(0,1fr)}.cp-pillar-icon{width:2.75rem;height:2.75rem}.cp-pillar-grid article>p{margin-top:var(--cp-space-md)}.cp-form-wrap{padding:var(--cp-space-lg)}}@container (width<=60rem){.cp-service-grid,.cp-pillar-grid,.cp-benefits,.cp-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#estimate{grid-template-columns:minmax(0,1fr)}.estimate-intro{border-right:0;border-bottom:1px solid var(--cp-border);padding-right:0;padding-bottom:var(--cp-space-lg)}.estimate-intro h2{max-width:none}.cp-why-inner{gap:var(--cp-space-xl);grid-template-columns:minmax(0,1fr)}}@container (width<=48rem){.cp-story-inner,.cp-footer-main{grid-template-columns:minmax(0,1fr)}.cp-editorial-row{gap:var(--cp-space-lg);grid-template-columns:minmax(0,1fr)}.cp-footer nav{gap:0 var(--cp-space-lg);flex-flow:wrap;grid-column:1/-1}}@container (width<=48rem) and (width>=40.001rem){.cp-difference-inner{gap:var(--cp-space-lg)}.cp-story-inner{gap:var(--cp-space-lg);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.cp-story-photo{max-width:none;height:30rem}.cp-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@container (width<=40rem){.cp-difference-inner{gap:var(--cp-space-xl);grid-template-columns:minmax(0,1fr)}.cp-difference h2,.cp-difference .cp-label{text-align:center;margin-inline:auto}.cp-difference .cp-body{margin-inline:auto}.cp-diagram{justify-self:center}.cp-footer address{border-top:1px solid var(--cp-border);padding-top:var(--cp-space-lg)}.cp-footer nav{gap:var(--cp-space-sm) var(--cp-space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@container (width<=36rem){.cp-service-grid,.cp-pillar-grid,.cp-benefits,.cp-industry-grid,.estimate-form{grid-template-columns:minmax(0,1fr)}.cp-service-card h3{max-width:none;min-height:0}.cp-pillar-title{grid-template-columns:2.75rem minmax(0,1fr)}.cp-pillar-grid article>p{margin-top:var(--cp-space-md)}}@container (width<=20rem){.cp-industry-grid{grid-template-columns:minmax(0,1fr)}.cp-pillar-title{gap:var(--cp-space-md);grid-template-columns:minmax(0,1fr)}.cp-pillar-grid h3{letter-spacing:0}}.cp-rail{min-width:0}.cp-rail-controls{display:none}.cp-rail-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=74.999em){.cp-rail-track{gap:var(--cp-space-md);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--cp-copper) transparent;padding-bottom:var(--cp-space-md);grid-template-columns:none;grid-auto-columns:86%;grid-auto-flow:column;scroll-padding-inline:0;display:grid;overflow-x:auto}.cp-rail-track>*{scroll-snap-align:start}.cp-rail-track:focus-visible{outline-offset:3px}.cp-rail-controls{align-items:center;gap:.75rem var(--cp-space-md);margin-top:var(--cp-space-md);color:var(--cp-muted);grid-template-columns:minmax(0,1fr) auto;display:grid}.cp-rail-hint{font-size:var(--cp-type-small)}.cp-rail-progress{background:var(--cp-border);grid-column:1/-1;height:2px}.cp-rail-progress>span{background:var(--cp-copper);height:100%;display:block}.cp-rail-buttons{gap:var(--cp-space-sm);display:flex}.cp-rail-buttons button{width:var(--cp-touch-size);height:var(--cp-touch-size);border:1px solid var(--cp-border);color:var(--cp-ink);background:0 0;place-items:center;padding:.75rem;display:grid}.cp-rail-buttons button:hover:not(:disabled){border-color:var(--cp-copper);background:#8a6a5610}.cp-rail-buttons button:disabled{opacity:.3;cursor:default}[data-cp-rail-prev] svg{transform:rotate(180deg)}.cp-rail-buttons svg{width:1.25rem}.cp-service-card:hover{transform:none}.cp-industries .cp-rail-track>li{padding-right:var(--cp-space-lg)}.cp-pillars .cp-rail-controls{color:var(--cp-on-dark)}.cp-pillars .cp-rail-progress{background:#ffffff30}.cp-pillars .cp-rail-progress>span{background:var(--cp-gold)}.cp-pillars .cp-rail-buttons button{color:#fff;border-color:#ffffff50}.cp-pillars .cp-rail-buttons button:hover:not(:disabled){border-color:var(--cp-gold);background:#ffffff10}.cp-why-inner{gap:var(--cp-space-xl);grid-template-columns:minmax(0,1fr)}}@media (width>=40em) and (width<=74.999em){.cp-rail-track{gap:var(--cp-space-lg);grid-auto-columns:46%}}@container (width<=22rem){.cp-rail-track{grid-auto-columns:92%}.cp-rail-progress{min-width:1rem}}@container (width<=18rem){.cp-rail-track{grid-auto-columns:100%}}.cp-menu-panel{overscroll-behavior:contain;width:100%;max-width:none;height:100dvh;max-height:none;color:var(--cp-white);background:var(--cp-graphite);border:0;margin:0;padding:0;position:fixed;inset:0;overflow-y:auto}.cp-menu-panel::backdrop{background:var(--cp-graphite)}[data-cp-menu-open]{overflow:hidden}[data-cp-menu-open] body{width:100%;position:fixed;overflow:hidden}.cp-menu-inner{min-height:100%;padding:max(.625rem, env(safe-area-inset-top)) var(--cp-gutter) max(var(--cp-space-lg), env(safe-area-inset-bottom));flex-direction:column;max-width:77.5rem;margin-inline:auto;display:flex;container-type:inline-size}.cp-menu-top{min-height:calc(var(--cp-header-height) - 1.25rem);justify-content:space-between;align-items:center;gap:var(--cp-space-md);flex-wrap:wrap;display:flex}.cp-menu-close{min-height:var(--cp-touch-size);min-width:var(--cp-touch-size);color:var(--cp-white);font-size:var(--cp-type-small);background:0 0;border:1px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;gap:.625rem;padding:.5rem;display:inline-flex}.cp-menu-close svg{width:1.5rem}.cp-menu-close:hover{border-color:var(--cp-gold)}.cp-menu-panel :focus-visible{outline-color:var(--cp-gold)}.cp-menu-main{padding-block:var(--cp-space-xl);flex:1;grid-template-columns:minmax(0,1fr);align-content:center;display:grid;position:relative}.cp-mobile-links a{justify-content:space-between;align-items:center;gap:var(--cp-space-md);min-height:var(--cp-touch-size);color:var(--cp-white);font-size:var(--cp-type-menu);letter-spacing:-.035em;border-bottom:1px solid #ffffff20;padding-block:.5rem;font-weight:400;line-height:1.2;text-decoration:none;display:flex}.cp-mobile-links a svg{color:#ffffff60;flex-shrink:0;width:1.25rem}.cp-mobile-links a[aria-current],.cp-mobile-links a:hover,.cp-mobile-links a[aria-current] svg,.cp-mobile-links a:hover svg{color:var(--cp-gold)}.cp-menu-signature{display:none}.cp-menu-bottom{gap:var(--cp-space-md);padding-top:var(--cp-space-lg);border-top:1px solid #ffffff30;display:grid}.cp-menu-location{font-size:var(--cp-type-caption);color:var(--cp-on-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}.cp-menu-bottom .cp-button{justify-content:space-between;gap:var(--cp-space-md);width:100%}.cp-menu-bottom .cp-button svg{flex-shrink:0;width:1.25rem}.cp-menu-contact{justify-content:space-between;gap:0 var(--cp-space-md);flex-wrap:wrap;display:flex}.cp-menu-contact a{min-height:var(--cp-touch-size);font-size:var(--cp-type-ui);color:var(--cp-on-dark);text-underline-offset:.3em;align-items:center;text-decoration:underline #ffffff50;display:inline-flex}.cp-menu-contact a:hover{color:var(--cp-gold)}@media (width>=40em){.cp-menu-main{gap:var(--cp-space-2xl);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.cp-menu-signature{justify-content:center;align-items:center;gap:var(--cp-space-lg);flex-direction:column;display:flex}.cp-menu-signature svg{opacity:.5;width:min(100%,19rem)}.cp-menu-signature p{font-size:var(--cp-type-small);color:var(--cp-on-dark);text-align:center}.cp-menu-bottom{align-items:end;gap:var(--cp-space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cp-menu-contact{flex-direction:column;align-items:end}}@media (width<=23em){.cp-menu-close>span{display:none}}@container (width<=36rem){.cp-menu-main,.cp-menu-bottom{grid-template-columns:minmax(0,1fr)}.cp-menu-signature{display:none}.cp-menu-contact{flex-direction:row;align-items:start}}@container (width<=20rem){.cp-menu-top .cp-brand{flex-shrink:1}.cp-menu-close>span{display:none}.cp-mobile-links a,.cp-mobile-links a>span{min-width:0}}@media (height<=44em){.cp-menu-main{padding-block:.75rem}.cp-mobile-links a{padding-block:.25rem}.cp-menu-bottom{gap:.5rem;padding-top:1rem}}@media (prefers-reduced-motion:no-preference){.cp-menu-panel[open] .cp-menu-main{animation:cp-enter .35s var(--cp-ease) both}[data-cp-motion=enabled] .cp-diagram .cp-mark rect,[data-cp-motion=enabled] .cp-diagram .cp-mark circle,[data-cp-motion=enabled] .cp-pillar-icon path{stroke-dasharray:1;stroke-dashoffset:1px}[data-cp-motion=enabled] [data-visible=true] .cp-diagram .cp-mark rect,[data-cp-motion=enabled] [data-visible=true] .cp-diagram .cp-mark circle{animation:cp-draw 1.35s calc(var(--layer,0) * 80ms) cubic-bezier(.2,.65,.3,1) forwards}[data-cp-motion=enabled] [data-visible=true] .cp-pillar-icon path{animation:cp-draw 1.2s calc(var(--pillar,0) * .14s + var(--part,0) * .18s) ease-out forwards}.cp-hero-logo rect{transform-box:fill-box;transform-origin:50%;stroke-dasharray:1;animation:cp-assemble .95s calc(var(--layer) * 55ms) var(--cp-ease) both}.cp-hero-logo rect:nth-child(odd){--shift:-30px}.cp-hero-logo rect:nth-child(2n){--shift:30px}.cp-hero-logo{animation:cp-settle 1.7s var(--cp-ease) both}.cp-hero .cp-accent-line{animation:cp-line-in .5s .65s var(--cp-ease) both}.cp-hero h1>span{animation:cp-copy-in .7s .75s var(--cp-ease) both}.cp-hero h1>span+span{animation-delay:.92s}.cp-hero p{animation:cp-copy-in .7s 1.1s var(--cp-ease) both}.cp-hero .cp-actions{animation:cp-copy-in .7s 1.25s var(--cp-ease) both}.cp-hero .cp-actions:focus-within{animation:none}@keyframes cp-assemble{0%{opacity:0;stroke-dashoffset:1px;transform:translate(var(--shift), 25px) scale(.93)}to{opacity:1;stroke-dashoffset:0;transform:translate(0)scale(1)}}@keyframes cp-settle{0%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes cp-copy-in{0%{opacity:0;filter:blur(3px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes cp-line-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cp-draw{to{stroke-dashoffset:0}}@keyframes cp-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.cp-mark rect,.cp-mark circle,.cp-pillar-icon path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}
