/* Focused homepage refinements; shared service pages retain their styling. */
.skip-link{position:fixed;top:-80px;left:16px;z-index:200;background:white;padding:12px 20px;color:#143d2c}.skip-link:focus{top:12px}
.hero-grid{min-height:580px;grid-template-columns:54% 46%}.hero-copy{padding:68px 35px 65px 0}.hero h1{font-size:clamp(40px,4.5vw,62px);line-height:1.09}.hero .hero-note{font-size:13px;line-height:1.8;margin:25px 0 0;color:#d1dfd5}.hero-image{min-height:540px}.hero-photo-label{max-width:calc(100% - 54px)}
.section{padding:72px 0}.corecard{min-height:335px}.corecard a{display:inline-block;position:relative;padding:8px 0}.corecard h3{font-size:32px}.corecard p{max-width:440px}.proofstrip .item{justify-content:center;font-size:12px;padding:20px 10px}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:5px}.work-section{background:#f5f7f4}.nov-cleanup-project{margin:25px 0 10px}.nov-cleanup-pair{gap:20px}.nov-cleanup-pair .project-photo img{aspect-ratio:3/4;max-height:460px;object-fit:contain;background:#e8ede7;border-radius:16px}.nov-cleanup-pair figcaption{padding:10px 0}.selected-projects{margin-top:32px;margin-bottom:0}.selected-projects img{height:245px;object-fit:cover}.plan{min-height:215px}.additional-row{display:flex;align-items:center;justify-content:space-between;gap:48px}.additional-row h2{font-size:34px}.additional-row p{max-width:700px;margin-bottom:0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list details{border-bottom:1px solid #dbe5df;padding:20px 0}.faq-list details:first-child{border-top:1px solid #dbe5df}.faq-list summary{font-weight:700;cursor:pointer;padding-right:12px}.faq-list details p{font-size:15px;margin:15px 0 0;max-width:620px}.faq-list summary:focus-visible{outline:3px solid #85ae35;outline-offset:6px}.mobile-contact{display:none}.review-card{background:#fff}.review-card blockquote{font-size:16px}.dark-cta{padding:42px}.footer a{font-size:14px}.footer a[href^="tel:"]{font-size:18px;font-weight:700}
@media(max-width:740px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding:40px 0 32px}.hero h1{font-size:clamp(36px,9.7vw,49px)}.hero p{font-size:16px;line-height:1.65}.hero .eyebrow{font-size:10px;letter-spacing:.13em}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-actions .btn{width:auto;font-size:12px;padding:13px 14px;margin:0;white-space:normal}.hero-image{min-height:280px}.hero-photo-label{bottom:20px;font-size:11px}.section{padding:48px 0}.corecard{min-height:310px;padding:27px}.corecard h3{font-size:29px}.proofstrip .item{font-size:11px;padding:15px 8px}.additional-row{display:block}.additional-row .btn{margin-top:22px}.faq-layout{grid-template-columns:1fr;gap:20px}.faq-layout h2{font-size:32px}.review-card{padding:24px}.dark-cta{padding:28px}.nov-cleanup-pair{grid-template-columns:1fr 1fr!important;gap:10px}.nov-cleanup-pair .project-photo img{max-height:none}.selected-projects{grid-template-columns:1fr 1fr;gap:12px}.selected-projects img{height:170px}.selected-projects figcaption{font-size:12px}.nov-cleanup-project h3{font-size:22px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr 1.7fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;box-shadow:0 -3px 18px #173a2220;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px}.mobile-contact a{text-align:center;font-size:14px;font-weight:700;padding:12px 7px;border:1px solid #dbe5df;border-radius:9px}.mobile-contact .mobile-quote{background:#143d2c;color:#fff}body{padding-bottom:82px}.footer{padding-top:45px}.sectionhead{margin-bottom:25px}.footbottom{margin-top:25px}.hero-image img{object-position:center 57%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
/* Final accessibility and responsive checks. */
h1,h2{text-wrap:balance}section[id]{scroll-margin-top:100px}.navlinks a{padding:10px 0}.menu-button{min-width:44px;min-height:44px}.faq-list summary{min-height:44px;display:list-item;align-content:center}.hero-photo-label small{color:#526159}.micro{color:#56655c}.footgrid a{padding:4px 0}.corecard .number{color:#d4e9bf}
@media(max-width:350px){.brand{min-width:0;gap:8px}.brandname span{font-size:8px;letter-spacing:.1em}.brandname{font-size:12px}.nav{gap:10px}.hero .eyebrow{font-size:9px}.hero-copy{padding-top:30px}}
