.service-shortcuts { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.5rem; }
.service-shortcuts a { padding:.65rem 1rem; border:1px solid #c576a0; border-radius:2rem; background:#fff; color:#81355f; text-decoration:none; font-weight:650; }
.service-shortcuts a:hover { background:#fce9f3; }
.service-catalog { align-items:start; }
.service-catalog > article { min-width:0; }
.service-catalog h3 a { color:inherit; text-decoration:none; }
.service-catalog h3 a:hover { text-decoration:underline; }
.service-more { margin-top:1rem; border-top:1px solid #e9cedf; padding-top:.8rem; }
.service-more summary { cursor:pointer; color:#81355f; font-weight:650; padding:.35rem 0; min-height:44px; }
.service-more[open] summary { margin-bottom:.7rem; }
.service-more .text-link { display:inline-block; padding:.6rem 0; }
.service-welcome { background:linear-gradient(120deg,#fdf0f7,#eefafa); padding:clamp(1rem,3vw,2rem); border-radius:1.2rem; }
main [id] { scroll-margin-top:8rem; }
.service-catalog p,.service-welcome p { text-align:left; }
.service-catalog a,.service-catalog summary { overflow-wrap:anywhere; }
main .contact-list a { overflow-wrap:anywhere; }
.service-catalog :focus-visible,.service-shortcuts a:focus-visible { outline:3px solid #16809a; outline-offset:4px; border-radius:.3rem; }
.service-catalog article:target,.service-more:target { outline:2px solid #ba4e8a; outline-offset:6px; }
@media (prefers-reduced-motion:no-preference) { .service-shortcuts a { transition:background .15s ease; } }
