/* WIAB shell styles: skip link, admin bar offset, scroll reveal. */.lh-skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#131313;color:#ffffff;padding:0.75rem 1.25rem;font-size:0.875rem}.lh-skip-link:focus{left:0}body.admin-bar nav.sticky{top:32px}@media screen and (max-width: 782px){body.admin-bar nav.sticky{top:46px}}/* Scroll reveal. Hidden state only applies once donovan.js tags <html> with
   .lh-js, so content stays visible without JavaScript. */.lh-js .lh-reveal{opacity:0;transform:translateY(24px);transition:opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),transform 900ms cubic-bezier(0.22, 1, 0.36, 1);will-change:opacity,transform}.lh-js .lh-reveal.lh-in{opacity:1;transform:translateY(0)}/* Contact form (WPForms, base CSS disabled) — mirrors the demo contact-00
   form: mono uppercase labels, border-bottom fields, dark full-width submit.
   The widget's form wrapper div carries the demo's mt-10 class; inner
   spacing lives here because WPForms nests everything one level deeper. */.lh-donovan-sec .wpforms-container,.lh-donovan-sec .wpforms-form,.lh-donovan-sec .wpforms-field-container{margin:0;padding:0}.lh-donovan-sec .wpforms-field{margin:1.5rem 0 0;padding:0}.lh-donovan-sec .wpforms-field-container > .wpforms-field:first-of-type{margin-top:0}.lh-donovan-sec .wpforms-field-label{display:block;margin:0;font-family:var(--font-mono);font-size:0.75rem;line-height:1rem;font-weight:400;text-transform:uppercase;letter-spacing:0.22em;color:#55555a}.lh-donovan-sec .wpforms-required-label{color:#d4202a}.lh-donovan-sec .wpforms-field input[type="text"],.lh-donovan-sec .wpforms-field input[type="email"],.lh-donovan-sec .wpforms-field input[type="tel"],.lh-donovan-sec .wpforms-field select,.lh-donovan-sec .wpforms-field textarea{display:block;width:100%;margin:0.5rem 0 0;border:0;border-bottom:1px solid rgba(19, 19, 21, 0.4);border-radius:0;background:transparent;padding:0.75rem 0;font-family:var(--font-display);letter-spacing:-0.01em;font-weight:400;font-size:1.125rem;line-height:1.75rem;color:#131315;outline:none;box-shadow:none}.lh-donovan-sec .wpforms-field textarea{height:7.25rem;resize:vertical}.lh-donovan-sec .wpforms-field input:focus,.lh-donovan-sec .wpforms-field select:focus,.lh-donovan-sec .wpforms-field textarea:focus{border-bottom-color:#d4202a}.lh-donovan-sec .wpforms-submit-container{margin:2.5rem 0 0;padding:0}.lh-donovan-sec button.wpforms-submit{display:inline-flex;width:100%;align-items:center;justify-content:space-between;margin:0;border:1px solid #131315;border-radius:0;background:#131315;padding:1.25rem 1.75rem;font-family:inherit;font-size:0.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:0.22em;color:#f5f2ed;cursor:pointer;transition:background-color 150ms,color 150ms}.lh-donovan-sec button.wpforms-submit:hover{background:#d4202a;color:#131315}.lh-donovan-sec button.wpforms-submit:disabled{cursor:not-allowed;opacity:0.6}.lh-donovan-sec button.wpforms-submit::after{content:"";width:16px;height:10px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5h14M10 1l4 4-4 4' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5h14M10 1l4 4-4 4' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat}.lh-donovan-sec .wpforms-error,.lh-donovan-sec em.wpforms-error,.lh-donovan-sec label.wpforms-error{display:block;margin-top:0.5rem;font-family:var(--font-mono);font-size:0.75rem;font-style:normal;text-transform:uppercase;letter-spacing:0.18em;color:#d4202a}.lh-donovan-sec .wpforms-field-sublabel{display:none}/* WCAG 2.5.8 touch targets. The burger renders a 40px box and the footer
   social icons 16-20px; grow the hit areas without moving the visual marks
   (negative margin cancels the padding in the layout). */nav.sticky button[aria-label="Open menu"],nav.sticky button[aria-label="Close menu"]{min-width:44px;min-height:44px}footer a[aria-label^="Donovan Roofing on"]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:4px;margin:-4px}