.thorn3-header { background: var(--thorn3-paper); border-bottom: var(--thorn3-border) solid var(--thorn3-line); position: relative; z-index: var(--thorn3-z-header); }
.thorn3-header-inner { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--thorn3-space-5); min-height: 6rem; padding-block: var(--thorn3-space-4); }
.thorn3-wordmark { font-weight: var(--thorn3-weight-bold); letter-spacing: -.065em; font-size: 2rem; text-decoration: none; line-height: 1; }
.thorn3-header .custom-logo-link { display: block; max-width: min(12rem,50vw); flex-shrink: 0; }
.thorn3-header .custom-logo { width: 100%; max-height: 3rem; object-fit: contain; }
.thorn3-navigation { margin-inline-start: auto; }
.thorn3-menu { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--thorn3-space-5); list-style: none; margin: 0; padding: 0; }
.thorn3-menu li { position: relative; }
.thorn3-menu a, .thorn3-bag { display: inline-flex; align-items: center; min-height: var(--thorn3-control-height); font-size: var(--thorn3-text-small); font-weight: var(--thorn3-weight-medium); text-decoration: none; }
.thorn3-menu .current-menu-item > a { text-decoration: underline; text-decoration-thickness: 2px; }
.thorn3-menu .sub-menu { padding: var(--thorn3-space-2) var(--thorn3-space-4); margin: 0; list-style: none; background: var(--thorn3-paper); min-width: 12rem; border: var(--thorn3-border) solid var(--thorn3-line); }
.thorn3-bag { gap: var(--thorn3-space-3); }
.thorn3-menu-toggle { margin-inline-start: auto; min-height: var(--thorn3-control-height); padding: var(--thorn3-space-2); border: 0; background: transparent; color: inherit; cursor: pointer; }
.thorn3-menu-toggle span { margin-left: var(--thorn3-space-3); }
.thorn3-dark { background: var(--thorn3-ink); color: var(--thorn3-paper); }
.thorn3-dark :where(h1,h2,h3,p,a) { color: inherit; }
.thorn3-dark :focus-visible { outline-color: var(--thorn3-gold); }
.thorn3-hero { padding-top: var(--thorn3-section-space); padding-bottom: var(--thorn3-space-7); }
.thorn3-eyebrow { font-size: var(--thorn3-text-small); font-weight: var(--thorn3-weight-medium); letter-spacing: .09em; text-transform: uppercase; }
.thorn3-hero h1 { max-width: 15ch; margin-top: var(--thorn3-space-6); }
.thorn3-hero-intro { font-size: var(--thorn3-text-lead); max-width: 38rem; margin-top: var(--thorn3-space-6); }
.thorn3-hero .thorn3-text-link { color: var(--thorn3-gold); }
.thorn3-hero-art { margin-top: var(--thorn3-space-8) !important; }
.thorn3-hero-art img { width: 100%; max-height: 75vh; object-fit: contain; }
.thorn3-hero-art figcaption { color: var(--thorn3-line); }
.thorn3-text-link { display: inline-flex; align-items: center; gap: var(--thorn3-space-5); min-height: var(--thorn3-control-height); text-decoration: underline; font-size: var(--thorn3-text-body); }
.thorn3-button, .thorn3-editorial button[type="submit"], .thorn3-editorial input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: var(--thorn3-control-height); padding: var(--thorn3-space-3) var(--thorn3-space-5); border: var(--thorn3-border) solid var(--thorn3-ink); border-radius: var(--thorn3-radius); background: var(--thorn3-ink); color: var(--thorn3-paper); text-decoration: none; cursor: pointer; line-height: 1.4; }
.thorn3-button:hover { background: var(--thorn3-gold); color: var(--thorn3-ink); }
.thorn3-card-media { aspect-ratio: 4/3; display: grid; place-items: center; background: var(--thorn3-cloud); }
.thorn3-card-media img { width: 100%; height: 100%; object-fit: contain; }
.thorn3-card-link { text-decoration: none; display: block; }
.thorn3-card-caption { display: flex; justify-content: space-between; gap: var(--thorn3-space-5); margin-top: var(--thorn3-space-4); }
.thorn3-card-caption :is(h2,h3) { font-size: var(--thorn3-text-h3); margin-bottom: var(--thorn3-space-2); letter-spacing: -.025em; }
.thorn3-card-caption span { font-size: var(--thorn3-icon); }
.thorn3-meta { color: var(--thorn3-muted); font-size: var(--thorn3-text-small); }
.thorn3-placeholder { color: var(--thorn3-muted); padding: var(--thorn3-space-5); font-size: var(--thorn3-text-small); }
.thorn3-project-details { display: flex; flex-wrap: wrap; gap: var(--thorn3-space-6) var(--thorn3-space-8); margin-block: var(--thorn3-space-6); }
.thorn3-project-details dt { color: var(--thorn3-muted); font-size: var(--thorn3-text-small); }
.thorn3-project-details dd { margin: 0; }
.thorn3-filter { display: flex; flex-wrap: wrap; gap: var(--thorn3-space-4); padding-top: var(--thorn3-space-6); }
.thorn3-filter a { display: inline-flex; align-items: center; min-height: var(--thorn3-control-height); border-bottom: var(--thorn3-border) solid var(--thorn3-line); }
.thorn3-journal-list article { display: grid; gap: var(--thorn3-space-3); border-top: var(--thorn3-border) solid var(--thorn3-line); padding-block: var(--thorn3-space-6); }
.thorn3-journal-list h3 { margin: 0; }
.thorn3-journal-list h3 a { display: flex; justify-content: space-between; gap: var(--thorn3-space-5); text-decoration: none; }
.thorn3-search { margin-block: var(--thorn3-space-6); }
.thorn3-search input { flex: 1 1 12rem; min-width: 0; }
.thorn3-pagination, .thorn3-editorial .pagination { margin-top: var(--thorn3-space-7); }
.thorn3-editorial .page-numbers { display: inline-grid; place-items: center; min-width: var(--thorn3-control-height); min-height: var(--thorn3-control-height); padding: var(--thorn3-space-2); }
.thorn3-editorial .page-numbers.current { background: var(--thorn3-ink); color: var(--thorn3-paper); }
.thorn3-footer { border-top: var(--thorn3-border) solid var(--thorn3-line); padding-block: var(--thorn3-space-8) var(--thorn3-space-6); }
.thorn3-footer-top, .thorn3-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: baseline; gap: var(--thorn3-space-5); }
.thorn3-footer-top p { max-width: 27rem; }
.thorn3-footer-bottom { border-top: var(--thorn3-border) solid var(--thorn3-line); padding-top: var(--thorn3-space-5); margin-top: var(--thorn3-space-7); font-size: var(--thorn3-text-small); }
.thorn3-footer-bottom p { margin: 0; }
.thorn3-empty { padding-block: var(--thorn3-space-8); }
@media (min-width: 48rem) {
  .thorn3-hero > .thorn3-container { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); column-gap: var(--thorn3-space-7); align-items: start; }
  .thorn3-hero :is(.thorn3-eyebrow,h1,.thorn3-hero-intro,.thorn3-text-link) { grid-column: 1; }
  .thorn3-hero-art { grid-column: 2; grid-row: 1 / span 4; margin-top: 0 !important; }
  .thorn3-hero-art img { max-height: 42rem; }
  .thorn3-journal-list article { grid-template-columns: 12rem minmax(0,1fr); }
}
/* Header breakpoint matches navigation.css, brand.css, and navigation.js. */
@media (min-width: 64rem) {
  .thorn3-menu .sub-menu { position: absolute; inset-block-start: 100%; inset-inline-end: 0; display: none; }
  .thorn3-menu li:hover > .sub-menu, .thorn3-menu li:focus-within > .sub-menu { display: block; }
}
@media (max-width: 63.99rem) {
  .thorn3-header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto auto; min-height: 5rem; }
  .thorn3-header .custom-logo-link { max-width: 8rem; }
  .thorn3-navigation { grid-column: 1 / -1; }
  .thorn3-navigation { order: 4; width: 100%; margin: 0; }
  .thorn3-navigation .thorn3-menu { display: grid; gap: var(--thorn3-space-2); }
  .thorn3-navigation .sub-menu { border: 0; min-width: 0; }
  .thorn3-header-inner { column-gap: var(--thorn3-space-3); }
  .thorn3-bag { margin-inline-start: auto; }
  .thorn3-menu-toggle:not([hidden]) + .thorn3-navigation + .thorn3-bag { margin: 0; }
}
