/* Direct contact stays close to the introduction and within easy reach. */
.contact-icon { width:20px; height:20px; flex-shrink:0; }
.header-contact { min-height:44px; gap:9px; flex-shrink:0; font-size:.82rem; }
.header-call-label { display:none; }
.hero-contact { max-width:28rem; margin-top:28px; }
.hero-contact .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:0; }
.hero-contact .btn { min-height:58px; padding:9px 15px; gap:10px; font-size:.88rem; line-height:1.25; white-space:normal; }
.hero-call>span { text-align:left; }
.hero-call small { display:block; margin-top:4px; font-size:.69rem; font-weight:400; letter-spacing:0; white-space:nowrap; color:#c3ced9; }
.hero-email { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:5px; color:#d5dee7; font-size:.84rem; text-decoration:none; }
.hero-email span { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#718191; overflow-wrap:anywhere; }
.hero-email:hover span { text-decoration-color:currentColor; }
.hero-email .contact-icon { width:17px; height:17px; }
.hero-contact+.hero-lead { margin-top:18px; }
.hero-session-link { display:inline-flex; align-items:center; gap:22px; min-height:44px; margin-top:10px; color:#e0e7ed; font-size:.85rem; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#718191; }
.hero-session-link:hover { text-decoration-color:currentColor; }
.hero-session-link+.hero-note { margin-top:10px; }
.footer-contact { display:flex; align-items:center; flex-wrap:wrap; gap:4px 28px; margin-top:26px; font-style:normal; }
.footer-contact a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#d5dee7; font-size:.9rem; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#718191; overflow-wrap:anywhere; }
.footer-contact a:hover { text-decoration-color:currentColor; }
.footer-contact+.footer-bottom { margin-top:20px; }
@media(max-width:1000px) {
  .menu-toggle { width:44px; height:44px; }
}
@media(max-width:600px) {
  .header-inner { gap:8px; }
  .site-header .header-contact { min-height:44px; padding-inline:12px; gap:7px; font-size:.73rem; }
  .header-contact .contact-icon { width:16px; height:16px; }
  .header-phone-label { display:none; }
  .header-call-label { display:inline; }
  .hero-contact { margin-top:22px; }
  .hero-contact .hero-actions { gap:10px; }
  .hero-contact .btn { min-height:56px; padding-inline:12px; gap:8px; font-size:.8rem; }
  .hero-contact .contact-icon { width:18px; height:18px; }
  .hero-email { font-size:.8rem; }
  .hero-contact+.hero-lead { margin-top:16px; }
  .hero-session-link { font-size:.82rem; }
  .booking-dock:not([hidden]) { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  .booking-dock .btn { min-height:46px; padding-inline:12px; gap:8px; font-size:.8rem; }
  .footer-contact { flex-direction:column; align-items:flex-start; gap:0; }
}
@media(max-width:370px) {
  .hero-contact .btn { padding-inline:8px; gap:6px; font-size:.77rem; }
  .hero-contact .contact-icon { width:16px; height:16px; }
  .hero-call small { font-size:.62rem; }
  .booking-dock .btn { font-size:.74rem; }
}
