.contact-section{padding:78px 0;scroll-margin-top:24px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start;margin-top:32px}
.contact-details{background:var(--green);color:white;padding:30px;border-radius:22px}
.contact-details h3{margin:0 0 14px;font-size:25px;line-height:1.2}
.contact-details p{color:#e3ece6;margin:14px 0}
.contact-details .phone{font-size:clamp(26px,3.3vw,38px)}
.contact-email{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;font-weight:700}
.contact-details .contact-email{color:#d2ec77}
.quote-form{background:white;padding:30px;border:1px solid #dedbd2;border-radius:22px;box-shadow:0 12px 35px rgba(20,35,25,.06);min-width:0}
.form-intro{margin:0 0 20px;color:#526057;font-size:15px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{min-width:0}
.form-field-wide{grid-column:1/-1}
.form-field label{display:block;font-weight:750;margin-bottom:7px}
.form-field input,.form-field select,.form-field textarea,.quote-copy{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;line-height:1.5;padding:12px;border:1px solid #a4afa7;border-radius:10px;background:#fff;color:var(--ink)}
.form-field textarea{resize:vertical;min-height:140px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#69756d;opacity:1}
.form-help{font-size:14px;color:#526057;margin:6px 0 0}
.form-privacy{color:#526057;font-size:14px;margin:20px 0}
.quote-form .btn{font:inherit;font-weight:800;border:0;cursor:pointer;min-height:48px}
.quote-form .form-submit{width:100%;text-align:center}
.quote-form :focus-visible,.mobile-contact a:focus-visible,.contact-email:focus-visible{outline:3px solid var(--green2);outline-offset:3px}
.contact-details a:focus-visible,footer a:focus-visible{outline-color:var(--lime)}
.quote-form [hidden]{display:none!important}
.quote-result{margin-top:22px;padding:18px;background:#f0f5e9;border:1px solid #b6c99e;border-radius:12px;overflow-wrap:anywhere}
.quote-result p{margin:0 0 12px}
.quote-result a{text-decoration:underline;text-underline-offset:3px;font-weight:750}
.quote-result details{margin-top:16px}
.quote-result summary{cursor:pointer;font-weight:750}
.quote-result .quote-copy{margin:12px 0;min-height:230px;resize:vertical}
.quote-result .copy-button{background:white;border:1px solid #a4afa7;padding:10px 14px;border-radius:9px;font:inherit;font-weight:750;cursor:pointer}
.quote-copy-status{font-size:14px;margin-top:10px!important}
.footer-contact{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:18px;align-items:center}
.footer-contact a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.mobile-contact{display:none}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:22px}.contact-details{padding:25px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:8px;z-index:30}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 8px;border-radius:14px;font-size:15px;font-weight:850;box-shadow:0 8px 28px rgba(0,0,0,.2);text-align:center}.mobile-call{background:var(--lime);color:#18351f}.mobile-quote{background:var(--green);color:white;border:1px solid #b8cd9d}body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}}
@media(max-width:550px){.contact-section{padding:58px 0}.contact-layout{margin-top:24px}.quote-form{padding:22px}.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.footer-contact{align-items:flex-start;flex-direction:column}.contact-details .phone{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
