@font-face { font-family: 'Lemur Heading'; src: local('AvantGarde-Medium'), local('ITC Avant Garde Gothic Medium'); font-style: normal; font-weight: 500; font-display: swap; }
.home-introduction > .shell { container-type: inline-size; }
.home-brand-row { --brand-height: min(114.63px, 15cqw); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-5); }
/* The supplied banner has 19 transparent pixels above its 151-pixel artwork. */
.home-introduction h1 { margin: 0; height: calc(var(--brand-height) * 151 / 177); overflow: hidden; line-height: 0; }
.home-banner { display: block; width: auto; height: var(--brand-height); transform: translateY(-10.734463%); }
.home-introduction { padding-top: var(--page-top-space); padding-bottom: var(--space-5); margin-bottom: var(--space-5); }
.home-introduction p:not(.eyebrow) { max-width: none; }
.home-page { padding-bottom: var(--space-12); }
.home-page .home-section { margin-bottom: var(--section-space); }
.home-page .home-section:last-child { margin-bottom: 0; }
.home-section-description { margin: var(--space-3) 0 0; color: var(--muted); font-size: var(--font-body); }
.home-empty { margin: 0; padding: var(--panel-padding); border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); }
.home-announcement-section { margin-bottom: var(--section-space); }
.home-announcement-heading { margin: 0 0 var(--space-5); overflow-wrap: anywhere; }
.home-announcement { min-width: 0; padding: var(--panel-padding); border: 2px solid #345064; border-radius: 8px; background: #14232e; overflow-wrap: anywhere; line-height: 1.6; }
.home-announcement > :first-child { margin-top: 0; }
.home-announcement > :last-child { margin-bottom: 0; }
.home-announcement blockquote { margin: var(--space-5) 0; padding: var(--space-3) var(--space-5); border-left: 3px solid var(--subtle); background: var(--surface-raised); }
.home-announcement ul, .home-announcement ol { padding-left: 1.5em; }
.home-announcement pre { max-width: 100%; padding: var(--space-4); overflow-x: auto; background: var(--background); white-space: pre; overflow-wrap: normal; }
.home-announcement code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.home-announcement .forum-post-image { display: block; max-width: 100%; height: auto; }
.home-announcement .forum-smiley { display: inline; width: auto; max-width: 100%; vertical-align: middle; }
.home-forum-posts { list-style: none; padding: 0; margin: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.home-forum-posts > li + li { border-top: 1px solid var(--line); }
.home-forum-post { padding: var(--panel-padding); min-width: 0; }
.home-forum-post h3 { margin-bottom: var(--space-3); font-size: var(--font-h3); line-height: 1.4; overflow-wrap: anywhere; }
.home-forum-post h3 a { color: var(--text); text-decoration: none; }
.home-forum-post h3 a:hover { color: var(--cyan); text-decoration: underline; }
.home-post-excerpt { margin-bottom: var(--space-5); color: var(--muted); font-size: var(--font-body); overflow-wrap: anywhere; }
.home-post-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-3) var(--space-5); color: var(--subtle); font-size: var(--font-small); }
.home-post-author { display: flex; align-items: center; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.home-post-author a { color: var(--muted); }
.home-post-context { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.home-post-context a { color: var(--muted); }
.home-post-context time { font-size: var(--font-small); }
@media (max-width: 600px) {
    .home-introduction { padding-bottom: var(--space-5); }
    .home-page { padding-bottom: var(--space-12); }
    .home-page .home-section { margin-bottom: var(--section-space); }

    .home-post-meta { align-items: flex-start; flex-direction: column; }
}
