@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.TJH1Da_className{font-family:Archivo,Archivo Fallback;font-style:normal}.TJH1Da_variable{--font-display:"Archivo", "Archivo Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.SAL2Za_className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.SAL2Za_variable{--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1c2733;--ink-2:#243242;--ink-3:#34414f;--pine:#1f3347;--pine-2:#2a4259;--pine-3:#415a72;--tint:#f8e6d8;--brick:#bf4d14;--brick-hot:#d0581a;--sage:#5b7a99;--bg:#f7f4ee;--surface:#fffdf9;--band:#e8eef3;--text:#1c2733;--muted:#56606b;--line:#ddd6cb;--brick-ink:#a3400f;--danger:#b3261e;--ok:#2f6b45;--radius:10px;--radius-sm:6px;--header:76px;--font-mono:var(--font-body);--ease:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--shadow:none}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--pine);--surface:var(--pine-2);--band:#1a2c3e;--text:#f6f4ef;--muted:#b8c4d0;--line:var(--pine-3);--brick-ink:#f4a571;--danger:#ff8a80;background:var(--bg);color:var(--text)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 12px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0;list-style:none}fieldset{border:0;min-width:0;margin:0;padding:0}::selection{background:var(--brick);color:#fbfaf7}:focus-visible{outline:3px solid var(--brick);outline-offset:3px;border-radius:6px}main{min-height:60vh;display:block}main:focus{outline:none}[hidden]{display:none!important}.container{width:min(1240px,100% - 40px);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mono{font-family:var(--font-body), system-ui, sans-serif;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.skip-link{z-index:200;background:var(--brick);color:#fbfaf7;border-radius:999px;padding:12px 18px;font-weight:700;text-decoration:none;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.display-1,.display-2,.display-3{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.035em;font-weight:800;font-stretch:118%}.display-1{font-size:clamp(2.4rem,5vw,4.3rem);line-height:.98}.display-2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.02}.display-3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.08}.display-1 em,.display-2 em,.display-3 em{color:var(--brick-ink);font-style:normal}.dark .display-1 em,.dark .display-2 em{color:#f4a571}.eyebrow{color:var(--brick-ink);letter-spacing:.12em;text-transform:uppercase;align-items:center;margin-bottom:18px;font-size:13px;font-weight:700;display:inline-flex}.eyebrow-num{color:var(--text);font-variant-numeric:tabular-nums;border-right:1.5px solid;margin-right:12px;padding-right:12px}.dark .eyebrow-num{color:#f7f4ee}.cota{background:linear-gradient(currentColor,currentColor) 0/1.5px 12px no-repeat,linear-gradient(currentColor,currentColor) 100%/1.5px 12px no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 1px no-repeat}.button-row{flex-wrap:wrap;gap:12px;display:flex}.btn{white-space:nowrap;border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{transition:transform .3s var(--ease);flex-shrink:0}.btn:hover svg:last-child:not(:first-child){transform:translate(3px)}.btn-primary{background:var(--brick);color:#fbfaf7}.btn-primary:hover{background:var(--brick-ink)}.btn-primary:disabled{opacity:.6;cursor:progress;transform:none}.btn-outline{border-color:var(--text);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.btn-outline-light{color:#fbfaf7;background:0 0;border-color:#fbfaf755}.btn-outline-light:hover{background:#fbfaf712;border-color:#fbfaf7}.btn-ghost{color:var(--text);background:0 0;padding-inline:14px}.btn-ghost:hover{background:var(--band)}.btn-whatsapp-ghost{color:var(--text);background:0 0;border-color:#1fa855}.btn-whatsapp-ghost svg{color:#1fa855}.btn-whatsapp-ghost:hover{background:#25d36618}.text-link{color:var(--brick-ink);border-bottom:2px solid;align-items:center;gap:8px;padding-bottom:2px;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .3s var(--ease)}.text-link:hover svg{transform:translate(4px)}.link-button{color:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.logo{align-items:center;display:inline-flex}.logo img{width:auto;height:50px;transition:transform .45s var(--ease);display:block}.site-header{z-index:50;height:var(--header);-webkit-backdrop-filter:blur(14px)saturate(1.4);background:#f7f4eee6;border-bottom:1px solid #0000;transition:border-color .3s,background-color .3s,box-shadow .3s;position:sticky;top:0}.site-header.is-scrolled{border-color:var(--line);background:#f7f4eef5;box-shadow:0 10px 30px -24px #0f1c2855}.header-inner{align-items:center;gap:22px;height:100%;display:flex}.brand{border-radius:10px;flex-shrink:0;text-decoration:none;display:block}.brand:hover .logo img{transform:scale(1.04)}.main-nav{margin-left:auto}.main-nav ul{gap:2px;display:flex}.main-nav a{color:var(--muted);border-radius:999px;padding:10px 14px;font-size:15.5px;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s;display:block;position:relative}.main-nav a:hover{color:var(--text);background:#0f1c280a}.main-nav a[aria-current=page]{color:var(--text)}.main-nav a[aria-current=page]:after{content:"";background:var(--brick);border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;bottom:3px;left:50%}.header-phone{white-space:nowrap;align-items:center;gap:8px;padding:10px 6px;font-weight:700;text-decoration:none;display:inline-flex}.header-phone svg{color:var(--brick)}.header-phone:hover{color:var(--brick-ink)}.header-cta{background:var(--brick);color:#fbfaf7;white-space:nowrap;transition:background-color .2s, transform .3s var(--ease);border-radius:10px;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.header-cta:hover,.header-cta[aria-current=page]{background:var(--brick-ink)}.menu-button{border:1px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;margin-left:auto;display:none}.mobile-menu{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}.mobile-menu::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1c28aa}.mobile-menu-panel{background:var(--bg);flex-direction:column;gap:26px;width:min(420px,100%);height:100%;margin-left:auto;padding:16px 22px 32px;display:flex;overflow-y:auto}.mobile-menu[open] .mobile-menu-panel{animation:slide-in .45s var(--ease)}.mobile-menu-top{justify-content:space-between;align-items:center;display:flex}.menu-close{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-items:center;width:48px;height:48px;display:grid}.mobile-menu nav a{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;border-bottom:1px solid var(--line);padding:12px 0;font-size:2rem;font-weight:700;line-height:1.1;text-decoration:none;display:block}.mobile-menu nav a[aria-current=page]{color:var(--brick-ink)}.mobile-menu[open] nav li{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0) * 50ms + 80ms)}.mobile-menu-contact{gap:12px;margin-top:auto;display:grid}.mobile-menu-contact a{color:var(--muted);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.mobile-menu-contact svg{color:var(--brick)}.hero{isolation:isolate;min-height:100svh;margin-top:calc(var(--header) * -1);padding-top:calc(var(--header) + 40px);background:var(--ink);color:#fbfaf7;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero-media{z-index:-1;position:absolute;inset:0}.hero-poster,.hero-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-video{opacity:0;transition:opacity 1.2s var(--ease)}.hero-media.is-playing .hero-video{opacity:1}.hero-media:after{content:"";background:linear-gradient(#0f1c2899 0%,#0f1c2833 30%,#0f1c2866 60%,#0f1c28e6 100%),linear-gradient(90deg,#0f1c28b3 0%,#0f1c2800 65%);position:absolute;inset:0}.js-motion .hero-media .hero-poster,.js-motion .hero-media .hero-video{animation:14s ease-out both hero-zoom}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-stack{justify-items:start;gap:0;padding-bottom:clamp(28px,4vw,48px);display:grid}.hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#f4a571;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;font-weight:700;display:inline-flex}.hero-eyebrow:before{content:"";background:currentColor;width:28px;height:2px}.hero-title{max-width:14ch;font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.8rem,7.2vw,6.4rem);font-weight:800;font-stretch:118%;line-height:.95}.hero-title em{color:#f4a571;font-style:normal}.hero-sub{color:#e6edf3;max-width:52ch;margin-top:20px;font-size:clamp(1.05rem,1.5vw,1.25rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.hero-call{color:#fbfaf7;-webkit-backdrop-filter:blur(8px);transition:transform .3s var(--ease), border-color .2s;background:#0f1c28a6;border:1px solid #fbfaf72e;border-radius:14px;align-items:center;gap:14px;padding:10px 22px 10px 10px;text-decoration:none;display:inline-flex}.hero-call:hover{border-color:#fbfaf766;transform:translateY(-2px)}.hero-call-icon{background:var(--brick);border-radius:10px;place-items:center;width:48px;height:48px;display:grid}.hero-call small{color:#d6e0e9;font-size:13.5px;display:block}.hero-call strong{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:1.55rem;font-weight:800;font-stretch:112%;line-height:1.05;display:block}.hero-cta{min-height:68px;padding-inline:30px;font-size:17px}.hero-strip{-webkit-backdrop-filter:blur(6px);background:#0f1c2866;border-top:1px solid #fbfaf724}.hero-strip .hero-facts{padding-block:16px}.hero .hero-facts strong{color:#f4a571;font-size:1.45rem}.hero .hero-facts span{color:#d6e0e9}.hero-scroll{border:2px solid #fbfaf799;border-radius:20px;place-items:center;width:34px;height:54px;display:grid;position:absolute;bottom:96px;right:max(20px,50% - 620px)}.hero-scroll span{background:#fbfaf7;border-radius:2px;width:4px;height:10px}.js-motion .hero-scroll span{animation:1.8s ease-in-out infinite hero-scroll}@keyframes hero-scroll{0%{opacity:0;transform:translateY(-8px)}40%{opacity:1}to{opacity:0;transform:translateY(10px)}}.js-motion .hero-stack>*{animation:rise .9s var(--ease) both}.js-motion .hero-stack>:nth-child(2){animation-delay:80ms}.js-motion .hero-stack>:nth-child(3){animation-delay:.16s}.js-motion .hero-stack>:nth-child(4){animation-delay:.24s}.js-motion .hero-strip{animation:rise .9s .32s var(--ease) both}.site-header.is-over-hero{box-shadow:none;-webkit-backdrop-filter:none;color:#fbfaf7;background:0 0;border-color:#0000}.site-header.is-over-hero .main-nav a,.site-header.is-over-hero .header-phone{color:#fbfaf7}.site-header.is-over-hero .main-nav a:hover{background:#fbfaf71a}.site-header.is-over-hero .menu-button{color:#fbfaf7;background:#0f1c2866;border-color:#fbfaf74d}.estimate-band{background:var(--band)}.trust-strip{border-bottom:1.5px solid var(--ink);padding:26px 0}.trust-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 40px;display:flex}.hero-text{max-width:54ch;color:var(--muted);margin-top:24px;font-size:clamp(1.04rem,1.35vw,1.15rem)}.hero-facts{flex-wrap:wrap;gap:14px 40px;display:flex}.hero-facts li{gap:2px;display:grid}.hero-facts strong{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;color:var(--brick-ink);font-size:1.7rem;font-weight:800;font-stretch:118%;line-height:1}.hero-facts span{color:var(--muted);font-size:14px;line-height:1.3}.hero-alt{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:15px;display:flex}.hero-alt a,.final-direct a{color:var(--text);text-underline-offset:4px;align-items:center;gap:7px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;display:inline-flex}.hero-alt a:hover{color:var(--brick-ink)}.hero-alt svg{color:var(--brick)}.quick-quote{gap:14px;display:grid}.qq-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.quick-quote .field>span{margin-bottom:6px;font-size:14.5px}.quick-quote .field textarea{min-height:76px}.qq-submit{width:100%;margin-top:2px}.quick-quote .form-status{min-height:0;margin-top:0}.quick-quote .form-status:empty{display:none}.qq-sent{justify-items:start;gap:10px;padding:8px 0;display:grid}.qq-sent-icon{background:var(--ok);color:#fbfaf7;width:52px;height:52px;animation:pop .5s var(--ease) both;border-radius:50%;place-items:center;display:grid}.qq-sent-title{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-size:1.8rem;font-weight:800;font-stretch:118%}.qq-sent p:not(.qq-sent-title){color:var(--muted);max-width:40ch}.showcase-wide{max-width:980px;margin-inline:auto}.hero-showcase{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--ink);margin:0;padding:12px;position:relative}.showcase-tabs{z-index:3;scrollbar-width:none;-webkit-backdrop-filter:blur(8px);background:#0f1c28cc;border-radius:999px;gap:4px;max-width:calc(100% - 40px);padding:5px;display:flex;position:absolute;top:28px;left:50%;overflow-x:auto;transform:translate(-50%)}.showcase-tabs button{color:#f6f4efcc;background:0 0;border:0;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:700;transition:background-color .25s,color .25s}.showcase-tabs button:hover{color:#fff}.showcase-tabs button[aria-pressed=true]{color:var(--ink);background:#fbfaf7}.showcase-compare{border-radius:10px}.hero-showcase figcaption{color:var(--muted);justify-content:space-between;gap:12px;padding:12px 6px 2px;font-size:14px;display:flex}.showcase-hint{font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--brick-ink);font-size:12px}.before-after{aspect-ratio:3/2;border-radius:var(--radius-sm);background:var(--band);-webkit-user-select:none;user-select:none;touch-action:pan-y;isolation:isolate;position:relative;overflow:hidden}.ba-layer{position:absolute;inset:0}.ba-layer>svg,.ba-layer>img{object-fit:cover;width:100%;height:100%}.ba-after{clip-path:inset(0 0 0 var(--pos))}.ba-line{z-index:2;top:0;bottom:0;left:var(--pos);pointer-events:none;background:#fbfaf7;width:3px;margin-left:-1.5px;position:absolute;box-shadow:0 0 0 1px #0f1c2822,0 0 24px #0005}.ba-handle{z-index:2;top:50%;left:var(--pos);background:var(--brick);color:#fbfaf7;pointer-events:none;width:50px;height:50px;transition:transform .3s var(--ease), box-shadow .2s;border:3px solid #fbfaf7;border-radius:50%;place-items:center;margin:-25px 0 0 -25px;display:grid;position:absolute;box-shadow:0 10px 26px #0006}.before-after:hover .ba-handle{transform:scale(1.08)}.before-after:has(.ba-range:focus-visible) .ba-handle{box-shadow:0 0 0 4px #fbfaf7, 0 0 0 7px var(--brick)}.ba-range{z-index:4;opacity:0;cursor:ew-resize;appearance:none;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba-tag{z-index:2;font-family:var(--font-body), sans-serif;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:500;transition:opacity .3s;position:absolute;bottom:14px}.ba-tag-before{color:#f6f4ef;background:#0f1c28bb;left:14px}.ba-tag-after{background:var(--brick);color:#fbfaf7;right:14px}.room-art{width:100%;height:100%}.section{padding:clamp(64px,8vw,112px) 0;position:relative}.section-tight{padding-top:clamp(32px,4vw,56px)}.section-tight-bottom{padding-bottom:clamp(24px,3vw,40px)}.section-band{background:var(--band)}.section-head{max-width:760px;margin-bottom:clamp(32px,4.5vw,52px)}.section-head.is-center{text-align:center;margin-inline:auto}.section-text{color:var(--muted);max-width:60ch;margin-top:18px;font-size:1.08rem}.section-head.is-center .section-text{margin-inline:auto}.section-text a{color:var(--brick-ink);font-weight:700}.section-split-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(36px,5vw,56px);display:flex}.section-split-head .section-head{margin-bottom:0}.section-split-head .text-link{flex-shrink:0;margin-bottom:8px}.si-reforms{border-top:1.5px solid var(--ink);counter-reset:si}.si-reforms li{border-bottom:1px solid var(--line)}.si-reforms a{transition:background-color .25s, padding .35s var(--ease);grid-template-columns:40px 112px minmax(0,1.1fr) minmax(0,1fr) 32px;align-items:center;gap:20px;padding:22px 8px;text-decoration:none;display:grid}.si-art{aspect-ratio:2;border-radius:var(--radius-sm);background:var(--pine);display:block;overflow:hidden}.si-art .scene{width:100%;height:100%}.si-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.si-title{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:800;font-stretch:118%;line-height:1.05}.si-text{color:var(--muted)}.si-arrow{color:var(--brick);transition:transform .35s var(--ease);justify-self:end}.si-reforms a:hover{background:var(--band);padding-inline:16px}.si-reforms a:hover .si-title{color:var(--brick-ink)}.si-reforms a:hover .si-arrow{transform:translate(4px)}.si-trades{grid-template-columns:auto 1fr;align-items:baseline;gap:12px 28px;margin-top:28px;display:grid}.si-trades h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700}.si-trades ul{flex-wrap:wrap;gap:6px 0;display:flex}.si-trades li:not(:last-child):after{content:"·";color:var(--line);margin:0 12px}.si-trades a{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;font-weight:700;text-decoration-thickness:1.5px}.si-trades a:hover{-webkit-text-decoration-color:var(--brick);text-decoration-color:var(--brick);color:var(--brick-ink)}.service-groups{gap:40px;display:grid}.group-title{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:12.5px;font-weight:500}.service-grid{gap:18px;display:grid}.service-grid.is-reforms{grid-template-columns:repeat(6,1fr)}.service-grid.is-reforms .is-large{grid-column:span 3}.service-grid.is-reforms .is-normal{grid-column:span 2}.service-grid.is-trades{grid-template-columns:repeat(3,1fr)}.service-card>a{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);height:100%;transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.service-card>a:hover{border-color:var(--ink)}.service-art{aspect-ratio:16/7;background:var(--pine);position:relative;overflow:hidden}.is-large .service-art{aspect-ratio:16/6}.service-art .scene{z-index:1;width:100%;height:100%;position:relative}.service-body{flex-direction:column;flex:1;gap:8px;padding:22px 24px;display:flex;position:relative}.service-index{color:var(--muted);font-size:12.5px;position:absolute;top:24px;right:24px}.service-body h3{font-family:var(--font-display), sans-serif;letter-spacing:-.025em;padding-right:32px;font-size:1.4rem;font-weight:700;line-height:1.12}.is-large .service-body h3{font-size:1.65rem}.service-body p{color:var(--muted)}.service-more{color:var(--brick-ink);align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-weight:700;display:inline-flex}.service-more svg{transition:transform .3s var(--ease)}.service-card>a:hover .service-more svg{transform:translate(5px)}.service-card.is-compact>a{flex-direction:row;align-items:stretch}.service-card.is-compact .service-art{aspect-ratio:auto;flex:0 0 34%;min-height:128px}.service-card.is-compact .service-body{padding:18px 20px}.service-card.is-compact h3{font-size:1.2rem}.service-card.is-compact p{font-size:.95rem}.service-card.is-compact .service-index{top:18px;right:18px}.scene-ground{stroke:#eef2f62a;stroke-width:2px}.scene *{animation-play-state:paused!important}.service-card.is-in .scene *,.service-card:hover .scene *,.si-reforms a:hover .scene *,.scene-hero .scene *,.qb-work .scene *{animation-play-state:running!important}.js-motion .scene .drops path{animation:1.4s ease-in infinite drop}.js-motion .scene .steam path{animation:2.2s ease-in-out infinite steam}.js-motion .scene .draw{stroke-dasharray:520;animation:draw-loop 5s var(--ease-in-out) infinite}.js-motion .scene .draw-2{animation-delay:.4s}.js-motion .scene .draw-3{animation-delay:.8s}.js-motion .scene .sparkle-dot{transform-box:fill-box;transform-origin:50%;animation:2.4s infinite twinkle}.js-motion .scene .awning{animation:2.4s ease-in-out infinite awning}.js-motion .scene .sign-light{animation:3.2s infinite flicker}.js-motion .scene .shutter{animation:shutter 4s var(--ease-in-out) infinite}.js-motion .scene .bricks rect{animation:brick-in 4.2s var(--ease) infinite both}.js-motion .scene .trowel{transform-box:fill-box;transform-origin:0 100%;animation:1.4s ease-in-out infinite trowel}.js-motion .scene .flow{animation:1.2s linear infinite flow}.js-motion .scene .spark{animation:1.6s step-end infinite spark}.js-motion .scene .bulb-glow{animation:3.2s ease-in-out infinite bulb}.scene .bulb-glow{opacity:.25}.js-motion .scene .door{transform-box:fill-box;transform-origin:0;animation:door 3.6s var(--ease-in-out) infinite}.js-motion .scene .plane{animation:1.8s ease-in-out infinite plane}.js-motion .scene .shavings circle{animation:1.8s ease-out infinite shaving}.js-motion .scene .shavings circle:nth-child(2){animation-delay:.3s}.js-motion .scene .shavings circle:nth-child(3){animation-delay:.6s}.js-motion .scene .panel{animation:panel 4s var(--ease) infinite both}.js-motion .scene .panel-2{animation-delay:.5s}.js-motion .scene .paint-fill{transform-box:fill-box;transform-origin:0;animation:fill-x 3.6s var(--ease-in-out) infinite}.js-motion .scene .roller{animation:roller 3.6s var(--ease-in-out) infinite}.scene .roller{transform:translate(210px,40px)}.js-motion .scene .pour{transform-box:fill-box;transform-origin:bottom;animation:pour 4s var(--ease-in-out) infinite}.js-motion .scene .chute-flow{animation:1s step-end infinite spark}.js-motion .scene .drum{transform-box:fill-box;transform-origin:50%;animation:2s linear infinite spin}.js-motion .scene .hook{animation:hook 4s var(--ease-in-out) infinite}.js-motion .scene .clock-hand{transform-box:view-box;transform-origin:120px 50px;animation:4s linear infinite spin}.js-motion .scene .flag{transform-box:fill-box;transform-origin:0;animation:1.6s ease-in-out infinite alternate flag}@keyframes pour{0%,10%{transform:scaleY(0)}60%,90%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hook{0%,to{transform:translate(0)}50%{transform:translate(-60px)}}@keyframes flag{0%{transform:skewY(0)scaleX(1)}to{transform:skewY(-8deg)scaleX(.85)}}.chip-group legend,.field>span{margin-bottom:10px;font-weight:700;display:block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;transition:background-color .2s, border-color .2s, color .2s, transform .2s var(--ease);border-radius:6px;align-items:center;padding:8px 15px;font-size:15px;font-weight:600;display:inline-flex;position:relative}.chip:hover{border-color:var(--text)}.chip:active{transform:scale(.96)}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chip:has(input:focus-visible){outline:3px solid var(--brick);outline-offset:2px}.chip[data-on]{background:var(--pine);border-color:var(--pine);color:#fbfaf7}.range-field{display:block}.range-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;font-weight:700;display:flex}.m2-box{border:1.5px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-weight:600;display:inline-flex}.m2-box:focus-within{border-color:var(--brick);box-shadow:0 0 0 3px #bf4d1426}.m2-box input{width:5.5ch;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:0 0;border:0;padding:6px 4px 6px 8px;font-size:17px;font-weight:700}.m2-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.m2-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.m2-box input:focus{outline:none}.range-field.big .m2-box input{width:6ch;font-size:20px}.range-hint{color:var(--muted);margin-top:8px;font-size:14px}.range-field input[type=range]{--fill:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:34px;margin:0;display:block}.range-field input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--brick) var(--fill), var(--band) var(--fill));border-radius:2px;height:8px}.range-field input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--brick) var(--fill), var(--band) var(--fill));border-radius:2px;height:8px}.range-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:4px solid var(--brick);width:30px;height:30px;box-shadow:none;transition:transform .2s var(--ease);background:#fbfaf7;border-radius:50%;margin-top:-11px}.range-field input[type=range]::-moz-range-thumb{border:4px solid var(--brick);background:#fbfaf7;border-radius:50%;width:22px;height:22px}.range-field input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.range-field input[type=range]:focus-visible{outline:none}.range-field input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #bf4d1455}.range-scale{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;display:flex}.range-scale:before{content:"";opacity:.55;background:linear-gradient(currentColor,currentColor) 0/1px 10px no-repeat,linear-gradient(currentColor,currentColor) 100%/1px 10px no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 1px no-repeat;flex:1;order:1;height:10px}.range-scale span:last-child{order:2}.process-section{overflow:clip}.process-build{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);display:grid}.build-stage{top:calc(var(--header) + 32px);border-radius:var(--radius);border:1px solid var(--line);background:#1a2c3e;align-self:start;padding:22px;position:sticky}.build-svg{width:100%;height:auto;overflow:visible}.build-grid path{stroke:#eef2f60c;stroke-width:1px}.build-outline{fill:none;stroke:#eef2f655;stroke-width:2px;stroke-dasharray:6 6}.build-dim{stroke:#f4a57199;stroke-width:1.5px;fill:none}.build-dim-text{fill:#f4a571;font-family:var(--font-body), sans-serif;font-size:11px}.build-found{fill:#8d877c;transition:opacity .4s}.build-bricks rect{fill:var(--brick);stroke:#8f3a0e;stroke-width:1px}.build-bricks g{opacity:0;transition:opacity .35s, transform .55s var(--ease);transform:translateY(-26px)}.build-bricks g.is-up{opacity:1;transform:none}.build-plaster{fill:#ecebe5;transition:opacity .5s}.build-roof{fill:none;stroke:#eef2f6;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:300;transition:stroke-dashoffset .3s linear}.build-roof-fill{fill:var(--pine-3);transition:opacity .4s}.build-chimney{fill:#8f3a0e;transition:opacity .4s}.build-door{fill:#5b7a99}.build-window{fill:#3c5560}.build-frame{stroke:#eef2f6;stroke-width:2.5px}.build-glow{fill:#ffe9b0;opacity:.8}.build-sparkle{fill:#ffe08a;transform-box:fill-box;transform-origin:50%}.js-motion .build-sparkle{animation:2s infinite twinkle}.build-key circle,.build-key path{fill:none;stroke:#ffe08a;stroke-width:4px;stroke-linecap:round}.build-meter{background:#eef2f614;border-radius:999px;height:6px;margin-top:16px;overflow:hidden}.build-meter span{background:var(--brick);transform-origin:0;height:100%;display:block}.build-steps{gap:14px;display:grid}.build-steps li{border-radius:var(--radius-sm);border:1px solid var(--line);opacity:.45;transition:opacity .5s, transform .6s var(--ease), border-color .5s, background-color .5s;background:#eef2f606;gap:18px;padding:22px 24px;display:flex;transform:none}.build-steps li.is-done{opacity:1;background:#bf4d1412;border-color:#bf4d1466;transform:none}.step-number{border:1.5px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;transition:background-color .4s,color .4s,border-color .4s;display:grid}.build-steps li.is-done .step-number{background:var(--brick);border-color:var(--brick);color:#fbfaf7}.build-steps h3{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:1.3rem;font-weight:700;line-height:1.15}.build-steps p{color:var(--muted);margin-top:6px}.project-teasers{grid-template-columns:1fr 1fr;gap:22px;display:grid}.project-teaser-text{align-items:baseline;gap:14px;margin-top:14px;display:flex}.project-teaser-text .mono{color:var(--brick-ink);letter-spacing:.1em;text-transform:uppercase;font-size:12.5px}.project-teaser-text h3{font-family:var(--font-display), sans-serif;letter-spacing:-.015em;font-size:1.4rem;font-weight:700}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:36px;display:flex}.filter-bar button{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 20px;font-weight:700;transition:background-color .25s,color .25s,border-color .25s}.filter-bar button:hover{border-color:var(--text)}.filter-bar button[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:#fbfaf7}.project-list{gap:28px;display:grid}.project-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(22px,4vw,52px);padding:clamp(14px,2vw,22px);display:grid}.js-motion .project-card{animation:rise-in .7s var(--ease) both;animation-delay:var(--d,0s)}.project-card:nth-child(2n) .project-media{order:2}.project-body{flex-direction:column;gap:14px;padding:10px 14px;display:flex}.project-cat{color:var(--brick-ink);letter-spacing:.12em;text-transform:uppercase;font-size:12.5px}.project-body h2{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:700;line-height:1.05}.project-body>p{color:var(--muted)}.project-scope{flex-wrap:wrap;gap:8px;display:flex}.project-scope li{background:var(--band);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.project-duration{color:var(--muted);align-items:center;gap:8px;display:flex}.project-duration svg{color:var(--brick)}.project-body .text-link{align-self:flex-start}.sa-groups{gap:clamp(36px,5vw,56px);display:grid}.sa-head{border-bottom:1.5px solid var(--text);align-items:baseline;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.sa-index{font-family:var(--font-display), sans-serif;color:var(--brick-ink);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:800}.sa-head h3{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;line-height:1.1}.sa-head p{color:var(--muted);margin-top:4px}.sa-list{gap:10px;display:grid}.sa-item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .3s,box-shadow .3s;overflow:hidden}.sa-item[open]{border-color:var(--brick);box-shadow:0 18px 40px -30px #1c273388}.sa-item summary{cursor:pointer;grid-template-columns:112px minmax(0,1fr) auto;grid-template-areas:"art title icon""art short icon";align-items:center;gap:2px 18px;padding:12px 18px 12px 12px;list-style:none;display:grid}.sa-item summary::-webkit-details-marker{display:none}.sa-item summary:hover .sa-title{color:var(--brick-ink)}.sa-art{aspect-ratio:2;border-radius:var(--radius-sm);background:var(--pine);grid-area:art;display:block;overflow:hidden}.sa-art .scene{width:100%;height:100%}.sa-item .scene *{animation-play-state:paused!important}.sa-item[open] .scene *,.sa-item summary:hover .scene *{animation-play-state:running!important}.sa-title{font-family:var(--font-display), sans-serif;letter-spacing:-.015em;grid-area:title;align-self:end;font-size:1.25rem;font-weight:700;line-height:1.15;transition:color .2s}.sa-short{color:var(--muted);grid-area:short;align-self:start;font-size:.95rem;line-height:1.4}.sa-item summary .faq-icon{grid-area:icon}.sa-item[open] summary .faq-icon{background:var(--brick);color:#fbfaf7;transform:rotate(45deg)}.sa-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);padding:4px 18px 20px;display:grid}.js-motion .sa-item[open] .sa-body{animation:rise .45s var(--ease) both}.sa-text{align-content:start;gap:14px;display:grid}.sa-lead{color:var(--text);font-size:1.02rem}.sa-example{border-radius:var(--radius-sm);background:var(--pine);min-height:200px;text-decoration:none;display:block;position:relative;overflow:hidden}.sa-example img{object-fit:cover;transition:transform .6s var(--ease)}.sa-example:hover img{transform:scale(1.04)}.sa-example span{border-radius:var(--radius-sm);color:#fbfaf7;background:#0f1c28d9;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.35;position:absolute;bottom:10px;left:10px;right:10px}@supports (interpolate-size:allow-keywords){.sa-list{interpolate-size:allow-keywords}.sa-item::details-content{height:0;transition:height .45s var(--ease), content-visibility .45s allow-discrete;overflow:clip}.sa-item[open]::details-content{height:auto}}.footer-subhead{margin-top:22px}.section-tight-top{padding-top:clamp(24px,3vw,40px)}.obra-video{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--pine);position:relative;overflow:hidden}.obra-video.is-vertical{aspect-ratio:9/16;max-height:640px;margin-inline:auto}.obra-video video{object-fit:cover;width:100%;height:100%;display:block}.obra-play{color:#fbfaf7;width:42px;height:42px;transition:background-color .2s, transform .25s var(--ease);background:#0f1c28cc;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:12px;left:12px}.obra-play:hover{background:var(--brick);transform:scale(1.06)}.obra-badge{color:#fbfaf7;letter-spacing:.04em;pointer-events:none;background:#0f1c28cc;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px}.obra-speeds{background:#0f1c28cc;border-radius:999px;gap:2px;padding:3px;display:flex;position:absolute;top:12px;right:12px}.obra-speeds button{color:#fbfaf7;background:0 0;border:0;border-radius:999px;min-width:44px;padding:5px 10px;font-size:13px;font-weight:700;transition:background-color .2s}.obra-speeds button:hover{background:#fbfaf722}.obra-speeds button[aria-pressed=true]{background:var(--brick)}.obra-compare{gap:10px;display:grid}.obra-views{flex-wrap:wrap;gap:6px;display:flex}.obra-views button{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.obra-views button:hover{border-color:var(--text)}.obra-views button[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:#fbfaf7}.obra-slider{aspect-ratio:16/9}.obra-slider img{object-fit:cover}.obra-steps{gap:10px;display:grid}.steps-frame{aspect-ratio:16/10;border-radius:var(--radius-sm);background:var(--pine);position:relative;overflow:hidden}.obra-steps.is-portrait .steps-frame{aspect-ratio:4/5}.steps-slide{z-index:0;opacity:0;transition:opacity .6s var(--ease) .6s;margin:0;position:absolute;inset:0}.steps-slide.is-active{z-index:1;opacity:1;transition-delay:0s}.steps-blur{object-fit:cover;filter:blur(24px)saturate(1.2);opacity:.6;transform:scale(1.15)}.steps-photo{object-fit:contain}.js-motion .steps-slide.is-active .steps-photo{animation:steps-zoom calc(var(--step-ms) + 1s) linear both}@keyframes steps-zoom{0%{transform:scale(1)}to{transform:scale(1.04)}}.steps-count{z-index:2;color:#fbfaf7;letter-spacing:.04em;background:#0f1c28cc;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px}.steps-caption{z-index:2;border-radius:var(--radius-sm);color:#fbfaf7;background:#0f1c28d9;padding:10px 14px;font-size:15px;font-weight:600;line-height:1.35;position:absolute;bottom:12px;left:12px;right:12px}.steps-caption strong{color:#f4a571;font-variant-numeric:tabular-nums;margin-right:6px}.js-motion .steps-caption{animation:rise .45s var(--ease) both}.steps-arrow{z-index:2;width:40px;height:40px;color:var(--ink);opacity:0;background:#fbfaf7e6;border:0;border-radius:50%;place-items:center;margin-top:-20px;transition:opacity .25s,background-color .2s;display:grid;position:absolute;top:50%}.steps-arrow.is-prev{left:10px}.steps-arrow.is-next{right:10px}.steps-frame:hover .steps-arrow,.steps-arrow:focus-visible{opacity:1}.steps-arrow:hover{background:var(--brick);color:#fbfaf7}@media (hover:none){.steps-arrow{opacity:.9}}.steps-rail{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.steps-rail button{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;justify-items:start;gap:2px;padding:0 0 4px;display:grid}.steps-bar{background:var(--line);border-radius:2px;grid-column:1/-1;justify-self:stretch;height:4px;margin-bottom:6px;position:relative;overflow:hidden}.steps-bar span{background:var(--brick);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.steps-rail .is-done .steps-bar span,.steps-rail .is-active .steps-bar span{transform:scaleX(1)}.obra-steps.is-playing .steps-rail .is-active .steps-bar span{animation:steps-progress var(--step-ms) linear both}@keyframes steps-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.steps-num{background:var(--band);width:22px;height:22px;color:var(--text);border-radius:50%;place-items:center;font-size:12px;font-weight:800;transition:background-color .25s,color .25s;display:grid}.steps-rail .is-active .steps-num,.steps-rail .is-done .steps-num{background:var(--brick);color:#fbfaf7}.steps-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.obra-card.has-steps.is-vertical{grid-template-columns:minmax(0,440px) minmax(300px,1fr)}.obra-list{gap:28px;display:grid}.obra-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(14px,2vw,22px);display:grid}.js-motion .obra-card{animation:rise-in .7s var(--ease) both;animation-delay:var(--d,0s)}.obra-card.is-vertical{grid-template-columns:minmax(0,360px) minmax(300px,1fr)}.obra-list>div:nth-child(2n) .obra-card:not(.is-vertical) .obra-media{order:2}.obra-body{flex-direction:column;gap:12px;padding:6px 10px;display:flex}.obra-cat{color:var(--brick-ink);letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;font-weight:700}.obra-body h3{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700;line-height:1.08}.obra-body>p{color:var(--muted)}.obra-links{flex-wrap:wrap;gap:10px 18px;margin-top:4px;display:flex}.obra-card.is-compact,.obra-card.is-compact.is-vertical,.obra-card.is-compact.has-steps.is-vertical{grid-template-columns:1fr;align-content:start;align-items:start;padding:12px}.obra-card.is-compact .obra-steps.is-portrait .steps-frame{aspect-ratio:1}.obra-card.is-compact .obra-video.is-vertical{aspect-ratio:1;max-height:none}.obra-card.is-compact .obra-body h3{font-size:1.25rem}.obra-card.is-compact .obra-body>p{font-size:.95rem}.home-obras{gap:22px;display:grid}.home-obras-more{grid-template-columns:1fr 1fr;gap:22px;display:grid}.note-box{border-radius:var(--radius-sm);background:var(--band);color:var(--muted);align-items:flex-start;gap:16px;margin-top:36px;padding:22px 26px;display:flex}.note-box svg{color:var(--brick);flex-shrink:0}.note-box a{color:var(--brick-ink);font-weight:700}.reviews-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(28px,5vw,72px);margin-bottom:40px;display:grid}.reviews-layout .section-head{margin-bottom:0}.stars{color:#d6d9d3;gap:2px;display:inline-flex}.stars .is-on{color:#e8a317}.reviews-empty,.reviews-showcase{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(26px,4vw,44px);display:flex}.reviews-empty h3{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:1.9rem;font-weight:700}.reviews-empty p{color:var(--muted);max-width:52ch}.reviews-badge{background:var(--band);border-radius:999px;align-items:center;gap:12px;padding:10px 16px;display:inline-flex}.g-dot{background:conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0);border-radius:50%;width:22px;height:22px}.js-motion .reviews-badge .stars svg{animation:star-pop .5s var(--ease) both}.js-motion .reviews-badge .stars svg:nth-child(2){animation-delay:80ms}.js-motion .reviews-badge .stars svg:nth-child(3){animation-delay:.16s}.js-motion .reviews-badge .stars svg:nth-child(4){animation-delay:.24s}.js-motion .reviews-badge .stars svg:nth-child(5){animation-delay:.32s}.review-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.review-summary strong{font-family:var(--font-display), sans-serif;font-size:3rem;line-height:1}.review-summary>span:last-child{color:var(--muted)}.review-quote{gap:12px;margin:0;display:grid}.js-motion .review-quote{animation:rise .5s var(--ease) both}.review-quote p{font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.5}.review-quote cite{font-style:normal;font-weight:700}.review-quote cite span{color:var(--muted);font-weight:400}.review-controls{align-items:center;gap:14px;display:flex}.review-controls button{border:1.5px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.review-controls button:disabled{opacity:.35;cursor:default}.promise-list{grid-template-columns:repeat(4,1fr);gap:0 32px;display:grid}.promise-list li{border-top:1.5px solid var(--ink);padding-top:18px}.promise-num{font-family:var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--brick);margin-bottom:18px;font-size:2.6rem;font-weight:800;font-stretch:118%;line-height:1;display:block}.promise-list h3{font-size:1.12rem;line-height:1.3}.promise-list p{color:var(--muted);margin-top:8px;font-size:.97rem}.area-card{border-radius:var(--radius);background:var(--pine);color:#f6f4ef;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid;overflow:hidden}.area-map{min-height:320px;text-decoration:none;display:block;position:relative}.area-map>svg{width:100%;height:100%}.map-grid path{stroke:#eef2f60d;stroke-width:1px}.map-river{fill:none;stroke:#5d8796;stroke-width:10px;stroke-linecap:round;opacity:.55}.map-road{fill:none;stroke:#34463f;stroke-width:12px;stroke-linecap:round}.map-road-dash{fill:none;stroke:#ffe08a;stroke-width:1.5px;stroke-dasharray:10 10}.js-motion .map-road-dash{animation:2s linear infinite dash}.map-road-label{fill:#ffe08a;font-family:var(--font-body), sans-serif;font-size:12px}.map-range{fill:#bf4d1422;stroke:#bf4d1488;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%}.js-motion .map-range.is-2{fill:none;animation:3.2s ease-out infinite range}.map-town circle{fill:#eef2f6}.map-town text{fill:#c9d3dd;font-family:var(--font-body), sans-serif;font-size:13px;font-weight:600}.map-town.is-main circle{fill:var(--brick)}.map-town.is-main text{fill:#fbfaf7;font-family:var(--font-display), sans-serif;font-size:17px;font-weight:600}.map-pin path{fill:var(--brick);stroke:#fbfaf7;stroke-width:2.5px}.js-motion .map-pin{animation:pin-bob 2.4s var(--ease-in-out) infinite}.map-open{color:var(--ink);transition:transform .3s var(--ease);background:#fbfaf7;border-radius:999px;align-items:center;gap:6px;padding:9px 15px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;bottom:18px;left:18px}.area-map:hover .map-open{transform:translateY(-3px)}.area-info{flex-direction:column;gap:12px;padding:clamp(26px,4vw,44px);display:flex}.area-info .eyebrow{color:#f4a571;margin-bottom:0}.area-info h3{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1.05}.area-info>p{color:#c9d3dd}.area-contacts{gap:10px;margin-top:10px;display:grid}.area-contacts a{color:#fbfaf7;align-items:flex-start;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.area-contacts a:hover{color:#f4a571}.area-contacts svg{color:#f4a571;flex-shrink:0;margin-top:3px}.hours{border-top:1px solid #eef2f61a;gap:6px;margin-top:10px;padding-top:14px;display:grid}.hours li{justify-content:space-between;gap:12px;display:flex}.faq-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(28px,5vw,80px);display:grid}.faq-layout .section-head{top:calc(var(--header) + 32px);position:sticky}.faq-list{border-top:1.5px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-size:1.05rem;font-weight:700;list-style:none;transition:color .2s;display:flex}.faq-list summary:hover{color:var(--brick-ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-icon{width:32px;height:32px;transition:transform .35s var(--ease), background-color .3s, color .3s, border-color .3s;border:1.5px solid;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.faq-list details[open] .faq-icon{background:var(--brick);border-color:var(--brick);color:#fbfaf7;transform:rotate(45deg)}.faq-list details p{max-width:64ch;color:var(--muted);padding:0 4px 22px}@supports (interpolate-size:allow-keywords){.faq-list{interpolate-size:allow-keywords}.faq-list details::details-content{height:0;transition:height .4s var(--ease), content-visibility .4s allow-discrete;overflow:clip}.faq-list details[open]::details-content{height:auto}}.final-cta{background:var(--brick);color:#fbfaf7;padding:clamp(64px,8vw,112px) 0}.final-inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.final-cta .eyebrow,.final-cta .eyebrow-num{color:#fbfaf7}.final-cta .display-2 em{color:var(--ink)}.next-steps{counter-reset:step;border-top:1.5px solid #fbfaf7;gap:0;margin-top:36px;display:grid}.next-steps li{color:#fff;counter-increment:step;border-bottom:1px solid #fbfaf755;padding:18px 0 18px 52px;position:relative}.next-steps li:before{content:counter(step, decimal-leading-zero);font-variant-numeric:tabular-nums;color:#fbfaf7;font-weight:800;position:absolute;top:18px;left:0}.next-steps strong{color:#fbfaf7}.final-direct{color:#fff;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:28px;display:flex}.final-direct a{color:#fbfaf7}.final-form{border-radius:var(--radius);background:var(--bg);color:var(--text);padding:clamp(22px,3vw,32px)}.cta-band{background:var(--pine);color:#fbfaf7;padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden}.cta-inner{grid-template-columns:minmax(0,1.1fr) auto;align-items:end;gap:32px;display:grid;position:relative}.cta-band .display-2 em{color:#f4a571}.cta-inner p{color:#c9d3dd;max-width:54ch;margin-top:14px;font-size:1.08rem}.page-hero{border-bottom:1.5px solid var(--ink);padding:clamp(40px,6vw,84px) 0 clamp(44px,6vw,72px);position:relative}.page-hero.is-compact{padding:clamp(28px,4vw,48px) 0 clamp(28px,4vw,44px)}.page-hero.is-compact .display-1{font-size:clamp(2rem,3.6vw,3rem)}.section-first{padding-top:clamp(32px,4vw,56px)}.page-hero-inner{flex-direction:column;align-items:flex-start;display:flex;position:relative}.page-hero-copy{flex-direction:column;align-items:flex-start;display:flex}.page-hero.has-photo .page-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.page-hero.has-photo .page-hero-inner>*{max-width:none}.hero-photo{aspect-ratio:4/3;border-radius:var(--radius);background:var(--pine);margin:0;position:relative;overflow:hidden}.hero-photo img{object-fit:cover}.hero-photo figcaption{color:#fbfaf7;background:#1c2733b3;border-radius:4px;padding:3px 8px;font-size:11.5px;line-height:1.4;position:absolute;bottom:10px;right:10px}.page-hero-inner>*{max-width:860px}.page-hero .hero-text{margin-top:22px}.page-hero .button-row{margin-top:30px}.js-motion .page-hero-inner>*{animation:rise .9s var(--ease) both}.js-motion .page-hero-inner>:nth-child(2){animation-delay:60ms}.js-motion .page-hero-inner>:nth-child(3){animation-delay:.12s}.js-motion .page-hero-inner>:nth-child(4){animation-delay:.18s}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:22px;font-size:14px;display:flex}.breadcrumbs a{color:var(--text)}.service-detail{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}.service-lead{font-size:clamp(1.2rem,1.9vw,1.45rem);font-weight:500;line-height:1.45}.prose{gap:18px;display:grid}.prose>p{color:var(--muted)}.prose>.service-lead{color:var(--text)}.service-project{margin:18px 0 0}.service-project figcaption{color:var(--muted);margin-top:10px;font-size:14px}.service-project figcaption .mono{color:var(--brick-ink);letter-spacing:.1em;text-transform:uppercase;margin-right:6px;font-size:12px}.includes{top:calc(var(--header) + 24px);border-radius:var(--radius);background:var(--pine);color:#f6f4ef;padding:30px;position:sticky}.includes h2{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:1.8rem;font-weight:700}.includes ul{gap:10px;margin:18px 0 24px;display:grid}.includes li{align-items:flex-start;gap:10px;display:flex}.includes li svg{color:#f4a571;flex-shrink:0;margin-top:3px}.includes .btn{width:100%}.includes .btn+.btn{margin-top:10px}.scene-hero{border-radius:var(--radius);background:var(--pine);width:min(520px,100%);margin-top:36px;overflow:hidden}.scene-hero .scene{width:100%;height:auto}.qb{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--ink);width:min(880px,100%);margin-inline:auto;overflow:hidden}.qb-top{background:var(--pine);color:#f7f4ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:12px clamp(16px,2.6vw,28px);display:flex}.qb-progress{gap:6px;display:flex}.qb-progress button{color:#b8c4d0;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s;display:flex}.qb-progress button:disabled{cursor:default}.qb-progress button:not(:disabled):hover{background:#f7f4ee1a}.qb-num{width:28px;height:28px;transition:background-color .3s, border-color .3s, transform .4s var(--ease);border:1.5px solid #f7f4ee4d;border-radius:50%;place-items:center;font-size:13.5px;display:grid}.qb-progress .is-active button{color:#fbfaf7}.qb-progress .is-active .qb-num{background:var(--brick);border-color:var(--brick);transform:scale(1.06)}.qb-progress .is-done .qb-num{color:var(--pine);background:#f7f4ee;border-color:#f7f4ee}.qb-time{color:#f4a571;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.qb-panel{scroll-margin-top:calc(var(--header) + 16px);padding:clamp(20px,3.4vw,36px)}.qb-panel:focus{outline:none}.js-motion .qb-panel>*{animation:rise .45s var(--ease) both}.qb fieldset{border:0;min-width:0;margin:0;padding:0}.qb-title{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;margin-bottom:16px;padding:0;font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:700;line-height:1.1;display:block}.qb-title.qb-sub{margin-bottom:12px;font-size:clamp(1.1rem,1.6vw,1.25rem)}.qb-works{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.qb-work{border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--bg);color:var(--text);text-align:left;transition:border-color .2s, transform .25s var(--ease), box-shadow .25s;flex-direction:column;padding:0;display:flex;overflow:hidden}.qb-work:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 10px 22px -14px #1f334766}.qb-work:active{transform:scale(.97)}.qb-work[aria-pressed=true]{border-color:var(--brick)}.qb-work-art{aspect-ratio:2;background:var(--pine);display:block}.qb-work-art .scene{width:100%;height:100%}.qb-work-name{padding:10px 12px;font-weight:700;line-height:1.25}.qb-work[aria-pressed=true] .qb-work-name{background:var(--tint);color:var(--brick-ink)}.qb-stack{gap:26px;display:grid}.qb-chosen{background:var(--tint);border-radius:999px;justify-self:start;align-items:center;gap:12px;padding:8px 16px;font-weight:700;display:flex}.qb-chosen .link-button{color:var(--brick-ink);font-size:14px;font-weight:600}.qb-row{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.qb-row .field>span{margin-bottom:7px}.qb-recap{color:var(--muted);margin-top:-10px;font-weight:600}.qb .check{margin-top:0}.qb .field-error{margin-top:-18px}.qb .field .field-error{margin-top:6px}.qb-nav{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:20px;display:flex}.qb-nav .btn-primary{margin-left:auto}.qb-wa{color:var(--text);text-underline-offset:4px;justify-self:center;align-items:center;gap:8px;font-size:15px;font-weight:700;-webkit-text-decoration:underline #1fa85580;text-decoration:underline #1fa85580;display:inline-flex}.qb-wa svg{color:#1fa855}.qb-wa:hover{text-decoration-color:#1fa855}.qb .form-status{text-align:center;margin-top:-10px}.qb .form-status.is-idle{display:none}.qb-foot{border-top:1.5px solid var(--ink);background:var(--tint);color:var(--muted);text-align:center;padding:14px clamp(16px,2.6vw,28px);font-size:14.5px}.qb-sent{text-align:center;justify-items:center;gap:14px;padding:clamp(32px,5vw,56px) clamp(20px,4vw,48px);display:grid}.qb-sent>p:not(.qb-sent-title){max-width:52ch;color:var(--muted)}.qb-sent-icon{background:var(--ok);color:#fbfaf7;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.js-motion .qb-sent-icon{animation:rise-in .6s var(--ease) both}.qb-sent-title{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800}.contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}.contact-aside{top:calc(var(--header) + 24px);gap:16px;display:grid;position:sticky}.contact-form{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);scroll-margin-top:calc(var(--header) + 16px);padding:clamp(24px,4vw,44px)}.contact-form h2{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700;line-height:1.05}.form-lead{color:var(--muted);margin:10px 0 22px}.topic-switch{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px 18px;margin-bottom:16px;display:grid}.field{display:block}.field>span{margin-bottom:7px;font-size:15px}.field small{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{border:1.5px solid var(--line);background:var(--bg);width:100%;min-height:52px;color:var(--text);border-radius:10px;padding:12px 15px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:block}.field textarea{resize:vertical;min-height:140px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f574e' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;padding-right:42px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9bdb5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brick);background-color:var(--surface);outline:none;box-shadow:0 0 0 4px #bf4d1426}.field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin-top:6px;font-size:14px;font-weight:600;display:block}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-photo-tip{color:var(--muted);align-items:center;gap:10px;margin-top:14px;font-size:14.5px;display:flex}.form-photo-tip svg{color:var(--brick);flex-shrink:0}.privacy-box{background:var(--band);color:var(--muted);border-radius:10px;margin-top:20px;padding:18px;font-size:14px}.privacy-box a{color:var(--brick-ink);font-weight:700}.check{color:var(--text);cursor:pointer;align-items:flex-start;gap:12px;margin-top:14px;font-size:15px;font-weight:600;display:flex}.check.small{color:var(--muted);font-size:13.5px;font-weight:500}.check.small a{color:var(--brick-ink)}.check input{width:22px;height:22px;accent-color:var(--brick);flex-shrink:0;margin:1px 0 0}.form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.form-status{min-height:1.5em;margin-top:16px;font-weight:700}.form-status:focus{outline:none}.form-status.is-sent{color:var(--ok)}.form-status.is-error,.form-status.is-rate,.form-status.is-unconfigured{color:var(--danger)}.info-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);padding:26px}.info-card h2{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:12px;font-size:1.6rem;font-weight:700;display:flex}.info-card>p{color:var(--muted);margin-bottom:16px}.info-card ul{gap:12px;display:grid}.info-card a{align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.info-card a:hover{color:var(--brick-ink)}.info-card svg{color:var(--brick-ink);flex-shrink:0}.callback-card{background:var(--pine);color:#f6f4ef;border-color:var(--pine);scroll-margin-top:calc(var(--header) + 16px)}.callback-card h2 svg{color:#f4a571}.callback-card>p{color:#c9d3dd}.callback-card .field input,.callback-card .field select{color:#fbfaf7;background-color:#fbfaf70d;border-color:#eef2f62a}.callback-card .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23cfc5b6' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat}.callback-card .field select option{color:var(--ink)}.callback-card .field input:focus,.callback-card .field select:focus{background-color:#fbfaf714}.callback-card .check.small{color:#c9d3dd}.callback-card .check.small a{color:#f4a571}.callback-card .form-status.is-sent{color:#8fd6a6}.callback-card .form-status.is-error,.callback-card .form-status.is-rate,.callback-card .form-status.is-unconfigured,.callback-card .field-error{color:#ffab9e}.callback-grid{gap:12px;display:grid}.callback-form .btn{width:100%;margin-top:16px}.prefill-note{background:#5b7a9920;border:1px solid #5b7a9966;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:16px 18px;font-size:15px;display:flex}.prefill-note svg{color:var(--sage);flex-shrink:0;margin-top:2px}.legal{max-width:860px;padding-block:clamp(48px,6vw,80px)}.legal h2{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;margin:42px 0 14px;font-size:1.9rem;font-weight:700;line-height:1.1}.legal h3{margin:26px 0 8px;font-size:1.15rem}.legal p,.legal li{color:#3a4440}.legal p+p{margin-top:12px}.legal ul{gap:8px;margin-top:10px;padding-left:20px;list-style:outside;display:grid}.legal a{color:var(--brick-ink);font-weight:600}.legal-version{color:var(--muted);font-size:14px}.legal-draft{color:#5c4400;background:#fff3cd;border:1px solid #f1d27a;border-radius:10px;padding:14px 18px}mark.pending{color:#5c4400;background:#fff3cd;border-radius:6px;padding:1px 8px;font-weight:700}.legal-table{border:1px solid var(--line);border-radius:10px;margin-top:12px;overflow-x:auto}.legal-table table{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 14px}.legal-table th{background:var(--band)}.legal-table code{font-family:var(--font-body), sans-serif;font-size:13px}.not-found{text-align:center;place-items:center;min-height:70vh;padding:80px 0;display:grid}.not-found .big{font-family:var(--font-display), sans-serif;letter-spacing:-.05em;color:var(--brick);font-size:clamp(7rem,22vw,15rem);font-weight:700;line-height:.8}.not-found .big span{color:var(--ink);display:inline-block}.js-motion .not-found .big span{animation:wobble 2.4s var(--ease-in-out) infinite}.not-found .button-row{justify-content:center;margin-top:28px}.not-found p{color:var(--muted);max-width:46ch;margin:18px auto 0}.site-footer{border-top:4px solid var(--brick);background:#18293a;padding:0 0 28px;position:relative}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.5fr 1.4fr;gap:32px;padding:64px 0 44px;display:grid}.footer-brand .logo{margin-bottom:20px}.footer-brand .logo img{height:64px}.footer-brand p{color:#b8c4d0;max-width:38ch;font-size:15px}.footer-badge{border:1px solid #eef2f62a;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:9px 16px;font-weight:600;display:inline-flex;color:#fbfaf7!important;font-size:14px!important}.footer-badge svg{color:#f4a571}.footer-badge:hover{border-color:#f4a571;text-decoration:none!important}.site-footer h2{font-family:var(--font-body), sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f4a571;margin-bottom:16px;font-size:12.5px;font-weight:500}.site-footer ul{gap:9px;display:grid}.site-footer a{color:#d5dbd7;font-size:15px;text-decoration:none}.site-footer a:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.site-footer address{gap:11px;font-style:normal;display:grid}.site-footer address a{align-items:flex-start;gap:10px;display:flex}.site-footer address svg{color:#f4a571;flex-shrink:0;margin-top:3px}.footer-nav{border-top:1px solid #eef2f614;flex-wrap:wrap;margin-top:20px;padding-top:16px;gap:8px 16px!important;display:flex!important}.footer-legal{color:#8b9590;border-top:1px solid #eef2f614;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;font-size:14px;display:flex}.footer-legal ul{flex-wrap:wrap;gap:8px 20px;display:flex}.footer-legal a,.footer-legal .link-button{color:#b8c4d0;font-size:14px}.mobile-action-bar{display:none}.cookie-banner{z-index:60;border-radius:var(--radius-sm);background:var(--pine);color:#f6f4ef;width:min(420px,100% - 32px);animation:rise .5s var(--ease) both;padding:22px;position:fixed;bottom:16px;left:16px;box-shadow:0 24px 60px -12px #000a}.cookie-banner h2{font-size:1.1rem}.cookie-banner p{color:#c9d3dd;margin-top:8px;font-size:14px}.cookie-banner a{color:#f4a571}.cookie-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.cookie-actions .btn{color:#fbfaf7;border-color:#fbfaf755;min-height:46px}.js-motion [data-reveal]{opacity:0;transition:opacity .8s var(--ease) var(--d,0s), transform .9s var(--ease) var(--d,0s);transform:translateY(28px)}.js-motion [data-reveal].is-in{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:none}}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}20%{opacity:1}to{opacity:0;transform:translateY(44px)}}@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.9}to{opacity:0;transform:translateY(-12px)}}@keyframes draw-loop{0%{stroke-dashoffset:520px}45%,80%{stroke-dashoffset:0}to{stroke-dashoffset:-520px}}@keyframes awning{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes flicker{0%,18%,22%,26%,to{opacity:.95}20%,24%{opacity:.25}}@keyframes shutter{0%,15%{opacity:1;transform:translateY(0)}55%,80%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes brick-in{0%{opacity:0;transform:translateY(-16px)}12%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes trowel{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes flow{to{stroke-dashoffset:-48px}}@keyframes spark{0%,to{opacity:1}50%{opacity:0}}@keyframes bulb{0%,30%{opacity:.1}45%,85%{opacity:.55}to{opacity:.1}}@keyframes door{0%,20%{transform:scaleX(1)}50%,70%{transform:scaleX(.35)}to{transform:scaleX(1)}}@keyframes plane{0%,to{transform:translate(0)}50%{transform:translate(30px)}}@keyframes shaving{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(14px,-18px)}}@keyframes panel{0%{opacity:0;transform:translate(-30px)}20%,85%{opacity:.9;transform:none}to{opacity:0}}@keyframes fill-x{0%{transform:scaleX(0)}60%,85%{transform:scaleX(1)}to{opacity:1;transform:scaleX(1)}}@keyframes roller{0%{transform:translate(40px,40px)}60%{transform:translate(210px,40px)}85%{opacity:1;transform:translate(210px,40px)}92%{opacity:0}to{opacity:0;transform:translate(40px,40px)}}@keyframes dash{to{stroke-dashoffset:-40px}}@keyframes range{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}@keyframes pin-bob{0%,to{transform:translate(256px,268px)}50%{transform:translate(256px,260px)}}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}to{opacity:1;transform:none}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.site-footer .footer-zones ul{grid-template-columns:1fr 1fr;column-gap:18px;display:grid}.zone-hero-actions{margin-top:26px}.zone-sub{font-family:var(--font-display), sans-serif;letter-spacing:-.01em;margin-top:30px;font-size:1.35rem;font-weight:700}.zone-areas{flex-wrap:wrap;gap:8px;margin-top:14px;padding:0;list-style:none;display:flex}.zone-areas li{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 13px;font-size:14.5px;font-weight:600}.zone-more{text-align:center;margin-top:28px}.zone-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);display:grid}.zone-group h2{border-bottom:1.5px solid var(--ink);font-family:var(--font-display), sans-serif;margin-bottom:14px;padding-bottom:10px;font-size:1.4rem;font-weight:700}.zone-note{color:var(--muted);margin-top:12px;font-size:14.5px;line-height:1.5}.zone-links{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;padding:0;list-style:none;display:grid}.zone-group .zone-links{grid-template-columns:1fr}.zone-links a{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);color:var(--text);transition:border-color .2s, transform .25s var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-weight:700;text-decoration:none;display:flex}.zone-links a:hover{border-color:var(--ink);transform:translate(3px)}.zone-links svg{color:var(--brick);flex-shrink:0}.area-all{color:#f4a571;align-items:center;gap:6px;font-weight:700;display:inline-flex}@media (max-width:960px){.zone-groups{grid-template-columns:1fr 1fr}}@media (max-width:760px){.zone-groups{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:1140px){.main-nav,.header-phone{display:none}.header-cta{margin-left:auto}.menu-button{margin-left:0;display:inline-flex}.service-grid.is-trades{grid-template-columns:1fr 1fr}.promise-list{grid-template-columns:1fr 1fr;gap:28px 32px}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:960px){.process-build,.faq-layout,.service-detail,.contact-layout,.area-card,.cta-inner,.final-inner,.reviews-layout,.project-card{grid-template-columns:1fr}.si-reforms a{grid-template-columns:72px minmax(0,1fr) 28px}.page-hero.has-photo .page-hero-inner{grid-template-columns:1fr}.hero-photo{aspect-ratio:16/9}.si-num{display:none}.si-art{grid-row:1/span 2;align-self:start}.si-text{grid-area:2/2;font-size:.95rem}.si-arrow{grid-area:1/3/span 2}.si-trades{grid-template-columns:1fr}.faq-layout .section-head,.includes,.contact-aside{position:static}.build-stage{top:calc(var(--header) + 8px);z-index:2;max-width:360px;margin-inline:auto;padding:12px;position:sticky}.project-card:nth-child(2n) .project-media{order:0}.obra-card,.obra-card.is-vertical,.obra-card.has-steps.is-vertical,.sa-body{grid-template-columns:1fr}.sa-example{aspect-ratio:16/9;min-height:180px}.obra-list>div:nth-child(2n) .obra-card .obra-media,.obra-list>div:nth-child(2n) .obra-card:not(.is-vertical) .obra-media{order:0}.obra-video.is-vertical{max-height:70svh}.service-grid.is-reforms{grid-template-columns:1fr 1fr}.service-grid.is-reforms .is-large,.service-grid.is-reforms .is-normal{grid-column:span 1}.service-grid.is-reforms .is-large:first-child{grid-column:span 2}}@media (max-width:760px){.qb-works{grid-template-columns:1fr 1fr;gap:8px}.qb-work-name{padding:8px 10px;font-size:14.5px}.qb-progress .qb-label{display:none}.qb-progress .is-active .qb-label{display:inline}.qb-time{font-size:12px}.qb-nav .btn{flex:1}.home-obras-more{grid-template-columns:1fr}.sa-item summary{grid-template-columns:80px minmax(0,1fr) auto;column-gap:12px;padding:10px 12px 10px 10px}.sa-title{font-size:1.08rem}.sa-short{font-size:.88rem}.sa-body{padding:4px 12px 16px}.obra-slider{aspect-ratio:4/3}body{padding-bottom:78px;font-size:16px}:root{--header:68px}.logo img{height:42px}.header-cta span{display:none}.header-cta{padding:11px 13px}.mobile-action-bar{z-index:55;padding:10px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);background:#f7f4eef2;grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-action-bar a{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.mobile-action-bar a.is-whatsapp{color:#062b14;background:#25d366;border-color:#25d366}.mobile-action-bar a.is-primary{background:var(--brick);border-color:var(--brick);color:#fbfaf7}.service-grid.is-reforms,.service-grid.is-trades,.form-grid,.qq-grid,.project-teasers,.qb-row{grid-template-columns:1fr}.service-grid.is-reforms .is-large:first-child{grid-column:span 1}.service-card.is-compact .service-art{flex-basis:34%;min-height:120px}.footer-grid{grid-template-columns:1fr;padding-top:48px}.section-split-head{flex-direction:column;align-items:flex-start}.button-row .btn{flex:auto}.hero-text{margin-top:16px}.hero-facts{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.hero-facts strong{font-size:1.45rem}.hero-actions{grid-template-columns:1fr;width:100%;display:grid}.hero-call,.hero-cta{width:100%}.hero-scroll{display:none}.hero{min-height:calc(100svh - 78px)}.hero-actions .btn-outline-light{display:none}.hero-sub{margin-top:14px;font-size:1rem}.hero-actions{margin-top:22px}.hero-strip .hero-facts{gap:10px 24px;padding-block:12px}.hero .hero-facts strong{font-size:1.2rem}.hero .hero-facts span{font-size:12.5px}.promise-list{grid-template-columns:1fr}.si-reforms a{gap:4px 12px;padding:18px 2px}.si-reforms a:hover{padding-inline:2px}.showcase-tabs{top:18px}.showcase-tabs button{padding:7px 12px;font-size:13px}.hero-showcase{border-radius:10px;padding:8px}.hero-showcase figcaption{flex-direction:column;gap:2px}.ba-handle{width:42px;height:42px;margin:-21px 0 0 -21px}.before-after{aspect-ratio:4/3}.build-steps li{padding:18px}.cookie-banner{bottom:160px}}@media print{.site-header,.site-footer,.mobile-action-bar,.cookie-banner{display:none!important}body{background:#fff;padding:0}}
