@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--font-geist-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--limestone:#f1eee7;--bone:#ddd6ca;--carbon:#171713;--terracotta:#a65437;--sage:#68705c;--line:#1717132e;--background:#f1eee7;--foreground:#171713;--card:#f1eee7;--card-foreground:#171713;--popover:#f1eee7;--popover-foreground:#171713;--primary:#171713;--primary-foreground:#f1eee7;--secondary:#ddd6ca;--secondary-foreground:#171713;--muted:#e6e0d6;--muted-foreground:#5b5a54;--accent:#a65437;--accent-foreground:#fff9ef;--destructive:#9c3e2b;--border:#1717132e;--input:#1717133d;--ring:#a65437;--chart-1:#a65437;--chart-2:#68705c;--chart-3:#171713;--chart-4:#8a8176;--chart-5:#c2b8a8;--radius:0rem;--sidebar:#e6e0d6;--sidebar-foreground:#171713;--sidebar-primary:#171713;--sidebar-primary-foreground:#f1eee7;--sidebar-accent:#a65437;--sidebar-accent-foreground:#fff9ef;--sidebar-border:#1717132e;--sidebar-ring:#a65437}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{background:var(--limestone);min-height:100svh;color:var(--carbon);font-family:var(--font-geist-sans), Arial, sans-serif;flex-direction:column;width:100%;margin:0;display:flex;overflow-x:clip}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:where(a,button,input,textarea,select){touch-action:manipulation}:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}a.admin-dashboard-shortcut,a.admin-dashboard-shortcut:link,a.admin-dashboard-shortcut:visited{background:var(--terracotta);color:var(--accent-foreground);white-space:nowrap;border:0;border-radius:0;justify-content:center;align-items:center;gap:.55rem;min-width:6.75rem;height:3rem;padding:0 1rem;text-decoration:none;transition:background-color .16s,box-shadow .16s,color .16s,transform .1s;display:inline-flex;transform:translateY(0);box-shadow:0 14px 36px #1717133d}a.admin-dashboard-shortcut:hover{background:var(--carbon);color:var(--limestone);box-shadow:0 16px 40px #1717134d}a.admin-dashboard-shortcut:focus-visible{background:var(--terracotta);box-shadow:0 0 0 1px var(--carbon), 0 0 0 4px var(--terracotta), 0 14px 36px #1717133d;color:var(--accent-foreground);outline:0}a.admin-dashboard-shortcut:active{background:var(--carbon);color:var(--limestone);transform:translateY(1px)}.admin-dashboard-shortcut-icon{color:currentColor;stroke:currentColor;flex:none;width:1.05rem;height:1.05rem}.admin-dashboard-shortcut-label{color:currentColor;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:700;line-height:1}.admin-auth-actions-form{display:flex}@media (max-width:47.999rem){.admin-auth-actions{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));gap:.4rem}.admin-auth-actions-form,.admin-auth-actions .admin-auth-action,a.admin-dashboard-shortcut{width:3rem;min-width:3rem;height:3rem;min-height:3rem}.admin-auth-actions .admin-auth-action,a.admin-dashboard-shortcut{justify-content:center;gap:0;padding:0}.admin-auth-action--logout span,.admin-auth-actions .admin-dashboard-shortcut-label,.admin-auth-actions .admin-auth-action-label,.admin-auth-actions .admin-auth-action-score{display:none}}.skip-link{background:var(--limestone);color:var(--carbon);z-index:100;padding:.8rem 1rem;font-size:.8rem;font-weight:700;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:1.05rem}.site-shell{background:radial-gradient(circle at 82% 9%, #a654371a, transparent 28rem), var(--limestone);width:100%;max-width:100%;overflow-x:hidden}.topbar{background:var(--carbon);z-index:20;color:var(--limestone);text-shadow:0 1px 24px #00000052;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.5rem clamp(1.25rem,3vw,3.5rem);display:grid;position:absolute;top:0;left:0;right:0}.wordmark{align-items:center;width:fit-content;line-height:1;display:inline-flex}.brand-logo{object-fit:contain;width:auto;max-width:5.5rem;display:block}.nav-links{align-items:center;gap:clamp(1.35rem,2.6vw,2.75rem);font-size:.92rem;font-weight:610;display:flex}.nav-links a,.nav-dropdown-trigger,.footer-links a,.nav-dropdown{position:relative}.nav-dropdown:after{content:"";height:1.1rem;position:absolute;top:100%;left:-1rem;right:-1rem}.nav-dropdown-trigger{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.nav-dropdown-trigger:before{content:"";border-top:.32rem solid;border-left:.25rem solid #0000;border-right:.25rem solid #0000;position:absolute;top:50%;right:-.85rem;transform:translateY(-35%)}.nav-dropdown-menu{color:var(--limestone);opacity:0;pointer-events:none;background:#171713f0;gap:.95rem;min-width:15rem;padding:1.1rem;transition:opacity .22s,transform .22s;display:grid;position:absolute;top:calc(100% + 1rem);left:-1.1rem;transform:translateY(.6rem)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown-menu a{width:fit-content;font-size:.82rem;line-height:1.25}.nav-links a:after,.nav-dropdown-trigger:after,.footer-links a:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .35s;position:absolute;bottom:-.3rem;left:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-dropdown-trigger:hover:after,.nav-dropdown:focus-within .nav-dropdown-trigger:after,.footer-links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{border-bottom:1px solid;justify-self:end;align-items:center;gap:.65rem;padding:.55rem 0;font-size:1.35rem;font-weight:650;display:flex}.nav-phone-icon{filter:invert();background:url(/phone-call.svg) 50%/contain no-repeat;flex:none;width:1.575rem;height:1.575rem;display:block}.mobile-menu-toggle,.mobile-menu-button,.mobile-menu,.mobile-call-cta,.mobile-header-call{display:none}.nav-cta svg,.button svg,.work-card-cta svg{transition:transform .3s}.nav-cta:hover svg,.button:hover svg,.work-card-cta:hover svg{transform:translate(.28rem)}.hero{color:var(--limestone);isolation:isolate;align-items:end;min-height:min(920px,100svh);padding:clamp(8rem,14vh,10rem) clamp(1.25rem,3vw,3.5rem) 3rem;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;background:linear-gradient(90deg,#0a0a08e0 0%,#0a0a088a 44%,#0a0a0833 100%),linear-gradient(#0a0a0861 0%,#0a0a081a 36%,#0a0a0894 100%);position:absolute;inset:0}.hero-visual{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-image,.card-image,.cta-image{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.cover-image{object-fit:cover;object-position:center}.hero-image{filter:saturate(.72)contrast(1.05);object-fit:cover;object-position:center;position:absolute;inset:0}.hero-visual:hover .hero-image{transform:scale(1.035)}.hero-visual>p{color:inherit;letter-spacing:.08em;text-transform:uppercase;z-index:2;margin:0;font-size:.7rem;position:absolute;bottom:1.3rem;left:1.4rem}.hero-copy{z-index:3;flex-direction:column;align-items:flex-start;width:100%;max-width:1280px;min-height:calc(min(920px,100svh) - clamp(11rem,20vh,13rem));display:flex;position:relative}.eyebrow{letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:.75rem;margin:0;font-size:.67rem;font-weight:650;display:flex}.eyebrow:before{content:"";background:currentColor;width:1.7rem;height:1px}.hero h1{letter-spacing:-.075em;text-wrap:balance;z-index:4;align-self:stretch;width:100%;max-width:1280px;margin:auto 0 0;font-size:clamp(4rem,8.6vw,7.8rem);font-weight:510;line-height:.84;position:relative}.hero h1>span{display:block}.hero-location{color:inherit;font:inherit;letter-spacing:inherit}h1 em,h2 em{color:var(--terracotta);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-bottom{justify-content:flex-start;align-self:flex-start;align-items:flex-end;gap:2rem;max-width:52rem;margin-top:2.7rem;margin-left:.35rem;display:flex}.hero-bottom>p{max-width:22rem;margin:0;font-size:clamp(.9rem,1.25vw,1.05rem);line-height:1.55}@keyframes hero-heading-enter{0%{transform:translateY(1rem)}to{transform:translate(0)}}@keyframes hero-actions-enter{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translate(0)}}@keyframes hero-image-enter{0%{transform:scale(1.035)}to{transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.hero h1{animation:.65s cubic-bezier(.16,1,.3,1) backwards hero-heading-enter}.hero-bottom{animation:.7s cubic-bezier(.16,1,.3,1) 80ms backwards hero-actions-enter}.hero-image{animation:.9s cubic-bezier(.16,1,.3,1) backwards hero-image-enter}}.button{letter-spacing:.015em;white-space:nowrap;justify-content:center;align-items:center;gap:1rem;min-height:3.6rem;padding:.9rem 1.35rem;font-size:.76rem;font-weight:630;display:inline-flex}.hero-bottom .button{border:1px solid #0000;min-width:15.25rem;font-size:.9rem;transition:background .25s,border-color .25s,color .25s}.hero-bottom .button svg,.hero-bottom .button-phone-icon{width:1.2rem;height:1.2rem}.hero-bottom .button:hover{border-color:var(--limestone)}.button-dark{background:var(--terracotta);color:#fff}.button-dark:hover{background:var(--carbon);color:var(--limestone)}.button-call{background:var(--limestone);color:var(--carbon)}.button-call:hover{background:var(--carbon);color:var(--limestone)}.button-phone-icon{background:url(/phone-call.svg) 50%/contain no-repeat;flex:none;width:1.05rem;height:1.05rem;transition:filter .25s,transform .3s;display:block}.button-call:hover .button-phone-icon{filter:invert()}.marquee{background:var(--carbon);color:var(--limestone);padding:1rem 0;transition:background-color .22s,color .22s;overflow:hidden}.marquee-track,.marquee-group{flex-shrink:0;align-items:center;display:flex}.marquee-group{gap:2.25rem;padding-right:2.25rem}.marquee-track{will-change:transform;width:max-content;animation:42s linear infinite marquee}.marquee-group span{white-space:nowrap;align-items:center;gap:2.25rem;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-style:normal;display:flex}@media (hover:hover){.marquee:hover{background:var(--limestone);color:var(--carbon)}.marquee:hover .marquee-track{animation-play-state:paused}}@keyframes marquee{to{transform:translate(-50%)}}.section-pad{padding:clamp(8rem, 14vw, 13rem) max(clamp(1.25rem, 5vw, 6rem), env(safe-area-inset-right)) clamp(8rem, 14vw, 13rem) max(clamp(1.25rem, 5vw, 6rem), env(safe-area-inset-left))}.services{background:#e6e0d6}.section-heading h2,.service-area-copy h2,.cta-content h2{letter-spacing:-.075em;margin:2.2rem 0 clamp(4rem,7vw,7rem);font-size:clamp(3.3rem,7vw,7rem);font-weight:500;line-height:.9}.services .section-heading h2{margin-bottom:clamp(2rem,4vw,3.5rem)}.service-grid{grid-auto-flow:dense;grid-template-rows:repeat(2,minmax(19rem,1fr));grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;display:grid}.service-card{min-height:19rem;position:relative;overflow:hidden}@keyframes service-card-enter{0%{opacity:.35;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.service-card{animation:linear both service-card-enter;animation-timeline:view();animation-range:entry 8% entry 42%}}}.service-primary{background:var(--carbon);color:var(--limestone);grid-area:span 2/span 7;grid-template-rows:auto 1fr;display:grid}.card-copy{z-index:2;padding:clamp(1.5rem,3vw,3rem);position:relative}.card-copy>span{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:.67rem}.card-copy h3{letter-spacing:-.055em;max-width:28rem;margin:2.5rem 0 1.25rem;font-size:clamp(1.7rem,3vw,3.4rem);font-weight:490;line-height:.98}.card-copy p{opacity:.72;max-width:28rem;margin:0;font-size:.86rem;line-height:1.55}.tile-image{filter:saturate(.7);min-height:25rem;position:relative;overflow:hidden}.service-primary:hover .tile-image,.image-card:hover .card-image{transform:scale(1.05)}.service-secondary{grid-area:span 1/span 5}.terracotta-card{background:var(--terracotta);color:#fff9ef}.bathroom-service-image{filter:saturate(.68)contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;overflow:hidden}.terracotta-card:after{content:"";z-index:1;background:linear-gradient(115deg,#140e0ad1,#140e0a4d);position:absolute;inset:0}.terracotta-card:hover .bathroom-service-image{transform:scale(1.045)}.work-card-cta{background:var(--carbon);color:var(--limestone);z-index:3;align-items:center;gap:.9rem;min-height:3.25rem;padding:.85rem 1.15rem;font-size:.76rem;font-weight:650;transition:background .3s,color .3s;display:inline-flex;position:absolute;bottom:clamp(1.5rem,3vw,2rem);right:clamp(1.5rem,3vw,2rem)}.work-card-cta:hover{background:var(--limestone);color:var(--carbon)}.tile-card-cta{background:var(--terracotta);left:clamp(1.5rem,3vw,2rem);right:auto}.image-card{color:#fff}.solution-image{position:absolute;inset:0;overflow:hidden}.image-card:after{content:"";background:linear-gradient(110deg,#0f0f0cb3,#0f0f0c08);position:absolute;inset:0}.overlay-copy h3{max-width:23rem;font-size:clamp(1.7rem,2.7vw,3rem)}.specialties{background:var(--carbon);color:var(--limestone)}.specialties-heading{grid-template-columns:1fr 2fr;display:grid}.specialties-heading h2{grid-column:1/-1}.home-projects-preview{flex-direction:column;display:flex}.home-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.home-project-tile{aspect-ratio:4/3;background:#24231f;display:block;position:relative;overflow:hidden}.home-project-tile:after{content:"";background:linear-gradient(#0000 52%,#0a0a08d1);transition:opacity .3s;position:absolute;inset:0}.home-project-tile .cover-image{filter:saturate(.72)contrast(1.04);transition:filter .5s,transform .8s cubic-bezier(.2,.7,.2,1)}.home-project-tile>span{color:var(--limestone);letter-spacing:-.025em;z-index:2;font-size:clamp(.78rem,1.1vw,.95rem);font-weight:580;line-height:1.2;position:absolute;bottom:1.1rem;left:1.2rem;right:1.2rem}.home-project-tile:hover .cover-image{filter:saturate(.92)contrast(1.02);transform:scale(1.035)}.home-projects-cta{background:var(--terracotta);color:#fff;align-self:flex-end;align-items:center;gap:.9rem;min-height:3.5rem;margin-top:2rem;padding:.9rem 1.25rem;font-size:.78rem;font-weight:650;transition:background .3s,color .3s,transform .25s;display:inline-flex}.home-projects-cta:hover{background:var(--limestone);color:var(--carbon);transform:translateY(-2px)}.home-projects-cta:active{transform:translateY(0)}.home-projects-cta svg{width:1rem;height:1rem;transition:transform .3s}.home-projects-cta:hover svg{transform:translate(.25rem)}.service-area{--section-x:clamp(1.25rem, 5vw, 6rem);--section-y:clamp(8rem, 14vw, 13rem);background:#e6e0d6;grid-template-columns:minmax(0,.88fr) minmax(22rem,1.12fr);align-items:stretch;gap:clamp(2rem,6vw,7rem);display:grid}.service-area-copy{align-self:start;max-width:43rem}.service-area-copy .eyebrow{color:var(--terracotta);margin-bottom:2.2rem}.service-area-copy h2{letter-spacing:-.075em;margin:0 0 2.2rem;font-size:clamp(3.3rem,7vw,7rem);font-weight:500;line-height:.9}.service-area-copy>p{max-width:31rem;margin:0 0 0 .75rem;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.65}.service-area-map{background:var(--carbon);color:var(--limestone);margin-bottom:calc(-1 * var(--section-y));margin-right:calc(-1 * var(--section-x));margin-top:calc(-1 * var(--section-y));align-self:stretch;min-height:100%;overflow:hidden}.map-frame{background:var(--bone);height:100%;min-height:100%;position:relative;overflow:hidden}.map-embed{opacity:0;pointer-events:none;border:0;width:100%;height:100%;transition:opacity .26s;display:block;position:absolute;inset:0}.map-embed.is-ready{opacity:1;pointer-events:auto}.map-placeholder{background:var(--bone);color:var(--carbon);text-align:center;align-content:center;justify-items:center;gap:1rem;padding:2rem;display:grid;position:absolute;inset:0}.map-placeholder p{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.map-placeholder button{background:var(--carbon);border:1px solid var(--carbon);color:var(--limestone);cursor:pointer;font:inherit;min-height:3rem;padding:.75rem 1.1rem;font-size:.78rem;font-weight:650;transition:background-color .18s,color .18s,transform .1s}.map-placeholder button:hover{color:var(--carbon);background:0 0}.map-placeholder button:active{transform:translateY(1px)}.area-tags{flex-wrap:wrap;gap:1px;margin-top:2.2rem;display:flex}.area-tags span{color:#171713b8;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap;background:#17171314;flex:0 auto;padding:.8rem .85rem;font-size:.65rem}.cta-section{color:#fff;grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:center;gap:clamp(3rem,8vw,9rem);min-height:48rem;display:grid;position:relative;overflow:hidden}.cta-image{filter:saturate(.65);position:absolute;inset:0;overflow:hidden}.cta-section:hover .cta-image{transform:scale(1.025)}.cta-overlay{background:radial-gradient(circle at 70% 30%,#0000,#0a0a0866),linear-gradient(90deg,#0b0b09de,#0b0b091f);position:absolute;inset:0}.cta-content{z-index:2;flex-direction:column;align-items:flex-start;min-height:30rem;display:flex;position:relative}.cta-content h2{max-width:1000px;margin-bottom:2rem}.cta-content>p:not(.eyebrow){max-width:31rem;margin:0 0 2.5rem;font-size:.95rem;line-height:1.6}.button-light{background:var(--limestone);color:var(--carbon)}.button-light:hover{background:var(--terracotta);color:#fff}.contact-form{background:var(--limestone);color:var(--carbon);z-index:2;flex-direction:column;align-self:center;min-width:0;max-width:100%;padding:clamp(2rem,4vw,3.5rem);display:flex;position:relative}.form-heading{border-bottom:1px solid var(--line);margin-bottom:2.2rem;padding-bottom:1.8rem}.form-heading p{letter-spacing:-.055em;margin:0 0 .6rem;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500}.form-heading span{color:#1717139e;font-size:.78rem;line-height:1.5}.contact-form label{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.64rem;font-weight:650}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);color:var(--carbon);font:inherit;background:0 0;border-radius:0;outline:none;width:100%;min-width:0;max-width:100%;margin-bottom:1.8rem;padding:.5rem 0 .9rem;font-size:1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#1717139e}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--terracotta)}.contact-form textarea{resize:vertical;min-height:6rem}.contact-form input:disabled,.contact-form textarea:disabled{cursor:wait;opacity:.65}.contact-form button{background:var(--terracotta);color:#fff;cursor:pointer;font:inherit;border:0;justify-content:space-between;align-items:center;gap:1rem;min-height:3.7rem;margin-top:.4rem;padding:.9rem 1.2rem;font-size:.76rem;font-weight:650;transition:background .3s;display:flex}.contact-form button:hover:not(:disabled){background:var(--carbon);color:var(--limestone)}.contact-form button:disabled{cursor:wait;opacity:.7}.contact-form button svg{transition:transform .3s}.contact-form button:hover svg{transform:translate(.28rem)}.form-privacy{color:#171713ad;margin:.1rem 0 1.1rem;font-size:.68rem;line-height:1.55}.form-privacy a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.form-status{border-left:2px solid;margin:1rem 0 0;padding-left:.75rem;font-size:.75rem;line-height:1.5}.form-status-submitting{color:#1717139e}.form-status-success{color:#326044}.form-status-error{color:#9c3e2b}.privacy-page{background:var(--limestone);color:var(--carbon);min-height:100vh}.privacy-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,5vw,6rem);display:flex}.privacy-nav>a:last-child{text-transform:uppercase;font-size:.75rem;font-weight:650}.privacy-wordmark{letter-spacing:-.06em;font-size:1.3rem;font-weight:750}.privacy-content{max-width:58rem;margin:0 auto;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,4rem)}.privacy-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:650}.privacy-content h1{letter-spacing:-.075em;margin:1rem 0 2.5rem;font-size:clamp(3.6rem,9vw,7.5rem);line-height:.88}.privacy-intro{max-width:42rem;margin:0 0 5rem;font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.45}.privacy-content section{border-top:1px solid var(--line);grid-template-columns:minmax(10rem,.7fr) 1.3fr;gap:1.5rem;padding:2.25rem 0;display:grid}.privacy-content h2{margin:0;font-size:1rem}.privacy-content section p{color:#171713b3;margin:0;line-height:1.75}.privacy-content section a{color:var(--terracotta);text-underline-offset:.18em;text-decoration:underline}.privacy-updated{color:#1717137a;margin:3rem 0 0;font-size:.7rem}.legal-page{background:linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), #1717130f calc(100% - 1px)), var(--limestone);color:var(--carbon);background-size:25% 100%,auto;min-height:100vh}.legal-header{background:var(--carbon);color:var(--limestone);justify-content:space-between;align-items:center;min-height:6rem;padding:1.25rem clamp(1.25rem,5vw,6rem);display:flex}.legal-brand .brand-logo{max-width:5.75rem;height:2.4rem}.legal-navigation{align-items:center;gap:clamp(1rem,2.5vw,2.5rem);font-size:.75rem;font-weight:650;display:flex}.legal-navigation a{position:relative}.legal-navigation a[aria-current=page]:after{background:var(--terracotta);content:"";height:2px;position:absolute;bottom:-.65rem;left:0;right:0}.legal-navigation .legal-estimate-link{text-transform:uppercase;border:1px solid #f1eee773;min-height:2.8rem;padding:.88rem 1rem}.legal-navigation .legal-estimate-link:hover{background:var(--limestone);color:var(--carbon)}.legal-main{overflow:hidden}.legal-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:end;gap:clamp(3rem,8vw,10rem);max-width:88rem;min-height:clamp(30rem,58vw,43rem);margin:0 auto;padding:clamp(6rem,11vw,11rem) clamp(1.25rem,5vw,6rem) clamp(4rem,7vw,6.5rem);display:grid}.legal-eyebrow,.legal-index-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:650}.legal-title-block h1{letter-spacing:-.08em;max-width:8ch;margin:0;font-size:clamp(4.4rem,9.5vw,9.2rem);font-weight:540;line-height:.82}.legal-summary{border-left:2px solid var(--terracotta);padding-left:clamp(1.4rem,3vw,2.5rem)}.legal-summary>p:first-child{letter-spacing:-.02em;max-width:34rem;margin:0;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.55}.legal-updated{color:#17171385;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin:2rem 0 0;font-size:.66rem}.legal-layout{grid-template-columns:minmax(13rem,.42fr) minmax(0,1.58fr);gap:clamp(3rem,8vw,9rem);max-width:88rem;margin:0 auto;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,6rem);display:grid}.legal-index{align-self:start;position:sticky;top:2rem}.legal-index-label{border-bottom:1px solid var(--line);padding-bottom:1rem}.legal-index ol{margin:0;padding:0;list-style:none}.legal-index li{border-bottom:1px solid var(--line)}.legal-index a{color:#171713ad;grid-template-columns:1.5rem 1fr;align-items:baseline;gap:.85rem;padding:.9rem 0;font-size:.75rem;line-height:1.35;display:grid}.legal-index a:hover{color:var(--terracotta)}.legal-index a span{font-family:var(--font-geist-mono), monospace;font-size:.58rem}.legal-content>section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);padding:clamp(2.5rem,5vw,4.5rem) 0;scroll-margin-top:2rem;display:grid}.legal-content>section:first-child{padding-top:0}.legal-section-copy h2{letter-spacing:-.055em;margin:0 0 1.65rem;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:540;line-height:1}.legal-section-copy p,.legal-section-copy li{color:#171713b3;max-width:47rem;font-size:clamp(.94rem,1.2vw,1.05rem);line-height:1.8}.legal-section-copy p{margin:0}.legal-section-copy p+p,.legal-section-copy p+ul{margin-top:1.25rem}.legal-section-copy ul{margin-bottom:0;padding-left:1.2rem}.legal-section-copy li+li{margin-top:.45rem}.legal-section-copy a{color:var(--terracotta);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.legal-contact{background:var(--terracotta);color:#fff;grid-template-columns:1.35fr .65fr;align-items:end;gap:2rem;max-width:76rem;margin:0 auto clamp(4rem,8vw,8rem);padding:clamp(2.5rem,6vw,5rem);display:grid}.legal-contact h2{letter-spacing:-.07em;margin:1rem 0 0;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:530;line-height:.9}.legal-contact-actions{justify-items:end;gap:1rem;display:grid}.legal-contact-actions a{border-bottom:1px solid #ffffff8c;padding-bottom:.45rem;font-size:clamp(.86rem,1.4vw,1rem)}.legal-footer{background:var(--carbon);color:var(--limestone);grid-template-columns:1.4fr 1fr;align-items:end;gap:2rem;padding:3.5rem clamp(1.25rem,5vw,6rem) 2rem;display:grid}.legal-footer p{max-width:27rem;margin:0;font-size:.86rem;line-height:1.5}.legal-footer nav{justify-self:end;gap:1.5rem;font-size:.75rem;display:flex}.legal-footer nav a:hover{color:var(--terracotta)}.legal-footer small{color:#f1eee77a;border-top:1px solid #ffffff2e;grid-column:1/-1;padding-top:1.3rem;font-size:.64rem}.estimate-result{max-width:64rem}.estimate-result-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.estimate-result-actions .button{width:fit-content}.estimate-result-actions>a:last-child{color:var(--terracotta);text-underline-offset:.18em;font-size:.78rem;font-weight:650;text-decoration:underline}footer{background:var(--carbon);color:var(--limestone);grid-template-columns:1fr 1.4fr 1fr;align-items:start;gap:2rem;padding:4rem clamp(1.25rem,5vw,6rem) 2rem;display:grid}.footer-mark .brand-logo{max-width:7rem;height:3rem}footer>p{max-width:22rem;margin:0;font-size:.85rem;line-height:1.55}.footer-links{flex-wrap:wrap;justify-self:end;gap:1.8rem;font-size:.76rem;display:flex}footer small{color:#f1eee7ad;border-top:1px solid #ffffff2e;grid-column:1/-1;margin-top:3rem;padding-top:1.4rem;font-size:.65rem}@media (max-width:900px){.legal-hero{grid-template-columns:1fr;gap:3rem}.legal-summary{max-width:36rem}.legal-layout{grid-template-columns:12rem minmax(0,1fr);gap:3rem}.legal-contact{margin-left:1.25rem;margin-right:1.25rem}.topbar{padding:max(.75rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) .75rem max(1.25rem, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;position:fixed}.topbar .brand-logo{max-width:5.1rem;margin-top:1rem}.nav-links,.nav-cta{display:none}.mobile-menu-toggle{opacity:0;pointer-events:none;width:1px;height:1px;display:block;position:absolute}.mobile-menu-button{color:var(--limestone);cursor:pointer;background:#f1eee71f;flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:.28rem;width:2.75rem;height:2.75rem;display:inline-flex}.mobile-header-call{background:var(--terracotta);color:#fff9ef;height:2.75rem;text-shadow:none;justify-content:center;place-self:center end;align-items:center;width:2.75rem;transition:background .18s,transform .12s;display:inline-flex}.mobile-header-call:hover{background:var(--limestone);color:var(--carbon)}.mobile-header-call:active{transform:translateY(1px)}.mobile-header-call .nav-phone-icon{filter:invert();width:1.2rem;height:1.2rem}.mobile-header-call:hover .nav-phone-icon{filter:none}.mobile-menu-button span{background:currentColor;width:1.25rem;height:1px;transition:transform .24s,opacity .24s;display:block}.mobile-menu-toggle:checked+.mobile-menu-button span:first-child{transform:translateY(.29rem)rotate(45deg)}.mobile-menu-toggle:checked+.mobile-menu-button span:nth-child(2){opacity:0}.mobile-menu-toggle:checked+.mobile-menu-button span:nth-child(3){transform:translateY(-.29rem)rotate(-45deg)}.mobile-menu{color:var(--limestone);opacity:0;pointer-events:none;background:#171713f5;grid-column:1/-1;gap:1rem;max-height:0;margin-top:0;padding:0 1.15rem;transition:max-height .28s,opacity .22s,padding .28s,transform .22s;display:grid;overflow:hidden;transform:translateY(-.5rem)}.mobile-menu-toggle:checked~.mobile-menu{opacity:1;pointer-events:auto;max-height:28rem;margin-top:.75rem;padding:1.15rem;transform:translateY(0)}.mobile-menu a{border-bottom:1px solid #f1eee724;padding:.15rem 0 .85rem;font-size:1rem;font-weight:620}.mobile-call-cta{background:var(--terracotta);bottom:max(.75rem, env(safe-area-inset-bottom));color:#fff9ef;left:max(.75rem, env(safe-area-inset-left));min-height:3.75rem;right:max(.75rem, env(safe-area-inset-right));text-shadow:none;white-space:nowrap;z-index:30;border:1px solid #fff9ef47;justify-content:center;align-items:center;gap:.7rem;padding:.85rem 1.1rem;font-size:.88rem;font-weight:700;transition:background .18s,transform .12s;display:flex;position:fixed;box-shadow:0 14px 34px #17171347}.mobile-call-cta:hover{background:var(--carbon)}.mobile-call-cta:active{transform:translateY(1px)}.mobile-call-cta .button-phone-icon{filter:invert();width:1.15rem;height:1.15rem}.site-shell:has(.contact-form :focus) .mobile-call-cta{display:none}.mobile-call-number{border-left:1px solid #fff9ef52;padding-left:.7rem;font-size:.78rem;font-weight:560}.site-shell footer,.legal-footer{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.privacy-page{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.hero{min-height:720px;padding-bottom:3.25rem;padding-top:calc(7.5rem + env(safe-area-inset-top));align-items:end}.hero-image{object-position:58% center}.hero-copy{min-height:0;margin-bottom:clamp(1.25rem,4vh,2.5rem);padding-top:0}.hero h1{margin:0;font-size:clamp(3.4rem,9vw,4.8rem);line-height:.88}.hero-bottom{flex-flow:row;justify-content:flex-start;align-items:center;max-width:34rem;margin-left:.2rem}.service-grid{grid-template-rows:repeat(2,minmax(17rem,1fr))}.specialties-heading{display:block}.service-area{grid-template-columns:1fr}.service-area-copy>p{margin-left:.5rem}.service-area-map{min-height:28rem;margin:0}.map-frame{min-height:28rem}.cta-section{grid-template-columns:1fr}.cta-content{min-height:0}.contact-form{width:min(100%,32rem)}}@media (max-width:640px){.legal-header{align-items:flex-start;gap:1.5rem;min-height:auto}.legal-brand .brand-logo{max-width:4.75rem;height:2rem}.legal-navigation{flex-direction:column;align-items:flex-end;gap:.85rem}.legal-navigation .legal-estimate-link{text-transform:none;border:0;min-height:auto;padding:0}.legal-navigation a[aria-current=page]:after{bottom:-.25rem}.legal-hero{min-height:31rem;padding-top:6rem;padding-bottom:3.5rem}.legal-title-block h1{font-size:clamp(4rem,21vw,6.2rem)}.legal-layout{padding-top:4.5rem;padding-bottom:5rem;display:block}.legal-index{display:none}.legal-content>section{grid-template-columns:minmax(0,1fr)}.legal-contact{grid-template-columns:1fr;align-items:start}.legal-contact-actions{justify-items:start}.legal-footer{grid-template-columns:1fr}.legal-footer nav{justify-self:start}.nav-cta{font-size:1.05rem}.hero{min-height:640px;padding:calc(7.25rem + env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) 2.5rem max(1.25rem, env(safe-area-inset-left));align-items:end}.hero:before{background:linear-gradient(#0a0a08b8 0%,#0a0a0857 48%,#0a0a087a 100%),linear-gradient(90deg,#0a0a08b8 0%,#0a0a082e 100%)}.hero-image{object-position:60% center}.hero-copy{min-height:0;margin-bottom:clamp(.75rem,3vh,1.5rem);padding-top:0}.hero h1{margin:0;font-size:clamp(2.35rem,10vw,3.4rem);line-height:.92}.hero-bottom{gap:.5rem;width:100%;max-width:100%;margin-left:0}.hero-bottom>p{font-size:.8rem}.hero-bottom .button{flex:1 1 0;gap:.4rem;min-width:0;min-height:3.1rem;padding:.66rem .34rem;font-size:.7rem}.hero-bottom .button svg,.hero-bottom .button-phone-icon{width:1rem;height:1rem}.button{min-height:3.2rem}.section-pad{padding-top:7.5rem;padding-bottom:7.5rem}.section-heading h2,.service-area-copy h2,.cta-content h2{font-size:3.2rem;line-height:.94}.service-grid{flex-direction:column;display:flex}.service-primary{min-height:42rem}.tile-image{min-height:21rem}.service-secondary{min-height:19rem}.home-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project-tile{aspect-ratio:3/4}.home-project-tile>span{bottom:.8rem;left:.8rem;right:.8rem}.home-projects-cta{justify-content:space-between;align-self:stretch}.service-area-map,.map-frame{min-height:21rem}.area-tags span{flex-basis:100%}.cta-section.section-pad{min-height:0;padding:1rem max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));gap:0}.cta-content{display:none}.cta-overlay{background:#0b0b0994}.contact-form{width:100%;padding:1.25rem}.form-heading{margin-bottom:1.25rem;padding-bottom:1rem}.contact-form input,.contact-form textarea{scroll-margin-block:7rem;line-height:1.5}.contact-form input{min-height:3rem}.contact-form textarea{min-height:7rem}footer{padding-bottom:max(2rem, env(safe-area-inset-bottom));padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right));grid-template-columns:1fr}.footer-links{justify-self:start}}@media (max-width:380px){.mobile-call-number{display:none}}@media (max-width:640px){.privacy-content section{grid-template-columns:1fr;gap:.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dark{--background:#171713;--foreground:#f1eee7;--card:#211f1b;--card-foreground:#f1eee7;--popover:#211f1b;--popover-foreground:#f1eee7;--primary:#f1eee7;--primary-foreground:#171713;--secondary:#34322d;--secondary-foreground:#f1eee7;--muted:#34322d;--muted-foreground:#c2bdb4;--accent:#a65437;--accent-foreground:#fff9ef;--destructive:#d9785b;--border:#f1eee72e;--input:#f1eee73d;--ring:#c56c4c;--chart-1:#c56c4c;--chart-2:#8e977f;--chart-3:#f1eee7;--chart-4:#aaa195;--chart-5:#6f685f;--sidebar:#211f1b;--sidebar-foreground:#f1eee7;--sidebar-primary:#f1eee7;--sidebar-primary-foreground:#171713;--sidebar-accent:#a65437;--sidebar-accent-foreground:#fff9ef;--sidebar-border:#f1eee72e;--sidebar-ring:#c56c4c}
