
    /* ─── tokens (editorial-monocle) ─────────────────────────────────── */
    :root {
      --bg:      oklch(98% 0.004 95);
      --surface: oklch(100% 0.002 95);
      --fg:      oklch(20% 0.018 70);
      --muted:   oklch(48% 0.012 70);
      --border:  oklch(90% 0.006 95);
      --accent:  oklch(52% 0.10 28);

      --accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);
      --fg-soft:     color-mix(in oklch, var(--fg) 6%, transparent);

      --font-display: 'Iowan Old Style', 'Charter', Georgia, 'Times New Roman', serif;
      --font-body:    -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
      --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;

      --fs-h1: clamp(40px, 5.5vw, 66px);
      --fs-h2: clamp(28px, 3.5vw, 40px);
      --fs-h3: 22px;
      --fs-lead: 19px;
      --fs-body: 16px;
      --fs-meta: 13px;

      --gap-xs: 8px;
      --gap-sm: 12px;
      --gap-md: 20px;
      --gap-lg: 32px;
      --gap-xl: 56px;
      --gap-2xl: 96px;
      --container: 1120px;
      --gutter: 32px;

      --radius: 6px;
      --radius-lg: 10px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.6;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; }
    p { text-wrap: pretty; }
    h1, h2, h3, h4 { text-wrap: balance; }
    :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
    .section { padding-block: clamp(48px, 8vw, var(--gap-2xl)); }
    .section + .section { border-top: 1px solid var(--border); }
    .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }

    .h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
    .h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.12; letter-spacing: -0.015em; margin: 0; }
    .h3, h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
    .lead   { font-size: var(--fs-lead); line-height: 1.55; color: var(--fg); max-width: 58ch; margin: 0; }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin: 0 0 var(--gap-md);
    }
    .meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
    .num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    .topnav {
      position: sticky; top: 0; z-index: 10;
      background: color-mix(in oklch, var(--bg) 90%, transparent);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .topnav-inner { display: flex; align-items: center; justify-content: space-between; padding-block: 16px; }
    .topnav .logo { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
    .topnav .logo span { color: var(--accent); }
    .topnav nav { display: flex; gap: var(--gap-lg); }
    .topnav nav a { font-size: 14px; color: var(--fg); }
    .topnav nav a:hover { color: var(--accent); }
    .nav-toggle { display: none; background: none; border: 0; color: var(--fg); }
    @media (max-width: 920px) {
      .topnav nav {
        display: none; position: absolute; left: 0; right: 0; top: 100%;
        flex-direction: column; gap: 0; background: var(--bg);
        border-bottom: 1px solid var(--border); padding: 8px var(--gutter) 20px;
      }
      .topnav.nav-open nav { display: flex; }
      .topnav nav a { padding-block: 14px; font-size: 16px; }
      .nav-toggle { display: grid; place-items: center; width: 44px; height: 44px; }
    }
    .pagefoot {
      padding-block: var(--gap-xl); color: var(--muted); font-size: 13px;
      border-top: 1px solid var(--border);
    }
    .pagefoot .foot-cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gap-xl); }
    .pagefoot h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin: 0 0 14px; }
    .pagefoot ul { list-style: none; margin: 0; padding: 0; }
    .pagefoot ul li + li { margin-top: 10px; }
    .pagefoot ul a { color: var(--muted); }
    .pagefoot ul a:hover { color: var(--fg); }
    .pagefoot .foot-brand { font-family: var(--font-display); font-size: 18px; color: var(--fg); }
    .pagefoot .foot-note { margin-top: var(--gap-md); }
    @media (max-width: 920px) { .pagefoot .foot-cols { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--radius);
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: -0.005em;
      transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn:active { transform: translateY(1px); }
    .btn-primary { background: var(--accent); color: var(--surface); border-color: var(--accent); }
    .btn-primary:hover { background: color-mix(in oklch, var(--accent) 88%, black); }
    .btn-secondary { background: transparent; color: var(--fg); border-color: var(--border); }
    .btn-secondary:hover { border-color: var(--fg); }
    .btn-ghost { background: transparent; color: var(--fg); border-color: transparent; padding-inline: 8px; }
    .btn-ghost:hover { color: var(--accent); }
    .btn-arrow::after { content: '→'; transition: transform 0.15s ease; }
    .btn-arrow:hover::after { transform: translateX(2px); }

    .page-head { max-width: 720px; margin-inline: auto; }
    .page-head .lead { margin-top: var(--gap-md); }
    .page-hero { max-width: 720px; margin-inline: auto; }
    .page-hero .ph-img { width: 100%; }

    .prose { max-width: 720px; margin-inline: auto; }
    .prose > * + * { margin-top: var(--gap-md); }
    .prose p { font-size: 17px; line-height: 1.7; color: var(--fg); }
    .prose h2 { margin-top: var(--gap-2xl); font-size: var(--fs-h2); }
    .prose h3 { margin-top: var(--gap-xl); font-size: var(--fs-h3); }
    .prose h4 { margin-top: var(--gap-lg); font-size: 17px; font-weight: 600; }
    .prose ul, .prose ol { padding-left: 22px; margin: 0; }
    .prose li { font-size: 17px; line-height: 1.7; margin-top: 8px; }
    .prose .ph-img { margin-block: var(--gap-lg); }
    .prose a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--muted); }
    .prose a:hover { color: var(--accent); text-decoration-color: var(--accent); }

    .ds-table { width: 100%; border-collapse: collapse; font-size: 14px; }
    .ds-table th, .ds-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
    .ds-table th { color: var(--muted); font-weight: 500; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
    .ds-table .num-col { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
    .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .compare { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-xl); }
    .compare > div { border-top: 2px solid var(--fg); padding-top: var(--gap-md); }
    .compare h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-md); }
    .compare ul { list-style: none; margin: 0; padding: 0; }
    .compare li { font-size: 16px; line-height: 1.55; padding: 12px 0; border-bottom: 1px solid var(--border); position: relative; padding-left: 26px; }
    .compare li::before { content: '+'; position: absolute; left: 0; top: 10px; font-family: var(--font-mono); font-size: 16px; font-weight: 600; color: var(--fg); }
    .compare .cons li::before { content: '−'; }
    @media (max-width: 720px) { .compare { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .methodology {
      background: var(--fg-soft);
      border-top: 2px solid var(--fg);
      padding: var(--gap-lg);
      margin-block: var(--gap-xl);
    }
    .methodology .eyebrow { margin-bottom: var(--gap-sm); }
    .methodology p { margin: 0; color: var(--fg); font-size: 16px; line-height: 1.7; }
    .methodology .method-list { margin-top: var(--gap-md); }
    .methodology .method-list div { display: flex; gap: var(--gap-md); padding: 12px 0; border-top: 1px solid var(--border); }
    .methodology .method-list .method-num { font-family: var(--font-mono); color: var(--muted); font-size: 14px; flex: 0 0 32px; }
    .methodology .method-list h4 { margin: 0; font-size: 16px; font-weight: 600; }
    .methodology .method-list p { margin-top: 4px; font-size: 15px; }

    .expert-block {
      max-width: 720px; margin-inline: auto;
      display: grid; grid-template-columns: 180px 1fr; gap: var(--gap-xl); align-items: start;
      border-top: 1px solid var(--border); padding-top: var(--gap-xl);
    }
    .expert-block .ph-img.portrait { width: 180px; }
    .expert-block .expert-eyebrow { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-sm); }
    .expert-block h3 { font-size: 22px; }
    .expert-block .expert-role { color: var(--muted); font-size: 14px; margin-top: 6px; }
    .expert-block blockquote { margin: var(--gap-md) 0 0; font-family: var(--font-display); font-size: 18px; line-height: 1.5; color: var(--fg); border-left: 2px solid var(--fg); padding-left: var(--gap-md); }
    .expert-block .expert-cta { margin-top: var(--gap-lg); }
    @media (max-width: 720px) { .expert-block { grid-template-columns: 1fr; } .expert-block .ph-img.portrait { width: 120px; } }

    .ph-img {
      background:
        linear-gradient(135deg, var(--accent-soft), var(--fg-soft)),
        var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      aspect-ratio: 16 / 10;
      display: grid; place-items: center;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .ph-img.square   { aspect-ratio: 1 / 1; }
    .ph-img.portrait { aspect-ratio: 3 / 4; }
    .ph-img.wide     { aspect-ratio: 16 / 9; }
  

    /* ─── tokens (editorial-monocle) ─────────────────────────────────── */
    :root {
      --bg:      oklch(98% 0.004 95);
      --surface: oklch(100% 0.002 95);
      --fg:      oklch(20% 0.018 70);
      --muted:   oklch(48% 0.012 70);
      --border:  oklch(90% 0.006 95);
      --accent:  oklch(52% 0.10 28);

      --accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);
      --fg-soft:     color-mix(in oklch, var(--fg) 6%, transparent);

      --font-display: 'Iowan Old Style', 'Charter', Georgia, 'Times New Roman', serif;
      --font-body:    -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
      --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;

      --fs-h1: clamp(40px, 5.5vw, 66px);
      --fs-h2: clamp(28px, 3.5vw, 40px);
      --fs-h3: 22px;
      --fs-lead: 19px;
      --fs-body: 16px;
      --fs-meta: 13px;

      --gap-xs: 8px;
      --gap-sm: 12px;
      --gap-md: 20px;
      --gap-lg: 32px;
      --gap-xl: 56px;
      --gap-2xl: 96px;
      --container: 1120px;
      --gutter: 32px;

      --radius: 6px;
      --radius-lg: 10px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.6;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; }
    p { text-wrap: pretty; }
    h1, h2, h3, h4 { text-wrap: balance; }
    :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
    .section { padding-block: clamp(48px, 8vw, var(--gap-2xl)); }
    .section + .section { border-top: 1px solid var(--border); }
    .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }

    .h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
    .h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.12; letter-spacing: -0.015em; margin: 0; }
    .h3, h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
    .lead   { font-size: var(--fs-lead); line-height: 1.55; color: var(--fg); max-width: 58ch; margin: 0; }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin: 0 0 var(--gap-md);
    }
    .meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
    .num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    .topnav {
      position: sticky; top: 0; z-index: 10;
      background: color-mix(in oklch, var(--bg) 90%, transparent);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .topnav-inner { display: flex; align-items: center; justify-content: space-between; padding-block: 16px; }
    .topnav .logo { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
    .topnav .logo span { color: var(--accent); }
    .topnav nav { display: flex; gap: var(--gap-lg); }
    .topnav nav a { font-size: 14px; color: var(--fg); }
    .topnav nav a:hover { color: var(--accent); }
    .nav-toggle { display: none; background: none; border: 0; color: var(--fg); }
    @media (max-width: 920px) {
      .topnav nav {
        display: none; position: absolute; left: 0; right: 0; top: 100%;
        flex-direction: column; gap: 0; background: var(--bg);
        border-bottom: 1px solid var(--border); padding: 8px var(--gutter) 20px;
      }
      .topnav.nav-open nav { display: flex; }
      .topnav nav a { padding-block: 14px; font-size: 16px; }
      .nav-toggle { display: grid; place-items: center; width: 44px; height: 44px; }
    }
    .pagefoot {
      padding-block: var(--gap-xl); color: var(--muted); font-size: 13px;
      border-top: 1px solid var(--border);
    }
    .pagefoot .foot-cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gap-xl); }
    .pagefoot h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin: 0 0 14px; }
    .pagefoot ul { list-style: none; margin: 0; padding: 0; }
    .pagefoot ul li + li { margin-top: 10px; }
    .pagefoot ul a { color: var(--muted); }
    .pagefoot ul a:hover { color: var(--fg); }
    .pagefoot .foot-brand { font-family: var(--font-display); font-size: 18px; color: var(--fg); }
    .pagefoot .foot-note { margin-top: var(--gap-md); }
    @media (max-width: 920px) { .pagefoot .foot-cols { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--radius);
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: -0.005em;
      transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn:active { transform: translateY(1px); }
    .btn-primary { background: var(--accent); color: var(--surface); border-color: var(--accent); }
    .btn-primary:hover { background: color-mix(in oklch, var(--accent) 88%, black); }
    .btn-secondary { background: transparent; color: var(--fg); border-color: var(--border); }
    .btn-secondary:hover { border-color: var(--fg); }
    .btn-ghost { background: transparent; color: var(--fg); border-color: transparent; padding-inline: 8px; }
    .btn-ghost:hover { color: var(--accent); }
    .btn-arrow::after { content: '→'; transition: transform 0.15s ease; }
    .btn-arrow:hover::after { transform: translateX(2px); }

    .breadcrumbs {
      font-family: var(--font-mono);
      font-size: 12.5px;
      letter-spacing: 0.02em;
      color: var(--muted);
      padding-block: 20px;
      border-bottom: 1px solid var(--border);
    }
    .breadcrumbs a { color: var(--muted); }
    .breadcrumbs a:hover { color: var(--fg); }
    .breadcrumbs .crumb-sep { margin-inline: 8px; color: var(--border); }
    .breadcrumbs .crumb-current { color: var(--fg); }

    .page-head { max-width: 720px; margin-inline: auto; }
    .page-head .lead { margin-top: var(--gap-md); }
    .page-hero { max-width: 720px; margin-inline: auto; }
    .page-hero .ph-img { width: 100%; }

    .prose { max-width: 720px; margin-inline: auto; }
    .prose > * + * { margin-top: var(--gap-md); }
    .prose p { font-size: 17px; line-height: 1.7; color: var(--fg); }
    .prose h2 { margin-top: var(--gap-2xl); font-size: var(--fs-h2); }
    .prose h3 { margin-top: var(--gap-xl); font-size: var(--fs-h3); }
    .prose h4 { margin-top: var(--gap-lg); font-size: 17px; font-weight: 600; }
    .prose ul, .prose ol { padding-left: 22px; margin: 0; }
    .prose li { font-size: 17px; line-height: 1.7; margin-top: 8px; }
    .prose .ph-img { margin-block: var(--gap-lg); }
    .prose a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--muted); }
    .prose a:hover { color: var(--accent); text-decoration-color: var(--accent); }

    .ds-table { width: 100%; border-collapse: collapse; font-size: 14px; }
    .ds-table th, .ds-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
    .ds-table th { color: var(--muted); font-weight: 500; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
    .ds-table .num-col { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
    .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .compare { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-xl); }
    .compare > div { border-top: 2px solid var(--fg); padding-top: var(--gap-md); }
    .compare h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-md); }
    .compare ul { list-style: none; margin: 0; padding: 0; }
    .compare li { font-size: 16px; line-height: 1.55; padding: 12px 0; border-bottom: 1px solid var(--border); position: relative; padding-left: 26px; }
    .compare li::before { content: '+'; position: absolute; left: 0; top: 10px; font-family: var(--font-mono); font-size: 16px; font-weight: 600; color: var(--fg); }
    .compare .cons li::before { content: '−'; }
    @media (max-width: 720px) { .compare { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .methodology {
      background: var(--fg-soft);
      border-top: 2px solid var(--fg);
      padding: var(--gap-lg);
      margin-block: var(--gap-xl);
    }
    .methodology .eyebrow { margin-bottom: var(--gap-sm); }
    .methodology p { margin: 0; color: var(--fg); font-size: 16px; line-height: 1.7; }
    .methodology .method-list { margin-top: var(--gap-md); }
    .methodology .method-list div { display: flex; gap: var(--gap-md); padding: 12px 0; border-top: 1px solid var(--border); }
    .methodology .method-list .method-num { font-family: var(--font-mono); color: var(--muted); font-size: 14px; flex: 0 0 32px; }
    .methodology .method-list h4 { margin: 0; font-size: 16px; font-weight: 600; }
    .methodology .method-list p { margin-top: 4px; font-size: 15px; }

    .expert-block {
      max-width: 720px; margin-inline: auto;
      display: grid; grid-template-columns: 180px 1fr; gap: var(--gap-xl); align-items: start;
      border-top: 1px solid var(--border); padding-top: var(--gap-xl);
    }
    .expert-block .ph-img.portrait { width: 180px; }
    .expert-block .expert-eyebrow { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-sm); }
    .expert-block h3 { font-size: 22px; }
    .expert-block .expert-role { color: var(--muted); font-size: 14px; margin-top: 6px; }
    .expert-block blockquote { margin: var(--gap-md) 0 0; font-family: var(--font-display); font-size: 18px; line-height: 1.5; color: var(--fg); border-left: 2px solid var(--fg); padding-left: var(--gap-md); }
    .expert-block .expert-cta { margin-top: var(--gap-lg); }
    @media (max-width: 720px) { .expert-block { grid-template-columns: 1fr; } .expert-block .ph-img.portrait { width: 120px; } }

    .ph-img {
      background:
        linear-gradient(135deg, var(--accent-soft), var(--fg-soft)),
        var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      aspect-ratio: 16 / 10;
      display: grid; place-items: center;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .ph-img.square   { aspect-ratio: 1 / 1; }
    .ph-img.portrait { aspect-ratio: 3 / 4; }
    .ph-img.wide     { aspect-ratio: 16 / 9; }
  

    /* ─── tokens (editorial-monocle) ─────────────────────────────────── */
    :root {
      --bg:      oklch(98% 0.004 95);
      --surface: oklch(100% 0.002 95);
      --fg:      oklch(20% 0.018 70);
      --muted:   oklch(48% 0.012 70);
      --border:  oklch(90% 0.006 95);
      --accent:  oklch(52% 0.10 28);

      --accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);
      --fg-soft:     color-mix(in oklch, var(--fg) 6%, transparent);

      --font-display: 'Iowan Old Style', 'Charter', Georgia, 'Times New Roman', serif;
      --font-body:    -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
      --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;

      --fs-h1: clamp(40px, 5.5vw, 66px);
      --fs-h2: clamp(28px, 3.5vw, 40px);
      --fs-h3: 22px;
      --fs-lead: 19px;
      --fs-body: 16px;
      --fs-meta: 13px;

      --gap-xs: 8px;
      --gap-sm: 12px;
      --gap-md: 20px;
      --gap-lg: 32px;
      --gap-xl: 56px;
      --gap-2xl: 96px;
      --container: 1120px;
      --gutter: 32px;

      --radius: 6px;
      --radius-lg: 10px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.6;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; }
    p { text-wrap: pretty; }
    h1, h2, h3, h4 { text-wrap: balance; }
    :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
    .section { padding-block: clamp(48px, 8vw, var(--gap-2xl)); }
    .section + .section { border-top: 1px solid var(--border); }
    .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }

    .h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
    .h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.12; letter-spacing: -0.015em; margin: 0; }
    .h3, h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
    .h4, h4 { font-size: 17px; font-weight: 600; line-height: 1.35; margin: 0; }
    .lead   { font-size: var(--fs-lead); line-height: 1.55; color: var(--fg); max-width: 58ch; margin: 0; }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin: 0 0 var(--gap-md);
    }
    .meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
    .num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    .topnav {
      position: sticky; top: 0; z-index: 10;
      background: color-mix(in oklch, var(--bg) 90%, transparent);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .topnav-inner { display: flex; align-items: center; justify-content: space-between; padding-block: 16px; }
    .topnav .logo { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
    .topnav .logo span { color: var(--accent); }
    .topnav nav { display: flex; gap: var(--gap-lg); }
    .topnav nav a { font-size: 14px; color: var(--fg); }
    .topnav nav a:hover { color: var(--accent); }
    .nav-toggle { display: none; background: none; border: 0; color: var(--fg); }
    @media (max-width: 920px) {
      .topnav nav {
        display: none; position: absolute; left: 0; right: 0; top: 100%;
        flex-direction: column; gap: 0; background: var(--bg);
        border-bottom: 1px solid var(--border); padding: 8px var(--gutter) 20px;
      }
      .topnav.nav-open nav { display: flex; }
      .topnav nav a { padding-block: 14px; font-size: 16px; }
      .nav-toggle { display: grid; place-items: center; width: 44px; height: 44px; }
    }
    .pagefoot {
      padding-block: var(--gap-xl); color: var(--muted); font-size: 13px;
      border-top: 1px solid var(--border);
    }
    .pagefoot .foot-cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gap-xl); }
    .pagefoot h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin: 0 0 14px; }
    .pagefoot ul { list-style: none; margin: 0; padding: 0; }
    .pagefoot ul li + li { margin-top: 10px; }
    .pagefoot ul a { color: var(--muted); }
    .pagefoot ul a:hover { color: var(--fg); }
    .pagefoot .foot-brand { font-family: var(--font-display); font-size: 18px; color: var(--fg); }
    .pagefoot .foot-note { margin-top: var(--gap-md); }
    @media (max-width: 920px) { .pagefoot .foot-cols { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--radius);
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: -0.005em;
      transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn:active { transform: translateY(1px); }
    .btn-primary { background: var(--accent); color: var(--surface); border-color: var(--accent); }
    .btn-primary:hover { background: color-mix(in oklch, var(--accent) 88%, black); }
    .btn-secondary { background: transparent; color: var(--fg); border-color: var(--border); }
    .btn-secondary:hover { border-color: var(--fg); }
    .btn-ghost { background: transparent; color: var(--fg); border-color: transparent; padding-inline: 8px; }
    .btn-ghost:hover { color: var(--accent); }
    .btn-arrow::after { content: '→'; transition: transform 0.15s ease; }
    .btn-arrow:hover::after { transform: translateX(2px); }

    .breadcrumbs {
      font-family: var(--font-mono);
      font-size: 12.5px;
      letter-spacing: 0.02em;
      color: var(--muted);
      padding-block: 20px;
      border-bottom: 1px solid var(--border);
    }
    .breadcrumbs a { color: var(--muted); }
    .breadcrumbs a:hover { color: var(--fg); }
    .breadcrumbs .crumb-sep { margin-inline: 8px; color: var(--border); }
    .breadcrumbs .crumb-current { color: var(--fg); }

    .page-head { max-width: 720px; margin-inline: auto; }
    .page-head .lead { margin-top: var(--gap-md); }
    .page-hero { max-width: 720px; margin-inline: auto; }
    .page-hero .ph-img { width: 100%; }

    .toc { max-width: 720px; margin-inline: auto; border-top: 1px solid var(--fg); padding-top: var(--gap-md); }
    .toc-head { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-md); }
    .toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
    .toc li { counter-increment: toc; }
    .toc a { display: flex; align-items: baseline; gap: var(--gap-sm); padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 16px; color: var(--fg); }
    .toc a::before { content: counter(toc, decimal-leading-zero); font-family: var(--font-mono); font-size: 12px; color: var(--muted); flex: 0 0 28px; }
    .toc a:hover { color: var(--accent); }

    .meta-band { max-width: 720px; margin-inline: auto; display: flex; flex-wrap: wrap; gap: var(--gap-lg); align-items: center; border-bottom: 1px solid var(--border); padding-bottom: var(--gap-lg); }
    .meta-band .meta-item { display: flex; gap: 8px; align-items: baseline; }
    .meta-band .meta-label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
    .meta-band .meta-value { font-family: var(--font-mono); font-size: 14px; color: var(--fg); }

    .prose { max-width: 720px; margin-inline: auto; }
    .prose > * + * { margin-top: var(--gap-md); }
    .prose p { font-size: 17px; line-height: 1.7; color: var(--fg); }
    .prose h2 { margin-top: var(--gap-2xl); font-size: var(--fs-h2); scroll-margin-top: 90px; }
    .prose h3 { margin-top: var(--gap-xl); font-size: var(--fs-h3); scroll-margin-top: 90px; }
    .prose h4 { margin-top: var(--gap-lg); }
    .prose ul, .prose ol { padding-left: 22px; margin: 0; }
    .prose li { font-size: 17px; line-height: 1.7; margin-top: 8px; }
    .prose .ph-img { margin-block: var(--gap-lg); }
    .prose a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--muted); }
    .prose a:hover { color: var(--accent); text-decoration-color: var(--accent); }

    .ds-table { width: 100%; border-collapse: collapse; font-size: 14px; }
    .ds-table th, .ds-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
    .ds-table th { color: var(--muted); font-weight: 500; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
    .ds-table .num-col { font-family: var(--font-mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
    .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .compare { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-xl); }
    .compare > div { border-top: 2px solid var(--fg); padding-top: var(--gap-md); }
    .compare h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-md); }
    .compare ul { list-style: none; margin: 0; padding: 0; }
    .compare li { font-size: 16px; line-height: 1.55; padding: 12px 0; border-bottom: 1px solid var(--border); position: relative; padding-left: 26px; }
    .compare li::before { content: '+'; position: absolute; left: 0; top: 10px; font-family: var(--font-mono); font-size: 16px; font-weight: 600; color: var(--fg); }
    .compare .cons li::before { content: '−'; }
    @media (max-width: 720px) { .compare { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .methodology {
      background: var(--fg-soft);
      border-top: 2px solid var(--fg);
      padding: var(--gap-lg);
      margin-block: var(--gap-xl);
    }
    .methodology .eyebrow { margin-bottom: var(--gap-sm); }
    .methodology p { margin: 0; color: var(--fg); font-size: 16px; line-height: 1.7; }
    .methodology .method-list { margin-top: var(--gap-md); }
    .methodology .method-list div { display: flex; gap: var(--gap-md); padding: 12px 0; border-top: 1px solid var(--border); }
    .methodology .method-list .method-num { font-family: var(--font-mono); color: var(--muted); font-size: 14px; flex: 0 0 32px; }
    .methodology .method-list h4 { margin: 0; font-size: 16px; font-weight: 600; }
    .methodology .method-list p { margin-top: 4px; font-size: 15px; }

    .expert-block {
      max-width: 720px; margin-inline: auto;
      display: grid; grid-template-columns: 180px 1fr; gap: var(--gap-xl); align-items: start;
      border-top: 1px solid var(--border); padding-top: var(--gap-xl);
    }
    .expert-block .ph-img.portrait { width: 180px; }
    .expert-block .expert-eyebrow { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0 0 var(--gap-sm); }
    .expert-block h3 { font-size: 22px; }
    .expert-block .expert-role { color: var(--muted); font-size: 14px; margin-top: 6px; }
    .expert-block blockquote { margin: var(--gap-md) 0 0; font-family: var(--font-display); font-size: 18px; line-height: 1.5; color: var(--fg); border-left: 2px solid var(--fg); padding-left: var(--gap-md); }
    .expert-block .expert-cta { margin-top: var(--gap-lg); }
    @media (max-width: 720px) { .expert-block { grid-template-columns: 1fr; } .expert-block .ph-img.portrait { width: 120px; } }

    .article-score { max-width: 720px; margin-inline: auto; display: grid; grid-template-columns: auto 1fr; gap: var(--gap-lg); align-items: center; border-top: 1px solid var(--fg); padding-top: var(--gap-lg); }
    .article-score .score-num { font-family: var(--font-display); font-size: 64px; line-height: 0.95; letter-spacing: -0.04em; color: var(--fg); }
    .article-score .score-num span { font-size: 0.45em; color: var(--muted); letter-spacing: 0; }
    .article-score h3 { font-size: 20px; }
    .article-score p { margin: 6px 0 0; color: var(--muted); font-size: 15px; }

    .sources { max-width: 720px; margin-inline: auto; }
    .sources h2 { font-size: 18px; }
    .sources ol { padding-left: 20px; margin: 0; }
    .sources li { font-size: 15px; line-height: 1.7; color: var(--muted); margin-top: 8px; }
    .sources li::marker { color: var(--muted); }

    .ph-img {
      background:
        linear-gradient(135deg, var(--accent-soft), var(--fg-soft)),
        var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      aspect-ratio: 16 / 10;
      display: grid; place-items: center;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .ph-img.square   { aspect-ratio: 1 / 1; }
    .ph-img.portrait { aspect-ratio: 3 / 4; }
    .ph-img.wide     { aspect-ratio: 16 / 9; }
  

    /* ─── tokens (editorial-monocle) ─────────────────────────────────── */
    :root {
      --bg:      oklch(98% 0.004 95);
      --surface: oklch(100% 0.002 95);
      --fg:      oklch(20% 0.018 70);
      --muted:   oklch(48% 0.012 70);
      --border:  oklch(90% 0.006 95);
      --accent:  oklch(52% 0.10 28);

      --accent-soft: color-mix(in oklch, var(--accent) 12%, transparent);
      --fg-soft:     color-mix(in oklch, var(--fg) 6%, transparent);

      --font-display: 'Iowan Old Style', 'Charter', Georgia, 'Times New Roman', serif;
      --font-body:    -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
      --font-mono:    ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;

      --fs-h1: clamp(40px, 5.5vw, 66px);
      --fs-h2: clamp(28px, 3.5vw, 40px);
      --fs-h3: 22px;
      --fs-lead: 19px;
      --fs-body: 16px;
      --fs-meta: 13px;

      --gap-xs: 8px;
      --gap-sm: 12px;
      --gap-md: 20px;
      --gap-lg: 32px;
      --gap-xl: 56px;
      --gap-2xl: 96px;
      --container: 1120px;
      --gutter: 32px;

      --radius: 6px;
      --radius-lg: 10px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.6;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; }
    p { text-wrap: pretty; }
    h1, h2, h3, h4 { text-wrap: balance; }
    :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
    .section { padding-block: clamp(48px, 8vw, var(--gap-2xl)); }
    .section + .section { border-top: 1px solid var(--border); }
    .row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }
    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); }

    .h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
    .h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.12; letter-spacing: -0.015em; margin: 0; }
    .h3, h3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
    .lead   { font-size: var(--fs-lead); line-height: 1.55; color: var(--fg); max-width: 58ch; margin: 0; }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin: 0 0 var(--gap-md);
    }
    .meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
    .num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

    .topnav {
      position: sticky; top: 0; z-index: 10;
      background: color-mix(in oklch, var(--bg) 90%, transparent);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .topnav-inner { display: flex; align-items: center; justify-content: space-between; padding-block: 16px; }
    .topnav .logo { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
    .topnav .logo span { color: var(--accent); }
    .topnav nav { display: flex; gap: var(--gap-lg); }
    .topnav nav a { font-size: 14px; color: var(--fg); }
    .topnav nav a:hover { color: var(--accent); }
    .nav-toggle { display: none; background: none; border: 0; color: var(--fg); }
    @media (max-width: 920px) {
      .topnav nav {
        display: none; position: absolute; left: 0; right: 0; top: 100%;
        flex-direction: column; gap: 0; background: var(--bg);
        border-bottom: 1px solid var(--border); padding: 8px var(--gutter) 20px;
      }
      .topnav.nav-open nav { display: flex; }
      .topnav nav a { padding-block: 14px; font-size: 16px; }
      .nav-toggle { display: grid; place-items: center; width: 44px; height: 44px; }
    }
    .pagefoot {
      padding-block: var(--gap-xl); color: var(--muted); font-size: 13px;
      border-top: 1px solid var(--border);
    }
    .pagefoot .foot-cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gap-xl); }
    .pagefoot h3 { font-size: 13px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin: 0 0 14px; }
    .pagefoot ul { list-style: none; margin: 0; padding: 0; }
    .pagefoot ul li + li { margin-top: 10px; }
    .pagefoot ul a { color: var(--muted); }
    .pagefoot ul a:hover { color: var(--fg); }
    .pagefoot .foot-brand { font-family: var(--font-display); font-size: 18px; color: var(--fg); }
    .pagefoot .foot-note { margin-top: var(--gap-md); }
    @media (max-width: 920px) { .pagefoot .foot-cols { grid-template-columns: 1fr; gap: var(--gap-lg); } }

    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--radius);
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 500;
      letter-spacing: -0.005em;
      transition: transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
    }
    .btn:active { transform: translateY(1px); }
    .btn-primary { background: var(--accent); color: var(--surface); border-color: var(--accent); }
    .btn-primary:hover { background: color-mix(in oklch, var(--accent) 88%, black); }
    .btn-secondary { background: transparent; color: var(--fg); border-color: var(--border); }
    .btn-secondary:hover { border-color: var(--fg); }
    .btn-ghost { background: transparent; color: var(--fg); border-color: transparent; padding-inline: 8px; }
    .btn-ghost:hover { color: var(--accent); }
    .btn-arrow::after { content: '→'; transition: transform 0.15s ease; }
    .btn-arrow:hover::after { transform: translateX(2px); }

    /* ─── author-specific ───────────────────────────────────────────── */
    .author-hero { display: grid; grid-template-columns: 300px 1fr; gap: var(--gap-2xl); align-items: start; }
    .author-hero .ph-img.portrait { width: 300px; }
    .author-name { margin-bottom: var(--gap-sm); }
    .author-role { font-family: var(--font-mono); font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); margin: 0 0 var(--gap-lg); }
    .prose { max-width: 720px; }
    .prose > * + * { margin-top: var(--gap-md); }
    .prose p { font-size: 17px; line-height: 1.7; color: var(--fg); }
    .prose h2 { margin-top: var(--gap-2xl); font-size: var(--fs-h2); }
    .prose h3 { margin-top: var(--gap-xl); font-size: var(--fs-h3); }
    .prose h4 { margin-top: var(--gap-lg); font-size: 17px; font-weight: 600; }
    .prose ul, .prose ol { padding-left: 22px; margin: 0; }
    .prose li { font-size: 17px; line-height: 1.7; margin-top: 8px; }

    .certs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); }
    .cert {
      border: 1px solid var(--border); border-radius: var(--radius-lg);
      padding: var(--gap-lg); background: var(--surface);
    }
    .cert .cert-year { font-family: var(--font-mono); color: var(--muted); font-size: 13px; }
    .cert h4 { margin: var(--gap-sm) 0 var(--gap-xs); font-size: 18px; }
    .cert p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
    @media (max-width: 920px) {
      .certs { grid-template-columns: 1fr; }
      .author-hero { grid-template-columns: 1fr; }
      .author-hero .ph-img.portrait { width: 160px; }
    }

    .ph-img {
      background:
        linear-gradient(135deg, var(--accent-soft), var(--fg-soft)),
        var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      aspect-ratio: 16 / 10;
      display: grid; place-items: center;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .ph-img.square   { aspect-ratio: 1 / 1; }
    .ph-img.portrait { aspect-ratio: 3 / 4; }
  
.hero-image {width:100%;height:auto;border-radius:var(--radius-lg)}
.portrait-image {width:100%;max-width:320px;height:auto;border-radius:var(--radius-lg)}
.prose {overflow-wrap:anywhere}.prose h2,.prose h3 {scroll-margin-top:100px}
.table-scroll {max-width:100%;overflow-x:auto}.ds-table {min-width:480px}
.related-links {display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0}
.related-links a,.toc a,.prose a {text-decoration:underline;text-underline-offset:3px}
.foot-bottom {margin-top:48px;border-top:1px solid var(--border);padding-top:24px}
@media(max-width:600px){h1{font-size:clamp(32px,9vw,44px)}.row-between{flex-wrap:wrap}.author-hero{grid-template-columns:1fr}.expert-block{grid-template-columns:1fr}.portrait-image{max-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
