.appointment-page{padding-bottom:clamp(36px,6vw,80px)}
.appointment-page .page-introduction,.appointment-card,.appointment-result{max-width:1040px;margin-inline:auto}
.appointment-page .page-introduction h1{overflow-wrap:anywhere}
.appointment-page .page-intro-text{max-width:780px;line-height:1.75}
.appointment-card.engagement-contact{display:block;margin-block:28px;padding:clamp(20px,4vw,44px);box-shadow:0 10px 32px #163d5008}
.appointment-card .engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.appointment-card .engagement-form{gap:24px}
.appointment-card .engagement-form label{line-height:1.6;min-width:0;overflow-wrap:anywhere}
.appointment-card .engagement-form .form-control{width:100%;margin-top:8px;min-width:0;min-height:50px;padding:12px 14px;font:inherit;text-align:start;box-sizing:border-box}
.appointment-card textarea.form-control{min-height:150px}
.appointment-card [dir=ltr]{direction:ltr;text-align:left}
.appointment-card .engagement-consent{margin:0;align-items:flex-start;font-weight:400}
.appointment-card .engagement-consent input{min-width:20px;min-height:20px;margin-block-start:3px}
.appointment-card .engagement-notice{margin:0;padding:16px 18px;background:#f0f7f7;border-inline-start:3px solid #429697;border-radius:8px;font-size:.875rem}
.appointment-submit{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.appointment-submit .site-button{min-height:50px;max-width:100%;white-space:normal;text-align:center;justify-content:center;overflow-wrap:anywhere}
.appointment-progress{margin:0;font-size:.875rem;color:var(--site-muted,#58707a)}
.appointment-progress:not(:empty)::before{content:'';display:inline-block;width:16px;height:16px;border:2px solid #d3e4e4;border-top-color:#22888b;border-radius:50%;margin-inline-end:10px;vertical-align:middle;animation:appointment-spin .8s linear infinite}
.appointment-result{line-height:1.75;overflow-wrap:anywhere}
@keyframes appointment-spin{to{transform:rotate(360deg)}}
@media(max-width:599px){.appointment-card .engagement-grid{grid-template-columns:1fr;gap:20px}.appointment-card .engagement-form{gap:20px}.appointment-submit{display:block}.appointment-submit .site-button{width:100%}.appointment-progress{margin-top:14px}.appointment-card .engagement-notice{padding:14px}}
@media(prefers-reduced-motion:reduce){.appointment-progress:not(:empty)::before{animation:none}}
