:root {
  --ink: #12100f;
  --muted: #716d65;
  --paper: #fbf8ef;
  --pale: #f0e9d8;
  --line: #d0c7b4;
  --red: #b3000b;
  --deep-red: #651015;
  --section-color: #0a0a0a;
  --section-on-color: var(--white);
  --white: #fff;
  --wide: 1440px;
  --max: 1180px;
  --gr-motion-fast: 180ms;
  --gr-motion-close: 140ms;
  --gr-motion-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Disclosure cues */
.disclosure-indicator {
  position: relative;
  display: inline-block;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  vertical-align: middle;
}
.disclosure-indicator::before,
.disclosure-indicator::after {
  content: "";
  position: absolute;
  inset: 5.5px 1px;
  background: currentColor;
}
.disclosure-indicator::after {
  transform: rotate(90deg);
  transition: transform var(--gr-motion-fast) var(--gr-motion-ease), opacity var(--gr-motion-fast) ease;
}
[aria-expanded="true"] > .disclosure-indicator::after,
[aria-expanded="true"] > span > .disclosure-indicator::after,
details[open] > summary > .disclosure-indicator::after {
  transform: rotate(0);
  opacity: 0;
}
body details > summary { list-style: none; }
body details > summary::marker { content: ""; }
body details > summary::-webkit-details-marker { display: none; }
body details > summary:not(:has(.disclosure-indicator, .team-directory__disclosure-icon))::after {
  content: "";
  display: inline-block;
  float: right;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  margin-left: 12px;
  vertical-align: middle;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 10px 1px, 1px 10px;
  transition: background-size var(--gr-motion-fast) var(--gr-motion-ease);
}
body details[open] > summary:not(:has(.disclosure-indicator, .team-directory__disclosure-icon))::after {
  background-size: 10px 1px, 1px 0;
}
@supports selector(::details-content) {
  details:not([data-team-people])::details-content {
    opacity: 0;
    transition: opacity var(--gr-motion-fast) ease, content-visibility var(--gr-motion-fast) allow-discrete;
  }
  details[open]:not([data-team-people])::details-content { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .disclosure-indicator::after,
  body details > summary::after,
  details:not([data-team-people])::details-content { transition: none; }
}

.guest-review-page,
.guest-review-editor {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 64px) 0 96px;
}

.guest-review-card--message {
  max-width: 760px;
  margin: 8vh auto 0;
}

.guest-review-card--message h1 {
  margin: 5px 0 12px;
  font-family: var(--display);
  font-size: clamp(42px, 7vw, 76px);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.035em;
}

.guest-review-card--message > p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

.guest-review-card--message .button { margin-top: 12px; }

.guest-review-editor.article-workbench {
  display: block !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
  background: transparent !important;
}

.guest-review-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: start;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}

.guest-review-heading > div > p:last-child {
  max-width: 610px;
  margin: 10px 0 0;
  color: var(--muted);
  font-family: var(--display);
  font-size: 16px;
  line-height: 1.5;
}

.guest-review-heading dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.guest-review-heading dl div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.guest-review-heading dt {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.guest-review-heading dd { margin: 0; font-family: var(--display); }

.guest-review-editor__copy { padding-top: 18px; }

.guest-review-editor .guest-review-form {
  display: grid;
  width: 100%;
  max-width: none;
  gap: 0;
  margin: 0;
  padding: 0;
}

.guest-review-editor .article-editor__fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

.guest-review-editor .article-editor__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
}

.guest-review-editor .article-editor__fields {
  height: clamp(560px, calc(100vh - 300px), 820px);
  min-height: 520px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.guest-review-editor .universal-editor__identity {
  padding: 18px 0 16px !important;
  background: transparent !important;
}

.guest-review-editor .article-composer,
.guest-review-editor .article-composer__body {
  background: transparent !important;
}

.guest-review-editor__writer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  min-height: 43px;
  align-content: center;
  border-bottom: 1px solid #d0c9c0;
  padding: 2px 0 7px;
}

.guest-review-editor__writer > span {
  grid-column: 1 / -1;
  color: #4a443e;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.guest-review-editor__writer strong {
  overflow: hidden;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.guest-review-editor__writer small {
  color: var(--red);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.guest-review-editor .guest-review-editor__locked-field {
  display: flex;
  height: 27px;
  min-height: 27px;
  align-items: center;
  border: 0 !important;
  border-bottom: 1px solid #d0c9c0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 9px;
  text-transform: none;
}

.guest-review-details {
  display: grid;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}

.guest-review-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.guest-review-details label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.guest-review-checklist {
  display: grid;
  grid-template-columns: minmax(220px, .65fr) 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}

.guest-review-checklist h2 { margin: 3px 0 0; }
.guest-review-checklist p,
.guest-review-checklist ul { margin: 0; line-height: 1.5; }

.guest-review-actions,
.guest-review-confirm .actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.guest-review-actions {
  position: sticky;
  z-index: 8;
  bottom: 0;
  padding: 14px 0;
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(8px);
}

.guest-review-confirm {
  padding: 22px 0;
  border-top: 2px solid var(--section-color, #b0001b);
  border-bottom: 1px solid var(--line);
}

.guest-review-confirm p { margin: 0 0 14px; }

@media (max-width: 760px) {
  .guest-review-page,
  .guest-review-editor { width: min(100% - 24px, 1180px); padding-top: 28px; }
  .guest-review-heading,
  .guest-review-form__grid,
  .guest-review-checklist { grid-template-columns: 1fr; }
  .guest-review-editor .universal-editor__identity { grid-template-columns: 1fr !important; }
  .guest-review-editor .universal-editor__metadata { border-top: 1px solid var(--line); border-left: 0; padding: 14px 0 0; }
  .guest-review-editor .article-editor__fields { height: 680px; min-height: 0; }
  .guest-review-actions .button { flex: 1 1 100%; }
}

body[data-route="story-review"] {
  background: #f5f2ec;
}

body[data-route="story-review"] > .site-shell > .masthead,
body[data-route="story-review"] > .site-shell > .mobile-menu,
body[data-route="story-review"] > .site-shell > .footer {
  display: none;
}

body[data-route="story-review"] > .site-shell {
  min-height: 100dvh;
}

.guest-review-editor.article-workbench {
  width: 100%;
  min-height: 100dvh;
  margin: 0;
  padding: 0 0 156px;
}

.guest-review-shellbar {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 72px;
  align-items: center;
  padding: 10px clamp(20px, 3vw, 48px);
  border-bottom: 1px solid #d0c9c0;
  background: rgb(251 248 239 / 96%);
  backdrop-filter: blur(12px);
}

.guest-review-shellbar a {
  display: inline-grid;
  justify-self: start;
  color: var(--ink);
  text-decoration: none;
}

.guest-review-shellbar a strong {
  font-family: var(--font-editorial, Georgia, "Times New Roman", serif);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
}

.guest-review-shellbar a span,
.guest-review-shellbar > p,
.guest-review-shellbar > span {
  margin: 0;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.guest-review-shellbar a span { margin-top: 4px; color: var(--red); }
.guest-review-shellbar > p { justify-self: center; font-family: var(--font-editorial, Georgia, "Times New Roman", serif); font-size: 17px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.guest-review-shellbar > span { justify-self: end; color: var(--muted); }

.guest-review-heading,
.guest-review-editor__copy {
  width: min(1600px, calc(100% - 40px));
  margin-inline: auto;
}

.guest-review-heading {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .55fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: end;
  padding: 18px 0 16px;
}

.guest-review-heading h1 {
  margin: 3px 0 0;
  font-family: var(--font-editorial, Georgia, "Times New Roman", serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1;
}

.guest-review-heading > div > p:last-child {
  max-width: 680px;
  margin-top: 6px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.35;
}

.guest-review-heading dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 0;
}

.guest-review-heading dl div {
  display: block;
  padding: 3px 12px 7px;
  border-bottom: 0;
  border-left: 1px solid var(--line);
}

.guest-review-heading dd {
  margin-top: 4px;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.guest-review-editor__copy {
  width: 100%;
  padding-top: 14px;
}

.guest-review-editor .universal-editor__writer-trigger--static {
  cursor: default;
}

.guest-review-editor .universal-editor__writer-trigger--static:hover {
  border-bottom-color: #d0c9c0;
  color: #28231f;
}

.guest-review-editor .article-editor__fields {
  height: max(480px, calc(100dvh - 248px));
  min-height: 480px;
}

.guest-review-details {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0;
  background: #fffefa;
}

.guest-review-details summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  list-style: none;
  text-transform: uppercase;
}

.guest-review-details summary::-webkit-details-marker,
.guest-review-checklist summary::-webkit-details-marker { display: none; }
.guest-review-details summary span { color: var(--muted); font-size: 8px; }
.guest-review-details[open] summary { border-bottom: 1px solid var(--line); }
.guest-review-details .guest-review-form__grid { padding: 18px 16px; }

.guest-review-actions {
  position: fixed;
  z-index: 90;
  right: 20px;
  bottom: 18px;
  display: grid;
  width: min(210px, calc(100vw - 24px));
  gap: 6px;
  padding: 8px;
  border: 1px solid #d0c9c0;
  border-radius: 18px;
  background: rgb(255 254 250 / 96%);
  box-shadow: 0 10px 34px rgb(36 25 17 / 16%);
  backdrop-filter: blur(12px);
}

.guest-review-actions .button {
  width: 100%;
  min-height: 42px;
  margin: 0;
  white-space: nowrap;
}

.guest-review-checklist {
  position: relative;
  display: block;
  padding: 0;
  border: 0;
}

.guest-review-checklist > summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 13px;
  cursor: pointer;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  list-style: none;
  text-transform: uppercase;
}

.guest-review-checklist > summary strong {
  color: var(--red);
  font-size: 9px;
}

.guest-review-checklist__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  display: grid;
  width: min(370px, calc(100vw - 32px));
  gap: 18px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  border-radius: 16px;
  padding: 20px;
  background: #fffefa;
  box-shadow: 0 14px 36px rgb(36 25 17 / 18%);
}

.guest-review-checklist__panel h2 {
  margin: 4px 0 10px;
  font-family: var(--font-editorial, Georgia, "Times New Roman", serif);
  font-size: 24px;
  font-weight: 500;
}

.guest-review-checklist__panel p,
.guest-review-checklist__panel ul {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.guest-review-checklist__panel ul { padding-left: 18px; }
.guest-review-checklist__panel > div + div { border-top: 1px solid var(--line); padding-top: 16px; }

.guest-review-message {
  position: fixed;
  z-index: 91;
  right: 20px;
  bottom: 88px;
  max-width: min(430px, calc(100vw - 40px));
  margin: 0;
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
}

.guest-review-message:empty { display: none; }

body[data-route="story-review"] .admin-confirm {
  width: min(500px, calc(100vw - 32px));
  max-width: none;
  border: 0;
  border-radius: 16px;
  padding: 0;
  background: transparent;
  color: var(--ink);
}

body[data-route="story-review"] .admin-confirm::backdrop { background: rgb(18 16 15 / 44%); backdrop-filter: blur(3px); }
body[data-route="story-review"] .admin-confirm__paper { display: grid; gap: 14px; border-top: 4px solid var(--red); border-radius: 16px; padding: 26px; background: #fffefa; box-shadow: 0 20px 64px rgb(18 16 15 / 28%); }
body[data-route="story-review"] .admin-confirm__kicker { color: var(--red); font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
body[data-route="story-review"] .admin-confirm h2 { margin: 0; font-family: var(--font-editorial, Georgia, "Times New Roman", serif); font-size: 28px; font-weight: 500; }
body[data-route="story-review"] .admin-confirm label { display: grid; gap: 8px; font-size: 10px; font-weight: 900; }
body[data-route="story-review"] .admin-confirm__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }

.guest-review-confirm {
  width: min(500px, calc(100% - 32px));
  max-width: none;
  border: 0;
  border-radius: 18px;
  padding: 0;
  background: transparent;
  color: var(--ink);
}

.guest-review-confirm::backdrop {
  background: rgb(18 16 15 / 44%);
  backdrop-filter: blur(3px);
}

.guest-review-confirm__paper {
  border-top: 4px solid var(--red);
  border-radius: 18px;
  padding: 24px;
  background: #fffefa;
  box-shadow: 0 20px 64px rgb(18 16 15 / 28%);
}

.guest-review-confirm h2 {
  margin: 5px 0 9px;
  font-family: var(--font-editorial, Georgia, "Times New Roman", serif);
  font-size: 29px;
  font-weight: 500;
  letter-spacing: -.02em;
}

.guest-review-confirm p { margin: 0 0 20px; color: var(--muted); line-height: 1.45; }

@media (max-width: 760px) {
  .guest-review-shellbar { grid-template-columns: 1fr auto; min-height: 62px; padding-inline: 14px; }
  .guest-review-shellbar > p { display: none; }
  .guest-review-shellbar a strong { font-size: 21px; }
  .guest-review-heading,
  .guest-review-editor__copy { width: min(100% - 24px, 1600px); }
  .guest-review-heading { grid-template-columns: 1fr; gap: 14px; padding-top: 14px; }
  .guest-review-heading dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guest-review-heading dl div:first-child { border-left: 0; padding-left: 0; }
  .guest-review-editor .article-editor__fields { height: max(560px, calc(100dvh - 290px)); }
  .guest-review-actions { right: 10px; bottom: 10px; width: min(190px, calc(100vw - 20px)); }
  .guest-review-actions .button { padding-inline: 12px; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

.site-shell {
  min-height: 100vh;
  background: var(--white);
  overflow-anchor: none;
}

.masthead {
  background: var(--section-color);
  border-bottom: 0;
  color: var(--section-on-color);
}

.topbar {
  display: flex;
  justify-content: flex-end;
  gap: 22px;
  width: 100%;
  margin: 0;
  padding: 10px clamp(20px, 4vw, 64px);
  color: inherit;
  font-size: 16px;
  font-weight: 900;
}

.topbar a:hover {
  color: var(--section-on-color);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.masthead__inner {
  display: grid;
  justify-items: center;
  max-width: none;
  margin: 0 auto;
  border-bottom: 2px solid color-mix(in srgb, var(--section-on-color) 72%, transparent);
  padding: 22px clamp(20px, 4vw, 64px) 16px;
  text-align: center;
}

.masthead__kicker {
  display: block;
  margin-bottom: 8px;
  color: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.masthead__name {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(58px, 5.6vw, 94px);
  font-weight: 900;
  line-height: 0.96;
}

.masthead__est {
  display: block;
  width: fit-content;
  margin: -4px auto 0;
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.8vw, 28px);
  font-weight: 900;
  line-height: 1;
}

.nav {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  max-width: none;
  min-height: 42px;
  align-items: center;
  margin: 0 auto;
  border-bottom: 0;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}

.topbar,
.nav {
  color: var(--section-on-color);
}

.nav a {
  display: grid;
  min-width: 0;
  min-height: 42px;
  place-items: center;
  padding: 12px 6px;
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: var(--section-on-color);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

#app {
  min-height: 60vh;
}

.page {
  max-width: var(--wide);
  margin: 0 auto;
  padding: clamp(38px, 5vw, 72px) clamp(20px, 4vw, 64px);
}

.page--article {
  max-width: 1280px;
  padding-left: clamp(20px, 7vw, 120px);
  padding-right: clamp(20px, 7vw, 120px);
}

.eyebrow,
.chip {
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.headline {
  max-width: 930px;
  margin: 16px 0 26px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(48px, 5.4vw, 88px);
  line-height: 0.96;
  letter-spacing: 0;
}

.page--issue-archive .headline {
  max-width: none;
}

.lede {
  max-width: 720px;
  font-size: 23px;
  line-height: 1.38;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
  gap: clamp(42px, 6vw, 92px);
  align-items: center;
}

.story-rail {
  display: grid;
  gap: 0;
  align-self: stretch;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
}

.story-rail__lead,
.story-rail__item {
  display: block;
  padding: 22px 0;
}

.story-rail__lead {
  border-bottom: 1px solid var(--ink);
}

.story-rail__lead h2 {
  margin: 18px 0 24px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.02;
  letter-spacing: 0;
}

.story-rail__list {
  display: grid;
}

.story-rail__item {
  border-bottom: 1px solid var(--line);
}

.story-rail__item:last-child {
  border-bottom: 0;
}

.story-rail__item h3 {
  margin: 14px 0 16px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(20px, 1.8vw, 27px);
  line-height: 1.08;
  letter-spacing: 0;
}

.story-rail a:hover h2,
.story-rail a:hover h3 {
  color: var(--red);
}

.media {
  position: relative;
  min-height: 330px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(179, 0, 11, 0.08), transparent 45%),
    linear-gradient(0deg, rgba(18, 16, 15, 0.08), rgba(18, 16, 15, 0.02)),
    var(--pale);
}

.media::before {
  content: "";
  position: absolute;
  inset: 22px 22px 70px;
  border: 1px solid rgba(18, 16, 15, 0.14);
  background:
    linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.46) 40%, rgba(255, 255, 255, 0.46) 52%, transparent 52%),
    repeating-linear-gradient(0deg, rgba(18, 16, 15, 0.12), rgba(18, 16, 15, 0.12) 1px, transparent 1px, transparent 18px);
}

.media::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  height: 3px;
  background: var(--red);
}

.media--image {
  background: var(--paper);
}

.media--image::before,
.media--image::after {
  display: none;
}

.media--image picture {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.media--image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ink);
  border-radius: 2px;
  padding: 0 24px;
  background: var(--white);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}

.button--primary {
  border-color: var(--red);
  background: var(--red);
  color: var(--white);
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.rule {
  height: 2px;
  margin: clamp(42px, 5vw, 64px) 0 34px;
  background: var(--ink);
}

.section-heading {
  margin: 0 0 24px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: 0;
}

.chip-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 14px 22px;
  max-width: 640px;
  margin-bottom: 42px;
}

.section-chip {
  border: 0;
  border-radius: 0;
  min-height: 0;
  padding: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.section-chip--category {
  color: var(--chip-color, var(--ink));
}

.section-chip--active,
.section-chip:hover {
  color: var(--red);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.section-chip--category.section-chip--active,
.section-chip--category:hover {
  color: var(--chip-color, var(--red));
}

.home-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  gap: clamp(44px, 6vw, 90px);
}

.home-issue-panel {
  width: 100%;
  max-width: none;
  padding: 0;
}

.home-body + section,
.home-issue-panel + section {
  margin-top: clamp(48px, 6vw, 76px);
  border-top: 2px solid var(--ink);
  padding-top: 28px;
}

.latest-list {
  display: grid;
  gap: 20px;
}

.story-row {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
  gap: 28px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
}

.story-row .media {
  min-height: 116px;
}

.story-row h3 {
  margin: 4px 0 28px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.meta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.panel {
  border: 1px solid var(--line);
  background: var(--paper);
  padding: clamp(28px, 3vw, 42px);
}

.issue-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.home-issue-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 5vw, 72px);
  margin: 18px 0 28px;
}

.issue-divider {
  align-self: stretch;
  border-left: 2px solid var(--ink);
  min-height: 420px;
}

.home-issue-list .issue-card {
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  min-height: 420px;
  align-items: start;
}

.home-issue-list .issue-cover {
  width: 100%;
  max-width: 100%;
  min-height: 420px;
  font-size: clamp(36px, 4vw, 58px);
}

.home-issue-list .issue-card:only-child {
  grid-column: 1 / -1;
  max-width: 880px;
}

.cover {
  display: grid;
  min-height: 220px;
  place-items: center;
  background: var(--red);
  color: var(--white);
  font-size: 30px;
  font-weight: 900;
  line-height: 0.95;
  text-align: center;
}

.issue-cover {
  align-content: center;
  gap: 4px;
  padding: 18px;
}

.issue-cover span,
.issue-cover strong,
.issue-cover small {
  display: block;
}

.issue-cover small {
  margin-top: 14px;
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
}

.issue-cover--image {
  min-height: 0;
  align-content: stretch;
  padding: 0;
  background: var(--white);
}

.issue-cover--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.highlight-grid,
.card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 32px);
}

.section-hero + .card-grid,
.section-main-grid + .card-grid {
  margin-top: clamp(54px, 7vw, 96px);
}

.article-card {
  min-height: 230px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
}

.article-card__body {
  padding: 24px;
}

.article-card__media {
  min-height: 180px;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.article-card h3 {
  margin: 22px 0 28px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: 0;
}

.newsletter {
  display: grid;
  grid-template-columns: 1fr 260px auto;
  gap: 24px;
  align-items: center;
  margin-top: 70px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 32px;
}

.field {
  min-height: 46px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--white);
  padding: 11px 13px;
  font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  unicode-bidi: plaintext;
}

.password-field {
  position: relative;
  display: block;
  width: 100%;
}

.password-field > .field {
  padding-right: 54px;
}

.password-field__toggle {
  position: absolute;
  top: 50%;
  right: 3px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  padding: 0;
  background: transparent;
  color: #181513;
  cursor: pointer;
  transform: translateY(-50%);
}

.password-field__toggle:hover {
  background: #f0ede7;
}

.password-field__toggle:focus-visible {
  outline: 2px solid var(--section-color);
  outline-offset: -3px;
}

.password-field__toggle img {
  width: 18px;
  height: 18px;
}

.footer {
  border-top: 2px solid color-mix(in srgb, var(--section-on-color) 72%, transparent);
  background: var(--section-color);
  color: var(--section-on-color);
}

.footer__inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) auto;
  gap: 34px;
  align-items: start;
  max-width: var(--wide);
  margin: 0 auto;
  padding: 38px clamp(20px, 4vw, 64px);
}

.footer h2 {
  margin: 0 0 12px;
  font-size: 38px;
  line-height: 1;
}

.footer nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  font-size: 13px;
  white-space: nowrap;
}

.footer nav a {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-right: 1px solid color-mix(in srgb, var(--section-on-color) 60%, transparent);
  padding: 5px 9px;
}

.footer nav a:first-child {
  padding-left: 0;
}

.footer nav a:last-child {
  border-right: 0;
}

.footer p {
  margin: 0;
  max-width: 360px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 18px;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.footer-social a {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-right: 1px solid color-mix(in srgb, var(--section-on-color) 60%, transparent);
  padding: 5px 10px;
}

.footer-social a:first-child {
  padding-left: 0;
}

.footer-social a:last-child {
  border-right: 0;
}

.footer-social a:hover,
.footer-social a:focus-visible {
  color: var(--section-on-color);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 820px);
  gap: clamp(40px, 6vw, 78px);
  align-items: start;
}

.article-title {
  max-width: 900px;
  margin: 16px 0 36px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(48px, 5vw, 74px);
  line-height: 0.98;
}

.standfirst {
  max-width: 800px;
  margin: 0 0 28px;
  font-size: 25px;
  line-height: 1.34;
}

.article-media {
  width: min(100%, 680px);
  min-height: clamp(360px, 42vw, 560px);
  margin-top: 36px;
}

.article-media img {
  object-position: center;
}

.caption {
  max-width: 680px;
  margin: 14px 0 28px;
  color: var(--muted);
  font-size: 12px;
}

.body-copy {
  max-width: 680px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.72;
}

.pullquote,
.support {
  max-width: 680px;
  margin: 44px 0;
  border: 1px solid var(--red);
  background: var(--paper);
  padding: 36px;
}

.article-source {
  max-width: 680px;
  margin-top: 42px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.article-source a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.related-stories {
  margin-top: clamp(58px, 8vw, 108px);
  border-top: 2px solid var(--ink);
  padding-top: 28px;
}

.section-empty {
  margin-bottom: 48px;
}

.pullquote {
  color: var(--deep-red);
  font-size: 32px;
  font-weight: 900;
  line-height: 1.15;
}

.support {
  border-color: var(--line);
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
}

.section-hero {
  display: grid;
  align-items: start;
}

.section-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: clamp(42px, 5vw, 72px);
  align-items: start;
}

.section-feature {
  display: grid;
  gap: 24px;
}

.section-feature .media {
  min-height: 330px;
}

.section-feature .eyebrow {
  margin: 0;
}

.section-feature .section-heading {
  margin-top: -8px;
}

.section-feature .lede {
  margin: -6px 0 0;
}

.top-content {
  border-top: 2px solid var(--ink);
  padding-top: 14px;
}

.top-content h2 {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-align: center;
}

.top-content ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: top-content;
}

.top-content li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding: 13px 0;
  counter-increment: top-content;
}

.top-content li::before {
  content: counter(top-content);
  color: color-mix(in srgb, var(--ink) 24%, transparent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
}

.top-content a {
  align-self: center;
  font-size: 17px;
  line-height: 1.35;
}

.top-content a:hover {
  color: var(--red);
}

.other-sections {
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.section-link {
  color: var(--link-color);
}

.section-link:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 40px 0 46px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 20px 18px;
}

.filter {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  min-height: auto;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.filter:first-child {
  padding-left: 18px;
}

.filter:last-child {
  border-right: 0;
  padding-right: 18px;
}

.filter:hover,
.filter:focus-visible {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.issue-layout {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 90px);
}

.issue-layout--reader {
  align-items: start;
  border-bottom: 2px solid var(--ink);
  padding-bottom: clamp(34px, 5vw, 58px);
}

.issue-layout .cover {
  min-height: 500px;
  font-size: 56px;
}

.issue-archive {
  display: grid;
  gap: 24px;
  margin-top: 48px;
}

.issue-tile {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
  border: 1px solid var(--line);
  padding: 24px;
}

.issue-tile .cover {
  min-height: 240px;
  font-size: 34px;
}

.issue-tile h2 {
  margin: 10px 0 16px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 34px;
  line-height: 1;
}

.uploaded-photo {
  display: block;
  min-height: 240px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--paper);
}

.uploaded-photo img,
.reader-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reader-photo {
  margin: 0 0 34px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.reader-photo img {
  max-height: 520px;
}

.reader-photo figcaption {
  padding: 10px 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.article-snippet {
  max-width: 720px;
  border-left: 6px solid var(--section-color);
  background: var(--paper);
  padding: 18px 22px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.45;
}

.destination-badge {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  margin: 8px 0 10px;
  border: 1px solid var(--badge-color);
  border-radius: 2px;
  background: var(--badge-color);
  color: var(--badge-on-color);
  padding: 0 14px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.section-uploads {
  margin: 0 0 48px;
  border-top: 2px solid var(--section-color);
  padding-top: 28px;
}

.pdf-section {
  margin-top: clamp(38px, 5vw, 64px);
}

.pdf-frame {
  display: block;
  width: 100%;
  min-height: min(76vh, 860px);
  border: 1px solid var(--ink);
  background: var(--paper);
}

.pdf-placeholder {
  display: grid;
  min-height: 420px;
  align-content: center;
  justify-items: start;
  border: 1px dashed var(--line);
  background: var(--paper);
  padding: clamp(28px, 5vw, 58px);
}

.pdf-placeholder h3 {
  margin: 0 0 16px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 34px;
  line-height: 1;
}

.content-list {
  display: grid;
  gap: 0;
  max-width: 720px;
  margin-top: 44px;
}

.content-list a {
  display: grid;
  gap: 5px;
  border-top: 1px solid var(--line);
  padding: 20px 0;
  font-size: 22px;
  font-weight: 900;
}

.content-list a span {
  color: var(--section-color);
  font-size: 11px;
  text-transform: uppercase;
}

.team-page .lede {
  max-width: 900px;
}

.team-hero-note,
.team-cta {
  display: grid;
  grid-template-columns: minmax(240px, 0.6fr) minmax(0, 1.4fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: start;
  margin: clamp(34px, 5vw, 62px) 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  padding: clamp(24px, 4vw, 40px);
}

.team-hero-note h2,
.team-leadership h2,
.team-cta h2 {
  margin: 0;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
}

.team-hero-note p {
  margin: 0;
  max-width: 820px;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.5;
}

.team-leadership {
  margin-top: clamp(32px, 5vw, 58px);
  margin-bottom: clamp(48px, 7vw, 86px);
}

.team-kicker {
  font-size: 14px;
  line-height: 1.25;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.team-grid--leadership {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  width: 100%;
}

.team-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  border: 1px solid var(--line);
  background: var(--white);
  padding: 22px;
}

.team-card--leadership {
  border-top: 5px solid var(--red);
  background: var(--paper);
}

.team-card__photo {
  display: grid;
  width: 74px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--line);
  background: var(--pale);
  color: var(--muted);
  font-size: 18px;
  font-weight: 900;
  object-fit: cover;
}

.team-card__photo--empty {
  background:
    repeating-linear-gradient(0deg, rgba(18, 16, 15, 0.08), rgba(18, 16, 15, 0.08) 1px, transparent 1px, transparent 12px),
    var(--pale);
}

.team-card h3 {
  margin: 4px 0 6px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 24px;
  line-height: 1.08;
}

.team-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.team-card__role {
  margin-bottom: 12px !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

.team-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 16px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.team-card__meta a {
  color: var(--red);
}

.team-group {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 54px);
  border-top: 1px solid var(--line);
  padding: 30px 0;
}

.team-group__intro h2 {
  margin: 0 0 12px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 30px;
  line-height: 1.05;
}

.team-group__intro p,
.team-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.team-empty {
  border: 1px dashed var(--line);
  background: var(--paper);
  padding: 24px;
}

.team-empty strong {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.team-cta {
  align-items: center;
  border-top-color: var(--red);
}

.team-cta .actions {
  justify-content: flex-end;
  margin-top: 0;
}

.two-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 70px;
  align-items: start;
}

.actions + .two-column {
  margin-top: 26px;
}

.steps,
.form-panel {
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 38px;
}

.steps ol {
  margin: 24px 0 0;
  padding-left: 22px;
  font-size: 20px;
  font-weight: 800;
  line-height: 2.1;
}

.interest-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.form-panel label {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
}

.form-panel textarea {
  min-height: 110px;
}

.form-panel select {
  appearance: auto;
}

.form-panel label span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 18px 0;
  border: 1px solid var(--line);
  padding: 18px;
}

.checkbox-group legend {
  padding: 0 8px;
  font-size: 14px;
  font-weight: 900;
}

.checkbox-group label,
.check-line {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start;
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.45;
}

.checkbox-group input,
.check-line input {
  margin-top: 2px;
}

.enquiry-form {
  gap: 20px;
  scroll-margin-top: 24px;
}

.enquiry-form h2 {
  margin-bottom: 4px;
}

.enquiry-form .form-note {
  margin-bottom: 8px;
}

.enquiry-form > .check-line:first-of-type {
  margin-top: 8px !important;
}

.enquiry-form > .button {
  margin-top: 6px;
  width: fit-content;
}

.form-message {
  display: none;
  border: 1px solid var(--line);
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.form-message--error,
.form-message--success {
  display: block;
}

.form-message--error {
  border-color: var(--red);
  background: #fff3f1;
  color: var(--deep-red);
}

.form-message--success {
  border-color: #217048;
  background: #edf8f1;
  color: #217048;
}

.publish-panel {
  display: grid;
  gap: 22px;
  max-width: 980px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: clamp(28px, 4vw, 46px);
}

.publish-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.publish-grid--compact {
  max-width: none;
}

.category-key {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-self: end;
  padding: 4px 0;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.category-key span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.category-key i {
  width: 10px;
  height: 10px;
  background: var(--key-color);
}

.publish-panel label {
  display: grid;
  gap: 8px;
  font-size: 12px;
  font-weight: 900;
}

.publish-panel textarea {
  min-height: 128px;
}

.drop-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 22px;
}

.drop-zone {
  display: grid;
  min-height: 190px;
  place-items: center;
  align-content: center;
  border: 2px dashed var(--line);
  background:
    linear-gradient(120deg, transparent 38%, rgba(255, 255, 255, 0.68) 38%, rgba(255, 255, 255, 0.68) 52%, transparent 52%),
    repeating-linear-gradient(0deg, rgba(18, 16, 15, 0.12), rgba(18, 16, 15, 0.12) 1px, transparent 1px, transparent 18px),
    var(--pale);
  padding: 22px;
  text-align: center;
  cursor: pointer;
}

.drop-zone span {
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
}

.drop-zone small {
  max-width: 260px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.drop-zone input {
  max-width: 260px;
  margin-top: 18px;
}

.snippet-box textarea {
  min-height: 190px;
}

.location-field {
  max-width: 420px;
}

.destination-select {
  border-color: var(--red);
  background:
    linear-gradient(90deg, rgba(179, 0, 11, 0.08), transparent 48%),
    var(--white);
  font-weight: 900;
}

.form-note {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.cms-status {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  max-width: 980px;
  margin: 0 0 24px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 800;
}

.cms-status strong {
  color: var(--red);
  text-transform: uppercase;
}

.cms-status--online {
  border-color: rgba(33, 112, 72, 0.45);
  background: #edf8f1;
}

.cms-status--online strong {
  color: #217048;
}

.admin-list {
  display: grid;
  gap: 16px;
  max-width: 980px;
  margin-top: 28px;
}

.admin-issue-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px auto;
  gap: 24px;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--white);
  padding: 22px;
}

.admin-issue-row h2 {
  margin: 10px 0;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 28px;
  line-height: 1;
}

.admin-issue-row__meta {
  display: grid;
  gap: 4px;
  justify-items: center;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  padding: 8px 16px;
  text-align: center;
  text-transform: uppercase;
}

.admin-issue-row__meta strong {
  font-size: 28px;
  line-height: 1;
}

.admin-issue-row__meta span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.admin-review-header {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
}

.admin-review-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 44px);
  margin-top: 34px;
}

.admin-panel {
  border: 1px solid var(--line);
  background: var(--paper);
  padding: clamp(22px, 3vw, 34px);
}

.admin-panel h2 {
  margin: 0 0 18px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 24px;
  line-height: 1;
}

.detail-list {
  display: grid;
  gap: 12px;
  margin: 0 0 26px;
}

.detail-list div {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.detail-list dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.detail-list dd {
  margin: 0;
  font-weight: 900;
}

.status-pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 7px 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.status-pill--published {
  border-color: #217048;
  background: #edf8f1;
  color: #217048;
}

.status-pill--draft {
  border-color: #a97100;
  background: #fff7dc;
  color: #7a4c00;
}

.status-pill--needs-review,
.status-pill--uploaded,
.status-pill--queued {
  border-color: #a97100;
  background: #fff7dc;
  color: #7a4c00;
}

.status-pill--processing {
  border-color: #1768a6;
  background: #edf7ff;
  color: #155481;
}

.status-pill--ready {
  border-color: #1768a6;
  background: #edf7ff;
  color: #155481;
}

.status-pill--approved {
  border-color: #1768a6;
  background: #edf7ff;
  color: #155481;
}

.status-pill--failed {
  border-color: #9d2b2b;
  background: #fff0f0;
  color: #812020;
}

.empty-state {
  border: 1px solid var(--line);
  background: var(--paper);
  padding: clamp(26px, 4vw, 42px);
}

.pdf-frame--admin {
  min-height: 620px;
}

.import-detected,
.import-contents {
  margin-top: 28px;
}

.import-job {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  border: 1px solid #8eb8d7;
  background: #f2f8fc;
  padding: 22px;
}

.import-job--queued {
  border-color: #d9b45f;
  background: #fffaf0;
}

.import-job--failed {
  border-color: #cf8f8f;
  background: #fff5f5;
}

.import-job__heading,
.import-job .actions {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.import-job__heading h2,
.import-job__heading p,
.import-job > p {
  margin: 0;
}

.import-job__progress {
  height: 9px;
  overflow: hidden;
  border: 1px solid #8eb8d7;
  background: var(--white);
}

.import-job__progress span {
  display: block;
  height: 100%;
  min-width: 4px;
  background: #1768a6;
  transition: width 180ms ease;
}


.import-health {
  display: grid;
  grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1.3fr);
  gap: 28px;
  align-items: start;
  margin: 0 0 28px;
  border: 1px solid #d9b45f;
  background: #fffaf0;
  padding: 22px;
}

.import-health h2,
.import-health p {
  margin: 0;
}

.import-health ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.import-health--clear {
  display: flex;
  align-items: center;
  border-color: #80b397;
  background: #f0f8f3;
}

.import-health--pending {
  display: flex;
  align-items: center;
  border-color: #8eb8d7;
  background: #f2f8fc;
}

.import-health--clear span,
.import-health--pending span {
  color: var(--muted);
}

.import-warning {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 4px 12px;
  border-bottom: 1px solid rgb(122 76 0 / 18%);
  padding: 0 0 9px;
  font-size: 13px;
  line-height: 1.4;
}

.import-warning:last-child {
  border: 0;
  padding-bottom: 0;
}

.import-warning strong,
.import-warning small {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.import-warning strong {
  color: #7a4c00;
}

.import-warning--critical strong {
  color: #9d2b2b;
}

.import-warning small {
  grid-column: 2;
  color: var(--muted);
}

.import-contents ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
}

.import-pages-panel {
  margin-top: 28px;
}

.issue-metadata-form {
  display: grid;
  gap: 14px;
  margin-bottom: 30px;
}

.issue-metadata-form label,
.import-page-tools label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.issue-metadata-form textarea {
  min-height: 100px;
}

.metadata-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.metadata-actions .form-note {
  margin: 0;
}

.pdf-preview-heading {
  margin-top: 30px;
}

.import-drafts-panel {
  margin-top: 28px;
}

.admin-panel__empty {
  margin: 0;
  color: var(--muted);
}

.import-draft-list {
  display: grid;
  gap: 10px;
}

.import-draft-list article {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--line);
  padding: 14px 16px;
}

.import-draft-list article > div {
  display: grid;
  gap: 3px;
}

.import-draft-list__actions {
  display: flex !important;
  grid-auto-flow: column;
  gap: 8px !important;
  align-items: center;
}

.import-draft-list strong {
  font-size: 14px;
}

.import-draft-list article > div span,
.import-draft-list small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.import-page-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 14px;
  margin-bottom: 20px;
}

.import-page-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.import-page-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  background: #f8f8f5;
  padding: 16px;
}

.import-page-card[hidden] {
  display: none;
}

.import-page-card div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.import-page-card strong {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 13px;
}

.import-page-card span,
.import-page-card small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.import-page-card p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.import-page-card__meta {
  border-top: 1px solid var(--line);
  padding-top: 9px;
}

.import-page-card__note {
  border-left: 3px solid var(--line);
  padding-left: 10px;
  color: var(--muted) !important;
  font-size: 11px !important;
}

.import-candidates {
  display: grid;
  gap: 9px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.import-candidates__heading {
  align-items: baseline !important;
}

.import-candidates__heading strong {
  font-size: 11px;
  text-transform: uppercase;
}

.import-candidate {
  display: grid;
  gap: 7px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 12px;
}

.import-candidate > div {
  align-items: flex-start;
}

.import-candidate > div strong {
  max-width: 78%;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.25;
}

.import-candidate > div span {
  border: 1px solid currentColor;
  padding: 2px 5px;
}

.import-candidate p {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.import-candidate .button {
  margin-top: 0;
}

.import-page-card details {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.import-page-card summary {
  cursor: pointer;
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.import-page-card details p {
  max-height: 280px;
  margin-top: 12px;
  overflow: auto;
  white-space: pre-wrap;
}

.import-page-card .button {
  width: 100%;
  margin-top: 2px;
}

.article-editor__header {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-end;
  margin-bottom: 28px;
  border-bottom: 3px solid var(--ink);
  padding-bottom: 22px;
}

.article-inference-note {
  margin-bottom: 18px;
  border-left: 4px solid var(--section-color, var(--ink));
  background: #f2f0ea;
  padding: 13px 15px;
}

.article-inference-note strong {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.article-inference-note p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.article-editor__header h2 {
  max-width: 780px;
  margin: 10px 0 0;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 0.98;
}

.article-editor__approval {
  display: grid;
  max-width: 340px;
  gap: 9px;
  justify-items: end;
}

.article-approval-guidance {
  max-width: 320px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}

.article-approval-guidance[data-state="ready"],
.article-approval-guidance[data-state="approved"] {
  color: #217048;
}

.article-approval-guidance[data-state="error"] {
  color: #9d2b2b;
  font-weight: 800;
}

.article-editor__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
  gap: 28px;
  align-items: start;
}

.article-editor__form {
  display: grid;
  gap: 18px;
}

.article-editor__form > label,
.article-editor__form .publish-grid label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.article-editor__form textarea {
  min-height: 100px;
}

.article-editor__form .article-body-field {
  min-height: 620px;
  resize: vertical;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.55;
  text-transform: none;
}

.article-media-editor {
  display: grid;
  gap: 16px;
  margin-top: 4px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 78%, white);
  padding: 20px;
}

.article-media-editor .admin-panel__heading {
  margin-bottom: 0;
}

.article-media-editor h3 {
  margin: 3px 0 0;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1;
}

.article-media-editor label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.article-media-editor__current {
  display: grid;
  gap: 9px;
}

.article-media-editor__preview {
  width: 100%;
  min-height: 260px;
  max-height: 460px;
}

.article-media-editor__preview img {
  max-height: 460px;
}

.article-media-editor__current > p,
.article-media-editor__empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  text-transform: none;
}

.article-media-editor__empty {
  border: 1px dashed var(--line);
  background: var(--white);
  padding: 18px;
}

.article-media-editor__empty strong {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
}

.article-media-editor__file input {
  padding: 8px;
}

.article-media-editor__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 15px;
}

.article-media-editor__actions .text-button--danger {
  margin-left: 0;
}

.article-media-editor__actions .form-note {
  flex: 1 1 100%;
  margin: 0;
}

.article-editor__form-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.article-editor__form-actions .form-note {
  margin: 0;
}

.text-button {
  border: 0;
  background: transparent;
  padding: 8px 0;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  text-decoration: underline;
  text-transform: uppercase;
  cursor: pointer;
}

.text-button--danger {
  margin-left: auto;
  color: #9d2b2b;
}

.article-editor__sidebar {
  display: grid;
  gap: 18px;
}

.article-recovery-notice,
.article-conflict-notice {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border-left: 4px solid #b66a00;
  background: #fff4dc;
  padding: 14px 16px;
}

.article-conflict-notice {
  border-left-color: #a52828;
  background: #fff0ee;
}

.article-recovery-notice[hidden],
.article-conflict-notice[hidden] {
  display: none;
}

.article-recovery-notice strong,
.article-conflict-notice strong {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.article-recovery-notice p,
.article-conflict-notice p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

[data-save-status][data-state="dirty"],
[data-save-status][data-state="saving"] {
  color: #805000;
}

[data-save-status][data-state="conflict"],
[data-save-status][data-state="error"] {
  color: #9d2b2b;
}

[data-save-status][data-state="saved"] {
  color: #217048;
}

.article-revisions-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-revisions-list li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding: 13px 0;
}

.article-revisions-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.article-revisions-list li:last-child {
  padding-bottom: 0;
}

.article-revisions-list div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.article-revisions-list strong,
.article-revisions-list span,
.article-revisions-list small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.article-revisions-list strong {
  font-size: 12px;
  white-space: nowrap;
}

.article-revisions-list span,
.article-revisions-list small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.editorial-checklist ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.editorial-checklist li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.editorial-checklist li span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 11px;
}

.editorial-checklist li.is-complete {
  color: #217048;
}

.editorial-checklist li.is-complete span {
  border-color: #217048;
  background: #edf8f1;
}

.editorial-checklist > p {
  margin: 22px 0 0;
  border-top: 1px solid var(--line);
  padding-top: 16px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.article-source-panel details {
  border-top: 1px solid var(--line);
  padding: 12px 0;
}

.article-source-panel details:last-child {
  padding-bottom: 0;
}

.article-source-panel summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.article-source-panel details p {
  max-height: 360px;
  margin: 12px 0 0;
  overflow: auto;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.merge-page-options {
  display: grid;
  max-height: 360px;
  margin-bottom: 14px;
  overflow: auto;
  border: 1px solid var(--line);
}

.merge-page-options label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 10px;
  cursor: pointer;
}

.merge-page-options label:last-child {
  border-bottom: 0;
}

.merge-page-options span {
  display: grid;
  gap: 2px;
}

.merge-page-options strong {
  font-size: 12px;
}

.merge-page-options small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-management-panel form {
  display: grid;
  gap: 14px;
}

.source-management-panel label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-management-panel [hidden] {
  display: none !important;
}

.source-page-selection {
  display: grid;
  margin: 0;
  border: 1px solid var(--line);
  padding: 0;
}

.source-page-selection legend {
  width: 100%;
  border-bottom: 1px solid var(--line);
  padding: 10px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-page-selection label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 10px;
  color: var(--ink);
  cursor: pointer;
}

.source-page-selection label:last-child {
  border-bottom: 0;
}

.source-page-selection label span {
  display: grid;
  gap: 2px;
}

.source-page-selection label strong {
  font-size: 12px;
}

.source-page-selection label small {
  color: var(--muted);
  font-size: 9px;
}

.source-management-panel .button {
  justify-self: start;
}

.source-history {
  margin-top: 18px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.source-history summary {
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-history ol {
  display: grid;
  gap: 0;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.source-history li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  border-top: 1px solid var(--line);
  padding: 9px 0;
  font-size: 10px;
}

.source-history li span {
  font-weight: 900;
}

.source-history li strong {
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
}

.source-history li time {
  grid-column: 1 / -1;
  color: var(--muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
}

.warning {
  margin-top: 34px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 28px;
}

.search-row {
  display: grid;
  grid-template-columns: minmax(0, 620px) 130px;
  gap: 14px;
  align-items: center;
  margin: 36px 0 42px;
}

.search-row .button {
  width: 130px;
  padding: 0 16px;
}

.archive-layout {
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  gap: 44px;
  align-items: start;
}

.filter-panel {
  align-self: start;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 28px;
}

.filter-panel h2 {
  margin: 0 0 22px;
  font-size: 28px;
  line-height: 1.1;
}

.filter-panel label,
.filter-field {
  display: block;
  margin-top: 18px;
  font-size: 13px;
  font-weight: 900;
}

.filter-panel .field {
  min-height: 38px;
  margin-top: 6px;
}

.filter-field > span {
  display: block;
  margin-bottom: 8px;
  line-height: 1.25;
}

.filter-dropdown {
  position: relative;
}

.filter-dropdown summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  background: var(--white);
  padding: 0 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  list-style: none;
}

.filter-dropdown summary::-webkit-details-marker {
  display: none;
}

.filter-dropdown__menu {
  display: grid;
  border: 1px solid var(--line);
  border-top: 0;
  background: var(--white);
}

.filter-dropdown__menu button {
  min-height: 38px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: var(--white);
  padding: 0 14px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.filter-dropdown__menu button:last-child {
  border-bottom: 0;
}

.filter-dropdown__menu button:hover {
  background: var(--paper);
  color: var(--red);
}

.result {
  display: block;
  border: 1px solid var(--line);
  padding: 24px;
  margin-bottom: 18px;
}

.result h3 {
  margin: 8px 0 14px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 28px;
}

.result-count {
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
}

.empty-state {
  margin-top: 28px;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 28px;
}

@media (max-width: 980px) {
  .hero-grid,
  .home-body,
  .section-main-grid,
  .section-hero,
  .issue-layout,
  .issue-tile,
  .two-column,
  .team-hero-note,
  .team-leadership,
  .team-group,
  .team-cta,
  .archive-layout,
  .article-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .highlight-grid,
  .card-grid,
  .team-grid,
  .team-grid--leadership {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-cta .actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .topbar {
    justify-content: center;
    gap: 14px;
    overflow-x: auto;
    padding: 8px 16px;
    white-space: nowrap;
  }

  .masthead__inner {
    padding: 12px 12px 8px;
  }

  .masthead__kicker {
    margin-bottom: 4px;
    font-size: 8px;
    line-height: 1.2;
  }

  .masthead__name {
    font-size: 28px;
    line-height: 1;
  }

  .masthead__est {
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
    font-size: 13px;
  }

  .nav {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    font-size: 6px;
  }

  .nav a {
    min-height: 36px;
    padding: 8px 2px;
  }

  .page,
  .page--article {
    padding: 34px 20px;
  }

  .headline,
  .article-title {
    font-size: 34px;
    line-height: 1.08;
  }

  .section-heading {
    font-size: 28px;
    line-height: 1.12;
  }

  .lede,
  .standfirst {
    font-size: 17px;
  }

  .media,
  .article-media {
    min-height: 220px;
  }

  .chip-row,
  .newsletter {
    grid-template-columns: 1fr 1fr;
  }

  .search-row {
    grid-template-columns: 1fr;
  }

  .search-row .button {
    width: 100%;
  }

  .highlight-grid,
  .card-grid,
  .team-grid,
  .team-grid--leadership {
    grid-template-columns: 1fr;
  }

  .team-hero-note,
  .team-cta {
    padding: 24px;
  }

  .team-card {
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 18px;
  }

  .team-card__photo {
    width: 58px;
    font-size: 14px;
  }

  .team-card h3 {
    font-size: 21px;
  }

  .newsletter {
    gap: 14px;
  }

  .newsletter > div {
    grid-column: 1 / -1;
  }

  .story-row {
    grid-template-columns: 104px 1fr;
    gap: 18px;
  }

  .story-row .media {
    min-height: 84px;
  }

  .story-row h3 {
    margin-bottom: 32px;
    font-size: 18px;
    line-height: 1.12;
  }

  .filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 30px 0 36px;
    padding: 16px 14px;
  }

  .filter {
    min-height: auto;
    padding: 0 10px;
    font-size: 12px;
  }

  .filter:nth-child(2n) {
    border-right: 0;
  }

  .filter:last-child {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .panel,
  .steps,
  .form-panel {
    padding: 28px;
  }

  .checkbox-group {
    grid-template-columns: 1fr;
  }

  .issue-card {
    grid-template-columns: 1fr;
  }

  .home-issue-list .issue-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .home-issue-list .issue-cover {
    min-height: 280px;
  }

  .admin-issue-row,
  .admin-review-grid,
  .detail-list div {
    grid-template-columns: 1fr;
  }

  .admin-issue-row__meta {
    justify-items: start;
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 14px 0;
    text-align: left;
  }

  .cover {
    min-height: 170px;
  }

  .issue-layout .cover {
    min-height: 380px;
    font-size: 42px;
  }

  .issue-tile {
    padding: 18px;
  }

  .drop-grid {
    grid-template-columns: 1fr;
  }

  .publish-grid {
    grid-template-columns: 1fr;
  }

  .pdf-frame {
    min-height: 68vh;
  }

  .footer__inner {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 26px 20px;
  }

  .footer h2 {
    margin-bottom: 16px;
    font-size: 31px;
  }

  .footer p {
    font-size: 14px;
    line-height: 1.4;
  }

  .footer nav {
    flex-wrap: wrap;
    white-space: normal;
    font-size: 10px;
    line-height: 1.8;
  }

}

@media (max-width: 520px) {
  .home-issue-list {
    grid-template-columns: 1fr;
  }

  .issue-divider {
    border-left: 0;
    border-top: 2px solid var(--ink);
  }
}

/* Editorial redesign */ :root { --ink: #111111; --muted: #626262; --paper: #f4f4f1; --pale: #e9e9e5; --line: #c9c9c3; --red: #a90014; --deep-red: #74000d; --wide: 1440px; --max: 1280px; }
body { background: #fff; }
:focus-visible { outline: 3px solid #f4c542; outline-offset: 3px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 5000; padding: 12px 16px; background: #fff; color: #111; font-weight: 900; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.masthead { position: sticky; top: 0; z-index: 1000; background: var(--section-color); color: var(--section-on-color); transition: box-shadow 220ms ease; }
.masthead--compact { box-shadow: 0 10px 24px rgb(0 0 0 / 18%); }
.is-admin .masthead { position: relative; }
.topbar { display: block; max-height: 38px; overflow: hidden; border-bottom: 1px solid color-mix(in srgb, var(--section-on-color) 28%, transparent); padding: 0; font-size: 12px; letter-spacing: 0; opacity: 1; text-transform: uppercase; transition: max-height 240ms ease, border-color 180ms ease, opacity 160ms ease; }
.topbar__inner { display: flex; width: min(var(--max), calc(100% - 64px)); min-height: 38px; align-items: center; justify-content: space-between; margin: 0 auto; transition: min-height 240ms ease; }
.topbar__inner > span { opacity: 0.78; }
.topbar nav { display: flex; align-items: center; gap: 22px; }
.topbar nav a { display: inline-flex; min-height: 38px; align-items: center; }
.masthead__inner { min-height: 156px; align-content: center; border: 0; padding: 18px 32px 20px; transition: min-height 260ms ease, padding 260ms ease; }
.masthead__kicker { margin-bottom: 8px; font-size: 12px; letter-spacing: 0; transition: font-size 220ms ease, margin 220ms ease; }
.masthead__name { font-size: 82px; line-height: 0.9; transition: font-size 260ms ease; }
.masthead__est { margin-top: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: 0; text-transform: uppercase; transition: margin 220ms ease; }
.nav { width: min(var(--max), calc(100% - 64px)); min-height: 48px; border-top: 1px solid color-mix(in srgb, var(--section-on-color) 52%, transparent); font-size: 13px; transition: min-height 220ms ease; }
.nav a { position: relative; min-height: 48px; transition: min-height 220ms ease, padding 220ms ease; }
.nav a:hover, .nav a[aria-current="page"] { text-decoration: none; }
.nav a[aria-current="page"]::after { position: absolute; right: 18%; bottom: 0; left: 18%; height: 4px; background: currentColor; content: ""; }
.masthead--compact .topbar { max-height: 0; border-bottom-color: transparent; opacity: 0; pointer-events: none; }
.masthead--compact .topbar__inner { min-height: 0; }
.masthead--compact .masthead__inner { min-height: 86px; grid-template-columns: 1fr auto 1fr; align-items: center; justify-items: start; width: min(var(--max), calc(100% - 64px)); padding: 12px 0 14px; text-align: left; }
.masthead--compact .masthead__name { justify-self: center; font-size: 47px; }
.masthead--compact .masthead__kicker { max-width: 160px; margin: 0; font-size: 10px; line-height: 1.35; }
.masthead--compact .masthead__est { justify-self: end; margin: 0; }
.masthead--compact .nav, .masthead--compact .nav a { min-height: 42px; }
.masthead--compact .nav a { padding-top: 9px; padding-bottom: 9px; }
.page { width: min(var(--wide), 100%); padding: 56px clamp(32px, calc((100vw - var(--max)) / 2), 80px); }
.eyebrow { color: color-mix(in srgb, var(--section-color) 78%, #000); font-size: 11px; letter-spacing: 0; }
.section-chip { min-height: 24px; align-items: center; border: 0; border-radius: 2px; padding: 4px 8px 3px; background: var(--chip-color, var(--section-color)); color: var(--chip-on-color, #fff); font-size: 10px; line-height: 1; }
.section-chip--category.section-chip--active, .section-chip--category:hover { background: var(--chip-color, var(--section-color)); color: var(--chip-on-color, #fff); }
.meta { color: var(--muted); font-size: 12px; line-height: 1.45; }
.button { min-height: 44px; border: 1px solid #111; border-radius: 2px; padding: 0 18px; background: transparent; font-size: 12px; letter-spacing: 0; }
.button:hover { background: #111; color: #fff; }
.button--primary { border-color: var(--section-color); background: var(--section-color); color: var(--section-on-color); }
.button--compact { min-height: 36px; padding: 0 14px; }
.button--light { border-color: #fff; background: #fff; color: #111; }
.button--light:hover { background: transparent; color: #fff; }
.text-link { display: inline-flex; width: fit-content; border-bottom: 2px solid currentColor; padding-bottom: 3px; font-size: 12px; font-weight: 900; }
.module-heading { display: flex; align-items: baseline; justify-content: space-between; border-top: 3px solid currentColor; padding-top: 10px; }
.module-heading h2, .module-heading h3 { margin: 0; font-family: "Arial Black", Arial, sans-serif; font-size: 21px; }
.module-heading span, .module-heading a { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.module-heading--large { margin-bottom: 28px; border-top-width: 5px; padding-top: 14px; }
.module-heading--large h2 { font-size: 34px; }
.edition-line { display: flex; min-height: 36px; align-items: center; justify-content: space-between; padding: 0 max(32px, calc((100% - var(--max)) / 2)); border-bottom: 1px solid var(--line); background: #f2f2ef; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.edition-line a { border-bottom: 1px solid currentColor; }
.front-lead { display: grid; grid-template-columns: minmax(0, 8fr) minmax(320px, 4fr); gap: 42px; padding-top: 38px; padding-bottom: 58px; }
.front-lead__main { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr); gap: 28px; align-items: stretch; }
.front-lead__image { min-height: 560px; margin: 0; }
.front-lead__image img { width: 100%; height: 100%; object-fit: cover; }
.front-lead__copy { display: flex; flex-direction: column; justify-content: space-between; border-top: 7px solid var(--section-color); padding-top: 22px; }
.front-lead__copy h1 { margin: 12px 0 18px; font-family: "Arial Black", Arial, sans-serif; font-size: 45px; line-height: 0.98; letter-spacing: 0; }
.front-lead__copy .lede { margin: 0 0 24px; font-family: Georgia, serif; font-size: 19px; line-height: 1.42; }
.front-lead__rail { display: flex; flex-direction: column; gap: 0; }
.front-rail-story { display: block; border-bottom: 1px solid var(--line); padding: 18px 0; }
.front-rail-story--featured { padding-top: 22px; }
.front-rail-story__image { height: 180px; min-height: 0; margin: 0 0 14px; }
.front-rail-story__image img { width: 100%; height: 100%; object-fit: cover; }
.front-rail-story h3 { margin: 9px 0 12px; font-family: "Arial Black", Arial, sans-serif; font-size: 21px; line-height: 1.08; }
.latest-edition { background: #111; color: #fff; }
.latest-edition__inner { display: grid; grid-template-columns: 210px minmax(250px, 0.8fr) minmax(360px, 1.25fr); gap: 46px; width: min(var(--max), calc(100% - 64px)); align-items: center; margin: 0 auto; padding: 48px 0; }
.latest-edition .issue-cover { width: 210px; min-height: 296px; margin: 0; box-shadow: 12px 12px 0 #2a2a2a; }
.latest-edition__intro .eyebrow { color: #f4c542; }
.latest-edition__intro h2 { margin: 10px 0 16px; font-family: "Arial Black", Arial, sans-serif; font-size: 40px; }
.latest-edition__intro > p:not(.eyebrow) { margin: 0 0 24px; color: #d5d5d5; font-family: Georgia, serif; font-size: 16px; line-height: 1.55; }
.latest-edition__intro .actions { align-items: center; }
.latest-edition__contents .module-heading { border-color: #fff; }
.latest-edition__contents .module-heading span { color: #aaa; }
.latest-edition__contents > a { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: baseline; border-bottom: 1px solid #3e3e3e; padding: 13px 0; }
.latest-edition__contents > a b { color: #f4c542; font-family: Georgia, serif; font-size: 16px; }
.latest-edition__contents > a span { font-family: Georgia, serif; font-size: 15px; line-height: 1.25; }
.front-sections { padding-top: 64px; padding-bottom: 72px; }
.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 26px; }
.article-card { display: block; border: 0; background: transparent; }
.article-card__media { height: 220px; min-height: 0; margin: 0 0 16px; }
.article-card__media img { width: 100%; height: 100%; object-fit: cover; }
.article-card__body { padding: 0; }
.article-card h3 { margin: 10px 0 10px; font-size: 25px; line-height: 1.04; }
.article-card__body > p:not(.meta) { margin: 0 0 14px; color: #393939; font-family: Georgia, serif; font-size: 14px; line-height: 1.42; }
.join-band { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 48px; align-items: center; padding: 46px max(32px, calc((100% - var(--max)) / 2)); background: var(--red); color: #fff; }
.join-band .eyebrow { color: #fff; }
.join-band h2 { max-width: 630px; margin: 8px 0 0; font-family: "Arial Black", Arial, sans-serif; font-size: 34px; line-height: 1.04; }
.join-band > p { margin: 0; font-family: Georgia, serif; font-size: 16px; line-height: 1.5; }
.section-header, .search-header { background: var(--section-color); color: var(--section-on-color); }
.section-header .page, .search-header .page { position: relative; padding-top: 42px; padding-bottom: 44px; }
.section-header .eyebrow, .search-header .eyebrow { color: inherit; opacity: 0.72; }
.section-header h1, .search-header h1 { margin: 6px 0 12px; font-family: "Arial Black", Arial, sans-serif; font-size: 74px; line-height: 0.96; }
.section-header p:not(.eyebrow), .search-header p:not(.eyebrow) { max-width: 670px; margin: 0; font-family: Georgia, serif; font-size: 19px; line-height: 1.45; }
.section-header .page > span { position: absolute; right: max(32px, calc((100% - var(--max)) / 2)); bottom: 46px; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.section-page__body { padding-top: 48px; padding-bottom: 72px; }
.section-lead-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr); gap: 38px; align-items: start; }
.section-feature { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr); gap: 28px; align-items: end; align-self: start; border: 0; }
.section-feature .media { height: 510px; min-height: 0; margin: 0; }
.section-feature .media img { width: 100%; height: 100%; object-fit: cover; }
.section-feature h2 { margin: 10px 0 16px; font-family: "Arial Black", Arial, sans-serif; font-size: 39px; line-height: 0.98; }
.section-feature div > p:not(.eyebrow) { margin: 0 0 18px; font-family: Georgia, serif; font-size: 17px; line-height: 1.42; }
.section-side-stories { align-self: start; }
.section-side-stories > a { display: block; border-bottom: 1px solid var(--line); padding: 20px 0; }
.section-side-stories .media { height: 150px; min-height: 0; margin: 0 0 14px; }
.section-side-stories .media img { width: 100%; height: 100%; object-fit: cover; }
.section-side-stories h3 { margin: 0 0 10px; font-family: "Arial Black", Arial, sans-serif; font-size: 23px; line-height: 1.07; }
.section-more { margin-top: 62px; }
.section-empty { max-width: 760px; margin: 20px auto 0; border: 0; border-top: 8px solid var(--section-color); padding: 46px; text-align: center; }
.section-empty h2 { margin: 10px 0 14px; font-family: "Arial Black", Arial, sans-serif; font-size: 42px; }
.page--article { max-width: var(--max); padding-top: 48px; padding-right: 0; padding-left: 0; }
.article-header { max-width: 980px; margin: 0 auto 34px; }
.article-title { max-width: 980px; margin: 18px 0 24px; font-size: 67px; line-height: 0.98; }
.standfirst { max-width: 850px; margin: 0 0 26px; color: #303030; font-family: Georgia, serif; font-size: 23px; line-height: 1.42; }
.article-byline { display: flex; align-items: flex-end; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 16px; }
.article-byline > div { display: flex; gap: 16px; align-items: center; font-size: 13px; font-weight: 900; }
.article-byline > div span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.article-byline > div i { width: 1px; height: 30px; background: var(--line); }
.article-byline > p { margin: 0; color: var(--muted); font-size: 12px; }
.article-media { width: 100%; height: 690px; min-height: 0; margin: 0; }
.article-media img { width: 100%; height: 100%; object-fit: cover; }
.caption { margin: 9px 0 42px; color: var(--muted); font-size: 11px; }
.article-layout { display: grid; grid-template-columns: minmax(0, 720px) minmax(250px, 310px); gap: 100px; align-items: start; max-width: 1130px; margin: 0 auto; }
.body-copy { max-width: 680px; font-size: 20px; line-height: 1.72; }
.body-copy p:first-child::first-letter { float: left; margin: 6px 8px 0 0; color: var(--section-color); font-family: Georgia, serif; font-size: 72px; font-weight: 900; line-height: 0.72; }
.pullquote { max-width: 680px; margin: 38px 0; border-top: 6px solid var(--section-color); border-bottom: 1px solid var(--line); border-left: 0; padding: 24px 0 26px; color: var(--ink); font-family: "Arial Black", Arial, sans-serif; font-size: 31px; line-height: 1.08; }
.support { max-width: 680px; border-left: 6px solid var(--section-color); background: #f0f0ed; }
.article-source { max-width: 680px; }
.article-context { position: sticky; top: 20px; display: grid; gap: 28px; }
.article-context > div, .tip-card { border-top: 4px solid var(--section-color); padding-top: 14px; }
.article-context h2 { margin: 8px 0; font-family: "Arial Black", Arial, sans-serif; font-size: 25px; }
.article-context__issue > p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
.article-context__issue .text-link { display: inline-flex; min-height: 28px; align-items: center; }
.article-context__archive { display: grid; gap: 12px; }
.article-context__archive > p:not(.eyebrow) { display: grid; gap: 3px; margin: 0; color: var(--muted); font-size: 13px; }
.article-context__archive > p strong { color: var(--ink); font-family: Arial, sans-serif; font-size: 10px; text-transform: uppercase; }
.article-context__archive .text-link { justify-self: start; }
.article-context__related > a { display: flex; flex-direction: column; gap: 7px; border-bottom: 1px solid var(--line); padding: 14px 0; font-family: Georgia, serif; font-size: 15px; line-height: 1.3; }
.article-context__related > a span { color: var(--muted); font-family: Arial, sans-serif; font-size: 10px; text-transform: uppercase; }
.tip-card { display: flex; flex-direction: column; gap: 8px; background: #111; color: #fff; padding: 20px; }
.tip-card strong { font-family: "Arial Black", Arial, sans-serif; font-size: 21px; }
.tip-card span { color: #d7d7d7; font-family: Georgia, serif; font-size: 14px; line-height: 1.4; }
.related-stories { margin-top: 72px; border-top: 5px solid var(--ink); padding-top: 24px; }
.related-stories .card-grid { grid-template-columns: repeat(3, 1fr); }
.archive-header { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: end; border-bottom: 6px solid #111; padding-bottom: 30px; }
.archive-header h1 { margin: 6px 0 0; font-family: "Arial Black", Arial, sans-serif; font-size: 70px; line-height: 0.98; }
.archive-header > p { margin: 0; font-family: Georgia, serif; font-size: 19px; line-height: 1.5; }
.issue-archive { margin-top: 42px; }
.issue-tile { grid-template-columns: 220px minmax(0, 1fr); gap: 42px; border: 0; border-bottom: 1px solid var(--line); padding: 0 0 42px; background: transparent; }
.issue-tile .cover { width: 220px; min-height: 310px; }
.issue-tile h2 { margin: 10px 0 16px; font-family: "Arial Black", Arial, sans-serif; font-size: 42px; }
.issue-tile > div > p:not(.eyebrow, .meta) { max-width: 650px; font-family: Georgia, serif; font-size: 18px; line-height: 1.5; }
.issue-reader__hero { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 70px; align-items: start; }
.issue-reader__hero > .issue-cover { width: 360px; min-height: 510px; box-shadow: 14px 14px 0 color-mix(in srgb, var(--section-color) 20%, #ddd); }
.issue-reader__intro > h1 { margin: 8px 0 18px; font-family: "Arial Black", Arial, sans-serif; font-size: 64px; line-height: 0.98; }
.issue-reader__intro > p:not(.eyebrow, .article-snippet) { max-width: 730px; font-family: Georgia, serif; font-size: 20px; line-height: 1.5; }
.issue-reader__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; margin: 28px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.issue-reader__facts div { border-right: 1px solid var(--line); padding: 14px 16px; }
.issue-reader__facts div:first-child { padding-left: 0; }
.issue-reader__facts div:last-child { border-right: 0; }
.issue-reader__facts dt { margin-bottom: 4px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.issue-reader__facts dd { margin: 0; font-size: 13px; font-weight: 900; }
.issue-contents { margin-top: 34px; }
.issue-contents > a { display: grid; grid-template-columns: 42px 1fr; gap: 12px; border-bottom: 1px solid var(--line); padding: 13px 0; }
.issue-contents > a b { color: var(--section-color); font-family: Georgia, serif; font-size: 17px; }
.issue-contents > a span { display: flex; flex-direction: column; gap: 4px; }
.issue-contents > a small { color: color-mix(in srgb, var(--section-color) 78%, #000); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.issue-contents > a strong { font-family: Georgia, serif; font-size: 16px; }
.issue-reader__tables { margin-top: 40px; }
.issue-reader__table-block + .issue-reader__table-block { margin-top: 32px; }
.issue-reader__table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.issue-reader__table-scroll:focus-visible { outline: 3px solid var(--section-color); outline-offset: 3px; }
.issue-reader__table-scroll table { width: 100%; border-collapse: collapse; text-align: left; }
.issue-reader__table-scroll caption { padding: 16px; font-weight: 900; text-align: left; }
.issue-reader__table-scroll th, .issue-reader__table-scroll td { padding: 12px 16px; border-top: 1px solid var(--line); vertical-align: top; min-width: 100px; }
.issue-reader__table-scroll th { font-weight: 900; }
.issue-reader__table-source, .issue-reader__table-note { font-size: 14px; line-height: 1.5; }
.issue-reader__guide { margin-top: clamp(44px, 7vw, 88px); border-top: 7px solid var(--section-color); padding-top: 24px; }
.issue-reader__guide > header { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr); gap: 32px; align-items: end; margin-bottom: 30px; }
.issue-reader__guide > header h2 { margin: 4px 0 0; font-family: "Arial Black", Arial, sans-serif; font-size: clamp(36px, 5vw, 60px); line-height: 0.95; }
.issue-reader__guide > header > p { max-width: 520px; margin: 0 0 4px; color: var(--muted); font-family: Georgia, serif; font-size: 17px; line-height: 1.45; }
.issue-reader__guide-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr); gap: 28px; align-items: start; }
.issue-web-edition, .issue-print-map { border: 1px solid var(--line); background: var(--paper); padding: 24px; }
.issue-web-stories { display: grid; }
.issue-web-stories > a { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; border-bottom: 1px solid var(--line); padding: 16px 0; }
.issue-web-stories > a:first-child { padding-top: 2px; }
.issue-web-stories > a:last-child { border-bottom: 0; padding-bottom: 0; }
.issue-web-stories > a > b { color: var(--section-color); font-family: Georgia, serif; font-size: 24px; line-height: 1; }
.issue-web-stories > a > span { display: grid; gap: 4px; }
.issue-web-stories small, .issue-web-stories em { color: var(--muted); font-size: 9px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.issue-web-stories strong { font-family: Georgia, serif; font-size: 18px; line-height: 1.25; }
.issue-print-map ol { margin: 0; padding: 0; list-style: none; }
.issue-print-map li { border-bottom: 1px solid var(--line); }
.issue-print-map li:last-child { border-bottom: 0; }
.issue-print-map li > a, .issue-print-map li > span { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; }
.issue-print-map li strong { font-size: 13px; }
.issue-print-map li b { flex: 0 0 auto; color: var(--section-color); font-size: 10px; text-transform: uppercase; }
.issue-guide-empty { min-height: 160px; align-content: center; background: #f0f0ed; padding: 24px; }
.issue-guide-empty strong { font-family: "Arial Black", Arial, sans-serif; font-size: 18px; }
.issue-guide-empty p, .pdf-section__intro { max-width: 760px; color: var(--muted); font-family: Georgia, serif; font-size: 14px; line-height: 1.5; }
.pdf-section { margin-top: 12px; border-top: 7px solid var(--section-color); }
.pdf-placeholder { border: 0; background: #f0f0ed; }
.search-header h1 { font-size: 68px; }
#archive-search-form { padding-top: 40px; }
.search-row { grid-template-columns: minmax(0, 1fr) auto; gap: 0; margin: 0; }
.search-input { position: relative; }
.search-input span { position: absolute; top: 9px; left: 18px; z-index: 1; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.search-input .field { height: 66px; border: 2px solid #111; padding: 25px 18px 7px; font-family: Georgia, serif; font-size: 20px; }
.search-row .button { width: 130px; height: 66px; border-radius: 0; }
.search-filters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.search-filters .filter-field { gap: 6px; border-right: 1px solid var(--line); padding: 12px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.search-filters .filter-field:last-child { border-right: 0; }
.search-filters .field { height: 34px; min-height: 34px; border: 0; padding: 0; background: transparent; color: #111; font-size: 12px; font-weight: 800; text-transform: none; }
.search-summary { display: flex; align-items: baseline; gap: 16px; margin-top: 48px; border-top: 5px solid #111; padding-top: 14px; }
.search-summary h2 { margin: 0; font-family: "Arial Black", Arial, sans-serif; font-size: 32px; }
.search-summary span, .search-summary a { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.search-summary a { margin-left: auto; border-bottom: 1px solid currentColor; }
.search-results { margin-top: 10px; }
.result { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; border: 0; border-bottom: 1px solid var(--line); padding: 24px 0; }
.result__image { height: 145px; min-height: 0; margin: 0; }
.result__image img { width: 100%; height: 100%; object-fit: cover; }
.result h3 { margin: 7px 0 8px; font-size: 27px; line-height: 1.05; }
.result div > p:not(.meta) { max-width: 760px; margin: 0 0 9px; color: #3d3d3d; font-family: Georgia, serif; font-size: 14px; line-height: 1.42; }
.footer { border: 0; }
.footer__inner { width: min(var(--max), calc(100% - 64px)); padding-right: 0; padding-left: 0; }
body.is-admin { background: #f3f4f5; }
body.is-admin .masthead, body.is-admin > .site-shell > .footer { display: none; }
body.is-admin #app { min-height: 100vh; }
.admin-auth-page { display: grid; min-height: 100vh; place-items: center; background: linear-gradient(135deg, rgb(227 24 55 / 10%), transparent 46%), #101114; padding: 32px 18px; }
.admin-auth-card { display: grid; width: min(100%, 480px); gap: 26px; border-top: 7px solid #e31837; background: #fff; padding: 40px; box-shadow: 0 30px 80px rgb(0 0 0 / 32%); }
.admin-auth-card--loading { text-align: center; }
.admin-auth-mark { display: grid; width: 54px; height: 54px; place-items: center; margin: 0 auto; border-radius: 50%; background: #111; color: #fff; font-weight: 900; }
.admin-auth-brand { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.admin-auth-brand strong { font-family: Georgia, "Times New Roman", serif; font-size: 27px; }
.admin-auth-brand span { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.admin-auth-card h1 { margin: 4px 0 10px; font-family: "Arial Black", Arial, sans-serif; font-size: 38px; line-height: 1; }
.admin-auth-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.admin-auth-card form, .admin-password-form, #admin-user-form { display: grid; gap: 16px; }
.admin-auth-card form label, #admin-password-form label, #admin-user-form label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.admin-auth-card form .button { justify-self: stretch; }
.form-note--error { min-height: 18px; color: #9d2b2b !important; }
.admin-auth-security { border: 1px solid #d7d8db; background: #f4f4f1; padding: 16px; }
.admin-auth-security strong { font-size: 11px; text-transform: uppercase; }
.admin-auth-security p { margin-top: 6px; font-size: 12px; }
.admin-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: 100vh; background: #f3f4f5; }
.admin-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; background: #101114; color: #fff; }
.admin-brand { display: flex; min-height: 106px; flex-direction: column; justify-content: center; border-bottom: 1px solid #303137; padding: 0 28px; }
.admin-brand strong { font-family: Georgia, serif; font-size: 26px; }
.admin-brand span { margin-top: 4px; color: #9b9da4; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.admin-sidebar nav { display: grid; gap: 6px; padding: 24px 16px; }
.admin-sidebar nav a { border-left: 3px solid transparent; padding: 13px 14px; color: #bbbcc1; font-size: 13px; font-weight: 800; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.is-active { border-left-color: #e31837; background: #24252a; color: #fff; }
.admin-sidebar__footer { display: grid; grid-template-columns: 8px 1fr; gap: 9px; margin-top: auto; border-top: 1px solid #303137; padding: 22px 28px; font-size: 10px; }
.admin-sidebar__footer a { grid-column: 2; margin-top: 8px; color: #9b9da4; text-decoration: underline; }
.status-dot { width: 8px; height: 8px; margin-top: 2px; border-radius: 50%; background: #d14949; }
.status-dot.is-online { background: #37b46b; }
.admin-workspace { min-width: 0; }
.admin-topline { display: flex; min-height: 106px; align-items: center; justify-content: space-between; border-bottom: 1px solid #d9dadc; padding: 0 44px; background: #fff; }
.admin-topline span { color: #73767c; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.admin-topline h1 { margin: 5px 0 0; font-size: 27px; letter-spacing: 0; }
.admin-profile { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #111; color: #fff; font-size: 11px; font-weight: 900; }
.admin-account-summary { display: flex; align-items: center; gap: 18px; }
.admin-account-summary > a { display: flex; align-items: center; gap: 10px; }
.admin-account-summary > a > span:last-child { display: grid; gap: 2px; }
.admin-account-summary strong { font-size: 11px; }
.admin-account-summary small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.admin-account-summary .text-button { color: var(--muted); }
.admin-dashboard { padding: 38px 44px 60px; }
.admin-dashboard--narrow { max-width: 1120px; }
.admin-intro, .admin-review-title { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.admin-intro p { max-width: 620px; margin: 0; color: #5f6268; font-size: 15px; line-height: 1.5; }
.admin-intro h2, .admin-review-title h2 { margin: 4px 0 8px; font-family: "Arial Black", Arial, sans-serif; font-size: 31px; }
.admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 36px; }
.admin-stats > div { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; border: 1px solid #d9dadc; border-top: 4px solid #111; border-radius: 4px; padding: 20px; background: #fff; }
.admin-stats span { font-size: 12px; font-weight: 900; }
.admin-stats strong { grid-row: 1 / 3; grid-column: 2; font-size: 30px; }
.admin-stats small { color: #777a80; font-size: 10px; }
.admin-list-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.admin-list-heading h2 { margin: 0; font-size: 18px; }
.admin-list-heading span { color: #777a80; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.admin-list { gap: 0; border: 1px solid #d9dadc; border-radius: 4px; background: #fff; }
.admin-issue-row { grid-template-columns: 58px minmax(0, 1fr) 72px 92px auto; gap: 20px; min-height: 92px; align-items: center; border: 0; border-bottom: 1px solid #e1e2e4; padding: 16px 20px; background: transparent; }
.admin-issue-row:last-child { border-bottom: 0; }
.admin-issue-number { display: grid; width: 50px; height: 56px; place-items: center; background: #111; color: #fff; font-family: Georgia, serif; font-size: 13px; font-weight: 900; }
.admin-issue-row h2 { margin: 0 0 6px; font-size: 16px; }
.admin-issue-row p { margin: 0; color: #777a80; font-size: 11px; }
.admin-issue-row__meta { display: flex; align-items: baseline; justify-content: center; gap: 4px; border: 0; padding: 0; }
.admin-issue-row__meta strong { font-size: 20px; }
.admin-issue-row__meta span { font-size: 9px; }
.status-pill { border-radius: 999px; padding: 6px 10px; background: #ececf0; color: #4a4d53; font-size: 9px; }
.status-pill--published { background: #dff3e7; color: #146b39; }
.status-pill--draft, .status-pill--new { background: #fff1d5; color: #765000; }
.workflow-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 28px; padding: 0; list-style: none; }
.workflow-steps li { position: relative; display: flex; gap: 9px; align-items: center; border-top: 3px solid #d1d2d5; padding: 12px 8px 0 0; color: #7a7d83; font-size: 10px; }
.workflow-steps li span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #d1d2d5; color: #55585e; font-size: 9px; }
.workflow-steps li.is-current, .workflow-steps li.is-complete { border-color: #111; color: #111; }
.workflow-steps li.is-current span, .workflow-steps li.is-complete span { background: #111; color: #fff; }
.admin-review-title p { margin: 0; color: #777a80; font-size: 11px; }
.admin-review-title .actions { align-items: center; margin: 0; }
.admin-review-grid { grid-template-columns: minmax(300px, 0.7fr) minmax(420px, 1.3fr); gap: 18px; margin-top: 0; }
.admin-panel, .publish-panel { border: 1px solid #d9dadc; border-radius: 4px; background: #fff; }
.admin-panel__heading { display: flex; align-items: center; justify-content: space-between; }
.publish-panel { padding: 28px; }
.publish-panel fieldset { margin: 0 0 28px; border: 0; border-bottom: 1px solid #e1e2e4; padding: 0 0 28px; }
.publish-panel legend { margin-bottom: 18px; padding: 0; font-size: 15px; font-weight: 900; }
.publish-grid, .publish-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.publish-panel label { gap: 7px; color: #50535a; font-size: 11px; }
.publish-panel .field { border-color: #c9cbd0; border-radius: 3px; background: #fff; }
.pdf-drop { display: grid; min-height: 150px; place-items: center; align-content: center; border: 2px dashed #aeb0b6; border-radius: 4px; background: #f7f7f8; text-align: center; }
.pdf-drop strong { color: #111; font-size: 15px; }
.pdf-drop span { color: #777a80; font-size: 10px; }
.pdf-drop input { width: min(340px, 100%); margin-top: 10px; color: #111; font-size: 11px; }
@media (max-width: 1120px) { .front-lead { grid-template-columns: 1fr; }
.front-lead__main { grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr); }
.front-lead__rail { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; }
.front-lead__rail .module-heading { grid-column: 1 / -1; }
.section-feature { grid-template-columns: 1fr; }
.front-lead__image, .section-feature .media { height: 360px; min-height: 360px; }
.front-lead__copy h1, .section-feature h2 { font-size: 40px; }
.latest-edition__inner { grid-template-columns: 180px 1fr 1.15fr; gap: 30px; }
.latest-edition .issue-cover { width: 180px; min-height: 254px; }
.article-layout { gap: 54px; padding: 0 32px; }
.page--article { padding-right: 32px; padding-left: 32px; }
}
@media (max-width: 900px) { .topbar__inner > span, .masthead__est { display: none; }
.topbar__inner, .nav, body:not([data-route="home"]) .masthead__inner, .latest-edition__inner, .footer__inner { width: calc(100% - 40px); }
.topbar__inner { justify-content: flex-end; }
.front-lead, .latest-edition__inner, .section-lead-grid, .issue-reader__hero, .archive-header, .join-band, .article-layout { grid-template-columns: 1fr; }
.front-lead__main { grid-template-columns: 0.85fr 1.15fr; }
.front-lead__rail { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 24px; }
.front-lead__rail .module-heading { grid-column: 1 / -1; }
.latest-edition__inner { grid-template-columns: 180px 1fr; }
.latest-edition__contents { grid-column: 1 / -1; }
.editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.section-side-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.section-side-stories .module-heading { grid-column: 1 / -1; }
.article-context { position: static; grid-template-columns: repeat(3, 1fr); }
.issue-reader__hero > .issue-cover { width: 280px; min-height: 396px; }
.search-filters { grid-template-columns: repeat(3, 1fr); }
.admin-shell { grid-template-columns: 190px 1fr; }
.admin-topline, .admin-dashboard { padding-right: 28px; padding-left: 28px; }
.admin-stats { grid-template-columns: 1fr; }
.admin-issue-row { grid-template-columns: 50px minmax(0, 1fr) auto; }
.admin-issue-row__meta, .admin-issue-row > .status-pill { display: none; }
.admin-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) { .masthead__inner, .masthead--compact .masthead__inner { min-height: 74px; grid-template-columns: 1fr; justify-items: center; text-align: center; }
.masthead__kicker, .masthead--compact .masthead__kicker { display: none; }
.masthead__name, .masthead--compact .masthead__name { font-size: 40px; }
.masthead--compact .masthead__inner { min-height: 64px; width: 100%; padding-top: 10px; padding-bottom: 10px; }
.masthead--compact .masthead__name { font-size: 34px; }
.masthead--compact .nav, .masthead--compact .nav a { min-height: 38px; }
.nav { width: 100%; overflow-x: auto; grid-template-columns: repeat(8, minmax(72px, 1fr)); font-size: 10px; }
.topbar nav { gap: 14px; overflow-x: auto; }
.topbar__inner { width: calc(100% - 24px); }
.edition-line, .edition-line a { font-size: 9px; }
.page { padding-right: 20px; padding-left: 20px; }
.front-lead, .front-lead__main, .editorial-grid, .latest-edition__inner, .section-feature, .section-side-stories, .article-context, .join-band, .issue-reader__hero, .archive-header { grid-template-columns: 1fr; }
.front-lead__image, .section-feature .media { min-height: 300px; }
.front-lead__copy h1, .section-feature h2, .section-header h1, .search-header h1, .archive-header h1, .issue-reader__intro > h1, .article-title { font-size: 38px; }
.latest-edition__inner { width: calc(100% - 40px); }
.latest-edition .issue-cover { width: 160px; min-height: 226px; }
.section-header .page > span { position: static; display: block; margin-top: 20px; }
.article-media { height: 360px; }
.article-layout { padding: 0; }
.article-byline { align-items: flex-start; flex-direction: column; gap: 14px; }
.body-copy { font-size: 18px; }
.issue-reader__hero > .issue-cover { width: 220px; min-height: 311px; }
.search-row, .search-filters, .result { grid-template-columns: 1fr; }
.search-row .button { width: 100%; }
.search-filters .filter-field { border-bottom: 1px solid var(--line); }
.result__image { height: 210px; }
.admin-shell { grid-template-columns: 1fr; }
.admin-sidebar { position: static; height: auto; }
.admin-brand { min-height: 74px; }
.admin-sidebar nav { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); padding: 10px; }
.admin-sidebar__footer { display: none; }
.admin-topline { min-height: 84px; }
.admin-account-summary > a > span:last-child { display: none; }
.admin-account-summary { gap: 10px; }
.admin-dashboard { padding: 24px 18px 40px; }
.admin-auth-card { padding: 28px 22px; }
.admin-auth-brand { align-items: flex-start; flex-direction: column; }
.account-layout, .account-list article { grid-template-columns: 1fr; }
.account-list article { justify-items: start; }
.workflow-steps li b { display: none; }
.publish-grid, .publish-grid--compact { grid-template-columns: 1fr; }
.import-health, .import-page-tools { grid-template-columns: 1fr; }
.import-health--clear, .import-draft-list article { align-items: flex-start; flex-direction: column; }
.import-page-list { grid-template-columns: 1fr; }
.article-editor__header, .article-editor__form-actions, .import-draft-list__actions { align-items: flex-start; flex-direction: column; }
.article-editor__header .actions { width: 100%; }
.article-editor__header .actions .button { flex: 1; }
.article-editor__approval { width: 100%; max-width: none; justify-items: stretch; }
.article-approval-guidance { max-width: none; text-align: left; }
.article-editor__layout { grid-template-columns: 1fr; }
.article-editor__form > .admin-panel__heading { align-items: flex-start; flex-direction: column; gap: 8px; }
.article-recovery-notice, .article-conflict-notice { align-items: flex-start; flex-direction: column; }
.article-editor__form .article-body-field { min-height: 460px; font-size: 16px; }
.article-editor__form-actions .text-button--danger { margin-left: 0; }
}
.role-note { border: 1px solid var(--line); padding: 11px 14px; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.article-editor__fieldset { display: grid; gap: 16px; min-width: 0; margin: 0; border: 0; padding: 0; }
.article-editor__fieldset:disabled { opacity: 0.82; }
.account-page .admin-review-grid { align-items: start; }
.account-alert { margin-bottom: 24px; border-left: 6px solid #e31837; background: #fff3f4; padding: 18px 22px; }
.account-alert strong { font-family: "Arial Black", Arial, sans-serif; font-size: 18px; }
.account-alert p { margin: 5px 0 0; color: var(--muted); }
.capability-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.capability-list li { border: 1px solid var(--line); background: #f4f4f1; padding: 8px 10px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.7fr); gap: 22px; align-items: start; }
.account-list { display: grid; }
.account-list article { display: grid; gap: 14px; border-top: 1px solid var(--line); padding: 18px 0; }
.account-record header { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.account-record header > div { display: grid; gap: 3px; }
.account-list article small { color: var(--muted); }
.admin-user-access-form { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(120px, 0.7fr) auto; gap: 10px; align-items: end; }
.admin-user-access-form label, .admin-user-reset-form label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.admin-user-access-form .field { min-height: 38px; height: 38px; }
.admin-user-access-form .form-note { grid-column: 1 / -1; }
.account-reset { border-top: 1px dashed var(--line); padding-top: 10px; }
.account-reset summary { cursor: pointer; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.admin-user-reset-form { display: grid; gap: 10px; margin-top: 12px; }
@media (max-width: 760px) { .account-layout, .admin-user-access-form, .account-record header { grid-template-columns: 1fr; }
.account-record header { justify-items: start; }
}
@media (prefers-reduced-motion: reduce) { .masthead, .topbar, .topbar__inner, .masthead__inner, .masthead__kicker, .masthead__name, .masthead__est, .nav, .nav a { transition: none; }
}

:root { --chrome-gutter: max( clamp(24px, 4vw, 64px), calc((100vw - var(--max)) / 2) ); --masthead-stack-height: 247px; }
.topbar { max-height: 42px; }
.topbar__inner, .nav, .masthead--compact .masthead__inner { width: 100%; max-width: none; padding-right: var(--chrome-gutter); padding-left: var(--chrome-gutter); }
.topbar__inner { min-height: 42px; }
.topbar nav a { min-height: 42px; padding: 0 2px; }
.masthead__inner { width: 100%; max-width: none; }
.nav { border-top-color: color-mix(in srgb, var(--section-on-color) 42%, transparent); }
.nav a, .topbar nav a { text-underline-offset: 5px; }
.nav a:hover, .nav a:focus-visible, .topbar nav a:hover, .topbar nav a:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; }
.nav a[aria-current="page"] { text-decoration: none; }
.footer { position: relative; width: 100%; overflow: hidden; border-top: 7px solid var(--red); background: var(--section-color); }
.footer::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: color-mix(in srgb, var(--section-on-color) 12%, transparent); content: ""; pointer-events: none; }
.footer__topline, .footer__inner, .footer__base { width: 100%; max-width: none; margin: 0; padding-right: var(--chrome-gutter); padding-left: var(--chrome-gutter); }
.footer__topline { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid color-mix(in srgb, var(--section-on-color) 30%, transparent); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.footer__topline a { display: inline-flex; min-height: 42px; align-items: center; border-bottom: 3px solid transparent; }
.footer__topline a:hover, .footer__topline a:focus-visible { border-bottom-color: currentColor; }
.footer__inner { display: grid; grid-template-columns: minmax(360px, 0.9fr) minmax(560px, 1.1fr); gap: clamp(64px, 9vw, 180px); align-items: start; padding-top: clamp(54px, 6vw, 94px); padding-bottom: clamp(54px, 6vw, 94px); }
.footer__brand { position: relative; z-index: 1; }
.footer__brand h2 { margin: 7px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(64px, 7vw, 118px); font-weight: 900; line-height: 0.88; letter-spacing: -0.04em; }
.footer .footer__kicker, .footer .footer__strapline { max-width: none; margin: 0; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; }
.footer .footer__strapline { width: fit-content; border-bottom: 4px solid currentColor; padding-bottom: 7px; }
.footer .footer__description { max-width: 490px; margin-top: 28px; color: color-mix(in srgb, var(--section-on-color) 76%, transparent); font-family: Georgia, "Times New Roman", serif; font-size: clamp(17px, 1.4vw, 22px); font-weight: 400; line-height: 1.45; }
.footer__directory { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: clamp(30px, 4vw, 72px); position: relative; z-index: 1; }
.footer__directory nav { display: grid; gap: 0; align-content: start; justify-content: stretch; justify-self: stretch; font-size: 13px; white-space: normal; }
.footer__directory h3 { margin: 0 0 11px; border-top: 3px solid currentColor; padding-top: 12px; font-size: 11px; line-height: 1; text-transform: uppercase; }
.footer__directory nav a { display: flex; min-height: 39px; align-items: center; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--section-on-color) 20%, transparent); padding: 8px 0; font-weight: 800; line-height: 1.25; }
.footer__directory nav a:hover, .footer__directory nav a:focus-visible { padding-left: 8px; color: var(--section-on-color); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.footer__base { display: grid; grid-template-columns: 1fr auto auto; min-height: 54px; align-items: center; gap: clamp(20px, 4vw, 64px); border-top: 1px solid color-mix(in srgb, var(--section-on-color) 30%, transparent); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.footer__base a { display: inline-flex; min-height: 44px; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1700px) { .edition-line { padding-right: var(--chrome-gutter); padding-left: var(--chrome-gutter); }
}
@media (max-width: 1100px) { .footer__inner { grid-template-columns: 1fr; gap: 54px; }
.footer__brand { max-width: 720px; }
}
@media (max-width: 760px) { :root { --chrome-gutter: 18px; }
.footer { border-top-width: 5px; }
.footer::before { display: none; }
.footer__topline { font-size: 9px; }
.footer__topline span { max-width: 220px; }
.footer__inner { gap: 42px; padding-top: 42px; padding-bottom: 44px; }
.footer__brand h2 { font-size: clamp(56px, 19vw, 78px); }
.footer__directory { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
.footer__directory nav:first-child { grid-row: span 2; }
.footer__base { grid-template-columns: 1fr auto; min-height: 62px; }
.footer__base span:nth-child(2) { display: none; }
}
@media (max-width: 460px) { .footer__directory { grid-template-columns: 1fr 1fr; }
.footer__directory nav:first-child { grid-column: 1 / -1; grid-row: auto; grid-template-columns: 1fr 1fr; column-gap: 22px; }
.footer__directory nav:first-child h3 { grid-column: 1 / -1; }
}
@media (max-width: 340px) { .footer__directory { grid-template-columns: 1fr; }
.footer__directory nav:first-child { grid-column: auto; grid-template-columns: 1fr; }
.footer__directory nav:first-child h3 { grid-column: auto; }
}
.footer::before { display: none; }
.footer__topline { border-bottom-color: color-mix(in srgb, var(--section-on-color) 16%, transparent); }
.footer__base { border-top: 0; background: color-mix(in srgb, var(--section-on-color) 5%, transparent); }
.team-page__header { max-width: 980px; margin-right: auto; margin-bottom: 42px; margin-left: auto; text-align: center; }
.team-page__header .lede { margin-right: auto; margin-left: auto; }
.team-page { max-width: 1580px; }
.team-path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1180px; margin: 0 auto clamp(54px, 7vw, 92px); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.team-path a { display: grid; min-height: 128px; align-content: center; gap: 5px; border-right: 1px solid var(--line); padding: 22px clamp(18px, 3vw, 34px); color: inherit; text-decoration: none; }
.team-path a:last-child { border-right: 0; }
.team-path a:hover, .team-path a:focus-visible { background: var(--paper); }
.team-path span, .team-group__intro > span { color: var(--section-color); font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.team-path strong { font-family: "Arial Black", Arial, sans-serif; font-size: 18px; line-height: 1.1; }
.team-path small { color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.35; }
.team-stage-heading { max-width: 820px; margin: 0 auto 30px; text-align: center; }
.team-stage-heading h2 { margin: 7px 0 10px; font-family: "Arial Black", Arial, sans-serif; font-size: clamp(30px, 4vw, 48px); line-height: 1; }
.team-stage-heading > p:last-child { margin: 0 auto; color: var(--muted); font-family: Georgia, serif; font-size: 17px; line-height: 1.5; }
.team-leadership { max-width: 1280px; margin-right: auto; margin-left: auto; scroll-margin-top: 250px; }
.team-grid--single { grid-template-columns: minmax(0, 1120px); justify-content: center; }
.team-sections { max-width: 1380px; margin-right: auto; margin-left: auto; scroll-margin-top: 250px; }
.team-section-index { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 0 auto 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; }
.team-section-index a { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; color: inherit; font-size: 12px; font-weight: 900; text-decoration: none; }
.team-section-index a span { color: var(--muted); font-size: 9px; }
.team-section-index a:hover, .team-section-index a:focus-visible { color: var(--section-color); text-decoration: underline; text-underline-offset: 4px; }
.team-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(48px, 7vw, 96px); max-width: 1240px; margin-right: auto; margin-left: auto; scroll-margin-top: 250px; }
.team-group__intro { border-top: 5px solid var(--desk-colour, var(--section-color)); padding-top: 18px; padding-right: clamp(0px, 2vw, 28px); }
.team-group > .team-grid { grid-template-columns: minmax(0, 1fr); }
.team-group .team-card { grid-template-columns: clamp(112px, 10vw, 148px) minmax(0, 1fr); gap: clamp(20px, 3vw, 34px); min-height: 100%; align-items: center; padding: clamp(22px, 3vw, 34px); }
.team-group .team-card__photo { width: 100%; aspect-ratio: 4 / 5; }
.team-card--vacancy { grid-template-columns: minmax(0, 1fr) !important; align-content: center; background: var(--paper); }
.team-group__intro > a { display: inline-block; margin-top: 18px; color: var(--desk-colour, var(--section-color)); font-size: 11px; font-weight: 900; text-transform: uppercase; text-underline-offset: 4px; }
.team-cta { max-width: 1480px; margin-right: auto; margin-left: auto; scroll-margin-top: 250px; }
.team-card--desk { border-top-color: var(--desk-colour, var(--section-color)); }
.team-card--desk .team-card__photo--empty { background: var(--desk-colour, var(--section-color)); color: #fff; }
.team-directory-section { max-width: 1240px; margin: 0 auto clamp(62px, 8vw, 108px); scroll-margin-top: 210px; }
.team-directory-section__heading { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(300px, 1fr) auto; gap: 24px 48px; align-items: end; border-top: 5px solid var(--section-color); border-bottom: 1px solid var(--line); padding: 18px 0 22px; }
.team-directory-section__heading h2 { margin: 5px 0 0; font-family: var(--font-editorial); font-size: clamp(34px, 4vw, 54px); font-weight: 600; letter-spacing: -.025em; line-height: .95; }
.team-directory-section__heading > p { max-width: 620px; margin: 0; color: var(--muted); font-family: Georgia, serif; font-size: 15px; line-height: 1.5; }
.team-directory-section__heading > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-family: Georgia, serif; font-size: 13px; }
.team-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(34px, 5vw, 72px); }
.team-directory-card { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 20px; align-items: start; border-bottom: 1px solid var(--line); padding: 28px 0; }
.team-directory-card__photo { width: 86px; height: 86px; border-radius: 50%; object-fit: cover; }
.team-directory-card__photo--initials { display: grid; place-items: center; background: var(--ink); color: var(--paper); font-family: var(--font-editorial); font-size: 22px; }
.team-directory-card__body h3 { margin: 3px 0 4px; font-family: var(--font-editorial); font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.05; }
.team-directory-card__role { margin: 0; color: var(--section-color); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.team-directory-card__bio { max-width: 540px; margin: 13px 0 0; color: var(--muted); font-family: Georgia, serif; font-size: 14px; line-height: 1.5; }
.team-directory-card__team { margin-top: 16px; border-left: 2px solid var(--section-color); padding-left: 12px; }
.team-directory-card__team span { color: var(--section-color); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.team-directory-card__team p { margin: 4px 0 0; font-family: Georgia, serif; font-size: 13px; line-height: 1.45; }
.team-directory-card--archived { opacity: .72; }
.team-directory-card--archived .team-directory-card__photo--initials { background: var(--muted); }
.team-directory-empty { border-bottom: 1px solid var(--line); padding: 30px 0 36px; }
.team-directory-empty strong { font-family: var(--font-editorial); font-size: 21px; font-weight: 600; }
.team-directory-empty p { margin: 7px 0 0; color: var(--muted); font-family: Georgia, serif; }
.events-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 28px; margin-top: 32px; }
.event-card { border-top: 5px solid var(--section-color); padding-top: 14px; }
.event-card__media { height: 240px; margin: 0 0 18px; }
.event-card h3 { margin: 8px 0 10px; font-family: "Arial Black", Arial, sans-serif; font-size: 27px; line-height: 1.04; }
.event-card > div > p:not(.eyebrow, .meta) { font-family: Georgia, serif; line-height: 1.5; }
.events-empty { margin-top: 28px; border-top: 7px solid var(--section-color); }
@media (max-width: 960px) { .team-path { max-width: 760px; }
.team-group { gap: 40px; }
.events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) { .team-page__header { margin-bottom: 30px; }
.team-path { grid-template-columns: 1fr; margin-bottom: 58px; }
.team-path a { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 8px; text-align: center; }
.team-path a:last-child { border-bottom: 0; }
.team-stage-heading { margin-bottom: 24px; }
.team-section-index { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.team-section-index a { border-bottom: 1px solid var(--line); }
.team-group { grid-template-columns: 1fr; gap: 22px; }
.team-group__intro { padding-right: 0; text-align: center; }
.team-group__intro p { max-width: 520px; margin-right: auto; margin-left: auto; }
.team-group .team-card { grid-template-columns: 92px minmax(0, 1fr); min-height: 0; gap: 18px; padding: 20px; text-align: left; }
.team-group .team-card__photo { aspect-ratio: 1; }
.team-card--vacancy { grid-template-columns: minmax(0, 1fr) !important; text-align: center !important; }
.team-directory-section__heading { grid-template-columns: 1fr auto; gap: 12px 20px; align-items: start; }
.team-directory-section__heading > p { grid-column: 1 / -1; grid-row: 2; }
.team-directory-section__heading > span { grid-column: 2; grid-row: 1; }
.team-directory-grid { grid-template-columns: 1fr; }
.team-directory-card { grid-template-columns: 68px minmax(0, 1fr); gap: 16px; padding: 22px 0; }
.team-directory-card__photo { width: 68px; height: 68px; }
.team-directory-card__body h3 { font-size: 22px; }
.events-grid { grid-template-columns: 1fr; }
}
/* Wide editorial canvases */ @media (min-width: 1700px) { :root { --wide: min(2240px, calc(100% - clamp(80px, 8vw, 192px))); --max: min(2080px, calc(100vw - clamp(128px, 12vw, 320px))); }
.page--article { max-width: 1280px; }
}
/* Masthead precedes #app. */ .masthead--compact ~ #app .section-header { box-shadow: 0 10px 20px rgb(0 0 0 / 12%); }
.masthead--compact ~ #app .section-header__inner { min-height: 72px; gap: 4px 36px; align-items: center; padding-top: 10px; padding-bottom: 10px; }
.masthead--compact ~ #app .section-header__identity .eyebrow { max-height: 0; margin: 0; opacity: 0; }
.masthead--compact ~ #app .section-header__identity h1 { margin: 0; font-size: 38px; white-space: nowrap; }
.masthead--compact ~ #app .section-header .section-header__strapline { max-height: 20px; font-size: 14px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.masthead--compact ~ #app .section-header .section-header__inner > .section-header__count { align-self: center; padding: 0; font-size: 10px; }
@media (max-width: 760px) { .masthead--compact ~ #app .section-header__inner { min-height: 60px; gap: 0 14px; padding-top: 8px; padding-bottom: 8px; }
.masthead--compact ~ #app .section-header__identity h1 { font-size: 30px; }
.masthead--compact ~ #app .section-header .section-header__strapline { max-height: 0; opacity: 0; }
}
/* Mobile cascade */ @media (max-width: 760px) { .mobile-menu__sections a[aria-current] { color: inherit; }
.mobile-menu__sections a[aria-current] { background: #111; color: #fff; }
.public-route-header__meta { min-height: 34px; font-size: 8px; }
.public-route-header__body { grid-template-columns: 1fr; gap: 16px; padding: 22px 0 20px; }
.public-route-header h1 { font-size: 45px; }
.public-route-header__brief { padding: 15px 0 0; }
.public-route-header__brief p { margin-bottom: 13px; font-size: 15px; }
.public-route-header__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-route-header__facts div, .public-route-header__facts div:first-child { min-width: 0; min-height: 62px; border-right: 1px solid var(--line); border-bottom: 0; padding: 10px 8px; }
.public-route-header__facts div:last-child { border-right: 0; }
.public-route-header__facts dt, .public-route-header__facts dd { display: block; }
.public-route-header__facts dt { margin: 0 0 5px; font-size: 8px; }
.public-route-header__facts dd { overflow-wrap: anywhere; font-size: 13px; }
.public-route-header + .guided-flow, .public-route-header + .tip-layout { margin-top: 22px; }
.flow-hero { grid-template-columns: 52px minmax(0, 1fr); min-height: 0; padding: 14px 0; }
.flow-hero__number { font-size: 48px; }
.flow-hero__copy { padding: 2px 0 3px 13px; }
.flow-hero__copy > p:first-child { margin-bottom: 4px; font-size: 9px; }
.flow-hero__copy h2 { font-size: 29px; }
.flow-hero__copy > p:last-child, .flow-hero__note { display: none; }
.flow-stepper--four ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.flow-stepper--three ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.flow-stepper button { position: relative; min-height: 47px; justify-content: center; padding: 10px 0 8px; }
.flow-stepper b { font-size: 14px; }
.flow-stepper span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.flow-workspace { gap: 34px; padding-top: 22px; }
.guided-flow--write .checkbox-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guided-flow--write .checkbox-group label, .guided-flow--write .checkbox-group label:nth-of-type(3n) { min-height: 54px; border-right: 1px solid var(--line); padding: 9px; font-size: 15px !important; }
.guided-flow--write .checkbox-group label:nth-of-type(2n) { border-right: 0; }
.flow-actions { position: sticky; bottom: calc(62px + env(safe-area-inset-bottom)); z-index: 30; gap: 8px; margin: 30px -16px 0; padding: 12px 16px; background: #fbfbf8; box-shadow: 0 -8px 20px rgb(0 0 0 / 8%); }
}
/* Mobile reading mode */ .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mobile-appbar, .mobile-menu { display: none; }
.front-lead__stories, .search-filter-panel { display: contents; }
.search-filter-panel > summary { display: none; }
@media (max-width: 760px) { html { scroll-padding-top: 64px; }
body.mobile-menu-open { overflow: hidden; }
.site-shell { overflow-x: clip; }
.masthead, .masthead--compact { min-height: 56px; box-shadow: 0 1px 0 color-mix(in srgb, var(--section-on-color) 35%, transparent); }
.masthead::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: linear-gradient(90deg, #f4c542 var(--reading-progress, 0%), transparent 0); content: ""; pointer-events: none; }
.masthead > .topbar, .masthead > .masthead__inner, .masthead > .nav { display: none; }
.mobile-appbar { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; width: 100%; min-height: 56px; align-items: center; padding: 0 8px; }
.mobile-appbar__brand { overflow: hidden; color: var(--section-on-color); font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 800; line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.mobile-icon-button { display: inline-grid; width: 44px; height: 44px; place-items: center; border: 0; padding: 0; background: #fff; color: #111; cursor: pointer; }
.mobile-icon-button img { width: 21px; height: 21px; }
.mobile-icon-button--dark { background: #111; }
.mobile-icon-button--dark img { filter: invert(1); }
.mobile-menu { position: fixed; inset: 0; z-index: 3000; display: block; visibility: hidden; pointer-events: none; }
.mobile-menu__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgb(0 0 0 / 58%); opacity: 0; transition: opacity 220ms ease; }
.mobile-menu__panel { position: absolute; inset: 0 0 0 auto; display: flex; width: min(92vw, 430px); flex-direction: column; background: #fbfbf8; box-shadow: -16px 0 40px rgb(0 0 0 / 28%); color: #111; transform: translateX(102%); transition: transform 260ms cubic-bezier(0.2, 0.75, 0.2, 1); }
.mobile-menu-open .mobile-menu { visibility: visible; pointer-events: auto; }
.mobile-menu-open .mobile-menu__backdrop { opacity: 1; }
.mobile-menu-open .mobile-menu__panel { transform: translateX(0); }
.mobile-menu__header { display: flex; min-height: 80px; align-items: center; justify-content: space-between; border-bottom: 6px solid #111; padding: 12px 14px 12px 18px; }
.mobile-menu__header span { display: block; margin-bottom: 4px; color: #666; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.mobile-menu__header strong { font-family: "Arial Black", Arial, sans-serif; font-size: 22px; }
.mobile-menu__content { overflow-y: auto; padding: 22px 18px calc(28px + env(safe-area-inset-bottom)); }
.mobile-menu__label { margin: 0 0 10px; color: #666; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.mobile-menu__sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 30px; border-top: 1px solid #bbb; border-left: 1px solid #bbb; }
.mobile-menu__sections a { display: grid; min-height: 62px; grid-template-columns: 30px 1fr; align-items: center; border-right: 1px solid #bbb; border-bottom: 1px solid #bbb; border-left: 5px solid var(--menu-section); padding: 8px 10px; }
.mobile-menu__sections a[aria-current="true"] { background: #111; color: #fff; }
.mobile-menu__sections b { color: var(--menu-section); font-family: Georgia, serif; font-size: 12px; }
.mobile-menu__sections span { font-family: "Arial Black", Arial, sans-serif; font-size: 15px; }
.mobile-menu__utility { border-top: 4px solid #111; }
.mobile-menu__utility a { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #bbb; padding: 9px 0; }
.mobile-menu__utility span { font-family: "Arial Black", Arial, sans-serif; font-size: 15px; }
.mobile-menu__utility small { max-width: 130px; color: #666; font-family: Georgia, serif; font-size: 12px; line-height: 1.2; text-align: right; }
.page { padding-right: 16px; padding-left: 16px; }
.edition-line { min-height: 38px; align-items: stretch; padding: 0 16px; font-size: 8px; line-height: 1.25; }
.edition-line span, .edition-line a { display: flex; max-width: 52%; align-items: center; padding: 7px 0; }
.edition-line a { justify-content: flex-end; text-align: right; }
.front-lead { gap: 28px; padding: 18px 16px 34px; }
.front-lead__main { display: flex; flex-direction: column; }
.front-lead__copy { order: 1; justify-content: flex-start; padding-top: 14px; }
.front-lead__copy h1 { margin: 9px 0 13px; font-size: 35px; line-height: 0.98; }
.front-lead__copy .lede { margin-bottom: 14px; font-size: 17px; line-height: 1.42; }
.front-lead__image { order: 2; width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; margin-top: 20px; }
.front-lead__rail { display: block; }
.front-lead__rail > .module-heading { margin-bottom: 12px; }
.front-lead__stories { display: flex; width: calc(100% + 16px); gap: 14px; overflow-x: auto; margin-right: -16px; padding: 0 16px 12px 0; scroll-padding-right: 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.front-lead__stories::-webkit-scrollbar { display: none; }
.front-rail-story, .front-rail-story--featured { flex: 0 0 min(78vw, 294px); min-height: 176px; border: 1px solid var(--line); padding: 14px; scroll-snap-align: start; }
.front-rail-story__image { height: 132px; }
.front-rail-story h3 { font-size: 20px; }
.latest-edition__inner { grid-template-columns: 104px minmax(0, 1fr); gap: 20px 18px; width: calc(100% - 32px); align-items: start; padding: 30px 0; }
.latest-edition .issue-cover { width: 104px; min-height: 147px; box-shadow: 7px 7px 0 #2a2a2a; }
.latest-edition__intro h2 { margin: 6px 0 10px; font-size: 29px; }
.latest-edition__intro > p:not(.eyebrow) { display: -webkit-box; overflow: hidden; margin-bottom: 14px; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.latest-edition__intro .actions { margin-top: 14px; }
.latest-edition__intro .actions .text-link { display: none; }
.latest-edition__intro .button { width: 100%; min-height: 40px; padding: 0 10px; font-size: 10px; }
.latest-edition__contents { grid-column: 1 / -1; }
.front-sections { padding: 40px 16px 48px; }
.module-heading--large { margin-bottom: 12px; }
.module-heading--large h2 { font-size: 28px; }
.editorial-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.article-card { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 14px; border-bottom: 1px solid var(--line); padding: 16px 0; }
.article-card__media { width: 108px; height: 86px; margin: 0; }
.article-card h3 { margin: 5px 0 7px; font-size: 19px; line-height: 1.08; }
.article-card__body > p:not(.meta) { display: none; }
.join-band { gap: 18px; padding: 34px 16px; }
.join-band h2 { font-size: 29px; }
.join-band > p { font-size: 15px; }
.join-band .button { width: 100%; }
.section-header, .masthead--compact + #app .section-header { position: relative; top: auto; box-shadow: none; }
.section-header .section-header__inner, .masthead--compact + #app .section-header__inner { min-height: 0; grid-template-columns: 1fr auto; grid-template-areas: "identity count" "strapline strapline"; gap: 9px 14px; align-items: end; padding: 22px 16px 20px; }
.section-header__identity .eyebrow, .masthead--compact + #app .section-header__identity .eyebrow { max-height: 20px; margin: 0; opacity: 0.72; }
.section-header__identity h1, .masthead--compact + #app .section-header__identity h1 { margin: 5px 0 0; font-size: 41px; white-space: normal; }
.section-header .section-header__strapline, .masthead--compact + #app .section-header .section-header__strapline { max-height: none; font-size: 16px; line-height: 1.35; opacity: 1; text-overflow: clip; white-space: normal; }
.section-header .section-header__inner > .section-header__count, .masthead--compact + #app .section-header .section-header__inner > .section-header__count { align-self: end; max-width: 80px; padding: 0 0 5px; font-size: 9px; line-height: 1.25; }
.section-page__body { padding: 24px 16px 52px; }
.section-lead-grid { gap: 36px; }
.section-feature { display: flex; flex-direction: column; gap: 18px; align-items: stretch; }
.section-feature > div { order: 1; }
.section-feature .media { order: 2; width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; }
.section-feature h2 { margin: 8px 0 12px; font-size: 32px; }
.section-feature div > p:not(.eyebrow) { font-size: 16px; }
.section-side-stories { display: block; }
.section-side-stories > a { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 5px 13px; align-items: start; padding: 15px 0; }
.section-side-stories .media { grid-row: 1 / 3; width: 96px; height: 76px; margin: 0; }
.section-side-stories h3 { margin: 0; font-size: 19px; }
.section-side-stories .meta { grid-column: 2; }
.section-more { margin-top: 40px; }
.page--article { padding: 26px 16px 58px; }
.article-header { margin-bottom: 22px; }
.article-title { margin: 13px 0 17px; font-size: 35px; line-height: 0.99; }
.standfirst { margin-bottom: 20px; font-size: 19px; line-height: 1.48; }
.article-byline > div { gap: 10px; font-size: 12px; }
.article-media { width: calc(100% + 32px); height: auto; aspect-ratio: 4 / 3; margin-left: -16px; }
.caption { margin: 8px 0 30px; }
.article-layout { gap: 34px; }
.body-copy { font-size: 18px; line-height: 1.67; }
.pullquote { margin: 30px 0; padding: 20px 0 22px; font-size: 27px; }
.article-context { grid-template-columns: 1fr; gap: 24px; }
.related-stories { margin-top: 48px; }
.related-stories .card-grid { grid-template-columns: 1fr; }
.search-header .page { padding: 24px 16px 27px; }
.search-header h1 { margin: 5px 0 9px; font-size: 42px; }
.search-header p:not(.eyebrow) { font-size: 16px; }
#archive-search-form { padding: 24px 16px 56px; }
.search-filter-panel { display: block; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.search-filter-panel > summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 12px; cursor: pointer; }
.search-filter-panel > summary span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.search-filter-panel > summary small { max-width: 190px; color: var(--muted); font-size: 10px; line-height: 1.25; text-align: right; }
.search-filter-panel .search-filters { border-right: 0; border-bottom: 0; border-left: 0; }
.search-summary { flex-wrap: wrap; gap: 5px 12px; margin-top: 34px; }
.search-summary h2 { width: 100%; font-size: 27px; }
.result { grid-template-columns: 102px minmax(0, 1fr); gap: 13px; padding: 17px 0; }
.result__image { width: 102px; height: 86px; }
.result h3 { margin: 5px 0 8px; font-size: 19px; line-height: 1.08; }
.result div > p:not(.meta) { display: none; }
.contribute-page, .tip-page { padding: 20px 16px 52px; }
.public-route-header { border-top-width: 5px; }
.public-route-header__meta { min-height: 34px; font-size: 8px; }
.public-route-header__meta span:first-child { padding: 5px 7px 4px; }
.public-route-header__body { gap: 16px; padding: 22px 0 20px; }
.public-route-header h1 { font-size: 45px; }
.public-route-header__brief { padding-top: 15px; }
.public-route-header__brief p { margin-bottom: 13px; font-size: 15px; }
.public-route-header__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-route-header__facts div, .public-route-header__facts div:first-child { min-width: 0; min-height: 62px; border-right: 1px solid var(--line); border-bottom: 0; padding: 10px 8px; }
.public-route-header__facts div:last-child { border-right: 0; }
.public-route-header__facts dt, .public-route-header__facts dd { display: block; }
.public-route-header__facts dt { margin: 0 0 5px; font-size: 8px; }
.public-route-header__facts dd { overflow-wrap: anywhere; font-size: 13px; line-height: 1.05; }
.public-route-header + .guided-flow, .public-route-header + .tip-layout { margin-top: 22px; }
.guided-flow { border-top-width: 5px; }
.flow-hero { grid-template-columns: 52px minmax(0, 1fr); padding: 14px 0; }
.flow-hero__number { font-size: 48px; }
.flow-hero__copy { padding: 2px 0 3px 13px; }
.flow-hero__copy > p:first-child { margin-bottom: 4px; font-size: 9px; }
.flow-hero__copy h2 { font-size: 29px; }
.flow-hero__copy > p:last-child, .flow-hero__note { display: none; }
.flow-stepper--four ol, .flow-stepper--three ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.flow-stepper--three ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.flow-stepper button { position: relative; min-height: 47px; justify-content: center; padding: 10px 0 8px; }
.flow-stepper b { font-size: 14px; }
.flow-stepper span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.flow-workspace { gap: 34px; padding-top: 22px; }
.flow-stage__heading { font-size: 29px; }
.flow-stage__intro { margin-bottom: 20px; font-size: 15px; }
.guided-flow--write .checkbox-group { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 25px; }
.guided-flow--write .checkbox-group label, .guided-flow--write .checkbox-group label:nth-of-type(3n) { min-height: 54px; border-right: 1px solid var(--line); padding: 9px; font-size: 15px !important; }
.guided-flow--write .checkbox-group label:nth-of-type(2n) { border-right: 0; }
.choice-grid { grid-template-columns: 1fr; }
.choice-option { min-height: 88px; padding: 17px 14px; }
.flow-actions { position: sticky; bottom: calc(62px + env(safe-area-inset-bottom)); z-index: 30; gap: 8px; margin: 30px -16px 0; border-top: 2px solid #111; padding: 12px 16px; background: #fbfbf8; box-shadow: 0 -8px 20px rgb(0 0 0 / 8%); }
.flow-actions .button { min-width: 0; padding: 0 14px; }
.flow-actions .button--primary { min-height: 48px; font-size: 16px; }
.flow-context, .tip-guidance { padding-top: 20px; }
.flow-context__title { font-size: 26px; }
.issue-tile { grid-template-columns: 108px minmax(0, 1fr); gap: 17px; padding-bottom: 28px; }
.issue-tile .cover { width: 108px; min-height: 153px; }
.issue-tile h2 { margin: 6px 0 9px; font-size: 26px; }
.issue-tile > div > p:not(.eyebrow, .meta) { display: -webkit-box; overflow: hidden; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.issue-tile .button { width: 100%; padding: 0 10px; font-size: 10px; }
.issue-reader__hero { grid-template-columns: 112px minmax(0, 1fr); gap: 22px 16px; padding-top: 28px; }
.issue-reader__hero > .issue-cover { width: 112px; min-height: 158px; box-shadow: 7px 7px 0 color-mix(in srgb, var(--section-color) 20%, #ddd); }
.issue-reader__hero > .issue-cover:not(.issue-cover--image) { min-width: 0; padding: 8px; font-size: 18px; overflow-wrap: anywhere; }
.issue-reader__hero > .issue-cover:not(.issue-cover--image) > * { min-width: 0; max-width: 100%; }
.issue-reader__intro > h1 { margin: 5px 0 10px; font-size: 30px; }
.issue-reader__intro > p:not(.eyebrow, .article-snippet) { display: -webkit-box; overflow: hidden; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.issue-reader__intro .actions, .issue-reader__intro .issue-contents { grid-column: 1 / -1; }
.issue-reader__facts { grid-template-columns: 1fr; margin-top: 18px; }
.issue-reader__facts div, .issue-reader__facts div:first-child { display: flex; justify-content: space-between; border-right: 0; border-bottom: 1px solid var(--line); padding: 9px 0; }
.issue-reader__facts div:last-child { border-bottom: 0; }
.issue-reader__facts dt { margin: 0; }
.issue-reader__guide { margin-top: 38px; border-top-width: 5px; padding-top: 18px; }
.issue-reader__guide > header, .issue-reader__guide-grid { grid-template-columns: 1fr; }
.issue-reader__guide > header { gap: 12px; margin-bottom: 20px; }
.issue-reader__guide > header h2 { font-size: 38px; }
.issue-reader__guide > header > p { font-size: 14px; }
.issue-web-edition, .issue-print-map { padding: 18px; }
.issue-web-stories > a { grid-template-columns: 38px minmax(0, 1fr); }
.issue-web-stories strong { font-size: 16px; }
.pdf-section__intro { font-size: 13px; }
}
/* Privacy and consent */ .privacy-page { padding-top: clamp(44px, 7vw, 92px); padding-bottom: clamp(70px, 10vw, 130px); }
.privacy-header { max-width: 980px; border-top: 9px solid var(--ink); padding-top: 20px; }
.privacy-header h1 { max-width: 900px; margin: 8px 0 18px; font-family: "Arial Black", Arial, Helvetica, sans-serif; font-size: clamp(48px, 7vw, 94px); line-height: 0.94; letter-spacing: -0.055em; }
.privacy-header > p:last-child { max-width: 760px; margin: 0; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(19px, 2vw, 25px); line-height: 1.42; }
.privacy-status { display: flex; justify-content: space-between; gap: 34px; align-items: center; margin-top: clamp(38px, 6vw, 72px); border: 1px solid var(--line); border-top: 7px solid var(--section-color); background: var(--paper); padding: clamp(24px, 4vw, 42px); }
.privacy-status > div { display: grid; gap: 5px; }
.privacy-status span { color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.privacy-status strong { font-family: "Arial Black", Arial, Helvetica, sans-serif; font-size: clamp(28px, 4vw, 46px); }
.privacy-status p { max-width: 650px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.privacy-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: clamp(44px, 7vw, 78px); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.privacy-grid > section { padding: clamp(26px, 4vw, 44px) clamp(20px, 4vw, 48px) clamp(34px, 5vw, 54px) 0; }
.privacy-grid > section + section { border-left: 1px solid var(--line); padding-right: 0; padding-left: clamp(20px, 4vw, 48px); }
.privacy-grid h2, .privacy-detail h2 { margin: 7px 0 20px; font-family: "Arial Black", Arial, Helvetica, sans-serif; font-size: clamp(28px, 3.5vw, 44px); line-height: 1; }
.privacy-grid ul { display: grid; gap: 14px; margin: 0; padding-left: 21px; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1.45; }
.privacy-detail { display: grid; grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); gap: clamp(30px, 7vw, 90px); align-items: start; padding-top: clamp(42px, 7vw, 72px); }
.privacy-detail p:last-child { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.62; }
.caption { font-size: 13px; line-height: 1.4; }
@media (max-width: 700px) { .privacy-page { padding-top: 30px; }
.privacy-header h1 { font-size: 48px; }
.privacy-status { align-items: stretch; flex-direction: column; }
.privacy-status .button { width: 100%; }
.privacy-grid, .privacy-detail { grid-template-columns: 1fr; }
.privacy-grid > section, .privacy-grid > section + section { border-left: 0; padding-right: 0; padding-left: 0; }
.privacy-grid > section + section { border-top: 1px solid var(--line); }
.privacy-detail { gap: 8px; }
}
/* Contributor journeys and archive continuity */
.article-byline > div > a {
  color: inherit;
  text-decoration: none;
}

.article-byline > div > a:hover strong,
.article-byline > div > a:hover,
.article-byline > div > a:focus-visible {
  color: var(--section-color);
}

.contributor-header {
  border-top: 8px solid var(--section-color);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.contributor-header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: end;
  padding-top: clamp(42px, 7vw, 88px);
  padding-bottom: clamp(38px, 6vw, 72px);
}

.contributor-header__identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: clamp(22px, 3vw, 42px);
}

.contributor-header__photo {
  width: clamp(96px, 11vw, 150px);
  aspect-ratio: 1;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
}

.contributor-header h1 {
  max-width: 900px;
  margin: 10px 0 12px;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(52px, 8vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.contributor-header__roles {
  margin: 0;
  color: var(--muted);
  font-family: Georgia, serif;
  font-size: clamp(18px, 2vw, 24px);
}

.contributor-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  margin: 0;
  border-top: 4px solid var(--section-color);
  border-bottom: 1px solid var(--line);
}

.contributor-stats div {
  min-width: 110px;
  border-right: 1px solid var(--line);
  padding: 15px 18px;
}

.contributor-stats div:last-child {
  border-right: 0;
}

.contributor-stats dt {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.contributor-stats dd {
  margin: 5px 0 0;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 23px;
}

.contributor-body {
  padding-top: clamp(36px, 5vw, 62px);
  padding-bottom: clamp(70px, 9vw, 120px);
}

.contributor-intro {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  margin-bottom: 46px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 22px;
}

.contributor-intro > div > p {
  margin: 0;
  color: var(--muted);
  font-family: Georgia, serif;
  font-size: 17px;
}

.contributor-intro > div > small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
}

.contributor-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.published-contributors {
  margin: clamp(50px, 7vw, 88px) 0;
  border-top: 6px solid var(--ink);
  padding-top: 18px;
}

.contributor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 20px;
  background: var(--line);
  border: 1px solid var(--line);
}

.contributor-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  min-height: 88px;
  background: var(--white);
  padding: 16px 18px;
}

.contributor-card:hover,
.contributor-card:focus-visible {
  background: var(--paper);
}

.contributor-card__initials {
  display: grid;
  width: 50px;
  aspect-ratio: 1;
  place-items: center;
  background: var(--section-color);
  color: var(--section-on-color);
  font-size: 14px;
  font-weight: 900;
}

.contributor-card strong,
.contributor-card small {
  display: block;
}

.contributor-card strong {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 17px;
}

.contributor-card small,
.contributor-card b {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.search-contributor {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  border-top: 5px solid var(--section-color);
  background: var(--paper);
  padding: 18px 20px;
}

.search-contributor strong,
.search-contributor span {
  display: block;
}

.search-contributor strong {
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: 22px;
}

.search-contributor span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .contributor-header__inner {
    grid-template-columns: 1fr;
  }

  .contributor-stats {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .contributor-header__inner {
    gap: 30px;
    padding-top: 36px;
    padding-bottom: 38px;
  }

  .contributor-header h1 {
    font-size: clamp(48px, 16vw, 72px);
  }

  .contributor-stats div {
    min-width: 0;
    padding: 12px 10px;
  }

  .contributor-stats dd {
    font-size: 17px;
  }

  .contributor-intro,
  .search-contributor {
    align-items: flex-start;
    flex-direction: column;
  }

  .contributor-links {
    justify-content: flex-start;
  }

  .contributor-grid {
    grid-template-columns: 1fr;
  }

  .contributor-card {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .contributor-card b {
    grid-column: 2;
    margin-top: -8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu__backdrop,
  .mobile-menu__panel {
    transition-duration: 0.01ms;
  }
}

/* Second-pass archive and public-form refinements */ .issue-archive { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 54px 28px; }
.issue-archive .issue-tile { display: flex; min-width: 0; flex-direction: column; gap: 24px; border-bottom: 1px solid var(--line); padding: 0 0 30px; }
.issue-archive .issue-cover { width: 100%; min-height: 0; aspect-ratio: 0.707; background: #ececea; }
.issue-archive .issue-cover img { object-position: top center; }
.issue-archive .issue-tile > div { display: flex; min-height: 250px; flex: 1; flex-direction: column; align-items: flex-start; }
.issue-archive .issue-tile h2 { margin: 8px 0 12px; font-size: 31px; line-height: 1.02; }
.issue-archive .issue-tile > div > p:not(.eyebrow, .meta) { margin: 0 0 18px; font-size: 16px; line-height: 1.45; }
.issue-archive .issue-tile .meta { margin-top: auto; margin-bottom: 18px; }
.issue-contents__empty { display: block; border-bottom: 1px solid var(--line); padding: 18px 0; color: var(--muted); font-family: Georgia, serif; font-size: 16px; }
.contribute-page, .tip-page { padding-top: 60px; padding-bottom: 86px; }
.contribute-header, .tip-header { max-width: none; }
.contribute-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; }
.contribute-header .headline, .tip-header .headline { margin-top: 8px; }
.contribute-header .lede, .tip-header .lede { max-width: 820px; margin-bottom: 0; }
.contribute-flow { margin-top: 56px; border-top: 6px solid #111; border-bottom: 1px solid var(--line); padding: 22px 0 28px; }
.contribute-flow ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 24px 0; padding: 0; list-style: none; }
.contribute-flow li { display: grid; min-height: 92px; align-content: space-between; border-right: 1px solid var(--line); padding: 0 24px; }
.contribute-flow li:first-child { padding-left: 0; }
.contribute-flow li:last-child { border-right: 0; }
.contribute-flow li b { color: var(--red); font-size: 12px; }
.contribute-flow li span { max-width: 220px; font-family: "Arial Black", Arial, sans-serif; font-size: 20px; line-height: 1.12; }
.contribute-flow > p { max-width: 820px; margin: 0; color: var(--muted); font-family: Georgia, serif; font-size: 15px; line-height: 1.5; }
.enquiry-form--wide { max-width: 960px; margin: 56px auto 0; border-top: 6px solid var(--red); padding: 46px; }
.enquiry-form--wide > h2, .tip-form > h2 { margin: 0 0 8px; font-family: "Arial Black", Arial, sans-serif; font-size: 31px; }
.enquiry-form--wide .checkbox-group { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tip-layout { display: grid; grid-template-columns: minmax(300px, 0.72fr) minmax(480px, 1.18fr); gap: 70px; align-items: start; margin-top: 54px; }
.tip-guidance { border-top: 6px solid #111; }
.tip-guidance section { border-bottom: 1px solid var(--line); padding: 28px 0; }
.tip-guidance h2 { margin: 0 0 12px; font-family: "Arial Black", Arial, sans-serif; font-size: 24px; }
.tip-guidance p { margin: 0; color: #343434; font-family: Georgia, serif; font-size: 16px; line-height: 1.5; }
.tip-form { border-top: 6px solid var(--red); padding: 42px; }
.tip-form .field--compact { min-height: 82px; }
.tip-form > .button { margin-top: 8px; }
.guided-flow { margin-top: 56px; border-top: 6px solid #111; }
.guided-flow > .module-heading { margin: 0; border-top: 0; padding: 20px 0; }
.flow-stepper { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.flow-stepper ol { display: grid; margin: 0; padding: 0; list-style: none; }
.flow-stepper--four ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.flow-stepper--three ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.flow-stepper li { border-right: 1px solid var(--line); }
.flow-stepper li:last-child { border-right: 0; }
.flow-stepper button { display: grid; width: 100%; min-height: 112px; align-content: space-between; border: 0; border-bottom: 4px solid transparent; border-radius: 0; background: transparent; padding: 17px 20px 15px; color: #111; text-align: left; }
.flow-stepper button:not(:disabled) { cursor: pointer; }
.flow-stepper button:disabled { opacity: 0.48; }
.flow-stepper button:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
.flow-stepper b { color: var(--red); font-size: 12px; }
.flow-stepper span { max-width: 190px; font-family: "Arial Black", Arial, sans-serif; font-size: 18px; line-height: 1.12; }
.flow-stepper li.is-active button { border-bottom-color: var(--red); background: #111; color: #fff; }
.flow-stepper li.is-active b { color: #f4c542; }
.flow-stepper li.is-complete button { border-bottom-color: var(--red); opacity: 1; }
.guided-flow .form-panel { width: 100%; border-top: 0; padding: 46px; scroll-margin-top: 152px; }
.guided-flow .enquiry-form--wide { margin: 0 auto; }
.guided-flow .tip-form { margin: 0; }
.flow-stage { min-width: 0; margin: 0; border: 0; padding: 0; }
.flow-stage__heading { display: block; width: 100%; margin: 0; font-family: "Arial Black", Arial, sans-serif; font-size: 31px; line-height: 1.08; }
.flow-stage__heading:focus { outline: 0; }
.flow-stage__intro { max-width: 720px; margin: 10px 0 28px; color: #343434; font-family: Georgia, serif; font-size: 17px; line-height: 1.5; }
.flow-actions { display: grid; grid-template-columns: minmax(110px, auto) 1fr minmax(130px, auto); gap: 16px; align-items: center; margin-top: 34px; border-top: 1px solid var(--line); padding-top: 22px; }
.flow-actions [data-flow-status] { color: var(--muted); font-size: 12px; font-weight: 900; text-align: center; text-transform: uppercase; }
.flow-actions .button:last-child, .flow-actions [data-flow-next] { grid-column: 3; }
.flow-actions .button[hidden] { display: none; }
.flow-review { margin: 30px 0; border-top: 4px solid #111; }
.flow-review__group { border-bottom: 1px solid var(--line); padding: 20px 0; }
.flow-review__group header { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 12px; }
.flow-review h4 { margin: 0; font-family: "Arial Black", Arial, sans-serif; font-size: 18px; }
.flow-review .text-link { border: 0; background: transparent; color: var(--red); cursor: pointer; font-weight: 900; }
.flow-review dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; margin: 0; }
.flow-review dl > div { min-width: 0; }
.flow-review dt { margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.flow-review dd { margin: 0; overflow-wrap: anywhere; font-family: Georgia, serif; font-size: 15px; line-height: 1.45; }
.flow-review--compact { margin-bottom: 0; border-top-width: 1px; padding-top: 22px; }
.flow-review--compact dl { grid-template-columns: 1fr; }
.check-line--consent { border-left: 4px solid var(--red); background: #f2f1ee; padding: 16px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.choice-option { display: grid !important; grid-template-columns: auto 1fr; gap: 14px !important; min-height: 128px; align-content: start; margin: 0 !important; border: 2px solid var(--line); padding: 20px; cursor: pointer; }
.choice-option:focus-within { border-color: var(--red); outline: 2px solid var(--red); outline-offset: 2px; }
.choice-option input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--red); }
.choice-option span { display: grid; gap: 8px; color: #111 !important; }
.choice-option strong { font-family: "Arial Black", Arial, sans-serif; font-size: 17px; }
.choice-option small { color: #343434; font-family: Georgia, serif; font-size: 14px; font-weight: 400; line-height: 1.4; }
.flow-safety-note { margin-top: 22px; border-left: 5px solid #f4c542; background: #f3f1e9; padding: 18px 20px; }
.flow-safety-note p { margin: 6px 0 0; font-family: Georgia, serif; font-size: 15px; line-height: 1.45; }
.flow-success { max-width: 960px; margin: 0 auto; border: 1px solid var(--line); border-top: 6px solid #217048; background: var(--paper); padding: 46px; }
.flow-success h2 { max-width: 700px; margin: 8px 0 12px; font-family: "Arial Black", Arial, sans-serif; font-size: 36px; line-height: 1.08; }
.flow-success > p:not(.eyebrow) { max-width: 700px; font-family: Georgia, serif; font-size: 17px; line-height: 1.5; }
.editorial-journey { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 0; list-style: none; }
.editorial-journey--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.editorial-journey li { display: grid; min-height: 112px; align-content: space-between; border-right: 1px solid var(--line); padding: 18px; }
.editorial-journey li:last-child { border-right: 0; }
.editorial-journey b { color: var(--red); font-size: 12px; }
.editorial-journey span { font-family: "Arial Black", Arial, sans-serif; font-size: 16px; line-height: 1.15; }
.editorial-journey .is-current { background: #217048; color: #fff; }
.editorial-journey .is-current b { color: #fff; }
.guided-flow--tip { margin-top: 0; border-top-color: var(--red); }
.tip-guidance { position: sticky; top: 148px; }
@media (max-width: 1120px) { .issue-archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.archive-header h1 { font-size: 60px; }
.tip-layout { gap: 42px; }
}
@media (max-width: 760px) { .issue-archive, .contribute-header, .contribute-flow ol, .tip-layout { grid-template-columns: 1fr; }
.issue-archive .issue-tile > div { min-height: 0; }
.contribute-page, .tip-page { padding-top: 38px; padding-bottom: 58px; }
.contribute-header { align-items: start; gap: 24px; }
.contribute-flow li { min-height: 72px; border-right: 0; border-bottom: 1px solid var(--line); padding: 16px 0; }
.contribute-flow li:last-child { border-bottom: 0; }
.enquiry-form--wide, .tip-form { margin-top: 38px; padding: 28px 20px; }
.enquiry-form--wide .checkbox-group { grid-template-columns: 1fr; }
.guided-flow { margin-top: 38px; }
.guided-flow--tip { margin-top: 0; }
.flow-stepper--four ol, .flow-stepper--three ol, .choice-grid, .flow-review dl, .editorial-journey, .editorial-journey--three { grid-template-columns: 1fr; }
.flow-stepper li { border-right: 0; border-bottom: 1px solid var(--line); }
.flow-stepper li:last-child { border-bottom: 0; }
.flow-stepper button { grid-template-columns: 44px 1fr; min-height: 66px; align-content: center; align-items: center; padding: 12px 16px; }
.flow-stepper span { max-width: none; font-size: 16px; }
.guided-flow .form-panel, .flow-success { margin-top: 0; padding: 28px 20px; }
.flow-stage__heading { font-size: 26px; }
.flow-actions { grid-template-columns: 1fr 1fr; }
.flow-actions [data-flow-status] { grid-column: 1 / -1; grid-row: 1; }
.flow-actions [data-flow-back] { grid-column: 1; grid-row: 2; }
.flow-actions [data-flow-next], .flow-actions .button:last-child { grid-column: 2; grid-row: 2; }
.flow-success h2 { font-size: 30px; }
.editorial-journey li { grid-template-columns: 44px 1fr; min-height: 64px; align-content: center; align-items: center; border-right: 0; border-bottom: 1px solid var(--line); }
.editorial-journey li:last-child { border-bottom: 0; }
.tip-guidance { position: static; }
}
/* Editorial public-form direction */ .contribute-header, .tip-header { padding-bottom: 34px; }
.contribute-header .headline, .tip-header .headline { font-size: 58px; }
.guided-flow { margin-top: 18px; border-top: 6px solid #111; color: #111; }
.flow-hero { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 0; align-items: center; min-height: 238px; border-bottom: 1px solid #111; padding: 26px 0; }
.flow-hero__number { align-self: center; color: var(--red); font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 134px; font-weight: 400; line-height: 0.82; }
.flow-hero__copy { min-width: 0; border-left: 1px solid #111; padding: 12px 40px 16px; }
.flow-hero__copy > p:first-child { margin: 0 0 8px; color: var(--red); font-family: Arial, sans-serif; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.flow-hero__copy h2 { margin: 0; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 78px; font-weight: 400; line-height: 0.96; text-transform: uppercase; }
.flow-hero__copy > p:last-child { max-width: 690px; margin: 16px 0 0; font-family: Georgia, serif; font-size: 21px; line-height: 1.35; }
.flow-hero__note { align-self: start; margin-top: 14px; border-bottom: 4px solid #f4c542; padding-bottom: 6px; font-family: Arial, sans-serif; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.flow-stepper { border-top: 0; border-bottom: 2px solid #111; }
.flow-stepper li, .flow-stepper li:last-child { border: 0; }
.flow-stepper button { display: flex; min-height: 62px; gap: 14px; align-items: end; border: 0; border-bottom: 4px solid transparent; padding: 17px 0 12px; background: transparent; color: #111; opacity: 0.58; }
.flow-stepper button:disabled { opacity: 0.58; }
.flow-stepper button:not(:disabled) { opacity: 1; }
.flow-stepper b { color: inherit; font-family: Arial, sans-serif; font-size: 17px; line-height: 1; }
.flow-stepper span { max-width: none; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 17px; font-weight: 400; line-height: 1; text-transform: uppercase; }
.flow-stepper li.is-active button { border-bottom-color: var(--red); background: transparent; color: var(--red); opacity: 1; }
.flow-stepper li.is-active b { color: var(--red); }
.flow-stepper li.is-complete button { border-bottom-color: transparent; color: #111; }
.flow-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 54px; align-items: start; padding-top: 36px; }
.guided-flow .form-panel, .guided-flow .enquiry-form--wide, .guided-flow .tip-form { max-width: none; margin: 0; border: 0; background: transparent; padding: 0; scroll-margin-top: 148px; }
.flow-stage__heading { font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 38px; font-weight: 400; line-height: 1; }
.flow-stage__heading::before { display: block; width: max-content; max-width: 100%; margin-bottom: 12px; background: #f4c542; padding: 5px 9px 4px; content: attr(data-stage-eyebrow); font-family: Arial, sans-serif; font-size: 11px; font-weight: 900; line-height: 1; text-transform: uppercase; }
.flow-stage__intro { max-width: 700px; margin: 8px 0 28px; font-size: 16px; }
.guided-flow--write .checkbox-group { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 34px; border: 0; border-top: 1px solid var(--line); padding: 0; }
.guided-flow--write .checkbox-group > legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.guided-flow--write .checkbox-group label { min-height: 58px; align-items: center; margin: 0 !important; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 11px 13px; cursor: pointer; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 18px !important; font-weight: 400; }
.guided-flow--write .checkbox-group label:nth-of-type(3n) { border-right: 0; }
.guided-flow--write .checkbox-group label:has(input:checked) { background: var(--red); color: #fff; }
.guided-flow--write .checkbox-group input, .guided-flow .check-line input, .choice-option input { width: 18px; height: 18px; accent-color: var(--red); }
.flow-field--compact { max-width: 520px; }
.guided-flow .form-panel > fieldset > label, .guided-flow .publish-grid > label { font-family: Arial, sans-serif; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.guided-flow .field { border: 2px solid #111; background: #fff; font-family: Georgia, serif; font-size: 16px; font-weight: 400; }
.guided-flow textarea.field { min-height: 148px; }
.flow-context { position: sticky; top: 148px; border-left: 1px solid #111; padding-left: 34px; }
.flow-context__title { margin: 0 0 12px; border-bottom: 5px solid var(--red); padding-bottom: 12px; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 31px; line-height: 1; text-transform: uppercase; }
.flow-context ol { margin: 0; padding: 0; list-style: none; }
.flow-context ol li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; border-bottom: 1px solid var(--line); padding: 20px 0; }
.flow-context ol b, .tip-guidance section > span { color: var(--red); font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 22px; font-weight: 400; }
.flow-context ol strong, .flow-context__note strong { font-family: Arial, sans-serif; font-size: 14px; font-weight: 900; }
.flow-context ol p, .flow-context__note p { margin: 5px 0 0; font-family: Georgia, serif; font-size: 14px; line-height: 1.42; }
.flow-context__note { margin-top: 20px; border-left: 5px solid #f4c542; padding: 2px 0 2px 16px; }
.flow-actions { grid-template-columns: minmax(108px, auto) 1fr minmax(138px, auto); margin-top: 40px; border-top: 2px solid #111; padding-top: 18px; }
.flow-actions [data-flow-status] { justify-self: start; color: #111; text-align: left; }
.flow-actions .button--primary { min-height: 52px; padding: 0 28px; background: #111; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: uppercase; }
.flow-review { border-top: 2px solid #111; }
.check-line--consent { border-left: 5px solid var(--red); background: #f4f1e8; }
.tip-layout { display: block; margin-top: 18px; }
.guided-flow--tip { border-top-color: var(--red); }
.choice-grid { gap: 0; border-top: 1px solid var(--line); }
.choice-option { min-height: 106px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 22px 18px; }
.choice-option:last-child { border-right: 0; }
.choice-option:has(input:checked) { background: var(--red); color: #fff; }
.choice-option:has(input:checked) span, .choice-option:has(input:checked) small { color: #fff !important; }
.choice-option strong { font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 20px; font-weight: 400; }
.flow-safety-note { border-left-color: #f4c542; background: #f4f1e8; }
.tip-guidance { position: sticky; top: 148px; border-top: 0; }
.tip-guidance section { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 20px 0; }
.tip-guidance h2 { margin-bottom: 8px; font-family: Arial, sans-serif; font-size: 15px; }
.tip-guidance p { font-size: 14px; }
.flow-success { max-width: none; margin-top: 36px; border-right: 0; border-bottom: 0; border-left: 0; background: transparent; }
@media (max-width: 960px) { .flow-workspace { grid-template-columns: 1fr; }
.flow-context, .tip-guidance { position: static; border-top: 5px solid #111; border-left: 0; padding: 28px 0 0; }
.flow-context ol, .tip-guidance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.flow-context ol li, .tip-guidance section { display: block; border-bottom: 0; }
.flow-context__note { grid-column: 1 / -1; }
}
@media (max-width: 760px) { .contribute-header .headline, .tip-header .headline { font-size: 44px; }
.flow-hero { grid-template-columns: 78px minmax(0, 1fr); min-height: 0; padding: 24px 0; }
.flow-hero__number { font-size: 70px; }
.flow-hero__copy { padding: 4px 0 6px 18px; }
.flow-hero__copy h2 { font-size: 42px; }
.flow-hero__copy > p:last-child { grid-column: 1 / -1; margin-top: 10px; font-size: 16px; }
.flow-hero__note { grid-column: 1 / -1; width: max-content; margin: 18px 0 0; }
.flow-stepper--four ol, .flow-stepper--three ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.flow-stepper button { min-height: 54px; align-items: center; padding: 12px 0 9px; }
.flow-stepper span { font-size: 15px; }
.flow-workspace { gap: 44px; padding-top: 28px; }
.guided-flow .form-panel, .flow-success { padding: 0; }
.flow-stage__heading { font-size: 31px; }
.guided-flow--write .checkbox-group, .choice-grid, .flow-context ol, .tip-guidance { grid-template-columns: 1fr; }
.guided-flow--write .checkbox-group label, .guided-flow--write .checkbox-group label:nth-of-type(3n) { border-right: 0; }
.choice-option, .choice-option:last-child { border-right: 0; }
.flow-actions { grid-template-columns: 1fr 1fr; }
.flow-actions [data-flow-status] { grid-column: 1 / -1; grid-row: 1; }
.flow-context, .tip-guidance { padding-top: 24px; }
}

/* Option 1: refined broadsheet public visual system. */
@font-face{font-family:"Newsreader";src:url("assets/fonts/newsreader-variable.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Newsreader";src:url("assets/fonts/newsreader-variable-italic.woff2") format("woff2");font-style:italic;font-weight:200 800;font-display:swap}
body:not(.is-admin){--ink:#171513;--muted:#67635f;--paper:#f7f5f3;--pale:#ece8e2;--line:#bbb6b0;--red:#a31621;--deep-red:#71101a;--editorial-red:#a31621;--font-editorial:"Newsreader",Georgia,"Times New Roman",serif;--font-ui:Arial,Helvetica,sans-serif;--chrome-gutter:max(clamp(24px,1.95vw,38px),calc((100vw - 1920px) / 2));--header-motion-duration:260ms;--header-motion-ease:cubic-bezier(0.2,0.75,0.2,1);background:var(--paper);color:var(--ink)}
body:not(.is-admin) .site-shell,body:not(.is-admin) #app{background:var(--paper)}
body:not(.is-admin) .page{width:min(1920px,calc(100% - var(--chrome-gutter) - var(--chrome-gutter)));max-width:none;margin-inline:auto;padding-inline:0}
:is(.headline,.article-title,.front-lead__copy h1,.section-header h1,.search-header h1,.archive-header h1,.issue-reader__intro h1,.contributor-header h1,.public-route-header h1,.footer__brand h2){font-family:var(--font-editorial);font-weight:600;letter-spacing:-0.035em;text-wrap:balance;overflow-wrap:break-word}
:is(.article-card h3,.front-rail-story h3,.section-feature h2,.section-side-stories h3,.result h3,.team-card h3,.team-stage-heading h2,.module-heading h2,.module-heading h3,.section-heading){font-family:var(--font-editorial);font-weight:600;letter-spacing:-0.018em;text-wrap:pretty}
body:not(.is-admin) :is(.eyebrow,.section-chip){min-height:0;border:0;padding:0;background:transparent;color:var(--editorial-red);font-family:var(--font-ui);font-size:10px;font-weight:800;letter-spacing:.025em;line-height:1.25;text-transform:uppercase}
.meta{color:var(--muted);font-family:var(--font-ui);font-size:11px;line-height:1.45}
:is(.media,.cover,.team-card__photo){background:var(--pale)}
:is(.media,.cover) img{display:block;width:100%;height:100%;object-fit:cover}
body:not(.is-admin) :focus-visible{outline:3px solid var(--editorial-red);outline-offset:4px}
body:not(.is-admin) .button{min-height:44px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:11px;letter-spacing:.025em;text-transform:uppercase}
body:not(.is-admin) .button:hover,body:not(.is-admin) .button:focus-visible,body:not(.is-admin) .button--primary{border-color:var(--deep-red);background:var(--deep-red);color:#fff}
body:not(.is-admin) .button--primary:hover,body:not(.is-admin) .button--primary:focus-visible{background:var(--ink)}
body:not(.is-admin) .text-link{border-bottom-color:var(--editorial-red);color:var(--ink)}
.masthead{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--ink)}
.topbar{max-height:46px;border-bottom:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:700}
.topbar__inner,.nav,.masthead--compact .masthead__inner{width:min(1920px,calc(100% - var(--chrome-gutter) - var(--chrome-gutter)));padding-inline:0}
.topbar__inner,.topbar nav a{min-height:46px}
.masthead__inner{min-height:198px;padding:24px var(--chrome-gutter) 26px;color:var(--ink)}
.masthead__kicker{margin-bottom:16px;color:var(--editorial-red);font-size:13px;letter-spacing:.035em;line-height:1.2}
.masthead__name{font-family:var(--font-editorial);font-size:clamp(90px,8.4vw,126px);font-weight:650;letter-spacing:-0.055em;line-height:.82}
.masthead__est{margin-top:18px;color:var(--ink);font-family:var(--font-ui);font-size:12px;letter-spacing:.07em;line-height:1.2}
.nav{min-height:48px;border-top:1px solid var(--ink);color:var(--ink);font-size:13px;font-weight:700}
.nav a{min-height:48px}
:is(.nav,.topbar) a:hover,:is(.nav,.topbar) a:focus-visible{color:var(--editorial-red)}
.nav a[aria-current="page"]{color:var(--editorial-red)}
.nav a[aria-current="page"]::after{right:32%;left:32%;height:3px;background:var(--editorial-red)}
.masthead--compact{box-shadow:0 10px 24px rgb(36 25 17 / 10%)}
.masthead--compact .masthead__inner{min-height:82px}
.masthead--compact .masthead__name{font-size:51px}
.masthead--compact .nav,.masthead--compact .nav a{min-height:42px}
.edition-line{min-height:46px;border-bottom:1px solid var(--line);padding-inline:var(--chrome-gutter);background:var(--paper);color:var(--ink)}
.edition-line a{border-bottom-color:var(--editorial-red)}
.front-lead{grid-template-columns:minmax(0,2.12fr) minmax(260px,1fr) minmax(230px,.82fr);gap:18px;align-items:stretch;border-bottom:1px solid var(--line);padding-top:10px;padding-bottom:22px}
.front-lead__main{grid-template-columns:minmax(240px,.84fr) minmax(300px,1fr);gap:clamp(24px,2.35vw,34px);align-items:stretch}
.front-lead__image{height:550px;min-height:0}
.front-lead__copy{justify-content:flex-start;border-top:0;border-right:1px solid var(--line);padding:4px clamp(18px,1.9vw,28px) 4px 0}
.front-lead__copy h1{margin:10px 0 22px;font-size:clamp(42px,3vw,48px);line-height:.98}
.front-lead__copy .lede{margin:0 0 26px;font-family:var(--font-editorial);font-size:15px;line-height:1.42}
.front-lead__copy .meta{margin-top:auto}
.module-heading{border-top:1px solid var(--ink);padding-top:9px}
.module-heading h2,.module-heading h3{color:var(--editorial-red);font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.module-heading--large{border-top-width:2px}
.module-heading--large h2{color:var(--ink);font-family:var(--font-editorial);font-size:34px;font-weight:600;letter-spacing:-.02em;text-transform:none}
.front-lead__support{display:flex;min-width:0;flex-direction:column}
.front-lead__support-image{width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0 0 16px}
.front-lead__support-copy{display:flex;min-height:0;flex:1;flex-direction:column}
.front-lead__support .front-lead__support-copy h2{margin:8px 0 12px;font:600 clamp(22px,1.8vw,27px)/1.05 var(--font-editorial);letter-spacing:-.018em;text-wrap:pretty}
.front-lead__support-copy .meta{margin-top:10px}
.front-lead__rail{min-width:0;border-left:0;padding-left:0}
.front-lead__stories{display:block;margin:0;padding:0;list-style:none}
.front-lead__stories>li{display:grid;grid-template-columns:31px minmax(0,1fr);gap:9px}
.front-rail-story__rank{padding-top:14px;color:var(--editorial-red);font:500 30px/1 var(--font-editorial)}
.front-rail-story{border-bottom:1px solid var(--line);padding:14px 0}
.front-rail-story h3{margin:5px 0 8px;font-size:clamp(16px,1.25vw,19px);line-height:1.05}
.latest-edition{border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
.latest-edition__inner{grid-template-columns:190px minmax(210px,.65fr) minmax(420px,1.35fr);width:min(1100px,calc(100% - var(--chrome-gutter) - var(--chrome-gutter)));gap:34px;padding:16px 0}
.latest-edition .issue-cover{width:190px;min-height:100px;max-height:112px;aspect-ratio:1.75;overflow:hidden;box-shadow:none}
.latest-edition__intro h2{margin:5px 0;font-family:var(--font-editorial);font-size:31px;font-weight:600}
.latest-edition__intro > p:not(.eyebrow){margin:0;color:var(--muted);font-family:var(--font-ui);font-size:11px}
.latest-edition__intro,.latest-edition__contents{align-self:stretch;border-left:1px solid var(--line);padding-left:34px}.latest-edition__contents{display:flex;flex-direction:column;justify-content:center}.latest-edition__contents>p{max-width:38ch;margin:0 0 14px;font:16px/1.4 var(--font-editorial)}.latest-edition__contents>a{display:inline-flex;width:max-content;border-bottom:1px solid var(--editorial-red);padding:0 0 3px;font:800 11px/1 var(--font-ui);text-transform:uppercase}
.editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px}
.article-card{border-top:1px solid var(--ink);padding-top:12px}
.article-card__media{height:auto;aspect-ratio:16 / 10;margin-bottom:15px}
.article-card h3{display:-webkit-box;margin:9px 0;overflow:hidden;font-size:clamp(22px,2vw,30px);line-height:1.05;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.article-card__body > p:not(.meta){display:-webkit-box;overflow:hidden;color:var(--muted);font-family:var(--font-editorial);font-size:15px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.join-band{border-top:1px solid var(--deep-red);border-bottom:1px solid var(--deep-red);padding-inline:var(--chrome-gutter);background:var(--deep-red)}
.join-band h2{font-family:var(--font-editorial);font-weight:600}
body:not(.is-admin) .join-band{color:#fff}
body:not(.is-admin) .join-band .eyebrow{color:#fff}
body:not(.is-admin) .join-band .button--light{border-color:#fff;background:#fff;color:var(--deep-red)}
body:not(.is-admin) .join-band .button--light:hover,body:not(.is-admin) .join-band .button--light:focus-visible{border-color:#fff;background:transparent;color:#fff;outline-color:#fff}
.footer{border-top-color:var(--deep-red);background:var(--ink);color:var(--paper)}
.footer .footer__description{color:#d9d2c7}
.footer__inner{grid-template-columns:minmax(340px,.82fr) minmax(640px,1.18fr);gap:clamp(64px,7vw,140px)}
.footer__brand{display:flex;flex-direction:column;align-items:flex-start}
.footer .footer__kicker{line-height:1.25}
.footer__brand h2{margin:14px 0 20px;font-size:clamp(62px,6.4vw,110px);line-height:.84}
.footer .footer__strapline{border-bottom-width:2px;padding-bottom:9px;line-height:1.2}
.footer .footer__description{max-width:42ch;margin:30px 0 0;font-size:clamp(17px,1.25vw,20px);line-height:1.5}
@media(max-width:1100px){.footer__inner{grid-template-columns:1fr;gap:48px}.footer__brand{max-width:680px}.footer__brand h2{font-size:clamp(60px,11vw,84px)}.footer__directory{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.footer__directory nav:first-child{grid-row:auto}}
@media(max-width:620px){.footer__inner{gap:42px}.footer__brand h2{font-size:clamp(54px,15vw,72px)}.footer__directory{grid-template-columns:1fr 1fr}.footer__directory nav:first-child{grid-row:span 2}}
@media(max-width:460px){.footer__directory nav:first-child{grid-column:1/-1;grid-row:auto}}
@media(max-width:340px){.footer__directory{grid-template-columns:1fr}.footer__directory nav:first-child{grid-column:auto}}
:is(.front-lead__main,.section-feature).no-media,:is(.front-lead__main,.section-feature):not(:has(.media)){grid-template-columns:minmax(0,1fr)}
.front-lead__main.no-media .front-lead__copy,.front-lead__main:not(:has(.media)) .front-lead__copy{max-width:900px;min-height:460px}
:is(.article-card,.result).no-media,:is(.article-card,.result):not(:has(.media)){border-top-color:var(--editorial-red)}
.result:not(:has(.result__image)){grid-template-columns:minmax(0,1fr)}
:is(.media--portrait,.orientation--portrait) img{object-fit:cover;object-position:50% 25%}
.card--hero h3,:is(h1,h2,h3).headline--short{font-size:clamp(38px,4vw,72px)}
:is(h1,h2,h3):is(.headline--long,.headline-length--long){font-size:clamp(34px,3.4vw,58px);line-height:1}
:is(h1,h2,h3):is(.headline--very-long,.headline--xlong,.headline-length--xlong){font-size:clamp(30px,2.9vw,49px);line-height:1.02}
@media(min-width:761px){.front-rail-story h3:is(.headline--short,.headline--medium,.headline--long,.headline--very-long){font-size:clamp(16px,1.25vw,19px);line-height:1.08}}
.card--compact{display:grid;grid-template-columns:minmax(96px,.38fr) minmax(0,.62fr);gap:16px}
.card--compact .media{margin:0;aspect-ratio:1}
.card--compact h3{font-size:20px;-webkit-line-clamp:4}
.card--text-only,.article-card--text-only{border-top:2px solid var(--editorial-red)}
:is(.section-header,.search-header){background:var(--paper);color:var(--ink);border-top:4px solid var(--editorial-red);border-bottom:1px solid var(--ink)}
.section-header{position:sticky;top:var(--masthead-stack-height);z-index:900;overflow:hidden}
:is(.section-header,.search-header) .page{padding-top:30px;padding-bottom:30px}
:is(.section-header,.search-header) .eyebrow{color:var(--editorial-red);opacity:1}
:is(.section-header,.search-header) h1{margin:3px 0 8px;font-size:clamp(54px,5.2vw,78px);line-height:.95}
:is(.section-header,.search-header) p:not(.eyebrow){color:var(--muted);font-family:var(--font-editorial);font-size:18px}
.section-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity count" "strapline count";gap:8px 36px;align-items:end}
.section-header__identity{grid-area:identity}
.section-header__strapline{grid-area:strapline}
.section-header .section-header__inner > .section-header__count{position:static;grid-area:count;align-self:end;color:var(--muted);white-space:nowrap}
.masthead--compact ~ #app .section-header{box-shadow:0 8px 18px rgb(36 25 17 / 8%)}
.section-feature{grid-template-columns:minmax(280px,.88fr) minmax(340px,1.12fr);border-top:1px solid var(--ink);padding-top:14px}
.section-feature h2{font-size:clamp(38px,3.4vw,58px)}
.section-side-stories > a{border-bottom-color:var(--line)}
.page--article{width:min(1280px,calc(100% - var(--chrome-gutter) - var(--chrome-gutter)));padding-top:clamp(40px,5vw,72px)}
.article-header{max-width:1060px;margin-bottom:32px}
.article-title{max-width:1060px;margin:16px 0 22px;font-size:clamp(54px,6vw,88px);line-height:.96}
.standfirst{color:var(--muted);font-family:var(--font-editorial);font-size:23px;line-height:1.42}
.article-media{height:auto;max-height:720px;aspect-ratio:16 / 9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-layout{grid-template-columns:minmax(0,710px) minmax(250px,300px);gap:clamp(56px,7vw,96px)}
.body-copy{max-width:68ch;font-family:var(--font-editorial);font-size:20px;line-height:1.64;overflow-wrap:anywhere}
.body-copy p:first-child::first-letter{float:none;margin:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
.article-copy > .body-copy:first-child > p:first-child::first-letter{float:left;margin:7px 9px 0 0;color:var(--editorial-red);font-family:var(--font-editorial);font-size:76px;font-weight:700;line-height:.68}
.pullquote{border-top:3px solid var(--editorial-red);border-bottom-color:var(--line);font-family:var(--font-editorial);font-size:32px;font-style:italic;font-weight:600}
.article-context > div,.tip-card{border-top:1px solid var(--ink)}
.tip-card{background:var(--deep-red)}
:is(.archive-header,.related-stories){border-color:var(--ink)}
:is(.archive-header h1,.issue-reader__intro > h1){font-size:clamp(54px,5.4vw,78px)}
.issue-tile{border-bottom-color:var(--line)}
.issue-tile h2{font-family:var(--font-editorial);font-weight:600}
:is(.search-filter-panel,.search-row,.search-summary,.result,.team-path,.team-card,.contributor-card,.privacy-status,.privacy-grid > section,.privacy-detail,.form-panel,.flow-context,.flow-stepper,.public-route-header__facts){border-color:var(--line)}
.result{background:transparent}
.result h3{font-size:clamp(25px,2.3vw,36px)}
:is(.team-page__header .headline,.privacy-header h1,.contributor-header h1){font-family:var(--font-editorial);font-weight:600}
:is(.team-card,.contributor-card){border-radius:0;background:transparent}
.privacy-header h1{font-size:clamp(52px,6vw,84px)}
:is(.contribute-page,.tip-page){max-width:1480px}
.public-route-header{border-top:4px solid var(--editorial-red);border-bottom:1px solid var(--ink);color:var(--ink)}
.public-route-header__meta{min-height:44px;border-bottom:1px solid var(--line);font-size:10px}
.public-route-header__meta span:first-child{padding:0;background:transparent;color:var(--editorial-red)}
.public-route-header__body{grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:64px;padding:38px 0}
.public-route-header h1{margin:0;font-size:clamp(68px,7vw,108px);line-height:.86;text-transform:none}
.public-route-header h1 span{color:var(--editorial-red)}
.public-route-header__brief{border-left:1px solid var(--line);padding-left:28px}
.public-route-header__brief p{font-family:var(--font-editorial)}
.public-route-header__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}
.public-route-header__facts div{border-right:1px solid var(--line)}
.public-route-header__facts dt{color:var(--editorial-red)}
.public-route-header__facts dd{font-family:var(--font-editorial);font-size:20px;font-weight:600;text-transform:none}
:is(.flow-hero__copy h2,.flow-stage__heading,.flow-success h2){font-family:var(--font-editorial);font-weight:600}
body:not(.is-admin) :is(.field,.choice-option,.checkbox-group label){border-radius:0;border-color:var(--line);background:#fffdf8}
.flow-stepper li.is-active button,.flow-stepper li.is-complete button{border-color:var(--editorial-red);color:var(--editorial-red)}
:is(.feed-controls,.load-more-controls,.feed__controls){display:flex;min-height:72px;align-items:center;justify-content:center;gap:18px;margin-top:38px;border-top:1px solid var(--line)}
:is(.feed-status,[data-feed-status],.feed__status){max-width:58ch;color:var(--muted);font-size:11px;text-align:center}
:is(.feed-controls,.load-more-controls).is-complete .button,[data-feed-complete="true"] .button{display:none}
:is(.feed-controls,.load-more-controls).is-loading{cursor:progress;opacity:.65}
@media (min-width:1101px){.front-lead__support{border-right:1px solid var(--line);padding-right:18px}
.front-lead__support-image{aspect-ratio:24/25}
}
@media (min-width:1700px){.front-lead__image{min-height:650px}
.front-lead__copy h1{font-size:clamp(62px,4.2vw,88px)}
}
@media (max-width:1100px) and (min-width:761px){.masthead__inner{min-height:172px;padding-top:22px;padding-bottom:24px}
.masthead__name{font-size:82px}
.front-lead{grid-template-columns:minmax(0,1fr)}
.front-lead__support{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:24px}
.front-lead__support-image{margin:0}
.front-lead__rail{border-top:1px solid var(--ink);border-left:0;padding:18px 0 0}
.front-lead__stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.article-layout{grid-template-columns:minmax(0,1fr) 260px;gap:44px}
.public-route-header__body{gap:38px}
}
@media (pointer:coarse){body:not(.is-admin) :is(.nav a,.topbar a,.button,.text-link,summary,.flow-stepper button){min-height:44px;touch-action:manipulation}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
body:not(.is-admin) *,body:not(.is-admin) *::before,body:not(.is-admin) *::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}

/* Story photographs retain their full frame and visible print credits. */
.page--article .article-media{display:block;height:auto;min-height:0;max-height:none;aspect-ratio:auto;overflow:visible}
.page--article .article-media>picture{display:block;height:auto}
.page--article .article-media img{display:block;width:100%;height:auto;max-height:min(720px,80svh);aspect-ratio:auto;object-fit:contain}
.page--article .article-media .media__caption{display:block;position:static;margin:10px 0 28px}
.article-additional-media{display:grid;gap:24px;margin-top:32px}
.issue-reader__gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.issue-reader__gallery-grid figure{margin:0;min-width:0}
.issue-reader__gallery-grid img{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain}
.issue-reader__gallery-grid figcaption{margin-top:8px}

.pullquote .pullquote-attribution { display: block; margin-top: 12px; font-family: var(--font-body, Arial, sans-serif); font-size: 16px; font-style: normal; font-weight: 600; line-height: 1.4; }

/* Section empty states give readers a direct route to published stories. */
.section-empty.section-empty--simple { border: 0; background: transparent; margin: 0 auto; padding: 32px 16px 48px; }
.section-empty.section-empty--simple h2 { margin: 0 0 20px; font-family: Arial, sans-serif; font-size: 24px; line-height: 1.3; }
.latest-stories-page { padding-top: 40px; padding-bottom: 64px; }
.latest-stories-page h1 { margin: 0 0 12px; font-size: clamp(32px, 6vw, 56px); }
