.appointment-intro{margin-bottom:clamp(2.5rem,4vw,3.5rem)}.appointment-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}.appointment-panel{min-width:0}.appointment-contact>h2,.appointment-panel>h2{margin-block:.75rem 2rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.1}.appointment-form{display:grid;gap:1.25rem}.appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.appointment-field{display:grid;align-content:start;gap:.45rem;min-width:0}.appointment-field>label,.how-heard-fieldset legend{font-size:.9rem;font-weight:600}.appointment-date-trigger,.appointment-field input,.appointment-field select,.appointment-field textarea{min-height:3rem;width:100%;border:1px solid var(--input);border-radius:0;background:var(--card);padding:.8rem .9rem;color:var(--foreground);font:inherit;font-size:1rem}.appointment-field textarea{min-height:7rem;resize:vertical}.appointment-field input::placeholder,.appointment-field textarea::placeholder{color:#777166;opacity:1}.appointment-field [aria-invalid=true]{border-color:var(--destructive)}.appointment-date-trigger{display:flex;justify-content:space-between;gap:.8rem;padding-inline:.9rem;text-align:left;font-weight:400}.appointment-date-trigger svg{flex:0 0 auto;width:1.1rem;height:1.1rem;color:var(--primary)}.appointment-calendar-popover{width:auto;max-width:calc(100vw - 2rem);padding:.5rem;border-radius:0;background:var(--card)}.appointment-calendar-popover [data-slot=calendar]{--cell-size:2.5rem}.appointment-calendar-popover [data-slot=button]{border-radius:0}.how-heard-fieldset{border:0;border-top:1px solid var(--border);padding:1.1rem 0 0}.how-heard-fieldset legend{padding:0 .7rem 0 0}.how-heard-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-top:.9rem}.appointment-checkbox{display:flex;align-items:center;gap:.65rem;min-height:2rem;color:var(--muted-foreground);font-size:.95rem;cursor:pointer}.appointment-checkbox input{width:1rem;height:1rem;accent-color:var(--primary)}.appointment-submit{justify-self:start;min-height:3.1rem;border-radius:0;padding-inline:1.4rem;background:var(--primary);color:white}.appointment-submit:hover{background:#5c4a2c}.appointment-form-note{margin-top:-.8rem;color:var(--muted-foreground);font-size:.85rem}.appointment-result,.appointment-submit-error{border-left:2px solid var(--primary);background:var(--secondary);padding:1rem 1.25rem}.appointment-submit-error{color:var(--destructive);font-size:.95rem}.appointment-result h3{margin-bottom:.45rem;font-family:var(--font-display);font-size:1.65rem;font-weight:400}.appointment-contact{border-left:1px solid var(--border);padding-left:clamp(1.5rem,3vw,3rem)}.appointment-contact>h2{font-size:clamp(2rem,3vw,2.7rem)}.contact-detail{padding-block:1.4rem;border-top:1px solid var(--border)}.contact-detail h3{margin-bottom:.55rem;font-family:var(--font-display);font-size:1.2rem;font-weight:400}.contact-detail address,.contact-detail>a:not(.text-link){color:var(--muted-foreground);font-size:.9rem;font-style:normal;line-height:1.8}.contact-detail .text-link{margin-top:.9rem}.hours-detail dl{display:grid;gap:.55rem;margin:0;font-size:.88rem}.hours-detail dl>div{display:grid;grid-template-columns:minmax(75px,.7fr) 1.5fr;gap:.75rem}.hours-detail dt{font-weight:600}.hours-detail dd{margin:0;color:var(--muted-foreground)}@media (max-width:850px){.appointment-layout{grid-template-columns:minmax(0,1fr);gap:4rem}.appointment-contact{border-left:0;border-top:1px solid var(--border);padding:3rem 0 0}}@media (max-width:560px){.appointment-form-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.how-heard-options{gap:.5rem}.appointment-contact{padding-top:2.5rem}}