@font-face { font-family: Manrope; src: url("assets/fonts/manrope.woff2") format("woff2"); font-style: normal; font-weight: 400 800; font-display: swap; }
@font-face { font-family: Barlow; src: url("assets/fonts/barlow-condensed.woff2") format("woff2"); font-style: normal; font-weight: 600 700; font-display: swap; }
/* Mobile layout is the baseline; wider viewports add space and columns. */
:root{--paper:#f4f5f2;--ink:#222623;--muted:#656b66;--orange:#c83d20;--line:#d5d8d2;--dark:#202522;--white:#fff;--body:Manrope,Arial,sans-serif;--display:Barlow,'Arial Narrow',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0px;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{-webkit-tap-highlight-color:transparent}
summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
img{display:block;max-width:100%}
h1{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-0.025em;line-height:0.97;font-size:4.2rem}
h2{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-0.025em;line-height:1;font-size:3.3rem}
h3{margin:0px;font-weight:600}
p{margin:0px;max-width:65ch}
figure{margin:0px}
blockquote{margin:0px}
::selection{background:var(--orange);color:white}
.wrap{margin-inline:auto;width:calc(100% - 32px)}
.section-space{padding-block:70px}
.eyebrow{font-weight:700;letter-spacing:0.12em;line-height:1.5;font-size:12px;margin-bottom:20px}
.skip-link{position:absolute;left:16px;top:-100px;background:var(--ink);color:white;padding:12px 20px;z-index:50}
.skip-link:focus{top:12px}
.topline{padding:0px 48px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:0.08em;padding-inline:20px;min-height:32px}
.topline > a{display:flex;align-items:center;letter-spacing:0px;min-height:44px;font-size:0px}
.header{margin:0px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:86px;margin-inline:16px;gap:8px}
.brand{position:relative;display:block;flex:0 0 150px;overflow:hidden;mix-blend-mode:multiply;height:58px}
.brand img{position:absolute;max-width:none;width:178px;height:178px;top:-57px;left:-12px}
.navigation{display:flex;align-items:center;gap:0px}
.nav-links{gap:20px;display:none}
.nav-links a{font-size:14px;font-weight:600;min-height:44px;display:flex;align-items:center}
.nav-links a:hover{color:var(--orange)}
.nav-cta{border:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;font-weight:700;min-height:44px;padding:8px 12px;white-space:nowrap;font-size:12px;gap:8px;padding-inline:10px}
.nav-cta span{font-weight:400;font-size:22px}
.nav-cta:hover{background:var(--ink);color:white}
.hero-heading{grid-template-columns:1.45fr 1fr;align-items:end;gap:35px;display:block;padding-top:38px;padding-bottom:32px}
.hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:21px;font-size:12px;letter-spacing:0.09em}
.rule{height:2px;background:var(--orange);width:20px}
h1 span{color:var(--orange)}
.hero-intro{padding-bottom:2px;justify-self:end;max-width:none;margin-top:28px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0px 18px}
.hero-intro > p:first-child{font-weight:600;line-height:1.5;font-size:16px}
.intro-detail{color:var(--muted);max-width:330px;line-height:1.7;margin:0px;font-size:12px}
.button{background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-weight:700;padding-inline:16px;gap:10px;grid-column:1 / -1;max-width:360px;margin-top:23px;font-size:13px;min-height:52px}
.button span{font-size:26px;line-height:1;font-weight:400}
.button:hover{background:rgb(182, 53, 27)}
.rating-link{display:flex;align-items:center;min-height:44px;white-space:nowrap;grid-column:1 / -1;font-size:12px;margin-top:6px;gap:10px}
.stars{letter-spacing:2px;color:var(--orange);white-space:nowrap;font-size:16px}
.rating-link strong{font-weight:800}
.hero-photo{position:relative;overflow:hidden;background:rgb(220, 224, 217);margin-inline:12px;min-height:0px;height:425px}
.hero-photo > img{width:100%;height:100%;object-fit:cover;object-position:54% center}
.hero-photo::after{content:"";position:absolute;inset:50% 0px 0px;background:linear-gradient(transparent, rgba(11, 19, 14, 0.5));pointer-events:none}
.photo-label{position:absolute;z-index:1;display:flex;align-items:center;color:white;bottom:37px;left:18px;gap:11px}
.photo-label-line{width:3px;background:var(--orange);height:43px}
.photo-label .micro{display:block;letter-spacing:0.13em;font-size:12px}
.photo-label strong{display:block;font-family:var(--display);font-weight:600;line-height:1.2;margin-top:7px;font-size:24px}
.image-next{position:absolute;border:1px solid rgba(255, 255, 255, 0.627);border-radius:50%;display:grid;place-items:center;color:white;z-index:2;bottom:35px;font-size:25px;right:16px;width:44px;height:44px}
.image-next:hover{background:white;color:var(--ink)}
.photo-credit{position:absolute;color:rgba(255, 255, 255, 0.85);z-index:1;bottom:9px;left:18px;font-size:12px}
.trust-strip{align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:600;display:grid;grid-template-columns:1fr 1fr;gap:14px 15px;padding-block:24px;font-size:12px}
.trust-strip > span{position:relative}
.trust-strip > span + span::before{content:"";position:absolute;width:3px;height:3px;background:var(--muted);top:9px;left:-20px;display:none}
.services{display:grid;grid-template-columns:1fr;gap:38px}
.section-intro > p:not(.eyebrow){color:var(--muted);line-height:1.8;margin-top:22px;max-width:460px;font-size:15px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;font-weight:700;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-top:26px}
.text-link span{font-size:25px;font-weight:400}
.text-link:hover{color:var(--orange);border-color:var(--orange)}
.service-list{padding-top:2px}
.service-list details{border-top:1px solid var(--line)}
.service-list details:last-child{border-bottom:1px solid var(--line)}
.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding-block:18px;min-height:85px;gap:12px}
.service-list summary::-webkit-details-marker{display:none}
.service-no{font-size:12px;color:var(--muted)}
.service-list h3{font-weight:600;line-height:1.4;font-size:16px}
.expand{margin-left:auto;font-size:26px;font-weight:400;width:26px;flex:0 0 26px;text-align:center}
.service-list details[open] .expand{transform:rotate(45deg)}
.service-body{padding-bottom:30px;padding-left:34px;padding-right:24px}
.service-body p{color:var(--muted);line-height:1.85;font-size:14px}
.service-body a{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:700;min-height:44px;margin-top:10px}
.service-body a span{font-size:20px}
.work{background:var(--dark);color:var(--paper)}
.work .eyebrow{color:rgb(183, 192, 181)}
.work-heading{align-items:flex-end;justify-content:space-between;gap:40px;display:block;margin-bottom:36px}
.work-heading > p{color:rgb(194, 201, 191);padding-bottom:4px;font-size:14px;margin-top:25px}
.project-grid{display:grid;gap:42px;grid-template-columns:1fr}
.project-image{overflow:hidden;background:rgb(60, 67, 61)}
.project-image img{width:100%;height:100%;object-fit:cover}
.project-driveway .project-image{aspect-ratio:4 / 4.7}
.project-stamped{padding:0px 0px 0px 24px}
.project-stamped .project-image{aspect-ratio:1.15 / 1}
.project-stamped .project-image img{object-position:50% 55%}
.project figcaption{display:flex;justify-content:space-between;align-items:start;padding-top:18px;gap:16px}
.project h3{line-height:1.4;font-weight:600;font-size:18px}
.project figcaption p{color:rgb(183, 192, 181);margin-top:5px;font-size:12px}
.project figcaption > span{font-family:var(--display);font-size:24px;color:rgb(140, 154, 141)}
.project-note{display:flex;align-items:center;margin-top:34px;gap:20px}
.note-line{width:40px;height:1px;background:var(--orange)}
.project-note p{font-family:var(--display);line-height:1.15;color:rgb(195, 205, 191);font-size:30px}
.work-bottom{border-top:1px solid rgb(83, 91, 83);align-items:center;justify-content:space-between;gap:30px;display:block;margin-top:40px;padding-top:20px}
.work-bottom > p{color:rgb(183, 192, 181);line-height:1.8;font-size:12px}
.text-link.light{margin-top:0px;border-color:rgb(108, 119, 107)}
.about{display:grid;grid-template-columns:1fr;gap:28px}
.about-copy{color:var(--muted);padding-top:0px}
.about-copy .large-copy{color:var(--ink);line-height:1.4;font-size:23px;margin-bottom:17px}
.about-copy > p + p{margin-top:18px}
.license{border-top:1px solid var(--line);padding-top:25px;display:flex;gap:17px;align-items:center;margin-top:27px}
.license-symbol{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--ink)}
.license div span{display:block;font-size:12px}
.license strong{display:block;color:var(--ink);font-size:16px}
.reviews{background:rgb(229, 232, 225);padding-block:52px}
.reviews-inner{display:grid;grid-template-columns:1fr;gap:34px}
.review-score > .eyebrow{letter-spacing:0.09em;font-size:12px;margin-bottom:17px}
.review-score > div{display:flex;gap:24px;align-items:center}
.review-score > div > strong{font-family:var(--display);line-height:1;font-weight:600;letter-spacing:-0.04em;font-size:86px}
.review-score > div > span{display:flex;flex-direction:column;gap:4px;font-size:13px}
.review-score .stars{font-size:20px}
.quote{position:relative;padding-left:32px}
.quote-mark{position:absolute;font-family:Georgia, serif;line-height:1;left:0px;color:var(--orange);font-size:62px;top:-4px}
.quote blockquote{font-weight:500;letter-spacing:-0.025em;line-height:1.55;font-size:21px}
.quote > p{display:flex;flex-direction:column;align-items:start;gap:3px;font-size:12px;margin-top:20px}
.quote > p > span{color:var(--muted)}
.service-area{display:grid;grid-template-columns:1fr;gap:28px}
.area-copy{color:var(--muted);padding-top:0px}
.area-copy p + p{margin-top:16px}
.area-towns{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--ink);font-weight:600;font-size:12px;gap:0px 18px}
.area-towns > span{padding-block:6px}
.estimate{background:var(--orange);color:white;padding-block:40px 54px}
.estimate-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255, 255, 255, 0.376);gap:20px;padding-bottom:22px}
.estimate-top .eyebrow{margin-bottom:0px;font-size:12px;letter-spacing:0.08em}
.estimate-top > span{font-size:12px;white-space:nowrap}
.estimate-grid{display:grid;grid-template-columns:1fr;gap:26px;padding-top:32px}
.estimate h2{font-size:3.6rem}
.estimate-grid > div{padding:0px}
.estimate-grid > div > p:first-child{max-width:370px;font-size:15px;line-height:1.8}
.phone-link{font-family:var(--display);font-weight:600;display:flex;align-items:center;line-height:1.2;min-height:55px;gap:24px;margin-top:21px;font-size:2.6rem}
.phone-link span{font-family:var(--body);font-weight:400;font-size:30px}
.email-link{font-size:14px;display:inline-flex;align-items:center;gap:60px;border-bottom:1px solid rgba(255, 255, 255, 0.5);min-height:44px;margin-top:17px}
.email-link span{font-size:24px}
.hours{font-size:12px;margin-top:20px;color:rgb(255, 255, 255)}
.footer{padding-bottom:26px;display:grid;grid-template-columns:1fr;padding-top:34px;gap:18px}
.footer > div:first-child{display:flex;flex-direction:column}
.footer strong{font-size:15px;letter-spacing:0.02em}
.footer > div:first-child > span{font-size:12px;color:var(--muted);margin-top:4px}
.footer-links{display:flex;align-items:center;justify-content:start;gap:24px}
.footer-links a{min-height:44px;display:inline-flex;align-items:center;gap:10px;font-size:12px}
.footer-bottom{grid-column:1 / -1;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);flex-direction:column;gap:8px;padding-top:20px;font-size:12px}
.topline > span{font-size:12px}
.topline > a span{display:none}
.topline > a::after{content:"(313) 775-2211";font-size:12px}
.section-intro .text-link{margin-top:18px}
.work-bottom .text-link{font-size:12px;gap:16px;margin-top:20px}
.about-copy > p{font-size:15px;line-height:1.85}
.area-copy > p{font-size:15px;line-height:1.85}
@media(min-width:375px){
h1{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-0.025em;font-size:clamp(4.4rem, 15vw, 7.1rem);line-height:0.97}
h2{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-0.025em;font-size:3.6rem;line-height:1}
.wrap{margin-inline:auto;width:calc(100% - 40px)}
.header{margin:0px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-inline:20px;min-height:86px;gap:15px}
.brand{position:relative;display:block;flex:0 0 171px;overflow:hidden;mix-blend-mode:multiply;height:62px}
.brand img{position:absolute;max-width:none;width:198px;height:198px;left:-13px;top:-65px}
.nav-cta{padding-inline:revert;border:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12px;min-height:44px;padding:8px 12px;gap:14px;white-space:nowrap}
.hero .eyebrow{letter-spacing:revert;display:flex;align-items:center;font-size:12px;gap:10px;margin-bottom:21px}
.hero-intro{padding-bottom:2px;justify-self:end;max-width:none;margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:0px 25px;align-items:start}
.hero-intro > p:first-child{font-weight:600;font-size:17px;line-height:1.5}
.intro-detail{color:var(--muted);max-width:330px;font-size:13px;line-height:1.7;margin:0px}
.hero-photo{position:relative;overflow:hidden;background:rgb(220, 224, 217);margin-inline:12px;height:480px;min-height:0px}
.photo-label{position:absolute;z-index:1;display:flex;align-items:center;color:white;left:23px;bottom:37px;gap:14px}
.photo-label strong{display:block;font-family:var(--display);font-weight:600;line-height:1.2;margin-top:7px;font-size:27px}
.image-next{position:absolute;border:1px solid rgba(255, 255, 255, 0.627);border-radius:50%;display:grid;place-items:center;color:white;z-index:2;right:20px;bottom:35px;width:48px;height:48px;font-size:25px}
.photo-credit{position:absolute;color:rgba(255, 255, 255, 0.85);z-index:1;left:23px;font-size:12px;bottom:9px}
.trust-strip{align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:600;display:grid;grid-template-columns:1fr 1fr;gap:14px 15px;font-size:12px;padding-block:24px}
.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding-block:18px;min-height:85px;gap:18px}
.service-list h3{font-weight:600;line-height:1.4;font-size:18px}
.project-stamped{padding:0px 0px 0px 38px}
.project h3{line-height:1.4;font-weight:600;font-size:20px}
.quote blockquote{font-weight:500;letter-spacing:-0.025em;font-size:23px;line-height:1.55}
.estimate h2{font-size:4.2rem}
.phone-link{font-family:var(--display);font-weight:600;display:flex;align-items:center;line-height:1.2;min-height:55px;font-size:3rem;gap:24px;margin-top:21px}
}
@media(min-width:768px){
html{scroll-behavior:smooth;scroll-padding-top:30px}
h1{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);line-height:0.93;letter-spacing:-0.025em;font-size:8.7vw}
h2{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-0.025em;line-height:0.98;font-size:clamp(3.2rem, 5.1vw, 5rem)}
.wrap{margin-inline:auto;width:calc(100% - 64px)}
.section-space{padding-block:112px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:0.12em;line-height:1.5;margin-bottom:26px}
.topline{padding:0px 48px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;letter-spacing:0.08em;padding-inline:32px}
.topline > a{min-height:44px;display:flex;align-items:center;font-size:12px;letter-spacing:0px}
.header{min-height:100px;margin:0px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;margin-inline:32px}
.brand{position:relative;display:block;flex:0 0 207px;height:71px;overflow:hidden;mix-blend-mode:multiply}
.brand img{position:absolute;width:235px;height:235px;max-width:none;left:-15px;top:-77px}
.navigation{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;gap:20px}
.nav-cta{white-space:revert;border:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:46px;padding:8px 18px;font-weight:700;font-size:14px}
.nav-cta span{font-size:23px;font-weight:400}
.hero-heading{display:grid;grid-template-columns:1.45fr 1fr;padding-top:62px;padding-bottom:52px;align-items:end;gap:35px}
.hero .eyebrow{font-size:revert;display:flex;align-items:center;gap:14px;margin-bottom:22px}
.rule{width:30px;height:2px;background:var(--orange)}
.hero-intro{margin-top:revert;display:revert;grid-template-columns:revert;gap:revert;align-items:revert;padding-bottom:2px;justify-self:end;max-width:320px}
.hero-intro > p:first-child{line-height:1.5;font-weight:600;font-size:18px}
.intro-detail{margin:revert;line-height:1.7;color:var(--muted);margin-top:14px;max-width:330px;font-size:14px}
.button{grid-column:revert;max-width:revert;background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between;min-height:55px;padding:14px 20px;font-weight:700;margin-top:24px;font-size:13px;padding-inline:16px;gap:10px}
.rating-link{grid-column:revert;display:flex;align-items:center;gap:12px;font-size:12px;margin-top:12px;min-height:44px;white-space:nowrap}
.hero-photo{margin-inline:24px;height:min(690px, 54vw);min-height:360px;position:relative;overflow:hidden;background:rgb(220, 224, 217)}
.hero-photo > img{width:100%;height:100%;object-fit:cover;object-position:center 56%}
.photo-label{position:absolute;left:40px;bottom:44px;z-index:1;display:flex;align-items:center;gap:20px;color:white}
.photo-label-line{height:48px;width:3px;background:var(--orange)}
.photo-label .micro{display:block;font-size:12px;letter-spacing:0.13em}
.photo-label strong{display:block;font-family:var(--display);font-weight:600;font-size:30px;line-height:1.2;margin-top:7px}
.image-next{position:absolute;right:42px;bottom:45px;width:62px;height:62px;border:1px solid rgba(255, 255, 255, 0.627);border-radius:50%;display:grid;place-items:center;color:white;font-size:31px;z-index:2}
.photo-credit{position:absolute;left:40px;bottom:12px;font-size:12px;color:rgba(255, 255, 255, 0.85);z-index:1}
.trust-strip{grid-template-columns:revert;padding-block:26px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-weight:600;font-size:12px}
.trust-strip > span + span::before{display:revert;content:"";position:absolute;width:3px;height:3px;background:var(--muted);top:9px;left:-20px}
.services{display:grid;grid-template-columns:0.85fr 1.25fr;gap:65px}
.section-intro > p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.8;margin-top:26px;max-width:345px}
.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:95px;padding-block:18px;gap:18px}
.service-body{padding-left:41px;padding-right:50px;padding-bottom:30px}
.service-body p{font-size:15px;color:var(--muted);line-height:1.85}
.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:64px}
.work-heading > p{margin-top:revert;font-size:16px;color:rgb(194, 201, 191);padding-bottom:4px}
.project-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:44px}
.project-driveway .project-image{aspect-ratio:4 / 5}
.project-stamped{padding:revert;padding-top:90px}
.project-stamped .project-image{aspect-ratio:1.25 / 1}
.project figcaption{display:flex;justify-content:space-between;gap:24px;align-items:start;padding-top:22px}
.project h3{font-size:22px;line-height:1.4;font-weight:600}
.project figcaption p{font-size:13px;color:rgb(183, 192, 181);margin-top:5px}
.project-note{margin-top:68px;display:flex;gap:24px;align-items:center}
.project-note p{font-family:var(--display);font-size:34px;line-height:1.15;color:rgb(195, 205, 191)}
.work-bottom{border-top:1px solid rgb(83, 91, 83);margin-top:72px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.work-bottom > p{font-size:12px;color:rgb(183, 192, 181);line-height:1.8}
.about{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.about-copy{padding-top:50px;color:var(--muted)}
.about-copy .large-copy{color:var(--ink);font-size:25px;line-height:1.4;margin-bottom:20px}
.license{margin-top:32px;border-top:1px solid var(--line);padding-top:25px;display:flex;gap:17px;align-items:center}
.reviews{background:rgb(229, 232, 225);padding-block:70px}
.reviews-inner{display:grid;grid-template-columns:0.8fr 1.2fr;gap:50px}
.review-score > .eyebrow{margin-bottom:revert;font-size:12px;letter-spacing:0.09em}
.review-score > div > strong{font-family:var(--display);font-size:100px;line-height:1;font-weight:600;letter-spacing:-0.04em}
.quote{position:relative;padding-left:38px}
.quote-mark{position:absolute;font-family:Georgia, serif;font-size:76px;line-height:1;left:0px;top:-8px;color:var(--orange)}
.quote blockquote{line-height:1.55;font-weight:500;letter-spacing:-0.025em;font-size:23px}
.quote > p{flex-direction:revert;display:flex;gap:18px;align-items:center;font-size:12px;margin-top:25px}
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.area-copy{padding-top:47px;color:var(--muted)}
.area-towns{display:flex;flex-wrap:wrap;gap:0px 20px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--ink);font-size:13px;font-weight:600}
.estimate{background:var(--orange);color:white;padding-block:64px 84px}
.estimate-top{gap:revert;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255, 255, 255, 0.376);padding-bottom:24px}
.estimate-top .eyebrow{font-size:revert;letter-spacing:revert;margin-bottom:0px}
.estimate-top > span{white-space:revert;font-size:13px}
.estimate-grid{display:grid;grid-template-columns:1.2fr 1fr;padding-top:54px;gap:60px}
.estimate h2{font-size:clamp(4rem, 6.7vw, 6.5rem)}
.estimate-grid > div{padding:revert;padding-top:8px}
.estimate-grid > div > p:first-child{font-size:16px;line-height:1.8;max-width:370px}
.phone-link{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem, 3.8vw, 3.75rem);display:flex;align-items:center;gap:24px;line-height:1.2;margin-top:25px;min-height:55px}
.phone-link span{font-family:var(--body);font-size:36px;font-weight:400}
.footer{padding-top:44px;padding-bottom:26px;display:grid;grid-template-columns:1fr 1fr;gap:26px}
.footer-links{display:flex;align-items:center;gap:30px;justify-content:end}
.footer-bottom{flex-direction:revert;grid-column:1 / -1;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
.topline > span{font-size:revert}
.topline > a span{display:revert}
.topline > a::after{content:revert;font-size:revert}
.section-intro .text-link{margin-top:revert}
.work-bottom .text-link{font-size:revert;gap:revert;margin-top:revert}
.about-copy > p{font-size:revert;line-height:revert}
.area-copy > p{font-size:revert;line-height:revert}
}
@media(min-width:1101px){
h1{margin:0px;font-weight:600;overflow-wrap:anywhere;font-family:var(--display);font-size:clamp(5rem, 8.4vw, 8.1rem);line-height:0.93;letter-spacing:-0.025em}
.wrap{width:min(1320px, 100% - 96px);margin-inline:auto}
.topline{padding-inline:revert;padding:0px 48px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;letter-spacing:0.08em}
.header{margin-inline:revert;min-height:100px;margin:0px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.navigation{display:flex;align-items:center;gap:52px}
.nav-links{display:flex;gap:34px}
.hero-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;padding-top:62px;padding-bottom:52px;align-items:end}
.hero-intro{padding-bottom:2px;max-width:370px;justify-self:end}
.hero-intro > p:first-child{font-size:21px;line-height:1.5;font-weight:600}
.intro-detail{font-size:15px;line-height:1.7;color:var(--muted);margin-top:14px;max-width:330px}
.button{padding-inline:revert;background:var(--orange);color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:55px;padding:14px 20px;font-size:14px;font-weight:700;margin-top:24px}
.trust-strip{padding-block:26px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600}
.trust-strip > span + span::before{content:"";position:absolute;width:3px;height:3px;background:var(--muted);left:-35px;top:9px}
.services{display:grid;grid-template-columns:0.85fr 1.25fr;gap:110px}
.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;min-height:95px;padding-block:18px}
.service-list h3{font-size:21px;font-weight:600;line-height:1.4}
.project-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}
.project-stamped{padding-top:125px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:110px}
.reviews-inner{display:grid;grid-template-columns:0.8fr 1.2fr;gap:100px}
.quote blockquote{font-size:26px;line-height:1.55;font-weight:500;letter-spacing:-0.025em}
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:110px}
.estimate-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding-top:54px}
}
@media(min-width:1600px){
.topline{padding:0px 48px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:12px;letter-spacing:0.08em;padding-inline:max(48px, -720px + 50vw)}
.header{min-height:100px;margin:0px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin-inline:auto}
.hero-photo{height:min(690px, 54vw);min-height:360px;position:relative;overflow:hidden;background:rgb(220, 224, 217);max-width:1536px;margin-inline:auto}
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .reveal { transition: opacity 0.7s, transform 0.7s; }
  .reveal.pending { opacity: 0; transform: translateY(22px); }
  .button, .nav-cta, .image-next { transition: background-color 0.2s, color 0.2s; }
  .project-image img { transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1); }
  .project-image:hover img { transform: scale(1.025); }
}
h1,h2{overflow-wrap:anywhere}

.film{margin-top:56px;padding-top:36px;border-top:1px solid #535b53}
.film-heading{margin-bottom:25px}
.film-heading h3{font-family:var(--display);font-size:44px;font-weight:600;line-height:1.1}
.film-heading p{color:#b7c0b5;font-size:14px;margin-top:12px}
.film-media{display:block;width:100%;max-width:480px;aspect-ratio:9/16;object-fit:cover;background:#151b16;margin-inline:auto}
@media(min-width:768px){.film{margin-top:72px;padding-top:45px}.film-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.film-heading h3{font-size:54px}.film-heading p{margin-top:0}.film-media{max-width:none;aspect-ratio:16/9}}

.film-frame{position:relative;max-width:480px;margin-inline:auto}
.film-play{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:18px;border:1px solid #ffffff90;background:#202522ec;color:#fff;padding:18px 24px;min-height:72px;font:600 16px var(--body);text-align:left;cursor:pointer;white-space:nowrap}
.film-play>span:first-child{font-size:25px}.film-play small{display:block;font-size:12px;font-weight:400;color:#dce2d9;margin-top:4px}
.film-play[hidden],.film-error[hidden]{display:none}.film-play:focus-visible{outline:3px solid #fff;outline-offset:5px}.film-play:disabled{opacity:.7;cursor:wait}
.film-error{font-size:14px;margin-top:18px}.film-error a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
@media(min-width:768px){.film-frame{max-width:none}.film-play{top:50%}}
