/* Short responses to deliberate interaction; content is always visible by default. */
.btn,.location-call,.mobile-call,.article-card,
button:not(.menu-button):not(.choice-button){transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}

.prose a,.footer a:not(.brand),.breadcrumbs a,.location-maps,.location-guide-links a,
.home-location-form>a,.link-arrow{transition:color .18s ease,text-decoration-color .18s ease,text-underline-offset .18s ease,border-color .18s ease,gap .18s ease}

details>summary{transition:color .18s ease}
details>summary:active{color:var(--deep)}

/* Two centered strokes morph between plus and minus without shifting the label. */
.treatment details>summary::after,.treatment details[open]>summary::after,
.faq details>summary::after,.faq details[open]>summary::after,
.location-card .location-details>summary::after,.location-card .location-details[open]>summary::after{
  content:'';display:block;width:20px;height:20px;flex:0 0 20px;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-position:center;background-repeat:no-repeat;background-size:14px 2px,2px 14px;
  transition:background-size .2s ease;
}
.treatment details[open]>summary::after,.faq details[open]>summary::after,
.location-card .location-details[open]>summary::after{background-size:14px 2px,2px 0}
.treatment details[data-motion-open=false]>summary::after,.faq details[data-motion-open=false]>summary::after,
.location-card .location-details[data-motion-open=false]>summary::after{background-size:14px 2px,2px 14px}

@media(hover:hover) and (pointer:fine){
  .article-card:hover{transform:translateY(-3px)}
  .prose a:hover,.footer a:not(.brand):hover,.breadcrumbs a:hover,.location-maps:hover,
  .home-location-form>a:hover{text-decoration-color:var(--coral);text-underline-offset:6px}
  .location-guide-links a:hover,.link-arrow:hover{border-bottom-color:var(--coral)}
}

.article-card:focus-visible{transform:translateY(-2px)}
.prose a:focus-visible,.footer a:not(.brand):focus-visible,.breadcrumbs a:focus-visible,
.location-maps:focus-visible{text-decoration-color:var(--coral);text-underline-offset:6px}
.btn:active,.location-call:active,.mobile-call:active,
button:not(.menu-button):not(.choice-button):active{transform:translateY(1px)}
.article-card:active{transform:translateY(0)}

@media(prefers-reduced-motion:reduce){
  .btn,.location-call,.mobile-call,.article-card,details>summary,
  button:not(.menu-button):not(.choice-button),
  .prose a,.footer a:not(.brand),.breadcrumbs a,.location-maps,.location-guide-links a,
  .home-location-form>a,.link-arrow{transition:none}
  .article-art img,.article-art svg,
  .treatment details>summary::after,.treatment details[open]>summary::after,
  .faq details>summary::after,.faq details[open]>summary::after,
  .location-card .location-details>summary::after,.location-card .location-details[open]>summary::after{transition:none}
  .btn:hover,.btn:active,.location-call:active,.mobile-call:active,.article-card:hover,.article-card:focus-visible,
  .article-card:hover .article-art img,.article-card:hover .article-art svg,
  .article-card:active,button:not(.menu-button):not(.choice-button):active{transform:none}
}
