
:root{--ink:#041d3b;--paper:#f7f8fa;--accent:#c59b45;--gold:#d8b66b;--muted:#506071;--line:#dce2e8}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;font:17px/1.65 system-ui,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}p{margin:0 0 22px}h1,h2,h3{line-height:1.2}h1{font-size:clamp(38px,6vw,70px);letter-spacing:-1.5px;margin:16px 0}h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.8px;margin:0 0 20px}h3{font-size:22px;margin:12px 0}header{background:white;padding:18px 6%;text-align:center;border-bottom:1px solid var(--line)}header .brand{display:flex;justify-content:center}header .brand img{width:260px;max-width:100%;height:auto}header>a:last-child{display:none}nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding-top:15px}nav a{font-size:15px;font-weight:750;text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{background:var(--ink);color:white;padding:46px 6%}.intro{max-width:1050px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}.intro>div{max-width:850px;width:100%}.intro>div:last-child{max-width:720px}.eyebrow{font-size:14px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:var(--gold)}.intro p{color:#d4dde6}.hero-descriptor{color:var(--gold)!important;font-size:clamp(21px,3vw,30px);font-weight:700;line-height:1.35;margin:20px 0}.hero-contact{display:flex;align-items:center;flex-direction:column;gap:12px}.hero-contact a{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:clamp(25px,3vw,34px);font-weight:650;max-width:100%}.hero-contact .email-link{font-size:clamp(14px,1.7vw,18px)}.email-link span{overflow-wrap:anywhere;min-width:0}.hero-contact svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;text-decoration:none;border-radius:5px;background:var(--gold);color:var(--ink);font:750 16px/1.4 system-ui,sans-serif;border:1px solid transparent;cursor:pointer}.button.secondary{background:transparent;color:inherit;border-color:#81909e}.button:hover{filter:brightness(.96)}.strip{background:var(--gold);padding:18px 6%;display:flex;justify-content:space-between;gap:20px;font-weight:700}.brand-promise{padding:35px 6%;background:white;display:flex;align-items:center;justify-content:center;gap:40px;text-align:center;border-bottom:1px solid var(--line)}.brand-promise img{width:360px;max-width:45%;height:auto}.brand-promise .eyebrow{color:#846120}.brand-promise p{margin:8px 0 0;color:var(--muted)}.section{max-width:1250px;margin:auto;padding:65px 6%}.section-head{display:flex;justify-content:space-between;align-items:start;gap:40px}.section-head p{max-width:430px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:28px;display:flex;flex-direction:column}.card span{font-size:13px;color:#647487;font-weight:750;letter-spacing:.7px}.card h3{margin:14px 0}.card p{color:var(--muted);margin-bottom:20px}.card a{margin-top:auto;font-size:16px;font-weight:750;text-underline-offset:4px}.card[hidden]{display:none}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.filter-bar button{font:650 15px system-ui;padding:11px 17px;min-height:44px;border:1px solid #a7b4c2;background:white;color:var(--ink);border-radius:30px;cursor:pointer}.filter-bar button[aria-pressed=true]{color:white;background:var(--ink);border-color:var(--ink)}.photo{display:block;width:100%;height:clamp(220px,34vw,430px);object-fit:cover;object-position:center 57%;border-radius:7px}.equipment{padding-top:0}.equipment h2{text-align:center}.process{background:#e6ecf1}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step b{font-size:38px;color:#64798a}.step p{color:var(--muted)}.areas{display:grid;grid-template-columns:1fr 1fr;gap:50px}.towns{display:flex;flex-wrap:wrap;gap:10px}.towns span{padding:8px 14px;background:white;border:1px solid var(--line);border-radius:4px}details{border-bottom:1px solid #ccd5de;padding:18px 0}summary{font-weight:750;cursor:pointer}details p{color:var(--muted);margin:14px 0 0}.contact{background:var(--ink);color:white;padding:60px 6%}.contact-inner{max-width:1100px;margin:auto;text-align:center}.contact p{color:#d4dde6}.contact .phone{font-size:clamp(25px,4vw,38px);font-weight:750;text-decoration:none}.contact-inner .buttons{margin-top:24px}.quote-form{background:white;color:var(--ink);padding:32px;border-radius:8px;max-width:800px;margin:32px auto 0;text-align:left}.quote-form h3{margin:0 0 12px;font-size:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{display:block;font-size:16px;font-weight:650;margin-bottom:7px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;font:inherit;color:var(--ink);padding:12px;border:1px solid #9caebf;border-radius:4px;background:white}.quote-form textarea{min-height:135px;resize:vertical}.wide{grid-column:1/-1}.quote-form p{font-size:15px;color:var(--muted)}.quote-form .buttons{justify-content:flex-start}.quote-form .secondary{color:var(--ink);border-color:var(--ink)}.form-hint{display:block;color:var(--muted);font-size:14px;margin-top:6px}.request-preview{margin:18px 0;padding:18px;border:1px solid var(--line);background:var(--paper);border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.6 system-ui}.service-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.service-links a{background:white;border:1px solid #ccd5de;padding:10px 14px;border-radius:4px;font-weight:650;font-size:15px;text-decoration:none}.service-links a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}.service-toplinks{max-width:1100px;margin:auto;padding:20px 6% 0}.service-hero h1{font-size:clamp(34px,4.7vw,58px)}.service-hero .hero-descriptor{font-size:20px;font-weight:400;color:#d4dde6!important}.service-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:42px;align-items:start}.service-copy p,.service-copy li{color:var(--muted)}.service-copy h2{font-size:30px;margin-top:34px}.service-copy h2:first-child{margin-top:0}.service-copy ul{padding-left:23px}.service-copy li{margin-bottom:12px}.service-aside{background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:26px}.service-aside h2{font-size:25px}.service-aside p{color:var(--muted)}.service-aside .buttons{flex-direction:column}.notice{padding:16px 20px;background:#f5efdf;border-left:4px solid var(--accent);color:var(--ink)!important;border-radius:3px}.service-steps{margin-top:30px}.skip-link{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 6%;color:var(--muted);font-size:14px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #337fc1;outline-offset:4px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.card{transition:box-shadow .2s}.card:hover{box-shadow:0 8px 20px #041d3b0d}}@media(max-width:800px){.services{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{max-width:none}.service-layout{grid-template-columns:1fr}.areas{grid-template-columns:1fr;gap:35px}.brand-promise{flex-direction:column;gap:15px}.brand-promise img{max-width:100%;width:310px}.steps{grid-template-columns:1fr;gap:12px}}@media(max-width:540px){header{padding:12px 6%}header .brand img{width:230px}nav{gap:22px}nav a{font-size:14px}.hero{padding:30px 6%}.section{padding:44px 6%}.services,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.strip,footer{flex-direction:column;gap:5px}.strip{font-size:15px}.quote-form{padding:22px}.hero-descriptor{max-width:340px;margin:20px auto}.service-hero .hero-descriptor{max-width:none}.hero-contact a:first-child{font-size:28px}.equipment{padding-top:0}.buttons .button{flex-grow:1}}

/* Shorter inquiry instructions and comfortable mobile action spacing. */
.quote-form>p:first-of-type{margin-bottom:26px}.quote-form #photo-tip{margin:22px 0 26px}.quote-form .buttons{gap:14px;margin:0}.quote-form .buttons .button{flex:1 1 230px;min-height:54px}.quote-form .send-note{margin:20px 0 0;font-size:14px;line-height:1.6}.quote-form #quote-status:empty{display:none}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:55px;background:white;max-width:none;padding-left:max(6%,calc((100% - 1100px)/2));padding-right:max(6%,calc((100% - 1100px)/2));border-top:1px solid var(--line)}.about .eyebrow{color:#846120;margin-bottom:15px}.about-copy{max-width:660px}.about-copy p{color:var(--muted)}.about-copy .about-tagline{font-weight:750;color:var(--ink);font-size:21px}.about-copy .button{margin-top:4px}@media(max-width:800px){.about{grid-template-columns:1fr;gap:10px}}@media(max-width:540px){nav{gap:10px 20px}nav a{padding:5px 0}.quote-form .buttons{flex-direction:column;gap:14px}.quote-form .buttons .button{flex:auto;width:100%;min-height:54px}.quote-form{padding:24px}.quote-form textarea{min-height:145px}.quote-form .send-note{font-size:14px}.about h2{margin-bottom:12px}}

/* Clear service groups, comfortable navigation, and distinct inquiry guidance. */
nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center;padding:8px 4px}
.service-group{margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}
.service-group>h2{font-size:clamp(26px,3vw,32px);margin-bottom:12px}
.service-group>p{max-width:750px;color:var(--muted)}
.service-group .services{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.service-group .card{max-width:none}.card a{display:block;padding:10px 0;min-height:44px}
.contact-choice{margin:24px auto 0!important;max-width:650px}
.quote-form .next-step{margin:24px 0 12px;padding:16px;border-left:3px solid var(--accent);background:var(--paper);font-size:16px}
.form-hint{font-size:15px;line-height:1.6}.quote-form p{font-size:16px}
footer{flex-wrap:wrap;align-items:center}footer nav{padding:0;justify-content:flex-start;width:100%;gap:22px}
@media(max-width:540px){nav{gap:4px 16px}nav a{font-size:16px}.service-group{margin-top:30px;padding-top:24px}.section-head h2{font-size:30px}.quote-form .next-step{padding:14px}.contact .buttons{flex-direction:column;max-width:420px;margin-left:auto;margin-right:auto}footer nav{gap:4px 18px}}
