.appointment-page{background:linear-gradient(135deg,#eff8fb 0%,#f8fcfd 56%,#fff 100%);padding:78px 0 105px}.appointment-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:clamp(42px,6vw,92px)}.appointment-intro{padding-top:45px}.appointment-intro .eyebrow{margin-bottom:22px}.appointment-intro h1{font-family:Manrope,Arial,sans-serif;color:var(--navy);font-size:clamp(3.1rem,5vw,5rem);line-height:1.07;letter-spacing:-.055em;margin:0 0 26px}.appointment-lede{font-size:1.12rem;line-height:1.75;color:var(--muted);max-width:450px;margin:0}.appointment-call{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;padding:26px 0;display:grid;gap:3px}.appointment-call>span{font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}.appointment-call>a{font-family:Manrope,Arial,sans-serif;color:var(--navy);font-size:1.65rem;font-weight:800;text-decoration:none}.appointment-call>a:hover{color:var(--blue)}.appointment-call small{color:var(--muted);font-size:.86rem}.appointment-emergency{color:var(--muted);font-size:.87rem;margin-top:22px}.appointment-card{background:#fff;border:1px solid #dcebf0;border-radius:22px;padding:clamp(26px,4vw,48px);box-shadow:0 24px 70px rgba(17,59,83,.09)}.appointment-card-head{padding-bottom:22px;border-bottom:1px solid #e3edf1;margin-bottom:24px}.appointment-step{display:inline-block;color:var(--blue);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:10px}.appointment-card h2{font-family:Manrope,Arial,sans-serif;font-size:1.9rem;line-height:1.2;letter-spacing:-.04em;color:var(--navy);margin:0 0 7px}.appointment-card-head p{color:var(--muted);font-size:.87rem;margin:0}.appointment-feedback{display:none;margin:0 0 22px;padding:14px 16px;border-radius:9px;font-size:.88rem;line-height:1.5}.appointment-success{background:#e8f6ed;color:#165a36;border:1px solid #b6dfc4}.appointment-error{background:#fff0ee;color:#9b2e2e;border:1px solid #f4c1b9}.appointment-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;margin-bottom:18px}.form-field label{font-size:.82rem;font-weight:800;color:var(--navy);margin-bottom:8px}.form-hint{font-weight:400;color:var(--muted)}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;border:1px solid #bed3dc;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:.94rem;padding:11px 13px;outline:none}.form-field textarea{resize:vertical;min-height:115px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,99,142,.13)}.form-field input::placeholder,.form-field textarea::placeholder{color:#90a3ad}.appointment-disclaimer{font-size:.78rem;color:var(--muted);margin:4px 0 18px}.appointment-submit{width:100%;justify-content:space-between;border:0;cursor:pointer}.appointment-submit:disabled{opacity:.55;cursor:not-allowed}@media(max-width:850px){.appointment-page{padding:50px 0 80px}.appointment-layout{grid-template-columns:1fr;gap:34px}.appointment-intro{padding-top:0}.appointment-intro h1{max-width:600px}.appointment-lede{max-width:640px}.appointment-call{margin-top:25px}}@media(max-width:520px){.appointment-page{padding:34px 0 65px}.appointment-intro h1{font-size:3rem}.appointment-card{border-radius:17px}.form-grid.two{grid-template-columns:1fr;gap:0}.appointment-call>a{font-size:1.4rem}}
.form-consent{display:flex;align-items:flex-start;gap:11px;margin:2px 0 20px}.form-consent input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--blue)}.form-consent label{font-size:.79rem;line-height:1.55;color:var(--muted)}
.sms-choices{border-top:1px solid #e3edf1;padding-top:21px;margin-top:4px}.sms-choices h3{font-family:Manrope,Arial,sans-serif;font-size:1.05rem;line-height:1.35;color:var(--navy);margin:0 0 15px}.sms-choices .form-consent{margin:0 0 12px}.sms-choices .form-consent label{font-size:.9rem;line-height:1.5;color:var(--ink)}.sms-terms{font-size:.76rem;line-height:1.6;color:var(--muted);margin:0 0 18px}.sms-terms a{color:var(--blue);text-underline-offset:2px}
.appointment-feedback{margin:22px 0 0}
.appointment-feedback:not([hidden]){display:block}
.appointment-live-link[hidden],#appointment-form[hidden]{display:none}
.appointment-live-link p{color:var(--muted);font-size:1rem;line-height:1.65;margin-bottom:22px}
.appointment-live-link .button{white-space:normal}
.appointment-feedback:focus{outline:2px solid currentColor;outline-offset:3px}
