.appointment-open{display:inline-flex;gap:25px;align-items:center;justify-content:space-between;min-height:48px;padding:12px 18px;background:#fff;border:1px solid #bccde6;border-radius:8px;color:#2467d7;font:600 13px/1.5 var(--ed-text,Arial,sans-serif);cursor:pointer;margin:12px 0 0;max-width:100%}
.appointment-open:hover{background:#edf3fc;border-color:#2467d7}.appointment-open:active{background:#e0eafa}
.ed-hero__copy>.appointment-open{margin-left:10px}.ed-article-booking>.appointment-open{margin-left:10px}
.appointment-dialog{border:1px solid #dce5ee;border-radius:16px;padding:0;max-width:min(600px,calc(100vw - 28px));width:600px;max-height:calc(100dvh - 32px);color:#20354b;background:#fff;box-shadow:0 24px 90px #10294430;font:16px/1.6 var(--ed-text,Arial,sans-serif);overflow:auto}
.appointment-dialog:not([open]){display:none}.appointment-dialog::backdrop{background:#1a2d4666}
.appointment-dialog__body{padding:38px;position:relative}.appointment-dialog h2{font:700 32px/1.15 var(--ed-heading,Arial,sans-serif);letter-spacing:-.035em;margin:15px 0}
.appointment-close{display:grid;place-items:center;position:absolute;top:12px;right:12px;min-width:44px;min-height:44px;border:0;background:#f0f4f9;color:#20354b;border-radius:50%;font:26px/1 Arial;cursor:pointer}
.appointment-intro{font-size:15px;line-height:1.7;color:#617184;margin:0 0 25px}
.appointment-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.appointment-field label{display:block;font:600 13px/1.5 var(--ed-text,Arial,sans-serif);margin:0 0 8px;color:#20354b}
.appointment-field input{display:block;width:100%;border:1px solid #bdcde1;border-radius:7px;background:#fff;padding:13px 14px;min-height:49px;color:#20354b;font:400 16px/1.5 var(--ed-text,Arial,sans-serif);box-sizing:border-box}
.appointment-field input::placeholder{color:#7b8798}.appointment-field input[aria-invalid=true]{border-color:#a52b37;background:#fffafa}
.appointment-field input:focus{border-color:#2467d7;outline:2px solid #b5ccef;outline-offset:2px}
.appointment-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0 12px;font:400 12px/1.7 var(--ed-text,Arial,sans-serif);color:#526377;cursor:pointer}
.appointment-consent input{appearance:auto;flex:0 0 19px;width:19px;height:19px;margin:3px 0 0;accent-color:#2467d7;cursor:pointer}.appointment-consent a{color:#2467d7;text-decoration:underline;text-underline-offset:3px}
.appointment-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.appointment-preview{font:400 12px/1.7 var(--ed-text,Arial,sans-serif);padding:12px 14px;background:#f0f5fb;border-radius:7px;color:#526377;margin:0 0 16px}
.appointment-submit{min-height:49px;cursor:pointer;width:100%;font:600 14px/1.5 var(--ed-text,Arial,sans-serif);border-radius:8px;background:#2467d7;color:#fff;border:1px solid #2467d7;padding:13px 20px}
.appointment-submit:disabled{cursor:not-allowed;opacity:.6}.appointment-status{font:400 13px/1.7 var(--ed-text,Arial,sans-serif);margin:13px 0 0;min-height:1px}.appointment-status:empty{margin:0}.appointment-status[data-state=error],.appointment-error{color:#a52b37}.appointment-status[data-state=success]{color:#246449}.appointment-error{display:block;font:400 12px/1.5 var(--ed-text,Arial,sans-serif);margin-top:5px}.appointment-error:empty{display:none}
.appointment-call{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #dfe7ef;font:400 12px/1.6 var(--ed-text,Arial,sans-serif);color:#617184}.appointment-call a{font-size:17px;font-weight:700;color:#20354b;text-decoration:none}
.appointment-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;border-top:1px solid #dfe7ef;padding-block:60px;color:#20354b;font-family:var(--ed-text,Arial,sans-serif)}
.appointment-section h2{font:700 38px/1.15 var(--ed-heading,Arial,sans-serif);letter-spacing:-.035em;margin:14px 0 22px}.appointment-section>div>p{font-size:15px;line-height:1.8;color:#617184;max-width:330px}.appointment-section__phone{display:inline-block;margin-top:18px;font-size:22px;font-weight:700;line-height:1.5;color:#20354b;text-decoration:none}.appointment-form{position:relative}
.modal-video{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9998;background:#172b4577;padding:24px}.modal-video.active{display:flex}.modal-video .modal__body{position:relative;background:#fff;border-radius:12px;padding:44px 18px 18px}.modal-video .modal__close{position:absolute;right:8px;top:8px;min-width:36px;min-height:36px;border:0;display:grid;place-items:center;background:#fff;border-radius:50%}
.modal-video .modal__iframe{display:block;border:0;width:min(900px,90vw);aspect-ratio:16/9;min-height:0;height:auto}
@media(max-width:720px){.appointment-section{grid-template-columns:1fr;gap:26px;padding-block:36px}.appointment-section h2{font-size:31px;margin-bottom:17px}.appointment-section>div>p{max-width:none;margin-bottom:0}.appointment-section__phone{margin-top:14px;font-size:21px}.appointment-dialog__body{padding:29px 22px}.appointment-dialog h2{font-size:29px;margin-top:20px;max-width:240px}.appointment-fields{grid-template-columns:1fr;gap:16px}.appointment-intro{font-size:14px}.appointment-consent,.appointment-preview{font-size:12px}.appointment-call{font-size:12px}.appointment-close{top:6px;right:6px}.ed-hero__copy>.appointment-open,.ed-article-booking>.appointment-open{margin-left:0}.appointment-open{font-size:13px;min-height:48px}.appointment-section .appointment-fields{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.appointment-section .appointment-fields{grid-template-columns:1fr}.appointment-dialog{max-height:calc(100dvh - 20px)}.appointment-call{flex-direction:column}}
.appointment-medical-notice{font:400 16px/1.7 var(--ed-text,Arial,sans-serif);color:#617184;padding-block:20px;border-top:1px solid #dfe7ef}
html{scrollbar-gutter:stable}body:has(.appointment-dialog[open]){overflow:hidden}
.home-restored .appointment-section *,.home-restored .appointment-dialog *,.home-restored .appointment-medical-notice{font-family:inherit}
.appointment-owner-offer{padding:20px 23px;background:#edf6fc;border:1px solid #d9e9f5;border-radius:10px;font-size:16px;line-height:1.8;margin:0 0 25px}
.metro-address{display:flex;align-items:flex-start;gap:10px}.metro-address>img{display:block;flex:0 0 26px;width:26px;height:24px;max-width:none;object-fit:contain;margin-top:3px}
.home-restored .map .recovery-address a{display:inline-flex;align-items:center;min-height:44px;font:600 16px/1.5 var(--ed-text,Arial,sans-serif);text-underline-offset:4px}
