/* Shared geometry; each site supplies its own existing color and font tokens. */
.related-services { width:min(calc(100% - 2.25rem),1180px); margin:3rem auto; padding-block:2rem; border-top:1px solid var(--line); scroll-margin-top:1.5rem; }
.related-services-heading h2 { margin:0; font-size:1.35rem; font-weight:700; line-height:1.5; }
.related-services-heading p { margin:.5rem 0 1.25rem; color:var(--muted); }
.related-services-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.related-services-list li { min-width:0; }
.related-service-card { display:flex; flex-direction:column; height:100%; padding:1.25rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
.related-service-card.is-current { background:var(--paper); }
.related-service-purpose { font-size:.8rem; font-weight:700; color:var(--muted); }
.related-service-card strong { margin:.4rem 0; font-size:1.08rem; }
.related-service-card p { margin:0 0 1rem; font-size:.9rem; }
.related-service-card small { margin-top:auto; font-size:.85rem; font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
.related-service-card.is-current small { text-decoration:none; color:var(--muted); }
.related-service-card:hover { border-color:var(--ink); }
.related-service-card:focus-visible,.related-service-context a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.related-services-note { margin:1rem 0 0; color:var(--muted); font-size:.8rem; }
.related-service-context { padding:1.25rem; margin:1.5rem 0 0; border:1px solid var(--line); border-left:3px solid var(--ink); background:var(--surface); color:var(--ink); }
.related-service-context h3 { margin:0; font-size:1.1rem; }
.related-service-context p { margin:.6rem 0; font-size:.95rem; }
.related-service-context a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; gap:.5rem; }
main > .related-service-context { width:min(calc(100% - 2.25rem),1180px); margin:2rem auto; }
@media(max-width:760px) { .related-services-list { grid-template-columns:minmax(0,1fr); } }
@media print { .related-services,.related-service-context { display:none; } }
