/* Offbeat fixes, 12 Nov 2026 (red team): subscribe box on report, archive and about pages; 40 px tap targets. */
.hx9-site a { min-height: 40px; padding: 0 8px; display: inline-flex; align-items: center; }
main details > summary { padding: 10px 0; min-height: 40px; cursor: pointer; }
.obf-sub { margin: 0 0 24px; padding: 20px; background: #fff; border: 1px solid #e6dcd9; border-top: 3px solid #641220; border-radius: 12px; }
.obf-sub h2, main .obf-sub h2 { margin: 0 0 6px !important; font: 700 22px/1.25 Georgia, "Times New Roman", serif !important; letter-spacing: 0 !important; text-transform: none !important; color: #1a0e10; }
.obf-sub p, main .obf-sub p { margin: 0 0 12px !important; font-size: 15px !important; line-height: 1.5 !important; color: #4a3b3e; }
.obf-form { display: flex; flex-direction: column; gap: 10px; }
.obf-form input[type=email] { min-height: 44px; padding: 0 12px; border: 1px solid #b9aaa6; border-radius: 8px; font-size: 16px; background: #fff; color: #1a0e10; }
.obf-form button { min-height: 44px; border: 0; border-radius: 8px; background: #641220; color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; }
.obf-form button:hover { background: #1a0e10; }
.obf-sub .obf-small { margin: 10px 0 0; font-size: 13px; color: #6b5a5d; }
.obf-hp { display: none; }
.obf-sub-wide { max-width: 640px; }
@media (min-width: 640px) { .obf-sub-wide .obf-form { flex-direction: row; } .obf-sub-wide .obf-form input[type=email] { flex: 1; } .obf-sub-wide .obf-form button { padding: 0 20px; } }

/* Offbeat hub (owner, 12 Nov 2026): Season 2 cards, research reports, Season 1 list */
.obf-hub-intro { margin: 0 0 18px; font: italic 18px/1.5 Georgia, "Times New Roman", serif; color: #4a3b3e; }
.obf-block { padding: 18px 0 22px; border-top: 3px double #1a0e10; }
.obf-block + .obf-block { margin-top: 6px; }
.obf-blockh, main .obf-blockh { margin: 0 0 14px !important; font: 600 13px/1.2 "IBM Plex Mono", ui-monospace, monospace !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #C1121F !important; }
.obf-card { display: grid; grid-template-columns: 240px 1fr; gap: 18px; padding: 0 0 16px; margin: 0 0 16px; border-bottom: 1px solid #e3d9d6; }
.obf-card:last-child { border-bottom: 0; margin-bottom: 0; }
.obf-thumb img { display: block; width: 100%; height: auto; border: 1px solid #e3d9d6; }
.obf-kick { margin: 0 0 6px; font: 600 12px/1.3 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: #C1121F; }
.obf-kick span { color: #6b5a5d; margin-left: 8px; }
.obf-card h3, main .obf-card h3 { margin: 0 0 8px !important; font: 700 24px/1.2 Georgia, "Times New Roman", serif !important; }
.obf-card h3 a { color: #1a0e10; text-decoration: none; }
.obf-card h3 a:hover { text-decoration: underline; text-decoration-color: #C1121F; }
.obf-card p { margin: 0 0 8px; font: 16px/1.55 Georgia, "Times New Roman", serif; color: #2d2023; }
.obf-reps { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.obf-card-rep { grid-template-columns: 1fr; border-bottom: 0; margin: 0; }
.obf-card-rep h3, main .obf-card-rep h3 { font-size: 19px !important; }
@media (max-width: 700px) {
  .obf-card { grid-template-columns: 1fr; gap: 10px; }
  .obf-reps { grid-template-columns: 1fr; }
}

/* Cookie bar in the broadsheet colours on Offbeat pages; compact on phones so it does not hide the first screen */
html body #hx-consent { background: #FAF8F6; color: #1a0e10; border: 1px solid #1a0e10; border-top: 3px solid #C1121F; border-radius: 0; box-shadow: 0 6px 20px rgba(26,14,16,.12); font: 15px/1.45 Georgia, "Times New Roman", serif; max-width: 36rem; }
html body #hx-consent a { color: #C1121F; text-underline-offset: 3px; }
html body #hx-consent button { border-radius: 0; font: 600 13px/1 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; border: 1px solid #1a0e10; }
html body #hx-consent .hx-a { background: #1a0e10; color: #FAF8F6; }
html body #hx-consent .hx-d { background: #FAF8F6; color: #1a0e10; }
@media (max-width: 700px) {
  html body #hx-consent { left: 8px; right: 8px; bottom: 8px; padding: 10px 12px; font-size: 14px; }
  html body #hx-consent p { margin: 0 0 8px; }
  html body #hx-consent button { min-height: 40px; padding: 0 14px; }
}

/* Offbeat nav in the masthead on every page (owner, 12 Nov 2026: no Helix breadcrumb bar; the masthead carries the newsletter's own nav) */
.obx-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 20px; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; padding: 6px 0 8px; margin: 8px 0 0; }
.obx-nav a { color: #1a0e10; text-decoration: none; display: inline-flex; align-items: center; }
html body .obx-nav a { min-height: 40px; }
.obx-nav a:hover { text-decoration: underline; text-decoration-color: #C1121F; text-underline-offset: 4px; }
