.appointment-shortcut {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 2px;border:0;background:transparent;color:var(--ink);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap}
.appointment-shortcut svg {width:18px;height:18px;flex-shrink:0}.appointment-shortcut:hover {color:#426443}.appointment-shortcut:focus-visible,.appointment-dialog :focus-visible {outline:3px solid #426443;outline-offset:4px}
body.appointment-open {overflow:hidden}
.appointment-dialog {width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #c4cebc;border-radius:26px;padding:38px;margin:auto;background:var(--white);color:var(--ink);box-shadow:0 24px 80px #11171333}
.appointment-dialog::backdrop {background:#11171399;backdrop-filter:blur(4px)}
.appointment-close {position:absolute;right:14px;top:12px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;font-size:1.75rem;cursor:pointer;color:var(--ink)}
.appointment-dialog>.eyebrow {margin:0 42px 16px 0}.appointment-dialog h2 {margin:0 0 14px;max-width:380px;font-size:clamp(1.625rem,5vw,2.125rem);line-height:1.15;letter-spacing:-.04em}.appointment-dialog>p:not(.eyebrow) {font-size:1rem;line-height:1.6;color:#465047;margin:0 0 26px}
.appointment-choices {display:grid;gap:14px}.appointment-choice {display:flex;align-items:flex-start;gap:16px;width:100%;padding:22px;background:var(--paper);border:1px solid #c4cebc;border-radius:16px;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}.appointment-choice:hover {background:#e5eddb;border-color:#748b65}.appointment-choice>span:last-child {min-width:0}.appointment-choice strong {display:block;font-size:1.125rem;margin:0 0 7px}.appointment-choice span span {display:block;font-size:1rem;line-height:1.5;color:#465047}.appointment-choice small {display:block;margin-top:12px;font-size:.8125rem;line-height:1.5;color:#355332}.appointment-choice-icon {font-size:1.6rem;line-height:1.1;width:24px;flex-shrink:0;color:#426443}
@media(max-width:599px){.site-header .header-inner:has(.appointment-shortcut) {flex-wrap:wrap;column-gap:14px;row-gap:0}.site-header .header-actions:has(.appointment-shortcut) {flex-wrap:wrap;gap:12px}.appointment-dialog {padding:32px 22px 24px}.appointment-choice {padding:18px;gap:12px}}
@media(max-width:359px){.site-header:has(.appointment-shortcut) .brand-logo {width:108px}.site-header .header-actions:has(.appointment-shortcut) {gap:8px}.appointment-shortcut {gap:5px}}

.site-header .header-actions > .appointment-shortcut,
.site-header .header-actions > .js-demo-login {font-size:.875rem}
