/* Editorial layout and shared reading styles. Ghost content stays authoritative. */
/* Both event routes share this template; tags never determine its content type. */
.event-detail { padding-top: 24px; }
.event-detail-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr); gap: 32px; align-items: start; padding: 20px 0 24px; border-bottom: 1px solid var(--border); }
.event-detail-label { color: var(--accent); text-transform: uppercase; font: 600 12px/1.5 var(--gh-font-body); letter-spacing: .08em; }
.article-hero.event-detail h1 { font-family: var(--gh-font-heading) !important; font-size: clamp(30px,3.5vw,46px); line-height: 1.12; margin: 12px 0 24px; max-width: 22ch; overflow-wrap: anywhere; }
.event-detail-facts { margin: 0 0 16px; padding-block:16px; border-block:1px solid var(--border); display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 8px 16px; }
.event-detail-facts dt { font-size: 13px; line-height: 1.65; color: var(--text-muted); }
.event-detail-facts dd { margin: 0; font-size: 16px; line-height: 1.65; color: var(--text); }
.event-detail-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-bottom: 16px; font-size: 13px; line-height: 1.5; }
.event-detail-topics > span { color: var(--text-muted); }
.event-detail-topics a, .event-detail-calendar { color: var(--accent); display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.event-detail-calendar { font-size: 14px; }
.event-detail-image { margin: 0; min-width: 0; }
.event-detail-image img { display:block; width: 100%; height: auto; max-height: 280px; object-fit: contain; object-position: top; background: var(--surface); }
.event-detail-image figcaption { margin-top: 8px; color: var(--text-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.event-detail-image figcaption a { text-decoration: underline; text-underline-offset: 3px; }
.article-wrap.event-detail-body { display: block; padding-top: 20px; padding-bottom: 32px; }
.event-detail-body .main-col { max-width: 760px; }
.event-detail-heading { font-size: 22px; margin-bottom: 16px; }
.event-detail-body .article-body > p:first-child a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; background: var(--accent); color: var(--ed-ink); border-radius: 0; font:700 14px/1.4 var(--ed-ui); text-decoration: none; }
.event-detail-note { margin: 24px 0 16px; color: var(--text-muted); font-size: 13px; line-height: 1.6; }
@media(max-width: 700px) {
  .event-detail-grid { grid-template-columns: minmax(0,1fr); gap: 20px; padding-top: 16px; }
  .event-detail-facts { grid-template-columns: 88px minmax(0,1fr); gap: 10px 12px; }
  .event-detail-image img { max-height: 240px; }
}
.ticker { isolation: isolate; }
.ticker-label { position: relative; z-index: 1; }
.ticker-content { min-width: 0; }
.nav-inner { gap: 24px; }
.logo { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.logo .live-dot { flex: 0 0 7px; margin-right: 4px; }
.logo img { width: auto; height: 28px; max-width: 210px; object-fit: contain; }
.logo .logo-name { color: var(--text); }
.logo [hidden] { display: none; }
.nav-actions { flex-shrink: 0; }
/* Social destinations remain available in the footer. */
.nav-social { display: none; }
.policy-hero { padding: 58px 0 30px; background: none; margin-bottom: 0; }
.policy-h { font-family: var(--gh-font-heading); font-weight: 700;
  font-size: clamp(40px, 5.5vw, 68px); line-height: 1.08; letter-spacing: -1.8px;
  max-width: 20ch; overflow-wrap: anywhere; }
.policy-hero-line { width: 52px; height: 2px; background: var(--accent); border-radius: 0; }
.policy-lead { max-width: 62ch; font-size: 18px; line-height: 1.65; }
.policy-wrap { margin-bottom: 0; padding: 42px 0 80px; }
.policy-grid { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); gap: 64px; }
.policy-article, .policy-aside { min-width: 0; }
.policy-article { width: 100%; max-width: 720px; }
.policy-facts, .policy-aside-nav { background: none; border-radius: 0; border-width: 1px 0 0;
  padding: 18px 0; }
.policy-facts-list { grid-template-columns: 1fr; gap: 5px; }
.policy-facts-list dd { margin-bottom: 10px; }
.policy-aside-nav a { padding: 12px 0; min-height: 44px; }
.policy-aside-nav a.is-current { color: var(--text); text-decoration: underline;
  text-decoration-color: var(--accent); text-underline-offset: 6px; }
.policy-contents { padding: 0 0 24px; margin-bottom: 32px; border-bottom: 1px solid var(--border); }
.policy-contents[hidden] { display: none; }
.policy-contents-label { font: 11px var(--font-mono); text-transform: uppercase;
  letter-spacing: 1.2px; color: var(--text-muted); }
.policy-contents-list { display: flex; flex-wrap: wrap; gap: 4px 22px;
  list-style: none; padding: 10px 0 0; margin: 0; }
.policy-contents-list a { display: inline-block; padding: 10px 0; font-size: 13px;
  color: var(--text); text-decoration: underline; text-decoration-color: var(--border-strong);
  text-underline-offset: 4px; }
.policy-contents-list a:hover { text-decoration-color: var(--accent); }

/* Article family reading measure; event detail uses its separate layout. */
.article-wrap.reading-layout { max-width:1120px; grid-template-columns:minmax(0,720px) minmax(220px,280px); gap:40px; align-items:start; }
/* The site container is 1400px; keep the article header on the reading column's edge. */
main:has(.article-wrap.reading-layout) .article-hero { max-width:1120px; }
.reading-layout > .main-col { min-width:0; }
.reading-layout .article-body { font:400 18px/1.7 var(--ed-ui); color:var(--ed-ivory); }
.reading-layout .article-body :is(p,li) { font-size:inherit; line-height:1.7; color:inherit; }
.reading-layout .article-body p { margin:0 0 1.2em; }
.reading-layout .article-body :is(h2,h3) { line-height:1.25; margin:1.5em 0 .65em; }
.reading-layout .article-body h2 { font-size:28px; }
.reading-layout .article-body h3 { font-size:23px; }
.reading-layout .article-body :is(figcaption,.caption) { font:400 13px/1.6 var(--ed-ui); color:var(--ed-muted); margin:8px 0 24px; }
.reading-layout .article-body blockquote { margin:28px 0; padding:8px 0 8px 20px; border-left:2px solid var(--ed-brand); }
.reading-layout .article-body blockquote p { font-size:21px; line-height:1.5; }
.reading-layout .byline { flex-wrap:wrap; gap:12px; }
.reading-layout .author-meta { font:400 13px/1.6 var(--ed-ui); }
.reading-layout .author-name { font-size:14px; }
.reading-layout .share-row { flex-wrap:wrap; }
@media(max-width:1000px) { .article-wrap.reading-layout { display:block; max-width:768px; } .reading-layout > .sidebar { margin-top:32px; } }
@media(max-width:600px) { .article-wrap.reading-layout { padding-inline:20px; } .reading-layout .article-body { font-size:17px; } .reading-layout .article-body h2 { font-size:25px; } .reading-layout .article-body h3 { font-size:21px; } }

/* Keep the caption, credits and contents together as one article introduction. */
.article-hero { padding-bottom: 12px; }
.article-wrap { padding-top: 12px; }
.article-wrap .byline { padding: 12px 0; margin-bottom: 18px; }
.article-wrap .author-meta { color: var(--text-muted, #a1a1aa); }
.article-wrap .article-contents { padding-bottom: 14px; margin-bottom: 22px; }
.article-contents .policy-contents-label {
  font-family: var(--font-body, 'Public Sans', sans-serif);
  font-size: 10px;
  letter-spacing: 1.2px;
}
.article-contents .policy-contents-list { padding-top: 6px; gap: 0 24px; }
.article-contents .policy-contents-list a { padding: 6px 0; line-height: 1.5; }
.article-wrap .article-body > :first-child { margin-top: 0; }

@media (prefers-reduced-motion: no-preference) {
  .article-hero .hero-text { animation: article-arrive var(--ed-motion-reveal) var(--ed-motion-ease) both; }
  .article-wrap .byline { animation: article-arrive var(--ed-motion-reveal) var(--ed-motion-stagger) var(--ed-motion-ease) both; }
  .article-contents a, .article-wrap .share-btn {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
      text-decoration-color 180ms ease;
  }
  .article-body h2:target, .article-body h3:target { animation: article-arrive var(--ed-motion-reveal) var(--ed-motion-ease); }
}
@keyframes article-arrive {
  from { opacity: .92; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
.policy-article .policy-body { font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.policy-article .policy-body > p:first-of-type::first-letter {
  font-size: inherit; float: none; line-height: inherit; margin: 0; color: inherit; font-weight: inherit; }
.policy-article .policy-body h2 { padding-left: 0; font-size: 25px; margin: 40px 0 16px;
  line-height: 1.3; scroll-margin-top: 110px; }
.policy-article .policy-body h2::before { content: none; }
.policy-article .policy-body h2:first-child { margin-top: 0; }
.policy-footer { text-transform: none; letter-spacing: 0; font-size: 13px; line-height: 1.9; }
/* Keep decoration in the footer rather than over reporting or controls. */
footer.site { position: relative; }
footer.site .raven-mascot { position: static; margin: 16px auto; animation: none; }
@media (max-width: 1100px) {
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 11px; letter-spacing: .6px; }
  .logo img { max-width: 180px; }
}
@media (max-width: 900px) {
  .policy-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .policy-article { grid-row: 1; max-width: none; }
  .policy-aside { grid-row: 2; position: static; display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .policy-facts-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nav-inner { padding: 14px 16px; gap: 12px; }
  .nav-actions { gap: 8px; }
  .logo { font-size: 12px; letter-spacing: .5px; flex-shrink: 1; min-width: 0; }
  .logo img { max-width: 128px; height: 24px; }
  .logo .live-dot { display: none; }
  .nav-actions .icon-btn { width: 36px; height: 40px; }
  .nav-actions .subscribe-btn { padding: 12px 10px; letter-spacing: .5px; font-size: 10px; }
  .policy-hero { padding: 32px 0 20px; }
  .policy-hero .container, .policy-grid { padding-inline: 20px; }
  .policy-h { letter-spacing: -1px; }
  .policy-wrap { padding-top: 28px; }
  .policy-aside { grid-template-columns: 1fr; gap: 0; }
  .policy-lead { font-size: 16px; }
  .policy-article .policy-body { font-size: 16px; line-height: 1.8; }
}
@media (max-width: 420px) {
  .nav-actions .theme-toggle { display: none; }
  .logo { max-width: 110px; flex-wrap: wrap; gap: 0 4px; }
  .logo img { max-width: 110px; }
}

/* Reporting stays readable even when animation scripts are unavailable. */
.reveal, .reveal.reveal-l, .reveal.reveal-r, .stagger > * {
  opacity: 1; transform: none; transition-delay: 0s;
}
.gl-section-label { opacity: 1; transform: none; }
.gl-section-line { transform: scaleX(1); }
.archive-h, .contrib-h, .scene-h, .subp-h, .ctb-h, .adv-h, .cph-h, .now-h {
  font-family: var(--gh-font-heading); font-weight: 700;
  font-size: clamp(40px, 5.5vw, 68px); line-height: 1.1; letter-spacing: -1.5px;
}
summary:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}
.article-wrap > *, .hp-band > *, .hp-band-main > *, .list-card-body,
.news-sidebar-layout > *, .related-layout > * { min-width: 0; }
.article-body { overflow-wrap: anywhere; }
.article-body iframe, .article-body video, .article-body img { max-width: 100%; }
.article-body .kg-image-card img { height: auto; width: 100%; }
.article-body h2, .article-body h3 { scroll-margin-top: 110px; }
.article-hero .breadcrumb { display: flex; align-items: center; min-width: 0; }
.article-hero .breadcrumb a { white-space: nowrap; }
.article-hero .breadcrumb > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.article-body p, .article-body li { line-height: 1.85; }
.hero-title-big, .hp-lead-headline, .list-card-title { text-transform: none; }
.hero-without-image { height: auto; min-height: 0; }
.hero-without-image .grid-bg, .hero-without-image .bg-fade { display: none; }
.hero-without-image .hero-text { position: relative; padding: 36px; }
.hero-caption { line-height: 1.6; overflow-wrap: anywhere; }
.byline { gap: 20px; flex-wrap: wrap; }
.author-meta { line-height: 1.7; }
.coverage-heading { margin: 32px 0 20px; font-size: 22px; }
.review-title { font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin-bottom: 12px; letter-spacing: -.6px; }
.scene-section:not(:has(a)) { display: none; }
.list-card:has(.list-card-image:not(:has(img))) { grid-template-columns: 1fr; }
.list-card-image:not(:has(img)) { display: none; }
.page-content-wrap { max-width: 800px; margin: 0 auto; padding: 36px 24px 80px; }
.page-content-hero { max-width: 800px; margin: 0 auto; padding: 48px 24px 0; }
.page-content-title { font: 700 clamp(36px, 5vw, 60px)/1.12 var(--gh-font-heading); letter-spacing: -1px; }
.page-content-lead { margin-top: 20px; font-size: 18px; line-height: 1.7; color: var(--text-muted); }
.drawer-theme-toggle { padding: 12px 0; background: none; border: none; color: var(--text);
  cursor: pointer; font: inherit; text-align: left; min-height: 44px; }
.drawer-theme-toggle[aria-pressed="true"] { color: var(--accent); }
.nav-links a[aria-current="page"] { color: var(--text); border-bottom: 2px solid transparent; }
.mobile-drawer-section:not(:has(a, button)),
.site-footer-discover-row:not(:has(a)) { display: none; }
.mobile-drawer a, .site-footer-col a { overflow-wrap: anywhere; }
.member-feedback { display: none; width: 100%; flex: 0 0 100%; grid-column: 1 / -1;
  font-size: 13px; line-height: 1.6; margin-top: 8px; color: var(--text); }
form[data-members-form].loading .member-feedback-loading,
form[data-members-form].success .member-feedback-success,
form[data-members-form].error .member-feedback-error { display: block; }
form[data-members-form] { flex-wrap: wrap; }
form[data-members-form] input { min-width: 0; }
form[data-members-form].loading button { opacity: .65; pointer-events: none; }
.member-feedback-error { color: var(--danger); }
.funding-disclosure a { text-decoration: underline; text-underline-offset: 3px; }
.adv-format-tag[data-cat] { color: var(--text); }
.error-links a, .error-cities a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
.subp-faq-item summary { cursor: pointer; }
.archive-year { scroll-margin-top: 100px; }
@media (max-width: 700px) {
  .gl-section-bar { flex-wrap: wrap; gap: 12px; }
  .gl-section-line { min-width: 0; }
  .gl-section-view-all { max-width: 100%; }
  .article-hero .hero-image { height: auto; display: flex; flex-direction: column; align-items: stretch; }
  .article-hero .hero-image > img { position: static; aspect-ratio: 16 / 10; height: auto;
    object-fit: cover; animation: none; }
  .article-hero .hero-image .grid-bg, .article-hero .hero-image .bg-fade { display: none; }
  .article-hero .hero-image .hero-text { position: static; padding: 24px 20px; }
  .article-hero .hero-image h1 { font-size: clamp(28px, 7.5vw, 40px); line-height: 1.15; }
  .article-hero .hero-subhead { font-size: 16px; line-height: 1.65; }
  .hp-sec-card, .hp-sec-card-lg { aspect-ratio: auto; display: flex; flex-direction: column; }
  .hp-sec-image { position: relative; aspect-ratio: 16 / 9; }
  .hp-sec-shade { display: none; }
  .hp-sec-text { position: static; padding: 18px; }
  .hp-sec-title, .hp-sec-card-lg .hp-sec-title { font-size: 20px; line-height: 1.3; }
  .newsletter-strip { gap: 12px; }
  .newsletter-strip-form { width: 100%; }
  .article-wrap { padding-inline: 20px; }
  .article-body { font-size: 17px; }
}
@media print {
  .policy-contents, .policy-aside, .mobile-drawer, .member-feedback { display: none !important; }
  .policy-grid { display: block; }
  .policy-article { max-width: none; }
}

/* Calm editorial type. Important declarations retire legacy injected global
   Anton/Space Grotesk rules; approved article wording is untouched. */
html body { font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
body h1, body h2, body h3, body h4, body h5, body h6,
.hp-lead-headline, .hp-sec-title, .list-card-title, .news-card-title {
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 650 !important; font-stretch: normal;
  text-transform: none !important; letter-spacing: -.025em;
}
body .policy-h, body .archive-h, body .contrib-h, body .scene-h,
body .subp-h, body .ctb-h, body .adv-h, body .cph-h, body .now-h,
body .page-content-title { font-family: var(--gh-font-heading) !important; font-weight: 700 !important; }
body .logo, body .logo-name { font-family: "Archivo", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 750 !important; letter-spacing: .035em; text-shadow: none !important; }
body .logo::before, body .logo::after, body .logo-name::before, body .logo-name::after { content: none !important; }
/* A static announcement cannot slide beneath its label or repeat mid-sentence. */
body .ticker { display: grid; grid-template-columns: auto minmax(0, 1fr);
  height: auto; min-height: 38px; overflow: hidden; padding-inline: max(16px, calc((100% - var(--container))/2)); background: var(--surface);
  color: var(--text); border-bottom: 1px solid var(--border); }
body .ticker-label { position: static; align-self: stretch; padding: 8px 18px 8px 0;
  background: var(--surface); color: var(--text-muted); border-right: 1px solid var(--border);
  font: 600 12px/1.5 "Public Sans", Arial, sans-serif; letter-spacing: 0; text-transform:none; color:var(--text); }
body .ticker-content { display: block; min-width: 0; padding: 8px 0 8px 18px;
  animation: none !important; transform: none !important; overflow: hidden; }
body .ticker-text { display: block; padding: 0; white-space: normal; overflow-wrap: anywhere;
  font: 400 12px/1.65 "Public Sans", Arial, sans-serif !important;
  letter-spacing: 0 !important; text-transform: none !important; }
@media (max-width: 600px) {
  body .ticker { grid-template-columns: minmax(0, 1fr); }
  body .ticker-label { padding: 8px 0 0; border: 0; }
  body .ticker-content { padding: 3px 0 9px; }
}

/* Compact footer: five groups fit the grid, with no orphan About row. */
body { padding-bottom: 0; }
.site-footer-top { padding: 36px 0 24px; }
.site-footer-top > .site-footer-inner:first-child { grid-template-columns: minmax(220px, .9fr) minmax(0, 2.7fr); gap: 40px; }
.site-footer-brand, .site-footer-cols, .site-footer-col { min-width: 0; }
.site-footer-cols { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.site-footer-col-h { letter-spacing: 1.2px; margin-bottom: 10px; }
.site-footer-col a { line-height: 1.55; padding-block: 6px; }
.site-footer-top > .site-footer-discover { display: flex; flex-wrap: wrap; gap: 12px 36px; margin-top: 24px; padding-top: 18px; }
.site-footer-discover-row { margin: 0; gap: 8px 14px; }
.site-footer-discover-h { min-width: auto; }
.site-footer-legal { font-size: 11px; line-height: 1.7; text-transform: none; letter-spacing: .02em; }
.site-footer-legal > div:first-child { max-width: 90ch; }
.site-footer-social { align-items: center; flex-shrink: 0; }
footer.site .site-footer-social .raven-mascot { margin: 0; width: 40px; height: 40px; display: block; }
footer.site .raven-mascot svg { width: 40px; height: 40px; }
@media (max-width: 1100px) {
  .site-footer-top > .site-footer-inner:first-child { grid-template-columns: 1fr; gap: 28px; }
  .site-footer-blurb { max-width: 55ch; }
}
@media (max-width: 700px) {
  .site-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .site-footer-col a { min-height: 40px; display: flex; align-items: center; }
  .site-footer-top { padding-top: 28px; }
  .site-footer-top > .site-footer-discover { gap: 16px; }
  .site-footer-discover-row a { padding-block: 6px; }
  .site-footer-legal { align-items: flex-start; flex-direction: column; gap: 12px; }
}

.submission-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 32px; }
.submission-path { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 16px; border: 1px solid var(--border-strong); border-radius: 4px; font-size: 13px; line-height: 1.6; }
.submission-path[aria-current="page"] { border-top: 3px solid var(--accent); padding-top: 18px; background: var(--surface); }
.submission-path-fee { color: var(--text-muted); font-size: 11px; line-height: 1.5; }
.submission-path-title { font-family: "Archivo", Arial, sans-serif; font-size: 18px; font-weight: 650; color: var(--text); }
.submission-path:hover { border-color: var(--accent); color: var(--text); }
#submission-guidance { scroll-margin-top: 110px; }
@media (max-width: 650px) { .submission-paths { grid-template-columns: 1fr; } .submission-path { padding: 16px; gap: 6px; } .submission-path[aria-current="page"] { padding-top: 14px; } }

/* Homepage rhythm: quiet headlines, compact signup, continuous map section. */
.dispatch-headlines { border-block: 1px solid var(--border); margin: 24px 0 0; }
.dispatch-headlines-inner { max-width: var(--container); margin-inline: auto; padding: 14px 24px; display: grid; grid-template-columns: 140px repeat(2, minmax(0, 1fr)); gap: 24px; align-items: center; }
.dispatch-headlines-label { color: var(--text-muted); font: 600 12px/1.5 "Public Sans", Arial, sans-serif; letter-spacing: 0; text-transform:none; color:var(--text); text-transform: uppercase; }
.dispatch-headline { display: block; padding-block: 4px; color: var(--text); font: 500 13px/1.55 "Public Sans", Arial, sans-serif; overflow-wrap: anywhere; }
.dispatch-headline:hover { color: var(--text); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.dispatch-headline + .dispatch-headline { border-left: 1px solid var(--border); padding-left: 24px; }
.home-template .featured-section { padding-top: 24px; padding-bottom: 24px; }
.newsletter-close { margin: 32px auto 16px; }
.newsletter-close-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 28px 32px; text-align: left; background: var(--surface); border-radius: 4px; }
.newsletter-close-inner::before { content: none; }
.newsletter-close-mark { margin-bottom: 10px; letter-spacing: 1.3px; }
.newsletter-close-h { font-size: clamp(24px, 2.5vw, 30px); line-height: 1.2; margin-bottom: 10px; }
.newsletter-close-deck { font-size: 14px; line-height: 1.65; margin: 0; max-width: 55ch; }
.newsletter-close-copy, .newsletter-close-action { min-width: 0; }
.newsletter-close-form { margin: 0; max-width: none; }
.newsletter-close-form input { width: 0; min-width: 0; flex: 1 1 140px; }
.newsletter-close-form button { min-height: 44px; flex-shrink: 0; }
.newsletter-close-fineprint { font-size: 11px; line-height: 1.7; margin-top: 12px; }
.home-template .events-map-section { padding-top: 16px; margin-bottom: 24px; }
@media (max-width: 700px) {
  .dispatch-headlines-inner { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 20px; }
  .dispatch-headline { padding-block: 8px; min-height: 44px; }
  .dispatch-headline + .dispatch-headline { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; }
  .newsletter-close { margin-top: 24px; padding-inline: 20px; }
  .newsletter-close-inner { grid-template-columns: 1fr; gap: 20px; padding: 24px 20px; }
  .newsletter-close-form { flex-direction: column; gap: 8px; }
  .newsletter-close-form input { width: 100%; flex: initial; }
  .newsletter-close-form button { width: 100%; }
}
.newsletter-close-fineprint a { text-decoration: underline; text-underline-offset: 3px; }
.home-template .featured-section > .gl-section-bar, .home-template .events-map-section > .container > .gl-section-bar { margin-top: 0; margin-bottom: 20px; }

/* Latest: three stationary links per group, with explicit rotation controls. */
.dispatch-headlines-inner { grid-template-columns: 68px minmax(0, 1fr) auto; gap: 20px; padding-block: 10px; }
.latest-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; min-width: 0; }
.latest-items .dispatch-headline { border: 0; padding: 4px 0; min-width: 0; font-size: 12px; }
.latest-items .dispatch-headline[hidden], .latest-controls[hidden] { display: none; }
.latest-controls { display: flex; gap: 4px; align-items: center; }
.latest-controls button { min-height: 36px; min-width: 30px; padding: 6px; border: 1px solid var(--border); background: none; color: var(--text-muted); font: 11px "Public Sans", Arial, sans-serif; cursor: pointer; }
.latest-controls button:hover { color: var(--text); border-color: var(--text-muted); }
@media (max-width: 900px) {
  .dispatch-headlines-inner { grid-template-columns: 1fr auto; gap: 10px; }
  .latest-items { grid-column: 1 / -1; grid-row: 2; }
  .latest-controls { grid-column: 2; grid-row: 1; }
}
@media (max-width: 600px) {
  .latest-items { grid-template-columns: 1fr; gap: 4px; }
  .latest-items .dispatch-headline { min-height: 44px; padding-block: 8px; }
}
/* Editorial front page: one story pool, no repeated sidebar or card feeds. */
.editorial-front { padding-top: 32px; }
.front-lead { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: center; color: var(--text); }
.front-lead:hover, .front-story:hover { color: var(--text); }
.front-lead-image { overflow: hidden; aspect-ratio: 4 / 3; background: var(--surface); }
.front-lead-image img { width: 100%; height: 100%; object-fit: cover; }
.front-lead-copy h1 { font-family: var(--gh-font-heading) !important; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.13; letter-spacing: -.025em; color: var(--text); margin: 12px 0 18px; text-shadow: none !important; }
.front-lead-copy > p { font-size: 16px; line-height: 1.7; color: var(--text-muted); margin-bottom: 20px; }
.front-kicker { display: block; font: 600 10px/1.5 'Public Sans', Arial, sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--accent); margin-top: 12px; }
.front-meta { font: 400 12px/1.6 'Public Sans', Arial, sans-serif; color: var(--text-muted); letter-spacing: 0; text-transform: none; }
.front-secondary, .front-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.front-secondary { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.front-story { min-width: 0; display: block; color: var(--text); }
.front-story-image { aspect-ratio: 16 / 9; background: var(--surface); overflow: hidden; }
.front-story-image img { width: 100%; height: 100%; object-fit: cover; }
.front-story h3 { font: 600 20px/1.3 'Archivo', Arial, sans-serif !important; color: var(--text); letter-spacing: -.02em; margin: 8px 0 12px; }
.front-story:hover h3, .front-lead:hover h1 { text-decoration: underline; text-decoration-color: var(--text-muted); text-underline-offset: 4px; }
.front-section { padding-top: 32px; padding-bottom: 16px; }
.front-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--border); padding-bottom: 12px; }
.front-section-head h2 { font: 600 24px/1.2 var(--gh-font-heading) !important; }
.front-section-head > a { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
/* Reading metadata and hero remain clear without text painted over photographs. */
.article-hero .hero-image { height: auto; display: flex; flex-direction: column; align-items: stretch; background: none; }
.article-hero .hero-image > img { position: static; height: auto; aspect-ratio: 21 / 9; object-fit: cover; animation: none; }
.article-hero .hero-image .grid-bg, .article-hero .hero-image .bg-fade { display: none; }
.article-hero .hero-image .hero-text { position: static; padding: 28px 0 12px; }
.article-hero h1 { font-family: var(--gh-font-heading) !important; font-size: clamp(30px, 4vw, 46px); line-height: 1.16; color: var(--text); max-width: 26ch; text-shadow: none !important; }
.article-hero .hero-subhead { max-width: 65ch; font-size: 17px; line-height: 1.7; color: var(--text-muted); }
.article-intro { max-width: 900px; padding: 18px 0 24px; }
.article-intro h1 { margin: 12px 0 16px; }
.article-feature-image { margin: 0; }
.article-feature-image > img { width: 100%; height: auto; max-height: 480px; object-fit: cover; border: 1px solid var(--border); }
.article-feature-image .hero-caption { padding: 10px 0 0; margin: 0; font: 12px/1.6 var(--gh-font-body); color: var(--text-muted); }
.article-feature-image .hero-caption a { text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:600px) { .article-intro { padding-block:12px 20px; } .article-feature-image > img { max-height:320px; } }

.hp-lead-meta, .author-meta, .author-meta time, .byline time { font-family: 'Public Sans', Arial, sans-serif; font-size: 12px; letter-spacing: 0; line-height: 1.7; text-transform: none; }
/* Inline search: part of the current page, no third-party white/gray overlay. */
.site-search[hidden] { display: none; }
.site-search { background: var(--surface); border-bottom: 1px solid var(--border); scroll-margin-top: 80px; }
.site-search-inner { max-width:800px; margin-inline:auto; padding-block:16px; }
.site-search-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.site-search-head h2 { font: 650 20px/1.3 var(--gh-font-heading) !important; }
.site-search button { color: var(--text); background: none; border: 1px solid var(--border-strong); padding: 6px 10px; cursor: pointer; min-width:44px; min-height:44px; font:16px/1 var(--gh-font-body); }
.site-search label { display: block; color: var(--text-muted); margin-bottom: 8px; font-size: 13px; }
.site-search input { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--border-strong); border-radius: 2px; padding:10px 12px; min-height:44px; font: 16px 'Public Sans', Arial, sans-serif; }
.search-status { margin: 8px 0 0; color: var(--text-muted); font-size: 12px; line-height:1.5; }
.search-results { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow-y: auto; }
.search-results li + li { border-top: 1px solid var(--border); }
.search-results a { display: flex; flex-direction: column; gap: 6px; padding: 16px 4px; }
.search-result-title { font: 600 18px/1.4 'Archivo', Arial, sans-serif; color: var(--text); }
.search-results a:hover .search-result-title { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 850px) {
  .front-lead { grid-template-columns: 1fr; gap: 20px; }
  .front-lead-image { aspect-ratio: 16 / 10; }
  .front-secondary, .front-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 550px) {
  .front-secondary, .front-stories { grid-template-columns: 1fr; }
  .editorial-front { padding-top: 20px; }
  .front-lead-copy h1 { font-size: 32px; }
  .article-hero .hero-image > img { aspect-ratio: 16 / 10; }
  .site-search-head h2 { font-size: 20px !important; }
}
/* Dedicated submission pages */
.submission-page { max-width: 1040px; padding-block: 32px 48px; }
.submission-page-head { max-width: 720px; margin-block: 20px 28px; }
.submission-page-head h1 { font: 650 clamp(32px,4vw,48px)/1.15 var(--gh-font-heading) !important; margin-bottom: 16px; }
.submission-page-head p, .submission-fee p { font: 16px/1.7 'Public Sans',Arial,sans-serif; color: var(--text-muted); }
.submission-fee { margin-block: 28px; padding: 20px; border: 1px solid var(--border); }
.submission-fee h2 { font-size: 20px; margin-bottom: 12px; }
.submission-pay { display: inline-block; margin-top: 16px; text-decoration: underline; }
.submission-form { margin-top: 32px; max-width: 800px; }
.submission-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.submission-field { display: flex; flex-direction: column; gap: 8px; font: 14px/1.5 'Public Sans',Arial,sans-serif; min-width: 0; }
.submission-field:has(textarea) { grid-column: 1 / -1; }
.submission-form input:not([type=checkbox]), .submission-form textarea { width: 100%; box-sizing: border-box; background: var(--surface); color: var(--text); border: 1px solid var(--border-strong); padding: 12px; font: 16px/1.5 'Public Sans',Arial,sans-serif; border-radius: 3px; }
.submission-form textarea { resize: vertical; min-height: 130px; }
.submission-consent { display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; font-size: 14px; line-height: 1.6; }
.submission-consent input { margin-top: 5px; width: 18px; height: 18px; flex-shrink: 0; }
.submission-form-note { color: var(--text-muted); font-size: 12px; line-height: 1.6; margin-block: 16px; }
.submission-send { padding: 14px 24px; min-height: 48px; border: 0; background: var(--accent); color: var(--bg); font: 600 14px 'Public Sans',Arial,sans-serif; cursor: pointer; }
.submission-send:disabled { opacity: .6; cursor: wait; }
[data-submission-status] { margin-top: 16px; font-size: 15px; line-height: 1.6; }
.submission-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.submission-guidance { max-width: 800px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--border); }
.submission-guidance summary { cursor: pointer; padding-block: 12px; }
@media(max-width:600px) { .submission-fields { grid-template-columns: 1fr; } }
/* Compact launch pages and native dialog forms. */
.submission-page { max-width: 820px; padding-block: 28px 40px; }
.submission-page-head { margin-block: 18px 20px; }
.submission-page-head h1 { font-size: clamp(30px,4vw,40px) !important; margin-bottom: 12px; }
.submission-page .submission-paths { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px 24px; }
.submission-page .submission-path { min-height:44px; padding:10px 12px; border:0; border-bottom:2px solid transparent; background:none; border-radius:0; }
.submission-page .submission-path[aria-current="page"] { border-bottom-color:var(--accent); color:var(--text); }
.submission-page .submission-path > span:not(.submission-path-title) { display: none; }
.submission-page .submission-path-title { margin: 0; font-size: 13px; }
.submission-open { margin-block: 0 12px; }
.submission-modal-open { overflow: hidden; }
.submission-dialog { width: min(680px,calc(100% - 32px)); max-height: 88dvh; box-sizing: border-box; padding: 22px; margin: auto; background: var(--bg); color: var(--text); border: 1px solid var(--border-strong); border-radius: 6px; overflow-y: auto; box-shadow: 0 20px 80px #0009; }
.submission-dialog:not([open]) { display: none; }
.submission-dialog::backdrop { background: #000b; backdrop-filter: blur(3px); }
.submission-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.submission-dialog-head h2 { font: 650 26px/1.2 var(--gh-font-heading) !important; }
.submission-dialog-head button { width: 44px; height: 44px; flex-shrink: 0; border: 1px solid var(--border); background: transparent; color: var(--text); font-size: 26px; cursor: pointer; }
.submission-dialog-intro { margin-bottom: 18px; color: var(--text-muted); font: 13px/1.6 'Public Sans',Arial,sans-serif; }
.submission-dialog .submission-form { margin: 0; }
.submission-dialog .submission-fields { gap: 14px 16px; }
.submission-dialog .submission-field { font-size: 12px; gap: 5px; }
.submission-dialog .submission-form input:not([type=checkbox]), .submission-dialog textarea { padding: 9px 10px; font-size: 16px; line-height: 1.4; }
.submission-dialog .submission-form textarea { min-height: 80px; height: 88px; }
.submission-dialog .submission-consent { margin-top: 18px; font-size: 12px; line-height: 1.5; }
.submission-dialog .submission-form-note { margin-block: 12px; font-size: 11px; }
.submission-dialog .submission-send { width: 100%; }
.submission-dialog [hidden] { display: none !important; }
@media(max-width:600px) { .submission-dialog { padding: 16px; max-height: 92dvh; } .submission-dialog .submission-fields { gap: 12px; } }

/* Music intake: visible editorial guidance beside one compact application panel. */
:is(.submission-page-music, .submission-page-editorial) { max-width:1080px; padding-top:28px; }
.submission-page-kicker { display:block; color:var(--accent); font:600 12px/1.5 var(--gh-font-body); text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; }
:is(.submission-page-music, .submission-page-editorial) .submission-page-head { max-width:740px; margin-block:24px; }
:is(.submission-page-music, .submission-page-editorial) .submission-page-head h1 { font-size:clamp(36px,4vw,48px) !important; margin-bottom:16px; }
:is(.submission-page-music, .submission-page-editorial) .submission-paths { border-bottom:1px solid var(--border); gap:12px; margin-bottom:32px; }
.submission-intake-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:48px; align-items:start; }
.submission-checklist h2 { font-size:24px; line-height:1.25; margin-bottom:10px; }
.submission-checklist-intro { color:var(--text-muted); font-size:15px; line-height:1.65; }
.submission-checklist ol { list-style:none; counter-reset:intake; margin-top:20px; }
.submission-checklist li { position:relative; counter-increment:intake; padding:18px 0 18px 38px; border-top:1px solid var(--border); }
.submission-checklist li::before { content:counter(intake,decimal-leading-zero); position:absolute; left:0; top:20px; color:var(--accent); font:600 12px/1.5 var(--gh-font-body); }
.submission-checklist h3 { font-size:17px; line-height:1.4; margin-bottom:8px; }
.submission-checklist li p { color:var(--text-muted); font-size:15px; line-height:1.75; }
.submission-intake-aside { padding:24px; background:var(--surface); border:1px solid var(--border); }
.submission-intake-label { color:var(--accent); font:600 12px/1.5 var(--gh-font-body); letter-spacing:.08em; text-transform:uppercase; }
.submission-intake-price { margin:12px 0 16px; font:700 36px/1.2 var(--gh-font-heading); color:var(--text); }
.submission-intake-price span { display:block; margin-top:5px; font:400 14px/1.5 var(--gh-font-body); color:var(--text-muted); }
.submission-intake-aside > p:not(.submission-intake-price) { font:14px/1.7 var(--gh-font-body); color:var(--text-muted); }
.submission-intake-aside .submission-open { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:22px 0 12px; padding:12px 14px; border-radius:0; text-align:left; }
.submission-intake-aside p.submission-independence { font-size:12px; }
:is(.submission-page-music, .submission-page-editorial) .submission-guidance { margin-top:20px; padding-top:16px; max-width:none; }
.submission-support { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.submission-support h2 { font-size:16px; margin-bottom:10px; }
.submission-support p { color:var(--text-muted); font-size:13px; line-height:1.7; }
.submission-support a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:760px) {
 .submission-intake-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .submission-intake-aside { grid-row:1; padding:20px; }
 :is(.submission-page-music, .submission-page-editorial) .submission-page-head { margin-block:20px; }
 :is(.submission-page-music, .submission-page-editorial) .submission-paths { gap:4px; }
 :is(.submission-page-music, .submission-page-editorial) .submission-path { padding-inline:8px; }
}

/* Complete genre archives use native posts, with compact text-led rows. */
.genre-story { display:flex; gap:20px; padding:20px 0; border-bottom:1px solid var(--ed-rule); align-items:start; }
.genre-story-image { flex:0 0 144px; }
.genre-story-image img { width:144px; aspect-ratio:4/3; object-fit:cover; display:block; }
.genre-story-copy { min-width:0; max-width:75ch; }
.genre-story-copy time { color:var(--ed-muted); font:400 13px/1.5 var(--ed-ui); }
.genre-story-copy h2 { font-size:24px; line-height:1.25; margin:6px 0 10px; }
.genre-story-copy h2 a { color:var(--ed-ivory); }
.genre-story-copy p { color:var(--ed-muted); font:400 15px/1.65 var(--ed-ui); margin:0; }
.genre-pagination { display:flex; gap:24px; align-items:center; justify-content:center; padding:24px 0; font-size:14px; }
.genre-pagination a { color:var(--ed-brand); padding:8px; }
@media(max-width:600px) { .genre-story { gap:14px; } .genre-story-image { flex-basis:80px; } .genre-story-image img { width:80px; } .genre-story-copy h2 { font-size:20px; } .genre-story-copy p { font-size:14px; } }

/* Free submissions share the Music & Mixes typography and intake layout. */
.submission-page-editorial .submission-field-group { grid-column:1 / -1; min-width:0; border:0; border-top:1px solid var(--border); padding:16px 0 0; margin:0; }
.submission-page-editorial .submission-field-group legend { padding:0 12px 0 0; color:var(--text); font:600 12px/1.5 'Public Sans',Arial,sans-serif; }
.submission-page-editorial .submission-group-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
.submission-page-editorial .submission-field-wide { grid-column:1 / -1; }
.submission-page-editorial .submission-field small { color:var(--text-muted); font:400 11px/1.6 'Public Sans',Arial,sans-serif; }
.submission-page-editorial :is(button,a,input,textarea,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:600px) { .submission-page-editorial .submission-group-grid { grid-template-columns:minmax(0,1fr); gap:12px; } }
