/* --- header CTA --- */
.header-actions{display:flex;align-items:center;gap:20px}
.header-callback{background:none;border:1px solid var(--line);padding:11px 18px;font-size:13px;white-space:nowrap;transition:border-color .2s,color .2s}
.header-callback:hover{border-color:var(--accent);color:var(--accent)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.button-ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.button-ghost:hover{background:var(--ink);color:var(--paper)}
.contact-cta{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto}
.contact-callback{background:none;border:1px solid #6a6661;color:#f7f6f2}
.contact-callback:hover{background:var(--accent);border-color:var(--accent)}
.link-btn{background:none;border:0;padding:0;color:var(--accent);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-left:18px}
.service-body a{text-decoration:underline;text-underline-offset:3px}
/* --- lead modals --- */
.lead-modal{border:0;padding:0;width:min(500px,94vw);max-height:92dvh;background:var(--paper);color:var(--ink);box-shadow:0 25px 90px #0006}
.lead-modal::backdrop{background:#000a;backdrop-filter:blur(6px)}
body:has(dialog[open]){overflow:hidden}
.lead-form{display:flex;flex-direction:column;gap:14px;padding:38px 34px 34px;position:relative}
.lead-form .eyebrow{color:var(--accent)}
.lead-form h2{font-family:var(--serif);font-size:34px;letter-spacing:-.04em}
.lead-sub{color:var(--muted);font-size:14px;margin-top:-6px}
.lead-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted);letter-spacing:.02em}
.lead-form input,.lead-form textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);padding:13px 14px;width:100%;border-radius:0}
.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.lead-form textarea{resize:vertical;min-height:96px}
.lead-submit{margin-top:6px;justify-content:center;gap:14px}
.lead-submit[disabled]{opacity:.6;cursor:progress}
.lead-close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:none;font-size:28px;line-height:1;color:var(--muted)}
.lead-close:hover{color:var(--ink)}
.lead-status{font-size:14px;min-height:20px;margin-top:2px}
.lead-status.ok{color:#2b7a2b}.lead-status.err{color:#b52b2b}
@media(max-width:760px){.header-actions .header-callback{display:none}.contact-cta{margin-left:0}.lead-form{padding:32px 22px 26px}.lead-form h2{font-size:28px}}
