@font-face{font-family:Gilroy;src:url('/assets/gilroy-bold.otf') format('opentype');font-weight:800;font-display:swap}@font-face{font-family:Gilroy;src:url('/assets/gilroy-light.otf') format('opentype');font-weight:300;font-display:swap}
:root{--ink:#252a32;--orange:#f06440;--paper:#fff;--grey:#f1f3f5;--muted:#56616d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:300 18px/1.6 Gilroy,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;line-height:1.04;letter-spacing:-.025em}h2{font-size:clamp(2.25rem,4vw,3.75rem)}h3{font-size:1.6rem}em{font-style:normal;color:var(--orange)}.skip{position:fixed;top:-100px;left:16px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}.header{min-height:104px;padding:18px 5%;background:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:30px;color:white;border-bottom:1px solid #42464d}.brand img{display:block;width:205px;height:auto}.header nav{display:flex;gap:32px;align-items:center;font-size:1rem;font-weight:800}.header nav>a:not(.button):hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;background:var(--orange);color:#20242a;font-weight:800;font-size:1rem;border:0;border-radius:2px;cursor:pointer;line-height:1.4;text-align:center;transition:background .18s}.button:hover{background:#ff805b}.button.small{padding:13px 20px}.menu-toggle{display:none}.hero{background:var(--ink);color:white;display:grid;grid-template-columns:1.1fr 1fr;min-height:690px;padding:56px 5% 60px;gap:6%;align-items:center}.eyebrow{text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:.13em;line-height:1.7;color:#cad0d6;margin-bottom:26px}.eyebrow.dark{color:#65707b}.eyebrow span{display:inline-block;width:20px;height:3px;background:var(--orange);vertical-align:middle;margin-right:9px}h1{font-size:clamp(3rem,5.2vw,5.25rem);letter-spacing:-.035em;line-height:1.02;margin-bottom:26px}.intro{font-size:1.3rem;line-height:1.45;max-width:500px}.hero-detail{color:#bdc3cc;font-size:1rem;margin-top:14px;max-width:460px}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:32px}.text-link{font-size:1rem;text-decoration:underline;text-underline-offset:5px}.hero-image{height:560px;background-image:linear-gradient(180deg,transparent 30%,#17212aeb 100%),url('/assets/construction-banner.png');background-size:cover,auto 1480px;background-position:center,54% top;position:relative;border-top:6px solid var(--orange);isolation:isolate}.hero-image:before{content:'';position:absolute;inset:20px;border:1px solid #ffffff40;pointer-events:none}.image-label{position:absolute;left:40px;bottom:64px}.image-label span{font-size:.78rem;font-weight:800;letter-spacing:.17em;display:block;margin-bottom:14px;color:#cdd3da}.image-label strong{font-size:2.4rem;line-height:1.1;display:block}.image-corner{position:absolute;bottom:28px;left:40px;font-size:.7rem;letter-spacing:.16em}.service-strip{display:flex;justify-content:space-between;gap:20px;padding:23px 5%;background:var(--orange);font-weight:800;font-size:1rem}.service-strip span+span:before{content:' / ';margin-right:24px;color:#77321f}.section{padding:100px 5%;max-width:1600px;margin:auto;scroll-margin-top:20px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:end;margin-bottom:54px}.section-heading>p{max-width:430px;font-size:1.2rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d6dbe0;border-left:1px solid #d6dbe0}.service-card{padding:35px 32px;border-right:1px solid #d6dbe0;border-bottom:1px solid #d6dbe0;transition:background .2s}.service-card:hover{background:#f5f6f7}.number{display:block;color:#ce492a;font-weight:800;font-size:.9rem;margin-bottom:25px}.service-card h3{margin-bottom:20px;line-height:1.15}.service-card>p{color:var(--muted);min-height:90px;font-size:1.05rem}.service-card details{margin-top:24px;font-size:1rem}.service-card summary{font-weight:800;cursor:pointer;list-style-position:outside;margin-left:17px}.service-card details p{padding-top:15px;color:var(--muted)}.service-card details a{display:inline-block;margin-top:15px;color:#a73519;text-decoration:underline;font-weight:800}.repair-feature{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:80px 8%;border-left:14px solid var(--orange)}.repair-copy>p{font-size:1.2rem;color:#d1d6dd}.repair-copy ul{list-style:none;padding:0;margin:24px 0 32px}.repair-copy li{padding:10px 0;border-bottom:1px solid #4c535b;font-size:1rem}.repair-copy li:before{content:'+';color:var(--orange);font-weight:800;margin-right:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.steps article{border-top:2px solid var(--ink);padding-top:18px}.steps span{color:#ba3f21;font-size:1rem;font-weight:800}.steps h3{font-size:1.35rem;line-height:1.2;margin:20px 0 14px}.steps p{font-size:1.05rem;color:var(--muted)}.areas{background:var(--grey);display:grid;grid-template-columns:1fr 1fr;gap:10%}.areas p:not(.eyebrow){margin-top:25px;max-width:480px;color:var(--muted)}.area-list{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:10px 30px}.area-list span{padding:13px 0;border-bottom:1px solid #c7cdd4;font-weight:800;font-size:1.1rem}.faq{display:grid;grid-template-columns:1fr 1fr;gap:10%}.faq h2{font-size:2.6rem}.faq-items details{border-bottom:1px solid #cdd3d9}.faq-items summary{padding:20px 24px 20px 0;font-weight:800;font-size:1.05rem;cursor:pointer}.faq-items p{padding:0 0 24px;font-size:1.05rem;color:var(--muted)}.quote{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:90px 7%}.quote-copy h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.quote-copy>p:not(.eyebrow){max-width:400px;margin-top:25px;color:#c7cdd5;font-size:1.15rem}.contact-link{display:block;font-size:2rem;font-weight:800;margin:32px 0 8px}.email-link{font-size:1.1rem;overflow-wrap:anywhere}.quote-copy .contact-note{font-size:1rem!important}.contact-note a{color:var(--orange);text-decoration:underline}form{padding:34px;background:white;color:var(--ink);border-top:5px solid var(--orange)}form h3{margin-bottom:28px;font-size:1.65rem}label{display:block;font-size:.95rem;font-weight:800;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #bdc5ce;border-radius:2px;background:#fff;color:var(--ink);font-family:Arial,sans-serif;font-size:1rem;font-weight:400;min-height:48px}textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note,.privacy-note{font-family:Arial,sans-serif;font-size:.875rem;line-height:1.5;color:#52606e}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}.email-button{background:none;border:0;padding:10px 0;text-decoration:underline;cursor:pointer;font-size:1rem;font-weight:800;color:var(--ink)}.privacy-note{margin-top:16px}#form-status{font-size:.95rem;margin-top:15px;font-weight:800}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px;background:#1b1f26;color:#bfc6ce;padding:45px 5%;font-size:.9rem}footer .brand img{width:170px}footer a:last-child{color:white;text-decoration:underline;font-weight:800}.mobile-contact{display:none}
@media(min-width:1700px){.hero,.header,.service-strip{padding-left:max(5%,calc((100% - 1440px)/2));padding-right:max(5%,calc((100% - 1440px)/2))}}@media(max-width:1050px){.header nav{gap:18px;font-size:.875rem}.brand img{width:175px}.hero{gap:5%;min-height:auto}.hero-image{height:500px}.hero .actions{align-items:flex-start;flex-direction:column}.service-strip{flex-wrap:wrap;justify-content:center}.service-strip span+span:before{display:none}.section{padding:70px 5%}.service-card{padding:28px 24px}.service-card>p{min-height:125px}.steps{gap:22px}.quote{gap:5%}.image-label{left:28px}.image-label strong{font-size:2rem}}
@media(max-width:760px){html{scroll-padding-top:75px}.header{min-height:82px;padding:14px 6%;position:relative}.brand img{width:150px}.menu-toggle{display:block;color:white;background:none;border:1px solid #747b85;padding:10px 15px;font-size:1rem;font-weight:800}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);z-index:10;padding:20px 6%;border-top:1px solid #505761;align-items:stretch;gap:0}.header nav.open{display:flex;flex-direction:column}.header nav>a{padding:14px 0;font-size:1.05rem}.header nav>a.button{padding:14px;margin-top:10px}.hero{grid-template-columns:1fr;padding:42px 6% 36px;gap:35px}.eyebrow{font-size:.75rem;margin-bottom:20px}h1{font-size:clamp(2.6rem,11vw,4.6rem)}.intro{font-size:1.2rem}.hero .actions{gap:18px;align-items:stretch}.hero .actions .text-link{align-self:flex-start}.hero-image{height:320px;background-size:cover,auto 850px;background-position:center,50% top}.image-label{bottom:52px;left:30px}.image-label strong{font-size:1.85rem}.image-corner{left:30px;bottom:26px;font-size:.65rem}.service-strip{display:grid;grid-template-columns:1fr 1fr;padding:20px 6%;gap:12px 20px;font-size:.875rem}.section{padding:60px 6%}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-heading>p{font-size:1.1rem}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:25px 20px}.service-card h3{font-size:1.35rem}.service-card>p{min-height:0;font-size:1rem}.service-card details{font-size:.95rem}.number{margin-bottom:20px}.repair-feature{grid-template-columns:1fr;padding:55px 6%;gap:30px;border-left-width:7px}.repair-copy>p{font-size:1.1rem}.steps{grid-template-columns:1fr 1fr;gap:30px}.areas,.faq,.quote{grid-template-columns:1fr;gap:35px}.area-list{gap:5px 22px}.area-list span{font-size:1rem}.faq h2{font-size:2.2rem}.quote-copy h2{font-size:3rem}form{padding:26px 22px}.contact-link{font-size:1.8rem}.field-grid{grid-template-columns:1fr;gap:0}footer{padding:35px 6% 95px;align-items:flex-start;display:grid;grid-template-columns:1fr}body{padding-bottom:0}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;box-shadow:0 -4px 20px #0002;padding-bottom:env(safe-area-inset-bottom);background:var(--ink)}.mobile-contact a{flex:1;text-align:center;padding:17px 10px;font-size:1rem;font-weight:800;color:white}.mobile-contact a:last-child{background:var(--orange);color:var(--ink)}}@media(max-width:430px){.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-card h3{font-size:1.55rem}.steps{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.email-button{text-align:center}.service-strip{font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #65707b;border-radius:50%;color:white}.social-links a:hover{color:var(--orange);border-color:var(--orange)}.social-links svg{width:21px;height:21px}.header nav{gap:22px}.header .social-links{gap:5px}.header .social-links a{width:38px;height:38px}.header nav .social-links a:last-child{padding:0}.project-gallery{background:#f1f3f5;max-width:none}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.project-card{background:white;min-width:0}.project-photos{display:grid;grid-template-columns:1fr 1fr;gap:3px}.gallery-photo{padding:0;border:0;display:block;position:relative;background:#d9dfe5;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3}.gallery-photo.primary-photo{grid-column:1/-1;aspect-ratio:4/3}.gallery-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.gallery-photo:hover img{transform:scale(1.03)}.enlarge-mark{position:absolute;right:12px;bottom:12px;width:30px;height:30px;line-height:30px;text-align:center;background:#252a32d9;color:white;font:400 24px/30px Arial,sans-serif;border-radius:50%}.project-caption{padding:25px}.project-caption>span{font-size:.8rem;color:#a73519;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.project-caption h3{font-size:1.5rem;line-height:1.15;margin:10px 0}.project-caption p{font-size:1rem;color:var(--muted)}#photo-dialog{width:min(1100px,94vw);max-height:94vh;border:1px solid #69727d;padding:18px;background:var(--ink);color:white;overflow:auto}#photo-dialog::backdrop{background:#0a1017e8}.lightbox-toolbar,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-toolbar{padding-bottom:15px}.lightbox-toolbar button,.lightbox-bottom button{background:transparent;border:1px solid #919ba7;padding:10px 15px;color:white;font-weight:800;cursor:pointer;font-size:1rem}.lightbox-toolbar button:hover,.lightbox-bottom button:hover{border-color:var(--orange);color:var(--orange)}#enlarged-photo{display:block;width:100%;height:65vh;object-fit:contain}.lightbox-bottom{padding-top:15px}#photo-caption{font-size:1rem;text-align:center}.lightbox-toolbar>span{font-size:1rem}@media(max-width:1150px){.header nav{gap:14px}.header .brand img{width:150px}.header .social-links{display:none}.project-grid{gap:22px}}@media(max-width:760px){.project-grid{grid-template-columns:1fr 1fr;gap:20px}.header .social-links{display:flex;margin-top:18px}.header nav .social-links a{padding:0;width:44px;height:44px}.project-caption{padding:20px}.project-caption h3{font-size:1.25rem}#enlarged-photo{height:55vh}.lightbox-bottom{flex-wrap:wrap;gap:12px}#photo-caption{order:-1;flex-basis:100%}.gallery-photo:not(.primary-photo){aspect-ratio:1/1}}@media(max-width:480px){.project-grid{grid-template-columns:1fr}.project-photos{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.gallery-photo.primary-photo{grid-column:1;grid-row:1/3;aspect-ratio:auto}.gallery-photo:not(.primary-photo){aspect-ratio:4/3}.project-caption h3{font-size:1.5rem}.gallery-photo img{min-height:0}}

/* Show the full project photograph without cropping on every screen. */
.hero-image{height:auto;background:none;display:flex;flex-direction:column;border-top:6px solid var(--orange);align-self:center;background-color:#1b2027}.hero-image:before{display:none}.hero-project-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.hero-image .image-label{position:static;padding:30px 32px 18px}.hero-image .image-label strong{font-size:2rem}.hero-image .image-corner{position:static;padding:0 32px 28px}.hero-image .image-label span{margin-bottom:12px}@media(max-width:760px){.hero-image{height:auto;background-image:none}.hero-image .image-label{padding:24px 26px 16px}.hero-image .image-label strong{font-size:1.8rem}.hero-image .image-corner{padding:0 26px 24px}}

.service-card details .service-page-link{display:block;margin-top:12px}.detail-intro{padding-bottom:40px;max-width:1200px}.detail-intro h1{font-size:clamp(2.6rem,5vw,4.5rem)}.detail-intro>p:not(.eyebrow){max-width:850px;margin-top:22px}.detail-lead{font-size:1.5rem;font-weight:800}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:35px;max-width:1200px}.detail-body h2,.privacy-content h2{font-size:1.8rem;line-height:1.2;margin-bottom:18px}.detail-body p{margin-bottom:35px;color:var(--muted)}.detail-body li{margin:12px 0}.detail-photo{display:block;width:100%;height:auto;margin-top:30px}.privacy-content{max-width:1000px;padding-top:25px}.privacy-content p{margin-bottom:24px}.privacy-content h2{margin-top:35px}.privacy-content a{color:#a73519;text-decoration:underline}.detail-page .eyebrow a{text-decoration:underline}@media(max-width:760px){.detail-body{grid-template-columns:1fr;gap:40px}.detail-intro{padding-bottom:20px}.detail-intro h1{font-size:2.8rem}}
