/* Category-only typography. Loaded only for an active category template. */
.so-category-page.so-category-archive{
 --heading-font:Arial,sans-serif;
 --body-font:SOCTRoboto,Roboto,Arial,sans-serif;
 font-family:var(--body-font);font-size:16px;font-weight:400;
}
.so-category-archive .content p,
.so-category-archive .content li,
.so-category-archive .band-inner p:not(.eyebrow):not(.section-label),
.so-category-archive .band-inner li,
.so-category-archive .hero p:not(.eyebrow){font-family:var(--body-font);font-size:16px;font-weight:400}
.so-category-archive .content p,
.so-category-archive .band-inner p:not(.eyebrow):not(.section-label),
.so-category-archive .hero p:not(.eyebrow){margin-bottom:1.5em}
.so-category-page.so-category-archive h1,
.so-category-page.so-category-archive h2,
.so-category-page.so-category-archive h3,
.so-category-page.so-category-archive h4,
.so-category-page.so-category-archive h5,
.so-category-page.so-category-archive h6{font-family:Arial,sans-serif}
.so-category-page.so-category-archive h1{font-size:42px;font-weight:700}
.so-category-page.so-category-archive h2{font-size:32px;font-weight:600}
.so-category-page.so-category-archive h3{font-size:24px;font-weight:600}
.so-category-page.so-category-archive h4{font-size:20px;font-weight:500}
.so-category-page.so-category-archive h5{font-size:18px;font-weight:500}
.so-category-page.so-category-archive h6{font-size:16px;font-weight:500}
/* Tables stay readable on every viewport; preserve horizontal scrolling. */
.so-category-page.so-category-archive table,
.so-category-page.so-category-archive th,
.so-category-page.so-category-archive td{font-family:var(--body-font);font-size:16px}
.so-category-page.so-category-archive td{font-weight:400}
.so-category-page.so-category-archive th{font-weight:600}
.so-category-page.so-category-archive td p,
.so-category-page.so-category-archive th p{font-size:16px;font-weight:inherit}
@media(max-width:921px){
 .so-category-page.so-category-archive h1{font-size:36px}
 .so-category-page.so-category-archive h2{font-size:28px}
 .so-category-page.so-category-archive h3{font-size:21px}
 .so-category-page.so-category-archive h4{font-size:18px}
 /* H5/H6 retain their desktop sizes at the tablet breakpoint. */
}
@media(max-width:544px){
 .so-category-page.so-category-archive h1{font-size:30px}
 .so-category-page.so-category-archive h2{font-size:25px}
 .so-category-page.so-category-archive h3{font-size:20px}
 .so-category-page.so-category-archive h4{font-size:18px}
 .so-category-page.so-category-archive h5,
 .so-category-page.so-category-archive h6{font-size:16px}
}
/* Deliberate card exception: semantic H3, 20px on all three viewports. */
.so-category-page.so-category-archive .card h3{font-size:20px;font-weight:600;line-height:1.35;margin:0 0 12px}
/* Only tablet application tiles change size; desktop and phone rules remain. */
@media(min-width:545px) and (max-width:921px){
 .so-category-page.so-category-archive .application-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;gap:18px 16px}
 .so-category-page.so-category-archive .application-grid .application-image{height:150px;aspect-ratio:auto;margin-bottom:10px}
 .so-category-page.so-category-archive .application-grid .application-item{min-width:0}
 .so-category-page.so-category-archive .application-grid strong{line-height:1.5}
}
