.company-page main .company-text-link { color: var(--palette-primary, #081b33); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.company-page main .company-text-link:hover { color: var(--palette-accent-ink, #a94f00); }
.company-page main [id] { scroll-margin-top: 200px; }
.company-page main .card p:last-child { margin-bottom: 0; }
.company-page main .grid-4 .card { padding: 24px; }
.company-page main .grid-4 .card h3 { font-size: 1.2rem; }
.company-page main .navy a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.association-card { display: flex; flex-direction: column; min-width: 0; border-top: 3px solid var(--orange); }
.association-logo { display: flex; align-items: center; justify-content: flex-start; height: 90px; margin-bottom: 24px; }
.association-logo img { width: 220px; max-width: 100%; height: 80px; object-fit: contain; object-position: left center; }
.association-acronym { color: var(--navy); font-size: 3.2rem; font-weight: 850; letter-spacing: -.05em; }
.association-card .association-role { margin: 0 0 8px; color: var(--palette-accent-ink, #865009); font-size: .8125rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.association-card h3 { margin-bottom: 6px; font-size: 1.65rem; }
.association-card .association-name { margin: 0 0 18px; color: var(--navy); font-size: .9375rem; font-weight: 650; }
.association-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: auto; padding-top: 24px; }
.association-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: .9375rem; }
.association-links a:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.association-enquiry { max-width: 860px; margin: 28px auto 0; color: var(--muted); text-align: center; }
