.appointment-section{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:clamp(2.5rem,7vw,7rem);padding:clamp(4rem,9vw,8rem) 5vw;background:var(--cream)}
.appointment-intro{max-width:470px;align-self:start;position:sticky;top:130px}
.appointment-intro h2{font-size:clamp(2.6rem,4.4vw,4.7rem)}
.appointment-intro>p:not(.eyebrow){color:#52605a;max-width:430px}
.appointment-intro .appointment-response{padding-top:1.25rem;border-top:1px solid #cbd2c7;font-size:.94rem}
.appointment-form{padding:clamp(1.4rem,4vw,3rem);background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 48px #0a1f1c0a}
.form-row{margin:0 0 1.7rem}
.form-row>label,.goals-fieldset legend{display:block;color:var(--forest);font-weight:700;font-size:1rem;margin-bottom:.6rem}
.required-note,.optional-note{display:block;color:var(--muted);font-size:.76rem;font-weight:400;margin-top:.1rem}
.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.7rem}
.name-fields>span{display:block}
.name-fields small{display:block;color:var(--muted);font-size:.75rem;margin-top:.25rem}
.form-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-contact-grid input,.name-fields input,.appointment-form textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #cbd2c7;border-radius:0;padding:.85rem .9rem;margin-top:.65rem}
.appointment-form textarea{resize:vertical;min-height:7rem}
.form-contact-grid input:focus,.name-fields input:focus,.appointment-form textarea:focus{outline:3px solid #b4985444;border-color:var(--gold)}
.goals-fieldset{border:0;padding:0;min-width:0}
.goals-fieldset legend{padding:0;margin-bottom:.9rem}
.goal-options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.goal-options label{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .8rem;background:#f6f5ef;border:1px solid transparent;color:#34443e;font-size:.9rem;line-height:1.4;cursor:pointer}
.goal-options label:has(input:checked){background:#edf0e9;border-color:#8fa99d;color:var(--forest)}
.goal-options input{accent-color:var(--forest);margin:.15rem 0 0;flex:none;width:1rem;height:1rem}
.privacy-reminder{font-size:.82rem;color:var(--muted);padding:1rem;border-left:3px solid var(--gold);background:#f6f5ef}
.privacy-reminder a{color:var(--forest);font-weight:700}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.appointment-submit{gap:1rem;cursor:pointer;font:inherit}
.appointment-submit:disabled{opacity:.7;cursor:wait}
.form-feedback{margin:.9rem 0 0;min-height:1.5em;color:var(--forest);font-size:.92rem}
.form-feedback.is-error{color:#9d3028}
@media(max-width:850px){.appointment-section{grid-template-columns:1fr}.appointment-intro{position:static;max-width:720px}}
@media(max-width:560px){.appointment-form{padding:1.25rem}.name-fields,.form-contact-grid,.goal-options{grid-template-columns:1fr}.appointment-section{padding-left:1.1rem;padding-right:1.1rem}}
