:root{--ink:#173b3c;--muted:#52615f;--paper:#f7f6f1;--line:#d9dfd8;--orange:#bc4d25;--orange-hover:#9f3d1b;--soft:#e9eee7;--white:#fff;--radius:4px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.04em}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%;height:auto}.container{width:min(1920px,calc(100% - 96px));margin-inline:auto}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--white);padding:12px 20px}.skip-link:focus{top:10px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:15px 22px;font-size:15px;font-weight:650;line-height:1.4;border-radius:var(--radius);transition:background .18s ease,transform .18s ease}.button-primary{background:var(--orange);color:var(--white)}.button-primary:hover{background:var(--orange-hover);transform:translateY(-1px)}.button .arrow{margin-left:14px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(247,246,241,.98);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-mark{display:grid;place-items:center;background:var(--ink);width:46px;height:46px;border-radius:var(--radius);color:#fff}.brand-mark .icon{width:34px;height:34px;stroke-width:2}.brand strong{display:block;font-size:23px;letter-spacing:-.055em;font-weight:800;line-height:1.1}.brand-dot{color:var(--orange)}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:11px;letter-spacing:.02em}.nav{display:flex;gap:30px;font-size:13px;font-weight:600}.nav a{padding:12px 0}.nav a:hover{color:var(--orange)}.header-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.4;min-height:48px;justify-content:center}.header-phone span{font-size:10px;color:var(--muted)}.header-phone strong{font-size:18px;letter-spacing:-.02em}.header-mobile-phone{display:none}
.hero{overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:615px}.hero-copy{padding:65px 44px 52px 0;align-self:center}.location{display:flex;align-items:center;gap:9px;color:var(--orange);font-size:10px;letter-spacing:.1em}.location .icon{width:16px;height:16px}h1{font-size:clamp(44px,4.4vw,65px);line-height:1.02;max-width:610px}h1 span{display:block;color:var(--orange)}.hero-text{font-size:16px;max-width:440px;color:var(--muted);line-height:1.7;margin-top:26px}.hero-call{margin-top:30px;min-height:60px}.hero-phone{font-size:13px;font-weight:600;margin-top:12px}.hero-phone span{color:var(--muted);font-weight:400}.quick-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;font-size:12px;font-weight:600}.quick-links a{border-bottom:1px solid #b3beb7;padding:4px 0}.quick-links a:hover{color:var(--orange)}.quick-links span{margin-left:6px}.hero-visual{position:relative;margin-right:0;overflow:hidden;min-height:615px;background:var(--ink)}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.hero-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,28,30,.78))}.visual-caption{position:absolute;z-index:1;bottom:55px;left:40px;color:#fff;display:flex;gap:16px;align-items:center}.caption-line{width:34px;height:2px;background:#e59f7e}.visual-caption p{font-size:17px;line-height:1.45;letter-spacing:-.02em}.visual-caption strong{font-weight:600}.image-label{position:absolute;bottom:13px;left:40px;z-index:2;color:#f2f2ed;font-size:9px;opacity:.8}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:31px 0 33px;border-bottom:1px solid var(--line);gap:30px}.trust-strip>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.trust-strip strong{font-size:18px;font-weight:600;letter-spacing:-.025em}.trust-strip span{font-size:11px;color:var(--muted)}
.section{padding-block:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}h2{font-size:clamp(30px,3.2vw,45px)}.heading-note{color:var(--muted);font-size:13px;line-height:1.8;max-width:360px;margin-bottom:3px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:34px 36px 27px;background:#eeeee7;border:1px solid #d9ded4;border-radius:var(--radius);display:flex;flex-direction:column;scroll-margin-top:12px}.repair-card{background:var(--ink);color:#fff;border-color:var(--ink)}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.service-icon{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}.service-number{font-size:9px;font-weight:700;letter-spacing:.14em;opacity:.75}.service-card h3{font-size:30px;letter-spacing:-.035em}.service-card>p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:18px;max-width:420px}.repair-card>p{color:#d0dfd8}.check-list{list-style:none;margin:24px 0 28px;padding:0;display:grid;gap:12px;font-size:12px}.check-list li{display:flex;gap:10px;align-items:flex-start}.check-list .icon{width:17px;height:17px;margin-top:2px;color:var(--orange)}.repair-card .check-list .icon{color:#efb797}.text-call{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #c7d0c5;padding:20px 0 4px;min-height:56px;font-size:14px;font-weight:650;margin-top:auto}.repair-card .text-call{border-color:#496664}.text-call:hover{color:var(--orange)}.repair-card .text-call:hover{color:#f0b999}.service-footnote{margin-top:22px;color:var(--muted);font-size:12px}
.estimate-section{background:var(--soft);border-block:1px solid #d9e0d6}.estimate-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;padding-block:68px;align-items:center}.estimate-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:470px;margin-top:24px;line-height:1.8}.estimate-copy .button{margin-top:28px}.call-guide{background:var(--paper);border-left:3px solid var(--orange);padding:32px 34px}.guide-label{font-size:9px;letter-spacing:.15em;font-weight:700;color:var(--orange)}.call-guide h3{font-size:25px;line-height:1.2;margin-top:16px}.call-guide ol{list-style:none;padding:0;margin:26px 0 22px;font-size:13px;display:grid;gap:15px}.call-guide li{display:flex;gap:16px}.call-guide li>span{font-size:10px;line-height:2;color:var(--orange);font-weight:600}.call-guide>p{padding-top:19px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.materials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.material-image{overflow:hidden;border-radius:var(--radius);background:var(--soft);aspect-ratio:1.45}.material-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.material:hover img{transform:scale(1.035)}.material-copy{position:relative;padding:24px 25px 0 0}.material-copy>span{position:absolute;right:0;top:24px;font-size:10px;color:var(--muted)}.material h3{font-size:23px;letter-spacing:-.03em}.material p{color:var(--muted);font-size:13px;line-height:1.75;margin-top:13px}.image-note{font-size:10px;color:var(--muted);margin-top:28px}
.about-section{background:var(--ink);color:#fff}.about-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding-block:76px}.about-statement .eyebrow{color:#f0b999}.about-statement h2{font-size:clamp(30px,3vw,42px)}.about-statement>p:last-child{font-size:14px;color:#d0dfd8;line-height:1.8;margin-top:24px;max-width:450px}.process h3{font-size:20px;letter-spacing:-.02em;margin-bottom:26px}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:23px;padding:19px 0;border-top:1px solid #496664}.process li>span{font-size:11px;color:#e9ac8a;margin-top:2px}.process strong{font-size:14px;font-weight:600}.process p{font-size:12px;color:#c2d2ca;margin-top:5px;line-height:1.7}.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.faq-intro>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin-top:24px;max-width:270px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;padding:22px 0;display:flex;align-items:center;gap:20px;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:600;line-height:1.5}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;color:var(--orange);font-weight:400;flex-shrink:0}details[open] summary>span{transform:rotate(45deg)}details>p{padding:0 28px 24px 0;font-size:13px;color:var(--muted);line-height:1.9}.contact-section{background:#e7e5da;border-block:1px solid #d9dbcd}.contact-inner{padding-block:66px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-inner h2{font-size:clamp(34px,3.5vw,49px)}.contact-inner>div>p:last-child{font-size:13px;margin-top:22px;color:var(--muted)}.contact-action{justify-self:start;max-width:100%}.contact-name{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contact-number{display:block;font-size:clamp(25px,2.7vw,38px);line-height:1.5;letter-spacing:-.045em;font-weight:650;margin-top:8px;margin-bottom:20px;white-space:nowrap}.contact-action .button{width:100%}.contact-action>p:last-child{font-size:10px!important;margin-top:12px!important;text-align:center}.footer{display:flex;justify-content:space-between;gap:22px;padding-block:27px;font-size:10px;color:var(--muted)}.footer a{min-height:35px;display:flex;align-items:center;gap:15px}.mobile-call-bar{display:none}
@media(min-width:1600px){.hero-visual{margin-right:0}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}.nav{gap:20px}.hero-copy{padding-right:32px}.hero-inner,.hero-visual{min-height:600px}.hero-visual{margin-right:0}.hero-copy h1{font-size:49px}.hero-text{font-size:15px}.hero-call{font-size:14px;padding-inline:18px}.quick-links{gap:10px;font-size:11px}.trust-strip{gap:20px}.trust-strip>div{display:block}.trust-strip span{display:block;margin-top:4px}.section{padding-block:76px}.estimate-inner,.about-inner,.faq-section{gap:50px}.service-card{padding-inline:26px}.service-card h3{font-size:26px}.service-card>p{font-size:13px}.check-list{font-size:11px}.heading-note{font-size:12px}.material h3{font-size:20px}.contact-inner{gap:35px}}
@media(max-width:900px){.nav{display:none}.hero-copy h1{font-size:43px}.hero-copy{padding-right:25px}.hero-call{gap:8px}.hero-call .arrow{display:none}.quick-links{flex-direction:column;align-items:flex-start;margin-top:24px}.services-grid{gap:18px}.service-card{padding:28px 22px 22px}.service-card h3{font-size:24px}.estimate-inner{gap:35px}.call-guide{padding:28px 25px}.materials-grid{gap:18px}.material h3{font-size:19px}.material p{font-size:12px}.about-inner{gap:45px}.faq-section{gap:50px}.contact-action .button{font-size:13px;padding-inline:16px}.contact-action .arrow{display:none}}
@media(max-width:760px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}body{padding-bottom:90px}.header-inner{height:74px;gap:12px}.brand{gap:9px}.brand-mark{width:38px;height:38px}.brand-mark .icon{width:28px;height:28px}.brand strong{font-size:21px}.brand small{font-size:9px;margin-top:3px}.header-phone{display:none}.header-mobile-phone{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius)}.header-mobile-phone .icon{width:20px;height:20px}.hero-inner{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:30px 0 28px;width:100%;align-self:stretch}.eyebrow{margin-bottom:17px;font-size:10px}.location{font-size:9px;letter-spacing:.1em;gap:6px}.location .icon{width:14px;height:14px}.hero-copy h1{font-size:clamp(37px,8.6vw,59px);line-height:1.04;letter-spacing:-.05em;max-width:540px}.hero-copy h1 span{display:block}.hero-text{font-size:14px;line-height:1.7;margin-top:18px;max-width:530px}.hero-call{width:100%;margin-top:23px;min-height:57px;font-size:15px;gap:12px}.hero-call .arrow{display:block;margin-left:auto}.hero-phone{font-size:11px;margin-top:10px}.quick-links{flex-direction:row;align-items:center;gap:18px;margin-top:19px;font-size:10px}.hero-visual{margin:0 -20px;min-height:0;height:255px;width:calc(100% + 40px)}.hero-visual>img{object-position:center}.visual-caption{bottom:34px;left:20px;gap:12px}.visual-caption p{font-size:14px}.caption-line{width:25px}.image-label{left:20px;font-size:8px;bottom:10px}.hero-visual:after{inset:30% 0 0}.trust-strip{padding-block:24px;gap:12px;grid-template-columns:1fr 1fr 1fr}.trust-strip strong{font-size:13px;line-height:1.4;display:block}.trust-strip span{font-size:9px;line-height:1.6;margin-top:5px}.trust-strip>div+div{border-left:1px solid var(--line);padding-left:12px}.section{padding-block:55px}.section-heading{display:block;margin-bottom:28px}h2{font-size:33px;line-height:1.1}.heading-note{margin-top:20px;line-height:1.8;font-size:12px}.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:27px 25px 22px;scroll-margin-top:12px}.service-top{margin-bottom:24px}.service-icon{width:36px;height:36px}.service-number{font-size:9px}.service-card h3{font-size:28px}.service-card>p{font-size:14px;line-height:1.8;margin-top:15px}.check-list{font-size:12px;gap:11px;margin-block:22px}.text-call{font-size:14px;min-height:58px}.service-footnote{font-size:11px;line-height:1.8;margin-top:18px}.estimate-inner{grid-template-columns:1fr;gap:32px;padding-block:44px}.estimate-copy h2{font-size:31px}.estimate-copy>p:not(.eyebrow){font-size:13px;margin-top:20px}.estimate-copy .button{margin-top:23px;width:100%}.call-guide{padding:25px 25px 23px}.call-guide h3{font-size:24px}.call-guide ol{font-size:12px;margin-block:23px 20px}.call-guide>p{font-size:11px}.materials-grid{grid-template-columns:1fr;gap:28px}.material{display:grid;grid-template-columns:136px 1fr;gap:20px;align-items:center}.material-image{aspect-ratio:1;height:136px}.material-copy{padding:0}.material-copy>span{position:static;display:block;font-size:9px;margin-bottom:9px}.material h3{font-size:21px}.material p{font-size:12px;line-height:1.7;margin-top:9px}.image-note{font-size:9px;margin-top:23px}.about-inner{grid-template-columns:1fr;gap:36px;padding-block:46px}.about-statement h2{font-size:34px}.about-statement>p:last-child{font-size:13px;margin-top:20px}.process h3{font-size:19px;margin-bottom:20px}.process li{gap:20px;padding-block:17px}.process strong{font-size:13px}.process p{font-size:12px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-intro>p:last-child{max-width:100%;margin-top:18px;font-size:12px}summary{font-size:13px;padding-block:20px;gap:18px}details>p{font-size:12px;padding-right:13px}.contact-inner{grid-template-columns:1fr;gap:30px;padding-block:44px}.contact-inner h2{font-size:36px}.contact-inner>div>p:last-child{font-size:12px;margin-top:18px}.contact-action{width:100%}.contact-name{font-size:9px}.contact-number{font-size:32px;letter-spacing:-.04em;margin-block:5px 20px}.contact-action .button{font-size:14px;min-height:58px}.contact-action>p:last-child{font-size:9px!important}.footer{padding-block:23px;font-size:9px;align-items:center;gap:18px}.footer>span{max-width:215px}.mobile-call-bar{position:fixed;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:rgba(247,246,241,.98);border-top:1px solid #d4dcd3;box-shadow:0 -4px 20px rgba(14,44,43,.07);padding:12px 20px calc(12px + env(safe-area-inset-bottom));z-index:40}.mobile-call-bar>div{display:flex;flex-direction:column;line-height:1.5}.mobile-call-bar strong{font-size:12px;font-weight:650}.mobile-call-bar span{font-size:10px;color:var(--muted)}.mobile-call-bar .button{min-height:48px;font-size:13px;padding:12px 19px;gap:9px}.mobile-call-bar .icon{width:18px;height:18px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.hero-copy h1{font-size:35px}.hero-text{font-size:13px}.hero-visual{margin-inline:-16px;width:calc(100% + 32px);height:225px}.quick-links{gap:12px;font-size:9px}.hero-phone{font-size:10px}.service-card{padding-inline:20px}.service-card h3{font-size:26px}.material{grid-template-columns:112px 1fr;gap:17px}.material-image{height:112px}.material h3{font-size:18px}.material p{font-size:11px}.contact-number{font-size:28px}.mobile-call-bar{padding-inline:16px;gap:8px}.mobile-call-bar .button{padding-inline:15px}.trust-strip strong{font-size:12px}.trust-strip span{font-size:8px}.about-statement h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep the hero in the same wide frame as the rest of the page. */
@media(min-width:1240px){.hero-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.hero-copy{padding-right:64px}.hero-copy h1{max-width:650px}.hero-text{max-width:520px}.trust-strip>div{justify-content:center}.trust-strip>div:first-child{justify-content:flex-start}.trust-strip>div:last-child{justify-content:flex-end}}
@media(min-width:1700px){.hero-copy h1{font-size:72px}.hero-copy{padding-block:75px}.hero-text{font-size:18px;max-width:560px}.hero-call{font-size:17px;min-height:64px}.hero-phone{font-size:14px}.quick-links{font-size:14px;gap:28px}.hero-visual,.hero-inner{min-height:660px}.service-card>p{max-width:650px;font-size:16px}.check-list{font-size:14px}.service-card h3{font-size:34px}.material p{max-width:480px;font-size:15px}.material h3{font-size:27px}.heading-note{font-size:15px}.estimate-copy>p:not(.eyebrow),.about-statement>p:last-child{font-size:16px;max-width:650px}.process p,.faq-intro>p:last-child,details>p{font-size:15px}.process strong,summary{font-size:16px}.contact-inner>div>p:last-child{font-size:15px}}
.photo-credit{min-height:22px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px;opacity:1}.photo-credit:hover{color:#fff}