.care-carousel{min-width:0;margin:36px 0;background:transparent}
.care-viewport{overflow:hidden;touch-action:pan-y}
.care-track{display:grid}
.care-slide{grid-area:1 / 1;min-width:0;margin:0;position:relative;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s;pointer-events:none}
.care-slide[aria-hidden="false"]{opacity:1;visibility:visible;z-index:1}
.care-slide img{display:block;width:100%;height:410px;object-fit:cover;object-position:center;border-radius:40% 40% 12% 12% / 18% 18% 8% 8%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 78%,transparent),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 78%,transparent),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.care-slide figcaption{position:relative;padding:0 20px 8px;text-align:center;color:var(--dark-teal);font-family:"Playfair Display",serif;font-size:21px;line-height:1.4}
.care-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 8px;background:transparent}
.care-controls[hidden]{display:none}
.care-controls button{border:1px solid #277b7630;border-radius:50%;background:var(--pale);color:var(--dark-teal);min-width:44px;min-height:44px;padding:8px 12px;font:600 13px "DM Sans",sans-serif;cursor:pointer}
.care-controls button:hover{background:#deefeb}
.care-controls button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.care-count{font-size:13px;color:var(--teal);white-space:nowrap}
.care-controls .care-pause{border-radius:24px;background:transparent;margin-left:8px}
@media(max-width:800px){.care-carousel{margin:0 0 32px}.care-slide img{height:420px}}
@media(max-width:520px){.care-slide img{height:340px}.care-controls{gap:8px;padding:10px 0}.care-slide figcaption{font-size:19px;padding:0 12px 8px}}
@media(prefers-reduced-motion:reduce){.care-slide{transition:none}}

.visit-art.visit-photo{height:auto;aspect-ratio:5 / 4;border-radius:24px;background:var(--pale)}
.visit-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:520px){.visit-art.visit-photo{aspect-ratio:4 / 3;border-radius:18px}}



.home-contact{margin-top:30px;scroll-margin-top:100px;display:grid;gap:16px}
.contact-row{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;align-items:center}
.contact-row .contact-symbol{display:block;width:30px;text-align:center;font-size:26px;line-height:1}
.contact-details{display:grid;gap:4px;font-size:13px;min-width:0}
.contact-details a{color:white;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline}
.contact-schedule{margin-left:42px;font-size:13px;line-height:1.7}
.contact-schedule strong{display:block;margin-bottom:6px}
.contact-schedule p{margin:0;color:#deeff5}

.appointment-date-field{display:grid;gap:7px;min-width:0}.appointment-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.appointment-date-row input{width:100%;min-width:0}.appointment .appointment-date-row button{margin:0;width:auto;white-space:nowrap}

.appointment .calendar-icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px}.calendar-icon-button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
