/* Final interaction and accessibility layer. Kept separate while legacy styles are retired. */
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:30;background:#102e27;color:#fff;padding:.75rem 1rem;font-weight:700}.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid #a9c96c;outline-offset:3px}.choice-row input:focus-visible+span{outline:3px solid #163f35;outline-offset:3px}.field-note{font-size:.8rem;color:var(--muted);margin:.65rem 0 0}.request-result{scroll-margin-bottom:7rem}.result-actions .handoff-action{background:#a9c96c;color:#102e27;border:0;min-height:48px;display:inline-flex;align-items:center;padding:13px 16px;font-weight:800;text-decoration:none}.result-actions .handoff-email{background:transparent;color:#fff;border:1px solid #90a99a}.desktop-contact-values a{color:var(--ink);font-size:1.1rem;font-weight:800;text-decoration:none}.desktop-contact-values a:hover{text-decoration:underline}.site-footer a:not(.brand){pointer-events:auto}.site-footer .footer-contact-info a{color:#c4d5c7;text-decoration:none}.hero-image{width:100%;height:100%}.result-title{font:800 clamp(1.45rem,3vw,2rem)/1 Manrope;margin:.5rem 0;color:#fff}.form-error{background:#fff3ed;border-left:3px solid #b94b2d;color:#512416;padding:.75rem;font-size:.9rem}.photo-helper::after{content:' Selected photos stay on this device until you choose text or email.';display:block;margin-top:.35rem}.mobile-bar{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:850px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.mobile-bar{min-height:66px}.site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.request-result{margin-bottom:calc(90px + env(safe-area-inset-bottom));scroll-margin-bottom:110px}.result-actions{display:grid;grid-template-columns:1fr 1fr}.result-actions .button,.result-actions .copy-estimate,.result-actions .handoff-action{width:100%;justify-content:center;min-height:48px}.hero-badge{display:none}.hero .trust-note{margin-bottom:0;padding-right:0}.hero-content{padding-bottom:52px}.mobile-open{position:absolute;top:70px;left:0;right:0;background:#fbfbf7;padding:18px 24px;display:grid!important;gap:16px;box-shadow:0 12px 25px rgba(0,0,0,.12)}.mobile-open a{font-size:1rem;padding:.6rem 0}}
@media(max-width:480px){.result-actions{grid-template-columns:1fr}.request-result{padding:24px 20px}.button,.copy-estimate{min-height:48px}.hero{min-height:570px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}.service-card:hover{transform:none}}
