/* Final daylight palette. Opaque reading surfaces separate text from photographs. */
:root{--ink:#142b21;--muted:#40574a;--reading:#fbfcf7;--green:#24633d;--line:#becbbf}
.faq-list,.story-faq .faq-list{background:var(--reading);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 24px}
.faq-list details{border-color:var(--line)}
.faq-list details:last-child{border-bottom:0}
.faq-list summary,.story-faq .faq-list summary{color:#142b21;font-size:1rem;line-height:1.55;min-height:64px;gap:20px;padding-block:20px}
.faq-list p,.story-faq .faq-list p,.story-faq .faq-list details p{color:#314b3d;font-size:1rem;line-height:1.75;opacity:1;max-width:65ch;padding-bottom:24px}
.faq-list summary span{color:#24633d;flex:0 0 auto}
.interior-page .scene-shade{background:rgba(249,250,243,.95)}
.interior-page :is(h1,h2,h3,h4,legend),.footer h2{color:#142b21}
.interior-page :is(.lead,.detail-content p,.steps p,.scope p,.scope li,.object-card p,.service-row p,.small-note,.object-index,.legal p,.legal li,.faq-list p,.final-cta p,.contact-benefits,.contact-direct .email,.micro){color:#314b3d}
.interior-page :is(.scope,.legal,.object-card,.service-row,.all-services>a){background:var(--reading)}
.interior-page .steps article{background:var(--reading);border:1px solid var(--line);border-radius:5px;padding:22px}
.interior-page .section-head>p{background:var(--reading);color:#314b3d;padding:12px 16px}
.interior-page .final-cta{background:#e1efd8;color:#142b21}
.interior-page .final-cta :is(h2,p,.text-link){color:#142b21}
.interior-page .related a{color:#1e5134;min-height:48px}
.footer{background:#f5f6ef;color:#142b21;padding-bottom:88px}
.footer :is(p,address,.footer-bottom,.footer-top>div>a){color:#354d3f}
.footer h2{font-size:.875rem;font-weight:700}
.footer-top>div>a,.footer-bottom a{font-size:.875rem;line-height:1.65;min-height:32px;display:inline-flex;align-items:center}
.footer-top>div>a{display:flex;overflow-wrap:anywhere}
.footer .brand{display:block}
.menu-secondary :is(a,h2),.menu-bottom span{color:#214d32}
.menu-secondary a{min-height:32px;display:flex;align-items:center}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #226337;outline-offset:5px}
.field input::placeholder,.field textarea::placeholder{color:#526759;opacity:1}
.form-error,#copy-status{color:#8d271f;font-size:1rem;line-height:1.6}
.request-card .result-check{color:#1e5a35}
.request-card #request-result>p{color:#314b3d;line-height:1.7}
.clean-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.clean-service-grid .clean-service-card{display:grid;grid-template-columns:160px minmax(0,1fr)}
.clean-service-grid .content-photo{height:100%;min-height:345px}
.subservice-link{color:#1c5634;font-size:.875rem;line-height:1.6;min-height:44px;text-decoration:underline;text-underline-offset:4px;display:flex;align-items:center;margin-bottom:12px}
.service-promise{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5;color:#24633d;margin-top:18px;font-weight:600}
.subservice-section{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:34px;margin-block:0 30px;background:var(--reading);border:1px solid var(--line);border-radius:6px;scroll-margin-top:125px}
.subservice-section h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.2;margin:15px 0 20px}
.subservice-section p{color:#314b3d;line-height:1.75;max-width:58ch}
.subservice-section .eyebrow{font-size:.75rem;color:#24633d}
.subservice-section .btn{white-space:normal;text-align:left;line-height:1.5}
.subservice-photo{display:block;height:340px;border-radius:5px;overflow:hidden}
.subservice-photo img{width:100%;height:100%;object-fit:cover}
.home-page .clean-heading h2,.home-page .contact-intro{background:rgba(251,252,247,.96);border-radius:5px;padding:14px 18px}
.home-page .clean-heading h2{width:fit-content;margin-left:-18px}
.home-page .qcheck-copy h2{background:transparent;padding:0;margin-left:0}
.home-page .contact-intro{padding:24px}
.home-page .story-faq .faq-section>div:first-child{background:var(--reading);padding:24px;border-radius:5px}
.why-grid article,.clean-process .steps article,.clean-heading>p,.clean-object-card,.clean-service-card{background:var(--reading)}
@media(min-width:701px) and (max-width:1100px){.clean-service-grid .clean-service-card{grid-template-columns:110px minmax(0,1fr)}.subservice-section{gap:24px;padding:28px}}
@media(max-width:700px){
 .clean-service-grid{grid-template-columns:1fr}.clean-service-grid .clean-service-card{display:flex}.clean-service-grid .content-photo{height:180px;min-height:0}
 .faq-list,.story-faq .faq-list{padding-inline:18px}.faq-list summary,.story-faq .faq-list summary{font-size:1rem;line-height:1.6}.faq-list p{font-size:1rem}
 .subservice-section{grid-template-columns:1fr;gap:24px;padding:24px;scroll-margin-top:105px}.subservice-photo{height:220px;grid-row:1}
 .subservice-section .btn{width:100%;font-size:.9375rem}
 .floating-contact{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:11px 15px;min-height:46px;font-size:.8125rem}
 .footer{padding-bottom:96px}.footer-top{gap:28px 20px}.footer-top>div>a,.footer-bottom a{font-size:.8125rem;min-height:36px}
 .interior-page .related{display:flex;flex-wrap:wrap;gap:10px 20px;padding-bottom:20px}.interior-page .related h2{flex:0 0 100%}.interior-page .related a{font-size:1rem;flex:1 1 42%;line-height:1.5}
 .home-page .contact-intro{padding:20px}.home-page .story-faq .faq-section>div:first-child{padding:20px}
 .menu-secondary{grid-template-columns:1fr 1fr}.menu-secondary a{font-size:.875rem;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.interior-page .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;line-height:1.6}.breadcrumb a{min-height:32px;display:inline-flex;align-items:center;color:#215436}

/* Keep navigation and enquiry actions clear on every background. */
#site-menu{background:#f8f9f2}#site-menu::backdrop{background:#f8f9f2}
.footer a,.footer .footer-bottom a{color:#354d3f}
body:has(#request-form) .floating-contact,body:has(form:focus-within) .floating-contact{display:none}
.interior-page h1{hyphens:auto;overflow-wrap:break-word}
