.appointment-page{background:var(--bg-main);min-height:80vh;padding:136px 0 80px}.appointment-container{max-width:820px}.appointment-heading{margin-bottom:40px}.appointment-form-card{box-shadow:var(--shadow-md);background:#ffffffe6;border:1px solid #0f766e24;border-radius:28px;padding:40px}.appointment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.appointment-form-card label{color:var(--text-main);font-weight:600;display:block}.appointment-form-card input,.appointment-form-card select,.appointment-form-card textarea{width:100%;color:var(--text-main);font:inherit;transition:var(--transition);background:#ffffffd1;border:1px solid #0f766e29;border-radius:14px;margin-top:8px;padding:12px 14px}.appointment-form-card input:focus,.appointment-form-card select:focus,.appointment-form-card textarea:focus{border-color:var(--primary-color);background:var(--white);outline:none;box-shadow:0 0 0 4px #0f766e1a}.appointment-form-card [aria-invalid=true]{background:#fff7ed;border-color:#c2410c;box-shadow:0 0 0 4px #c2410c1a}.field-error{color:#9a3412}.field-error-message{color:#9a3412;margin-top:7px;font-size:.86rem;font-weight:600;line-height:1.35;display:block}.appointment-field{margin-bottom:20px}.appointment-checkbox{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:24px;display:flex}.appointment-checkbox input{width:auto;margin-top:4px}.appointment-checkbox label{color:var(--text-light);flex:1;font-size:.92rem;font-weight:400;line-height:1.45}.appointment-checkbox .field-error-message{flex-basis:100%;margin-top:-2px;padding-left:26px}.appointment-submit{width:100%;padding:15px;font-size:1.05rem}.appointment-submit:disabled{cursor:not-allowed;opacity:.72}.appointment-success{color:#14532d;text-align:center;background:linear-gradient(145deg,#f0fdf4 0%,#fff 72%);border:1px solid #16a34a3d;border-radius:24px;justify-items:center;gap:14px;min-height:430px;padding:72px 32px;animation:.42s ease-out both appointment-success-enter;display:grid}.appointment-success-check{color:#fff;background:#16a34a;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:6px;animation:.52s cubic-bezier(.2,1.4,.4,1) .1s both appointment-success-check;display:inline-flex;box-shadow:0 16px 30px #16a34a38}.appointment-success-eyebrow{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.appointment-success h2{color:#14532d;margin:0;font-size:clamp(1.5rem,3vw,2rem)}.appointment-success>p:not(.appointment-success-eyebrow){color:#3f6c50;max-width:500px;margin:0;font-size:1.04rem;line-height:1.6}.appointment-success-reset{color:#166534;background:#fff;border:1px solid #15803d4d;margin-top:12px}@keyframes appointment-success-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes appointment-success-check{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.appointment-success,.appointment-success-check{animation:none}}@media (max-width:720px){.appointment-page{padding:126px 0 64px}.appointment-form-card{border-radius:22px;padding:24px}.appointment-form-grid{grid-template-columns:1fr}.appointment-success{min-height:380px;padding:52px 22px}}
