/* Contact page only. Existing shared header, footer and intake code are unchanged. */
.acp-contact{--contact-ink:#182c23;--contact-muted:#526158;--contact-green:#0b5d00;--contact-soft:#edf3e8;--contact-line:#d9e2d4;background:#fafaf0;color:var(--contact-ink);font:400 16px/1.65 Arial,sans-serif}
.acp-contact *{box-sizing:border-box;min-width:0}
.acp-contact .acp-wrap{width:calc(100% - 80px);max-width:1120px;margin-inline:auto}
.acp-contact :is(h1,h2,h3){text-transform:none;font-weight:600;margin:0;color:inherit}
.acp-contact p{margin:0}
.acp-contact .acp-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:var(--contact-green);margin-bottom:12px}
.acp-contact .acp-contact-intro{padding:42px 0 30px}
.acp-contact h1{font-size:clamp(34px,4vw,49px);line-height:1.12;letter-spacing:-.04em;margin-bottom:14px}
.acp-contact .acp-contact-intro p:not(.acp-kicker){color:var(--contact-muted);font-size:16px;max-width:660px}
.acp-contact .acp-estimate-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:56px;padding-bottom:65px;align-items:start;scroll-margin-top:24px}
.acp-contact .preview-estimate{padding:28px 32px;border-radius:12px;box-shadow:0 8px 30px #173d3205}
.acp-contact .estimate-intro{padding-bottom:0;border:0}
.acp-contact .estimate-intro h2{font:600 23px/1.3 Arial,sans-serif;letter-spacing:-.02em;margin-bottom:6px}
.acp-contact .estimate-intro>p{font-size:12px!important}
.acp-contact .estimate-mode{font-size:12px;margin-top:8px;line-height:1.6}
.acp-contact .estimate-section{margin-top:26px;padding-bottom:24px}
.acp-contact .estimate-section legend{margin-bottom:16px;font-size:16px}
.acp-contact .estimate-section .estimate-help{margin:-5px 0 18px}
.acp-contact .estimate-submit button{background:var(--contact-green)}
.acp-contact .estimate-submit button:hover{background:#174a37}
.acp-contact .estimate-photo-status{margin-top:12px}
.acp-contact .sms-opt-in{margin:28px 0}
.acp-contact #sms-disclosures{margin:12px 0 0 34px}
.acp-contact #sms-disclosures p+p{margin-top:10px}
.acp-contact .estimate-direct-contact{margin-top:28px}
.acp-contact .estimate-direct-contact p{margin-bottom:10px}
.acp-contact #nico-request-result{margin:20px 0 0}
.acp-contact .acp-estimate-aside{padding:10px 0}
.acp-contact .acp-aside-owner{display:flex;align-items:center;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--contact-line);margin-bottom:24px}
.acp-contact .acp-aside-owner img{width:66px;height:66px;object-fit:cover;border-radius:50%;object-position:center 25%}
.acp-contact .acp-aside-owner strong{display:block;font-size:17px}
.acp-contact .acp-aside-owner span{font-size:12px;display:block;color:var(--contact-muted);line-height:1.6}
.acp-contact .acp-estimate-aside h2{font-size:21px;line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}
.acp-contact .acp-estimate-aside p{font-size:14px;color:var(--contact-muted)}
.acp-contact .acp-estimate-aside ol{list-style:none;padding:0;display:grid;gap:18px;margin:18px 0 28px;counter-reset:next}
.acp-contact .acp-estimate-aside ol li{font-size:14px;color:var(--contact-muted);padding-left:30px;position:relative;counter-increment:next}
.acp-contact .acp-estimate-aside ol li:before{content:counter(next,decimal-leading-zero);position:absolute;left:0;top:2px;font-size:11px;color:var(--contact-green);font-weight:700}
.acp-contact .acp-estimate-aside li strong{display:block;color:var(--contact-ink);margin-bottom:4px}
.acp-contact .acp-photo-help{background:var(--contact-soft);padding:22px;border-radius:8px;margin:22px 0}
.acp-contact .acp-photo-help h3{font-size:17px;margin-bottom:12px}
.acp-contact .acp-photo-help ul{list-style:disc;padding-left:18px;font-size:13px;color:var(--contact-muted);display:grid;gap:8px;margin:0 0 15px}
.acp-contact .acp-photo-help p{font-size:12px}
.acp-contact .acp-aside-contact{padding:10px 0}
.acp-contact .acp-aside-contact a{display:flex;align-items:center;font-weight:600;font-size:17px;color:var(--contact-green);margin-top:6px;min-height:44px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.acp-contact .acp-aside-contact .acp-aside-email{font-size:14px}
.acp-contact .acp-aside-contact small{display:block;font-size:12px;color:var(--contact-muted);margin-top:8px}
.acp-contact .acp-contact-bottom{border-top:1px solid var(--contact-line);padding:40px 0;background:#eef4e8}
.acp-contact .acp-contact-bottom>.acp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.acp-contact .acp-contact-bottom h2{font-size:21px;line-height:1.3;margin-bottom:12px}
.acp-contact .acp-contact-bottom p{font-size:14px;color:var(--contact-muted)}
.acp-contact .acp-contact-bottom .acp-emergency{font-size:12px;margin-top:15px}
.acp-contact .acp-text-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px;color:var(--contact-green);margin-top:10px}
.acp-contact .acp-arrow{display:inline-block;vertical-align:middle;flex-shrink:0}
.acp-contact :is(a,summary):focus-visible{outline:3px solid #417a5e;outline-offset:4px}
@media(max-width:999px){.acp-contact .acp-wrap{width:calc(100% - 48px)}.acp-contact .acp-estimate-layout{gap:28px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.acp-contact .preview-estimate{padding:26px 22px}.acp-contact .acp-aside-owner{gap:10px}.acp-contact .acp-aside-owner img{width:52px;height:52px}.acp-contact .acp-aside-owner strong{font-size:15px}}
@media(max-width:759px){.acp-contact .acp-wrap{width:calc(100% - 40px)}.acp-contact .acp-contact-intro{padding:30px 0 25px}.acp-contact h1{font-size:36px}.acp-contact .acp-contact-intro p:not(.acp-kicker){font-size:15px}.acp-contact .acp-estimate-layout{grid-template-columns:1fr;gap:30px;padding-bottom:40px;scroll-margin-top:20px}.acp-contact .preview-estimate{padding:22px 18px}.acp-contact .estimate-section{margin-top:24px}.acp-contact .estimate-section legend{font-size:15px}.acp-contact .acp-estimate-aside{padding:0 4px}.acp-contact .acp-contact-bottom>.acp-wrap{grid-template-columns:1fr;gap:25px}.acp-contact .acp-contact-bottom{padding:32px 0}.acp-contact .estimate-mode{line-height:1.5}.acp-contact .acp-aside-owner img{width:60px;height:60px}.acp-contact .acp-aside-owner strong{font-size:17px}}
@media(max-width:600px){.acp-contact #sms-disclosures{margin-left:0}}
@media(max-width:359px){.acp-contact .acp-wrap{width:calc(100% - 28px)}.acp-contact h1{font-size:32px}.acp-contact .preview-estimate{padding:20px 15px}}
