@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-vietnamese-600-normal.Ipewt4hn.woff2) format("woff2"),url(/_astro/bricolage-grotesque-vietnamese-600-normal.BppAn7jL.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-ext-600-normal.CN5JKkBm.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-ext-600-normal.DF26P3Q7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-600-normal.nxTgbNFE.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-600-normal.Bw0J83-2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-vietnamese-700-normal.BLYPkJbo.woff2) format("woff2"),url(/_astro/bricolage-grotesque-vietnamese-700-normal.CHrFuVHU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-ext-700-normal.fBkt-7fi.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-ext-700-normal.BXpPFNFj.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-700-normal.gtcctNPv.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-700-normal.DvJDmrLu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-vietnamese-800-normal.RJtJa6zl.woff2) format("woff2"),url(/_astro/bricolage-grotesque-vietnamese-800-normal.DJ4hCX8l.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-latin-ext-800-normal.BimIDUhy.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-ext-800-normal.CkoBqIJM.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-latin-800-normal.J50vIsBe.woff2) format("woff2"),url(/_astro/bricolage-grotesque-latin-800-normal.Br4b-5gk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-ext-400-normal.BwJdxs7r.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-400-normal.BqOlcezh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-400-normal.DjhbW-4D.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-400-normal.DkNBMcYd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-ext-400-normal.CpIwTHMM.woff2) format("woff2"),url(/_astro/source-sans-3-greek-ext-400-normal.CN4VBqpr.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-400-normal.DZReXJla.woff2) format("woff2"),url(/_astro/source-sans-3-greek-400-normal.DyO2Yfz5.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-vietnamese-400-normal.CwtaIDr2.woff2) format("woff2"),url(/_astro/source-sans-3-vietnamese-400-normal.eMQk7hmk.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-normal.UNsKFIBq.woff2) format("woff2"),url(/_astro/source-sans-3-latin-ext-400-normal.D5P-Ud2J.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2) format("woff2"),url(/_astro/source-sans-3-latin-400-normal.RR2C27NP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-ext-600-normal.6AhwUnSr.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-600-normal.Cjpx_pje.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-600-normal.BnFu5nHC.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-600-normal.CloKWf-q.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-ext-600-normal.DynePNDL.woff2) format("woff2"),url(/_astro/source-sans-3-greek-ext-600-normal.CnpzyT-3.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-600-normal.BSO157bq.woff2) format("woff2"),url(/_astro/source-sans-3-greek-600-normal.B42bzTIr.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-vietnamese-600-normal.B2sTNYey.woff2) format("woff2"),url(/_astro/source-sans-3-vietnamese-600-normal.BzH4Q14_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-ext-600-normal.AEyhgUpm.woff2) format("woff2"),url(/_astro/source-sans-3-latin-ext-600-normal.D2VZAM8_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2) format("woff2"),url(/_astro/source-sans-3-latin-600-normal.Ck0n4g8U.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-ext-700-normal.BhUSqjb8.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-700-normal.COA7LiPB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-700-normal.CIuudVLB.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-700-normal.D_p3L75o.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-ext-700-normal.Dd6uIcuy.woff2) format("woff2"),url(/_astro/source-sans-3-greek-ext-700-normal.KTP46hTS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-700-normal.C8Tp2qRF.woff2) format("woff2"),url(/_astro/source-sans-3-greek-700-normal.C-sAg5NG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-vietnamese-700-normal.Bgamivog.woff2) format("woff2"),url(/_astro/source-sans-3-vietnamese-700-normal.W-J7ohm4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-ext-700-normal.6Xi0A2be.woff2) format("woff2"),url(/_astro/source-sans-3-latin-ext-700-normal.C1ecyfgK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2) format("woff2"),url(/_astro/source-sans-3-latin-700-normal.B-h9tW5h.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--door: #b51d2c;--door-deep: #8f1522;--siding: #2f363c;--siding-2: #262c31;--tape: #5ba3df;--tape-edge: #4a92cf;--trim: #ffffff;--canvas: #f5f0e7;--canvas-2: #ebe3d5;--line: #ddd3c2;--ink: #1d2125;--ink-2: #41474d;--muted: #596066;--on-dark: #ffffff;--on-dark-2: #c9d0d6;--line-dark: #48525a;--font-head: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;--font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--wrap: 72rem;--gutter: clamp(1.25rem, 5vw, 3rem);--section-y: clamp(3.5rem, 8vw, 6.5rem);--radius: 10px;--radius-card: 14px;--shadow: 0 1px 2px rgba(29, 33, 37, .06), 0 14px 32px rgba(29, 33, 37, .1);--header-h: 66px;--rev-dist: 18px;--rev-dur: .65s;--rev-ease: cubic-bezier(.25, .7, .3, 1);--hero-rise: 16px;--hero-dur: .75s;--tape-clip: polygon(0 8%, 3% 0, 6% 10%, 9% 0, 91% 0, 94% 12%, 97% 0, 100% 9%, 100% 92%, 97% 100%, 94% 88%, 91% 100%, 9% 100%, 6% 90%, 3% 100%, 0 91%);--cut-in: linear-gradient(var(--door), var(--door)) top / 100% 4px no-repeat, linear-gradient(var(--line), var(--line)) 0 8px / 100% 1px no-repeat;--siding-lap: repeating-linear-gradient(180deg, transparent 0 30px, rgba(0,0,0,.12) 30px 32px, rgba(255,255,255,.035) 32px 33px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;background:var(--trim);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.04;letter-spacing:-.02em;margin:0 0 .4em;font-weight:800}h3,h4{font-weight:700;letter-spacing:-.01em}p{margin:0 0 1rem}a{color:var(--door);text-underline-offset:3px;font-weight:600}a:hover{color:var(--ink)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--tape-edge);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:.5rem;top:-3.5rem;z-index:200;background:var(--siding);color:#fff;padding:.6rem 1rem;border-radius:var(--radius);transition:top .15s ease}.skip-link:focus{top:.5rem;color:#fff}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.tape{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--tape);background-image:linear-gradient(180deg,#ffffff2e,#fff0 40%,#0000000d);clip-path:var(--tape-clip);padding:.38rem 1.15rem .36rem;transform:rotate(-1.6deg);margin:0 0 1.1rem}.tape--r{transform:rotate(1.4deg)}.section-head{max-width:46rem;margin-bottom:clamp(2rem,5vw,3rem)}.section-head h2{font-size:clamp(2.2rem,5.6vw,3.5rem);color:var(--ink)}.section-head p:not(.tape){color:var(--ink-2);font-size:1.1rem;margin-bottom:0}[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-head);font-size:1.05rem;font-weight:700;letter-spacing:0;line-height:1;padding:.95rem 1.5rem;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;min-height:48px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn--primary{color:#fff;background:var(--siding);border-color:var(--siding)}.btn--primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}.btn--estimate{background:var(--door);color:#fff;border-color:var(--door);box-shadow:0 8px 20px #b51d2c38}.btn--estimate:hover{background:var(--door-deep);border-color:var(--door-deep);color:#fff}.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--outline:hover{background:var(--ink);color:#fff}.btn--ondark{background:transparent;color:#fff;border-color:#fff9}.btn--ondark:hover{background:#fff;color:var(--siding);border-color:#fff}.btn svg{width:1.15em;height:1.15em;flex:none}.u-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.js-anim .section-head,.js-anim .service-card,.js-anim .gallery-grid__item,.js-anim .rating-card,.js-anim .contact__main,.js-anim .contact__facts{opacity:0;transform:translateY(var(--rev-dist));transition:opacity var(--rev-dur) var(--rev-ease),transform var(--rev-dur) var(--rev-ease);transition-delay:var(--d, 0ms);will-change:opacity,transform}.js-anim .is-in{opacity:1;transform:none}.js-anim .hero__panel>*,.js-anim .hero__media{opacity:0;transform:translateY(var(--hero-rise));transition:opacity var(--hero-dur) var(--rev-ease),transform var(--hero-dur) var(--rev-ease)}.js-anim.is-loaded .hero__panel>*,.js-anim.is-loaded .hero__media{opacity:1;transform:none}.js-anim.is-loaded .hero__panel>.tape{transform:rotate(-1.6deg)}.js-anim.is-loaded .hero__panel>*:nth-child(1){transition-delay:.05s}.js-anim.is-loaded .hero__panel>*:nth-child(2){transition-delay:.12s}.js-anim.is-loaded .hero__panel>*:nth-child(3){transition-delay:.19s}.js-anim.is-loaded .hero__panel>*:nth-child(4){transition-delay:.26s}.js-anim.is-loaded .hero__panel>*:nth-child(5){transition-delay:.33s}.js-anim.is-loaded .hero__media{transition-delay:.1s}.wordmark{display:inline-flex;align-items:center;gap:.65rem;line-height:1}.wordmark__tape{width:1.9rem;height:.85rem;flex:none;background:var(--tape);clip-path:var(--tape-clip);transform:rotate(-14deg);box-shadow:inset 0 -2px 0 var(--tape-edge)}.wordmark__text{display:flex;flex-direction:column;gap:.18rem}.wordmark__top{font-family:var(--font-head);font-weight:800;font-size:1.42rem;letter-spacing:-.03em;color:var(--ink)}.wordmark__sub{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--door)}.wordmark--dark .wordmark__top{color:#fff;font-size:1.7rem}.wordmark--dark .wordmark__sub{color:var(--on-dark-2)}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--trim),transparent 4%);backdrop-filter:saturate(1.1) blur(8px)}.site-header:after{content:"";display:block;height:9px;background:var(--cut-in)}.site-header__inner{display:flex;align-items:center;gap:1.25rem;min-height:var(--header-h)}.brand{display:inline-flex;align-items:center;margin-right:auto;text-decoration:none}.site-nav{display:flex;align-items:center}.nav-list{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}.nav-list a{font-family:var(--font-head);font-weight:600;font-size:1rem;color:var(--ink-2);text-decoration:none;padding-block:.3rem;border-bottom:2px solid transparent}.nav-list a:hover{color:var(--ink);border-bottom-color:var(--door)}.header-call{padding:.6rem 1.1rem;font-size:.98rem;min-height:44px}.header-call svg{width:1.05em;height:1.05em}.nav-toggle{display:none}.hero{background:var(--canvas);padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,7vw,5.5rem)}.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.hero__panel{order:2}.hero__title{font-size:clamp(2.7rem,5.4vw,4.35rem);color:var(--ink);margin:0 0 1.1rem}.hero__title .l2{display:block;color:var(--door);white-space:nowrap}.hero__lede{color:var(--ink-2);font-size:clamp(1.08rem,2vw,1.22rem);max-width:32rem;margin-bottom:1.6rem}.hero__phone{display:inline-flex;flex-direction:column;gap:.2rem;text-decoration:none;margin-bottom:1.4rem}.hero__phone-label{font-family:var(--font-head);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.hero__phone-num{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,4.8vw,2.8rem);letter-spacing:-.02em;color:var(--ink);line-height:1}.hero__phone-num svg{width:.72em;height:.72em;color:var(--door)}.hero__phone:hover .hero__phone-num{color:var(--door)}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem}.hero__media{order:1;position:relative;margin:0}.hero__media img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-card);box-shadow:var(--shadow);border:6px solid var(--trim)}.hero__tape{position:absolute;z-index:2;width:7.5rem;height:1.9rem;background:var(--tape);clip-path:var(--tape-clip);background-image:linear-gradient(180deg,#ffffff38,#fff0 45%,#0000000f);opacity:.94}.hero__tape--tl{top:-.7rem;left:-1.6rem;transform:rotate(-32deg)}.hero__tape--br{bottom:-.6rem;right:-1.5rem;transform:rotate(-30deg)}.hero__badge{position:absolute;left:1.25rem;bottom:1.25rem;z-index:3}.hero__badge a{display:inline-flex;align-items:center;gap:.55rem;background:var(--trim);color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;padding:.55rem .95rem;border-radius:999px;box-shadow:var(--shadow)}.hero__badge a:hover{color:var(--door)}.hero__badge-stars{color:var(--door);letter-spacing:1px}.reviews{background:var(--siding);background-image:var(--siding-lap);color:var(--on-dark);padding-block:clamp(2.25rem,5vw,3.25rem)}.reviews__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap}.rating-card{display:flex;align-items:center;gap:clamp(1.1rem,3.5vw,2.25rem)}.rating-card__score{margin:0;font-family:var(--font-head);line-height:.9;color:#fff;display:flex;flex-direction:column;align-items:center}.rating-card__score strong{font-size:clamp(3.6rem,9vw,5.25rem);font-weight:800;letter-spacing:-.04em}.rating-card__score span{color:var(--on-dark-2);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-top:.3rem}.rating-card__stars{color:#ff8a94;font-size:1.35rem;letter-spacing:3px;margin:0 0 .35rem}.rating-card__body h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.2rem);margin:0;max-width:22ch}.services{background:var(--trim)}.section-head--split{max-width:none;display:grid;grid-template-columns:1.3fr 1fr;gap:1rem 3rem;align-items:end}.section-head--split h2{margin-bottom:0}.service-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.85rem,2vw,1.25rem)}.service-card{min-width:0;display:flex;flex-direction:column;gap:.6rem;background:var(--trim);border:1px solid var(--line);border-radius:var(--radius-card);padding:clamp(1.1rem,2.4vw,1.5rem);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--door)}.service-card__icon{width:3rem;height:3rem;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--door) 10%,var(--trim));color:var(--door)}.service-card__icon svg{width:1.6rem;height:1.6rem}.service-card__name{font-size:1.18rem;color:var(--ink);line-height:1.12;margin:.15rem 0 0}.service-card__desc{color:var(--muted);font-size:.97rem;line-height:1.45;margin:0}.gallery{background:var(--canvas)}.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-grid--few{grid-template-columns:repeat(2,minmax(0,1fr));max-width:48rem;margin-inline:auto}.gallery-grid__item{min-width:0}.gallery-thumb{display:block;width:100%;padding:0;border:5px solid var(--trim);cursor:pointer;background:var(--canvas-2);overflow:hidden;border-radius:var(--radius);aspect-ratio:4 / 3;box-shadow:0 1px 2px #1d212514}.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px;transition:transform .45s var(--rev-ease)}.gallery-thumb:hover img{transform:scale(1.04)}.lightbox{border:none;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%;margin:0}.lightbox::backdrop{background:#16191cf0}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox__figure{margin:0;padding:clamp(1rem,5vw,3rem)}.lightbox__img{max-width:min(94vw,1200px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);border:5px solid var(--trim)}.lightbox__close,.lightbox__nav{position:fixed;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.45);width:3rem;height:3rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox__close svg,.lightbox__nav svg{width:1.4rem;height:1.4rem}.lightbox__close{top:1rem;right:1rem}.lightbox__nav--prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox__nav--next{right:1rem;top:50%;transform:translateY(-50%)}.lightbox__close:hover,.lightbox__nav:hover{background:var(--door);color:#fff;border-color:var(--door)}.contact{background:var(--trim);position:relative}.contact:before{content:"";position:absolute;top:0;left:0;right:0;height:9px;background:var(--cut-in)}.contact__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}.contact__title{font-size:clamp(2.2rem,5.4vw,3.4rem);color:var(--ink);margin-bottom:.6rem}.contact__lede{color:var(--ink-2);font-size:1.12rem;max-width:34rem;margin-bottom:1.5rem}.contact__phone{display:inline-flex;flex-direction:column;gap:.2rem;text-decoration:none;margin-bottom:1.3rem}.contact__phone-label{font-family:var(--font-head);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact__phone-num{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-head);font-weight:800;font-size:clamp(2.1rem,5.4vw,3rem);letter-spacing:-.02em;color:var(--ink);line-height:1}.contact__phone-num svg{width:.72em;height:.72em;color:var(--door)}.contact__phone:hover .contact__phone-num{color:var(--door)}.contact__actions{display:flex;flex-wrap:wrap;gap:.8rem}.contact__facts{margin:0;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-card);padding:clamp(1.4rem,3.5vw,2.1rem);display:grid;gap:1.1rem}.contact__facts>div+div{padding-top:1.1rem;border-top:1px dashed var(--line)}.contact__facts dt{font-family:var(--font-head);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-weight:700}.contact__facts dd{margin:0;color:var(--ink);font-weight:600;font-size:1.05rem}.contact__facts dd a{color:var(--ink);text-decoration-color:var(--door);text-decoration-thickness:2px}.contact__facts dd a:hover{color:var(--door)}.site-footer{background:var(--siding);background-image:var(--siding-lap);color:var(--on-dark-2);padding-block:clamp(2.5rem,6vw,3.5rem);position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--door)}.site-footer__inner{display:flex;flex-wrap:wrap;gap:1.75rem 2.5rem;justify-content:space-between;align-items:center}.site-footer__meta{margin:.8rem 0 0;font-size:.95rem}.site-footer__reg{margin:.25rem 0 0;font-size:.88rem;letter-spacing:.03em;color:var(--on-dark-2);font-family:var(--font-head)}.site-footer__contact{display:grid;gap:.4rem;text-align:right}.site-footer__contact a{color:#fff;font-weight:700;text-decoration:none;font-size:1.15rem}.site-footer__contact a.site-footer__addr{font-weight:400;font-size:.95rem;color:var(--on-dark-2)}.site-footer__contact a:hover{color:#fff;text-decoration:underline}.site-footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;margin-top:2rem;padding-top:1.25rem;font-size:.85rem;background:linear-gradient(var(--line-dark),var(--line-dark)) top center / calc(100% - 2 * var(--gutter)) 1px no-repeat}.site-footer__legal p{margin:0}.site-footer__legal a{color:var(--on-dark-2)}.site-footer__legal a:hover{color:#fff}.call-bar{display:none}@media(max-width:1023px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-list{gap:1.1rem}}@media(max-width:767px){:root{--section-y: clamp(2.75rem, 11vw, 3.5rem);--gutter: 1.15rem;--rev-dist: 12px;--header-h: 60px}.wordmark__top{font-size:1.2rem}.wordmark__sub{font-size:.62rem;letter-spacing:.16em}.wordmark__tape{width:1.5rem;height:.7rem}.site-header__inner{gap:.6rem}.header-call{padding:.5rem;width:44px;font-size:0;gap:0}.header-call svg{width:1.25rem;height:1.25rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:2px solid var(--ink);border-radius:50%;cursor:pointer;order:3}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";display:block;width:1.05rem;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}.nav-toggle__bars{position:relative}.nav-toggle__bars:before{position:absolute;top:-6px}.nav-toggle__bars:after{position:absolute;top:6px}.site-header.is-open .nav-toggle__bars{background:transparent}.site-header.is-open .nav-toggle__bars:before{transform:translateY(6px) rotate(45deg)}.site-header.is-open .nav-toggle__bars:after{transform:translateY(-6px) rotate(-45deg)}.site-nav{order:4}.nav-list{display:none;position:absolute;left:0;right:0;top:calc(var(--header-h) + 9px);flex-direction:column;gap:0;background:var(--trim);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.5rem var(--gutter) 1rem}.site-header.is-open .nav-list{display:flex}.nav-list li{border-top:1px solid var(--line)}.nav-list a{display:block;padding:.85rem 0;font-size:1.05rem;border-bottom:0}.hero{padding-block:1.5rem 2.75rem}.hero__grid{grid-template-columns:1fr;gap:2rem}.hero__panel{order:1}.hero__media{order:2;margin-inline:.4rem}.hero .tape{margin-bottom:.85rem;font-size:.78rem}.hero__title{font-size:clamp(2.35rem,11.5vw,3.1rem);margin-bottom:.8rem}.hero__lede{margin-bottom:1.2rem;font-size:1.04rem}.hero__phone{margin-bottom:1rem}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%}.hero__media img{aspect-ratio:5 / 4;object-position:40% 50%}.hero__tape{width:5.5rem;height:1.5rem}.hero__tape--tl{left:-.9rem}.hero__tape--br{right:-.9rem}.hero__badge{left:.75rem;bottom:.75rem}.hero__badge a{font-size:.86rem;padding:.45rem .8rem}.reviews__inner{flex-direction:column;align-items:stretch}.rating-link{width:100%}.section-head--split{grid-template-columns:1fr}.service-grid{gap:.7rem}.service-card{padding:1rem .9rem;gap:.45rem}.service-card__icon{width:2.6rem;height:2.6rem}.service-card__icon svg{width:1.4rem;height:1.4rem}.service-card__name{font-size:1.02rem}.service-card__desc{font-size:.9rem}.gallery-grid,.gallery-grid--few{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-thumb{border-width:3px}.contact__grid{grid-template-columns:1fr}.contact__actions .btn{width:100%}.site-footer__contact{text-align:left}.call-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:160;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--trim),transparent 4%);backdrop-filter:blur(8px);border-top:3px solid var(--door);box-shadow:0 -6px 18px #1d212514}.call-bar__btn{width:100%;min-height:50px}.site-footer{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}}
