@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-cyrillic-ext-wght-normal.DhztH7TG.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-cyrillic-wght-normal.DcSt-2BC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-greek-ext-wght-normal.CuKbLwpm.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-greek-wght-normal.Cvhr4n9Q.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-vietnamese-wght-normal.BQ3qeiTz.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-latin-ext-wght-normal.Db2M7toj.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Condensed Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-condensed-latin-wght-normal.Cxzi1x1i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{max-width:100%;overflow-x:hidden}@supports (overflow-x:clip){html,body{overflow-x:clip}}body,h1,h2,h3,p,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}img{max-width:100%;display:block}button,a{font:inherit}}@layer base{:root{--red:#c52127;--red-dark:#9f141a;--graphite:#222427;--graphite-deep:#17191b;--graphite-soft:#5a5c60;--plaster:#f1eee7;--paper:#fbfaf7;--white:#fff;--line:#22242729;--container:1240px;--display:"Roboto Condensed Variable", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;--sans:"Inter Variable", Inter, "Helvetica Neue", Arial, sans-serif;--text-caption:.75rem;--text-ui:.8125rem;--text-secondary:.875rem;--text-body:1rem}body{background:var(--paper);min-width:320px;color:var(--graphite);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}body::selection{background:var(--red);color:var(--white)}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline:3px solid var(--red);outline-offset:4px}section[id]{scroll-margin-top:100px}}@layer components{.container{width:min(calc(100% - 56px), var(--container));margin-inline:auto}.hero-grid>*,.section-heading>*,.process-grid>*,.project-summary>*,.local-grid>*,.about-grid>*,.contact-grid>*,.contact-fields>*,.footer-top>*{min-width:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--graphite);min-height:44px;color:var(--white);font-size:var(--text-ui);align-items:center;padding:10px 16px;font-weight:800;transition:transform .18s;display:inline-flex;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#fbfaf7f0;padding-block:14px;transition:background .24s,box-shadow .24s,transform .42s cubic-bezier(.22,1,.36,1),opacity .32s;position:sticky;top:0}.site-header.is-scrolled{background:#fbfaf7f9;box-shadow:0 12px 34px #17191b14}.scroll-progress{--scroll-progress:0;background:var(--red);pointer-events:none;height:2px;transform:scaleX(var(--scroll-progress));transform-origin:0;position:absolute;bottom:-1px;left:0;right:0}.nav-shell,.nav-actions,.brand,.footer-top{align-items:center;display:flex}.nav-shell,.footer-top{justify-content:space-between}.brand{flex:none;min-height:44px}.brand-logo{width:clamp(188px,18vw,228px);height:auto}.nav-links{align-items:center;gap:clamp(18px,2.2vw,34px);margin-left:auto;display:flex}.nav-links a{font-size:var(--text-ui);white-space:nowrap;font-weight:800;position:relative}.nav-links a:after{background:var(--red);content:"";transform-origin:0;height:2px;transition:transform .16s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-actions{gap:10px;margin-left:clamp(16px,2.5vw,34px)}.language-switch{border:1px solid var(--line);background:var(--white);display:flex}.language-switch button{cursor:pointer;width:44px;height:44px;font-size:var(--text-caption);background:0 0;border:0;font-weight:800;transition:background .16s,color .16s}.language-switch button[aria-pressed=true]{background:var(--red);color:var(--white)}.header-cta{background:var(--red);min-height:44px;color:var(--white);font-size:var(--text-ui);align-items:center;padding:0 17px;font-weight:800;transition:background .16s;display:inline-flex}.header-cta:hover{background:var(--red-dark)}.mobile-floating-cta{display:none}.hero{background-color:var(--plaster);background-image:linear-gradient(#f1eee780,#f1eee780),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover;padding:clamp(64px,7vw,104px) 0 clamp(80px,9vw,130px);position:relative;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(380px,.82fr);align-items:center;gap:clamp(50px,7vw,100px);display:grid;position:relative}.eyebrow{color:var(--graphite-soft);font-size:var(--text-caption);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:27px;font-weight:800;display:flex}.eyebrow-location-icon{fill:none;width:17px;height:17px;stroke:var(--graphite);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none}.hero h1,.section-heading h2,.process h2,.local h2,.about h2,.contact h2{font-family:var(--display);letter-spacing:-.065em;text-transform:uppercase;font-weight:900;line-height:.9}.contact-field>span{font-size:var(--text-ui);letter-spacing:.09em;text-transform:uppercase;font-weight:800}.hero h1{max-width:820px;font-size:clamp(4.1rem,7.1vw,7.2rem)}.hero h1 span,.hero h1 em{display:block}.hero h1 .hero-service-line{letter-spacing:-.04em;font-size:.76em}.hero h1 em{color:var(--red);letter-spacing:-.04em;margin-top:.12em;font-size:.62em;font-style:normal}.hero-lede{max-width:670px;color:var(--graphite-soft);margin-top:30px;font-size:clamp(1rem,1.4vw,1.15rem)}.hero-lede strong{font-weight:800}.hero-actions{align-items:center;gap:28px;margin-top:34px;display:flex}.button{min-width:0;min-height:58px;font-size:var(--text-ui);text-align:left;border:1px solid #0000;justify-content:center;align-items:center;gap:28px;padding:0 24px;font-weight:800;transition:transform .16s,background .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button>[aria-hidden=true],.text-link>[aria-hidden=true]{transition:transform .18s}.cta-arrow{fill:none;width:16px;height:16px;stroke:var(--white);stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.75px;flex:none}.button:hover>[aria-hidden=true]{transform:translate(3px,-3px)}.text-link:hover>[aria-hidden=true]{transform:translateY(3px)}.button-primary{background:var(--red);color:var(--white)}.button-primary:hover{background:var(--red-dark)}.text-link{min-height:44px;font-size:var(--text-ui);border-bottom:1px solid;align-items:center;gap:14px;padding-bottom:5px;font-weight:800;display:inline-flex}.hero-visual{padding:0 20px 54px 0;position:relative}.hero-image-wrap{aspect-ratio:4/5;background:#cfbdab;position:relative;overflow:hidden;box-shadow:22px 22px #22242714}.hero-image-wrap img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transform:scale(1.035)}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-image-wrap:after{z-index:1;content:"";pointer-events:none;border:1px solid #ffffff47;position:absolute;inset:0}.promise-card{z-index:3;background:var(--red);width:min(85%,360px);color:var(--white);gap:12px;padding:27px 30px;display:grid;position:absolute;bottom:0;right:0}.promise-kicker{font-size:var(--text-caption);letter-spacing:.13em;text-transform:uppercase;font-weight:800}.promise-card strong{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1}.proof{border-bottom:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(#fbfaf7cc,#fbfaf7cc),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover}.proof-grid{border-left:1px solid var(--line);grid-template-columns:1.15fr repeat(3,1fr);display:grid}.proof-grid>*{border-right:1px solid var(--line);min-height:180px;padding:30px}.proof-intro{background-color:var(--graphite);color:var(--white);font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;background-image:linear-gradient(#2224277a,#2224277a),url(/images/backgrounds/graphite-chalk.jpg);background-position:50%;background-size:cover;align-items:flex-end;font-size:clamp(1.45rem,2.3vw,2.15rem);font-weight:800;line-height:1;display:flex}.proof article{flex-direction:column;display:flex;position:relative}.proof article:before{background:var(--red);content:"";width:32px;height:3px}.proof article strong{font-family:var(--display);letter-spacing:-.03em;text-transform:uppercase;margin-top:24px;font-size:1.25rem}.proof article p{color:var(--graphite-soft);font-size:var(--text-secondary);margin-top:auto;padding-top:20px}.services,.projects,.about{padding:clamp(82px,9vw,134px) 0}.services{background-color:var(--paper);background-image:linear-gradient(#fbfaf7cc,#fbfaf7cc),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover}.section-heading{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:clamp(42px,8vw,112px);margin-bottom:60px;display:grid}.section-heading>*{min-width:0}.section-heading h2{font-size:clamp(3rem,5.8vw,5.8rem)}.process h2{font-size:clamp(2.8rem,4.4vw,4rem)}.about h2{font-size:clamp(2.8rem,5vw,4.5rem)}.local h2{font-size:clamp(2.8rem,4.4vw,4rem)}.section-heading>p{border-left:3px solid var(--red);max-width:470px;color:var(--graphite-soft);font-size:var(--text-body);padding-left:18px}.renovation-image{background:#c9b9a7;overflow:hidden}.renovation-image img{object-fit:cover;width:100%;height:100%}.services-image{aspect-ratio:3/2;border:1px solid var(--line);border-bottom:0;width:100%;max-height:610px}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.service-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr;min-height:230px;padding:clamp(28px,4vw,45px);transition:background .24s,box-shadow .24s,transform .24s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:hidden}.service-grid article:after{background:var(--red);content:"";transform-origin:0;height:4px;transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service-grid article:hover{z-index:1;background:var(--plaster);transform:translateY(-4px);box-shadow:0 20px 46px #2224271a}.service-grid article:hover:after{transform:scaleX(1)}.service-grid .service-featured:hover{background:var(--graphite-deep)}.service-grid .service-featured{background-color:var(--graphite);min-height:460px;color:var(--white);background-image:linear-gradient(#22242780,#22242780),url(/images/backgrounds/graphite-chalk.jpg);background-position:50%;background-size:cover;grid-row:span 2}.service-grid article>div{align-self:end}.service-grid h3{font-family:var(--display);letter-spacing:-.045em;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem);font-weight:800;line-height:.95}.service-grid p{max-width:520px;color:var(--graphite-soft);margin-top:18px;font-size:.95rem}.service-featured p{color:#ffffffa6}.process{background-color:var(--plaster);background-image:linear-gradient(#f1eee78a,#f1eee78a),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover;padding:clamp(82px,9vw,134px) 0}.process-grid{grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);gap:clamp(60px,10vw,150px);display:grid}.process-heading{align-self:start}.process-heading>p{max-width:490px;color:var(--graphite-soft);font-size:var(--text-body);margin-top:28px}.process-image{aspect-ratio:3/2;border:1px solid var(--line);width:100%;margin-top:38px}.process-list{counter-reset:steps}.process-list li{border-bottom:1px solid var(--line);padding:0 0 42px 28px;position:relative}.process-list li+li{padding-top:42px}.process-list li:before{background:var(--red);content:"";transform-origin:top;width:4px;height:38px;transition:transform .42s cubic-bezier(.22,1,.36,1);position:absolute;top:4px;left:0}.process-list h3{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;line-height:1}.process-list p{color:var(--graphite-soft);margin-top:13px;font-size:.95rem}.projects{background-color:var(--graphite);color:var(--white);background-image:linear-gradient(#22242775,#22242775),url(/images/backgrounds/graphite-chalk.jpg);background-position:50%;background-size:cover}.projects-heading>p{border-color:var(--red);color:#ffffff9e}.section-kicker{color:#ff8589;font-size:var(--text-caption);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-weight:800}.project-carousel{border-top:1px solid #ffffff2e;border-bottom:1px solid #ffffff2e}.carousel-viewport{contain:layout paint;touch-action:pan-y;width:100%;max-width:100%;overflow:hidden}.carousel-track{will-change:transform;transition:transform .5s cubic-bezier(.22,1,.36,1);display:flex}.project-slide{flex:0 0 100%;min-width:0;padding-top:28px}.before-after-grid{background:var(--red);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.project-image{aspect-ratio:3/2;background:#b6a28f;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-image:hover img{transform:scale(1.035)}.image-state{background:var(--graphite);min-width:78px;color:var(--white);font-size:var(--text-caption);letter-spacing:.11em;text-align:center;text-transform:uppercase;padding:10px 13px;font-weight:800;position:absolute;top:18px;left:18px}.image-state-after{background:var(--red)}.project-summary{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:end;gap:40px;padding:30px 0 32px;display:grid}.project-heading-line{align-items:baseline;gap:18px;display:flex}.project-number{color:#ff8589;font-size:var(--text-caption);letter-spacing:.12em;font-weight:800}.project-summary h3{font-family:var(--display);letter-spacing:-.045em;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,3.4rem);font-weight:800;line-height:.95}.project-summary p{color:#ffffffc7;font-size:.95rem}.carousel-controls,.carousel-buttons,.carousel-dots{align-items:center;display:flex}.carousel-controls{gap:24px;min-height:78px}.carousel-buttons{gap:8px}.carousel-buttons button{width:48px;height:48px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff52;place-items:center;font-size:1.1rem;transition:background .16s,border-color .16s;display:grid}.carousel-buttons button:hover{border-color:var(--red);background:var(--red)}.carousel-dots{gap:2px}.carousel-dots button{cursor:pointer;background:0 0;border:0;width:44px;height:44px;position:relative}.carousel-dots button:before{content:"";background:#ffffff52;height:2px;transition:background .16s,height .16s;position:absolute;top:50%;left:7px;right:7px;transform:translateY(-50%)}.carousel-dots button[aria-current=true]:before{background:var(--red);height:4px}.carousel-hint{color:#ffffffb8;font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-weight:700}.local{background:var(--red);color:var(--white);overflow:hidden}.local-grid{grid-template-columns:1fr 1fr;min-height:650px;display:grid}.project-map{background:var(--paper);min-height:650px;color:var(--graphite);isolation:isolate;border-right:1px solid #ffffff3d;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.map-stage{background:var(--plaster);min-height:545px;position:relative;overflow:hidden}.leaflet-project-map{z-index:1;background:var(--plaster);font-family:var(--sans);opacity:0;transition:opacity .24s;position:absolute;inset:0}.leaflet-project-map.is-ready{opacity:1}.leaflet-project-map:after{z-index:350;content:"";mix-blend-mode:multiply;pointer-events:none;background:#c5212714;position:absolute;inset:0}.map-loading{color:var(--graphite-soft);font-size:var(--text-caption);letter-spacing:.09em;text-transform:uppercase;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.artecasa-map-tiles{filter:grayscale()sepia(.18)saturate(.55)contrast(.88)brightness(1.07)}.leaflet-control-attribution{max-width:calc(100% - 16px);color:var(--graphite-soft);background:#fbfaf7e6!important;padding:3px 6px!important;font-size:.625rem!important}.leaflet-control-attribution a{color:var(--graphite);text-decoration:underline}.leaflet-container .leaflet-interactive:focus{outline:3px solid var(--red);outline-offset:3px}.map-toolbar{z-index:500;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:28px;left:28px;right:28px}.map-summary{border-bottom:2px solid var(--red);color:var(--graphite);backdrop-filter:blur(8px);pointer-events:auto;background:#fbfaf7eb;grid-template-columns:auto 1fr;align-items:end;gap:5px 12px;padding:10px 12px 12px;display:grid;box-shadow:0 10px 28px #17191b1a}.map-summary strong{font-family:var(--display);letter-spacing:-.06em;grid-row:1/3;font-size:3.4rem;line-height:.74}.map-summary span{max-width:85px;font-size:var(--text-caption);letter-spacing:.09em;text-transform:uppercase;font-weight:800;line-height:1.2}.map-controls{backdrop-filter:blur(8px);pointer-events:auto;background:#fbfaf7f0;border:1px solid #22242733;display:flex;box-shadow:0 10px 30px #17191b1f}.map-controls button{width:44px;height:44px;color:var(--graphite);cursor:pointer;background:0 0;border:0;border-right:1px solid #22242729;place-items:center;font-size:1.35rem;line-height:1;transition:background .16s;display:grid}.map-controls button:last-child{border-right:0}.map-controls button:hover:not(:disabled){background:var(--red);color:var(--white)}.map-controls button:disabled{cursor:not-allowed;opacity:.38}.map-controls .map-reset svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.7px;width:18px}.map-scope-note{z-index:500;max-width:calc(100% - 210px);color:var(--white);letter-spacing:.09em;text-transform:uppercase;pointer-events:none;background:#222427e6;padding:6px 9px;font-size:.625rem;font-weight:800;line-height:1.25;position:absolute;bottom:22px;left:18px}.province-point{stroke:var(--paper)}.province-label{color:var(--graphite);font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:#fbfaf7e6;border:0;padding:3px 5px;font-size:.6875rem;font-weight:800;line-height:1;box-shadow:0 3px 12px #17191b1a}.province-label:before{display:none}.province-label.is-featured{background:var(--graphite);color:var(--white)}.province-label-short{display:none}.project-marker-wrap,.project-cluster-wrap{background:0 0;border:0}.project-marker,.project-cluster{background:var(--white);width:48px;height:48px;color:var(--red);background-clip:padding-box;border:6px solid #c5212733;border-radius:50%;place-items:center;transition:transform .16s;display:grid;position:relative;box-shadow:0 10px 24px #17191b38}.project-marker:after{border-top:13px solid var(--white);content:"";border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.project-cluster{background:var(--red);width:56px;height:56px;color:var(--white);border-color:#ffffff61}.project-marker strong,.project-cluster strong{font-family:var(--display);letter-spacing:-.06em;font-size:1.55rem;font-weight:800;line-height:1}.project-marker-wrap:is(:hover,:focus) .project-marker,.project-cluster-wrap:is(:hover,:focus) .project-cluster{transform:translateY(-3px)}.project-marker-wrap:focus{outline:3px solid var(--graphite);outline-offset:5px}.project-tooltip{background:var(--graphite);color:var(--white);border:0;padding:9px 11px;box-shadow:0 8px 24px #17191b38}.project-tooltip:before{border-top-color:var(--graphite)!important}.project-tooltip>span{gap:2px;display:grid}.project-tooltip strong{font-family:var(--display);text-transform:uppercase;font-size:.875rem}.project-tooltip span span{color:#ffffffb8;letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.map-detail{border-top:1px solid var(--line);background:var(--graphite);min-height:78px;color:var(--white);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.map-detail-index{color:#ffffff85;font-family:var(--display);font-size:1.15rem;font-weight:800}.map-detail-copy{gap:2px;display:grid}.map-detail strong{font-family:var(--display);letter-spacing:-.025em;text-transform:uppercase;font-size:1.25rem;line-height:1}.map-detail-copy>span,.map-detail-hint{color:#ffffffb8;font-size:var(--text-caption);letter-spacing:.05em;font-weight:700}.map-detail b{color:var(--white)}.map-detail-hint{text-align:right;text-transform:uppercase;max-width:170px}.local-copy{flex-direction:column;justify-content:center;padding:clamp(60px,8vw,112px);display:flex}.local-kicker{font-size:var(--text-caption);letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px;font-weight:800}.local h2{overflow-wrap:normal;max-width:620px}.local-copy>p:not(.local-kicker){color:#fffffff0;max-width:570px;font-size:var(--text-body);margin-top:28px}.text-link-light{align-self:flex-start;margin-top:32px}.about{background-color:var(--paper);background-image:linear-gradient(#fbfaf7d1,#fbfaf7d1),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover}.about-grid{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(60px,10vw,150px);display:grid}.team-placeholder{background:var(--plaster);margin-top:44px;position:relative}.team-placeholder img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s cubic-bezier(.22,1,.36,1)}.team-placeholder{overflow:hidden}.team-placeholder:hover img{transform:scale(1.025)}.team-placeholder figcaption{border-top:3px solid var(--red);background:var(--graphite);color:#ffffffe0;font-size:var(--text-caption);letter-spacing:.07em;text-transform:uppercase;padding:13px 15px;font-weight:800;line-height:1.45}.about-copy{padding-top:45px}.about-lede{color:var(--graphite);font-family:var(--display);letter-spacing:-.045em;font-size:clamp(1.75rem,2.4vw,2.5rem);font-weight:800;line-height:1.05}.about-copy>p:last-child{border-top:1px solid var(--line);max-width:640px;color:var(--graphite-soft);font-size:var(--text-body);margin-top:30px;padding-top:26px}.contact{background-color:var(--paper);background-image:linear-gradient(#fbfaf7d1,#fbfaf7d1),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover;padding:0 0 24px}.contact-panel{background-color:var(--graphite);color:var(--white);background-image:linear-gradient(#22242775,#22242775),url(/images/backgrounds/graphite-chalk.jpg);background-position:50%;background-size:cover;padding:clamp(48px,8vw,100px)}.contact-grid{grid-template-columns:minmax(280px,.78fr) minmax(440px,1.22fr);align-items:start;gap:clamp(50px,8vw,110px);display:grid}.contact-kicker{color:#ff8589;font-size:var(--text-caption);letter-spacing:.13em;text-transform:uppercase;margin-bottom:24px;font-weight:800}.contact h2{max-width:620px;font-size:clamp(3rem,4.4vw,4rem)}.contact h2 span,.contact h2 em{display:block}.contact h2 em{color:var(--red);font-style:normal}.contact-lede{color:#ffffffd1;max-width:520px;font-size:var(--text-body);margin-top:34px}.contact-form{padding-top:2px;position:relative}.contact-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;display:grid}.contact-field{gap:10px;display:grid}.contact-field-wide{grid-column:1/-1}.contact-field input,.contact-field textarea{width:100%;color:var(--white);font:inherit;font-size:var(--text-body);background:#ffffff0f;border:1px solid #ffffff47;border-radius:0;transition:border-color .16s,background .16s}.contact-field input{min-height:54px;padding:0 16px}.contact-field textarea{resize:vertical;min-height:160px;padding:15px 16px;line-height:1.55}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#ffffffb8;opacity:1}.contact-field input:hover,.contact-field textarea:hover{border-color:#ffffff85}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--white);outline:3px solid var(--red);outline-offset:3px;background:#ffffff1a}.contact-form-footer{border-top:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:30px;margin-top:28px;padding-top:28px;display:flex}.contact-form-footer p{color:#ffffffb8;max-width:390px;font-size:var(--text-caption)}.contact-form-footer p a{color:var(--white);text-underline-offset:3px;text-decoration:underline}.contact-form-footer .button{flex:none}.contact-form-status{min-height:1.5em;color:var(--white);font-size:var(--text-ui);margin-top:18px;font-weight:700}.contact-form-status[data-state=success]{border-left:3px solid #8fd3a6;padding-left:14px}.contact-form-status[data-state=error],.contact-form-status[data-state=invalid]{border-left:3px solid #ff9295;padding-left:14px}.contact-privacy-note{color:#ffffffc7;font-size:var(--text-secondary);margin-top:20px;line-height:1.55}.button:disabled{cursor:wait;opacity:.62;transform:none}.site-footer{background-color:var(--graphite-deep);color:#ffffffb3;background-image:linear-gradient(#17191ba3,#17191ba3),url(/images/backgrounds/graphite-chalk.jpg);background-position:50%;background-size:cover;padding:58px 0 30px}.footer-contact{text-align:right;gap:8px;display:grid}.footer-contact [data-it]{color:#ffffffb8;font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.footer-contact a{min-height:44px;color:var(--white);font-size:var(--text-secondary);align-items:center;display:inline-flex}.legal-details{color:#ffffffad;font-size:var(--text-caption);border-top:1px solid #ffffff1f;grid-template-columns:repeat(4,auto);gap:14px 28px;margin-top:42px;padding-top:24px;line-height:1.5;display:grid}.legal-details strong{color:#ffffffb8}.legal-placeholder{color:#ff9295}.error-page{background-color:var(--paper);text-align:center;background-image:linear-gradient(#fbfaf7d1,#fbfaf7d1),url(/images/backgrounds/plaster-light.jpg);background-position:50%;background-size:cover;place-items:center;min-height:100vh;padding:48px 24px;display:grid}.error-card{width:min(100%,820px)}.section-title{font-family:var(--display);letter-spacing:-.055em;text-transform:uppercase;margin-top:18px;font-size:clamp(3rem,6vw,5.8rem);font-weight:900;line-height:.92}.error-copy{max-width:520px;color:var(--graphite-soft);font-size:var(--text-body);margin:28px auto 34px}.error-page .button{width:auto}.footer-privacy-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px solid #ffffff6b;padding:0;display:none}html.analytics-configured .footer-privacy-button{display:inline}html.motion-ready .site-header{opacity:0;transform:translateY(-100%)}html.motion-ready.motion-entered .site-header{opacity:1;transform:translateY(0)}html.motion-ready .hero .eyebrow,html.motion-ready .hero h1 span,html.motion-ready .hero h1 em,html.motion-ready .hero-lede,html.motion-ready .hero-actions{opacity:0;transition:opacity .4s,transform .46s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}html.motion-ready.motion-entered .hero .eyebrow,html.motion-ready.motion-entered .hero h1 span,html.motion-ready.motion-entered .hero h1 em,html.motion-ready.motion-entered .hero-lede,html.motion-ready.motion-entered .hero-actions{opacity:1;transform:translateY(0)}html.motion-ready.motion-entered .hero .eyebrow{transition-delay:80ms}html.motion-ready.motion-entered .hero h1 span:first-child{transition-delay:.125s}html.motion-ready.motion-entered .hero h1 span:nth-child(2){transition-delay:.17s}html.motion-ready.motion-entered .hero h1 em{transition-delay:.215s}html.motion-ready.motion-entered .hero-lede{transition-delay:.26s}html.motion-ready.motion-entered .hero-actions{transition-delay:.305s}html.motion-ready .hero-visual{clip-path:inset(0 0 100%);transition:clip-path .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}html.motion-ready.motion-entered .hero-visual{clip-path:inset(0);transition-delay:.17s;transform:translateY(0)}html.motion-ready .promise-card{transition:transform .46s cubic-bezier(.22,1,.36,1);transform:translate(28px,24px)}html.motion-ready.motion-entered .promise-card{transition-delay:.42s;transform:translate(0)}html.motion-ready .motion-reveal{opacity:0;transition:opacity .38s ease var(--motion-delay,0s), transform .44s cubic-bezier(.22, 1, .36, 1) var(--motion-delay,0s);transform:translateY(28px)}html.motion-ready .motion-reveal.motion-clip{clip-path:inset(0 0 16%);transition:opacity .38s ease var(--motion-delay,0s), transform .44s cubic-bezier(.22, 1, .36, 1) var(--motion-delay,0s), clip-path .5s cubic-bezier(.22, 1, .36, 1) var(--motion-delay,0s)}html.motion-ready .motion-reveal[data-motion=visible]{opacity:1;transform:translateY(0)}html.motion-ready .motion-reveal.motion-clip[data-motion=visible]{clip-path:inset(0)}html.motion-ready .service-grid article[data-motion=visible]:hover{transform:translateY(-4px)}html.motion-ready .process-list li:before{transform:scaleY(0)}html.motion-ready .process-list li[data-motion=visible]:before{transition-delay:calc(var(--motion-delay,0s) + .12s);transform:scaleY(1)}}@layer responsive{@media (width<=1040px){.nav-links{display:none}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:48px}.hero h1{font-size:clamp(3.8rem,7vw,5.9rem)}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid>*{border-bottom:1px solid var(--line)}.process-grid,.about-grid{gap:70px}.local-copy{padding-inline:60px}.contact-grid{gap:55px}.legal-details{grid-template-columns:1fr 1fr}}@media (width<=820px){.hero-grid,.section-heading,.process-grid,.local-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.contact-intro{max-width:720px}.hero-grid{gap:70px}.hero-copy{max-width:720px}.hero-visual{width:min(88%,620px);margin-left:auto}.process-heading{position:static}.section-heading{gap:28px}.section-heading>p{max-width:620px}.project-map{border-bottom:1px solid #ffffff3d;border-right:0;min-height:600px}.map-stage{min-height:500px}.local-copy{padding:75px 0 85px}.about-copy{padding-top:0}.about-intro{max-width:720px}.project-summary{grid-template-columns:1fr;gap:18px}}@media (width<=620px){.container{width:min(calc(100% - 48px), var(--container))}.site-header{padding-block:12px}.brand-logo{width:168px}.nav-actions{margin-left:auto}.header-cta{display:none}.mobile-floating-cta{right:24px;bottom:max(16px, env(safe-area-inset-bottom));z-index:18;background:var(--red);min-height:58px;color:var(--white);font-size:var(--text-ui);opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom)));visibility:hidden;justify-content:space-between;align-items:center;gap:28px;padding:0 24px;font-weight:800;transition:opacity .18s,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s,background .16s;display:inline-flex;position:fixed;left:24px;box-shadow:0 18px 44px #17191b47}.mobile-floating-cta.is-visible{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translateY(0)}.mobile-floating-cta:hover{background:var(--red-dark)}.hero{padding:52px 0 74px}.eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(2.6rem,13vw,5rem)}.hero h1 em{font-size:.58em}.hero-actions{flex-direction:column;align-items:stretch;gap:22px}.button{width:100%}.text-link{align-self:flex-start}.hero-visual{width:95%;padding-right:10px}.hero-image-wrap{box-shadow:12px 12px #22242714}.promise-card{width:88%;padding:23px}.projects-heading{margin-bottom:42px}.projects h2,.section-heading h2{font-size:clamp(2.5rem,10.5vw,3.75rem)}.process h2,.about h2{font-size:clamp(2.35rem,10vw,3.5rem)}.local h2{font-size:clamp(2.25rem,9.5vw,3.25rem)}.local h2 span{display:block}.before-after-grid{grid-template-columns:1fr;gap:3px}.image-state{font-size:var(--text-caption);padding:5px 7px;top:8px;left:8px}.project-summary{margin-top:16px;padding:20px 0}.project-heading-line{gap:12px}.project-summary p{font-size:.95rem;line-height:1.6}.carousel-controls{flex-wrap:wrap;gap:8px 16px;margin-top:16px}.carousel-hint{flex-basis:100%;order:3;margin-left:0;font-size:.75rem}.proof-grid,.service-grid{grid-template-columns:1fr}.proof-grid>*{min-height:150px;padding:24px}.proof-intro{min-height:130px}.service-grid .service-featured{grid-row:auto;min-height:300px}.service-grid article{min-height:210px;padding:28px 24px}.process-list li{padding-left:22px}.project-map{min-height:520px}.map-stage{min-height:420px}.map-toolbar{top:18px;left:18px;right:18px}.map-summary strong{font-size:2.8rem}.map-detail{grid-template-columns:auto 1fr;min-height:88px;padding:12px 14px}.map-detail-hint,.province-label-full{display:none}.province-label-short{display:inline}.province-label{padding:3px 4px;font-size:.625rem}.map-scope-note{max-width:165px;bottom:20px;left:10px}.contact-panel{padding-inline:25px}.contact h2{font-size:clamp(2.7rem,11vw,4.25rem)}.contact-fields{grid-template-columns:1fr}.contact-field input,.contact-field textarea{font-size:1rem}.contact-field-wide{grid-column:auto}.contact-form-footer{flex-direction:column;align-items:flex-start}.proof article p,.service-grid p,.process-list p,.section-heading>p,.process-heading>p,.local-copy>p:not(.local-kicker),.about-copy>p:last-child,.contact-lede{font-size:.95rem;line-height:1.6}.contact-form-footer p{font-size:.75rem;line-height:1.55}.footer-top{flex-direction:column;align-items:flex-start}.footer-contact{text-align:left;margin-top:35px}.legal-details{grid-template-columns:1fr;margin-top:32px}}@media (width<=420px){.nav-shell{display:flex}.brand-logo{width:148px}.nav-actions{margin-left:auto;display:flex}.header-cta{display:none}.language-switch{flex:none}.language-switch button{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.scroll-progress{display:none}}}
