/* Shared subpage feedback. Family layouts keep their own spacing and geometry. */
body.slf-site #main :is(.step-number, .step-num) {
  background: var(--slf-deep);
  color: white;
  border-color: var(--slf-deep);
  box-shadow: 0 3px 0 #d4a84355;
}
body.slf-site #main [data-slf-card] {
  transition: background-color .24s, color .24s, border-color .24s,
    box-shadow .3s var(--slf-ease), translate .35s var(--slf-ease),
    opacity .45s var(--slf-ease) var(--slf-reveal-delay, 0ms),
    transform .55s var(--slf-ease) var(--slf-reveal-delay, 0ms);
}
body.slf-site #main [data-slf-reveal]:focus-within { opacity: 1; transform: none; transition: none; }
body.slf-site #main [data-slf-card]:focus-within {
  border-color: var(--slf-gold);
  box-shadow: 0 12px 30px #67254f18, inset 0 3px 0 var(--slf-gold);
}
body.slf-site #main [data-slf-card="feature"]:focus-within {
  background: var(--slf-deep);
  color: white;
}
body.slf-site #main [data-slf-card="feature"]:focus-within * { color: inherit; }
body.slf-site #main [data-slf-card="feature"]:focus-within :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary) { background: var(--slf-gold); color: var(--slf-deep); border-color: var(--slf-gold); }
body.slf-site #main [data-slf-card="feature"]:focus-within :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary):is(:hover,:focus-visible) { background: white; color: var(--slf-deep); border-color: white; }
body.slf-site #main [data-slf-card="feature"]:focus-within :is(.step-number,.step-num) { background: var(--slf-gold); border-color: var(--slf-gold); color: var(--slf-deep); }
body.slf-site #main [data-slf-card="feature"]:focus-within :focus-visible { outline-color: var(--slf-gold); }
body.slf-site #main [data-slf-card="quiet"]:focus-within { background: #fffaf0; }
@media (hover: hover) and (pointer: fine) {
  body.slf-site #main [data-slf-card]:hover {
    translate: 0 -4px;
    border-color: var(--slf-gold);
    box-shadow: 0 12px 30px #67254f18, inset 0 3px 0 var(--slf-gold);
  }
  body.slf-site #main [data-slf-card="feature"]:hover { background: var(--slf-deep); color: white; }
  body.slf-site #main [data-slf-card="feature"]:hover * { color: inherit; }
  body.slf-site #main [data-slf-card="feature"]:hover :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary) { background: var(--slf-gold); color: var(--slf-deep); border-color: var(--slf-gold); }
  body.slf-site #main [data-slf-card="feature"]:hover :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary):is(:hover,:focus-visible) { background: white; color: var(--slf-deep); border-color: white; }
  body.slf-site #main [data-slf-card="feature"]:hover :is(.step-number,.step-num) { background: var(--slf-gold); border-color: var(--slf-gold); color: var(--slf-deep); }
  body.slf-site #main [data-slf-card="quiet"]:hover { background: #fffaf0; }
}
/* Feedback on actual controls, with no extra tab stops or false click targets. */
body.slf-site:not(.slf-home) #main :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary,.cf-submit,.router-actions button) {
  transition: background-color .22s, color .22s, border-color .22s,
    box-shadow .25s, translate .3s var(--slf-ease);
}
body.slf-site:not(.slf-home) #main :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary,.cf-submit,.router-actions button):focus-visible { box-shadow: 0 6px 18px #67254f24; }
@media (hover: hover) and (pointer: fine) {
  body.slf-site:not(.slf-home) #main :is(.slf-button,.btn-gold,.btn-outline,.btn-primary,.btn-secondary,.cf-submit,.router-actions button):hover { translate: 0 -2px; box-shadow: 0 6px 18px #67254f24; }
}
body.slf-site:not(.slf-home) #main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus-visible {
  border-color: var(--slf-purple);
  outline: 2px solid var(--slf-purple);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #d4a84326;
}
body.slf-site:not(.slf-home) #main :is(summary,.fq-q) { transition: color .2s, background-color .2s; }
body.slf-site:not(.slf-home) #main :is(summary,.fq-q):is(:hover,:focus-visible) { color: var(--slf-deep); background-color: var(--slf-tint); }
body.slf-site:not(.slf-home) #main :is(summary,.fq-q) :is(svg,.icon) { transition: rotate .3s var(--slf-ease), color .2s; }
@media (prefers-reduced-motion: reduce) {
  body.slf-site #main [data-slf-card],
  body.slf-site:not(.slf-home) #main :is(a,button) { translate: none !important; }
}
@media print {
  body.slf-site #main [data-slf-card] { translate: none; box-shadow: none; }
}

/* Native independent disclosures share the practice-page question treatment. */
body.slf-site #main details:is(.faq-item,.fq-item) > summary:is(.faq-question,.fq-q) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 44px;
  padding-block: 1.4rem;
  list-style: none;
  cursor: pointer;
  color: var(--slf-ink);
  font: 600 1rem/1.65 var(--slf-font);
}
body.slf-site #main details:is(.faq-item,.fq-item) > summary:is(.faq-question,.fq-q)::-webkit-details-marker { display: none; }
body.slf-site #main details:is(.faq-item,.fq-item) > summary:is(.faq-question,.fq-q) svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  fill: none;
  stroke: var(--slf-purple);
  stroke-width: 2;
  transition: transform .25s var(--slf-ease);
}
body.slf-site #main details:is(.faq-item,.fq-item)[open] > summary:is(.faq-question,.fq-q) { color: var(--slf-purple); }
body.slf-site #main details:is(.faq-item,.fq-item)[open] > summary:is(.faq-question,.fq-q) svg { transform: rotate(45deg); }
