/* Mari presentation layer. Content, routes and editorial queries stay in Ghost. */
html { font-size: 17px; }
body.io-mari {
  --font-sans: "Switzer Variable", "Switzer", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-heading: var(--font-sans);
  --font-serif: var(--font-sans);
  --font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --io-bg: #fff; --io-bg-soft: #f2f2f2; --io-bg-muted: #eee;
  --io-ink: #000; --io-ink-soft: #333; --io-muted: #595959;
  --io-rule: #ccc; --io-rule-strong: #999;
  --io-accent: #e2231a; --io-accent-dark: #b91e16;
  --io-focus: #e2231a; --io-highlight: #f2f2f2; --io-progress: #e2231a;
  --color-paper: var(--io-bg); --color-paper-soft: var(--io-bg-soft);
  --color-ink: var(--io-ink); --color-ink-soft: var(--io-ink-soft); --color-ink-muted: var(--io-muted);
  --color-rule: var(--io-rule); --color-rule-strong: var(--io-rule-strong);
  --color-accent: var(--io-accent); --color-accent-blue: var(--io-focus);
  --color-highlight: var(--io-highlight); --color-progress: var(--io-progress);
  --measure: 34rem; --index-w: 15rem; --margin-w: 13rem;
  --gutter: 2rem; --pad: 2rem; --mari-header-h: 4rem;
  font-family: var(--font-sans); font-size: 1rem; line-height: 1.5;
  background: #fff; color: #000; -webkit-font-smoothing: antialiased;
}
.io-mari *, .io-mari *::before, .io-mari *::after { box-sizing: border-box; }
.io-mari :focus-visible { outline: 2px solid #e2231a; outline-offset: 3px; }
.io-mari a { text-underline-offset: .15em; text-decoration-color: #000 !important; }
.io-mari a:hover { color: #e2231a; }
.io-mari .site-shell {
  width: 100%; max-width: calc(var(--measure) + var(--gutter) + var(--margin-w) + 2 * var(--pad));
  margin-inline: 0; padding-inline: var(--pad);
}
.io-mari .site-header { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid #ccc; }
.io-mari .site-header .site-shell { max-width: none; }
.io-mari .site-wordmark { font-family: var(--font-sans); font-size: 1.25rem; letter-spacing: -.04em; font-weight: 700; }
.io-mari .site-nav, .io-mari .nav-toggle { font-family: var(--font-sans); font-size: .765rem; }
.io-mari .site-nav a { color: #000; }
.io-mari .site-nav a:hover, .io-mari .site-nav a.is-active { color: #e2231a; }
.io-mari .site-main { position: relative; width: calc(100% - var(--index-w)); max-width: none; margin-left: var(--index-w); margin-right: 0; }
.io-mari .site-main:has(.mari-essay), .io-mari .site-main:has(.swiss-report) { width: 100%; max-width: none; margin-left: 0; }
.io-mari .mari-rail {
  position: absolute; top: 0; bottom: 0; left: calc(-1 * var(--index-w));
  width: var(--index-w); padding: 3rem 0 4.5rem var(--pad);
}
.io-mari .mari-rail-inner {
  position: sticky; top: calc(var(--mari-header-h) + 2rem);
  max-height: calc(100vh - var(--mari-header-h) - 4rem);
  overflow: auto; scrollbar-width: thin;
  font-size: .765rem; line-height: 1.4;
}
.io-mari .mari-rail-inner::before { content: ""; display: block; height: .75rem; background: #000; margin-bottom: 1.5rem; }
.io-mari .mari-rail-label { margin: 0 0 1.5rem; font-family: var(--font-mono); font-size: .65rem; letter-spacing: .07em; text-transform: uppercase; color: #595959; }
.io-mari .mari-rail .article-sidebar { position: static; top: auto; width: auto; max-height: none; overflow: visible; padding-right: .5rem; }
.io-mari .mari-rail .article-toc { border: 0; padding: 0; font-size: .765rem; color: #000; }
.io-mari .article-toc__top { color: #000; width: auto; height: auto; margin-bottom: 1.5rem; font-size: .765rem; }
.io-mari .article-toc__list, .io-mari .mari-page-index ul { list-style: none; padding: 0; margin: 0; }
.io-mari .article-toc__list li, .io-mari .mari-page-index li { padding: 0; margin: 0 0 .75rem; }
.io-mari .article-toc__list a, .io-mari .mari-page-index a { display: block; color: #000; text-decoration: none; }
.io-mari .article-toc__list a:hover, .io-mari .article-toc__list a.is-active,
.io-mari .mari-page-index a:hover, .io-mari .mari-page-index a[aria-current] { color: #e2231a; }
.io-mari .article-toc__list .toc-h2 { font-weight: 600; }
.io-mari .article-toc__list .toc-h3 { padding-left: .75rem; font-size: .765rem; color: #595959; }
.io-mari .mari-index-toggle { display: none; }
.io-mari .home-masthead, .io-mari .page-hero, .io-mari .article-header { padding-top: 3rem; margin-top: 0; }
.io-mari .home-masthead { padding-bottom: 0; }
.io-mari .home-masthead h1, .io-mari .page-hero h1, .io-mari .article-header h1 {
  max-width: var(--measure); font-size: clamp(2.1rem, 4vw, 3.4rem);
  font-weight: 650; line-height: 1.04; letter-spacing: -.035em;
}
.io-mari .home-masthead p:last-child, .io-mari .page-hero > p, .io-mari .article-deck {
  max-width: var(--measure); margin-top: 1.5rem; font-size: 1.12rem;
  line-height: 1.4; color: #595959;
}
.io-mari .home-feature, .io-mari .home-dossiers, .io-mari .home-latest,
.io-mari .home-concepts, .io-mari .home-about, .io-mari .home-reports,
.io-mari .archive-section, .io-mari .dossier-page-grid, .io-mari .concepts-page,
.io-mari .archive-index, .io-mari .text-page, .io-mari .article-apparatus,
.io-mari .reports-page, .io-mari .essays-page { margin-top: 4.5rem; }
.io-mari .section-heading { border-top: .12rem solid #000; padding-top: .75rem; margin-bottom: 1.5rem; }
.io-mari .section-heading > p, .io-mari .article-kicker {
  font-family: var(--font-mono); font-size: .65rem; line-height: 1.4; letter-spacing: .07em;
  font-weight: 400; text-transform: uppercase; color: #595959;
}
.io-mari .section-heading h2 { font-size: 1.75rem; font-weight: 600; }
.io-mari .featured-essay { grid-template-columns: 8.5rem minmax(0,1fr); gap: .5rem 2rem; border-top: 0; padding: 0; }
.io-mari .featured-essay__meta { display: contents; }
.io-mari .featured-essay__meta > .taxonomy-list {
  grid-column: 1; grid-row: 1 / 4; flex-direction: column; align-content: flex-start;
  color: #3182bd;
}
.io-mari .featured-essay__date { grid-column: 2; grid-row: 1; }
.io-mari .featured-essay h3 { grid-column: 2; grid-row: 2; }
.io-mari .featured-essay__deck { grid-column: 2; grid-row: 3; }
.io-mari .featured-essay h3, .io-mari .report-card h2, .io-mari .report-card h3 { font-size: 1.8rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.12; }
.io-mari .featured-essay__deck { font-size: 1rem; line-height: 1.5; color: #595959; }
.io-mari .report-card__deck { font-size: 1rem; line-height: 1.5; color: #595959; }
.io-mari.home-template time { color: #3182bd; }
.io-mari.home-template .home-reports .report-list { border-top: 0; }
.io-mari.home-template .home-reports .report-card { display: block; }
.io-mari.home-template .home-reports .report-card__meta > span { display: none; }
.io-mari.home-template .home-reports .report-card__body { margin-top: .5rem; }
.io-mari .featured-essay__meta, .io-mari .featured-essay__date, .io-mari .post-card__date,
.io-mari .post-card__territories, .io-mari .taxonomy-list, .io-mari .dossier-card__concepts { font-size: .765rem; line-height: 1.4; }
.io-mari .dossier-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.io-mari .dossier-card { border-top: 1px solid #ccc; padding: 1.5rem 0 0; }
.io-mari .dossier-card h3, .io-mari .dossier-card h2 { font-size: 1.35rem; font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.io-mari .dossier-card__number { color: #e2231a; font-size: .65rem; }
.io-mari .dossier-card p { font-size: .875rem; line-height: 1.5; }
.io-mari .dossier-card .dossier-card__concepts { font-size: .765rem; color: #595959; }
.io-mari.home-template .home-dossiers .dossier-grid { gap: 0 2rem; border: 0; }
.io-mari.home-template .home-dossiers .dossier-card {
  display: grid; grid-template-columns: 2.8rem minmax(0,1fr); gap: 1rem;
  border: 0; border-top: .12rem solid #000; padding: 1.5rem 0 2rem;
}
.io-mari.home-template .home-dossiers .dossier-card__number {
  font-family: var(--font-sans); font-size: 2.55rem; font-weight: 600;
  letter-spacing: -.055em; line-height: .95; color: #000;
}
.io-mari.home-template .home-dossiers .dossier-card h3 {
  font-size: 1.4rem; margin: 0; line-height: 1.1;
}
.io-mari.home-template .home-dossiers .dossier-card__concepts {
  color: #3182bd; font-size: .765rem; line-height: 1.4;
}
/* Dossiers index uses the same numbered card treatment as the homepage. */
.io-mari .dossier-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; border: 0; }
.io-mari .dossier-page-grid .dossier-card {
  display: grid; grid-template-columns: 2.8rem minmax(0,1fr); gap: 1rem;
  border: 0; border-top: .12rem solid #000; padding: 1.5rem 0 2rem;
}
.io-mari .dossier-page-grid .dossier-card__number {
  font-family: var(--font-sans); font-size: 2.55rem; font-weight: 600;
  letter-spacing: -.055em; line-height: .95; color: #000;
}
.io-mari .dossier-page-grid .dossier-card__body { min-width: 0; }
.io-mari .dossier-page-grid .dossier-card h3 { margin: 0; font-size: 1.4rem; line-height: 1.1; }
.io-mari .dossier-page-grid .dossier-card__concepts { color: #3182bd; font-size: .765rem; line-height: 1.4; }
@media (max-width: 899px) {
  .io-mari .dossier-page-grid { grid-template-columns: minmax(0,1fr); }
}
.io-mari .post-card { padding-block: 1.5rem; }
.io-mari .post-list:not(.post-list--compact) .post-card { row-gap: .5rem; }
.io-mari .post-list:not(.post-list--compact) .post-card__body { display: contents; }
.io-mari .post-list:not(.post-list--compact) .post-card__date { grid-column: 2; grid-row: 1; }
.io-mari .post-list:not(.post-list--compact) .post-card__title { grid-column: 2; grid-row: 2; }
.io-mari .post-list:not(.post-list--compact) .post-card__deck { grid-column: 2; grid-row: 3; margin-top: 0; }
.io-mari .post-card__tags { flex-direction: column; align-content: flex-start; color: #3182bd; }
.io-mari .post-list:not(.post-list--compact) .post-card__tags { grid-column: 1; grid-row: 1 / 4; margin-top: 0; }
.io-mari .post-card h2, .io-mari .post-card h3 { font-size: 1.35rem; line-height: 1.15; font-weight: 600; letter-spacing: -.015em; }
.io-mari .post-card p { font-size: .875rem; line-height: 1.5; }
.io-mari .concept-list a { font-size: 1rem; line-height: 1.4; }
.io-mari .archive-row { padding-block: 1.5rem; gap: 2rem; }
.io-mari .archive-row time { font-family: var(--font-mono); font-size: .65rem; }
.io-mari.io-mari-dated-listing .archive-row { grid-template-columns: 8.5rem minmax(0,1fr); }
.io-mari.io-mari-dated-listing .archive-row time,
.io-mari .reports-index .report-card__meta time {
  font-family: var(--font-mono); color: #3182bd; font-size: .765rem; font-weight: 400; line-height: 1.4;
  letter-spacing: .04em; text-transform: uppercase;
}
.io-mari .archive-row h2 { font-size: 1.3rem; font-weight: 600; line-height: 1.15; }
.io-mari .archive-row p { font-size: .875rem; color: #595959; }
.io-mari .article-grid, .io-mari .article-grid--page { display: block; margin-top: 3rem; }
.io-mari .article-body { width: var(--measure); max-width: 100%; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.io-mari .article-body a { overflow-wrap: anywhere; }
.io-mari.post-template .article-body { padding-bottom: var(--mari-note-clearance, 0px); }
.io-mari.post-template .article-body table { font-size: .825rem; line-height: 1.4; }
.io-mari.post-template .article-body .pb-stack-val { font-size: .825rem; line-height: 1.4; }
@media (min-width: 769px) {
  .io-mari.post-template .article-body table {
    display: table; width: 100%; min-width: 0; max-width: none;
    table-layout: fixed; overflow: visible;
  }
  .io-mari.post-template .article-body table :is(th, td) {
    min-width: 0; white-space: normal; overflow-wrap: anywhere;
    font-size: inherit; line-height: inherit;
  }
}
@media (min-width: 1200px) {
  .io-mari.post-template .article-body table {
    width: calc(var(--measure) + var(--gutter) + var(--margin-w));
  }
}
.io-mari .article-body > * + * { margin-top: 1.5rem; }
.io-mari .article-body h2 { margin-top: 3rem; font-size: 1.75rem; font-weight: 600; letter-spacing: -.02em; }
.io-mari .article-body h3 { margin-top: 2.25rem; font-size: 1.25rem; font-weight: 600; letter-spacing: -.015em; }
.io-mari .article-body h4 { font-size: 1rem; font-weight: 700; }
.io-mari .article-body h2, .io-mari .article-body h3, .io-mari [data-mari-anchor] { scroll-margin-top: calc(var(--mari-header-h) + 2rem); }
.io-mari .article-body .margin-note {
  left: calc(100% + var(--gutter)); width: var(--margin-w); max-width: none;
  font-size: .765rem; line-height: 1.4; color: #595959;
}
.io-mari .article-body .margin-note strong, .io-mari .article-body .margin-note b { color: #000; }
.io-mari .article-body blockquote { font-size: 1.12rem; color: #000; font-style: normal; font-weight: 400; }
.io-mari.post-template .article-body blockquote { border-left-color: #3182bd; }
.io-mari .article-body .argument-brief { padding: 1.5rem; border: 0; border-top: .12rem solid #000; background: #f2f2f2; }
.io-mari .article-body .argument-brief h2 { margin-top: 0; font-size: 1rem; }
.io-mari .article-body .argument-brief p { font-size: .875rem; }
.io-mari .article-body details { margin-block: 3rem; }
.io-mari .article-feature-image { margin-top: 3rem; }
.io-mari .article-feature-image figcaption { font-size: .765rem; line-height: 1.4; }
.io-mari .article-meta { font-size: .765rem; gap: 1.5rem; }
.io-mari .article-meta dt { font-family: var(--font-mono); font-size: .65rem; }
.io-mari .article-meta dd, .io-mari .article-meta a { font-size: .765rem; }
.io-mari .article-apparatus { padding-bottom: 4.5rem; }
.io-mari .home-about { padding-bottom: 4.5rem; }
.io-mari .home-about > p { max-width: var(--measure); font-size: .875rem; }
.io-mari .site-footer { background: #fff; margin-top: 4.5rem; }
.io-mari .site-footer .site-shell { margin-left: var(--index-w); width: calc(100% - var(--index-w)); padding-block: 1.5rem; font-size: .765rem; }
.io-mari .site-footer__inner { display: block; }
.io-mari .site-footer__statement { width: 100%; max-width: none; }
.io-mari .site-footer__nav { display: none; }
@media (min-width: 900px) {
  .io-mari .article-toc__toggle { display: none; }
  .io-mari .article-toc__list { display: block; }
}
@media (max-width: 1199px) {
  .io-mari .site-shell { max-width: calc(var(--measure) + 2 * var(--pad)); }
  .io-mari .article-body .margin-note, .io-mari .article-body .margin-note.is-positioned {
    position: relative; top: auto; left: auto; transform: none !important;
    width: 100%; margin: 1.5rem 0; border-left: 1px solid #ccc; padding-left: .75rem;
  }
}
@media (max-width: 899px) {
  .io-mari .site-main, .io-mari.io-mari-indexed .site-main { width: 100%; margin-inline: auto; }
  .io-mari .site-shell { margin-inline: auto; }
  .io-mari .mari-rail { position: static; width: 100%; max-width: calc(var(--measure) + 2 * var(--pad)); margin: 0 auto; padding: 1.5rem var(--pad) 0; }
  .io-mari .mari-rail-inner { position: static; max-height: none; overflow: visible; }
  .io-mari .mari-rail-inner::before { height: .5rem; margin-bottom: .75rem; }
  .io-mari .mari-rail-label { display: none; }
  .io-mari .mari-index-toggle { display: block; background: none; border: 0; padding: .5rem 0; font: inherit; cursor: pointer; }
  .io-mari .mari-page-index ul { display: none; padding-top: .75rem; }
  .io-mari .mari-page-index.is-open ul { display: block; }
  .io-mari .article-toc__toggle { display: block; color: #000; padding: .5rem 0; font: inherit; }
  .io-mari .article-toc__top { display: none; }
  .io-mari .article-toc__list { display: none; padding-top: .75rem; }
  .io-mari .article-toc.is-open .article-toc__list { display: block; }
  .io-mari .home-masthead, .io-mari .page-hero, .io-mari .article-header { padding-top: 2rem; }
  .io-mari .site-footer .site-shell, .io-mari.io-mari-indexed .site-footer .site-shell { width: 100%; margin-inline: auto; }
}
@media (max-width: 599px) {
  body.io-mari { --pad: 1.25rem; font-size: 1rem; }
  .io-mari .dossier-grid { grid-template-columns: minmax(0,1fr); }
  .io-mari .featured-essay { grid-template-columns: minmax(0,1fr); gap: .75rem; }
  .io-mari .featured-essay__date { grid-column: 1; grid-row: 1; }
  .io-mari .featured-essay h3 { grid-column: 1; grid-row: 2; }
  .io-mari .featured-essay__deck { grid-column: 1; grid-row: 3; }
  .io-mari .featured-essay__meta > .taxonomy-list { grid-column: 1; grid-row: 4; }
  .io-mari .post-list:not(.post-list--compact) .post-card { grid-template-columns: minmax(0,1fr); }
  .io-mari .post-list:not(.post-list--compact) .post-card__date { grid-column: 1; grid-row: 1; }
  .io-mari .post-list:not(.post-list--compact) .post-card__title { grid-column: 1; grid-row: 2; }
  .io-mari .post-list:not(.post-list--compact) .post-card__deck { grid-column: 1; grid-row: 3; }
  .io-mari .post-list:not(.post-list--compact) .post-card__tags { grid-column: 1; grid-row: 4; }
  .io-mari .home-masthead h1, .io-mari .page-hero h1, .io-mari .article-header h1 { font-size: 2.1rem; }
  .io-mari .archive-row { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .io-mari.io-mari-dated-listing .archive-row { grid-template-columns: minmax(0,1fr); }
}
