.appointment-shell{max-width:744px;padding:126px 24px 72px;color:#102346}
.appointment-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;font-size:14px;line-height:1.5;color:#5e6d83}
.appointment-breadcrumbs a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.appointment-card{padding:36px 40px;border:1px solid #e1e8f1;border-radius:24px;background:#fff;box-shadow:0 12px 44px #17324d07}
.appointment-eyebrow{margin:0 0 12px;color:#536581;font-size:15px;line-height:1.5}
.appointment-card h1{margin:0 0 24px;font-size:clamp(30px,5vw,44px);line-height:1.12;letter-spacing:-.025em;font-weight:500}
.appointment-details{padding:0 0 22px;border-bottom:1px solid #e1e8f1;margin-bottom:22px}
.appointment-prices{margin:0 0 18px;font-size:16px;line-height:1.5}
.appointment-prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:7px}
.appointment-prices dt{min-width:0}.appointment-prices dd{margin:0;text-align:right;font-weight:500}
.appointment-address{margin:0 0 8px;color:#536581;font-size:15px;line-height:1.6}
.appointment-price-link{font-size:14px;color:#2455fa;text-underline-offset:3px}
.appointment-instruction{margin:0 0 24px;font-size:16px;line-height:1.55;color:#536581}
.appointment-card .form-field{margin-bottom:18px}
.appointment-card .form-field>label{display:block;font-size:15px;line-height:1.5;margin-bottom:6px;color:#334763}
.appointment-card .form-field input:not([type=checkbox]),.appointment-card .form-field select,.appointment-card .form-field textarea{min-height:48px;border:1px solid #d7e0ed;border-radius:12px;background:#f5f7fb;color:#102346;font-size:16px}
.appointment-card .checkbox label{display:flex;font-size:14px;line-height:1.5;margin:0}
.appointment-card .checkbox input{margin-top:2px;accent-color:#2455fa}
.appointment-card .checkbox span{min-width:0;overflow-wrap:anywhere}
.appointment-card .button{min-height:50px;padding:12px 24px;border-radius:12px;background:#2455fa;color:#fff;font-size:16px;font-weight:500}
.appointment-card form>.button{width:100%;margin-top:4px}
.appointment-phone{margin:22px 0 0;text-align:center;font-size:15px;line-height:1.7;color:#536581}
.appointment-phone a{color:#2455fa;white-space:nowrap;text-underline-offset:3px}
.appointment-card :is(a,button,input,select,textarea):focus-visible{outline:3px solid #819aff;outline-offset:3px}
.appointment-card .errorlist{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:600px){.appointment-shell{padding:106px 16px 48px}.appointment-card{padding:24px 20px;border-radius:20px}.appointment-eyebrow{font-size:14px}.appointment-card h1{margin-bottom:20px}.appointment-prices>div{gap:8px}.appointment-prices{font-size:15px}.appointment-prices dd{max-width:45%}.appointment-address{font-size:14px}.appointment-breadcrumbs{margin-bottom:16px}}
@media(max-width:360px){.appointment-card{padding:24px 16px}}
