#contact.appointment-section{background:var(--pale);padding:80px 0}#contact .appointment-heading{max-width:760px;margin-bottom:32px}#contact h2{margin:12px 0 16px}#contact .appointment-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}#contact .appointment-card,#contact .appointment-location{background:white;border:1px solid var(--line);border-radius:14px;padding:30px}#contact dl{margin:0}#contact dl>div{display:grid;grid-template-columns:90px 1fr;gap:18px;margin-bottom:17px}#contact dt{color:var(--muted);font-size:12px}#contact dd{margin:0;font-weight:500}#contact dd a{color:var(--deep);font-weight:600}#contact .appointment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}#contact .appointment-hours{font-size:12px;color:var(--muted);margin:20px 0 0}#contact .appointment-location{background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}#contact .appointment-location h3{font-size:22px;line-height:1.4;margin:14px 0 4px}#contact .appointment-location p{max-width:330px;margin-bottom:24px}#contact .appointment-process{margin-top:36px}#contact .appointment-process h3{font-size:20px}#contact .appointment-process ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0}#contact .appointment-process li{display:flex;gap:13px;border-top:1px solid #cfdddd;padding-top:18px}#contact .appointment-process li>span{font-size:12px;color:#338285;font-weight:600;padding-top:3px}#contact h4{font-size:14px;margin:0 0 6px}#contact .appointment-process p{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}#contact .appointment-note{font-size:12px;line-height:1.8;color:var(--muted);padding-top:22px;border-top:1px solid #cfdddd;margin-top:28px}.mobile-appointment{display:none}a[href^="tel:"],a[href*="wa.me/"]{touch-action:manipulation}.appointment-section a:focus-visible,.mobile-appointment a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:767px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}#contact.appointment-section{padding:50px 0}#contact .appointment-grid{grid-template-columns:1fr;gap:16px}#contact .appointment-card,#contact .appointment-location{padding:23px}#contact dl>div{grid-template-columns:1fr;gap:2px;margin-bottom:16px}#contact .appointment-actions{display:grid;grid-template-columns:1fr}#contact .appointment-process ol{grid-template-columns:1fr;gap:18px}#contact .appointment-location h3{font-size:20px}.mobile-appointment{position:fixed;top:auto;bottom:0;box-shadow:none;left:0;right:0;z-index:80;display:grid;grid-template-columns:1.3fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line)}.mobile-appointment .btn{min-height:48px;padding:10px 14px}body:has(dialog[open]) .mobile-appointment,body:has(:fullscreen) .mobile-appointment{display:none}} 
