body > header { position: relative; padding-bottom: var(--space-5); } body > header:has(> h1) { display: grid; gap: var(--space-3); padding-bottom: var(--space-6); } body > header:has(> h1)::before { content: ""; width: min(18rem, 40vw); height: 0.55rem; background: linear-gradient(90deg, var(--color-accent-1) 0%, var(--color-accent-2) 50%, var(--color-accent-3) 100%); } body > header > section:first-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); } body > header > section:first-of-type > a { display: inline-flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--color-heading); } body > header > section:first-of-type > a strong { font-family: var(--font-heading); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; } body > header > section:first-of-type > a img { width: 3.5rem; height: auto; } body > header > section.site-stats { margin-top: var(--space-5); } body > header > section.site-stats > h2 { font-size: 1.02rem; letter-spacing: 0.11em; text-transform: uppercase; color: var(--color-text-muted); } body > header > section.site-stats > ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); } body > header > section.site-stats li { border-top: 1px solid var(--color-border); padding-top: var(--space-2); } body > header > section.site-stats span { display: block; font-size: 0.88rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-text-muted); } body > header > section.site-stats strong { display: block; margin-top: var(--space-1); font-size: 1.38rem; color: var(--color-heading); font-family: var(--font-heading); } body > header .breadcrumbs { margin-top: 0; } .breadcrumbs > ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2); } .breadcrumbs li { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-text-muted); font-size: 0.9rem; letter-spacing: 0.04em; text-transform: uppercase; } .breadcrumbs li::after { content: ">"; color: var(--color-border-strong); } .breadcrumbs li:last-child::after { content: ""; } body > header > p { margin-top: var(--space-2); color: var(--color-text-muted); display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 1rem; } body > header:has(> h1) > h1 { max-width: 18ch; margin-top: 0; font-size: clamp(2rem, 5.4vw, 4.6rem); line-height: 0.95; letter-spacing: 0.02em; } body > header:has(> h1) > p:has(time) { margin-top: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 0.88rem; text-transform: uppercase; letter-spacing: 0.09em; color: var(--color-text-muted); } body > header:has(> h1) > p:not(:has(time)) { margin-top: var(--space-1); max-width: 64ch; font-size: 1.14rem; color: var(--color-text); } .page-links > ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2); } .page-links a { display: inline-block; text-decoration: none; border: 1px solid var(--color-border); padding: 0.35rem 0.65rem; color: var(--color-text); font-size: 0.94rem; text-transform: uppercase; letter-spacing: 0.05em; } .page-links a:hover { color: var(--color-heading); border-color: var(--color-accent-1); } .page-links a.ui-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.35rem; padding: 0.45rem 0.85rem; border: 1px solid var(--color-border-strong); color: var(--color-heading); font-family: var(--font-heading); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.2; } .page-links a.ui-button:is(:hover, :focus-visible) { border-color: color-mix(in srgb, var(--color-accent-1) 62%, var(--color-border-strong)); color: #ffffff; } body:has(> main.listing-page) > header { gap: var(--space-2); padding-bottom: var(--space-4); } body:has(> main.listing-page) > header:has(> h1)::before { content: none; } body:has(> main:not(.listing-page)) > header:has(> h1)::before { content: none; } body:has(> main.listing-page) > header:has(> h1) > h1 { max-width: 100%; font-size: clamp(1.75rem, 3.1vw, 2.8rem); text-transform: none; letter-spacing: 0.01em; } body:has(> main.listing-page) > header .breadcrumbs li { font-size: 0.84rem; letter-spacing: 0.03em; }