/* E Wells identity: silver aggregate, graphite asphalt and warm gold road lines.
   Structural layout and interaction states remain in site.css. */
:root {
  --hero-asphalt-color:#111519;
  --hero-asphalt-surface:linear-gradient(110deg,#0c1014b8,#0c101480),url('/images/hero-aggregate.svg'),linear-gradient(120deg,#30363c,#191e23 58%,#121619);
  --ink:#25272a;
  --coal:#303236;
  --paper:#edf0f2;
  --white:#fafbfc;
  --muted:#46515b;
  --line:#c8cdd1;
  --gold:#ddb345;
  --gold-deep:#785815;
  --logo-gold:#e1a110;
  --logo-gold-plate:linear-gradient(115deg,#f2bd1b 0%,#e1a110 48%,#d48b08 100%);
  --yellow:var(--gold);
  --gold-plate:linear-gradient(115deg,#f0d27d 0%,#d5a42c 52%,#e9c369 100%);
  --silver:linear-gradient(180deg,#f7f8f9 0%,#c2c7cc 100%);
  --grain:url('/images/asphalt-grain.svg');
  --nav-surface:#101214;
  --dark-surface:#191d21;
  --dark-copy:#dce2e8;
}
body{background:#e9ecef;color:var(--ink)}
h1,h2{letter-spacing:-.025em}
h2{font-size:clamp(42px,4.6vw,66px);line-height:1.02}
h3{line-height:1.08}
.section{padding-block:96px}
.heading-secondary{color:#535d67}
.eyebrow{letter-spacing:.16em;font-size:10px;color:#49545e;gap:13px}
.eyebrow>span{width:32px;border-color:var(--gold-deep);height:7px;transform:skew(-32deg)}
.text-link{font-size:14px;border-color:#9ca2a8}
.text-link .icon{color:var(--gold-deep)}
.button{font-family:var(--heading);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;padding:14px 21px;gap:24px;min-height:54px;border-radius:2px}
.button .icon{border-left:1px solid #24262942;box-sizing:content-box;padding-left:18px;width:18px;height:18px}
.button-yellow,.label-after,.gallery-expand{background:var(--gold-plate);color:#202225;border-color:#d4a944;box-shadow:inset 0 1px #fff5}
.button-yellow:hover{background:linear-gradient(115deg,#f6de98,#dfb344,#f0ce7d);box-shadow:0 5px 18px #17191d20,inset 0 1px #fff8}
.button-outline{border-color:#65717b;background:#ffffff18}
.button-outline:hover{background:#303338;color:#f5f6f7}
.button-outline:hover .icon,.button-glass .icon{border-left-color:#ffffff38}
.button-glass{background:#ffffff03;border-color:#8a96a2}
.button-glass:hover{background:#ffffff10}
:focus-visible{outline:3px solid #785815;outline-offset:3px;box-shadow:0 0 0 6px #f5f6f7}
.utility{background:#22262a;color:#e4e8ec;font-size:11px;letter-spacing:.06em}
.utility .container{height:30px}
.utility .icon{color:#e4bb55}
.site-header{background:var(--nav-surface);color:#f7f8fa;border-bottom:1px solid #987a34;box-shadow:0 5px 20px #0003}
.nav-row{height:100px;gap:26px}
.logo{width:138px}
#main-nav{font-size:16px;gap:25px;color:#f7f8fa;font-weight:600}
#main-nav>a[aria-current]{color:#f0ca70}
.header-phone{margin-left:0}
.header-phone span{color:#d1d8df;letter-spacing:.11em}
.header-phone strong{color:#fff;font-size:18px}
.header-estimate{font-size:15px;min-height:46px;padding:12px 17px;gap:16px}
.header-estimate .icon{width:16px;height:16px;padding-left:13px}
.services-menu{background:#171b1f;border:1px solid #616b75;border-bottom:3px solid var(--gold);left:-24px;padding:20px 24px 10px;box-shadow:0 18px 40px #0008}
.services-menu a{color:#f2f5f8;border-color:#ffffff30;font-size:16px}
.services-menu a:hover{background:#252c32}
.services-menu .icon{color:var(--gold)}
.menu-kicker{color:#f0ca70;font-size:11px}
/* Textured graphite echoes the aggregate in the logo's E. */
.hero{display:block;min-height:690px;background-color:var(--hero-asphalt-color);background-image:var(--hero-asphalt-surface);overflow:hidden}
.hero-content{position:relative;padding-block:89px 66px;z-index:2;pointer-events:none}
.hero-copy{width:44%;pointer-events:auto}
.hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:26px;color:#e0e3e6}
.hero h1{font-size:clamp(38px,4.15vw,62px);line-height:1;font-weight:800;color:#e0e4e8;margin:0 0 28px;letter-spacing:.005em}
.hero h1>span{display:inline-block;margin-top:10px;font-size:clamp(82px,7.5vw,112px);line-height:.89;letter-spacing:-.018em;color:var(--logo-gold);background:var(--logo-gold-plate);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy>p:not(.eyebrow){color:#e4e9ed;font-size:18px;line-height:1.65;margin-bottom:29px}
.hero-actions{gap:12px;flex-wrap:wrap}
.hero-actions .button{font-size:17px;gap:16px;padding:14px 18px}
.hero-actions .button .icon{padding-left:12px}
.hero-note{font-size:9px;letter-spacing:.12em;color:#d8e0e7;margin-top:25px}
.hero-media{position:absolute;top:38px;right:0;bottom:128px;left:48%;overflow:hidden;border-radius:0 0 0 90px;border:0;box-shadow:-20px 20px 60px #0002;background:#25292c}
.hero-media::after{content:'';position:absolute;inset:0;border:0;border-left:6px double var(--gold);border-bottom:6px double var(--gold);border-radius:inherit;pointer-events:none;z-index:3}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-image{position:static;inset:auto;width:100%;height:100%;z-index:auto;object-fit:cover;object-position:var(--photo-focus,50% 60%)}
.hero-image[data-photo="retail-parking-lot-line-striping"]{--photo-focus:50% 70%}
.hero-image[data-photo="landscaped-driveway-paving"]{--photo-focus:50% 65%}
.hero-photo-label{position:absolute;left:28px;top:24px;z-index:2;background:#202428ec;color:#f1f4f7;font-size:9px;font-weight:600;letter-spacing:.16em;padding:10px 14px;border-left:3px solid var(--gold)}
.hero-carousel-footer{position:absolute;inset:auto 0 0;z-index:2;padding:62px 28px 29px 55px;background:linear-gradient(transparent,#101417e8 38%,#101417f5);color:#f4f6f8;display:flex;align-items:end;justify-content:space-between;gap:20px}
.hero-carousel-footer>p{font-size:15px;line-height:1.45;max-width:230px;margin:0;text-wrap:balance}
.hero-carousel-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.hero-carousel-controls button{display:grid;place-items:center;background:#1d242a;color:#f3ce76;border:1px solid #758089;min-width:44px;height:44px;padding:10px;cursor:pointer}
.hero-carousel-controls button:hover{background:#e1b951;color:#1d2226;border-color:#e1b951}
.hero-carousel-controls .previous-arrow{transform:rotate(180deg)}
.hero-slide-count{font-size:12px;font-weight:600;letter-spacing:.08em;margin-right:9px;color:#e4e9ee;white-space:nowrap}
.hero-carousel-controls button:focus-visible{outline-color:#f4cc70;box-shadow:0 0 0 6px #1c2329}

.trust-strip{background:linear-gradient(100deg,#d0d5d9,#e5e8eb 50%,#c9ced3);border-bottom:1px solid #b4bbc1;border-top:1px solid #f8f9fa}
.trust-strip .container{min-height:87px;gap:32px}
.trust-strip .container>div{gap:14px;font-size:14px;justify-content:flex-start;border-color:#a8afb666;padding-right:25px}
.trust-strip .container>div:last-child{justify-content:flex-start;padding-right:0}
.trust-strip .container>div>.icon{margin-left:auto;width:18px;color:#76602a}
.trust-index{font:700 29px/1 var(--heading);color:#626970}
.trust-amp{color:#664608}
/* Service directory: silver panels and numbered gold plates. */
.services-section{background:linear-gradient(180deg,#e9ecef,#dce0e4)}
.section-heading{margin-bottom:47px}
.heading-row{gap:60px}
.section-intro{max-width:340px;color:#46515b}
.service-grid{gap:26px}
.service-card{background:#f4f5f6;border:1px solid #c4cacf;box-shadow:0 4px 8px #20262a04;position:relative;overflow:hidden}
.service-card:hover{border-color:#a7883d;box-shadow:0 10px 25px #272c3410}
.service-photo{aspect-ratio:4/3}
.service-card-copy{padding:27px 27px 25px;border-top:3px solid #d4ad4a}
.service-card h3{font-size:32px;line-height:1.04;margin-bottom:15px}
.service-card p{font-size:16px;line-height:1.6;color:#46515b;margin-bottom:24px}
.service-card .text-link{border-top:1px solid #c8cdd2;padding-top:15px;font-size:12px;letter-spacing:.02em}
.service-card .text-link .icon{background:var(--gold-plate);color:#25272b;padding:5px;width:27px;height:27px;border-radius:50%}
.service-number{top:16px;bottom:auto;left:16px;background:#171b1f;color:#f0ca70;font:700 27px/1 var(--heading);letter-spacing:.02em;padding:9px 11px;border:1px solid #d4ad4a;box-shadow:0 3px 10px #0003}
.primary-service-grid>.service-card:first-child{grid-template-columns:1.15fr 1fr;background:var(--dark-surface);color:#f3f5f7;border-color:#565c62}
.primary-service-grid>.service-card:first-child .service-photo{height:370px}
.primary-service-grid>.service-card:first-child .service-card-copy{padding:43px 46px;border:0;background-image:var(--grain)}
.primary-service-grid>.service-card:first-child h3{font-size:54px;max-width:360px}
.primary-service-grid>.service-card:first-child p{color:var(--dark-copy);max-width:365px;font-size:18px}
.primary-service-grid>.service-card:first-child .text-link{border-color:#ffffff30;color:#e3e6e9}
.service-jump-links a{background:var(--silver);border-color:#bfc6cd;color:#33383d}
.service-jump-links a:hover{background:var(--gold-plate);border-color:#b88e2a}
.service-group-header{border-bottom:1px solid #b7bec5;padding-bottom:25px}
.service-group-header h2{font-size:46px}
.service-group-header p{color:#5b626a}
@media(min-width:961px){#additional .service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}#additional .service-grid>.service-card{grid-column:span 2}#additional .service-grid>.service-card:nth-last-child(2){grid-column:2/span 2}#additional .service-grid>.service-card:last-child{grid-column:4/span 2}}
@media(min-width:551px) and (max-width:960px){#additional .service-grid>.service-card:last-child{grid-column:1/-1;width:calc(50% - 13px);justify-self:center}}
.service-link-grid>a{border-color:#b9c0c7}
.service-link-grid .icon{color:var(--gold-deep)}
.service-link-grid>a:hover{color:#785815}
.services-directory-cta{display:flex;justify-content:center;margin-top:36px}
.service-content-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;padding-top:28px;border-top:1px solid #bdc6ce}
@media(max-width:700px){.service-content-actions .button{width:100%;justify-content:space-between}.services-directory-cta{margin-top:28px}}
.additional-services-home{margin-top:56px;padding:38px;display:grid;grid-template-columns:.65fr 1.4fr;gap:48px;background:#d2d8dd;border-top:4px double #987b39}
.additional-services-home h3{font-size:39px;margin-bottom:20px}
.additional-services-home p:not(.eyebrow){color:#46515b;font-size:16px;max-width:270px}
.additional-service-links{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-content:start}
.additional-service-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid #a2adb5;font-size:15px;line-height:1.45;min-height:62px}
.additional-service-links a .icon{color:#755716;flex-shrink:0;width:18px}
.additional-service-links a:hover{color:#705014;border-bottom-color:#705014}
/* The transformation section sits on asphalt rather than a pale card grid. */
.comparison-section{background-color:var(--dark-surface);background-image:var(--grain),linear-gradient(130deg,#252a30,#15191d);color:#f1f4f7;border-block:1px solid #555b60;position:relative}
.comparison-section .eyebrow,.process-section .eyebrow,.contact-section .eyebrow,.page-intro .eyebrow{color:#f0ca70}
.comparison-section .eyebrow>span{border-color:var(--gold)}
.comparison-section h2{font-size:clamp(44px,4.2vw,61px)}
.serif-accent{color:var(--logo-gold);background:var(--logo-gold-plate);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.comparison-section .section-copy>p:not(.eyebrow){color:var(--dark-copy)}
.comparison-section .text-link{color:#e9ecef;border-color:#6d737a}
.comparison-section .text-link .icon{color:var(--gold)}
.project-tabs{border-top-color:#697078;margin-top:33px}
.project-tabs button{color:#e1e7ed;border-bottom-color:#75808b;min-height:56px;padding-inline:12px;transition:background .2s}
.project-tabs button span{color:#f0cd7d}
.project-tabs button:hover{background:#ffffff07}
.project-tabs button[aria-pressed=true]{color:#f4f5f6;background:#ffffff0a;border-left:2px solid #d6ad47;padding-left:10px}
.project-tabs button[aria-pressed=true] .icon{color:var(--gold)}
.compare-figure{padding:12px;background:#e4e7ea;color:#2b2e32;border:1px solid #bac1c8;box-shadow:0 18px 38px #17191d24}
.comparison{aspect-ratio:1.22}
/* Keep both photos on the same 4:3 plane at every slider aspect ratio.
   The before wrapper clips the aligned image without resizing it as the divider moves. */
@supports(width:1cqw){
  .comparison{container-type:size}
  .comparison img{position:absolute;inset:auto;left:50%;top:50%;width:max(100cqw,133.333333cqh);height:max(100cqh,75cqw);max-width:none;transform-origin:center;transform:translate(calc(-50% + var(--align-x,0%)),calc(-50% + var(--align-y,0%))) rotate(var(--align-angle,0deg)) scale(var(--align-scale,1))}
  .compare-after{--align-x:var(--after-x,0%);--align-y:var(--after-y,0%);--align-angle:var(--after-angle,0deg);--align-scale:var(--after-scale,1)}
  .compare-before img{--align-x:var(--before-x,0%);--align-y:var(--before-y,0%);--align-angle:var(--before-angle,0deg);--align-scale:var(--before-scale,1)}
}
.compare-figure figcaption{padding:0 6px;margin-top:13px}
.compare-controls{border-color:#697681;background:#d6dbe0}
.compare-controls button{border-color:#697681}
.compare-controls button[aria-pressed=true]{background:#161a1e;color:#f5d078;box-shadow:inset 0 -3px #e4b84e}
.compare-controls button:hover:not([aria-pressed=true]){background:#c6cdd4}
.compare-hint{color:#46515b;margin:7px 6px 0}
.compare-label{background:#292c30ed}
.label-after{background:var(--gold-plate);color:#25272b}
.compare-handle,.compare-handle svg{background:var(--gold-plate)}
.comparison:focus-within{outline:3px solid #f0c75f;outline-offset:4px;box-shadow:0 0 0 7px #25272a}
.comparison-list>div>p{color:var(--dark-copy)}
.comparison-showcase{align-items:start}
.comparison-showcase .comparison-list>div{margin:0}
.comparison-showcase .comparison{aspect-ratio:1.5}
.comparison-showcase .comparison-list h3{font-size:34px;margin:24px 0 12px;color:#f4f6f8}
.comparison-showcase .comparison-list>div>p{margin:0;max-width:720px}
/* Human-scale story, and a road-marking-inspired process. */
.about-section{background:#e8ebee}
.about-visual{height:auto;padding-bottom:156px;align-self:center}
.about-visual:before{content:'';position:absolute;inset:18px 20px 138px -16px;border:1px solid #929ba3;pointer-events:none}
.about-photo{position:static;inset:auto;height:auto;width:100%;aspect-ratio:4/3;border-radius:2px 2px 50px 2px;border:1px solid #aeb6bd}
.about-visual .video-feature{width:190px;right:24px}
.video-feature{border:7px solid #e3e7ea;box-shadow:0 12px 35px #22262b30;background:#2d3034}
.video-caption{background:#33373c;border-top:2px solid var(--gold);font-size:8px;padding:13px 6px}
.photo-label{color:#46515b;letter-spacing:.13em;writing-mode:horizontal-tb;transform:none;left:0;bottom:42px;font-size:10px;line-height:1.7;max-width:calc(100% - 245px);padding-top:12px;border-top:3px double #9d7b2c}
.about-copy h2{font-size:clamp(44px,4vw,58px)}
.about-copy .lead{font-size:23px;line-height:1.5;color:#363c43}
.about-copy p:not(.lead):not(.eyebrow){color:#46515b}
.process-section{background-color:var(--dark-surface);background-image:var(--grain),linear-gradient(120deg,#22272c,#13171b);border-block:1px solid #535960}
.process-section .section-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:70px;margin-bottom:56px}
.process-section h2{color:#e3e7eb;flex:none}
.process-intro{max-width:470px;margin:0 0 5px;color:#cbd2d8;font-size:18px;line-height:1.65}
.process-grid{gap:0;border-top:5px double #be963b;padding-top:0}
.process-grid article{position:relative;padding:36px 38px 0 0}
.process-grid article+article{border-left:1px solid #62686e;padding-left:38px}
.step-number{font-size:86px;line-height:1;color:var(--logo-gold);background:var(--logo-gold-plate);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:28px}
.process-grid h3{font-size:30px;color:#e7eaed;max-width:260px}
.process-grid p{color:var(--dark-copy);font-size:16px}
.testimonials{background-color:#171b1f;background-image:var(--grain),radial-gradient(circle at 85% 15%,#454b522e,transparent 30%),linear-gradient(125deg,#23282d,#121519 72%);color:#f4f6f7;position:relative;overflow:hidden}
.testimonials .eyebrow{color:#c7ced4}.testimonials .eyebrow>span{border-color:var(--gold)}
.review-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.review-heading h2{color:#f5f7f8}
.review-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-width:260px;padding:17px 18px;border:1px solid #69717a;background:#ffffff08;border-left:4px solid var(--gold);box-shadow:0 8px 24px #0002}
.review-summary:hover{background:#ffffff10}.review-summary>strong{font:800 50px/.85 var(--heading);color:#f3cf72}.review-summary>span{display:flex;flex-direction:column;gap:4px}.review-summary small{color:#ccd2d7;font-size:11px}.review-summary .icon{width:18px;color:#d8ae42}
.review-stars{color:#e8bd51;letter-spacing:.08em;line-height:1;font-size:16px;white-space:nowrap}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:transparent;border:0}
.review-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}
.review{margin:0;padding:28px 28px 26px;border:1px solid #59616a;background:linear-gradient(145deg,#30363c,#22272c);box-shadow:inset 0 3px var(--gold),0 10px 26px #0002;display:flex;flex-direction:column;min-width:0}
.review:first-child{padding-left:28px}.review:last-child{border:1px solid #59616a}
.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.review-source{display:inline-flex;align-items:center;gap:7px;color:#cdd3d8;font-size:11px;white-space:nowrap}.review-source:hover{color:#fff}
.review-source-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f5f6f7;color:#4285f4;font:700 12px/1 Arial,sans-serif}
.review blockquote{margin:0 0 18px;font-size:19px;line-height:1.62;color:#f0f2f4;max-width:none}.review blockquote p{margin:0;white-space:pre-line}
.review-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--review-lines,8);overflow:hidden}
.review-grid:not(.review-grid-all) .review-text{--review-lines:5}
.review-text.is-expanded{display:block;-webkit-line-clamp:unset;overflow:visible}
.review-toggle{align-self:flex-start;margin:0 0 24px;padding:4px 0 5px;border:0;border-bottom:1px solid #bd963c;background:transparent;color:#efc75f;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.03em}
.review-toggle:hover{color:#fff;border-color:#fff}
.review figcaption{margin-top:auto}.review-person{display:inline-flex;align-items:center;gap:13px;color:#f5f7f8}.review-person:hover strong{text-decoration:underline;text-underline-offset:3px}
.review-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #b58d33;background:#d5dade;box-shadow:0 3px 12px #0004}
.review figcaption strong{display:block;color:#f5f7f8;font-size:14px}.review figcaption small{display:block;margin-top:4px;color:#aeb7bf;font-size:11px}
.review-footer{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:28px}.review-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.testimonials .button-outline{color:#f5f7f8;border-color:#7c8791}.testimonials .button-outline:hover{border-color:#a9b2ba}
/* Coverage, questions and project galleries. */
.area-section{background:linear-gradient(135deg,#d7dce1,#e5e9ec)}
.area-grid{grid-template-columns:.9fr 1.2fr;gap:75px}
.area-groups{min-width:0}
.state-group{background:linear-gradient(145deg,#f2f4f6,#e9edf0);border:1px solid #b6bec5;padding:25px 28px;position:relative;box-shadow:0 8px 22px #252a3009,inset 0 1px #fff}
.state-group:before{content:'';position:absolute;top:0;left:28px;width:45px;height:3px;background:var(--gold)}
.state-title{border-color:#b6bfc7;padding-bottom:16px;margin-bottom:12px;gap:12px}
.state-title h3{font-size:30px}
.state-title>span{white-space:nowrap;color:#5e6871}
.city-links-featured,.city-links-directory{grid-template-columns:repeat(4,minmax(0,1fr))}
.city-links{column-gap:24px;row-gap:1px}
.city-links a{color:#3f4851;font-size:14px;font-weight:600;min-height:40px;justify-content:flex-start;gap:8px;width:max-content;max-width:100%;padding:8px 0;text-decoration:none}
.city-links a:hover{color:#684c0f;text-decoration:none}
.city-links .icon{color:#765b1d;width:21px;height:21px;padding:4px;border:1px solid #b99b56;border-radius:50%;background:#e1b94c14;transition:transform .2s,background .2s,color .2s;flex:0 0 21px}
.city-links a:hover .icon{transform:translate(2px,-2px);background:var(--gold);color:#24282c;border-color:#bd9231}
.state-directory-link{display:inline-flex;align-items:center;gap:10px;margin-top:17px;padding:11px 0 4px;color:#664b12;font-size:13px;font-weight:700;border-bottom:1px solid #9f7a29;text-decoration:none}.state-directory-link .icon{width:17px;height:17px;transition:transform .2s}.state-directory-link:hover{color:#2f3439;border-color:var(--gold-deep)}.state-directory-link:hover .icon{transform:translateX(3px)}
.state-group+.state-group{margin-top:22px}
.area-section>.container:not(.area-grid)>.area-groups{display:grid;grid-template-columns:1fr;align-items:start;gap:26px}
.area-section>.container:not(.area-grid)>div:first-child>h2+p{max-width:720px;margin-top:24px;color:var(--muted);font-size:17px}
.area-section>.container:not(.area-grid)>.area-groups .state-group{margin-top:0}
.area-section>.container:not(.area-grid)>.area-groups .state-group{padding:30px 32px 34px}
.area-search{border-color:#65737f;background:#f2f4f6;max-width:600px}
.area-search .icon{color:#76591c}
.area-search input{color:#303740;min-width:0}
.faq-section{background:#edf0f2}
.faq-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:27px}
.faq-actions .text-link{margin:0}
.faq-actions .button{min-width:230px}
.faq-list{border:0;counter-reset:question}
.faq-list details{background:#e1e6ea;border:1px solid #c4cdd4;margin-bottom:10px;padding:0 22px;counter-increment:question}
.faq-list summary{padding:22px 0;gap:18px;color:#343c45;font-size:17px}
.faq-list summary:before{content:counter(question,decimal-leading-zero);font:700 21px var(--heading);color:#80601c;align-self:center}
.faq-list summary .icon{margin-left:auto;color:#76602b}
.faq-list details p{padding:0 0 5px 39px;color:#46515b;font-size:16px}
.faq-list details[open]{background:#f5f6f7;border-left:3px solid #ba9033;padding-left:20px}
.gallery-section{background:#e9ecef}
.gallery-curated{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 26px}
.gallery-curated>.gallery-item{grid-column:span 2}
.gallery-curated>.gallery-item:nth-child(-n+2){grid-column:span 3}
.gallery-curated:has(>.gallery-item[hidden])>.gallery-item{grid-column:span 2}
.gallery-item figcaption{padding:17px 0;border-bottom:1px solid #a9b4bd}
.gallery-item small{color:#765a24;letter-spacing:.12em}
.gallery-item h3{font-size:29px;color:#313840}
.gallery-open{border-radius:2px 2px 25px 2px}
.gallery-filters button{background:#dde3e8;border-color:#6c7883;color:#35424d;min-height:44px}
.gallery-filters button[aria-pressed=true]{background:#161a1e;color:#f5d078;border-color:#161a1e;box-shadow:inset 0 -3px #e4b84e}
.lightbox{background:#292d32}
.lightbox::backdrop{background:#161a1eeb}
.project-video-section{background:linear-gradient(180deg,#dce2e7,#f0f2f4);overflow:hidden}
.project-video-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:84px;align-items:center}
.project-video-composition{position:relative;min-height:560px}
.project-video-composition:before{content:'';position:absolute;inset:18px 58px 108px -14px;border:1px solid #8e99a3;pointer-events:none}
.project-video-photo{position:relative;width:calc(100% - 76px);height:430px;object-fit:cover;object-position:50% 58%;border:1px solid #aeb6bd;border-bottom:5px double #b99134;box-shadow:0 18px 40px #1a22282a}
.project-video-composition .video-feature{position:absolute;right:0;bottom:0;width:205px;margin:0;z-index:3;border-color:#f4f6f7}
.project-video-label{position:absolute;left:28px;bottom:40px;z-index:2;max-width:285px;background:#171c20ed;color:#f2f5f7;padding:18px 22px;border-left:4px solid var(--logo-gold);box-shadow:0 10px 30px #11181d33}
.project-video-label span{display:block;color:#f0ca70;font-size:9px;font-weight:700;letter-spacing:.14em;margin-bottom:7px}
.project-video-label strong{display:block;font:700 24px/1.08 var(--heading);text-transform:uppercase}
.project-video-copy h2{color:#303840;margin-bottom:26px}
.project-video-copy .lead{font-size:21px;color:#303840}
.project-video-copy>p:not(.eyebrow):not(.lead){color:#505b65}
.project-jump-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px}
.project-jump-links a{color:#f0ca70;font-size:14px;padding-block:10px;border-bottom:1px solid #8e794a}
.project-jump-links a:hover{color:#fff;border-color:#fff}
/* Focal points preserve the work area when a landscape image needs a crop. */
.service-photo img,.intro-image,.service-example img,.gallery-open img,.about-photo{object-position:var(--photo-focus,50% 55%)}
[data-photo="asphalt-paving-crew"]{--photo-focus:65% 45%}
[data-photo="driveway-paving-machine"]{--photo-focus:68% 60%}
[data-photo="commercial-paving-in-progress"]{--photo-focus:55% 65%}
[data-photo="commercial-asphalt-parking-lot"]{--photo-focus:50% 72%}
[data-photo="stone-edged-driveway"]{--photo-focus:50% 62%}
[data-photo="residential-asphalt-driveway"]{--photo-focus:50% 65%}
[data-photo="country-driveway-paving"]{--photo-focus:55% 62%}
[data-photo="driveway-asphalt-repairs"]{--photo-focus:50% 68%}
[data-photo="garage-courtyard-after"]{--photo-focus:50% 75%}
[data-photo="finished-garage-courtyard"]{--photo-focus:50% 75%}
[data-photo="stone-surfaced-garage-driveway"]{--photo-focus:50% 68%}
[data-photo="driveway-grading-in-progress"]{--photo-focus:65% 66%}
[data-photo="gravel-base-installation"]{--photo-focus:65% 65%}
[data-photo="driveway-asphalt-removal-crew"]{--photo-focus:40% 45%}
[data-photo="private-lane-paving-in-progress"]{--photo-focus:50% 40%}
[data-photo="e-wells-paving-truck"]{--photo-focus:65% 65%}
/* Inner pages keep the same asphalt material and gold edge. */
.page-intro{background-color:var(--hero-asphalt-color);background-image:var(--hero-asphalt-surface);padding-block:64px 65px;border-bottom:5px double #b8943c}
.breadcrumbs{color:#dce3e9;margin-bottom:43px;letter-spacing:.03em}
.intro-grid{gap:65px}
.intro-grid h1{color:#e6e9ed;line-height:1.02;font-size:clamp(48px,5.2vw,74px);overflow-wrap:normal}
.intro-grid .lead{color:var(--dark-copy);font-size:19px;line-height:1.65;margin-block:24px}
.intro-grid .button{margin-top:0}
.intro-image{border:1px solid #9da5ac;border-bottom:5px solid #cfa33b;height:355px;border-radius:2px 2px 55px 2px;box-shadow:12px 12px 0 #ffffff09}
.intro-photo figcaption{color:#dae2ea;margin-top:20px;line-height:1.65;font-size:12px}
.page-intro-compact{padding-bottom:48px}
.page-intro-compact h1{font-size:clamp(46px,5vw,68px)}
.content-main h2{font-size:clamp(40px,4vw,56px)}
.content-main>p,.page-copy>p,.page-copy li{color:#46515b}
.content-main .lead{color:#3f4851}
.side-card{background-color:#1e242a;background-image:var(--grain);border-top:5px double #c9a144;color:#f2f5f7;padding:33px}
.side-card .eyebrow{color:#f0ca70}
.side-card h3{font-size:34px}
.side-card p{color:var(--dark-copy);font-size:16px}
.side-card .button{font-size:17px;gap:12px}
.side-card .button .icon{padding-left:12px}
.side-card .text-link{color:#e1e6ec;border-color:#65707b;font-size:22px}
.side-card .text-link .icon{color:var(--gold)}
.side-card .city-links a{color:#d5dce3}
.side-card .city-links .icon{color:var(--gold)}
.note-box{background:#dee4e9;border-color:#aa8030;color:#4b5864;padding:24px 27px}
.service-checklist .icon{color:#836020}
.service-example{padding:12px;background:#f4f6f7;border:1px solid #c4ccd2;border-bottom:3px solid #b38d37}
.service-example img{border-radius:0;border:0;aspect-ratio:3/2}
.service-example figcaption{color:#46515b;border:0;padding:5px 8px 9px;margin-top:12px;font-size:14px}
.service-example figcaption>span{display:block;font-size:9px;letter-spacing:.12em;font-weight:700;color:#735413;margin-bottom:6px}
.service-motion{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:36px;margin:38px 0;padding:28px 30px;background-color:#1d2328;background-image:var(--grain),linear-gradient(135deg,#30373d,#181d21);color:#eef1f3;border-left:4px solid var(--logo-gold);box-shadow:0 12px 28px #1d242a24}
.service-motion h3{font-size:34px;margin-bottom:14px;color:#f3f5f6}
.service-motion p:not(.eyebrow){color:#c9d0d5;font-size:15px;line-height:1.65;margin:0}
.service-motion .eyebrow{color:#efc75f;margin-bottom:14px}
.service-motion .video-feature{width:170px;justify-self:end;border-color:#e8ecef;box-shadow:0 10px 24px #0005}
/* Estimate and footer: silver form on a wide graphite base. */
.contact-section{background-color:var(--dark-surface);background-image:var(--grain),linear-gradient(135deg,#252c33,#13171b 75%);border-top:5px double #c6a353;border-bottom:1px solid #606871;position:relative}
.contact-page-lead{background-color:var(--hero-asphalt-color);background-image:var(--hero-asphalt-surface)}
.contact-grid{gap:85px;grid-template-columns:1fr 1.05fr}
.contact-copy{padding-top:20px}
.contact-copy :is(h1,h2){font-size:clamp(54px,5.4vw,78px);color:#e7ebef;line-height:1.01}
.contact-copy :is(h1,h2) span{color:var(--logo-gold);background:var(--logo-gold-plate);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.contact-copy>p:not(.eyebrow){color:var(--dark-copy);font-size:18px;max-width:400px}
.big-phone{font-size:42px;color:#e4e9ee;transition:color .2s,transform .2s}
.big-phone .icon{width:36px;height:36px;padding:8px;border:1px solid var(--logo-gold);border-radius:50%;color:var(--logo-gold);transition:background .2s,color .2s,border-color .2s}
.big-phone:hover{color:var(--logo-gold);transform:translateX(4px)}
.big-phone:hover .icon{background:var(--gold-plate);color:#171c20;border-color:transparent}
.contact-small{color:#d2dde6}
.contact-detail{color:#e0e7ee;font-size:15px;overflow-wrap:anywhere}
.estimate-note{border-color:#67727d;color:#d6dde5}
.estimate-form{background:linear-gradient(135deg,#f0f3f5,#d5dce2);border:1px solid #b8c3cd;border-top:5px solid #d1aa4d;padding:38px;box-shadow:0 20px 60px #11171c35}
.estimate-form h3{font-size:35px;color:#2b343c}
.form-intro{font-size:14px;color:#46515b}
.form-grid label{font-size:12px;color:#3a4651}
.form-grid input,.form-grid select,.form-grid textarea{background:#f7f9fa;border-color:#65737f;color:#25313c;border-radius:2px;box-shadow:inset 0 1px 2px #18263207}
.form-grid label>span{color:#73510b}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#556471}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#a27929;outline-color:#a27929;background:#fff}
.form-privacy{color:#46515b;font-size:11px}
.preview-notice{background:#e7debd;border-color:#aa822b;color:#4e493b}
altcha-widget{--altcha-color-text:#495661}
.site-footer{background:var(--nav-surface);color:#d1dae3;padding-top:65px;font-size:14px}
.footer-brand .logo{width:170px}
.footer-brand p{color:#d1dae3}
.site-footer h2{color:var(--logo-gold);letter-spacing:.13em}
.footer-grid{gap:44px}
.footer-phone{color:#e0e6eb}
.footer-bottom{border-color:#65717d;color:#d1dae3}
/* Responsive compositions; images are never hidden behind mobile text. */
@media(min-width:1700px){.hero{min-height:770px}.hero-content{padding-top:104px}.hero-media{left:calc(50% - 30px);bottom:195px}}
@media(max-width:1200px){
  .nav-row{gap:20px}#main-nav{gap:21px}.brand{margin-right:auto}.logo{width:130px}
  .hero{min-height:700px}.hero-copy{width:46%}.hero-content{padding-top:89px}.hero h1>span{font-size:99px}.hero h1{font-size:51px}
  .hero-copy>p:not(.eyebrow){font-size:17px}.hero-actions .button{font-size:15px;padding:14px;gap:10px}.hero-actions .button .icon{padding-left:10px;width:16px}
  .hero-media{left:50%;bottom:122px}
  .comparison-layout,.about-grid,.area-grid,.faq-grid,.contact-grid{gap:45px}
  .project-video-grid{gap:55px}.project-video-composition{min-height:520px}.project-video-photo{height:400px}
  .service-card-copy{padding:24px}.service-card h3{font-size:29px}.primary-service-grid>.service-card:first-child .service-card-copy{padding:35px}
  .contact-grid{grid-template-columns:1fr 1fr}.contact-copy :is(h1,h2){font-size:64px}.big-phone{font-size:40px}.estimate-form{padding:30px}
  .footer-grid{gap:28px}.state-group{padding:23px}
}
@media(max-width:960px){
  .section{padding-block:80px}.nav-row{height:90px}.logo{width:125px}.header-estimate{display:inline-flex;font-size:16px}
  #main-nav{background:var(--nav-surface);padding-inline:30px}.services-menu{background:transparent;border:0;box-shadow:none;padding:8px 0 16px}
  .hero{display:flex;min-height:0;flex-direction:column;padding-bottom:0}
  .hero-content{order:0;padding-block:61px 42px;pointer-events:auto}
  .hero-copy{width:100%;max-width:700px}.hero .eyebrow{font-size:10px;margin-bottom:23px}
  .hero h1{font-size:50px}.hero h1>span{font-size:clamp(76px,10.9vw,103px);line-height:.95;margin-top:4px}
  .hero h1>span br{display:none}.hero h1>span br:after{content:' '}
  .hero h1>span{word-spacing:.03em}.hero-copy>p:not(.eyebrow){font-size:18px}
  .hero-actions .button{font-size:17px;padding:15px 20px;gap:16px}.hero-note{font-size:8px;margin-top:22px}
  .hero-media{position:relative;order:1;top:auto;right:auto;bottom:auto;left:auto;width:calc(100% - 24px);margin-left:24px;height:410px;border-radius:0 0 0 75px;border:0}
  .hero-image{height:100%;position:static;max-height:none}



  .trust-strip .container{gap:18px;min-height:82px}.trust-strip .container>div{font-size:12px;gap:10px;padding-right:15px}.trust-index{font-size:24px}.trust-strip .container>div>.icon{display:none}
  h2,.heading-row h2{font-size:49px}.heading-row{gap:30px}.section-intro{max-width:290px}
  .primary-service-grid>.service-card:first-child h3{font-size:45px}.primary-service-grid>.service-card:first-child p{font-size:17px}.primary-service-grid>.service-card:first-child .service-photo{height:340px}
  .comparison-layout{grid-template-columns:1fr 1.15fr;gap:30px}.comparison-section h2{font-size:44px}.compare-figure{padding:9px}
  .compare-figure figcaption{align-items:start;flex-direction:column;gap:12px}.compare-controls{width:100%}.compare-controls button{flex:1;padding:10px 8px}.compare-hint{font-size:11px}
  .project-tabs button{padding-block:14px;font-size:13px}.project-tabs{margin-top:22px}.comparison-section .section-copy>p:not(.eyebrow){font-size:16px}
  .about-grid{gap:35px}.about-visual{padding-bottom:170px}.about-copy h2{font-size:44px}.about-copy .lead{font-size:21px}
  .about-visual .video-feature{width:160px;right:0}.photo-label{max-width:calc(100% - 185px)}
  .gallery-curated{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-curated>.gallery-item,.gallery-curated>.gallery-item:nth-child(-n+2),.gallery-curated:has(>.gallery-item[hidden])>.gallery-item{grid-column:auto}
  .process-section .section-heading{gap:38px}.process-section h2{flex-basis:auto}.process-intro{font-size:17px}.process-grid article{padding-right:25px}.process-grid article+article{padding-left:25px}.step-number{font-size:72px}.process-grid h3{font-size:28px}
  .area-grid{grid-template-columns:1fr 1.2fr;gap:30px}.state-group{padding:22px}.city-links-featured,.city-links-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.city-links{gap:0 20px}.state-title h3{font-size:27px}.state-title{align-items:flex-start;flex-direction:column;gap:5px}
  .faq-grid{gap:30px;grid-template-columns:1fr 1.2fr}.faq-list details{padding-inline:18px}.faq-list details[open]{padding-left:16px}.faq-list summary{font-size:16px;gap:13px}
  .contact-grid{gap:35px;grid-template-columns:.9fr 1fr}.contact-copy :is(h1,h2){font-size:53px}.big-phone{font-size:36px}.estimate-form{padding:25px}.estimate-form h3{font-size:31px}.contact-copy>p:not(.eyebrow){font-size:16px}
  .project-video-grid{grid-template-columns:1fr;gap:48px}.project-video-composition{max-width:720px;width:100%}.project-video-copy{max-width:680px}
  .intro-grid{gap:35px}.intro-grid h1{font-size:clamp(44px,5.6vw,57px)}.intro-image{height:315px}.intro-grid .lead{font-size:17px}
  .side-card{padding:25px}.side-card h3{font-size:30px}.side-card .button{font-size:15px;padding-inline:15px}.side-card .text-link{font-size:20px}
}
@media(max-width:700px){
  .section{padding-block:64px}.utility .container{height:28px}.nav-row{height:80px;gap:14px}.logo{width:108px}.header-estimate{font-size:14px;padding:11px 13px;gap:10px;min-height:43px}.header-estimate .icon{width:15px;height:15px;padding-left:10px}.menu-toggle{padding:7px}
  #main-nav{padding-inline:22px}.services-toggle{font-size:28px}
  .hero-content{padding-block:46px 31px}.hero-copy{max-width:500px}.hero .eyebrow{font-size:9px;letter-spacing:.085em;gap:10px;margin-bottom:20px}
  .hero h1{font-size:36px;line-height:1.05;margin-bottom:20px}.hero h1>span{font-size:clamp(60px,12.8vw,88px);line-height:.95;letter-spacing:-.02em}
  .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;margin-bottom:23px}.desktop-break{display:none}
  .hero-actions{gap:10px}.hero-actions .button{font-size:15px;gap:10px;padding:13px 14px;min-height:49px}.hero-actions .button .icon{width:16px;height:16px;padding-left:10px}
  .hero-actions .button-glass{border:0;background:none;padding-inline:5px;font-family:var(--body);font-size:13px;gap:8px;text-transform:none;letter-spacing:0}
  .hero-actions .button-glass .icon{padding-left:0;border-left:0;width:16px}
  .hero-note{font-size:9px;letter-spacing:.08em;margin-top:20px}
  .hero-media{height:85vw;min-height:300px;max-height:400px;margin-left:14px;width:calc(100% - 14px);border-bottom-left-radius:58px}.hero-image{height:100%}
  .hero-photo-label{font-size:9px;top:15px;left:22px;padding:8px 11px}

  .trust-strip .container{grid-template-columns:1fr;gap:0;padding-block:9px}.trust-strip .container>div{padding:11px 0;font-size:13px;border-bottom:1px solid #aab2ba77;border-right:0;gap:16px}.trust-strip .container>div>.icon{display:block;width:17px}.trust-index{font-size:22px;width:24px}
  h2,.heading-row h2{font-size:44px;line-height:1.03}.section-heading{margin-bottom:32px}.heading-row{gap:24px}.section-intro{max-width:none;font-size:16px}
  .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:21px}.eyebrow>span{width:26px}
  .service-grid{gap:23px}.service-card h3{font-size:29px}.service-card-copy{padding:24px}.service-photo{aspect-ratio:4/3}
  .primary-service-grid>.service-card:first-child{display:flex}.primary-service-grid>.service-card:first-child .service-photo{height:auto;aspect-ratio:1.55}.primary-service-grid>.service-card:first-child .service-card-copy{padding:26px}.primary-service-grid>.service-card:first-child h3{font-size:38px}.primary-service-grid>.service-card:first-child p{font-size:17px}
  .service-card .text-link{font-size:12px}.service-group-header h2{font-size:38px}
  .comparison-layout{grid-template-columns:1fr;gap:32px}.comparison-section h2{font-size:46px}.comparison-section .section-copy>p:not(.eyebrow){max-width:none}
  .section-copy .small{max-width:none!important}.project-tabs button{font-size:14px;padding-block:15px}.compare-figure{padding:9px}.comparison{aspect-ratio:1.16}.compare-figure figcaption{padding-inline:2px}.compare-hint{margin-left:2px}.compare-controls button{min-height:44px}
  .about-grid{gap:39px}.about-visual{height:auto;max-width:550px;padding-bottom:150px}.about-visual:before{inset:13px 20px 137px -10px}.about-photo{height:auto;width:100%;border-bottom-left-radius:40px}.about-visual .video-feature{width:160px;right:12px}.photo-label{max-width:calc(100% - 195px);bottom:30px;font-size:9px}.about-copy h2{font-size:44px}.about-copy .lead{font-size:22px}
  .process-section .section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:34px}.process-section .eyebrow{margin-top:0}.process-intro{max-width:none;margin:0;font-size:16px;line-height:1.6}.process-grid{grid-template-columns:1fr;border-top:0;gap:0}
  .process-grid article,.process-grid article+article{border:0;border-top:1px solid #717a83;padding:27px 0 28px 72px;min-height:0}.step-number{position:absolute;left:0;top:23px;font-size:57px;margin:0}.process-grid h3{font-size:28px;max-width:none}.process-grid p{max-width:none}
  .review-heading{align-items:flex-start;flex-direction:column;margin-bottom:30px}.review-summary{width:100%;min-width:0}.review-grid,.review-grid-all{grid-template-columns:1fr}.review,.review:first-child{padding:25px 22px;border:1px solid #59616a}.review:last-child{border:1px solid #59616a}.review blockquote{font-size:18px;line-height:1.6;max-width:none;margin-bottom:18px}.review-card-head{margin-bottom:21px}.review-footer{align-items:center;flex-direction:column;margin-top:25px}.review-actions{justify-content:center;display:grid;width:min(100%,380px)}.review-actions .button{width:100%;justify-content:space-between}
  .area-grid{grid-template-columns:1fr;gap:34px}.area-grid>div:first-child>p:not(.eyebrow){max-width:none}.state-group{padding:24px 22px}.state-title{flex-direction:row;align-items:center;gap:10px}.state-title h3{font-size:29px}.state-title>span{font-size:10px}.city-links a{font-size:14px}
  .area-section>.container:not(.area-grid)>.area-groups{grid-template-columns:1fr;gap:23px}.area-section>.container:not(.area-grid)>.area-groups .state-group{padding:24px 22px}.area-section>.container:not(.area-grid) .city-links{gap:0 17px}
  .faq-grid{grid-template-columns:1fr;gap:32px}.faq-actions .button{width:100%}.faq-list details{padding-inline:18px}.faq-list summary{font-size:16px;gap:12px;padding-block:19px}.faq-list summary:before{font-size:18px}.faq-list details p{padding-left:30px;font-size:15px}
  .gallery-item h3{font-size:28px}.gallery-item figcaption{padding-block:15px}.project-video-composition{min-height:430px}.project-video-composition:before{inset:12px 20px 112px -8px}.project-video-photo{width:100%;height:270px}.project-video-composition .video-feature{width:142px;right:0}.project-video-label{left:0;bottom:32px;max-width:195px;padding:15px 16px}.project-video-label strong{font-size:20px}.project-video-copy h2{font-size:42px}
  .gallery-curated{grid-template-columns:1fr;gap:30px}.gallery-curated .gallery-open img{aspect-ratio:4/3}
  .gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-filters button{width:100%;font-size:13px}
  .project-jump-links{gap:8px 18px;margin-top:20px}.project-jump-links a{font-size:13px}
  .page-intro{padding-block:44px 39px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-grid h1{font-size:clamp(41px,10.8vw,57px)}.intro-grid .lead{font-size:18px;margin-block:22px}.intro-image{height:255px;border-bottom-right-radius:40px;box-shadow:8px 8px 0 #ffffff08}
  .intro-grid>div>.button{margin-bottom:0}.intro-photo figcaption{margin-top:17px}.intro-text{display:block}
  .page-intro-compact h1{font-size:clamp(41px,10.8vw,54px)}.page-intro-compact .lead{margin-bottom:0}
  .content-grid{grid-template-columns:1fr;gap:38px}.content-main h2{font-size:43px}.side-card{padding:29px}.side-card h3{font-size:35px}.side-card .button{font-size:18px}.side-card .text-link{font-size:25px}.note-box{padding:22px}.service-example img{aspect-ratio:1.3}
  .service-motion{grid-template-columns:1fr;gap:24px;padding:25px 22px}.service-motion .video-feature{width:min(190px,70vw);justify-self:center}.service-motion h3{font-size:31px}
  .contact-grid{grid-template-columns:1fr;gap:37px}.contact-copy{padding-top:0}.contact-copy :is(h1,h2){font-size:60px}.contact-copy>p:not(.eyebrow){font-size:17px;max-width:none}.big-phone{font-size:36px}.big-phone .icon{width:34px;height:34px;padding:8px}.contact-detail{font-size:15px}.contact-small{font-size:12px}.estimate-form{padding:28px 23px}.estimate-form h3{font-size:33px}.form-grid label{font-size:13px}.submit-button{font-size:16px;gap:12px;padding-inline:15px}.submit-button .icon{width:16px;height:16px;padding-left:12px}
  .site-footer{padding-top:49px}.footer-grid{gap:33px 23px}.footer-brand .logo{width:155px}.site-footer h2{font-size:11px}.footer-bottom{font-size:10px;padding-bottom:max(21px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .nav-row{gap:10px}.logo{width:95px}.header-estimate{font-size:13px;padding-inline:11px;gap:8px}.header-estimate .icon{padding-left:8px;width:13px}.menu-toggle{padding:5px}
  .header-estimate{white-space:nowrap;padding-inline:13px}.header-estimate>.icon{display:none}
  .hero h1{font-size:32px}.hero h1>span{font-size:54px}.hero .eyebrow{font-size:9px;letter-spacing:.045em}.hero-actions .button{font-size:13px;padding:13px 12px;gap:8px}.hero-actions .button .icon{width:14px;height:14px;padding-left:8px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-note{font-size:9px}
  .hero-actions .button-glass{font-size:12px;padding-inline:0;gap:6px}.hero-actions .button-glass .icon{padding-left:0;width:14px}

  h2,.heading-row h2,.about-copy h2,.comparison-section h2{font-size:40px}.about-visual .video-feature{width:140px;right:0}.photo-label{max-width:calc(100% - 160px)}.contact-copy :is(h1,h2){font-size:52px}.big-phone{font-size:32px}.estimate-form{padding:25px 20px}.state-group,.area-section>.container:not(.area-grid)>.area-groups .state-group{padding:22px 18px}.state-title h3{font-size:26px}.state-title>span{font-size:9px}.city-links-directory{grid-template-columns:1fr}.city-links{gap:0 14px}.project-video-composition{min-height:410px}.project-video-composition .video-feature{width:130px}.project-video-label{max-width:180px;padding-inline:14px}
  .submit-button{font-size:15px}
}
@media(min-width:961px) and (max-height:700px){
  .hero{min-height:580px}.hero-content{padding-block:52px 41px}.hero-copy{width:46%}
  .hero .eyebrow{margin-bottom:18px}.hero h1{font-size:40px;margin-bottom:20px}
  .hero h1>span{font-size:clamp(65px,5.7vw,84px);line-height:1;margin-top:8px}.hero h1>span br{display:none}
  .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;margin-bottom:22px}.hero-note{margin-top:20px}
  .hero-media{top:28px;bottom:96px;left:50%}

}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}.service-card:hover img,.gallery-open:hover img{transform:none}}
@media(max-width:960px) and (min-width:701px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid:not(.review-grid-all) .review:last-child{grid-column:1/-1}.review-footer{align-items:center}.review-actions{justify-content:center;width:100%}}
@media(forced-colors:active){.hero h1>span{background:none;-webkit-text-fill-color:currentColor}.button{border:1px solid ButtonText}.service-card,.estimate-form,.compare-figure{border:1px solid CanvasText}}

/* Carousel and service-list adjustments at smaller widths. */
@media(max-width:1200px){.hero-carousel-footer{padding:60px 20px 24px 44px;align-items:start;flex-direction:column;gap:14px}.hero-carousel-footer>p{max-width:340px}.additional-services-home{gap:30px;padding:30px}}
@media(max-width:960px){.hero{padding-bottom:24px}.hero-carousel-footer{flex-direction:row;align-items:end;padding:62px 28px 28px 50px}.additional-services-home{grid-template-columns:1fr;gap:15px}.additional-services-home>div:first-child{max-width:600px}.additional-services-home h3 br{display:none}.additional-services-home p:not(.eyebrow){max-width:none}}
@media(max-width:700px){.hero{padding-bottom:18px}.hero-carousel-footer{flex-direction:column;align-items:start;padding:65px 18px 23px 32px;gap:13px}.hero-carousel-footer>p{font-size:14px;max-width:280px}.hero-carousel-controls{gap:7px}.hero-slide-count{margin-right:12px}.hero-photo-label{left:19px;top:17px;font-size:8px}.additional-services-home{margin-top:36px;padding:25px 22px}.additional-service-links{grid-template-columns:1fr}.additional-service-links a{min-height:58px}.additional-services-home h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
