/* The contact choice shares the homepage's active palette; page geometry is unchanged. */
.contact-dialog{box-sizing:border-box;width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px 32px 34px;border:1px solid var(--color-border);background:var(--color-background);color:var(--color-foreground);overflow:auto}
.contact-dialog::backdrop{background:rgb(0 0 0 / .45)}
.contact-dialog-top{display:flex;justify-content:flex-end;margin:0 0 22px}
.contact-close{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:8px 0 8px 12px;border:0;background:transparent;color:inherit;font:inherit;font-size:.78rem;cursor:pointer}
.contact-close span{font-size:1.5rem;line-height:1}
.contact-close:hover{text-decoration:underline;text-underline-offset:4px}
.contact-dialog>.eyebrow{margin-bottom:16px;color:var(--color-text-muted)}
.contact-dialog h2{font-size:clamp(2rem,6vw,2.8rem);line-height:1.08}
.contact-dialog>p:not(.eyebrow){font-size:.92rem;line-height:1.6;margin-top:20px;color:var(--color-text-muted)}
.appointment-options{display:grid;gap:12px;margin-top:28px}
.appointment-options a{display:flex;flex-direction:column;gap:7px;padding:17px 18px;border:1px solid var(--color-border);color:var(--color-foreground);text-decoration:none;overflow-wrap:anywhere}
.appointment-options a:hover{border-color:var(--color-foreground);text-decoration:underline;text-underline-offset:4px}
.appointment-options span{font-size:.72rem;color:var(--color-text-muted)}
.appointment-options strong{font-size:1rem;font-weight:500}
.contact-dialog :is(a,button):focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
@media(max-width:480px){.contact-dialog{padding:18px 22px 26px}.contact-dialog-top{margin-bottom:16px}.appointment-options a{padding:15px 13px}.appointment-options strong{font-size:.92rem}}
