:root {
    --brand:#cc0000;
    --red:#cc0000;
    --ink:#222222;
    --muted:#555555;
    --border:#d8d8d8;
    --paper:#ffffff
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:20px
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Arial,"Helvetica Neue",sans-serif;
    font-size:16px;
    line-height:1.75;
    -webkit-text-size-adjust:100%
}
a {
    color:var(--brand);
    text-decoration:none
}
a:hover {
    color:#cb1525;
    text-decoration:underline
}
img {
    max-width:100%;
    height:auto;
    vertical-align:middle
}
button,input,select,textarea {
    font:inherit
}
button,summary {
    cursor:pointer
}
h1,h2,h3,h4,p {
    margin-top:0
}
h1,h2,h3,h4 {
    line-height:1.35
}
h1 {
    font-size:27px
}
h2 {
    font-size:22px
}
h3 {
    font-size:18px
}
p {
    margin-bottom:14px
}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
    outline:3px solid #db851a;
    outline-offset:3px
}
.container {
    width:min(1200px,calc(100% - 40px));
    margin-inline:auto
}
.sr-only,.screen-reader-text {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap
}
.skip-link {
    position:fixed;
    top:8px;
    left:8px;
    background:#222;
    color:#fff;
    padding:10px 20px;
    z-index:100;
    transform:translateY(-160%)
}
.skip-link:focus {
    transform:none
}
.topbar {
    border-bottom:1px solid var(--border);
    font-size:11px;
    background:#f7f7f7
}
.topbar .container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-block:8px
}
.site-header {
    background:#fff
}
.masthead {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:98px
}
.brand {
    display:flex;
    align-items:center;
    gap:10px
}
.brand:hover {
    text-decoration:none
}
.brand-mark {
    width:51px;
    height:51px;
    display:grid;
    place-items:center;
    background:var(--brand);
    border-radius:0;
    transform:skew(-8deg);
    font-size:29px;
    font-weight:900;
    color:#fff;
    letter-spacing:-3px;
    border-bottom:5px solid var(--red)
}
.brand-word {
    font-size:39px;
    font-weight:800;
    font-style:italic;
    color:var(--red);
    line-height:1;
    letter-spacing:-2px
}
.brand-word strong {
    color:var(--brand);
    font-size:43px
}
.brand-word small {
    display:block;
    font-size:8px;
    font-style:normal;
    color:var(--muted);
    letter-spacing:1.4px;
    margin-top:10px;
    font-weight:600
}
.header-caption {
    font-size:12px;
    line-height:1.8;
    text-align:right;
    color:#555555
}
.header-caption span {
    font-size:11px;
    color:var(--muted)
}
.menu-toggle {
    display:none
}
.nav-wrap {
    background:var(--brand)
}
.primary-nav {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:49px
}
.nav-links {
    display:flex;
    list-style:none;
    gap:0;
    padding:0;
    margin:0;
    color:#fff;
    font-size:13px;
    align-items:stretch
}
.nav-links>li {
    position:relative
}
.nav-links>li>a,.nav-dropdown>summary {
    display:block;
    color:#fff;
    padding:15px 16px;
    line-height:20px;
    white-space:nowrap
}
.nav-links>li>a:hover,.nav-dropdown>summary:hover {
    background:#cc0000;
    text-decoration:none
}
.nav-links a[aria-current=page],.nav-links .current-menu-item>a {
    background:var(--red)
}
.nav-dropdown summary {
    list-style:none
}
.nav-dropdown summary::-webkit-details-marker {
    display:none
}
.nav-dropdown>summary {
    display:flex;
    align-items:center;
    gap:10px
}
.nav-dropdown>summary:after {
    content:"";
    display:block;
    flex:0 0 7px;
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg)
}
.nav-dropdown[open]>summary:after {
    transform:translateY(2px) rotate(225deg)
}
.nav-dropdown[open]>summary {
    background:#cc0000
}
.sub-menu {
    position:absolute;
    top:100%;
    left:0;
    width:240px;
    max-height:65vh;
    overflow-y:auto;
    z-index:20;
    padding:6px 0;
    margin:0;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:none;
    list-style:none
}
.sub-menu li+li {
    border-top:1px solid #f0f1f2
}
.sub-menu a {
    display:block;
    padding:9px 13px;
    font-size:12px;
    color:#222222
}
.nav-links>li>ul.sub-menu {
    display:none
}
.nav-links>li:hover>ul.sub-menu,.nav-links>li:focus-within>ul.sub-menu {
    display:block
}
.nav-search {
    color:#fff;
    font-size:30px;
    padding:0 10px;
    line-height:1
}
.nav-search:hover {
    color:#fff;
    text-decoration:none
}
.page-shell {
    padding-block:16px 40px;
    min-height:65vh
}
.content-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px 280px;
    gap:16px;
    align-items:start
}
.primary-content,.sidebar-navigation,.sidebar-numbers {
    min-width:0
}
.sidebar-navigation,.sidebar-numbers {
    display:grid;
    gap:16px
}
.portal-panel,.portal-widget,.panel {
    background:#fff;
    border:1px solid var(--border);
    border-radius:0;
    box-shadow:none;
    overflow:hidden
}
.portal-panel {
    margin-bottom:17px
}
.portal-title {
    font-size:17px;
    font-weight:700;
    text-transform:uppercase;
    color:#222222;
    padding:12px 14px;
    margin:0;
    border-bottom:1px solid var(--border);
    line-height:1.4;
    background:#fff;
    position:relative
}
.portal-title:before {
    content:"";
    width:4px;
    height:16px;
    background:var(--red);
    display:inline-block;
    margin-right:10px;
    vertical-align:-2px
}
.portal-title a {
    color:inherit
}
.portal-panel-body {
    padding:13px 14px
}
.portal-panel-body>p {
    line-height:1.65;
    text-align:left
}
.portal-panel-body>p:last-child {
    margin-bottom:0
}
.portal-panel-body h3 {
    font-size:16px;
    color:var(--brand);
    margin-bottom:10px
}
.portal-widget h2 {
    margin:0;
    padding:11px 13px;
    color:var(--brand);
    font-size:13px;
    text-transform:uppercase;
    border-bottom:1px solid var(--border);
    line-height:1.4
}
.portal-link-list {
    padding:7px 13px 10px;
    margin:0;
    list-style:none
}
.portal-link-list li {
    padding:7px 0;
    font-size:13px;
    line-height:1.5
}
.portal-link-list a {
    color:#222222;
    display:block;
    position:relative;
    padding-left:13px
}
.portal-link-list a:before {
    content:"•";
    position:absolute;
    left:0;
    color:#c2c6c9
}
.portal-link-list a:hover {
    color:var(--brand)
}
.widget-inner {
    padding:10px
}
.widget-inner .sc3s-number-block {
    margin:0
}
.number-widget h2 {
    background:#454545;
    color:#fff;
    border-color:#454545;
    font-size:12px
}
.number-widget:nth-of-type(2) h2 {
    background:var(--red);
    border-color:var(--red)
}
.small-copy {
    font-size:12px;
    line-height:1.75;
    margin-bottom:8px;
    color:var(--muted)
}
.small-link {
    font-size:12px
}
.region-shortcuts {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin-top:13px
}
.region-shortcuts a {
    background:var(--brand);
    color:#fff;
    padding:8px;
    text-align:center;
    border-radius:0;
    font-size:13px;
    font-weight:700
}
.region-shortcuts a:hover {
    background:#cc0000;
    text-decoration:none
}
.region-tabs {
    display:grid;
    gap:13px
}
.region-mini {
    margin:0
}
.region-mini h3 {
    margin:0;
    padding:8px 12px;
    font-size:14px;
    border:1px solid #d8d8d8;
    background:#f5f5f5
}
.region-mini .sc3s-number-block {
    margin:0
}
.inline-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    padding-left:16px;
    margin:14px 0 0;
    font-size:13px
}
.portal-directory {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 16px;
    margin-top:15px;
    padding-top:13px;
    border-top:1px solid var(--border)
}
.portal-directory a {
    font-size:13px;
    padding:5px 0
}
.portal-news-list article {
    padding:12px 0
}
.portal-news-list article+article {
    border-top:1px solid var(--border)
}
.portal-news-list h3 {
    font-size:17px;
    line-height:1.45;
    margin:0 0 6px
}
.portal-news-list p {
    font-size:13px;
    color:var(--muted);
    line-height:1.7;
    margin:0
}
.portal-pending {
    font-size:12px;
    padding:12px;
    background:#ffffff;
    color:var(--muted)
}
.search-form {
    display:flex;
    gap:5px
}
.search-form input {
    width:100%;
    min-width:0;
    padding:9px 10px;
    border:1px solid #d8d8d8;
    border-radius:0;
    font-size:12px;
    background:#fff
}
.search-form button {
    background:var(--brand);
    color:#fff;
    border:0;
    border-radius:0;
    min-width:37px;
    font-size:20px
}
.breadcrumbs {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
    margin:0 0 14px;
    font-size:11px;
    color:#555555;
    overflow-wrap:anywhere
}
.panel {
    padding:22px
}
.standard-page {
    min-height:350px
}
.standard-page>h1 {
    font-size:26px;
    margin:10px 0 20px
}
.eyebrow {
    display:block;
    font-size:10px;
    letter-spacing:1px;
    color:var(--muted);
    text-transform:uppercase
}
.single-article>header>h1 {
    font-size:27px;
    margin:11px 0 15px;
    overflow-wrap:anywhere
}
.article-byline {
    display:flex;
    flex-wrap:wrap;
    gap:8px 15px;
    font-size:11px;
    color:var(--muted);
    border-bottom:1px solid var(--border);
    padding-bottom:15px;
    margin-bottom:20px
}
.article-cover {
    width:100%;
    height:auto;
    margin-bottom:20px
}
.prose {
    font-size:15px;
    line-height:1.8;
    overflow-wrap:anywhere
}
.prose p,.prose li {
    line-height:1.85
}
.prose h2 {
    font-size:21px;
    line-height:1.5;
    margin:25px 0 12px;
    color:#990000
}
.prose h3 {
    font-size:18px;
    margin:20px 0 10px
}
.prose a {
    text-decoration:underline;
    text-underline-offset:2px
}
.prose img {
    max-width:100%;
    height:auto
}
.prose figure,.wp-caption {
    max-width:100%;
    margin-inline:0
}
.prose figcaption,.wp-caption-text {
    font-size:11px;
    color:var(--muted)
}
.prose table {
    width:100%;
    border-collapse:collapse;
    font-size:13px;
    table-layout:fixed
}
.prose td,.prose th {
    border:1px solid var(--border);
    padding:8px
}
.prose th {
    background:#f5f5f5
}
.prose blockquote {
    border-left:3px solid var(--brand);
    background:#f5f5f5;
    padding:12px 18px;
    margin:20px 0
}
.prose iframe {
    max-width:100%
}
.prose pre {
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
.prose ul,.prose ol {
    padding-left:22px
}
.prose .sc3s-number-table th,.prose .sc3s-number-table td {
    vertical-align:middle
}
.prose .sc3s-number-block {
    margin:15px 0 22px
}
.article-note {
    margin-top:25px;
    padding:13px 0 0;
    border-top:1px solid var(--border);
    font-size:12px;
    color:var(--muted)
}
.post-tags {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:15px
}
.post-tags a {
    font-size:11px;
    border:1px solid var(--border);
    padding:3px 7px;
    border-radius:0
}
.navigation {
    margin:20px 0
}
.post-navigation .nav-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    color:var(--ink);
    font-size:12px
}
.nav-next {
    text-align:right
}
.article-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.article-card {
    background:white;
    border:1px solid var(--border);
    border-radius:0;
    overflow:hidden
}
.card-image {
    display:block;
    aspect-ratio:8/5;
    overflow:hidden
}
.card-image img {
    width:100%;
    height:100%;
    object-fit:cover
}
.card-body {
    padding:14px
}
.card-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    font-size:10px;
    color:var(--muted);
    margin-bottom:7px
}
.card-body h3 {
    font-size:17px;
    margin-bottom:9px;
    line-height:1.5
}
.card-body p {
    font-size:12px;
    color:var(--muted)
}
.read-link {
    font-size:12px
}
.section-heading {
    margin-bottom:16px
}
.section-heading h1 {
    font-size:27px;
    margin:8px 0
}
.archive-description {
    font-size:13px;
    margin-bottom:15px
}
.related-section {
    margin-top:22px
}
.related-section>h2 {
    font-size:19px
}
.pagination .nav-links {
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
.page-numbers {
    display:inline-block;
    border:1px solid var(--border);
    padding:5px 10px;
    background:white;
    font-size:13px;
    color:var(--brand)
}
.page-numbers.current {
    background:var(--brand);
    color:#fff
}
.button {
    display:inline-block;
    background:var(--brand);
    color:#fff;
    padding:9px 16px;
    border-radius:0;
    font-size:13px
}
.button:hover {
    background:#cc0000;
    color:#fff;
    text-decoration:none
}
.not-found {
    max-width:680px;
    margin:35px auto;
    text-align:center;
    padding:40px
}
.not-found h1 {
    font-size:30px;
    margin:15px 0
}
.not-found .search-form {
    max-width:380px;
    margin:20px auto
}
.empty-state .search-form {
    margin:15px 0
}
.site-footer {
    background:#fff;
    border-top:3px solid var(--brand);
    padding:27px 0 16px
}
.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px
}
.footer-brand {
    font-size:28px;
    font-style:italic;
    font-weight:800;
    letter-spacing:-1px;
    color:var(--red)
}
.footer-brand strong {
    color:var(--brand)
}
.footer-grid p {
    font-size:12px;
    color:var(--muted);
    margin:8px 0
}
.footer-grid nav {
    display:flex;
    gap:9px 20px;
    flex-wrap:wrap;
    align-content:start;
    padding-top:10px;
    font-size:12px
}
.footer-bottom {
    font-size:11px;
    color:var(--muted);
    border-top:1px solid var(--border);
    margin-top:20px;
    padding-top:12px
}
.back-top {
    position:fixed;
    right:15px;
    bottom:15px;
    border:1px solid #d8d8d8;
    background:#fff;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:0;
    font-size:20px;
    z-index:10
}
.kqxs-page {
    min-height:420px
}
#sc3s-kqxs-slot {
    min-height:250px
}
.comments-area {
    margin-top:25px
}
.comment-list {
    list-style:none;
    padding:0
}
.comment-list .children {
    padding-left:20px
}
.comment-body {
    padding:15px 0;
    border-bottom:1px solid var(--border)
}
.comment-meta {
    font-size:12px
}
.comment-meta img {
    margin-right:8px;
    border-radius:0
}
.comment-metadata {
    font-size:11px;
    color:var(--muted)
}
.comment-content {
    margin-top:10px
}
.comment-respond input:not([type=checkbox]),.comment-respond textarea {
    display:block;
    width:100%;
    padding:10px;
    border:1px solid #d8d8d8;
    border-radius:0
}
.comment-respond label {
    font-size:12px
}
.comment-respond input[type=submit] {
    background:var(--brand);
    color:#fff;
    cursor:pointer;
    width:auto
}
.aligncenter {
    display:block;
    margin-inline:auto
}
.alignleft {
    float:left;
    margin-right:15px
}
.alignright {
    float:right;
    margin-left:15px
}
@media(max-width:1150px) {
    .content-layout {
        grid-template-columns:minmax(0,1fr) 190px 240px;
        gap:12px
    }
    .nav-links>li>a,.nav-dropdown>summary {
        padding-inline:12px;
        font-size:12px
    }
    .portal-link-list li {
        font-size:12px
    }
    .portal-panel-body {
        padding:12px
    }
    .sidebar-numbers .sc3s-pack-date {
        flex-wrap:wrap
    }
    .sidebar-numbers .sc3s-mode {
        font-size:10px
    }
}
@media(max-width:1000px) {
    .content-layout {
        grid-template-columns:minmax(0,1fr) 250px;
        gap:15px
    }
    .sidebar-navigation {
        display:none
    }
    .nav-links>li>a,.nav-dropdown>summary {
        padding-inline:9px;
        font-size:11px
    }
    .nav-search {
        font-size:25px;
        padding:0
    }
    .container {
        width:calc(100% - 30px)
    }
}
@media(max-width:900px) {
    .container {
        width:calc(100% - 24px)
    }
    .topbar {
        font-size:9px
    }
    .topbar .container {
        gap:12px;
        padding-block:6px
    }
    .topbar .container>span {
        max-width:48%
    }
    .topbar time {
        text-align:right
    }
    .masthead {
        min-height:80px;
        gap:10px
    }
    .brand-mark {
        width:41px;
        height:43px;
        font-size:25px;
        border-bottom-width:4px
    }
    .brand-word {
        font-size:30px;
        letter-spacing:-1.5px
    }
    .brand-word strong {
        font-size:33px
    }
    .brand-word small {
        font-size:6px;
        letter-spacing:.75px;
        margin-top:8px
    }
    .header-caption {
        display:none
    }
    .menu-toggle {
        display:flex;
        align-items:center;
        gap:8px;
        padding:8px 10px;
        background:var(--brand);
        color:#fff;
        border:0;
        border-radius:0;
        font-size:12px
    }
    .primary-nav {
        display:none;
        min-height:0
    }
    .primary-nav.is-open {
        display:block
    }
    .nav-links {
        display:block;
        padding:5px 0
    }
    .nav-links>li+li {
        border-top:1px solid #ffffff24
    }
    .nav-links>li>a,.nav-dropdown>summary {
        padding:11px 10px;
        font-size:13px
    }
    .sub-menu {
        position:static;
        width:100%;
        max-height:none;
        box-shadow:none;
        border:0;
        margin-bottom:5px
    }
    .sub-menu a {
        font-size:12px;
        padding:10px 14px
    }
    .nav-search {
        display:none
    }
    .content-layout {
        grid-template-columns:minmax(0,1fr)
    }
    .sidebar-navigation {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        margin-top:8px
    }
    .sidebar-numbers {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        margin-top:6px
    }
    .sidebar-numbers .sc3s-calendar {
        grid-row:span 2;
        align-self:start
    }
    .page-shell {
        padding-top:12px
    }
    .portal-title {
        font-size:16px;
        padding:11px 12px
    }
    .portal-panel-body {
        padding:12px
    }
    .portal-link-list {
        padding:6px 10px 9px
    }
    .portal-link-list li {
        font-size:12px
    }
    .portal-widget h2 {
        font-size:12px;
        padding:10px
    }
    .panel {
        padding:19px
    }
    .standard-page>h1,.single-article>header>h1 {
        font-size:26px
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:12px
    }
    .footer-grid nav {
        padding-top:0
    }
    .footer-grid p {
        font-size:11px
    }
    .prose {
        font-size:15px
    }
    .article-grid {
        gap:12px
    }
    .sc3s-history .sc3s-token {
        font-size:12px
    }
}
@media(max-width:460px) {
    body {
        font-size:16px
    }
    .container {
        width:calc(100% - 20px)
    }
    .brand {
        gap:8px
    }
    .brand-word {
        font-size:27px
    }
    .brand-word strong {
        font-size:30px
    }
    .brand-word small {
        font-size:5.5px;
        letter-spacing:.7px
    }
    .brand-mark {
        width:37px;
        height:40px;
        font-size:24px
    }
    .portal-title {
        font-size:15px
    }
    .portal-panel {
        margin-bottom:13px
    }
    .portal-panel-body {
        padding:11px
    }
    .region-shortcuts a {
        font-size:12px;
        padding:8px 4px
    }
    .sidebar-numbers {
        grid-template-columns:1fr
    }
    .sidebar-numbers .sc3s-calendar {
        grid-row:auto
    }
    .sidebar-numbers .sc3s-view-compact .sc3s-number-grid .sc3s-tokens {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .portal-directory {
        gap:5px 12px
    }
    .portal-directory a {
        font-size:12px
    }
    .article-grid {
        grid-template-columns:1fr
    }
    .card-body h3 {
        font-size:19px
    }
    .card-body p {
        font-size:13px
    }
    .panel {
        padding:18px 14px
    }
    .standard-page>h1,.single-article>header>h1 {
        font-size:25px
    }
    .prose h2 {
        font-size:21px
    }
    .prose h3 {
        font-size:18px
    }
    .prose td,.prose th {
        padding:6px;
        font-size:12px
    }
    .alignleft,.alignright {
        float:none;
        margin-inline:0
    }
    .post-navigation .nav-links {
        grid-template-columns:1fr
    }
    .nav-next {
        text-align:left
    }
    .portal-news-list h3 {
        font-size:16px
    }
    .not-found {
        padding:30px 18px
    }
    .not-found h1 {
        font-size:27px
    }
}
.portal-directory-widget>summary {
    list-style:none;
    position:relative
}
.portal-directory-widget>summary::-webkit-details-marker {
    display:none
}
.portal-directory-widget>summary h2 {
    padding-right:30px
}
.portal-directory-widget>summary:after {
    content:"+";
    position:absolute;
    right:12px;
    top:8px;
    color:var(--brand);
    font-size:18px
}
.portal-directory-widget[open]>summary:after {
    content:"−"
}
/* Keep controls usable by touch and prevent input focus zoom on small screens. */
@media(max-width:900px) {
    .topbar {
        font-size:11px
    }
    .topbar .container>span {
        max-width:55%
    }
    .menu-toggle {
        min-height:44px;
        min-width:70px;
        font-size:14px
    }
    .nav-links>li>a,.nav-dropdown>summary,.sub-menu a {
        min-height:44px;
        font-size:14px
    }
    .region-shortcuts a {
        min-height:44px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:13px
    }
    .portal-directory a {
        min-height:44px;
        display:flex;
        align-items:center;
        font-size:14px
    }
    .inline-links {
        gap:4px 18px;
        font-size:14px
    }
    .inline-links a,.footer-grid nav a {
        min-height:44px;
        display:inline-flex;
        align-items:center
    }
    .sidebar-navigation {
        grid-template-columns:1fr
    }
    .portal-link-list li {
        padding:0;
        font-size:14px
    }
    .portal-link-list a {
        min-height:44px;
        display:flex;
        align-items:center;
        padding-block:8px
    }
    .portal-widget h2 {
        font-size:14px
    }
    .small-copy,.small-link,.article-note {
        font-size:13px
    }
    .search-form input,.comment-respond input,.comment-respond textarea {
        font-size:16px;
        min-height:44px
    }
    .search-form button {
        min-width:44px;
        min-height:44px
    }
    .back-top {
        width:44px;
        height:44px
    }
    .page-numbers {
        min-width:44px;
        min-height:44px;
        text-align:center
    }
    .read-link {
        display:inline-flex;
        align-items:center;
        min-height:44px;
        font-size:14px
    }
    .footer-grid p,.footer-grid nav {
        font-size:13px
    }
    .footer-bottom {
        font-size:12px
    }
}
@media(max-width:460px) {
    .brand-word small {
        display:none
    }
    .portal-directory {
        grid-template-columns:1fr
    }
    .portal-panel-body>p {
        font-size:15px
    }
    .breadcrumbs,.article-byline {
        font-size:12px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    * {
        animation:none!important;
        transition:none!important
    }
}
@media print {
    .site-header,.topbar,.sidebar-navigation,.sidebar-numbers,.site-footer,.back-top,.post-navigation,.comments-area {
        display:none!important
    }
    .container {
        width:100%
    }
    .content-layout {
        display:block
    }
    .panel {
        border:0;
        box-shadow:none
    }
    body {
        background:#fff
    }
}
.search-form button {
    min-width:44px;
    min-height:44px
}
.region-shortcuts a {
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center
}
/* Readability 3.2: one local stylesheet, system fonts and no extra requests. */
.container {
    width:min(1280px,calc(100% - 40px))
}
.topbar {
    background:#fff;
    color:var(--muted);
    font-size:13px;
    border:0
}
.topbar .container {
    padding-block:7px
}
.masthead {
    min-height:108px
}
.brand-word small {
    font-size:10px;
    letter-spacing:1px;
    line-height:1.5;
    color:var(--muted)
}
.header-tools {
    width:320px;
    max-width:40%;
    display:grid;
    gap:6px
}
.header-caption {
    font-size:14px;
    line-height:1.5;
    text-align:left;
    color:var(--ink)
}
.search-form input {
    font-size:16px;
    min-height:44px;
    border-color:#888888
}
.search-form input::placeholder {
    color:#555555;
    opacity:1
}
.search-form button {
    padding-inline:12px
}
.primary-nav {
    gap:0
}
.primary-nav>.nav-links {
    width:100%
}
.primary-nav .nav-links>li>a,.primary-nav .nav-dropdown>summary {
    font-size:15px;
    min-height:50px;
    padding:15px 12px;
    white-space:normal
}
.nav-links>li>a:hover,.nav-dropdown>summary:hover,.nav-dropdown[open]>summary {
    background:#990000;
    color:#fff
}
.sub-menu {
    width:270px
}
.sub-menu a {
    font-size:15px;
    min-height:44px;
    line-height:1.6;
    padding:10px 14px;
    color:var(--brand)
}
.page-shell {
    padding-top:22px
}
.content-layout {
    grid-template-columns:minmax(0,1fr) 220px 280px;
    gap:20px
}
.portal-panel {
    margin-bottom:22px
}
.portal-panel,.portal-widget,.panel {
    border-color:var(--border);
    box-shadow:none;
    border-radius:0
}
.portal-title {
    font-size:20px;
    text-transform:none;
    color:#fff;
    padding:12px 16px;
    background:var(--brand);
    line-height:1.4
}
.portal-title:before {
    display:none;
    height:20px;
    vertical-align:-3px
}
.portal-panel-body {
    padding:18px
}
.portal-panel-body>p {
    font-size:16px;
    line-height:1.65
}
.portal-panel-body h3 {
    font-size:19px;
    line-height:1.5
}
.home-intro {
    border-top:1px solid var(--border)
}
.home-intro-heading {
    padding:22px 18px 0
}
.home-intro-heading .eyebrow {
    font-size:12px;
    font-weight:700;
    letter-spacing:.6px;
    color:var(--muted)
}
.home-intro h1 {
    font-size:26px;
    line-height:1.3;
    color:var(--ink);
    margin:10px 0 0;
    letter-spacing:-.6px
}
.home-intro .portal-panel-body {
    padding-top:14px
}
.home-jump-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:16px 0 20px
}
.home-jump-links a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:8px 14px;
    border:1px solid #888888;
    border-radius:0;
    font-size:15px;
    font-weight:700;
    background:#fff;
    color:var(--brand)
}
.home-jump-links a:hover {
    background:#f5f5f5
}
.portal-widget h2 {
    font-size:16px;
    text-transform:none;
    padding:13px 14px;
    background:#f5f5f5;
    color:var(--brand)
}
.portal-link-list li {
    font-size:15px;
    padding:0
}
.portal-link-list a {
    min-height:44px;
    display:flex;
    align-items:center;
    padding-block:9px;
    color:var(--ink)
}
.portal-link-list a:before {
    color:var(--brand)
}
.portal-directory-widget>summary:after {
    top:10px;
    color:var(--brand)
}
.portal-directory-widget>summary h2 {
    padding-right:30px
}
.number-widget h2,.number-widget:nth-of-type(2) h2 {
    background:#eeeeee;
    border-color:var(--border);
    color:var(--ink);
    font-size:16px
}
.region-shortcuts a {
    font-size:16px;
    min-height:48px;
    padding:10px 5px
}
.portal-directory a,.inline-links {
    font-size:16px
}
.portal-directory a {
    min-height:44px;
    display:flex;
    align-items:center
}
.small-copy,.small-link,.article-note,.portal-pending {
    font-size:14px;
    color:var(--muted)
}
.small-link {
    color:var(--brand)
}
.portal-news-list h3 {
    font-size:19px
}
.portal-news-list p,.card-body p,.archive-description {
    font-size:15px;
    line-height:1.8
}
.breadcrumbs,.article-byline,.card-meta,.eyebrow,.prose figcaption,.wp-caption-text {
    font-size:13px;
    color:var(--muted)
}
.prose {
    font-size:17px;
    line-height:1.75
}
.prose h2 {
    font-size:22px;
    color:var(--ink)
}
.prose h3 {
    font-size:19px;
    color:var(--ink)
}
.standard-page>h1,.single-article>header>h1,.section-heading h1 {
    font-size:26px;
    line-height:1.4;
    color:var(--brand)
}
.prose table,.prose td,.prose th {
    font-size:15px
}
.read-link {
    font-size:15px;
    min-height:44px;
    display:inline-flex;
    align-items:center
}
.back-top {
    width:44px;
    height:44px;
    border-color:#888888;
    color:var(--brand)
}
.site-footer {
    background:#f8f8f8;
    color:var(--ink);
    border-top:1px solid var(--border);
    padding:32px 0 20px
}
.footer-grid {
    grid-template-columns:2fr 1fr 1fr;
    gap:40px
}
.footer-brand,.footer-brand strong {
    color:var(--brand);
    font-size:32px
}
.footer-grid p {
    font-size:15px;
    color:var(--muted);
    line-height:1.8;
    max-width:46ch
}
.footer-grid nav {
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:0;
    padding-top:6px;
    font-size:15px
}
.footer-grid h2 {
    font-size:18px;
    margin:0 0 12px;
    color:var(--ink)
}
.footer-grid nav a {
    display:flex;
    align-items:center;
    min-height:44px;
    color:var(--muted);
    text-decoration:underline;
    text-decoration-color:#888888;
    text-underline-offset:4px
}
.footer-grid a:hover,.footer-bottom a:hover {
    color:var(--brand)
}
.footer-bottom {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px;
    font-size:14px;
    color:var(--muted);
    border-color:#d8d8d8;
    align-items:center
}
.footer-bottom a {
    color:var(--brand);
    min-height:44px;
    display:flex;
    align-items:center
}
.site-footer a:focus-visible {
    outline-color:var(--brand);
    outline-offset:3px
}
.nav-wrap a:focus-visible,.nav-wrap summary:focus-visible {
    outline-color:#ffdf80;
    outline-offset:-4px
}
.sc3s-number-block {
    font-size:16px;
    color:var(--ink)
}
.sc3s-pack-date,.sc3s-view-compact .sc3s-pack-date {
    font-size:15px;
    color:var(--brand);
    background:#f5f5f5;
    border-color:var(--border);
    line-height:1.6;
    flex-wrap:wrap
}
.sc3s-pack-date time {
    font-size:14px
}
.sc3s-number-table th,.sc3s-view-compact .sc3s-number-table th,.sc3s-view-compact .sc3s-number-table td {
    font-size:15px;
    padding:11px 9px
}
.sc3s-token {
    font-size:18px;
    color:#222222;
    line-height:1.65
}
.sc3s-number-grid .sc3s-token {
    font-size:17px;
    background:#f5f5f5;
    color:#cc0000;
    border-color:var(--border)
}
.sc3s-grid-label {
    font-size:14px;
    text-transform:none;
    color:var(--ink)
}
.sc3s-mode,.sc3s-period,.sidebar-numbers .sc3s-mode {
    font-size:13px;
    color:var(--muted);
    line-height:1.7
}
.sc3s-history table,.sc3s-history th {
    font-size:15px
}
.sc3s-history .sc3s-token {
    font-size:16px
}
.sc3s-history td:last-child,.sc3s-history caption {
    font-size:13px;
    color:var(--muted)
}
.sc3s-history td:first-child a {
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center
}
.sc3s-calendar-heading {
    font-size:16px;
    color:var(--brand)
}
.sc3s-calendar table {
    font-size:14px
}
.sc3s-calendar a,.sc3s-calendar td>span {
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px
}
.sc3s-calendar th,.sc3s-calendar .outside a {
    color:#555555
}
.sc3s-calendar td>span {
    color:#555555
}
.sc3s-calendar label {
    font-size:14px
}
.sc3s-calendar input {
    font-size:16px;
    min-height:44px;
    border-color:#888888
}
.sc3s-calendar button {
    font-size:15px;
    min-height:44px;
    min-width:48px;
    background:var(--brand)
}
.vip-pack-heading,.vip-view-card .vip-pack-heading {
    font-size:15px
}
.vip-source,.vip-count,.vip-view-card .vip-source,.vip-history caption {
    font-size:14px;
    color:var(--muted)
}
.vip-status {
    font-size:14px
}
.vip-home-links {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:16px 0 8px
}
.vip-home-links a {
    font-size:15px;
    min-height:48px;
    background:#f5f5f5;
    border-color:var(--border);
    color:var(--brand)
}
.vip-category-intro h1 {
    font-size:26px;
    line-height:1.4;
    color:var(--brand)
}
.vip-category-intro p {
    font-size:17px
}
.vip-category-card h2 {
    font-size:20px
}
.vip-category-card>p,.vip-toc a,.vip-related a,.vip-sidebar-links a {
    font-size:15px
}
.vip-badges span,.vip-card-index {
    font-size:13px;
    color:var(--muted)
}
.vip-history table {
    font-size:15px
}
@media(max-width:1100px) {
    .masthead {
        flex-wrap:wrap;
        gap:14px;
        min-height:94px;
        padding-block:16px
    }
    .menu-toggle {
        display:flex;
        align-items:center;
        gap:8px;
        padding:9px 13px;
        background:var(--brand);
        color:#fff;
        border:0;
        border-radius:0;
        font-size:16px;
        min-height:44px
    }
    .primary-nav {
        display:none;
        min-height:0
    }
    .primary-nav.is-open {
        display:block
    }
    .primary-nav>.nav-links {
        display:block;
        padding:5px 0
    }
    .primary-nav .nav-links>li>a,.primary-nav .nav-dropdown>summary {
        font-size:16px;
        min-height:46px;
        padding:12px
    }
    .nav-links>li+li {
        border-top:1px solid #ffffff35
    }
    .sub-menu {
        position:static;
        width:100%;
        max-height:none;
        box-shadow:none;
        border:0;
        margin-bottom:5px
    }
    .content-layout {
        grid-template-columns:minmax(0,1fr) 280px;
        gap:18px
    }
    .sidebar-navigation {
        display:none
    }
    .header-tools {
        margin-left:auto;
        width:280px;
        max-width:38%
    }
}
@media(max-width:900px) {
    .container {
        width:calc(100% - 28px)
    }
    .content-layout {
        grid-template-columns:minmax(0,1fr)
    }
    .sidebar-navigation {
        display:grid;
        grid-template-columns:1fr
    }
    .sidebar-numbers {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .sidebar-numbers .sc3s-calendar {
        grid-row:span 2
    }
    .sc3s-calendar a,.sc3s-calendar td>span {
        min-height:44px
    }
    .header-tools {
        display:block;
        order:3;
        width:100%;
        max-width:none;
        margin:0
    }
    .header-caption {
        display:none
    }
    .menu-toggle {
        margin-left:auto
    }
    .topbar {
        font-size:12px
    }
    .topbar .container>span {
        max-width:none
    }
    .topbar time {
        font-size:12px
    }
    .brand-word small {
        font-size:9px;
        letter-spacing:.3px
    }
    .masthead {
        min-height:88px;
        padding-block:14px
    }
    .page-shell {
        padding-top:16px
    }
    .portal-title {
        font-size:21px;
        padding:15px 16px
    }
    .portal-panel-body {
        padding:16px
    }
    .portal-panel-body>p {
        font-size:16px
    }
    .portal-widget h2 {
        font-size:16px
    }
    .portal-link-list li,.portal-directory a {
        font-size:15px
    }
    .home-intro h1 {
        font-size:25px
    }
    .home-intro-heading {
        padding:20px 16px 0
    }
    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:24px
    }
    .footer-grid>div {
        grid-column:1/-1
    }
    .footer-grid p {
        font-size:15px
    }
    .footer-grid nav {
        font-size:15px
    }
    .footer-bottom {
        font-size:14px
    }
}
@media(max-width:600px) {
    .brand-word small {
        display:none
    }
    .topbar .container {
        gap:8px
    }
    .topbar .container>span {
        max-width:50%
    }
    .home-intro h1 {
        font-size:24px
    }
    .portal-title {
        font-size:20px
    }
    .portal-panel-body h3 {
        font-size:18px
    }
    .vip-home-links {
        grid-template-columns:1fr
    }
    .vip-category-intro h1 {
        font-size:24px
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:22px
    }
    .footer-grid>div {
        grid-column:auto
    }
    .footer-grid nav {
        padding:0
    }
    .prose {
        font-size:17px
    }
    .prose h2 {
        font-size:22px
    }
    .prose h3 {
        font-size:19px
    }
    .prose td,.prose th {
        font-size:14px
    }
    .sc3s-history th,.sc3s-history td {
        padding:9px 5px
    }
    .sc3s-history th {
        font-size:14px
    }
    .sc3s-history .sc3s-token {
        font-size:15px
    }
    .sc3s-number-table th {
        width:35%;
        font-size:14px
    }
    .sc3s-number-table th,.sc3s-number-table td {
        padding:10px 7px
    }
    .sc3s-number-grid .sc3s-token {
        font-size:16px
    }
    .vip-history table {
        font-size:14px
    }
}
@media(max-width:460px) {
    .sidebar-numbers {
        grid-template-columns:1fr
    }
    .sidebar-numbers .sc3s-calendar {
        grid-row:auto
    }
    .region-shortcuts a {
        font-size:15px
    }
    .portal-news-list h3 {
        font-size:18px
    }
    .home-jump-links {
        gap:7px
    }
    .home-jump-links a {
        font-size:14px;
        padding-inline:10px
    }
}
/* Native article contents: no script or external font. */
.sc3s-contents {
    margin:0 0 24px;
    padding:14px 18px;
    background:#f7f7f7;
    border:1px solid var(--border);
    border-left:4px solid var(--brand);
    border-radius:0
}
.sc3s-contents summary {
    font-size:17px;
    font-weight:700;
    color:var(--brand);
    min-height:44px;
    display:list-item;
    align-content:center
}
.sc3s-contents ol {
    margin:10px 0 0;
    padding-left:24px
}
.sc3s-contents li {
    padding-block:5px;
    line-height:1.6
}
.sc3s-contents a {
    text-decoration:underline;
    text-underline-offset:3px
}
.sc3s-contents .contents-level-3 {
    margin-left:16px;
    font-size:16px
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
}

/* Editable homepage article, placed after the number panels. */
.home-editorial .prose {font-size:17px;line-height:1.85;}
.home-editorial .prose h3 {
    color:#cc0000;font-size:22px;line-height:1.45;
    margin:27px 0 12px;padding-left:12px;border-left:4px solid #222222;
}
.home-editorial .prose p {margin-bottom:16px;}
.home-editorial .prose a {text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.home-editorial .prose p:last-child {margin-bottom:0;}
@media(max-width:600px) {
    .home-editorial .prose h3 {font-size:20px;}
}

.home-faq details {border:1px solid var(--border);border-radius:0;margin-bottom:10px;}
.home-faq summary {padding:13px 15px;min-height:48px;font-size:17px;font-weight:700;color:#cc0000;background:#f5f5f5;}
.home-faq details p {padding:14px 15px;margin:0;font-size:17px;}
.home-faq details:last-child {margin-bottom:0;}
