/*
Theme Name: Doctor Ads Blog
Template: generatepress
Version: 3.0.0
Requires PHP: 8.0
Text Domain: doctor-ads-blog
*/
/* WordPress integration: parent GP rules are unlayered, so the host reset is too. */
body.tda-v3 { margin: 0; background: var(--color-bg); color: var(--color-text); font: 400 18px/1.5 var(--font-body); -webkit-font-smoothing: antialiased; }
.tda-v3 *, .tda-v3 *::before, .tda-v3 *::after { box-sizing: border-box; }
.tda-v3 :is(h1,h2,h3,h4,p,figure,blockquote,dl,dd) { margin: 0; }
.tda-v3 :is(h1,h2,h3,h4) { color: var(--color-text); font-family: var(--font-heading); }
.tda-v3 h1 { font-size: var(--size-h1); }
.tda-v3 h2 { font-size: var(--size-h2); }
.tda-v3 h3 { font-size: var(--size-h3); }
.tda-v3 img { max-width: 100%; height: auto; }
.tda-v3 a { color: var(--color-accent); }


/* Local faces. The pages do not call a font host. */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/geist-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/geist-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-ext-600-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  html { color-scheme: dark; }
  /* The shared rule paints a green fill behind light text (contrast 1.48). Outline only, until the engine drops the fill. */
  :focus-visible {
    outline: 3px solid var(--color-accent);
    outline-offset: 3px;
    background-color: transparent;
    color: revert-layer;
  }
  :is(.pf-card__btn, .govuk-button):focus-visible {
    background-color: var(--color-action);
    color: var(--color-action-text);
  }
  .skip { position: absolute; left: -999px; }
  .skip:focus, .skip:focus-visible { left: 8px; top: 8px; z-index: 5; background: var(--color-action); color: var(--color-action-text); padding: 8px; }
  .wrap { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }

  /* Header and footer: the rules of .nav and .foot on thedoctorads.com. Not sticky: the article already keeps the contents list. */
  .nav, .foot {
    --bg: #070809;
    --ink: #f3f6f4;
    --ink-2: #aeb6b1;
    --ink-3: #8a938e;
    --mut: #727a75;
    --line: rgba(255, 255, 255, .075);
    --line-2: rgba(255, 255, 255, .12);
    --acc: #5be49b;
    --acc-deep: #2fb073;
    --acc-faint: rgba(91, 228, 155, .07);
    --maxw: 1320px;
    --pad: 40px;
  }
  .nav { position: relative; z-index: 40; backdrop-filter: blur(14px); background: linear-gradient(180deg, rgba(7, 8, 9, .86), rgba(7, 8, 9, .5)); border-bottom: 1px solid var(--line); }
  .nav-in { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
  .brand { display: flex; align-items: center; gap: 11px; font-weight: 600; letter-spacing: -.01em; font-size: 16.5px; color: var(--ink); text-decoration: none; }
  .brand .mk { width: 24px; height: 24px; flex: none; }
  .nav-c { display: flex; gap: 36px; }
  .nav-c a { font-size: 13.5px; color: var(--ink-2); text-decoration: none; transition: color .2s; }
  .nav-c a:hover, .nav-c a.on { color: var(--ink); }
  .nav-cta { font-family: var(--font-mono); font-size: 12px; border: 1px solid var(--line-2); border-radius: 999px; padding: 9px 17px; color: var(--ink); text-decoration: none; transition: .2s; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
  .nav-cta:hover { border-color: var(--acc); color: var(--acc); }
  .nav-cta .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--acc); flex: none; }
  .foot { border-top: 1px solid var(--line); background: linear-gradient(180deg, transparent, var(--acc-faint)); margin-top: 48px; }
  .foot-in { max-width: var(--maxw); margin: 0 auto; padding: 56px var(--pad) 40px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
  .foot .foot-h { font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 16px; font-weight: 500; }
  .foot a { display: block; color: var(--ink-2); font-size: 14px; padding: 5px 0; text-decoration: none; transition: color .2s; }
  .foot a:hover { color: var(--acc); }
  .foot .brand { font-size: 17px; display: inline-flex; padding: 0; }
  .foot .blurb { color: var(--ink-3); font-weight: 330; font-size: 14px; line-height: 1.6; max-width: 34ch; margin-top: 16px; }
  .foot-bar { max-width: var(--maxw); margin: 0 auto; padding: 20px var(--pad); border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); letter-spacing: .04em; }
  .foot .gp-badge { display: inline-block; margin: 34px 0 4px; padding: 0; line-height: 0; }
  .foot .gp-badge img { display: block; width: 56px; height: auto; }
  @media (max-width: 1080px) {
    .nav, .foot { --pad: 26px; }
    .foot-in { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 640px) {
    .nav-c { display: none; }
    .nav-cta { font-size: 10.5px; padding: 7px 11px; gap: 6px; }
    .foot-in { grid-template-columns: 1fr 1fr; gap: 24px; }
  }

  .band { padding-block: 28px 8px; }
  .band h1 { margin: 8px 0 12px; max-width: 22ch; font-weight: 560; letter-spacing: -.026em; line-height: 1.02; }
  .kicker, .eyebrow { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--color-accent); display: flex; align-items: center; gap: 12px; }
  .kicker::before, .eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--color-accent); opacity: .7; flex: none; }
  .kicker a { color: inherit; text-decoration: none; }
  .lede, .figcap, .learn, .feature-card p:not(.big) { color: var(--color-muted); max-width: 46ch; }
  .lede-wide { max-width: 60ch; }
  .byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--color-muted); }
  .byline img, .author img { border-radius: 50%; object-fit: cover; }
  .byline a { color: var(--color-text); font-weight: 550; text-decoration: none; }
  .byline time, .byline > span { font-family: var(--font-mono); font-size: 12px; color: var(--color-muted); }
  .trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 14px 0 0; padding: 0; list-style: none; font-family: var(--font-mono); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--mut, #727a75); }
  .trust li { white-space: nowrap; }
  .trust .s { color: var(--acc-deep, #2fb073); }

  .chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
  .chips a { color: var(--color-text); text-decoration: none; border: 1px solid var(--color-line); border-radius: 999px; padding: 6px 12px; font-size: 14px; }
  .chips a .n { color: var(--color-muted); font-family: var(--font-mono); font-size: 12px; margin-left: 6px; }
  .feature { display: grid; gap: 18px; margin-bottom: 28px; }
  .feature-card { display: block; color: inherit; text-decoration: none; border: 1px solid var(--color-line); border-radius: 12px; overflow: hidden; background: var(--color-surface); }
  .feature-card img { width: 100%; height: auto; display: block; }
  .feature-card div { padding: 16px 18px 18px; }
  .feature-card .big, .big { color: var(--color-accent); font-weight: 560; font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: -.03em; line-height: .95; max-width: none; }
  .feature-card h2 { margin: 6px 0; font-size: clamp(22px, 1.1rem + 0.8vw, 28px); font-weight: 550; line-height: 1.2; letter-spacing: -.01em; }
  .start-here .kicker { margin-bottom: 8px; }
  .hubs { display: grid; gap: 16px; }
  .hub { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--color-line); border-radius: 12px; padding: 16px 16px 12px; background: var(--color-surface); }
  .hub h2 { margin: 0 0 6px; font-size: 1.25rem; font-weight: 550; }
  .hub h2 a { color: inherit; text-decoration: none; }
  .hub .learn { color: var(--color-muted); }
  .hub .more { margin-top: auto; padding-top: 12px; }
  .hub .more a { color: var(--color-accent); text-decoration: none; }
  .rows { list-style: none; margin: 10px 0 0; padding: 0; }
  .rows a { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) auto; gap: 8px 12px; align-items: baseline; padding: 10px 8px; color: inherit; text-decoration: none; border-top: 1px solid var(--color-line); }
  .rows .fig { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: var(--color-accent); min-height: 1em; }
  .rows time { color: var(--color-muted); font-size: 13px; font-family: var(--font-mono); }
  .corpus-line { margin: 0 0 6px; font-family: var(--font-mono); font-size: 12px; color: var(--color-muted); }
  .all-studies { margin-top: 64px; }
  @media (min-width: 800px) {
    .feature { grid-template-columns: 1.2fr .8fr; align-items: start; }
    .hubs { grid-template-columns: 1fr 1fr; }
    .chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    a.feature-card.category-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; align-items: center; }
  }
  @media (max-width: 700px) {
    .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; mask-image: linear-gradient(90deg, #000 86%, transparent); }
    .chips a { white-space: nowrap; }
  }
  @media (max-width: 640px) {
    .feature-card img { display: none; }
    .rows a { grid-template-columns: 4.2rem minmax(0, 1fr); }
    .rows time { grid-column: 2; }
    .trust { gap: 8px 14px; letter-spacing: .04em; }
  }
  main > .wrap > .feature-card { margin-top: 24px; margin-bottom: 8px; }

  @media (hover: hover) {
    .rows a:hover { background: rgba(91, 228, 155, .06); }
    .rows a:hover .ttl { text-decoration: underline; text-underline-offset: .15em; }
    .feature-card:hover, .hub:hover { border-color: var(--color-accent); }
    .hub h2 a:hover, .hub .more a:hover { text-decoration: underline; }
    .chips a:hover { border-color: var(--color-accent); }
    .nav-cta:hover { border-color: var(--acc, var(--color-accent)); color: var(--acc, var(--color-accent)); }
    .pf-card__btn:hover { background: var(--color-action-hover); color: var(--color-action-text); }
    .prose a:hover { color: var(--color-accent); }
  }

  .article-grid { display: grid; gap: 28px; padding-bottom: 48px; }
  .center, .page-body, .prose { min-width: 0; }
  .prose { color: #d5dbd7; line-height: 1.6; counter-reset: h2sec; }
  .prose :is(h2, h3, strong) { color: var(--color-text); }
  .prose h2 { font-weight: 550; }
  .prose h3 { font-weight: 560; }
  .prose > :not(.study-fig, .table-frame) { max-width: 46ch; }
  .h2-row { display: flex; align-items: baseline; gap: 8px; max-width: 46ch; }
  .h2-row h2 { flex: 1 1 auto; min-width: 0; }
  .prose h2::before {
    counter-increment: h2sec;
    content: "§" counter(h2sec) " " / "";
    font-family: var(--font-mono);
    font-size: .72em;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
    margin-right: .35em;
  }
  .copy-anchor, .copy-checks, .copy-cite {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--color-muted);
    background: transparent;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    min-height: 44px;
    min-width: 44px;
    padding: 0 12px;
    cursor: pointer;
  }
  .copy-anchor { flex: none; }
  .prose :is(h2, h3) { scroll-margin-top: 16px; line-height: 1.25; }
  .prose h2, .prose .h2-row { margin: 2.2em 0 .55em; }
  .prose h3 { margin: 1.8em 0 .4em; font-size: 1.1875rem; }
  .prose h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem); }
  .prose :is(h2, h3, .h2-row) + :is(p, ol, ul, .account-check) { margin-top: 0; }
  .prose p + p { margin-top: 1em; }
  .prose a {
    color: var(--color-text);
    text-decoration-line: underline;
    text-decoration-color: var(--color-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
  }
  .study-fig { margin: 1.4em 0; }
  .study-fig img { display: block; width: 100%; height: auto; }
  .study-fig a.chart-open { display: block; text-decoration: none; }
  .figcap { margin-top: 8px; font-size: 14px; max-width: 46ch; }
  .figcap strong { color: var(--color-text); }
  .source-line { display: block; margin-top: 4px; color: var(--color-muted); font-size: 13px; }
  .prose .govuk-table { font-size: 15px; line-height: 1.45; color: #d5dbd7; }
  .prose :is(.govuk-table__header, .govuk-table__cell) { border-bottom-width: 1px; }
  .prose tbody .govuk-table__header, .prose .govuk-table__cell--numeric { color: var(--color-text); font-weight: 650; }
  .method-note { border-block: 1px solid var(--color-line); margin-top: 1.4em; }
  .method-note > .govuk-details__summary { padding-block: 14px; }
  .prose .method-note h2, .prose .method-note .h2-row { margin-top: .7em; }

  .answer-card { background: var(--color-panel); color: var(--color-panel-text); border-radius: 8px; margin-bottom: 28px; }
  .answer-card .b-answer_hero { background: transparent; padding-bottom: 8px; }
  .answer-one .b-answer_hero h2 { font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); }
  .answer-one .metric > dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .answer-one .metric-value { word-spacing: -.28em; color: var(--color-accent); font-size: clamp(3rem, 2.2rem + 3vw, 4.5rem); line-height: .95; letter-spacing: -.035em; }  /* дирижёр 17.10: цифра — герой ответа, как в v2 */
  .findings { list-style: none; margin: 0; padding: 0 28px 8px; counter-reset: find; }
  .findings li { position: relative; margin-top: 10px; padding-left: 2.6em; counter-increment: find; }
  .findings li::before { content: counter(find, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: var(--font-mono); color: var(--color-panel-muted); }
  .answer-tools { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin: 0; padding: 4px 28px 20px; font-family: var(--font-mono); font-size: 12px; }
  .answer-tools a, .answer-tools summary { color: var(--color-panel-muted); text-decoration: none; font-family: var(--font-mono); font-size: 12px; cursor: pointer; }
  .cite { display: inline; }
  .cite summary { display: inline; list-style: none; }
  .cite summary::-webkit-details-marker { display: none; }
  .cite-body { margin-top: 10px; max-width: 62ch; }
  .cite-line { color: var(--color-panel-text); font-family: var(--font-body); font-size: 14px; line-height: 1.5; }
  .account-check { margin: 0; }
  .checks { list-style: none; margin: .4em 0 12px; padding: 0; }
  .checks li { margin-top: 10px; }
  .checks label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
  .checks input { width: 1.15em; height: 1.15em; margin-top: .25em; accent-color: var(--color-accent); flex: none; }
  .pf-quiet { margin-top: 1.15em; }
  .prose .pf-quiet a { color: var(--color-muted); }

  .pf-slot { min-width: 0; }
  .pf-card { border: 1px solid var(--color-line); border-radius: 12px; padding: 20px; background: var(--color-surface); }
  .pf-card__name { font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--color-accent); text-decoration: none; }
  .pf-card h2 { margin: 10px 0 0; font-size: 1.35rem; font-weight: 550; line-height: 1.2; }
  .pf-card .pf-desc { margin: 10px 0 0; color: var(--color-muted); }
  .pf-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 0; }
  .pf-facts dt { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-muted); }
  .pf-facts dd { margin: 4px 0 0; font-weight: 600; }
  .pf-card__btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; margin-top: 16px; padding: 0 16px; box-sizing: border-box; border-radius: 999px; background: var(--color-action); color: var(--color-action-text); font-family: var(--font-mono); font-size: 13px; font-weight: 500; line-height: 1; white-space: nowrap; text-decoration: none; }
  .pf-card__note { margin: 12px 0 0; color: var(--color-muted); font-size: 14px; }
  .faq { border-top: 1px solid var(--color-line); margin-top: 1.2em; }
  .faq .item { border-bottom: 1px solid var(--color-line); padding-bottom: 8px; }
  .prose .faq h3 { margin: 1.6em 0 .45em; font-size: 17px; font-weight: 600; }
  .faq .a { color: var(--color-muted); line-height: 1.62; }
  .author { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; }
  .author p { margin: 0; }
  .author .trust { flex-basis: 100%; margin-top: 4px; }
  .read-next { margin-top: 28px; }
  .read-next h2 { margin: 0 0 10px; font-size: 1.25rem; font-weight: 550; }
  .read-next .kicker { margin-bottom: 4px; }
  .more-topic { margin-top: 12px; }
  .more-topic a { color: var(--color-accent); text-decoration: none; }

  .toc-wide { position: sticky; top: 16px; padding-left: 12px; }
  .toc-wide .kicker { margin-bottom: 8px; }
  .toc-wide ol, .toc-narrow ol { list-style: none; margin: 0; padding: 0; }
  .toc-wide ol { counter-reset: toc; }
  .toc-wide li { counter-increment: toc; display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 6px; align-items: baseline; padding-block: 7px; border-bottom: 1px solid var(--color-line); }
  .toc-wide li::before { content: counter(toc, decimal-leading-zero); font-family: var(--font-mono); font-size: 12px; color: var(--color-muted); }
  .toc-wide a { color: var(--color-muted); text-decoration: none; font-size: 14px; }
  .toc-wide a[aria-current="true"] { color: #fff; }
  .toc-progress { position: absolute; left: 0; top: 2.4em; bottom: 0; width: 2px; }
  .toc-progress::before { content: ""; display: block; width: 2px; height: calc(var(--toc-p, 0) * 100%); background: var(--color-accent); }
  .toc-narrow { border-block: 1px solid var(--color-line); margin: 0 0 24px; }
  .toc-narrow summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; cursor: pointer; list-style: none; font-weight: 550; }
  .toc-narrow summary::-webkit-details-marker { display: none; }
  .toc-narrow summary::after { content: "↓"; font-family: var(--font-mono); color: var(--color-muted); }
  .toc-narrow[open] summary::after { content: "↑"; }
  .toc-count { font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--color-muted); }
  .toc-narrow li { padding-block: 6px; }
  .toc-narrow a { color: var(--color-text); text-decoration: none; }
  @media (max-width: 1199px) {
    .toc-wide { display: none; }
    .article-grid.wrap, .article-band .wrap { width: min(68ch, calc(100% - 32px)); }
  }
  @media (min-width: 1200px) {
    .toc-phone { display: none; }
    .article-grid.wrap, .article-band .wrap { width: max-content; max-width: calc(100% - 32px); }
    .article-grid { grid-template-columns: minmax(9rem, 14rem) minmax(0, 68ch) minmax(11rem, 16rem); justify-content: center; align-items: start; }
    .article-band .wrap { display: grid; grid-template-columns: minmax(9rem, 14rem) minmax(0, 68ch) minmax(11rem, 16rem); justify-content: center; }
    .article-band .wrap > * { grid-column: 2; margin: 0; max-width: 68ch; }
    .article-grid .tail { grid-column: 2; }
    .pf-slot { position: sticky; top: 16px; }
  }
  @media (max-width: 767px) {
    .findings { padding: 0 16px 4px; }
    .answer-tools { padding-inline: 16px; }
    .table-frame:has(.table-cards) { overflow: visible; }
    .table-cards, .table-cards caption, .table-cards tbody, .table-cards tr, .table-cards th, .table-cards td { display: block; width: 100%; }
    .table-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .table-cards tbody tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--color-line); }
    .table-cards tbody :is(th, td) { border: 0; display: block; width: 100%; padding: 0; text-align: left; white-space: normal; }
    .table-cards tbody th { color: var(--color-text); font-weight: 650; }
    .table-cards tbody td { margin-top: 8px; }
    .table-cards tbody td[data-label]::before { content: attr(data-label) / ""; display: block; font: 500 11px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--color-muted); }
    .table-cards tbody th[data-label]::before { content: none; }
  }
  @media (prefers-reduced-motion: no-preference) {
    .toc-progress::before { transition: height .15s linear; }
  }
  @media print {
    .nav, .foot, .toc-wide, .toc-phone, .pf-slot, .pf-quiet, .copy-anchor, .answer-tools, .copy-checks, .skip { display: none !important; }
    html, body { background: #fff !important; color: #111 !important; color-scheme: light; }
    .prose, .prose :is(h2, h3, strong, a), h1, .band h1 { color: #111 !important; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 11px; word-break: break-all; }
  }
  /* дирижёр 17.10: карточка PF после списка темы — не на всю ширину, с воздухом сверху */
  .rows + .pf-slot { margin-top: 40px; max-width: 46rem; }

.tda-v3 .band { padding-block: 28px 8px; }
.tda-v3 .band h1 { margin: 8px 0 12px; }
.tda-v3 .band .lede { margin: 0; }
.tda-v3 .band .trust { margin-top: 14px; }
.tda-v3 .nav-in .brand { color: var(--ink); }
.tda-v3 .nav-c a { color: var(--ink-2); }
.tda-v3 .nav-c a.on { color: var(--ink); }
.tda-v3 .nav-cta { color: var(--ink); }
.tda-v3 .foot a { color: var(--ink-2); }
.tda-v3 .foot .blurb { margin-top: 16px; }
.tda-v3 .foot .foot-h { margin-bottom: 16px; }
.tda-v3 .foot .gp-badge { margin: 34px 0 4px; }
.tda-v3 .trust { margin-top: 14px; color: #8a938e; }
.tda-v3 .trust .s { color: var(--color-accent); }
.tda-v3 .trust li { white-space: normal; }
.tda-v3 .feature-card img { display: block; }
.tda-v3 .feature-card .big { margin: 0; }
.tda-v3 .feature-card h2 { margin: 6px 0; }
.tda-v3 .feature-card { margin-top: 24px; margin-bottom: 8px; }
.tda-v3 .feature .feature-card { margin: 0; }
.tda-v3 .start-here .kicker { margin-bottom: 8px; }
.tda-v3 .hub h2 { margin-bottom: 6px; }
.tda-v3 .hub .more { margin-top: auto; }
.tda-v3 .corpus-line { margin-bottom: 6px; }
.tda-v3 .rows time { white-space: nowrap; }
.tda-v3 .rows .fig { overflow-wrap: anywhere; }
.tda-v3 .directory-fallback { padding-block: 32px 64px; min-height: 50vh; }

/* v3 uses 1200px for three columns, with one centered track below it. */
.tda-article .kit-rail { --kit-text: 68ch; --kit-offset: 16px; display: grid; width: min(68ch, calc(100% - 32px)); max-width: none; grid-template-columns: minmax(0,1fr); gap: 28px; margin: 0 auto; padding-bottom: 48px; }
.tda-article .kit-rail > :is(.kit-rail__head,.kit-rail__body,.kit-rail__tail,.kit-rail__offers) { grid-column: 1; grid-row: auto; }
.tda-article .kit-rail > .kit-rail__left, .tda-article .kit-rail > .kit-rail__author, .tda-article .kit-rail__back, .tda-article .kit-strip { display: none; }
.tda-article .kit-rail__head { padding-top: 28px; }
.tda-article .kit-rail__head h1 { margin: 8px 0 12px; max-width: 22ch; font-weight: 560; letter-spacing: -.026em; line-height: 1.02; }
.tda-article .byline { gap: 8px 12px; }
.tda-article .byline .kit-author--meta { display: flex; }
.tda-article .byline .kit-author__name { margin: 0; }
.tda-article .byline .kit-author__name a { display: inline; color: var(--color-text); }
.tda-article .byline .kit-author ul, .tda-article .byline .kit-author > div > a { display: none; }
.tda-article .kit-meta { font-family: var(--font-mono); gap: 8px 12px; }
.tda-article .kit-toc--inline { display: block; margin: 0 0 24px; }
.tda-article .kit-toc--inline summary { min-height: 48px; }
.tda-article .kit-toc .kit-label { font-family: var(--font-mono); font-weight: 500; color: var(--color-accent); }
.tda-article .kit-toc--rail .kit-toc__list { counter-reset: toc; }
.tda-article .kit-toc--rail li { counter-increment: toc; border-bottom: 1px solid var(--color-line); }
.tda-article .kit-toc--rail a { display: grid; grid-template-columns: 2.2em minmax(0,1fr); gap: 6px; align-items: baseline; font-size: 14px; }
.tda-article .kit-toc--rail a::before { content: counter(toc,decimal-leading-zero); font: 400 12px var(--font-mono); color: var(--color-muted); }
.tda-article .kit-toc a, .tda-article .kit-toc a:visited { color: var(--color-muted); text-decoration: none; }  /* как в v3: оглавление приглушено, общее .tda-v3 a красило его акцентом */
.tda-article .kit-toc--inline a, .tda-article .kit-toc a[aria-current] { color: var(--color-text); }
@media (hover: hover) { .tda-article .kit-toc a:hover { color: var(--color-text); } }
.tda-article .kit-progress { position: static; width: 100%; margin-bottom: 16px; }
.tda-article .answer-card { border: 1px solid var(--color-panel-line); background: var(--color-panel); margin-bottom: 28px; }
.tda-article .answer-card :is(.tldr,.key-stat) { background: transparent; color: var(--color-panel-text); border: 0; box-shadow: none; margin: 0; border-radius: 0; padding: 20px 28px 0; max-width: none; }
.tda-article .answer-card p + p { margin-top: 12px; }
.tda-article .answer-card .source-line { color: var(--color-panel-muted); font-size: 13px; margin-top: 12px; }
.tda-article .answer-fig { display: block; font-family: var(--font-heading); font-size: clamp(3rem, 2.2rem + 3vw, 4.5rem); font-weight: 560; line-height: .95; color: var(--color-accent); letter-spacing: -.035em; margin-block: 12px; }
.tda-article .answer-meta { padding: 24px 28px 8px; }
.tda-article .answer-label { margin: 0 0 10px; font: 500 12px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); }
.tda-article .answer-text { margin: 0; max-width: 52ch; color: var(--color-panel-text); font-size: 1.0625rem; line-height: 1.5; }
.tda-article .answer-unit { font-size: .5em; letter-spacing: 0; margin-left: .06em; }
.tda-article .answer-meaning { margin-top: 0; color: var(--color-panel-text); font-weight: 550; }
.tda-article .answer-meta .findings { padding: 8px 0; }
.tda-article .answer-tools { padding: 16px 28px 20px; }
.tda-article .answer-tools .cite { max-width: 100%; }
.tda-article .cite-body { overflow-wrap: anywhere; }
.tda-article .cite-body p { font: 400 14px/1.5 var(--font-body); color: var(--color-panel-text); }
.tda-article .prose :is(p,ul,ol,blockquote,figure) { margin-block: 1em; }
.tda-article .prose > :not(figure,.table-scroll,.wp-block-table) { max-width: 46ch; }
.tda-article .prose h2 { margin: 2.2em 0 .55em; font-size: clamp(1.5rem,1.2rem + 1vw,1.875rem); }
.tda-article .prose h3 { margin: 1.8em 0 .4em; font-size: 1.1875rem; }
/* 18.10: FAQ из 10 статей размечен .faq-item > p.faq-q + p — вопрос как заголовок, как .faq сайта */
.tda-article .prose .faq-item { margin-top: 1.1em; padding-top: 1.1em; border-top: 1px solid var(--color-line); }
.tda-article .prose :is(h2, .h2-row) + .faq-item { border-top: 0; padding-top: 0; }
.tda-article .prose .faq-item > p { margin: 0; }
.tda-article .prose .faq-q { margin-bottom: .4em !important; font-weight: 600; font-size: 1.0625rem; color: var(--color-panel-text); }
/* 18.10: оглавление слева — во всю высоту окна (в движке 55vh резало 12 пунктов); если не влезло — мягкое затухание внизу */
.tda-article .prose .h2-row { margin: 2.2em 0 .55em; }
.tda-article .prose .h2-row h2 { margin: 0; }
.tda-article .prose :is(h2,h3) { scroll-margin-top: 24px; }
.tda-article .prose a { color: var(--color-text); }
.tda-article .prose figure { max-width: 100%; }
.tda-article .prose picture { display: block; }
.tda-article .prose figure img { display: block; width: 100%; height: auto; }
.tda-article .prose figcaption { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--color-muted); max-width: 46ch; }
.tda-article .prose caption { caption-side: top; padding: 0 0 8px; text-align: left; font-size: 14px; color: var(--color-muted); }  /* подпись таблицы, 5 статей */
.tda-article .prose blockquote { padding: 12px 20px; border-left: 3px solid var(--color-accent); color: var(--color-panel-muted); }
.tda-article .prose .researcher-take { padding: 16px 20px; background: var(--color-surface); border: 1px solid var(--color-line); border-left: 3px solid var(--color-accent); border-radius: 4px; }  /* «Researcher's take», 8 статей */
.tda-article .prose .researcher-take p { margin: 0; max-width: none; color: var(--color-text); }
.tda-article .prose .researcher-take > p:first-child { margin-bottom: .5em; font: 500 12px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); }
.tda-article .prose .researcher-take > p:nth-child(n+3) { margin-top: .7em; font-size: .85em; color: var(--color-muted); }
.tda-article .table-scroll, .tda-article .wp-block-table { overflow-x: auto; max-width: 100%; }
.tda-article table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.tda-article :is(td,th) { padding: 10px 8px; border: 0; border-bottom: 1px solid var(--color-line); text-align: left; }
.tda-article .kit-rail__tail .kit-author { margin-top: 28px; }
.tda-article .kit-author--full ul { list-style: none; padding: 0; margin: 0; }
.tda-article .kit-author--full p { margin: 0; }
.tda-article .read-next { margin-top: 28px; }
.tda-article .read-next h2 { margin-bottom: 10px; }
.tda-article .read-next .kicker { margin-bottom: 4px; }
.tda-article .read-next .more-topic { margin-top: 12px; }
.tda-v3 .pf-card__name { margin: 0; }
.tda-v3 .pf-card h2 { margin-top: 10px; }
.tda-v3 .pf-card .pf-desc { margin-top: 10px; }
.tda-v3 .pf-facts { margin-top: 16px; }
.tda-v3 .pf-facts dd { margin-top: 4px; }
.tda-v3 .pf-card__note { margin-top: 12px; }
.tda-article .kit-rail .pf-card__btn { color: var(--color-action-text); }
.tda-v3 .copy-status { font-size: 12px; }
@media (min-width:1200px) {
  .tda-article .kit-rail { width: max-content; max-width: calc(100% - 32px); grid-template-columns: minmax(9rem,14rem) minmax(0,68ch) minmax(16rem,18rem); justify-content: center; column-gap: 28px; }
  .tda-article .kit-rail > .kit-rail__head { grid-column: 2; grid-row: 1; }
  .tda-article .kit-rail > .kit-rail__left { display: block; grid-column: 1; grid-row: 2 / 4; }
  .tda-article .kit-rail > .kit-rail__body { grid-column: 2; grid-row: 2; }
  .tda-article .kit-rail > .kit-rail__tail { grid-column: 2; grid-row: 3; }
  .tda-article .kit-rail > .kit-rail__offers { grid-column: 3; grid-row: 2 / 4; }
  .tda-article .kit-toc--inline { display: none; }
  .tda-article .pf-slot { position: static; }
  .tda-article [data-kit-pin].kit-fits { position: sticky; top: var(--kit-offset); }
}
@media (max-width:767px) {
  .tda-article .answer-card :is(.tldr,.key-stat), .tda-article .answer-meta { padding-inline: 16px; }
  .tda-article .answer-tools { padding-inline: 16px; }
  .tda-article .table-scroll:has(.table-cards) { overflow: visible; }
  .tda-article .table-cards, .tda-article .table-cards :is(tbody,tr,td,th) { display: block; width: 100%; }
  .tda-article .table-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .tda-article .table-cards tr { padding: 14px 0; border-bottom: 1px solid var(--color-line); }
  .tda-article .table-cards :is(td,th) { border: 0; padding: 0; white-space: normal; }
  .tda-article .table-cards td { margin-top: 8px; }
}
@media (prefers-reduced-motion:reduce) {
  .tda-v3 *, .tda-v3 *::before, .tda-v3 *::after { transition: none; animation: none; scroll-behavior: auto; }
}
@media print {
  .tda-article :is(.kit-rail__left,.kit-rail__offers,.kit-toc,.answer-tools,.copy-anchor,.copy-checks,.pf-quiet) { display: none !important; }
  .tda-article .kit-rail { display: block; width: 100%; max-width: none; }
}
/* Logged-in WP admin bars must not cover the pinned TOC or its anchor target. */
.admin-bar .tda-article .kit-rail { --kit-offset: 48px; }
.admin-bar .tda-article .prose :is(h2,h3) { scroll-margin-top: 64px; }
/* Bare tables also stay inside the reading track before enhancement. */
.tda-article .prose table { display: block; max-width: 100%; overflow-x: auto; }
.tda-article .prose :is(.table-scroll,.wp-block-table) > table { display: table; }
@media (max-width:767px) {
  .tda-article .prose .table-scroll > .table-cards { display: block; }
}
@media (max-width:767px) { .tda-v3 .nav-c { display: none; } }
.tda-article :is(.copy-anchor,.copy-checks,.copy-cite):is(:hover,:focus) { background: transparent; color: var(--color-accent); }
.tda-article :is(.copy-anchor,.copy-checks,.copy-cite) { font: 400 12px/1.6 var(--font-mono); letter-spacing: normal; text-transform: none; }  /* 18.10 сверка с макетом v3: кнопка GeneratePress (Inter 16px заглавными) перебивала слой темы */
.tda-article .checks input { font: inherit; }
@media (min-width:1200px) {
  .tda-article .kit-rail { grid-template-columns: minmax(9rem,14rem) minmax(0,68ch) 16rem; }
  .tda-article .kit-rail__head h1 { max-width: 68ch; }
}

/* Приёмка дирижёра 17.10: (1) текст кнопки PF — тёмный на зелёном везде; на странице темы цвет ссылок перебивал его (контраст 1:1);
   (2) строки в карточке ответа ≤ ~75 знаков (было ~96 при ширине карточки 68ch). */
.pf-card a.pf-card__btn, .pf-card a.pf-card__btn:visited, .pf-card a.pf-card__btn:hover { color: var(--color-action-text); }
.tda-article .answer-card :is(.tldr, .key-stat) > :is(p, ul, ol), .tda-article .answer-card .source-line { max-width: 52ch; }  /* 52ch Geist ≈ 75 знаков */
