/* "Talk to our team" dialog, shared by every page (shared/talk.js injects it).
   Text first, book a call second. Styled after the Home expert dialog. */
.talk-dialog{--bg:#f7f8f6;--ink:#222a2b;--muted:#5f6a6b;--line:#cbd1d0;--field:#fff;color:var(--ink);background:var(--bg);width:min(880px,calc(100% - 40px));max-height:calc(100dvh - 40px);border:1px solid #ffffff60;border-radius:24px;padding:56px 56px 40px;box-shadow:0 30px 80px #0a121433;font-family:Soehne,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;overflow:auto}
.talk-dialog::backdrop{background:#09101299;backdrop-filter:blur(8px)}
.talk-dialog *{box-sizing:border-box}
.talk-close{position:absolute;right:20px;top:18px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.talk-close:focus-visible,.talk-dialog a:focus-visible,.talk-dialog button:focus-visible,.talk-dialog input:focus-visible{outline:2px solid #6f8f93;outline-offset:2px}
.talk-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.talk-dialog h2{font-size:52px;line-height:1.05;letter-spacing:-.035em;font-weight:400;margin:0 0 20px}
.talk-intro{max-width:520px;font-size:18px;color:var(--muted);line-height:1.6;margin:0}
.talk-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.talk-options section{display:flex;flex-direction:column;min-width:0}
.talk-options section+section{border-left:1px solid var(--line);padding-left:40px}
.talk-channel{font-size:11px;letter-spacing:.13em;color:var(--muted)}
.talk-options h3{font-size:25px;font-weight:400;margin:12px 0 10px;letter-spacing:-.015em}
.talk-options p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 22px}
.talk-btn{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 20px;border:1px solid #c3cbc8;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px;text-decoration:none;cursor:pointer;margin-top:auto;width:100%}
.talk-btn:hover{background:#f0f3f1}
.talk-btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.talk-btn.primary:hover{background:#353d3e}
.talk-btn[aria-busy=true]{opacity:.6;pointer-events:none}
.talk-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.talk-btn[aria-disabled=true]:hover{background:#fff}
.talk-btn.primary[aria-disabled=true]:hover{background:var(--ink)}
.talk-btn[hidden]{display:none}
.talk-call-actions{display:grid;gap:10px;margin-top:auto}
.talk-call-actions .talk-btn{margin-top:0}
.talk-dial{display:grid;gap:2px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.talk-dial:focus-visible{outline:2px solid #6f8f93;outline-offset:2px}
.talk-dial-label{font-size:13px;color:var(--muted)}
.talk-dial .talk-dial-number{font-size:26px;line-height:1.3;letter-spacing:-.01em;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.talk-dial .talk-dial-number:hover{text-decoration:underline;text-underline-offset:4px}
.talk-dial-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}
.talk-form{display:grid;gap:12px;margin-top:auto}
.talk-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.talk-form input{font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;min-height:48px;padding:0 14px;width:100%}
.talk-form .talk-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px}
.talk-consent{font-size:12px!important;line-height:1.5!important;color:var(--muted);margin:2px 0 4px!important}
.talk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.talk-form[hidden]{display:none}
.talk-done{margin-top:auto;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;padding:20px;border:1px solid #b7d1bf;border-radius:14px;background:#edf5ef;color:var(--ink);outline:none}
.talk-done:focus-visible{outline:2px solid #6f8f93;outline-offset:2px}
.talk-done-mark{grid-row:span 3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#2f5a3e;color:#fff}
.talk-done .talk-done-title{font-size:19px;line-height:1.35;letter-spacing:-.01em;color:var(--ink);margin:6px 0 0}
.talk-done .talk-done-note{font-size:15px;line-height:1.5;color:#2f5a3e;margin:0}
.talk-done-number{white-space:nowrap}
.talk-done-edit{justify-self:start;margin-top:8px;padding:0;border:0;background:none;font:inherit;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.talk-done-edit:hover{color:var(--ink)}
.talk-status{min-height:20px;font-size:13px!important;line-height:1.5!important;margin:12px 0 0!important;color:var(--muted)}
.talk-status.ok{color:#2f5a3e}
.talk-status.warn{color:#7b5814}
.talk-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.talk-bottom a{color:var(--ink)}
body.talk-open{overflow:hidden}
@media (max-width:700px){
  .talk-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:48px 22px 26px;border-radius:20px}
  .talk-dialog h2{font-size:38px;margin-bottom:16px}
  .talk-intro{font-size:16px;line-height:1.5}
  .talk-options{grid-template-columns:1fr;gap:26px;margin-top:28px}
  .talk-options section+section{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .talk-options h3{font-size:23px}
  .talk-options p{margin-bottom:16px}
  .talk-form .talk-row{grid-template-columns:1fr}
  .talk-bottom{font-size:13px;margin-top:22px;padding-top:18px;gap:12px}
}
