/* Related brand links: scoped additions; existing site styles stay unchanged. */
.related-sites { padding: 64px 7vw; border-block: 1px solid rgba(32,40,32,.16); background: var(--paper,#f5f1e9); }
.related-sites__intro { max-width: 780px; margin-bottom: 28px; }
.related-sites h2 { margin: 10px 0 18px; font-size: clamp(28px,3vw,42px); line-height: 1.3; }
.related-sites p { line-height: 1.8; }
.related-sites__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.related-sites__grid article { min-width: 0; padding-top: 20px; border-top: 1px solid rgba(32,40,32,.2); }
.related-sites__grid h3 { margin: 0 0 10px; font-size: 24px; }
.related-sites__grid p { margin: 0 0 12px; }
.related-link { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; min-height: 44px; max-width: 100%; padding-block: 7px; color: inherit; line-height: 1.6; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.related-link small { font-size: 12px; font-weight: 400; }
.related-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; border-radius: 2px; }
.related-sites__overseas { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(32,40,32,.16); }
.related-brand-list { margin: 20px 0; padding-left: 1.2em; }
.related-brand-list li { margin: 12px 0; line-height: 1.8; }
.footer-related-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 14px; }
.footer-related-links a { display: inline-flex; align-items: center; flex-wrap: wrap; min-height: 44px; gap: 4px; color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.footer-related-links a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.footer-related-links small { font-size: 10px; opacity: .78; }
@media(max-width:1000px) { .related-sites__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .related-sites { padding: 48px 7vw; } .related-sites__grid { grid-template-columns: minmax(0,1fr); gap: 20px; } }
