/* Extensions for the remaining practice details and hub; PI stays unchanged. */
.slf-practice-other .hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.slf-practice-other .hero-cta > a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; }
@media (max-width: 600px) {
  .slf-practice-other .hero-cta { flex-direction: column; align-items: stretch; }
}
.slf-practice-other :is(.highlight-box, .source-note, .coverage-note) {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  margin-block: 2rem;
  background: var(--slf-tint);
  border-left: 3px solid var(--slf-gold);
}
.slf-practice-other :is(.highlight-box, .source-note, .coverage-note) h3 { color: var(--slf-deep); }
.slf-practice-other :is(.highlight-box, .source-note, .coverage-note) p:last-child { margin: 0; padding: 0; border: 0; }
.slf-practice-other .highlight-box ul { padding-left: 1.2rem; }
.slf-practice-other .highlight-box li + li { margin-top: .8rem; }
.slf-practice-other :is(.rules-guide, .preservation) { padding-block: clamp(3rem, 6vw, 5rem); }
.slf-practice-other :is(.rules-guide-inner, .preservation-inner) { width: min(100% - 3rem, 72rem); margin-inline: auto; }
.slf-practice-other :is(.rules-guide-header, .preservation-header) { max-width: 50rem; margin-bottom: 2.5rem; }
.slf-practice-other .rule-row { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; padding-block: 1.75rem; border-top: 1px solid var(--slf-border); }
.slf-practice-other .rule-row h3 { color: var(--slf-purple); }
.slf-practice-other .rule-row p { margin: 0; }
.slf-practice-other .preservation { background: var(--slf-tint); }
.slf-practice-other .preservation-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.slf-practice-other .preservation-step { padding-top: 1.5rem; border-top: 2px solid var(--slf-purple); }
.slf-practice-other .preservation-step h3 { color: var(--slf-purple); }
.slf-practice-other .coverage-note { background: white; }
.slf-practice-other .source-note strong { display: block; margin-bottom: 1rem; color: var(--slf-deep); }
.slf-practice-other .page-cta-btns svg { width: 18px; height: 18px; }
@media (hover: hover) {
  .slf-practice-other .svc-card:hover a { color: white; }
}

.slf-practice-hub :is(.wwd-intro, .wwd-areas, .wwd-why) { padding-block: clamp(3rem, 6vw, 5rem); }
.slf-practice-hub :is(.wwd-intro-inner, .wwd-areas-inner, .wwd-why-inner, .hub-cta-inner) { width: min(100% - 3rem, 72rem); margin-inline: auto; }
.slf-practice-hub .wwd-intro-inner { max-width: 50rem; }
.slf-practice-hub .wwd-areas { background: var(--slf-tint); }
.slf-practice-hub .wwd-subtitle { max-width: 50rem; margin-bottom: 2rem; }
.slf-practice-hub .wwd-grid { display: grid; gap: 1.5rem; }
.slf-practice-hub .wwd-card { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2.5rem; padding: clamp(1.5rem, 3vw, 2.5rem); background: white; border: 1px solid var(--slf-border); }
.slf-practice-hub .wwd-card h3 { color: var(--slf-purple); }
.slf-practice-hub .wwd-card-overview { min-width: 0; }
.slf-practice-hub .wwd-card-icon svg { width: 32px; height: 32px; margin-bottom: 1.25rem; fill: none; stroke: var(--slf-purple); stroke-width: 1.6; }
.slf-practice-hub .wwd-card ul { padding-left: 1.2rem; margin: 0; }
.slf-practice-hub .wwd-card li + li { margin-top: .6rem; }
.slf-practice-hub .wwd-card-actions { min-width: 0; align-self: start; display: grid; gap: .75rem; }
.slf-practice-hub .wwd-card:first-child .wwd-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.slf-practice-hub .wwd-card-link { display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-width: 0; min-height: 52px; padding: .8rem 1rem; background: var(--slf-tint); border: 1px solid var(--slf-border); font-weight: 600; font-size: 1rem; line-height: 1.6; }
.slf-practice-hub .wwd-card-link svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.slf-practice-hub .wwd-card-link:focus-visible { outline: 2px solid var(--slf-gold); outline-offset: 3px; }
.slf-practice-hub .wwd-card-link:focus-within svg { stroke: var(--slf-gold); }
.slf-practice-hub .wwd-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem; }
.slf-practice-hub .wwd-why-card { border-top: 2px solid var(--slf-purple); padding-top: 1.5rem; }
.slf-practice-hub .wwd-why-card h3 { color: var(--slf-purple); }
.slf-practice-hub .hub-cta-inner { max-width: 50rem; }
@media (hover: hover) and (pointer: fine) {
  .slf-practice-hub .wwd-card-link:hover svg { stroke: var(--slf-gold); }
}
@media (max-width: 800px) {
  .slf-practice-other :is(.rule-row, .preservation-steps),
  .slf-practice-hub :is(.wwd-card, .wwd-why-grid),
  .slf-practice-hub .wwd-card:first-child .wwd-card-actions { grid-template-columns: 1fr; }
  .slf-practice-other .rule-row { gap: 0; }
  .slf-practice-hub .wwd-card { gap: 1.5rem; }
  .slf-practice-hub .hub-cta-inner h2 { margin-bottom: 1.5rem; }
  .slf-practice-hub .hub-cta-inner .page-cta-btns { margin-top: 1.5rem; }
}
@media (max-width: 380px) {
  .slf-practice-other :is(.rules-guide-inner, .preservation-inner),
  .slf-practice-hub :is(.wwd-intro-inner, .wwd-areas-inner, .wwd-why-inner, .hub-cta-inner) { width: calc(100% - 2rem); }
}
