@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap");
:root{--ink:#171717;--ink-2:#252525;--paper:#f5f5f5;--surface:#fff;--muted:#6e6a64;--line:#e0e0e0;--orange:#ef5b0c;--orange-dark:#c94704;--max:1240px;--text:720px;--shadow:0 18px 45px rgba(23,23,23,.10);--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--surface);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;left:16px;top:12px;z-index:9999;background:#fff;padding:10px 14px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:84px;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(23,23,23,.08);position:sticky;top:0;z-index:1000}.header-inner{max-width:var(--max);height:100%;margin:auto;padding:0 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content}.brand img{width:56px;height:56px;object-fit:contain}.brand strong{text-transform:uppercase;font-size:16px;line-height:1.1;letter-spacing:.025em}.brand small{display:block;color:var(--muted);font-size:11px;line-height:1.2;margin-top:4px}.main-nav{display:flex;justify-content:center;align-items:center;gap:23px}.main-nav>a,.nav-dropdown>button{border:0;background:none;text-decoration:none;font-weight:700;font-size:15px;padding:30px 2px;white-space:nowrap}.main-nav>a:hover,.nav-dropdown>button:hover{color:var(--orange)}.nav-dropdown{position:relative}.nav-dropdown>button span{font-size:14px;margin-left:3px}.dropdown-panel{position:absolute;top:calc(100% - 7px);left:50%;transform:translate(-50%,8px);width:min(720px,88vw);padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);opacity:0;visibility:hidden;transition:.18s}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel,.nav-dropdown.open .dropdown-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}.dropdown-panel>a{display:block;text-decoration:none;padding:11px 12px;border-radius:6px}.dropdown-panel>a:hover{background:var(--paper)}.dropdown-panel strong{display:block;font-size:14px}.dropdown-panel a span{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}.dropdown-heading,.dropdown-all{grid-column:1/-1}.dropdown-heading{text-transform:uppercase;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.14em;padding:5px 12px}.dropdown-all{border-top:1px solid var(--line);margin-top:6px;font-weight:800;color:var(--orange)}.dropdown-areas{width:460px;grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{display:flex;align-items:center;gap:14px}.header-phone{font-weight:800;text-decoration:none;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 22px;border-radius:5px;border:2px solid transparent;text-decoration:none;font-weight:800;line-height:1.1;transition:.2s}.button svg{width:18px}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:var(--orange-dark);transform:translateY(-2px)}.button-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.button-secondary:hover{background:var(--ink);color:#fff}.button-light{border-color:#fff;color:#fff}.button-light:hover{background:#fff;color:var(--ink)}.button-small{min-height:44px;padding:10px 16px;font-size:14px}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{font-weight:800;margin-right:8px}.menu-toggle i{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.narrow{width:min(var(--text),calc(100% - 48px));margin-inline:auto}.section{padding:clamp(72px,8vw,112px) 0}.section-compact{padding:48px 0}.section-paper{background:var(--paper)}.section-dark{background:var(--ink);color:#fff}.section-dark p{color:#d9d9d9}.grid-pattern{position:relative;overflow:hidden}.grid-pattern:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:linear-gradient(var(--ink) 1px,transparent 1px),linear-gradient(90deg,var(--ink) 1px,transparent 1px);background-size:32px 32px}.grid-pattern>*{position:relative}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--orange)}.eyebrow:before{content:"";width:34px;height:3px;background:currentColor}.section-heading{max-width:760px;margin-bottom:42px}.section-heading.center{text-align:center;margin-inline:auto}.section-heading.center .eyebrow{justify-content:center}.section-heading.center .eyebrow:before{display:none}h1,h2,h3{margin:0 0 .45em;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(38px,5.4vw,70px);max-width:850px}h2{font-size:clamp(31px,4vw,50px)}h3{font-size:clamp(21px,2.3vw,29px)}p{margin:0 0 1.15em;color:#45423e}.lead{font-size:clamp(18px,2vw,22px);line-height:1.55;max-width:710px}.hero{padding:clamp(52px,7vw,92px) 0 42px;background:var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:clamp(36px,6vw,76px);align-items:center}.hero-copy h1 em{font-style:normal;position:relative;z-index:1}.hero-copy h1 em:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.13em;background:var(--orange);z-index:-1;transform:rotate(-1deg)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 20px}.trust-micro{display:flex;flex-wrap:wrap;gap:16px 26px;padding:0;margin:0;list-style:none;font-size:14px;font-weight:800}.trust-micro li{display:flex;align-items:center;gap:7px}.trust-micro svg{color:var(--orange)}.hero-media{position:relative}.hero-media picture,.hero-media .carousel-frame{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-stamp{position:absolute;left:-24px;bottom:-24px;background:var(--ink);color:#fff;padding:20px 22px;width:190px;border-left:5px solid var(--orange)}.hero-stamp strong{display:block;font-size:24px;line-height:1}.hero-stamp span{font-size:13px;color:#ddd}.carousel-frame{position:relative}.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .35s}.carousel-slide.active{opacity:1}.carousel-controls{display:flex;align-items:center;gap:10px;margin-top:18px;justify-content:flex-end}.carousel-controls button{width:43px;height:43px;border:1px solid var(--line);background:#fff;border-radius:50%}.carousel-dots{display:flex;gap:7px}.carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#aaa}.carousel-dots button.active{background:var(--orange)}.trust-strip{background:var(--ink);color:#fff}.trust-strip-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:auto;padding:25px 28px;text-align:center;align-items:center}.trust-item{min-height:62px;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 18px;border-right:1px solid rgba(255,255,255,.14)}.trust-item:last-child{border:0}.trust-item svg{color:var(--orange);width:26px;height:26px}.trust-item strong{display:block;font-size:15px}.trust-item span{display:block;font-size:12px;color:#bbb}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.service-card,.project-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(23,23,23,.05)}.service-card picture,.project-card picture{display:block;aspect-ratio:4/3;overflow:hidden}.service-card img,.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.service-card:hover img,.project-card:hover img{transform:scale(1.025)}.card-body{padding:25px}.card-body p{font-size:16px}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--orange);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link svg{width:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-card{padding:28px;text-align:center;background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange)}.feature-card .icon-circle{margin:0 auto 17px}.icon-circle{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff}.icon-circle svg{width:25px;height:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,88px);align-items:center}.split-media picture{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius)}.split-media img{width:100%;height:100%;object-fit:cover}.tick-list{list-style:none;padding:0;margin:24px 0}.tick-list li{display:flex;gap:11px;margin:12px 0}.tick-list svg{flex:0 0 auto;color:var(--orange);margin-top:4px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}.stat{background:#fff;padding:20px}.stat strong{display:block;font-size:22px}.stat span{font-size:13px;color:var(--muted)}.reviews-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:24px}.review-card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:var(--radius)}.review-card blockquote{margin:13px 0 26px;font-size:17px;color:#333}.review-featured{background:var(--ink);color:#fff}.review-featured blockquote{color:#fff;font-size:20px}.review-stars{color:var(--orange);letter-spacing:2px}.review-person strong,.review-person span{display:block}.review-person span{font-size:13px;color:var(--muted)}.review-featured .review-person span{color:#bbb}.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:48px}.timeline:before{content:"";position:absolute;left:9%;right:9%;top:28px;height:2px;background:rgba(255,255,255,.28)}.timeline-step{position:relative;text-align:center}.timeline-marker{width:58px;height:58px;border-radius:50%;margin:0 auto 18px;background:var(--orange);color:#fff;display:grid;place-items:center;position:relative;z-index:1;border:4px solid var(--ink)}.timeline-marker svg{width:25px;height:25px;stroke:#fff}.timeline-step p{font-size:15px}.cta-band{background:var(--orange);color:#fff}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-band h2{max-width:690px}.cta-band p{color:#fff;margin-bottom:0}.breadcrumbs{width:min(var(--max),calc(100% - 48px));margin:18px auto 0}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;font-size:13px;color:var(--muted)}.breadcrumbs li{display:flex;gap:8px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--orange)}.page-hero{background:var(--paper);padding:28px 0 62px}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);gap:clamp(38px,7vw,86px);align-items:center}.page-hero-media picture{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero h1{font-size:clamp(40px,5vw,64px)}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700}.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-detail{padding:28px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:7px}.service-detail h3{font-size:21px}.service-detail p{font-size:15px;margin-bottom:0}.proof-band{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}.proof-panel{background:#fff;border-left:5px solid var(--orange);padding:32px}.coverage-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.coverage-list a{display:block;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px}.coverage-list a:hover{border-color:var(--orange);color:var(--orange)}.faq-list{max-width:850px;margin:auto}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-weight:800;font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:"+";color:var(--orange);font-size:25px}.faq-list details[open] summary:after{content:"−"}.faq-list p{padding-top:13px;margin:0}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-link{display:flex;justify-content:space-between;align-items:center;padding:22px;background:transparent;border:1px solid var(--line);text-decoration:none;font-weight:800}.related-link:hover{border-color:var(--orange);color:var(--orange)}.quote-section{background:var(--paper)}.quote-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:start}.quote-form{background:#fff;border:1px solid var(--line);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label>span,.form-grid legend{display:block;font-weight:800;font-size:14px;margin-bottom:7px}.form-grid small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bfb9b0;background:#fff;padding:12px 13px;border-radius:4px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(239,91,12,.18);border-color:var(--orange)}textarea{resize:vertical}.field-wide{grid-column:1/-1}.contact-choice{border:0;padding:0;margin:0}.contact-choice label{display:inline-flex;align-items:center;gap:7px;margin-right:22px}.contact-choice input{width:auto}.honeypot{position:absolute!important;left:-9999px!important}.form-submit{margin-top:22px;width:100%}.form-note{text-align:center;font-size:13px;color:var(--muted);margin:12px 0 0}.area-local-box{background:var(--ink);color:#fff;padding:34px;border-left:5px solid var(--orange)}.area-local-box p{color:#ddd}.project-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.project-meta span{background:var(--paper);padding:7px 10px;font-weight:800;font-size:12px}.article-body{width:min(780px,calc(100% - 48px));margin:auto}.article-body h2{font-size:32px;margin-top:1.5em}.article-body h3{font-size:24px;margin-top:1.3em}.legal-page{padding:70px 0}.legal-page h1{font-size:50px}.legal-page h2{font-size:30px;margin-top:1.5em}.sitemap-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.sitemap-columns h2{font-size:25px}.sitemap-columns ul{padding-left:20px}.empty-state{text-align:center;padding:100px 20px}.empty-state h1{margin-inline:auto}.site-footer{background:var(--ink);color:#fff;padding:64px 0 0}.footer-grid{width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.25fr .85fr 1fr 1.1fr;gap:56px;align-items:start}.site-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:#fff;margin-bottom:18px}.site-footer p{color:#c8c4be;font-size:15px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0;color:#d6d1ca;font-size:15px}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--orange)}.brand-footer{color:#fff;margin-bottom:18px}.brand-footer small{color:#aaa}.footer-contact{margin-bottom:22px!important}.footer-bottom{margin-top:56px;border-top:1px solid rgba(255,255,255,.12);padding:22px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:20px;color:#aaa;font-size:13px}.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}.mobile-actions{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.2,.65,.3,1),transform .55s cubic-bezier(.2,.65,.3,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.header-inner{grid-template-columns:auto auto}.main-nav{position:fixed;inset:84px 0 auto 0;max-height:calc(100vh - 84px);overflow:auto;background:#fff;border-top:1px solid var(--line);display:none;padding:18px 24px 36px;align-items:stretch}.main-nav.open{display:block}.main-nav>a,.nav-dropdown>button{display:flex;width:100%;justify-content:space-between;text-align:left;padding:16px 0;border-bottom:1px solid var(--line)}.dropdown-panel,.dropdown-areas{position:static;transform:none!important;opacity:1;visibility:visible;width:100%;box-shadow:none;border:0;display:none;padding:8px 0 14px;grid-template-columns:1fr 1fr}.nav-dropdown.open .dropdown-panel{display:grid}.nav-dropdown:hover .dropdown-panel:not(.open){opacity:1}.menu-toggle{display:flex;align-items:center;justify-self:end}.header-actions{display:none}.hero-grid,.page-hero-grid{grid-template-columns:1fr 1fr}.card-grid,.service-detail-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-grid>section:last-child{grid-column:2/4}.reviews-grid{grid-template-columns:1fr 1fr}.review-featured{grid-column:1/-1}.quote-layout{grid-template-columns:1fr}.quote-layout>.section-heading{margin-bottom:0}}
@media(max-width:760px){body{font-size:16px;padding-bottom:66px}.site-header{height:68px}.header-inner{padding:0 18px}.brand img{width:45px;height:45px}.brand strong{font-size:13px}.brand small{display:none}.menu-toggle span{font-size:14px}.main-nav{inset:68px 0 auto;max-height:calc(100vh - 68px)}.dropdown-panel,.dropdown-areas{grid-template-columns:1fr}.container,.narrow,.breadcrumbs,.article-body{width:min(100% - 36px,var(--max))}.section{padding:68px 0}.section-compact{padding:40px 0}.hero{padding:44px 0 34px}.hero-grid,.page-hero-grid,.split,.proof-band{grid-template-columns:1fr}.hero-media{order:-1}.hero-stamp{left:12px;bottom:-14px;padding:15px;width:165px}.hero-copy h1{font-size:clamp(38px,11vw,48px)}.hero-actions{display:grid}.hero-actions .button{width:100%}.trust-micro{display:grid;grid-template-columns:1fr 1fr;gap:11px}.trust-strip-inner{grid-template-columns:1fr 1fr;padding:18px}.trust-item{border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);padding:12px 6px}.trust-item:nth-child(2n){border-right:0}.trust-item:nth-last-child(-n+2){border-bottom:0}.trust-item svg{width:21px}.card-grid,.feature-grid,.service-detail-grid,.related-links,.reviews-grid,.sitemap-columns{grid-template-columns:1fr}.service-detail{text-align:center}.page-hero{padding:18px 0 48px}.page-hero-media{order:-1}.page-hero h1{font-size:40px}.timeline{grid-template-columns:1fr;gap:0;padding-left:76px}.timeline:before{left:28px;right:auto;top:12px;bottom:12px;width:2px;height:auto}.timeline-step{text-align:left;min-height:118px}.timeline-marker{position:absolute;left:-76px;top:0;margin:0;border-color:var(--ink)}.cta-band-inner{display:block}.cta-band .button{margin-top:22px;width:100%}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.quote-form{padding:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-brand{grid-column:1/-1}.footer-grid>section:last-child{grid-column:1/-1}.footer-bottom{display:block;padding:22px 18px}.footer-bottom nav{margin-top:12px;gap:13px}.mobile-actions{position:fixed;z-index:1000;bottom:0;left:0;right:0;height:66px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;font-size:11px;font-weight:800}.mobile-actions a:nth-child(2){background:var(--ink);color:#fff}.mobile-actions a:nth-child(3){background:var(--orange);color:#fff}.mobile-actions svg{width:20px}.legal-body .mobile-actions,.thank-you-body .mobile-actions{display:none}.stats-row{grid-template-columns:1fr}.stat{border-bottom:1px solid var(--line)}.carousel-controls{justify-content:center}}
@media(max-width:410px){.trust-micro{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.site-footer section{grid-column:auto!important}.contact-choice label{display:flex;margin:9px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card img,.project-card img,.button{transition:none}.button:hover{transform:none}}
:root{
  --ink:#191919;
  --ink-2:#252525;
  --paper:#f6f6f6;
  --surface:#ffffff;
  --muted:#666666;
  --line:#dddddd;
  --orange:#f06e16;
  --orange-dark:#d85808;
}
.site-header{
  background:#191919;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-header .brand-logo-only{
  min-width:auto;
}
.site-header .brand-logo-only img{
  width:62px;
  height:62px;
  border-radius:50%;
  background:#fff;
  padding:2px;
}
.site-header .main-nav>a,
.site-header .nav-dropdown>button,
.site-header .header-phone,
.site-header .menu-toggle{
  color:#fff;
}
.site-header .main-nav>a:hover,
.site-header .nav-dropdown>button:hover,
.site-header .header-phone:hover{
  color:var(--orange);
}
.site-header .menu-toggle i{
  background:#fff;
}
.site-header .dropdown-panel{
  color:var(--ink);
}
@media(max-width:1080px){
  .site-header .main-nav{
    background:#191919;
    border-top-color:rgba(255,255,255,.12);
  }
  .site-header .main-nav>a,
  .site-header .nav-dropdown>button{
    color:#fff;
    border-bottom-color:rgba(255,255,255,.12);
  }
  .site-header .dropdown-panel,
  .site-header .dropdown-areas{
    background:#242424;
    color:#fff;
  }
  .site-header .dropdown-panel>a:hover{
    background:#303030;
  }
  .site-header .dropdown-panel a span{
    color:#c8c8c8;
  }
  .site-header .dropdown-all{
    border-top-color:rgba(255,255,255,.14);
  }
}
@media(max-width:760px){
  .site-header .brand-logo-only img{
    width:49px;
    height:49px;
  }
}

/* TMH original-site palette and dark presentation */
:root{
  --ink:#1a1a1a;
  --ink-2:#252525;
  --paper:#f5f5f5;
  --surface:#ffffff;
  --muted:#555555;
  --line:#e0e0e0;
  --orange:#E8600A;
  --orange-dark:#c44f00;
}
body{background:#ffffff;color:var(--ink)}
.site-header,.trust-strip,.section-dark,.site-footer{background:#1a1a1a}
.hero,.page-hero{background:#1a1a1a;color:#ffffff}
.hero p,.hero .lead,.page-hero p,.page-hero .lead{color:rgba(255,255,255,.80)}
.hero h1,.page-hero h1{color:#ffffff}
.hero .button-secondary,.page-hero .button-secondary{color:#ffffff;border-color:#ffffff}
.hero .button-secondary:hover,.page-hero .button-secondary:hover{background:#ffffff;color:#1a1a1a}
.hero .trust-micro,.page-hero .trust-micro{color:#ffffff}
.hero.grid-pattern:before,.page-hero.grid-pattern:before{
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
}
.section-paper,.quote-section{background:#f5f5f5}
.service-card,.project-card,.info-card,.feature-card,.review-card,.service-detail,.proof-panel,.quote-form,.stat{background:#ffffff}

/* TMH process animation + compact multi-step Netlify form */
.timeline.timeline-animate:before{transform:scaleX(0);transform-origin:left center;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.timeline.timeline-animate .timeline-step{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.2,.65,.3,1),transform .5s cubic-bezier(.2,.65,.3,1)}
.timeline.timeline-visible:before{transform:scaleX(1)}
.timeline.timeline-visible .timeline-step{opacity:1;transform:none}
.timeline.timeline-visible .timeline-step:nth-child(1){transition-delay:.08s}
.timeline.timeline-visible .timeline-step:nth-child(2){transition-delay:.18s}
.timeline.timeline-visible .timeline-step:nth-child(3){transition-delay:.28s}
.timeline.timeline-visible .timeline-step:nth-child(4){transition-delay:.38s}
.timeline.timeline-visible .timeline-marker{animation:tmh-marker-pop .45s cubic-bezier(.2,.8,.3,1) both}
.timeline.timeline-visible .timeline-step:nth-child(2) .timeline-marker{animation-delay:.16s}
.timeline.timeline-visible .timeline-step:nth-child(3) .timeline-marker{animation-delay:.26s}
.timeline.timeline-visible .timeline-step:nth-child(4) .timeline-marker{animation-delay:.36s}
@keyframes tmh-marker-pop{0%{transform:scale(.72)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.form-progress{display:flex;align-items:center;gap:14px;margin-bottom:26px}.form-progress-text{font-size:13px;font-weight:800;white-space:nowrap;color:var(--muted)}.form-progress-track{height:5px;background:var(--line);flex:1;overflow:hidden;border-radius:99px}.form-progress-bar{display:block;width:50%;height:100%;background:var(--orange);transition:width .3s ease}.multi-step-form[data-current-step="2"] .form-progress-bar{width:100%}.form-step-title{font-size:24px;margin-bottom:20px}.form-step[hidden]{display:none}.form-step-actions{display:flex;justify-content:flex-end;margin-top:22px}.form-step-actions .button{min-width:150px}.form-step-actions-split{justify-content:space-between;gap:12px}.multi-step-form .form-submit{margin-top:0;width:auto}.multi-step-form textarea{min-height:112px}.field-error{border-color:#b3261e!important;outline:2px solid rgba(179,38,30,.12)!important}.form-error{color:#8b1d16;font-size:13px;font-weight:700;margin:10px 0 0}.form-step-shake{animation:form-shake .22s linear}@keyframes form-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:760px){.timeline.timeline-animate:before{transform:scaleY(0);transform-origin:center top}.timeline.timeline-visible:before{transform:scaleY(1)}.form-step-actions,.form-step-actions-split{display:grid;grid-template-columns:1fr;gap:10px}.form-step-actions .button,.multi-step-form .form-submit{width:100%}.form-step-actions-split .form-back{order:2}.form-progress{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.timeline.timeline-animate:before,.timeline.timeline-animate .timeline-step,.timeline.timeline-visible .timeline-marker,.form-progress-bar{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}}

/* Modern TMH visual refinement: original black, white, grey and orange palette only */
:root{
  --tmh-charcoal:#1a1a1a;
  --tmh-charcoal-soft:#242424;
  --tmh-charcoal-deep:#101010;
  --tmh-orange:#E8600A;
  --tmh-orange-deep:#c44f00;
  --tmh-warm:#f5f5f5;
}

/* Dark surfaces get depth without changing the brand palette */
.site-header{
  background:linear-gradient(180deg,#1a1a1a 0%,#151515 100%);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.hero,.page-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(232,96,10,.16),transparent 34%),
    linear-gradient(135deg,#111 0%,#1a1a1a 52%,#242424 100%);
}
.section-dark{
  background:
    radial-gradient(circle at 12% 15%,rgba(232,96,10,.09),transparent 28%),
    linear-gradient(135deg,#151515 0%,#202020 100%);
}
.trust-strip{
  background:linear-gradient(90deg,#141414 0%,#202020 50%,#141414 100%);
}
.site-footer{
  background:linear-gradient(145deg,#111 0%,#1a1a1a 58%,#202020 100%);
}
.cta-band{
  background:linear-gradient(135deg,var(--tmh-orange) 0%,var(--tmh-orange-deep) 100%);
}
.quote-section,.section-paper{
  background:linear-gradient(180deg,#f7f7f7 0%,#f1f1f1 100%);
}

/* Stronger modern card treatment while staying restrained */
.service-card,.project-card,.info-card,.feature-card,.service-detail,.proof-panel,.quote-form,.stat{
  border-color:rgba(26,26,26,.10);
  box-shadow:0 14px 34px rgba(18,18,18,.07);
}
.service-card,.project-card,.feature-card,.service-detail,.quote-form{
  background:linear-gradient(180deg,#fff 0%,#fcfcfc 100%);
}
.service-card,.project-card{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
@media(hover:hover){
  .service-card:hover,.project-card:hover{
    transform:translateY(-4px);
    border-color:rgba(232,96,10,.28);
    box-shadow:0 20px 42px rgba(18,18,18,.11);
  }
}

/* Featured review contrast fix, including Becky review */
.review-card.review-featured{
  background:
    radial-gradient(circle at 100% 0%,rgba(232,96,10,.18),transparent 34%),
    linear-gradient(135deg,#171717 0%,#252525 100%);
  color:#fff;
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 40px rgba(0,0,0,.15);
}
.review-card.review-featured blockquote,
.review-card.review-featured strong{
  color:#fff;
}
.review-card.review-featured .review-person span{
  color:#cfcfcf;
}
.review-card:not(.review-featured){
  background:linear-gradient(180deg,#fff 0%,#fafafa 100%);
}

/* Cleaner branded buttons */
.button-primary{
  background:linear-gradient(135deg,var(--tmh-orange) 0%,#d95808 100%);
  box-shadow:0 9px 20px rgba(232,96,10,.20);
}
.button-primary:hover{
  background:linear-gradient(135deg,#f06a13 0%,var(--tmh-orange-deep) 100%);
}
.button-secondary{
  backdrop-filter:saturate(120%);
}

/* Images and proof panels feel more deliberate */
.hero-media picture,.hero-media .carousel-frame,.page-hero-media picture,.split-media picture{
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 22px 54px rgba(0,0,0,.20);
}
.section-paper .split-media picture,.section .split-media picture{
  border-color:rgba(26,26,26,.08);
}
.proof-panel{
  border-left:0;
  border-top:4px solid var(--tmh-orange);
  border-radius:8px;
}
.area-local-box{
  background:
    radial-gradient(circle at 100% 0%,rgba(232,96,10,.14),transparent 38%),
    linear-gradient(135deg,#171717 0%,#252525 100%);
  border-left-color:var(--tmh-orange);
  border-radius:8px;
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Form polish */
.quote-form{
  position:relative;
  overflow:hidden;
}
.quote-form:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--tmh-orange),#f58a45,var(--tmh-orange));
}
.form-progress-track{
  background:#e7e7e7;
}
.form-progress-bar{
  background:linear-gradient(90deg,var(--tmh-orange),#f58a45);
}
input,select,textarea{
  border-color:#d3d3d3;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:var(--tmh-orange);
  box-shadow:0 0 0 4px rgba(232,96,10,.12);
}

/* Timeline gets a more finished construction-style visual */
.timeline-marker{
  background:linear-gradient(145deg,#f06a13 0%,var(--tmh-orange-deep) 100%);
  box-shadow:0 8px 22px rgba(232,96,10,.22);
}
.timeline:before{
  background:linear-gradient(90deg,rgba(232,96,10,.25),rgba(232,96,10,.85),rgba(232,96,10,.25));
}

/* Small modern details */
.eyebrow:before{
  border-radius:99px;
  background:linear-gradient(90deg,var(--tmh-orange),#f58a45);
}
.project-meta span,.pill{
  border:1px solid rgba(232,96,10,.12);
}
.coverage-list a,.related-link{
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
}
@media(hover:hover){
  .coverage-list a:hover,.related-link:hover{
    background:#f5f5f5;
    transform:translateY(-2px);
  }
}

@media(max-width:760px){
  .hero,.page-hero{
    background:
      radial-gradient(circle at 100% 0%,rgba(232,96,10,.12),transparent 30%),
      linear-gradient(145deg,#111 0%,#1d1d1d 100%);
  }
}

@media(prefers-reduced-motion:reduce){
  .service-card,.project-card,.coverage-list a,.related-link{transition:none!important;transform:none!important}
}


/* TMH breadcrumb and location-page contrast polish */
.breadcrumbs{margin-top:16px;margin-bottom:18px}
.breadcrumbs ol{display:inline-flex;align-items:center;gap:8px;width:auto;padding:8px 12px;margin:0;background:#f5f5f5;border:1px solid rgba(26,26,26,.10);border-radius:6px;box-shadow:0 6px 18px rgba(18,18,18,.04);color:var(--muted)}
.breadcrumbs a{color:var(--ink);font-weight:800;text-decoration:none}
.breadcrumbs a:hover{color:var(--orange)}
.breadcrumbs li[aria-current="page"]{color:var(--orange);font-weight:800}
.page-hero .pill{color:var(--ink);background:#fff;border-color:rgba(26,26,26,.12)}
.area-local-box .button-light{background:linear-gradient(135deg,var(--tmh-orange) 0%,var(--tmh-orange-deep) 100%);border-color:var(--tmh-orange);color:#fff;box-shadow:0 9px 20px rgba(232,96,10,.20)}
.area-local-box .button-light:hover{background:#fff;border-color:#fff;color:var(--ink)}
@media(max-width:760px){.breadcrumbs ol{padding:7px 10px;font-size:12px}.breadcrumbs{margin-top:12px;margin-bottom:14px}}

/* Mobile homepage hero: image first */
@media (max-width: 900px){
  .hero-grid{
    grid-template-columns:1fr;
  }
  .hero-media{
    order:-1;
  }
  .hero-copy{
    order:0;
  }
}


/* === TMH mobile + visual system refinement === */
:root{--tmh-orange:#E8600A;--tmh-orange-bright:#ff8a3d;--tmh-dark:#1a1a1a;--tmh-dark-2:#101010;--tmh-grey:#f5f5f5}
body{font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
h1,h2,h3,h4,.brand strong{font-family:'Archivo Black','Impact',sans-serif;font-weight:400;letter-spacing:-.018em}

/* Header remains dark and sticky everywhere */
.site-header{position:sticky;top:0;z-index:2000;background:linear-gradient(180deg,#171717 0%,#0f0f0f 100%);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .brand,.site-header .main-nav>a,.site-header .nav-dropdown>button,.site-header .header-phone{color:#fff}
.site-header .menu-toggle{color:#fff}
.site-header .menu-toggle{position:relative;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.04)}
.site-header .menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header .menu-toggle i{position:absolute;left:11px;width:27px;height:2px;margin:0;background:#fff;border-radius:10px;transition:transform .22s ease,opacity .22s ease,top .22s ease}
.site-header .menu-toggle i:nth-of-type(1){top:14px}.site-header .menu-toggle i:nth-of-type(2){top:23px}.site-header .menu-toggle i:nth-of-type(3){top:32px}
.site-header .menu-toggle[aria-expanded="true"] i:nth-of-type(1){top:23px;transform:rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] i:nth-of-type(2){opacity:0}
.site-header .menu-toggle[aria-expanded="true"] i:nth-of-type(3){top:23px;transform:rotate(-45deg)}

/* Homepage hero: project image texture underneath a dark gradient */
.hero{background-image:linear-gradient(100deg,rgba(10,10,10,.98) 0%,rgba(16,16,16,.94) 48%,rgba(26,26,26,.88) 100%),url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg');background-size:cover;background-position:center;color:#fff}
.hero p,.page-hero p{color:#e4e4e4}.hero .lead,.page-hero .lead{color:#efefef}
.page-hero{color:#fff}
.hero.grid-pattern:before,.page-hero.grid-pattern:before,.location-map-section.grid-pattern:before{opacity:.28;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.25))}
.section-dark{position:relative;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 14% 12%,rgba(232,96,10,.10),transparent 30%),linear-gradient(135deg,#111,#202020);background-size:38px 38px,38px 38px,auto,auto}

/* Circular gradient-bordered eyebrow pills, replacing line labels */
.eyebrow{width:max-content;display:inline-flex;align-items:center;gap:0;padding:7px 12px;margin:0 0 15px;border:1px solid transparent;border-radius:999px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--tmh-orange),#ffab73,var(--tmh-orange)) border-box;color:var(--tmh-orange);line-height:1.15}
.eyebrow:before{display:none!important}
.hero .eyebrow,.page-hero .eyebrow,.section-dark .eyebrow,.cta-band .eyebrow{background:linear-gradient(#171717,#171717) padding-box,linear-gradient(135deg,var(--tmh-orange),#ffad76,var(--tmh-orange)) border-box;color:#fff}
.section-heading.center .eyebrow{margin-left:auto;margin-right:auto}
.card-body .eyebrow,.info-card .eyebrow,.service-card .eyebrow,.project-card .eyebrow{margin-left:0;margin-right:0}

/* Review logos in homepage hero */
.hero-review-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-review-badge{height:60px;min-width:174px;display:flex;align-items:center;justify-content:center;padding:7px 12px;background:rgba(255,255,255,.96);border:1px solid transparent;border-radius:10px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(232,96,10,.95),rgba(255,255,255,.45),rgba(232,96,10,.75)) border-box;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.hero-review-badge img{width:auto;max-width:165px;max-height:48px;object-fit:contain}

/* Gradient borders and richer motion for images/cards */
.service-card,.project-card,.info-card,.feature-card,.service-detail,.quote-form,.review-card,.map-embed{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(232,96,10,.58),rgba(224,224,224,.45) 45%,rgba(232,96,10,.35)) border-box;transition:transform .28s cubic-bezier(.2,.65,.3,1),box-shadow .28s ease,border-color .28s ease}
.hero-media .carousel-frame,.page-hero-media picture,.split-media picture{border:1px solid transparent;background:linear-gradient(#171717,#171717) padding-box,linear-gradient(135deg,var(--tmh-orange),rgba(255,255,255,.18),var(--tmh-orange)) border-box;box-shadow:0 22px 55px rgba(0,0,0,.22);animation:tmh-image-glow 5s ease-in-out infinite alternate}
@keyframes tmh-image-glow{from{box-shadow:0 18px 45px rgba(0,0,0,.18),0 0 0 rgba(232,96,10,0)}to{box-shadow:0 24px 58px rgba(0,0,0,.24),0 0 24px rgba(232,96,10,.16)}}
@media(hover:hover){.service-card:hover,.project-card:hover,.info-card:hover,.feature-card:hover,.service-detail:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,0,0,.13)}}

/* Project-page labels remain visible on dark heroes */
.page-hero .project-meta span{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(232,96,10,.75);border-radius:999px;padding:7px 11px;backdrop-filter:blur(4px)}

/* Service detail icon geometry: identical size and alignment */
.service-detail{display:flex;flex-direction:column;align-items:center}
.service-detail .icon-circle{flex:0 0 52px;width:52px;height:52px;margin:0 auto 17px;display:grid;place-items:center}
.service-detail .icon-circle svg{width:25px;height:25px;display:block}

/* Map embeds */
.location-map-section{background:#171717;color:#fff}
.location-map-section h2{color:#fff}.location-map-section .section-heading{margin-bottom:28px}
.map-embed{overflow:hidden;border-radius:14px;min-height:390px;background:#fff}
.map-embed iframe{display:block;width:100%;height:390px;border:0}

/* Scroll reveal is deliberately subtle */
.reveal{opacity:0;transform:translateY(22px) scale(.99);transition:opacity .62s cubic-bezier(.2,.65,.3,1),transform .62s cubic-bezier(.2,.65,.3,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){
  .site-header{position:sticky;top:0}
  .main-nav{top:84px;inset:84px 0 auto 0;max-height:calc(100dvh - 84px);background:linear-gradient(180deg,#151515 0%,#0f0f0f 100%);border-top:1px solid rgba(255,255,255,.10);padding:22px 24px 38px;box-shadow:0 24px 50px rgba(0,0,0,.35)}
  .main-nav>a,.nav-dropdown>button{color:#fff;font-size:18px;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.10)}
  .dropdown-panel,.dropdown-areas{background:#1b1b1b;border:1px solid rgba(255,255,255,.08);padding:10px 12px 16px;margin-top:4px;border-radius:10px}
  .dropdown-panel>a{color:#fff;padding:13px 10px}.dropdown-panel a span{color:#aaa}.dropdown-heading{color:var(--tmh-orange)}
}

@media(max-width:760px){
  body{padding-bottom:66px}
  .site-header{height:70px;position:sticky;top:0;z-index:3000}
  .header-inner{height:70px;padding:0 14px;grid-template-columns:auto auto}
  .brand img{width:48px;height:48px}
  .main-nav{inset:70px 0 auto 0;max-height:calc(100dvh - 70px);padding:20px 20px 34px}
  .main-nav>a,.nav-dropdown>button{font-size:19px;min-height:58px}
  .dropdown-panel>a{font-size:15px;line-height:1.3}

  /* H1 first, then carousel. Card content remains left aligned. */
  .hero-grid,.page-hero-grid{grid-template-columns:1fr}
  .hero-copy,.page-hero-grid>div:first-child{order:0}
  .hero-media,.page-hero-media{order:1;margin-top:22px}
  .hero-stamp{display:none!important}
  .hero{padding-top:38px}

  /* Centre main page/section headings and eyebrow pills, not card copy. */
  .hero-copy{text-align:center}
  .hero-copy .eyebrow,.page-hero-grid>div:first-child>.eyebrow{margin-left:auto;margin-right:auto}
  .page-hero-grid>div:first-child{text-align:center}
  .section-heading{text-align:center;margin-left:auto;margin-right:auto}
  .section-heading .eyebrow{margin-left:auto;margin-right:auto}
  main .section h2{text-align:center}
  main .section .eyebrow{margin-left:auto;margin-right:auto}
  .card-body,.service-card,.project-card,.info-card,.feature-card,.service-detail{text-align:left}
  .card-body .eyebrow,.service-card .eyebrow,.project-card .eyebrow,.info-card .eyebrow,.feature-card .eyebrow,.service-detail .eyebrow{margin-left:0;margin-right:0}
  .service-detail h3,.service-detail p{text-align:left;width:100%}

  /* Homepage review logos stay side by side where space allows. */
  .hero-review-badges{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-review-badge{min-width:0;height:58px;padding:7px 8px}
  .hero-review-badge img{max-width:100%;max-height:44px}

  /* Service-page hero proof row: one aligned horizontal bar, not stacked. */
  .trust-micro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
  .trust-micro li{min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:11px;line-height:1.25;padding:7px 3px}
  .trust-micro svg{flex:0 0 18px;width:18px;height:18px;margin:0}

  /* Service cards: icon alignment stays fixed even when text lengths differ. */
  .service-detail{align-items:flex-start;min-height:0;padding:23px}
  .service-detail .icon-circle{margin:0 0 16px 0;align-self:flex-start}

  .map-embed,.map-embed iframe{min-height:330px;height:330px}
  .breadcrumbs{text-align:left}
  .breadcrumbs ol{display:flex;flex-wrap:wrap}
}

@media(max-width:390px){.hero-review-badges{grid-template-columns:1fr}.hero-review-badge{height:56px}.trust-micro{grid-template-columns:repeat(3,1fr)}}

@media(prefers-reduced-motion:reduce){.hero-media .carousel-frame,.page-hero-media picture,.split-media picture{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Hero review logos: transparent source artwork, no cards or boxed backgrounds */
.hero-review-badges{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.hero-review-logo{display:block;width:auto;height:auto;max-width:180px;max-height:58px;object-fit:contain;background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
@media(max-width:760px){.hero-review-badges{display:flex;justify-content:center;align-items:center;gap:14px}.hero-review-logo{max-width:145px;max-height:52px}}
@media(max-width:390px){.hero-review-badges{gap:10px}.hero-review-logo{max-width:132px;max-height:48px}}

/* === CLEAN HOMEPAGE COMPOSITION PASS === */
:root{
  --clean-cream:#f5f5f5;
  --clean-line:#e4dfd7;
  --clean-dark:#151515;
  --clean-dark-soft:#1e1e1e;
}

/* Pull back the decorative treatment: keep emphasis on hierarchy and photography. */
.clean-section{background:#fff}
.home-services,.home-process,.home-areas{background:#fff}
.home-about,.home-reviews,.home-contact{background:var(--clean-cream)}
.home-projects,.home-faq{background:var(--clean-dark);color:#fff}
.home-projects p,.home-faq p{color:#d8d5d0}

/* Cleaner hero proportions and controls */
.home-hero{padding:clamp(58px,7vw,88px) 0 42px}
.home-hero .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);gap:clamp(42px,6vw,84px)}
.home-hero .hero-copy h1{font-size:clamp(44px,5.2vw,68px);max-width:720px}
.home-hero .hero-copy .lead{max-width:650px;color:#dedede}
.home-hero .carousel-frame{
  aspect-ratio:1.28/1;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(#171717,#171717) padding-box,linear-gradient(135deg,var(--orange),rgba(255,255,255,.18),var(--orange)) border-box;
  box-shadow:0 24px 56px rgba(0,0,0,.28);
  animation:tmh-image-glow 6s ease-in-out infinite alternate;
}
.home-hero .carousel-controls button{background:#202020;color:#fff;border-color:rgba(255,255,255,.16)}
.home-hero .carousel-dots button{background:#686868}
.home-hero .carousel-dots button.active{background:var(--orange)}
.home-hero .hero-review-badges{gap:20px;margin-top:24px}
.home-hero .hero-review-logo{max-width:170px;max-height:56px}

/* Flat, restrained service cards */
.clean-service-grid{gap:22px}
.clean-service-card{
  border:1px solid var(--clean-line)!important;
  background:#fff!important;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(20,20,20,.05)!important;
  overflow:hidden;
}
.clean-service-card picture{aspect-ratio:16/10}
.clean-service-card .card-body{padding:22px 22px 24px}
.clean-service-card h3{font-size:24px;margin-bottom:9px}
.clean-service-card p{font-size:15px;line-height:1.55;color:#5b5751;margin-bottom:17px}
.clean-service-card .text-link{font-size:14px}
@media(hover:hover){
  .clean-service-card:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(20,20,20,.09)!important;border-color:#d8cfc4!important}
  .clean-service-card:hover img{transform:scale(1.025)}
}
.section-action{margin-top:34px}
.center-action{text-align:center}

/* Dark project mosaic: one visual block instead of six repeated cards. */
.home-projects{overflow:hidden}
.home-projects .section-heading{max-width:760px}
.project-mosaic{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:250px 250px;
  gap:14px;
}
.mosaic-project{
  position:relative;
  grid-column:span 3;
  overflow:hidden;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  background:#222;
  min-height:0;
  box-shadow:none;
}
.mosaic-project-large{grid-column:span 6;grid-row:span 2}
.mosaic-project-wide{grid-column:span 6}
.mosaic-project img{width:100%;height:100%;object-fit:cover;transition:transform .38s cubic-bezier(.2,.65,.3,1),filter .38s ease}
.mosaic-project:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 62%)}
.mosaic-overlay{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
.mosaic-overlay small{display:block;color:#ffb27e;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.mosaic-overlay strong{display:block;font-family:'Archivo Black','Impact',sans-serif;font-size:20px;line-height:1.12}
@media(hover:hover){.mosaic-project:hover img{transform:scale(1.035);filter:saturate(1.05)}}

/* Trust/about section becomes one large editorial split rather than another card grid. */
.clean-trust-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(46px,7vw,92px);align-items:center}
.clean-trust-copy>p:not(.eyebrow){max-width:640px}
.clean-trust-points{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:28px 0 30px;border-top:1px solid var(--clean-line);border-left:1px solid var(--clean-line)}
.clean-trust-points>div{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:20px;border-right:1px solid var(--clean-line);border-bottom:1px solid var(--clean-line);background:rgba(255,255,255,.55)}
.clean-trust-points p{margin:0;font-size:14px;line-height:1.45;color:#57534d}
.clean-trust-points strong{color:var(--ink)}
.mini-icon{width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}
.clean-trust-media{position:relative}
.clean-trust-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid #e0e0e0;box-shadow:0 20px 48px rgba(20,20,20,.12)}
.trust-photo-caption{position:absolute;right:18px;bottom:18px;max-width:280px;background:rgba(21,21,21,.94);color:#fff;padding:15px 18px;border-left:4px solid var(--orange);border-radius:5px}
.trust-photo-caption strong,.trust-photo-caption span{display:block}.trust-photo-caption span{font-size:12px;color:#cfcfcf;margin-top:3px}

/* Process is intentionally spacious and mostly unboxed. */
.home-process .timeline{margin-top:52px}
.clean-timeline .timeline-step{padding:0 12px}
.clean-timeline .timeline-marker{width:58px;height:58px;border:4px solid #fff;background:var(--orange);box-shadow:0 8px 20px rgba(232,96,10,.2)}
.clean-timeline .timeline-marker span{font-family:'Archivo Black','Impact',sans-serif;color:#fff;font-size:17px}
.clean-timeline:before{background:linear-gradient(90deg,rgba(232,96,10,.18),var(--orange),rgba(232,96,10,.18))}
.clean-timeline h3{font-size:21px}
.clean-timeline p{font-size:14px;color:#66615b}

/* Reviews: identical cards, with platform proof separate from the cards. */
.reviews-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}
.reviews-intro>div:first-child{max-width:690px}
.review-platforms{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.review-platforms img{max-width:145px;max-height:48px;object-fit:contain}
.clean-reviews-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.clean-reviews-grid .review-card{
  background:#fff!important;
  border:1px solid var(--clean-line)!important;
  border-radius:8px;
  box-shadow:none!important;
  color:var(--ink)!important;
  padding:26px;
}
.clean-reviews-grid .review-card blockquote{color:#34312e!important;font-size:16px;line-height:1.65;margin:10px 0 24px}
.clean-reviews-grid .review-person span{color:#77716a!important}

/* Areas: small, even location tiles rather than a dense pill cloud. */
.clean-area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0}
.clean-area-grid li{margin:0}
.clean-area-grid a{display:flex;align-items:center;justify-content:center;min-height:72px;text-align:center;background:#fff;border:1px solid var(--clean-line);border-radius:7px;padding:12px;font-size:14px;box-shadow:none}
.area-check{margin-top:24px;padding:22px 24px;background:var(--clean-cream);border:1px solid var(--clean-line);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.area-check span{color:#59554f}.area-check strong{color:var(--ink)}

/* Contact section: simple two-column close, no extra visual clutter. */
.home-contact{background:var(--clean-cream)!important}
.home-contact .quote-layout{grid-template-columns:.78fr 1.22fr;gap:60px}
.home-contact .quote-form{
  background:#fff!important;
  border:1px solid #e0e0e0!important;
  box-shadow:0 16px 40px rgba(20,20,20,.08)!important;
  border-radius:8px;
}
.home-contact .quote-form:before{height:3px;background:var(--orange)}

/* FAQ is a full dark block like the reference rhythm. */
.home-faq .faq-list{max-width:900px}
.home-faq .faq-list details{border-color:rgba(255,255,255,.13);padding:20px 0}
.home-faq .faq-list summary{color:#fff}
.home-faq .faq-list p{color:#cfcac4}
.home-faq .faq-list summary:after{color:var(--orange)}

/* Clean global finish: gradient treatment only where it adds hierarchy. */
.service-card,.project-card,.info-card,.feature-card,.service-detail,.review-card,.map-embed{
  background:#fff;
  border:1px solid var(--clean-line);
  box-shadow:0 8px 24px rgba(20,20,20,.05);
}
.home-services .service-card,.home-reviews .review-card{background:#fff!important}
.section-paper{background:var(--clean-cream)}
.button{border-radius:5px}
.button-primary{background:linear-gradient(135deg,#f06a14,var(--orange));box-shadow:none}
.button-primary:hover{background:linear-gradient(135deg,var(--orange),#c94b05)}

/* Hero title accent becomes a subtle orange underline, not a large block. */
.home-hero .hero-copy h1 em:after{height:.09em;bottom:.035em;opacity:.9}

/* Motion remains, but quieter. */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s cubic-bezier(.2,.65,.3,1),transform .58s cubic-bezier(.2,.65,.3,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){
  .home-hero .hero-grid{grid-template-columns:1fr 1fr;gap:38px}
  .project-mosaic{grid-template-rows:220px 220px}
  .clean-area-grid{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:760px){
  .home-hero{padding:38px 0 30px}
  .home-hero .hero-grid{grid-template-columns:1fr;gap:26px}
  .home-hero .hero-copy{order:0;text-align:center}
  .home-hero .hero-media{order:1;margin-top:0}
  .home-hero .hero-copy h1{font-size:clamp(38px,11vw,48px)}
  .home-hero .hero-actions{display:grid;gap:10px;margin:22px 0 18px}
  .home-hero .hero-review-badges{justify-content:center;gap:14px}
  .home-hero .hero-review-logo{max-width:142px;max-height:48px}
  .home-hero .carousel-frame{aspect-ratio:4/3;animation:none}

  .home-trust-strip .trust-strip-inner{grid-template-columns:1fr 1fr;padding:14px 14px}
  .home-trust-strip .trust-item{min-height:72px;gap:8px;padding:10px 6px;justify-content:flex-start;text-align:left}
  .home-trust-strip .trust-item svg{flex:0 0 21px;margin:0}
  .home-trust-strip .trust-item strong{font-size:13px}.home-trust-strip .trust-item span{font-size:10px}

  .clean-service-grid{grid-template-columns:1fr;gap:16px}
  .clean-service-card picture{aspect-ratio:16/9}
  .clean-service-card .card-body{text-align:left}
  .clean-service-card h3{text-align:left}

  .project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:10px}
  .mosaic-project,.mosaic-project-large,.mosaic-project-wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .mosaic-project-large{grid-column:1/-1;aspect-ratio:16/10}
  .mosaic-project-wide{grid-column:1/-1;aspect-ratio:16/9}
  .mosaic-overlay{left:12px;right:12px;bottom:11px;text-align:left}
  .mosaic-overlay strong{font-size:16px}.mosaic-overlay small{font-size:9px}

  .clean-trust-layout{grid-template-columns:1fr;gap:30px}
  .clean-trust-copy{text-align:center}
  .clean-trust-copy>.eyebrow{margin-left:auto;margin-right:auto}
  .clean-trust-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}
  .clean-trust-points{grid-template-columns:1fr;margin-top:22px}
  .clean-trust-points>div{text-align:left}
  .clean-trust-copy>.button{width:100%}
  .trust-photo-caption{left:12px;right:12px;bottom:12px;max-width:none;text-align:left}

  .home-process .timeline{margin-top:34px}
  .clean-timeline{padding-left:68px}
  .clean-timeline .timeline-step{text-align:left;padding:0 0 26px}
  .clean-timeline .timeline-step h3{text-align:left}
  .clean-timeline .timeline-marker{left:-68px}
  .clean-timeline:before{left:27px}

  .reviews-intro{display:block;text-align:center;margin-bottom:26px}
  .reviews-intro .eyebrow{margin-left:auto;margin-right:auto}
  .review-platforms{justify-content:center;margin-top:18px}
  .review-platforms img{max-width:130px;max-height:45px}
  .clean-reviews-grid{grid-template-columns:1fr;gap:14px}
  .clean-reviews-grid .review-card{text-align:left}

  .clean-area-grid{grid-template-columns:1fr 1fr;gap:9px}
  .clean-area-grid a{min-height:62px;font-size:13px}
  .area-check{display:block;text-align:center;padding:20px}
  .area-check .button{width:100%;margin-top:15px}

  .home-contact .quote-layout{grid-template-columns:1fr;gap:28px}
  .home-contact .section-heading{text-align:center}
  .home-contact .section-heading .eyebrow{margin-left:auto;margin-right:auto}
  .home-contact .quote-form{text-align:left}
  .home-contact .quote-form h3{text-align:left}

  .home-faq .faq-list{text-align:left}
  .home-faq .faq-list summary{text-align:left;font-size:17px}
  .home-faq .faq-list p{text-align:left}
}

@media(max-width:420px){
  .clean-area-grid{grid-template-columns:1fr 1fr}
  .project-mosaic{grid-template-columns:1fr}
  .mosaic-project,.mosaic-project-large,.mosaic-project-wide{grid-column:1;aspect-ratio:16/10}
}

@media(prefers-reduced-motion:reduce){
  .home-hero .carousel-frame{animation:none!important}
  .mosaic-project img,.clean-service-card{transition:none!important}
}

/* === HOMEPAGE CLEAN-UP PASS: calmer Yorkshire-style rhythm === */
.home-hero{
  padding:72px 0 58px;
  min-height:590px;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(90deg,rgba(10,10,10,.98) 0%,rgba(13,13,13,.96) 52%,rgba(18,18,18,.86) 100%),
    url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg');
  background-size:cover;
  background-position:center;
}
.home-hero.grid-pattern:before{
  opacity:.16;
  background-size:40px 40px;
}
.home-hero .hero-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  gap:clamp(54px,6vw,88px);
  width:min(var(--max),calc(100% - 64px));
}
.home-hero .hero-copy{max-width:700px}
.home-hero .hero-copy h1{
  color:#fff;
  font-size:clamp(48px,5vw,66px);
  line-height:1.02;
  max-width:700px;
  margin-bottom:20px;
}
.home-hero .hero-copy h1 em{
  color:var(--orange);
  display:block;
  margin-top:4px;
}
.home-hero .hero-copy h1 em:after{display:none}
.home-hero .hero-copy .lead{
  max-width:610px;
  font-size:18px;
  line-height:1.6;
  color:#d9d9d9;
}
.home-hero .hero-actions{margin:26px 0 22px;gap:10px}
.home-hero .button{min-height:50px;padding-inline:22px}
.home-hero .button-secondary{
  color:#fff;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.03);
}
.home-hero .button-secondary:hover{background:rgba(255,255,255,.08);border-color:#fff}
.home-hero .hero-review-badges{margin-top:22px;gap:20px}
.home-hero .hero-review-logo{max-width:150px;max-height:48px}
.home-hero .hero-media{
  width:min(100%,430px);
  justify-self:end;
}
.home-hero .carousel-frame{
  width:100%;
  aspect-ratio:4/3;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:#1b1b1b;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  animation:none!important;
}
.home-hero .carousel-controls{
  justify-content:center;
  margin-top:14px;
  gap:9px;
}
.home-hero .carousel-controls button{
  width:38px;
  height:38px;
  background:rgba(255,255,255,.05);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
.home-hero .carousel-dots button{width:7px;height:7px;background:#656565}
.home-hero .carousel-dots button.active{background:var(--orange)}

/* Keep the proof strip compact and visually attached to the hero. */
.home-trust-strip{background:#171717;border-top:1px solid rgba(255,255,255,.08)}
.home-trust-strip .trust-strip-inner{padding:18px 28px}
.home-trust-strip .trust-item{min-height:54px}

/* More breathing room, fewer effects. */
.home-services,.home-about,.home-process,.home-reviews,.home-areas,.home-contact,.home-faq,.home-projects{
  --section-clean-space:clamp(78px,7vw,100px);
}
.home-services.section,.home-about.section,.home-process.section,.home-reviews.section,.home-areas.section,.home-contact.section,.home-faq.section,.home-projects.section{
  padding-top:var(--section-clean-space);
  padding-bottom:var(--section-clean-space);
}
.home-services .section-heading,.home-projects .section-heading,.home-process .section-heading,.home-areas .section-heading,.home-faq .section-heading{
  margin-bottom:36px;
}
.clean-service-card{
  border:1px solid #e3ded6!important;
  border-radius:6px;
  box-shadow:none!important;
}
.clean-service-card .card-body{padding:20px 20px 22px}
.clean-service-card h3{font-size:22px}
@media(hover:hover){
  .clean-service-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(20,20,20,.07)!important}
}

/* Equal project cards: no oversized hero tile, no mixed proportions. */
.project-mosaic{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  grid-template-columns:none;
  grid-template-rows:none;
}
.mosaic-project,
.mosaic-project-large,
.mosaic-project-wide{
  flex:0 1 calc((100% - 36px)/3);
  grid-column:auto;
  grid-row:auto;
  aspect-ratio:4/3;
  min-height:0;
  border-radius:7px;
  border:1px solid rgba(255,255,255,.12);
}
.mosaic-overlay{left:16px;right:16px;bottom:14px}
.mosaic-overlay strong{font-size:18px}
.mosaic-overlay small{font-size:10px}

/* Editorial sections stay flat and simple. */
.clean-trust-points>div{background:#fff}
.clean-trust-media img{border-radius:7px;box-shadow:0 14px 34px rgba(20,20,20,.10)}
.clean-reviews-grid .review-card{border-radius:6px}
.clean-area-grid a{border-radius:5px}
.home-contact .quote-form{border-radius:6px;box-shadow:0 12px 30px rgba(20,20,20,.07)!important}

@media(max-width:1080px){
  .home-hero{min-height:0;padding:60px 0 50px}
  .home-hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:42px;width:min(var(--max),calc(100% - 48px))}
  .home-hero .hero-media{width:min(100%,390px)}
  .mosaic-project,.mosaic-project-large,.mosaic-project-wide{flex-basis:calc((100% - 18px)/2)}
}

@media(max-width:760px){
  .home-hero{
    padding:34px 0 34px;
    background-image:linear-gradient(180deg,rgba(12,12,12,.98),rgba(17,17,17,.96)),url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg');
  }
  .home-hero .hero-grid{grid-template-columns:1fr;width:min(100% - 32px,680px);gap:24px}
  .home-hero .hero-copy{order:0;text-align:center;max-width:none}
  .home-hero .hero-media{order:1;width:100%;max-width:520px;justify-self:center}
  .home-hero .hero-copy h1{font-size:clamp(38px,11vw,48px);line-height:1.04;margin-inline:auto}
  .home-hero .hero-copy h1 em{display:inline;color:var(--orange)}
  .home-hero .hero-copy .lead{font-size:16px;line-height:1.55;margin-inline:auto}
  .home-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .home-hero .hero-review-badges{justify-content:center}
  .home-hero .hero-review-logo{max-width:138px;max-height:46px}
  .home-hero .carousel-frame{aspect-ratio:16/10;box-shadow:none}
  .home-hero .carousel-controls{margin-top:12px}
  .home-trust-strip .trust-strip-inner{padding:12px 14px}
  .home-services.section,.home-about.section,.home-process.section,.home-reviews.section,.home-areas.section,.home-contact.section,.home-faq.section,.home-projects.section{padding-top:72px;padding-bottom:72px}
  .project-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mosaic-project,.mosaic-project-large,.mosaic-project-wide{flex:auto;aspect-ratio:4/3}
  .mosaic-project:nth-child(5){grid-column:1/-1;width:calc(50% - 5px);justify-self:center}
}

@media(max-width:520px){
  .project-mosaic{grid-template-columns:1fr}
  .mosaic-project,.mosaic-project-large,.mosaic-project-wide,.mosaic-project:nth-child(5){width:100%;grid-column:1;aspect-ratio:16/10}
}

/* === Final homepage refinements === */
/* Review proof belongs with the review section, not inside the hero. */
.home-reviews .reviews-intro{
  display:block;
  text-align:center;
  max-width:820px;
  margin:0 auto 36px;
}
.home-reviews .reviews-intro>div:first-child{max-width:760px;margin-inline:auto}
.home-reviews .reviews-intro .eyebrow{justify-content:center;margin-left:auto;margin-right:auto}
.home-reviews .review-platforms{justify-content:center;margin-top:20px}
.home-reviews .review-platforms img{max-width:150px;max-height:50px}

/* Map keeps the areas section visual without creating more cards. */
.areas-map{
  margin:30px 0 22px;
  overflow:hidden;
  border-radius:7px;
  border:1px solid var(--clean-line,#e0e0e0);
  background:#e0e0e0;
}
.areas-map iframe{
  display:block;
  width:100%;
  height:360px;
  border:0;
}

/* Lightweight mouse/scroll cue at the foot of the desktop hero. */
.hero-scroll-indicator{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  color:rgba(255,255,255,.76);
  text-decoration:none;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  z-index:3;
}
.mouse-shell{
  width:22px;
  height:34px;
  border:1.5px solid rgba(255,255,255,.66);
  border-radius:999px;
  position:relative;
}
.mouse-wheel{
  position:absolute;
  top:7px;
  left:50%;
  width:3px;
  height:6px;
  margin-left:-1.5px;
  border-radius:999px;
  background:var(--orange);
  animation:tmh-scroll-wheel 1.5s ease-in-out infinite;
}
@keyframes tmh-scroll-wheel{
  0%{opacity:0;transform:translateY(0)}
  25%{opacity:1}
  75%{opacity:1}
  100%{opacity:0;transform:translateY(10px)}
}

/* Keep the main homepage H1 on one line on desktop and give the image less visual weight. */
@media(min-width:1024px){
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);
    gap:48px;
  }
  .home-hero .hero-copy{max-width:none}
  .home-hero .hero-copy h1{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(36px,3.25vw,46px);
    letter-spacing:-.035em;
  }
  .home-hero .hero-copy h1 em{display:inline;margin-top:0}
  .home-hero .hero-media{width:min(100%,350px)}
}

@media(max-width:760px){
  .hero-scroll-indicator{display:none}
  .areas-map{margin-top:24px}
  .areas-map iframe{height:290px}
  .home-reviews .review-platforms{gap:14px}
  .home-reviews .review-platforms img{max-width:132px;max-height:44px}
}

@media(prefers-reduced-motion:reduce){
  .mouse-wheel{animation:none}
}

/* Project card hover interactions */
@media (hover:hover) and (pointer:fine){
  .mosaic-project,
  .project-card{
    transition:transform .28s cubic-bezier(.2,.65,.3,1), box-shadow .28s ease, border-color .28s ease;
  }
  .mosaic-project:hover,
  .project-card:hover{
    transform:translateY(-6px);
    border-color:rgba(232,96,10,.72);
    box-shadow:0 20px 42px rgba(0,0,0,.24);
  }
  .mosaic-project img,
  .project-card img{
    transition:transform .42s cubic-bezier(.2,.65,.3,1), filter .32s ease;
  }
  .mosaic-project:hover img,
  .project-card:hover img{
    transform:scale(1.055);
    filter:saturate(1.08) contrast(1.03);
  }
  .mosaic-project:after{
    transition:background .3s ease;
  }
  .mosaic-project:hover:after{
    background:linear-gradient(to top,rgba(0,0,0,.86),rgba(232,96,10,.13) 58%,rgba(232,96,10,.03));
  }
  .mosaic-overlay{
    transition:transform .28s cubic-bezier(.2,.65,.3,1);
  }
  .mosaic-project:hover .mosaic-overlay{
    transform:translateY(-4px);
  }
  .mosaic-overlay strong{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .mosaic-overlay strong:after{
    content:"→";
    opacity:0;
    transform:translateX(-5px);
    transition:opacity .22s ease,transform .22s ease;
    color:var(--orange);
  }
  .mosaic-project:hover .mosaic-overlay strong:after{
    opacity:1;
    transform:translateX(0);
  }
}

@media (prefers-reduced-motion:reduce){
  .mosaic-project,.project-card,.mosaic-project img,.project-card img,.mosaic-overlay,.mosaic-overlay strong:after{
    transition:none!important;
  }
  .mosaic-project:hover,.project-card:hover,.mosaic-project:hover img,.project-card:hover img,.mosaic-project:hover .mosaic-overlay{
    transform:none!important;
  }
}

/* === Desktop image/text alignment pass === */
@media (min-width: 1024px){
  /* Keep two-column layouts visually balanced across the site. */
  .page-hero-grid,
  .split,
  .clean-trust-layout,
  .proof-band{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(48px,5vw,68px);
    align-items:center;
  }

  .page-hero-grid > div:first-child,
  .split > div:not(.split-media),
  .clean-trust-copy,
  .proof-band > div:first-child{
    width:100%;
    max-width:560px;
  }

  .page-hero-media,
  .split-media,
  .clean-trust-media{
    width:100%;
    max-width:560px;
    justify-self:end;
  }

  .page-hero-media picture,
  .split-media picture,
  .clean-trust-media img{
    width:100%;
    aspect-ratio:4/3;
    height:auto;
    object-fit:cover;
  }

  /* Homepage hero: balanced text/image columns without letting the image dominate. */
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) 400px;
    gap:clamp(52px,5vw,72px);
    align-items:center;
  }
  .home-hero .hero-copy{
    max-width:700px;
  }
  .home-hero .hero-copy h1{
    max-width:700px;
    white-space:nowrap;
    font-size:clamp(38px,3.1vw,44px);
  }
  .home-hero .hero-media{
    width:400px;
    max-width:100%;
    justify-self:end;
  }
  .home-hero .carousel-frame{
    width:100%;
    aspect-ratio:4/3;
  }

  /* Editorial trust split follows the same image/text geometry as other split sections. */
  .clean-trust-copy{justify-self:start}
  .clean-trust-media{justify-self:end}
  .clean-trust-media img{display:block}

  /* Keep content edges aligned inside split sections. */
  .split > div:first-child:not(.split-media){justify-self:start}
  .split > div:last-child:not(.split-media){justify-self:end}

  /* Location and service hero images should not appear taller or shorter page to page. */
  .page-hero-media picture{
    min-height:330px;
    max-height:390px;
  }
  .page-hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}


/* Location card alignment and icon treatment */
.location-pin-icon{
  width:22px;
  height:22px;
  color:var(--orange);
  stroke:currentColor;
  stroke-width:1.9;
  flex:0 0 auto;
}
.clean-area-grid{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.clean-area-grid li{
  flex:0 1 calc(20% - 10px);
  min-width:160px;
}
.clean-area-grid a{
  width:100%;
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.clean-area-grid .location-pin-icon{
  width:20px;
  height:20px;
}
.location-card-grid{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  gap:26px;
}
.location-card-grid .info-card{
  flex:0 1 calc(33.333% - 18px);
  min-width:280px;
  max-width:390px;
}
.location-card-grid .card-body{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.location-card-grid .card-body .location-pin-icon{
  width:30px;
  height:30px;
  margin-bottom:14px;
}
.location-card-grid .card-body .eyebrow{
  justify-content:center;
}
.location-card-grid .card-body .text-link{
  margin-top:auto;
  justify-content:center;
}
@media(max-width:1080px){
  .clean-area-grid li{flex-basis:calc(25% - 9px)}
  .location-card-grid .info-card{flex-basis:calc(50% - 13px)}
}
@media(max-width:760px){
  .clean-area-grid{gap:9px}
  .clean-area-grid li{flex-basis:calc(50% - 5px);min-width:0}
  .clean-area-grid li:last-child:nth-child(odd){flex-basis:calc(50% - 5px)}
  .clean-area-grid a{min-height:78px}
  .location-card-grid{gap:16px}
  .location-card-grid .info-card{flex-basis:100%;max-width:none;min-width:0}
  .location-card-grid .card-body{
    align-items:flex-start;
    text-align:left;
  }
  .location-card-grid .card-body .eyebrow,
  .location-card-grid .card-body .text-link{
    justify-content:flex-start;
  }
}


/* Area hub cleanup, seamless breadcrumbs and gradient CTA cards */
.breadcrumbs{
  width:100%;
  max-width:none;
  margin:0;
  padding:13px 24px;
  background:linear-gradient(135deg,#111 0%,#1a1a1a 52%,#242424 100%);
  color:rgba(255,255,255,.62);
  border:0;
}
.breadcrumbs ol{
  width:min(var(--max),100%);
  margin:0 auto;
}
.breadcrumbs a{color:rgba(255,255,255,.78)}
.breadcrumbs a:hover{color:var(--orange)}
.breadcrumbs li[aria-current="page"]{color:#fff}

.area-hub-hero{
  position:relative;
  color:#fff;
  padding:74px 0 82px;
  background:
    linear-gradient(90deg,rgba(12,12,12,.94) 0%,rgba(16,16,16,.84) 52%,rgba(20,20,20,.74) 100%),
    url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg') center 48%/cover no-repeat;
}
.area-hub-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(232,96,10,.08),transparent 55%);
  pointer-events:none;
}
.area-hub-hero-inner{position:relative;z-index:1;max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.area-hub-hero .eyebrow{justify-content:center}
.area-hub-hero h1{max-width:none;font-size:clamp(46px,6vw,72px)}
.area-hub-hero .lead{margin-inline:auto;color:rgba(255,255,255,.82);max-width:650px}
.area-hub-list{background:#fff}
.area-hub-heading{margin-bottom:54px}
.area-hub-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.area-hub-card{
  flex:0 1 calc((100% - 48px)/3);
  min-width:0;
  background:#fff;
  border:1px solid #dedede;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(18,18,18,.05);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.area-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#ececec}
.area-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.area-card-body{padding:22px 22px 24px;text-align:left}
.area-chip{display:inline-flex;border-radius:999px;background:var(--orange);color:#fff;padding:5px 10px;font-size:10px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:15px}
.area-card-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.area-card-title h3{font-size:23px;margin:0}
.area-pin{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#f5f5f5;color:var(--orange);border:1px solid rgba(232,96,10,.22)}
.area-pin svg{width:18px;height:18px}
.area-card-body p{font-size:15px;line-height:1.55;color:#5d5d5d;margin:0 0 18px}
.area-card-link{display:inline-flex;align-items:center;gap:7px;color:var(--orange);font-size:14px;font-weight:800;text-decoration:none}
.area-card-link svg{width:16px;height:16px;transition:transform .2s ease}
@media(hover:hover){
  .area-hub-card:hover{transform:translateY(-4px);border-color:rgba(232,96,10,.35);box-shadow:0 18px 38px rgba(18,18,18,.10)}
  .area-hub-card:hover .area-card-image img{transform:scale(1.035)}
  .area-hub-card:hover .area-card-link svg{transform:translateX(3px)}
}
.area-hub-map-section{padding-top:82px;padding-bottom:82px}
.area-hub-map{overflow:hidden;border-radius:10px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(18,18,18,.07)}
.area-hub-map iframe{display:block;width:100%;height:430px;border:0}

.cta-gradient-section{background:#fff;padding:72px 0}
.cta-gradient-card{
  max-width:980px;
  margin:0 auto;
  padding:clamp(42px,6vw,72px);
  text-align:center;
  color:#fff;
  border-radius:14px;
  background:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.13),transparent 26%),
    radial-gradient(circle at 88% 88%,rgba(232,96,10,.32),transparent 34%),
    linear-gradient(135deg,#111 0%,#1e1e1e 55%,#2a160b 100%);
  border:1px solid rgba(232,96,10,.28);
  box-shadow:0 22px 55px rgba(18,18,18,.16);
}
.cta-gradient-card .eyebrow{justify-content:center;color:#fff}
.cta-gradient-card h2{max-width:720px;margin-inline:auto;color:#fff}
.cta-gradient-card p{max-width:680px;margin:0 auto 28px;color:rgba(255,255,255,.78)}
.cta-gradient-card .button-primary{min-width:190px}

@media(max-width:980px){
  .area-hub-card{flex-basis:calc((100% - 24px)/2)}
}
@media(max-width:760px){
  .breadcrumbs{padding:12px 18px}
  .area-hub-hero{padding:56px 0 62px}
  .area-hub-hero h1{font-size:42px}
  .area-hub-card{flex-basis:100%}
  .area-card-body{text-align:left}
  .area-hub-map iframe{height:340px}
  .cta-gradient-section{padding:54px 0}
  .cta-gradient-card{padding:38px 24px;border-radius:10px}
}

/* === Final site-wide alignment and hero consistency pass === */
/* Main section introductions stay centred; card content keeps its existing alignment. */
.section-heading{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.section-heading .eyebrow{
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
}
.section-heading > p:not(.eyebrow){
  margin-left:auto;
  margin-right:auto;
}

/* All major hero headings and lead paragraphs use one consistent type scale. */
.hero h1,
.page-hero h1,
.area-hub-hero h1{
  font-size:clamp(38px,3.25vw,44px)!important;
  line-height:1.06;
  max-width:100%;
}
.hero .lead,
.page-hero .lead,
.area-hub-hero .lead{
  font-size:20px!important;
  line-height:1.55;
}

/* Stop desktop hero text and photography from colliding. */
@media (min-width:1081px){
  .hero-grid,
  .page-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(340px,400px)!important;
    gap:clamp(52px,5vw,72px)!important;
    align-items:center;
  }
  .hero-grid > *,
  .page-hero-grid > *{
    min-width:0;
  }
  .hero-copy,
  .page-hero-grid > div:first-child{
    width:100%;
    max-width:760px;
  }
  .hero-media,
  .page-hero-media{
    width:100%!important;
    max-width:400px!important;
    justify-self:end;
  }
  .page-hero-media picture,
  .hero-media .carousel-frame{
    width:100%;
    aspect-ratio:4/3;
  }
}

/* Preserve the requested one-line homepage H1 on normal desktop widths without overlap. */
@media (min-width:1180px){
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) 360px!important;
  }
  .home-hero .hero-copy h1{
    white-space:nowrap;
    font-size:40px!important;
    max-width:none;
  }
  .home-hero .hero-media{
    width:360px!important;
    max-width:360px!important;
  }
}

/* Location-page actions: explicit contrast so no white-on-white state can occur. */
.page-hero .button-primary{
  background:linear-gradient(135deg,var(--tmh-orange) 0%,var(--tmh-orange-deep) 100%)!important;
  border-color:var(--tmh-orange)!important;
  color:#fff!important;
}
.page-hero .button-primary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#171717!important;
}
.page-hero .button-secondary{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
.page-hero .button-secondary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#171717!important;
}
.area-local-box .button-light{
  background:linear-gradient(135deg,var(--tmh-orange) 0%,var(--tmh-orange-deep) 100%)!important;
  border-color:var(--tmh-orange)!important;
  color:#fff!important;
}
.area-local-box .button-light:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#171717!important;
}

/* The homepage area tiles always show their pin clearly and stay visually ordered. */
.clean-area-grid{
  justify-content:center!important;
}
.clean-area-grid a .location-pin-icon{
  display:block;
  color:var(--tmh-orange);
  stroke:currentColor;
}

/* Area hub icons remain visible and cards stay centred as a group. */
.area-hub-grid{
  justify-content:center!important;
}
.area-card-title .area-pin{
  display:grid;
  place-items:center;
}

@media (max-width:1080px){
  .hero h1,
  .page-hero h1,
  .area-hub-hero h1{
    font-size:40px!important;
  }
  .hero .lead,
  .page-hero .lead,
  .area-hub-hero .lead{
    font-size:18px!important;
  }
}

@media (max-width:760px){
  .hero h1,
  .page-hero h1,
  .area-hub-hero h1{
    font-size:38px!important;
    line-height:1.08;
  }
  .hero .lead,
  .page-hero .lead,
  .area-hub-hero .lead{
    font-size:17px!important;
    line-height:1.55;
  }
  /* Main section labels/headings centre on mobile; card content remains untouched. */
  .section-heading,
  .area-hub-heading{
    text-align:center!important;
  }
  .section-heading .eyebrow,
  .area-hub-heading .eyebrow{
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
  }
}


/* === Latest layout fixes: hero collision, Tyler balance, map ordering === */
/* Removing the CTA from the Tyler split leaves both columns visually balanced. */
.clean-trust-copy{align-self:center}
.clean-trust-points{margin-bottom:0}

/* Keep the homepage hero columns physically separate at compact desktop widths. */
@media (min-width:761px) and (max-width:899px){
  .home-hero .hero-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .home-hero .hero-copy,
  .home-hero .hero-media{
    width:100%!important;
    max-width:680px!important;
    justify-self:center!important;
  }
  .home-hero .hero-copy{text-align:center}
  .home-hero .hero-copy .eyebrow{margin-left:auto;margin-right:auto;justify-content:center}
  .home-hero .hero-copy h1{white-space:normal!important}
}

@media (min-width:900px) and (max-width:1179px){
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) 280px!important;
    gap:32px!important;
    align-items:center!important;
  }
  .home-hero .hero-copy{
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .home-hero .hero-copy h1,
  .page-hero h1,
  .area-hub-hero h1{
    font-size:30px!important;
    line-height:1.08!important;
  }
  .home-hero .hero-copy h1{
    max-width:100%!important;
    white-space:nowrap!important;
    letter-spacing:-.04em!important;
  }
  .home-hero .hero-media{
    width:280px!important;
    max-width:280px!important;
    min-width:0!important;
    justify-self:end!important;
  }
}

@media (min-width:1180px){
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) 350px!important;
    gap:48px!important;
  }
  .home-hero .hero-copy{min-width:0!important;max-width:none!important}
  .home-hero .hero-copy h1,
  .page-hero h1,
  .area-hub-hero h1{font-size:40px!important}
  .home-hero .hero-copy h1{white-space:nowrap!important;max-width:100%!important}
  .home-hero .hero-media{width:350px!important;max-width:350px!important}
}


/* Seamless breadcrumbs: remove the pale breadcrumb bar/pill near page headers. */
.breadcrumbs{
  background:#1a1a1a!important;
  border:0!important;
  box-shadow:none!important;
}
.breadcrumbs ol{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}


/* === REQUESTED FINAL POLISH: header separation, centred pages, reviews, contrast === */
/* The sticky header remains in normal document flow and never sits over hero photography. */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  width:100%;
  isolation:isolate;
}
main{position:relative;z-index:0}
.hero,.page-hero,.area-hub-hero{position:relative;z-index:0;margin-top:0!important}
.hero-media,.page-hero-media{position:relative;z-index:1;margin-top:0!important}
.hero-media picture,.hero-media .carousel-frame,.page-hero-media picture{margin-top:0!important}

/* Keep every page and major content group centred inside the viewport. */
.container,.narrow,.breadcrumbs,.article-body{
  margin-left:auto!important;
  margin-right:auto!important;
}
main .page-hero-grid,
main .hero-grid,
main .split,
main .proof-band,
main .quote-layout,
main .service-detail-grid,
main .related-links,
main .card-grid,
main .reviews-grid{
  margin-left:auto;
  margin-right:auto;
}
.page-hero-grid{max-width:1120px}
.page-hero-grid>div:first-child{text-align:center;justify-self:center}
.page-hero-grid>div:first-child>.eyebrow{justify-content:center;margin-left:auto;margin-right:auto}
.page-hero-grid .lead{margin-left:auto;margin-right:auto}
.page-hero-grid .hero-actions{justify-content:center}
.page-hero-media{justify-self:center!important}

/* Compact proof-led reviews inspired by the requested reference, while preserving three columns. */
.home-reviews.section{padding-top:72px!important;padding-bottom:72px!important}
.reviews-intro{margin-bottom:24px!important}
.review-platforms{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px!important;
  margin:20px auto 26px!important;
}
.review-platform-badge{
  min-width:150px;
  height:58px;
  padding:8px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:6px;
  box-shadow:0 8px 20px rgba(20,20,20,.05);
}
.review-platform-badge img{
  width:auto!important;
  height:auto!important;
  max-width:126px!important;
  max-height:38px!important;
  object-fit:contain;
}
.reviews-grid,.clean-reviews-grid{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:18px!important;
}
.reviews-grid>.review-card,.clean-reviews-grid>.review-card{
  flex:0 1 calc((100% - 36px)/3);
  min-width:0;
  display:flex;
  flex-direction:column;
  position:relative;
  padding:24px!important;
  background:#fff!important;
  color:#1a1a1a!important;
  border:1px solid #e0e0e0!important;
  border-top:4px solid var(--orange)!important;
  border-radius:6px!important;
  box-shadow:0 10px 26px rgba(20,20,20,.06)!important;
}
.reviews-grid>.review-card:before,.clean-reviews-grid>.review-card:before{
  content:"“";
  position:absolute;
  right:18px;
  top:5px;
  color:rgba(232,96,10,.14);
  font:700 58px/1 Georgia,serif;
  pointer-events:none;
}
.reviews-grid .review-stars,.clean-reviews-grid .review-stars{position:relative;z-index:1;margin-bottom:6px}
.reviews-grid blockquote,.clean-reviews-grid blockquote{
  position:relative;
  z-index:1;
  flex:1;
  margin:8px 0 20px!important;
  color:#34312e!important;
  font-size:15.5px!important;
  line-height:1.62!important;
}
.reviews-grid .review-person,.clean-reviews-grid .review-person{padding-top:15px;border-top:1px solid #e0e0e0}
.reviews-grid .review-person strong,.clean-reviews-grid .review-person strong{color:#1a1a1a!important}
.reviews-grid .review-person span,.clean-reviews-grid .review-person span{color:#6a655f!important}

/* Explicit button contrast: no white text on white buttons anywhere. */
.button-primary,
a.button-primary,
button.button-primary{
  background:linear-gradient(135deg,#f06a14,var(--orange))!important;
  border-color:var(--orange)!important;
  color:#fff!important;
}
.button-primary:hover,
a.button-primary:hover,
button.button-primary:hover{
  background:linear-gradient(135deg,var(--orange),var(--orange-dark))!important;
  border-color:var(--orange-dark)!important;
  color:#fff!important;
}
.button-secondary,
a.button-secondary,
button.button-secondary{
  background:#fff!important;
  border-color:#1a1a1a!important;
  color:#1a1a1a!important;
}
.button-secondary:hover,
a.button-secondary:hover,
button.button-secondary:hover{
  background:#1a1a1a!important;
  border-color:#1a1a1a!important;
  color:#fff!important;
}
.hero .button-secondary,
.page-hero .button-secondary,
.section-dark .button-secondary,
.cta-band .button-secondary,
.cta-gradient-card .button-secondary{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
.hero .button-secondary:hover,
.page-hero .button-secondary:hover,
.section-dark .button-secondary:hover,
.cta-band .button-secondary:hover,
.cta-gradient-card .button-secondary:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#1a1a1a!important;
}
.button-light,
a.button-light,
button.button-light{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
.button-light:hover,
a.button-light:hover,
button.button-light:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#1a1a1a!important;
}
.area-local-box .button-light{
  background:linear-gradient(135deg,var(--orange),var(--orange-dark))!important;
  border-color:var(--orange)!important;
  color:#fff!important;
}
.area-local-box .button-light:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#1a1a1a!important;
}

@media(max-width:900px){
  .reviews-grid>.review-card,.clean-reviews-grid>.review-card{flex-basis:calc((100% - 18px)/2)}
}
@media(max-width:760px){
  .site-header{height:68px!important}
  .hero,.page-hero{padding-top:34px!important}
  .page-hero-grid>div:first-child{order:0!important}
  .page-hero-media{order:1!important;margin-top:18px!important}
  .reviews-grid>.review-card,.clean-reviews-grid>.review-card{flex-basis:100%}
  .review-platform-badge{min-width:132px;height:54px}
  .review-platform-badge img{max-width:112px!important;max-height:34px!important}
}


/* === TMH CLEAN HIERARCHY PASS — 2026-08-11 === */
/* One consistent hierarchy, calmer spacing and deliberate alignment. */
:root{
  --tmh-h1:clamp(50px,5vw,68px);
  --tmh-h2:clamp(34px,3.4vw,46px);
  --tmh-h3:clamp(22px,2vw,28px);
}

/* Consistent typography across every page. */
h1,
.hero h1,
.page-hero h1,
.area-hub-hero h1,
.legal-page h1,
.empty-state h1{
  font-size:var(--tmh-h1)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
h2,
.article-body h2,
.legal-page h2,
.cta-gradient-card h2{
  font-size:var(--tmh-h2)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
h3,
.article-body h3,
.clean-service-card h3,
.service-detail h3,
.area-card-title h3,
.clean-timeline h3{
  font-size:var(--tmh-h3)!important;
  line-height:1.15!important;
}

/* Clean section rhythm. */
.section{padding:clamp(84px,8vw,120px) 0}
.section-compact{padding:56px 0}
.section-heading{
  max-width:760px;
  margin:0 0 44px;
  text-align:left!important;
}
.section-heading .eyebrow{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
.section-heading > p:not(.eyebrow){margin-left:0!important;margin-right:0!important}
.section-heading.center,
.area-hub-heading{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.section-heading.center .eyebrow,
.area-hub-heading .eyebrow{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
.section-heading.center > p:not(.eyebrow),
.area-hub-heading > p:not(.eyebrow){margin-left:auto!important;margin-right:auto!important}

/* Split layouts stay editorial: text is left aligned, never awkwardly centred beside an image. */
.split > div:not(.split-media),
.clean-trust-copy,
.proof-band > div,
.quote-layout > div{text-align:left!important}
.split > div:not(.split-media) .eyebrow,
.clean-trust-copy .eyebrow,
.proof-band > div .eyebrow,
.quote-layout > div .eyebrow{justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}

/* Homepage hero: larger H1 and materially larger desktop carousel. */
.home-hero{padding:clamp(64px,7vw,96px) 0 52px!important}
.home-hero .hero-copy h1{
  font-size:var(--tmh-h1)!important;
  white-space:normal!important;
  max-width:760px!important;
  letter-spacing:-.04em!important;
}
.home-hero .hero-copy .lead{font-size:20px!important;max-width:660px}
@media (min-width:1081px){
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;
    gap:clamp(48px,5vw,76px)!important;
    align-items:center!important;
  }
  .home-hero .hero-copy{max-width:720px!important;min-width:0!important}
  .home-hero .hero-media{
    width:100%!important;
    max-width:620px!important;
    justify-self:end!important;
  }
  .home-hero .carousel-frame{
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:430px;
  }
}
@media (min-width:900px) and (max-width:1080px){
  .home-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)!important;gap:38px!important}
  .home-hero .hero-media{width:100%!important;max-width:460px!important}
  .home-hero .hero-copy h1{font-size:48px!important}
}

/* Internal service, location and about heroes are intentionally text-led. */
.page-hero.text-only-hero{
  padding:clamp(58px,7vw,86px) 0!important;
  background:var(--paper)!important;
}
.page-hero.text-only-hero .page-hero-grid{
  display:block!important;
  max-width:var(--max)!important;
  margin-inline:auto!important;
}
.page-hero.text-only-hero .page-hero-grid > div:first-child{
  width:min(900px,100%)!important;
  max-width:900px!important;
  text-align:left!important;
  justify-self:start!important;
}
.page-hero.text-only-hero .eyebrow{justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}
.page-hero.text-only-hero .lead{margin-left:0!important;margin-right:0!important;max-width:760px!important}
.page-hero.text-only-hero .hero-actions{justify-content:flex-start!important}
.page-hero.text-only-hero .pill-row{justify-content:flex-start!important}

/* Locations hub keeps the same text-led rule: no photographic hero background. */
.area-hub-hero{
  background:linear-gradient(135deg,#111 0%,#1c1c1c 62%,#2b160b 100%)!important;
}
.area-hub-hero:after{background:linear-gradient(180deg,rgba(232,96,10,.10),transparent 58%)!important}

/* Light page heroes use dark secondary buttons; this prevents white-on-white states. */
.page-hero .button-secondary,
.page-hero.text-only-hero .button-secondary{
  background:transparent!important;
  border-color:var(--ink)!important;
  color:var(--ink)!important;
}
.page-hero .button-secondary:hover,
.page-hero.text-only-hero .button-secondary:hover{
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  color:#fff!important;
}

/* Review proof remains three equal columns on desktop and centred as a group. */
.reviews-grid,.clean-reviews-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  justify-content:center!important;
}
.reviews-grid > .review-card,.clean-reviews-grid > .review-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Contact page: intro and form are separate, uncluttered sections. */
.contact-quote-intro .section-heading{margin-bottom:0!important;max-width:760px}
.contact-form-section{padding-top:76px!important;padding-bottom:90px!important}
.contact-form-container{max-width:900px!important}
.contact-form-section .quote-form{
  width:100%;
  max-width:900px;
  margin:0 auto;
  padding:clamp(28px,4vw,46px)!important;
  box-shadow:0 16px 38px rgba(20,20,20,.07)!important;
}

/* Keep page containers centred without centring their text. */
.container,.narrow,.article-body,.footer-grid{margin-left:auto!important;margin-right:auto!important}

/* Header stays above content without physically covering hero imagery. */
.site-header{position:sticky!important;top:0!important;z-index:5000!important}
main{position:relative;z-index:0}

@media (max-width:760px){
  :root{--tmh-h1:40px;--tmh-h2:31px;--tmh-h3:22px}
  .section{padding:72px 0}
  .section-compact{padding:46px 0}
  .section-heading{margin-bottom:32px;text-align:left!important}
  .section-heading .eyebrow{justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}
  .section-heading.center,
  .area-hub-heading{text-align:center!important}
  .section-heading.center .eyebrow,
  .area-hub-heading .eyebrow{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
  .home-hero .hero-copy h1{font-size:42px!important;line-height:1.04!important}
  .home-hero .hero-copy .lead{font-size:17px!important}
  .home-hero .carousel-frame{aspect-ratio:4/3!important}
  .page-hero.text-only-hero{padding:46px 0 54px!important}
  .page-hero.text-only-hero .page-hero-grid > div:first-child{text-align:left!important}
  .reviews-grid,.clean-reviews-grid{grid-template-columns:1fr!important}
  .contact-form-section{padding-top:58px!important;padding-bottom:72px!important}
  .contact-form-section .quote-form{padding:24px!important}
}


/* === TMH SIMPLIFICATION CORRECTIONS — 2026-08-11 B === */
/* Homepage hero: text carries the hierarchy; carousel sits below and is ~15% narrower than the previous 620px treatment. */
.home-hero{
  padding:44px 0 38px!important;
}
.home-hero .hero-grid{
  display:block!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
.home-hero .hero-copy{
  width:min(780px,100%)!important;
  max-width:780px!important;
  margin:0!important;
  text-align:left!important;
}
.home-hero .hero-copy .eyebrow{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
.home-hero .hero-copy h1{
  font-size:clamp(50px,4.6vw,60px)!important;
  line-height:1.02!important;
  max-width:760px!important;
}
.home-hero .hero-copy .lead{
  max-width:690px!important;
  font-size:18px!important;
}
.home-hero .hero-actions{
  justify-content:flex-start!important;
  margin:24px 0 0!important;
}
.home-hero .hero-media{
  width:min(527px,100%)!important;
  max-width:527px!important;
  margin:28px 0 0!important;
  justify-self:start!important;
}
.home-hero .carousel-frame{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
}
.home-hero .carousel-controls{
  justify-content:flex-start!important;
  margin-top:14px!important;
}

/* Review platform contrast correction. */
.review-platform-badge.google-badge{
  background:#1a1a1a!important;
  border-color:#1a1a1a!important;
}
.review-platform-badge.google-badge img{
  max-width:126px!important;
  max-height:38px!important;
}

/* Footer headings return to their original compact navigation-label sizing. */
.site-footer h2{
  font-size:13px!important;
  line-height:1.3!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  margin-bottom:18px!important;
}

/* Individual location pages: dark, centred and deliberately simple. Kirkby-in-Ashfield is the homepage and is not targeted. */
.page-hero.text-only-hero.location-detail-hero{
  background:linear-gradient(135deg,#141414 0%,#1b1b1b 72%,#23170f 100%)!important;
  color:#fff!important;
  padding:58px 0 66px!important;
}
.page-hero.text-only-hero.location-detail-hero:before{
  opacity:.035!important;
  background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px)!important;
}
.page-hero.text-only-hero.location-detail-hero .page-hero-grid{
  display:block!important;
  max-width:1120px!important;
}
.page-hero.text-only-hero.location-detail-hero .page-hero-grid>div:first-child{
  width:min(880px,100%)!important;
  max-width:880px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.page-hero.text-only-hero.location-detail-hero h1{color:#fff!important;}
.page-hero.text-only-hero.location-detail-hero .lead{
  color:#d8d8d8!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:720px!important;
}
.page-hero.text-only-hero.location-detail-hero .eyebrow{
  color:var(--orange)!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-hero.text-only-hero.location-detail-hero .hero-actions,
.page-hero.text-only-hero.location-detail-hero .pill-row{
  justify-content:center!important;
}
.page-hero.text-only-hero.location-detail-hero .button-secondary{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
.page-hero.text-only-hero.location-detail-hero .button-secondary:hover{
  background:#fff!important;
  color:#1a1a1a!important;
}
.page-hero.text-only-hero.location-detail-hero .pill{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
}

/* All-areas hero: no photograph, no split, simply centred text on a dark field. */
.area-hub-hero{
  background:#171717!important;
  color:#fff!important;
  padding:62px 0 68px!important;
}
.area-hub-hero:after{
  background:linear-gradient(180deg,rgba(232,96,10,.08),transparent 60%)!important;
}
.area-hub-hero-inner,
.area-hub-hero-inner.simple-area-hub-hero{
  max-width:780px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.area-hub-hero .eyebrow{
  color:var(--orange)!important;
  justify-content:center!important;
}
.area-hub-hero h1{color:#fff!important;}
.area-hub-hero .lead{
  color:#d8d8d8!important;
  margin-inline:auto!important;
  max-width:680px!important;
}
.area-hub-cta .eyebrow,
.cta-gradient-card.area-hub-cta .eyebrow{
  color:var(--orange)!important;
}

/* Compact coverage/map layout follows the supplied reference: modest map left, small area pills right. */
.compact-coverage-section{
  padding:78px 0 84px!important;
}
.compact-coverage-container{
  max-width:1120px!important;
}
.compact-coverage-heading{
  max-width:760px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
}
.compact-coverage-heading .eyebrow{
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.compact-coverage-heading>p:not(.eyebrow){
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:720px!important;
}
.compact-coverage-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
  gap:40px!important;
  align-items:center!important;
  max-width:1020px!important;
  margin-inline:auto!important;
}
.compact-map{
  width:100%!important;
  overflow:hidden!important;
  border:1px solid #d9d9d9!important;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(20,20,20,.06)!important;
  background:#ececec!important;
}
.compact-map iframe{
  display:block!important;
  width:100%!important;
  height:350px!important;
  border:0!important;
}
.compact-coverage-copy{
  text-align:left!important;
  min-width:0!important;
}
.compact-coverage-copy .eyebrow{
  justify-content:flex-start!important;
  margin:0 0 16px!important;
  color:#555!important;
}
.compact-coverage-copy .eyebrow:before{background:var(--orange)!important;}
.compact-area-pills{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  list-style:none!important;
  padding:0!important;
  margin:0 0 20px!important;
}
.compact-area-pills li{margin:0!important;}
.compact-area-pills a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 13px!important;
  border:1px solid #d8d8d8!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#333!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
  box-shadow:0 2px 7px rgba(20,20,20,.03)!important;
}
.compact-area-pills a:hover{
  border-color:var(--orange)!important;
  color:var(--orange)!important;
}
.compact-coverage-note{
  margin:0!important;
  color:#555!important;
  font-size:14px!important;
  line-height:1.55!important;
  max-width:440px!important;
}
.compact-coverage-note a{
  color:var(--orange)!important;
  font-weight:700!important;
  text-decoration:none!important;
}

/* In any real two-column composition, prose aligns naturally from the left. */
.split>div:not(.split-media),
.clean-trust-layout>.clean-trust-copy,
.proof-band>div:first-child,
.quote-layout>.section-heading,
.compact-coverage-layout>.compact-coverage-copy{
  text-align:left!important;
}
.split>div:not(.split-media) .eyebrow,
.clean-trust-layout>.clean-trust-copy .eyebrow,
.proof-band>div:first-child .eyebrow,
.quote-layout>.section-heading .eyebrow,
.compact-coverage-layout>.compact-coverage-copy .eyebrow{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
.quote-layout>.section-heading>p:not(.eyebrow),
.clean-trust-layout>.clean-trust-copy>p:not(.eyebrow){
  margin-left:0!important;
  margin-right:0!important;
}

@media(max-width:760px){
  .home-hero{padding:38px 0 32px!important;}
  .home-hero .hero-copy{text-align:left!important;}
  .home-hero .hero-copy h1{font-size:42px!important;}
  .home-hero .hero-copy .eyebrow{justify-content:flex-start!important;}
  .home-hero .hero-actions{display:grid!important;}
  .home-hero .hero-media{width:100%!important;max-width:100%!important;margin-top:24px!important;}
  .home-hero .carousel-frame{aspect-ratio:16/10!important;}
  .home-hero .carousel-controls{justify-content:center!important;}

  .page-hero.text-only-hero.location-detail-hero{padding:48px 0 54px!important;}
  .page-hero.text-only-hero.location-detail-hero .page-hero-grid>div:first-child{text-align:center!important;}
  .page-hero.text-only-hero.location-detail-hero .eyebrow{justify-content:center!important;}

  .area-hub-hero{padding:50px 0 56px!important;}
  .compact-coverage-section{padding:60px 0 66px!important;}
  .compact-coverage-heading{margin-bottom:30px!important;}
  .compact-coverage-layout{grid-template-columns:1fr!important;gap:28px!important;}
  .compact-map iframe{height:300px!important;}
  .compact-coverage-copy{text-align:left!important;}
  .compact-area-pills{gap:8px!important;}
  .compact-area-pills a{font-size:12.5px!important;padding:7px 11px!important;}
}

/* Reference-scale refinement: keep the stacked homepage hero compact and put carousel controls over the image. */
.home-hero{padding:38px 0 30px!important;}
.home-hero .hero-copy{width:min(740px,100%)!important;max-width:740px!important;}
.home-hero .hero-copy h1{font-size:clamp(48px,4.2vw,56px)!important;max-width:720px!important;}
.home-hero .hero-media{margin-top:22px!important;position:relative!important;}
.home-hero .carousel-controls{
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  pointer-events:none!important;
  z-index:4!important;
}
.home-hero .carousel-controls button{pointer-events:auto!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important;}
.home-hero .carousel-dots{align-self:flex-end!important;margin-bottom:12px!important;padding:6px 8px!important;border-radius:999px!important;background:rgba(20,20,20,.56)!important;pointer-events:auto!important;}
.home-hero .carousel-dots button{box-shadow:none!important;}
.home-hero .hero-scroll-indicator{display:none!important;}

/* The supplied map reference uses a compact section heading rather than an oversized display heading. */
.compact-coverage-heading h2{
  font-size:clamp(32px,3vw,40px)!important;
  line-height:1.08!important;
}

@media(max-width:760px){
  .home-hero{padding:34px 0 28px!important;}
  .home-hero .hero-copy{width:100%!important;max-width:100%!important;}
  .home-hero .hero-copy h1{font-size:42px!important;}
  .home-hero .hero-media{margin-top:20px!important;}
  .home-hero .carousel-controls{padding:0 9px!important;}
  .compact-coverage-heading h2{font-size:32px!important;}
}

/* === HOMEPAGE HERO REFERENCE MATCH — 2026-08-11 ===
   Scope intentionally limited to the homepage hero only. */
.home-hero{
  min-height:590px!important;
  padding:58px 0 54px!important;
  display:flex!important;
  align-items:center!important;
  background-image:
    linear-gradient(90deg,rgba(10,16,14,.82) 0%,rgba(10,16,14,.72) 48%,rgba(10,16,14,.56) 100%),
    url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  color:#fff!important;
}
.home-hero.grid-pattern:before{opacity:0!important;}
.home-hero .hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr)!important;
  gap:clamp(46px,5.2vw,72px)!important;
  align-items:center!important;
  width:min(1120px,calc(100% - 64px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
.home-hero .hero-copy{
  width:auto!important;
  max-width:610px!important;
  margin:0!important;
  text-align:left!important;
}
.home-hero .hero-copy .eyebrow{
  display:inline-flex!important;
  width:auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  margin:0 0 28px!important;
  padding:8px 12px!important;
  border:1px solid rgba(232,96,10,.78)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:rgba(12,12,12,.16)!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.06em!important;
}
.home-hero .hero-copy .eyebrow:before{
  display:block!important;
  width:8px!important;
  height:8px!important;
  flex:0 0 8px!important;
  border-radius:50%!important;
  background:var(--orange)!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.78)!important;
}
.home-hero .hero-copy h1{
  color:#fff!important;
  font-size:clamp(48px,4.2vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  max-width:590px!important;
  margin:0 0 22px!important;
  white-space:normal!important;
}
.home-hero .hero-copy h1 em{
  color:#fff!important;
  display:inline!important;
  margin:0!important;
}
.home-hero .hero-copy h1 em:after{display:none!important;}
.home-hero .hero-copy .lead{
  color:#d2d5d3!important;
  font-size:18px!important;
  line-height:1.6!important;
  max-width:560px!important;
  margin:0!important;
}
.home-hero .hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:12px!important;
  margin:26px 0 0!important;
}
.home-hero .button{
  min-height:48px!important;
  padding:12px 20px!important;
}
.home-hero .button-secondary{
  background:#fff!important;
  color:var(--ink)!important;
  border-color:#fff!important;
}
.home-hero .button-secondary:hover{
  background:#f1f1f1!important;
  color:var(--ink)!important;
  border-color:#f1f1f1!important;
}
.home-hero .hero-media{
  width:min(100%,400px)!important;
  max-width:400px!important;
  margin:0!important;
  justify-self:end!important;
  position:relative!important;
}
.home-hero .carousel-frame{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/11!important;
  overflow:hidden!important;
  border:1px solid rgba(232,96,10,.85)!important;
  border-radius:18px!important;
  background:#191919!important;
  box-shadow:0 18px 42px rgba(0,0,0,.30)!important;
}
.home-hero .carousel-slide img{object-fit:cover!important;}
.home-hero .carousel-controls{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0!important;
  padding:0 12px!important;
  pointer-events:none!important;
}
.home-hero .carousel-controls button{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#191919!important;
  box-shadow:0 5px 14px rgba(0,0,0,.20)!important;
  pointer-events:auto!important;
}
.home-hero .carousel-dots{display:none!important;}
.home-hero .hero-scroll-indicator{display:none!important;}

@media (min-width:761px) and (max-width:1080px){
  .home-hero{
    min-height:540px!important;
    padding:52px 0!important;
  }
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr)!important;
    gap:36px!important;
    width:min(100% - 48px,1000px)!important;
  }
  .home-hero .hero-copy{max-width:560px!important;}
  .home-hero .hero-copy h1{font-size:clamp(42px,5vw,52px)!important;}
  .home-hero .hero-media{width:min(100%,360px)!important;max-width:360px!important;}
}

@media (max-width:760px){
  .home-hero{
    min-height:0!important;
    padding:42px 0 38px!important;
    background-image:
      linear-gradient(180deg,rgba(10,16,14,.80),rgba(10,16,14,.68)),
      url('/assets/images/construction-projects-mansfield-tmh-quality-construction.jpg')!important;
  }
  .home-hero .hero-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
    width:min(100% - 32px,620px)!important;
  }
  .home-hero .hero-copy{
    width:100%!important;
    max-width:none!important;
    text-align:left!important;
  }
  .home-hero .hero-copy .eyebrow{
    margin-bottom:22px!important;
    justify-content:flex-start!important;
  }
  .home-hero .hero-copy h1{
    font-size:42px!important;
    max-width:100%!important;
  }
  .home-hero .hero-copy .lead{font-size:16px!important;}
  .home-hero .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .home-hero .hero-media{
    width:min(100%,460px)!important;
    max-width:460px!important;
    margin:0!important;
    justify-self:center!important;
  }
  .home-hero .carousel-frame{aspect-ratio:16/10!important;}
}


/* === Homepage hero counts and carousel card === */

.home-hero .hero-copy{position:relative;z-index:2}
.home-hero .hero-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:520px;margin-top:8px}
.home-hero .hero-count strong{display:flex;align-items:flex-end;gap:2px;font-size:clamp(32px,4vw,46px);line-height:.95;font-weight:900;color:var(--orange)}
.home-hero .hero-count span{display:block}
.home-hero .hero-count > span{margin-top:7px;font-size:14px;line-height:1.35;color:#f5f5f5;font-weight:700}
.home-hero .count-suffix{font-size:.8em;line-height:1;transform:translateY(-1px)}
.home-hero .hero-media{position:relative}
.home-hero .carousel-frame{position:relative;overflow:hidden}
.home-hero .hero-review-pill{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;z-index:3;padding:10px 14px;border-radius:999px;background:#2e72f2;color:#fff;font-size:13px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.home-hero .hero-review-pill span{letter-spacing:1.3px;color:#ffd14d;font-size:12px}
.home-hero .hero-floating-card{position:absolute;right:16px;bottom:16px;z-index:3;width:min(235px,calc(100% - 32px));padding:16px 18px;border-radius:16px;background:rgba(18,18,18,.82);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);box-shadow:0 18px 35px rgba(0,0,0,.32);color:#fff}
.home-hero .hero-floating-card small{display:block;margin:0 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffb47e;font-weight:800}
.home-hero .hero-floating-card strong{display:block;margin:0 0 5px;font-size:18px;line-height:1.15;color:#fff}
.home-hero .hero-floating-card span{display:block;font-size:13px;line-height:1.45;color:rgba(255,255,255,.82)}
@media (max-width:760px){
  .home-hero .hero-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:none}
  .home-hero .hero-count strong{font-size:30px}
  .home-hero .hero-count > span{font-size:12px}
  .home-hero .hero-review-pill{top:10px;left:10px;padding:8px 10px;font-size:11px}
  .home-hero .hero-review-pill span{font-size:10px}
  .home-hero .hero-floating-card{right:12px;bottom:12px;width:min(210px,calc(100% - 24px));padding:13px 14px}
}
@media (max-width:560px){
  .home-hero .hero-counts{gap:10px}
  .home-hero .hero-count strong{font-size:26px}
  .home-hero .hero-floating-card{position:absolute;width:min(190px,calc(100% - 24px))}
}

/* === Location hero background images === */
.location-hero-bg{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(7,10,9,.86),rgba(7,10,9,.74)),var(--location-hero-image) center/cover no-repeat!important;color:#fff}
.location-hero-bg:before{opacity:.025!important}
.location-hero-bg .page-hero-grid{justify-items:center;text-align:center;position:relative;z-index:1}
.location-hero-bg .page-hero-grid > div{max-width:780px}
.location-hero-bg h1,.location-hero-bg .lead,.location-hero-bg p,.location-hero-bg .pill-row,.location-hero-bg .pill{position:relative;z-index:1}
.location-hero-bg h1{color:#fff!important}
.location-hero-bg .lead{color:rgba(255,255,255,.86)!important;margin-inline:auto}
.location-hero-bg .pill{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.location-hero-bg .button-secondary{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.location-hero-bg .button-secondary:hover{background:rgba(255,255,255,.14)!important}


/* === Final requested site-wide consistency fixes === */

/* Remove warm/cream surfaces in favour of neutral TMH light grey. */
:root{
  --paper:#f5f5f5!important;
  --line:#e0e0e0!important;
}
.section-paper{background:#f5f5f5!important;}

/* Homepage: give the counting row clear breathing room below the buttons. */
.home-hero .hero-actions{margin-bottom:0!important;}
.home-hero .hero-counts{margin-top:30px!important;}
.home-hero .hero-floating-card{display:none!important;}

/* Google and Facebook review proof use the same dark panel colour. */
.review-platform-badge,
.review-platform-badge.facebook-badge,
.review-platform-badge.google-badge{
  background:#1a1a1a!important;
  border-color:#1a1a1a!important;
}

/* About, service, contact and projects index heroes: simple, dark and centred. */
.page-hero.site-dark-text-hero{
  background-color:#171717!important;
  color:#fff!important;
  padding:clamp(58px,7vw,86px) 0!important;
}
.page-hero.site-dark-text-hero:before{
  opacity:.035!important;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px)!important;
}
.page-hero.site-dark-text-hero .page-hero-grid{
  display:block!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
.page-hero.site-dark-text-hero .page-hero-grid>div:first-child{
  width:min(880px,100%)!important;
  max-width:880px!important;
  margin-inline:auto!important;
  text-align:center!important;
  justify-self:center!important;
}
.page-hero.site-dark-text-hero h1{color:#fff!important;max-width:none!important;}
.page-hero.site-dark-text-hero .lead{
  color:#d9d9d9!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:760px!important;
}
.page-hero.site-dark-text-hero .eyebrow{
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-hero.site-dark-text-hero .hero-actions,
.page-hero.site-dark-text-hero .pill-row,
.page-hero.site-dark-text-hero .trust-micro{
  justify-content:center!important;
}
.page-hero.site-dark-text-hero .button-secondary{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
.page-hero.site-dark-text-hero .button-secondary:hover{
  background:#fff!important;
  color:#171717!important;
}
.page-hero.site-dark-text-hero .pill{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
}
.page-hero.site-dark-text-hero .trust-micro li{color:#fff!important;}

/* Every process/timeline intro follows the centred homepage treatment. */
.process-section .section-heading{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:780px!important;
}
.process-section .section-heading .eyebrow{
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.process-section .section-heading .eyebrow:before{display:none!important;}
.process-section .section-heading p{margin-left:auto!important;margin-right:auto!important;}

/* On service explanation splits, both columns begin on the same visual line. */
.service-reasons-split{align-items:start!important;}
.service-reasons-split>div{align-self:start!important;}
.service-reasons-split>div>.eyebrow{margin-top:0!important;}

/* Keep genuine split-layout copy natural and left aligned. */
.split>div:not(.split-media):not(.proof-panel):not(.area-local-box){text-align:left;}
.split>div:not(.split-media):not(.proof-panel):not(.area-local-box)>.eyebrow{justify-content:flex-start;}

@media(max-width:760px){
  .home-hero .hero-counts{margin-top:26px!important;}
  .page-hero.site-dark-text-hero{padding:48px 0 54px!important;}
  .page-hero.site-dark-text-hero .page-hero-grid>div:first-child{text-align:center!important;}
}



/* === Service projects carousel === */
.service-projects-section{overflow:hidden}
.service-projects-section .section-heading{margin-bottom:34px}
.service-project-carousel{width:min(100%,920px);margin-inline:auto}
.service-project-carousel .carousel-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#171717;box-shadow:0 20px 48px rgba(0,0,0,.14)}
.service-project-carousel .carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
.service-project-carousel .carousel-slide.active{opacity:1}
.service-project-carousel picture{display:block;width:100%;height:100%}
.service-project-carousel img{display:block;width:100%;height:100%;object-fit:cover}
.service-project-caption{position:absolute;left:18px;bottom:18px;max-width:calc(100% - 36px);padding:12px 16px;border-radius:12px;background:rgba(18,18,18,.82);color:#fff;backdrop-filter:blur(8px);box-shadow:0 10px 28px rgba(0,0,0,.22)}
.service-project-caption small{display:block;margin-bottom:3px;color:#ffb47e;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.service-project-caption strong{display:block;color:#fff;font-size:18px;line-height:1.2}
.service-project-carousel .carousel-controls{justify-content:center;margin-top:18px}
.service-project-carousel .carousel-controls button{background:#fff;color:#171717;border:1px solid var(--line)}
.service-project-carousel .carousel-dots button{width:9px;height:9px;padding:0;background:#b6b6b6;border:0}
.service-project-carousel .carousel-dots button.active{background:var(--orange)}
.service-projects-section .center-action{margin-top:22px}
@media(max-width:760px){
  .service-projects-section .section-heading{margin-bottom:24px}
  .service-project-carousel .carousel-frame{aspect-ratio:4/3;border-radius:14px}
  .service-project-caption{left:12px;bottom:12px;max-width:calc(100% - 24px);padding:10px 13px}
  .service-project-caption strong{font-size:16px}
}



/* === Final service hero backgrounds === */
.page-hero.site-dark-text-hero.service-hero-bg{
  position:relative;
  overflow:hidden;
  background-color:#171717!important;
  background-image:
    linear-gradient(90deg,rgba(10,13,12,.66),rgba(10,13,12,.52)),
    var(--service-hero-image)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
  color:#fff!important;
}
.page-hero.site-dark-text-hero.service-hero-bg::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.page-hero.site-dark-text-hero.service-hero-bg .page-hero-grid{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
.page-hero.site-dark-text-hero.service-hero-bg .page-hero-grid>div:first-child{
  width:min(880px,100%)!important;
  max-width:880px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.page-hero.site-dark-text-hero.service-hero-bg h1{color:#fff!important;max-width:none!important;}
.page-hero.site-dark-text-hero.service-hero-bg .lead{
  color:rgba(255,255,255,.88)!important;
  margin-inline:auto!important;
  max-width:760px!important;
}
.page-hero.site-dark-text-hero.service-hero-bg .eyebrow,
.page-hero.site-dark-text-hero.service-hero-bg .hero-actions,
.page-hero.site-dark-text-hero.service-hero-bg .trust-micro{
  justify-content:center!important;
}
.page-hero.site-dark-text-hero.service-hero-bg .button-secondary{
  background:rgba(255,255,255,.08)!important;
  border-color:#fff!important;
  color:#fff!important;
}
.page-hero.site-dark-text-hero.service-hero-bg .button-secondary:hover{
  background:#fff!important;
  color:#171717!important;
}
@media(max-width:760px){
  .page-hero.site-dark-text-hero.service-hero-bg{
    background-image:
      linear-gradient(180deg,rgba(10,13,12,.70),rgba(10,13,12,.58)),
      var(--service-hero-image)!important;
    background-position:center center!important;
  }
}


/* === FINAL MOBILE CONSISTENCY PASS === */
@media (max-width:760px){
  /* Centre homepage and internal hero hierarchy consistently on mobile. */
  .home-hero .hero-copy,
  .page-hero .page-hero-grid>div:first-child{
    text-align:center!important;
  }
  .home-hero .hero-copy .eyebrow,
  .page-hero .eyebrow{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-hero .hero-copy h1,
  .page-hero h1{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .home-hero .hero-copy .lead,
  .page-hero .lead{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .home-hero .hero-actions,
  .page-hero .hero-actions{
    display:grid!important;
    justify-items:center!important;
    justify-content:center!important;
    width:100%!important;
  }
  .home-hero .hero-actions .button,
  .page-hero .hero-actions .button{
    width:min(100%,320px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-hero .hero-counts{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  /* Quote sections: tighter transition, visible section change, centred intro. */
  .quote-section{
    padding-top:50px!important;
    padding-bottom:68px!important;
    background:#ededed!important;
    border-top:1px solid #dedede!important;
  }
  .quote-section .quote-layout{
    gap:28px!important;
  }
  .quote-section .quote-layout>.section-heading{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:0!important;
    max-width:660px!important;
  }
  .quote-section .quote-layout>.section-heading .eyebrow{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .quote-section .quote-layout>.section-heading>p:not(.eyebrow){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .quote-section .quote-layout>.section-heading>p:last-child{
    text-align:center!important;
  }
  .quote-section .quote-form{
    background:#fff!important;
  }

  /* Contact form remains a separate, clearly contrasted section. */
  .contact-quote-intro{
    padding-bottom:48px!important;
    background:#fff!important;
  }
  .contact-form-section{
    padding-top:52px!important;
    padding-bottom:68px!important;
    background:#ededed!important;
    border-top:1px solid #dedede!important;
  }

  /* Service explanation blocks stack cleanly and centre their mobile hierarchy. */
  .service-reasons-split{
    gap:48px!important;
  }
  .service-reasons-split>div{
    text-align:center!important;
    width:100%!important;
  }
  .service-reasons-split>div>.eyebrow{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .service-reasons-split>div>h2,
  .service-reasons-split>div>p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .service-reasons-split .tick-list{
    width:max-content!important;
    max-width:100%!important;
    margin:24px auto!important;
  }
  .service-reasons-split .tick-list li{
    justify-content:center!important;
    text-align:center!important;
  }
  .service-reasons-split .tick-list svg{
    width:20px!important;
    height:20px!important;
    margin-top:2px!important;
  }
  .service-reasons-split .button{
    display:flex!important;
    width:min(100%,260px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Local coverage CTA is centred when the two-column block stacks. */
  .area-local-box{
    text-align:center!important;
  }
  .area-local-box .button,
  .area-local-box .button-light{
    display:flex!important;
    width:min(100%,260px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Service hero micro-trust row: three equal items rather than an uneven 2+1 grid. */
  .page-hero.service-hero-bg .trust-micro{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(100%,430px)!important;
    gap:8px!important;
    margin:22px auto 0!important;
    padding:0!important;
  }
  .page-hero.service-hero-bg .trust-micro li{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:5px!important;
    text-align:center!important;
    font-size:11.5px!important;
    line-height:1.25!important;
  }
  .page-hero.service-hero-bg .trust-micro svg{
    flex:0 0 19px!important;
    width:19px!important;
    height:19px!important;
    margin:0!important;
  }

  /* The black icon trust bar below service heroes uses equal cells and fixed icon sizes. */
  main>.page-hero.service-hero-bg + .trust-strip .trust-strip-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0 14px!important;
    align-items:stretch!important;
  }
  main>.page-hero.service-hero-bg + .trust-strip .trust-item{
    min-height:94px!important;
    padding:12px 8px!important;
    display:grid!important;
    grid-template-rows:24px auto!important;
    justify-items:center!important;
    align-content:center!important;
    gap:8px!important;
    text-align:center!important;
  }
  main>.page-hero.service-hero-bg + .trust-strip .trust-item svg{
    display:block!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    margin:0!important;
  }
  main>.page-hero.service-hero-bg + .trust-strip .trust-item>div{
    width:100%!important;
    min-width:0!important;
  }
  main>.page-hero.service-hero-bg + .trust-strip .trust-item strong{
    display:block!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    min-height:0!important;
  }
  main>.page-hero.service-hero-bg + .trust-strip .trust-item span{
    display:block!important;
    margin-top:3px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
  }
}


/* ==========================================================================\n   FINAL MOBILE ALIGNMENT OVERRIDES - 2026-08-11\n   These rules intentionally sit last and use page hooks so older layout rules\n   cannot override the requested mobile alignment.\n   ========================================================================== */
@media (max-width:900px){
  /* HOMEPAGE HERO */
  html body.page-home main .home-hero .hero-grid{
    grid-template-columns:1fr!important;
    width:min(100% - 32px,680px)!important;
    gap:26px!important;
  }
  html body.page-home main .home-hero .hero-copy{
    width:100%!important;
    max-width:none!important;
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-home main .home-hero .hero-copy>.eyebrow{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-hero .hero-copy>h1,
  html body.page-home main .home-hero .hero-copy>.lead{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-hero .hero-actions{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
  html body.page-home main .home-hero .hero-actions>.button{
    width:min(100%,330px)!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-hero .hero-counts{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  html body.page-home main .home-hero .hero-media{
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
    justify-self:center!important;
  }

  /* HOMEPAGE SPEAK TO TYLER */
  html body.page-home main .home-about .clean-trust-copy{
    text-align:center!important;
    justify-self:center!important;
    width:100%!important;
  }
  html body.page-home main .home-about .clean-trust-copy>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-about .clean-trust-copy>h2,
  html body.page-home main .home-about .clean-trust-copy>p:not(.eyebrow){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-about .clean-trust-points>div,
  html body.page-home main .home-about .clean-trust-points p{
    text-align:center!important;
  }
  html body.page-home main .home-about .clean-trust-points>div{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
  }

  /* HOMEPAGE AREAS */
  html body.page-home main .compact-coverage-copy{
    text-align:center!important;
  }
  html body.page-home main .compact-area-pills{
    justify-content:center!important;
  }
  html body.page-home main .compact-coverage-note{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* HOMEPAGE QUOTE */
  html body.page-home main .home-contact.quote-section{
    background:#e9e9e9!important;
    border-top:1px solid #d9d9d9!important;
    padding-top:44px!important;
    padding-bottom:64px!important;
  }
  html body.page-home main .home-contact .quote-layout>.section-heading{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-contact .quote-layout>.section-heading>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-contact .quote-layout>.section-heading>h2,
  html body.page-home main .home-contact .quote-layout>.section-heading>p:not(.eyebrow){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* ALL INTERNAL HEROES */
  html body main .page-hero .page-hero-grid,
  html body main .page-hero .page-hero-grid>div:first-child{
    text-align:center!important;
    justify-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body main .page-hero .page-hero-grid>div:first-child>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body main .page-hero h1,
  html body main .page-hero .lead{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body main .page-hero .hero-actions,
  html body main .page-hero .pill-row,
  html body main .page-hero .trust-micro{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* SERVICE: COMMON REASONS / WHY CHOOSE */
  html body.page-service main .service-reasons-split{
    grid-template-columns:1fr!important;
    gap:48px!important;
  }
  html body.page-service main .service-reasons-split>div{
    width:100%!important;
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-service main .service-reasons-split>div>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-reasons-split>div>h2,
  html body.page-service main .service-reasons-split>div>p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-reasons-split .tick-list{
    display:grid!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:24px auto!important;
    padding:0!important;
  }
  html body.page-service main .service-reasons-split .tick-list>li{
    display:grid!important;
    grid-template-columns:20px auto!important;
    align-items:start!important;
    justify-content:start!important;
    gap:9px!important;
    width:100%!important;
    text-align:left!important;
    margin:11px 0!important;
  }
  html body.page-service main .service-reasons-split .tick-list svg{
    width:20px!important;
    height:20px!important;
    margin:1px 0 0!important;
  }
  html body.page-service main .service-reasons-split .button{
    display:flex!important;
    width:min(100%,260px)!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* SERVICE: LOCAL COVERAGE */
  html body.page-service main .service-coverage-section>.container.split{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child{
    text-align:center!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child>h2,
  html body.page-service main .service-coverage-section>.container.split>div:first-child>p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .coverage-list{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .coverage-list li,
  html body.page-service main .coverage-list a{
    text-align:center!important;
  }
  html body.page-service main .area-local-box{
    text-align:center!important;
  }
  html body.page-service main .area-local-box .button{
    display:flex!important;
    width:min(100%,260px)!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* SERVICE: QUOTE SECTION */
  html body.page-service main .quote-section{
    background:#e9e9e9!important;
    border-top:1px solid #d9d9d9!important;
    padding-top:44px!important;
    padding-bottom:64px!important;
  }
  html body.page-service main .quote-section .quote-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  html body.page-service main .quote-section .quote-layout>.section-heading{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .quote-section .quote-layout>.section-heading>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .quote-section .quote-layout>.section-heading>h2,
  html body.page-service main .quote-section .quote-layout>.section-heading>p:not(.eyebrow){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* CONTACT QUOTE REQUEST */
  html body.page-contact main .contact-quote-intro .section-heading{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-contact main .contact-quote-intro .section-heading>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-contact main .contact-quote-intro .section-heading>h2,
  html body.page-contact main .contact-quote-intro .section-heading>p:not(.eyebrow){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-contact main .contact-quote-intro .tick-list{
    display:grid!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:24px auto 0!important;
  }
  html body.page-contact main .contact-quote-intro .tick-list li{
    display:grid!important;
    grid-template-columns:20px auto!important;
    gap:9px!important;
    text-align:left!important;
    align-items:start!important;
  }

  /* SERVICE HERO TRUST BAR: EQUAL 2x2 CELLS */
  html body.page-service main>.page-hero + .trust-strip .trust-strip-inner{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
    align-items:stretch!important;
  }
  html body.page-service main>.page-hero + .trust-strip .trust-item{
    min-height:102px!important;
    height:100%!important;
    padding:14px 8px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  html body.page-service main>.page-hero + .trust-strip .trust-item:nth-child(2n){border-right:0!important;}
  html body.page-service main>.page-hero + .trust-strip .trust-item:nth-last-child(-n+2){border-bottom:0!important;}
  html body.page-service main>.page-hero + .trust-strip .trust-item svg{
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    margin:0!important;
  }
  html body.page-service main>.page-hero + .trust-strip .trust-item>div{
    width:100%!important;
    min-width:0!important;
  }
  html body.page-service main>.page-hero + .trust-strip .trust-item strong{
    display:block!important;
    font-size:12.5px!important;
    line-height:1.2!important;
  }
  html body.page-service main>.page-hero + .trust-strip .trust-item span{
    display:block!important;
    margin-top:3px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
  }
}

/* Explicit project CTA contrast correction requested by the user. */
html body.page-projects-index main .projects-cta-section .cta-gradient-card .eyebrow{
  color:#171717!important;
}
html body.page-projects-index main .projects-cta-section .cta-gradient-card .eyebrow:before{
  background:#171717!important;
}


/* === Homepage hero logo + mobile bottom bar removal === */
.mobile-actions{display:none!important;}
.home-hero .home-hero-logo{display:block;width:82px;height:82px;object-fit:contain;margin:0 0 18px 0;}
@media(max-width:760px){
  .home-hero .home-hero-logo{width:72px;height:72px;margin:0 auto 16px;}
}

/* === Project detail page consistency pass === */
/* Desktop/tablet: if project text sits beside an image, keep it naturally left aligned. */
html body.page-project-detail main .page-hero .page-hero-grid>div:first-child{
  text-align:left!important;
  justify-self:stretch!important;
  width:100%!important;
  max-width:none!important;
}
html body.page-project-detail main .page-hero .project-meta{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body.page-project-detail main .page-hero h1,
html body.page-project-detail main .page-hero .lead{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body.page-project-detail main .page-hero .hero-actions{
  justify-content:flex-start!important;
}

/* Remove the oversized gap caused by the generic article h2 top margin after Work completed. */
html body.page-project-detail main .article-body>.eyebrow{
  margin-bottom:10px!important;
}
html body.page-project-detail main .article-body>.eyebrow + h2{
  margin-top:0!important;
}

/* Desktop project copy stays natural left-to-right. */
html body.page-project-detail main .article-body{
  text-align:left!important;
}
html body.page-project-detail main>.section.section-paper .split>div{
  text-align:left!important;
}
html body.page-project-detail main>.section.section-paper .split>div>.eyebrow{
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}

@media(max-width:760px){
  /* Mobile project heroes match the site-wide centred mobile hierarchy. */
  html body.page-project-detail main .page-hero .page-hero-grid>div:first-child{
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-project-detail main .page-hero .project-meta{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-project-detail main .page-hero h1,
  html body.page-project-detail main .page-hero .lead{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-project-detail main .page-hero .hero-actions{
    justify-content:center!important;
  }

  /* Project article sections are centred on mobile, while lists remain easy to scan. */
  html body.page-project-detail main .article-body{
    text-align:center!important;
  }
  html body.page-project-detail main .article-body>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-project-detail main .article-body>.eyebrow:before{
    display:none!important;
  }
  html body.page-project-detail main .article-body h2,
  html body.page-project-detail main .article-body>p{
    text-align:center!important;
  }
  html body.page-project-detail main .article-body .tick-list{
    display:grid!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:24px auto!important;
    text-align:left!important;
  }
  html body.page-project-detail main .article-body .tick-list li{
    text-align:left!important;
  }
  html body.page-project-detail main .article-body p>.button{
    display:flex!important;
    width:min(100%,290px)!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Related service/location columns also use the same centred mobile rhythm. */
  html body.page-project-detail main>.section.section-paper .split>div{
    text-align:center!important;
  }
  html body.page-project-detail main>.section.section-paper .split>div>.eyebrow{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-project-detail main>.section.section-paper .split>div>.eyebrow:before{
    display:none!important;
  }
  html body.page-project-detail main>.section.section-paper .split>div>h2,
  html body.page-project-detail main>.section.section-paper .split>div>p{
    text-align:center!important;
  }
}


/* === Project hero bottom spacing correction === */
html body.page-project-detail main .page-hero{
  padding-bottom:24px!important;
}
html body.page-project-detail main .page-hero .hero-actions{
  margin-bottom:0!important;
}
@media(max-width:760px){
  html body.page-project-detail main .page-hero{
    padding-bottom:24px!important;
  }
  html body.page-project-detail main .page-hero .hero-actions{
    margin-bottom:0!important;
  }
}


/* === Final project hero mobile gap: exactly 5px between CTA buttons and image === */
@media(max-width:760px){
  html body.page-project-detail main .page-hero .page-hero-grid{
    gap:5px!important;
    row-gap:5px!important;
  }
  html body.page-project-detail main .page-hero .page-hero-media{
    margin-top:0!important;
  }
  html body.page-project-detail main .page-hero .hero-actions{
    margin-bottom:0!important;
  }
}

/* === Unified mobile consistency: services and location split sections === */
@media(max-width:760px){
  body{padding-bottom:0!important;}

  /* Individual service pages: centre Local coverage and all content in that split. */
  html body.page-service main .service-coverage-section>.container.split{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child{
    width:100%!important;
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child>.eyebrow{
    display:flex!important;
    width:fit-content!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child>.eyebrow:before{
    display:none!important;
  }
  html body.page-service main .service-coverage-section>.container.split>div:first-child>h2,
  html body.page-service main .service-coverage-section>.container.split>div:first-child>p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-coverage-section .coverage-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    margin:22px auto 0!important;
    padding:0!important;
  }
  html body.page-service main .service-coverage-section .coverage-list li,
  html body.page-service main .service-coverage-section .coverage-list a{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  html body.page-service main .service-coverage-section .area-local-box{
    width:100%!important;
    text-align:center!important;
  }
  html body.page-service main .service-coverage-section .area-local-box .button{
    display:flex!important;
    justify-content:center!important;
    width:min(100%,260px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Location pages: centre What customers can send and Nearby coverage sections. */
  html body.page-location main .what-customers-send-section>.container.split,
  html body.page-location main .nearby-coverage-section>.container.split{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  html body.page-location main .what-customers-send-section>.container.split>div:first-child,
  html body.page-location main .nearby-coverage-section>.container.split>div:first-child{
    width:100%!important;
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-location main .what-customers-send-section .eyebrow,
  html body.page-location main .nearby-coverage-section .eyebrow{
    display:flex!important;
    width:fit-content!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .what-customers-send-section .eyebrow:before,
  html body.page-location main .nearby-coverage-section .eyebrow:before{
    display:none!important;
  }
  html body.page-location main .what-customers-send-section h2,
  html body.page-location main .what-customers-send-section> .container p,
  html body.page-location main .nearby-coverage-section h2,
  html body.page-location main .nearby-coverage-section> .container p{
    text-align:center!important;
  }
  html body.page-location main .what-customers-send-section .tick-list{
    display:grid!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:24px auto!important;
    text-align:left!important;
  }
  html body.page-location main .what-customers-send-section .tick-list li{
    text-align:left!important;
  }
  html body.page-location main .nearby-coverage-section .pill-row{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .nearby-coverage-section .text-link{
    display:flex!important;
    width:fit-content!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .nearby-coverage-section .area-local-box{
    text-align:center!important;
  }
  html body.page-location main .nearby-coverage-section .area-local-box .button{
    display:flex!important;
    width:min(100%,260px)!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Service cards: two columns on mobile rather than one long stack. */
  html body.page-services-index main .card-grid,
  html body.page-home main .clean-service-grid,
  html body.page-service main .service-detail-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  html body.page-services-index main .service-card,
  html body.page-home main .clean-service-grid .service-card,
  html body.page-service main .service-detail-grid .service-detail{
    min-width:0!important;
    height:100%!important;
  }
  html body.page-services-index main .service-card .card-body,
  html body.page-home main .clean-service-grid .service-card .card-body{
    padding:16px!important;
  }
  html body.page-services-index main .service-card h3,
  html body.page-home main .clean-service-grid .service-card h3,
  html body.page-service main .service-detail-grid .service-detail h3{
    font-size:17px!important;
    line-height:1.15!important;
  }
  html body.page-services-index main .service-card p,
  html body.page-home main .clean-service-grid .service-card p,
  html body.page-service main .service-detail-grid .service-detail p{
    font-size:13px!important;
    line-height:1.45!important;
  }
  html body.page-service main .service-detail-grid .service-detail{
    padding:16px!important;
  }
  html body.page-service main .service-detail-grid .icon-circle{
    width:42px!important;
    height:42px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-service main .service-detail-grid .icon-circle svg{
    width:20px!important;
    height:20px!important;
  }
}

@media(max-width:370px){
  html body.page-services-index main .card-grid,
  html body.page-home main .clean-service-grid,
  html body.page-service main .service-detail-grid{
    gap:9px!important;
  }
  html body.page-services-index main .service-card .card-body,
  html body.page-home main .clean-service-grid .service-card .card-body,
  html body.page-service main .service-detail-grid .service-detail{
    padding:13px!important;
  }
}


/* === Homepage hero review logos (counts removed) === */
.home-hero .hero-counts{display:none!important;}
.home-hero .hero-review-badges{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;margin-top:28px!important;flex-wrap:wrap!important;}
.home-hero .hero-review-logo{display:block!important;width:auto!important;height:42px!important;max-width:170px!important;object-fit:contain!important;background:#fff!important;border-radius:8px!important;padding:5px 8px!important;}
@media(max-width:760px){
  .home-hero .hero-review-badges{justify-content:center!important;margin-top:24px!important;gap:10px!important;}
  .home-hero .hero-review-logo{height:38px!important;max-width:150px!important;}
}


/* === Runtime fail-safe hardening ===
   Content is visible by default. JavaScript opts elements into reveal animation only
   after a working observer has been created, so a JS failure cannot blank the page. */
.reveal{
  opacity:1!important;
  transform:none!important;
}
.reveal.reveal-pending{
  opacity:0!important;
  transform:translateY(18px)!important;
  transition:opacity .58s cubic-bezier(.2,.65,.3,1),transform .58s cubic-bezier(.2,.65,.3,1)!important;
}
.reveal.reveal-pending.visible{
  opacity:1!important;
  transform:none!important;
}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal.reveal-pending{opacity:1!important;transform:none!important;transition:none!important}
}


/* === Homepage Areas Covered rhythm === */
html body.page-home main .home-areas.compact-coverage-section{
  background:#202020!important;
  color:#fff!important;
  padding-top:50px!important;
  padding-bottom:82px!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
html body.page-home main .home-areas .compact-coverage-heading{
  margin-top:0!important;
  margin-bottom:34px!important;
}
html body.page-home main .home-areas .compact-coverage-heading .eyebrow{
  color:var(--orange)!important;
}
html body.page-home main .home-areas .compact-coverage-heading h2{
  color:#fff!important;
}
html body.page-home main .home-areas .compact-coverage-heading>p:not(.eyebrow),
html body.page-home main .home-areas .compact-coverage-note{
  color:#d3d3d3!important;
}
html body.page-home main .home-areas .compact-coverage-note a{
  color:#fff!important;
  text-decoration-color:var(--orange)!important;
}
html body.page-home main .home-areas .compact-map{
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
html body.page-home main .home-areas .compact-area-pills a{
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  html body.page-home main .home-areas.compact-coverage-section{
    padding-top:42px!important;
    padding-bottom:60px!important;
  }
  html body.page-home main .home-areas .compact-coverage-heading{
    margin-bottom:28px!important;
  }
}


/* === Location Local Coverage mobile consistency === */
@media (max-width:760px){
  html body.page-location main .location-local-coverage > .container.split{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  html body.page-location main .location-local-coverage > .container.split > div:not(.split-media){
    width:100%!important;
    max-width:680px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-self:center!important;
    text-align:center!important;
  }
  html body.page-location main .location-local-coverage .eyebrow{
    display:flex!important;
    width:fit-content!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .location-local-coverage .eyebrow:before{
    display:none!important;
  }
  html body.page-location main .location-local-coverage h2,
  html body.page-location main .location-local-coverage p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .location-local-coverage .split-media{
    width:100%!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-self:center!important;
  }
}


/* === 2026-08-26 homepage desktop centring + location mobile alignment === */
@media (min-width:761px){
  html body.page-home main .home-hero .hero-grid{
    display:block!important;
    width:min(100% - 64px,1120px)!important;
    max-width:1120px!important;
    margin-inline:auto!important;
  }
  html body.page-home main .home-hero .hero-copy{
    width:min(860px,100%)!important;
    max-width:860px!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  html body.page-home main .home-hero .hero-copy>.eyebrow{
    display:inline-flex!important;
    width:fit-content!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-home main .home-hero .hero-copy>h1,
  html body.page-home main .home-hero .hero-copy>.lead{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  html body.page-home main .home-hero .hero-copy>h1{
    max-width:820px!important;
  }
  html body.page-home main .home-hero .hero-copy>.lead{
    max-width:700px!important;
  }
  html body.page-home main .home-hero .hero-actions,
  html body.page-home main .home-hero .hero-review-badges{
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (max-width:760px){
  /* Every location-page Local coverage block is centred as one unit. */
  html body.page-location main .location-local-coverage .location-local-copy{
    width:100%!important;
    max-width:680px!important;
    margin-inline:auto!important;
    text-align:center!important;
    justify-self:center!important;
  }
  html body.page-location main .location-local-coverage .location-local-copy>.eyebrow{
    display:flex!important;
    width:fit-content!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.page-location main .location-local-coverage .location-local-copy>.eyebrow:before{
    display:none!important;
  }
  html body.page-location main .location-local-coverage .location-local-copy>h2,
  html body.page-location main .location-local-coverage .location-local-copy>p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Location-page icon trust bar: equal 2x2 cells, equal icon sizes and aligned labels. */
  html body.page-location main>.page-hero + .trust-strip .trust-strip-inner{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:12px 14px!important;
    align-items:stretch!important;
  }
  html body.page-location main>.page-hero + .trust-strip .trust-item{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:start!important;
    gap:9px!important;
    min-height:78px!important;
    padding:12px 10px!important;
    text-align:left!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }
  html body.page-location main>.page-hero + .trust-strip .trust-item:nth-child(2n){border-right:0!important;}
  html body.page-location main>.page-hero + .trust-strip .trust-item:nth-last-child(-n+2){border-bottom:0!important;}
  html body.page-location main>.page-hero + .trust-strip .trust-item svg{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    margin:0!important;
    justify-self:center!important;
  }
  html body.page-location main>.page-hero + .trust-strip .trust-item>div{
    min-width:0!important;
    text-align:left!important;
  }
  html body.page-location main>.page-hero + .trust-strip .trust-item strong{
    display:block!important;
    font-size:12px!important;
    line-height:1.25!important;
  }
  html body.page-location main>.page-hero + .trust-strip .trust-item span{
    display:block!important;
    font-size:10px!important;
    line-height:1.3!important;
    margin-top:2px!important;
  }

  /* Keep icon/tick lists on location pages visually aligned when stacked. */
  html body.page-location main .what-customers-send-section .tick-list{
    width:min(100%,420px)!important;
    margin:24px auto!important;
  }
  html body.page-location main .what-customers-send-section .tick-list li{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
    margin:12px 0!important;
    text-align:left!important;
  }
  html body.page-location main .what-customers-send-section .tick-list svg{
    width:20px!important;
    height:20px!important;
    margin-top:2px!important;
  }
}
