.contact-page .sh-art { width:100%; margin:0; min-width:0; }
.contact-page .sh-art img { width:100%; height:auto; object-fit:contain; filter:none; }
.contact-page .sh-lede { max-width:36em; }
.contact-grid { display:grid; gap:24px; margin-top:32px; }
.contact-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #d6d6d6; background:#fff; }
.contact-icon { display:flex; color:#d62a1a; margin-bottom:24px; }
.contact-icon svg { width:28px; height:28px; }
.contact-page .contact-card h3 { font:900 24px/1.4 var(--hot-font); margin-bottom:16px; }
.contact-card > p { margin-bottom:8px; }
.contact-card > .btn, .contact-social { margin-top:auto; }
.contact-card .btn { width:100%; white-space:normal; gap:8px; padding:12px 16px; }
.contact-card .btn svg { width:20px; height:20px; flex:none; }
.contact-card > .copy { margin-bottom:24px; }
.contact-social { display:grid; gap:8px; }
.contact-page #booking { scroll-margin-top:88px; }
.contact-page .contact-booking-form { padding:0; border:0; background:transparent; }
.contact-booking-grid { display:grid; gap:32px; margin-top:32px; }
.contact-schedule, .contact-details { min-width:0; padding:24px 16px; border:1px solid #d6d6d6; background:#fff; }
.contact-page .contact-booking-grid h3 { margin-bottom:24px; font-weight:900; }
.contact-page .contact-schedule > .panel { border:0; padding:0; background:transparent; }
.contact-page .contact-schedule .cal { margin:0; }
.contact-page .contact-schedule .slots { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.contact-page .contact-schedule .slot { white-space:normal; padding:8px; }
.contact-page .contact-schedule .slot:last-child { grid-column:1 / -1; }
.contact-details .input { width:100%; min-width:0; }
.contact-details .cta-row .btn { width:100%; }
.contact-page .contact-details .consent { grid-template-columns:24px minmax(0,1fr); }
@media(min-width:600px) { .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1000px) { .contact-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .contact-booking-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; } .contact-schedule, .contact-details { padding:32px; } }
