/* A consistent contact route on every page; no form submission or external service is enabled here. */
.contact-dock{position:fixed;z-index:85;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:22px;width:calc(100% - 36px);max-width:1100px;padding:16px 19px;background:#f6f3e8f7;color:#173e2c;border:1px solid #8ba88b;border-radius:5px;box-shadow:0 8px 35px #092d2340,0 0 0 4px #f5f2e750;backdrop-filter:blur(12px)}
.contact-dock-copy{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:350px}
.contact-dock-copy .eyebrow{font-size:13px;font-weight:850;letter-spacing:.07em;line-height:1.4;color:#355c42;margin:0}
.contact-dock-copy strong{font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:850;letter-spacing:-.035em;line-height:1.2}
.contact-dock-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:0 1 500px;min-width:0}
.contact-dock .button{font-size:16px;font-weight:800;line-height:1.3;min-height:54px;padding:13px 18px;gap:12px;text-align:center;justify-content:center;white-space:normal;word-break:normal;box-shadow:0 3px 0 #0a2f21}
.contact-dock .contact-call{background:#174b38;color:#f8f5e8;border-color:#174b38}
.contact-dock .contact-call:hover{background:#246447}
.contact-dock .button.lime{background:#dbed79;color:#143c29;border-color:#b8cc69;box-shadow:0 3px 0 #8d9f51}
.contact-dock .button.lime:hover{background:#ecf5a3}
.contact-dock .button:focus-visible{outline:3px solid #b95430;outline-offset:5px}
.contact-dock[hidden]{display:none}
body:has(.contact-dock) .site-footer{padding-bottom:calc(165px + env(safe-area-inset-bottom))}
html:has(.contact-dock){scroll-padding-bottom:125px}
body:has(dialog[open]) .contact-dock{display:none}

/* A clear, reusable next step partway through a long guide. */
.guide-inline-contact{margin:37px 0 48px;padding:26px 28px;border:1px solid #8fa37a;border-left:5px solid #174b38;border-radius:4px;background:#e9efd8;color:#193e2b;box-shadow:4px 4px 0 var(--surface)}
.guide-inline-contact .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.07em;color:#315a3a;margin:0 0 13px}
.guide-inline-contact h3{font-size:30px;letter-spacing:-.035em;line-height:1.13;margin:0 0 16px}
.guide-article .guide-inline-contact>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#35513a;margin-bottom:20px}
.guide-inline-contact-actions{display:flex;flex-wrap:wrap;gap:13px 16px;margin-top:19px}
.guide-inline-contact-actions .button{font-size:16px;line-height:1.4;min-height:52px;gap:12px;padding:14px 19px}
.guide-article .guide-inline-contact .guide-contact-note{font-size:14px;line-height:1.65;margin:20px 0 0;color:#4a6242}
.guide-contact-actions{display:grid;gap:13px;margin-top:22px}
.guide-shop-card .guide-contact-actions .button{font-size:16px;line-height:1.4;min-height:52px;justify-content:space-between;gap:12px}
.guide-shop-card .guide-contact-note{font-size:14px;line-height:1.7;color:var(--muted);margin:20px 0}

html[data-lights=off] .contact-dock{background:#0b2018f7;color:#e8f1d7;border-color:#91c99c;box-shadow:0 0 23px #55e99718,0 9px 38px #0008,0 0 0 4px #122d2455}
html[data-lights=off] .contact-dock-copy .eyebrow{color:#c7e5a0}
html[data-lights=off] .contact-dock-copy strong{text-shadow:0 0 12px #96f0b92b}
html[data-lights=off] .contact-dock .contact-call{background:#244a34;color:#edf4db;border-color:#8aad82}
html[data-lights=off] .contact-dock .contact-call:hover{background:#345e3e}
html[data-lights=off] .contact-dock .button.lime{background:#d8f18c;color:#153622;border-color:#e5f8b8;box-shadow:0 0 15px #b5e85e26,0 3px 0 #071e12;text-shadow:none}
html[data-lights=off] .contact-dock .button.lime:hover{background:#eef9bd}
html[data-lights=off] .contact-dock .button:focus-visible{outline-color:#f5e298}
html[data-lights=off] .guide-inline-contact{background:#203b29;color:#edf4db;border-color:#729966;border-left-color:#c1df97}
html[data-lights=off] .guide-inline-contact .eyebrow{color:#cee5ab}
html[data-lights=off] .guide-article .guide-inline-contact>p:not(.eyebrow){color:#c9dabc}
html[data-lights=off] .guide-article .guide-inline-contact .guide-contact-note{color:#bad0a8}

@media(max-width:950px){.contact-dock{gap:18px;padding:14px 16px}.contact-dock-copy{max-width:250px}.contact-dock-copy strong{font-size:19px}.contact-dock-copy .eyebrow{font-size:13px;letter-spacing:.035em}.contact-dock-actions{flex-basis:430px;gap:10px}.contact-dock .button{padding:12px 13px}}
@media(max-width:700px){.contact-dock{bottom:max(9px,env(safe-area-inset-bottom));width:calc(100% - 22px);padding:9px;gap:0;border-radius:5px}.contact-dock-copy{display:none}.contact-dock-actions{width:100%;flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contact-dock .button{width:100%;min-height:62px;padding:11px 8px;font-size:16px;line-height:1.25;gap:6px}.contact-dock .button>span[aria-hidden]{display:none}body:has(.contact-dock) .site-footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}html:has(.contact-dock){scroll-padding-bottom:115px}.guide-inline-contact{padding:24px 21px}.guide-inline-contact h3{font-size:29px}.guide-inline-contact-actions{display:grid;grid-template-columns:1fr}.guide-inline-contact-actions .button{width:100%;justify-content:space-between}.guide-shop-card .guide-contact-actions .button{font-size:16px}}
@media(max-width:360px){.contact-dock{width:calc(100% - 16px);padding:8px}.contact-dock-actions{gap:7px}.contact-dock .button{font-size:16px;padding:11px 6px}.guide-inline-contact{padding:22px 18px}.guide-inline-contact h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.contact-dock .button,.guide-inline-contact .button{transition:none}.contact-dock .button:hover{transform:none}}
@media print{.contact-dock{display:none!important}body:has(.contact-dock) .site-footer{padding-bottom:30px}html:has(.contact-dock){scroll-padding-bottom:0}.guide-inline-contact{break-inside:avoid;box-shadow:none;background:#fff;color:#111;border-color:#777}.guide-inline-contact-actions{display:none}.guide-inline-contact p,.guide-inline-contact .eyebrow{color:#111!important}}

.photo-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;padding:18px 0 5px;border-top:1px solid var(--line)}
.photo-contact-actions .button,.photo-contact-actions .text-link{font-size:16px;min-height:48px;line-height:1.45;white-space:normal}
/* The persistent bar keeps the estimate action available when header space is tight. */
@media(max-width:1350px){.header-quote{display:none}}
@media(max-width:650px){.final-call>div>.text-link{display:block;margin-block:24px}.photo-contact-actions{display:grid;gap:15px}.photo-contact-actions .button{padding:14px 18px;gap:10px}}
