/* IT activity: shared typography and palette from the landing page. */
.activity { padding: 112px 0 80px; }
.activity__heading { margin-bottom: 48px; }
.activity__back { display: inline-block; margin-bottom: 24px; color: var(--color-dark-gray); font-size: 14px; }
.activity__back:hover { color: var(--color-primary); }
.activity h1 { max-width: 850px; font-family: var(--font-family-serif); font-size: clamp(32px, 4vw, 48px); font-weight: 400; line-height: 1.2; margin-bottom: 16px; }
.activity__date, .activity__note { color: var(--color-dark-gray); }
.activity__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; }
.activity__sidebar { position: sticky; top: 92px; }
.activity__nav-title { margin-bottom: 16px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--color-dark-gray); }
.activity__nav ol { list-style: none; }
.activity__nav li + li { margin-top: 4px; }
.activity__nav a { display: block; padding: 10px 12px; border-left: 2px solid var(--color-border); font-size: 14px; line-height: 1.5; transition: background-color .15s, border-color .15s; }
.activity__nav a:hover { background: var(--color-light-gray); }
.activity__nav a[aria-current="location"] { background: var(--color-light-gray); border-color: var(--color-primary); font-weight: 600; }
.activity__documents { display: grid; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--color-border); }
.activity__documents .btn { justify-content: space-between; gap: 12px; padding: 14px 18px; border-width: 1px; border-radius: 20px; font-size: 13px; line-height: 1.5; font-weight: 500; }
.activity__section { scroll-margin-top: 92px; }
.activity__section + .activity__section { margin-top: 48px; }
.activity h2 { margin-bottom: 20px; font-size: 24px; font-weight: 500; line-height: 1.35; }
.activity__note { margin-bottom: 20px; font-size: 14px; }
.activity__table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; line-height: 1.65; }
.activity__table th, .activity__table td { padding: 16px 18px; border: 1px solid var(--color-border); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.activity__table thead { background: var(--color-light-gray); }
.activity__table th { font-weight: 500; }
.activity__table th:first-child { width: 32%; }
.activity__table--codes th:first-child { width: 108px; }
.activity__content a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.activity__content a:hover { color: var(--color-dark-gray); }
.activity__company { margin-top: 24px; color: var(--color-dark-gray); font-size: 14px; }
.activity a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.activity__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1024px) {
    .activity__layout { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 768px) {
    .activity { padding: 96px 0 48px; }
    .activity__heading { margin-bottom: 32px; }
    .activity__layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .activity__sidebar { position: static; }
    .activity__documents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .activity h2 { font-size: 21px; }
    .activity__table th, .activity__table td { padding: 12px; }
    .activity__table--codes th:first-child { width: 86px; }
}
@media (max-width: 420px) {
    .activity__documents { grid-template-columns: minmax(0, 1fr); }
    .activity__table { font-size: 13px; }
    .activity__table th, .activity__table td { padding: 10px; }
    .activity__table th:first-child { width: 35%; }
    .activity__table--codes th:first-child { width: 78px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .activity__nav a { transition: none; }
}
