/* Amsterdam appointments: extend the existing black, wine and cream rhythm. */
.header-contact{font-size:.9375rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.footer-contact address{font-style:normal;font-size:.9375rem;line-height:1.8;color:var(--tone-text)}
.footer-contact .footer-appointment{margin:.65rem 0 1rem;color:var(--tone-muted)}
.footer-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:1rem}
.footer-contact-links a{font-size:.9375rem;min-height:32px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.cta-contact{margin-top:1.25rem;font-size:.9375rem}
.cta-contact a{text-decoration:underline;text-underline-offset:5px}
.appointment-contact-grid{align-items:start;gap:clamp(2rem,6vw,6rem)}
.appointment-contact-grid>div,.appointment-contact-grid>aside{min-width:0}
.appointment-contact-grid h2{margin:.6rem 0 1.5rem}
.contact-methods{display:grid;gap:1.6rem;margin:2.4rem 0}
.contact-methods>div{display:flex;flex-direction:column;gap:.3rem}
.contact-methods span{font-size:.875rem;color:var(--tone-muted)}
.contact-methods a{width:fit-content;text-decoration:none;border-bottom:1px solid var(--tone-line);padding-bottom:.2rem;overflow-wrap:anywhere}
.contact-phone{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:.025em;font-variant-numeric:tabular-nums}
.contact-mail{font-size:clamp(1.125rem,2.3vw,1.5rem)}
.appointment-location{padding:clamp(1.5rem,4vw,3rem);border-radius:0;border:1px solid var(--tone-line)}
.appointment-location address{font-style:normal;font-size:1.2rem;line-height:1.8;padding-bottom:1.5rem;border-bottom:1px solid var(--tone-line)}
.appointment-location address strong{font-weight:500}
.appointment-location .appointment-only{font-size:.9375rem;letter-spacing:.025em;color:var(--tone-title);margin-top:1.5rem}
.appointment-location .button{margin-top:.8rem}
.appointment-confirmation{font-size:.9375rem;color:var(--tone-muted);margin-top:1rem}
.appointment-form-location{border-left:2px solid var(--tone-accent);padding:0 0 0 1.4rem;margin:1.7rem 0 2rem}
.appointment-form-location address{font-style:normal;font-size:1.15rem;line-height:1.8;margin:.5rem 0}
.appointment-form-location p{margin:.7rem 0 0}
.form-direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;border-top:1px solid var(--tone-line);padding-top:1.5rem;margin-top:1.5rem}
.form-direct-contact span{font-size:.875rem;color:var(--tone-muted)}
.form-direct-contact a{font-size:1rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
 .appointment-contact-grid{grid-template-columns:minmax(0,1fr)}
 .appointment-contact-grid .cta-row{align-items:stretch}
 .appointment-contact-grid .cta-row .button{justify-content:center}
 .appointment-location h2{font-size:clamp(2rem,9vw,3rem)}
 .footer-contact-links a{min-height:40px}
 .cta-contact{line-height:1.9}
}
@media(max-width:420px){
 .appointment-contact-grid .cta-row{flex-direction:column}
 .contact-phone{font-size:1.7rem}
}
