/**
 * site-ui-views-v2.css — articles, author pages, search results, 404, lists.
 *
 * v2 (1.7.0) = v1 plus the list heading (tags, other categories, page 2
 * onward of the front page). Nothing in v1 changed; v1 stays on disk for
 * rollback.
 *
 * THE FILENAME CARRIES THE DESIGN VERSION. Cloudflare on this site does not
 * vary its cache on ?ver=, so the next redesign ships as site-ui-views-v3.css with
 * the constant in class-ui-assets.php changed.
 *
 * Loaded only on a request AIPR_UI_Views renders, always after site-ui-v2.css,
 * so the tokens and the 'AIPR Sans' / 'AIPR Serif' faces are taken as given.
 *
 * ONE ARTICLE FRAME FOR THE WHOLE SITE. The Interviews and Intelligence
 * article pages were built separately and arrived at the same numbers; this
 * file uses them again rather than inventing a third set:
 *
 *                     Interviews        Intelligence      here
 *   column            864 / 800         864 / 800         864 / 800
 *   headline          clamp(32,4vw,42)  same              same, 600, -0.028em
 *   standfirst        serif 20 / 1.5    same              same
 *   cover             column, 2:1       column            photo 2:1, card native
 *   body              serif 19 / 1.6    sans 18 / 1.72    sans 18 / 1.72,
 *                     (their words)     (our words)       releases serif
 *
 * Scope: everything under .aipr-ui-v. bimber styles bare h1-h5 / p / ul /
 * li / a / button, and declares Lato (never loaded) on every heading, so no
 * rule here relies on a browser default. The article body deliberately does
 * NOT carry the entry-content class: that is what keeps the Customizer's
 * `.single-post .entry-content { … !important }` lock off it.
 */

.aipr-ui-v {
    --v-read: 800px;
    --v-wrap: calc(var(--v-read) + var(--aipr-ui-pad) * 2);
    --v-soft: #f7f7fa;
    --v-serif: 'AIPR Serif', ui-serif, 'New York', Georgia, 'Times New Roman', serif;
    display: block;
    width: 100%;                       /* bimber's #page is a flex column */
    background: var(--aipr-ui-paper);
    color: var(--aipr-ui-body);
    font-family: var(--aipr-ui-sans);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
.aipr-ui-v *, .aipr-ui-v *::before, .aipr-ui-v *::after { box-sizing: border-box; }
.aipr-ui-v :where(h1, h2, h3, h4, p, ul, ol, li, figure, dl, dd) { margin: 0; padding: 0; }
.aipr-ui-v :where(ul, ol) { list-style: none; }
.aipr-ui-v :where(li)::before { content: none; }
.aipr-ui-v :where(h1, h2, h3, h4, h5) { font-family: var(--aipr-ui-sans); }
.aipr-ui-v a { color: inherit; text-decoration: none; box-shadow: none; border: 0; }
.aipr-ui-v :focus-visible { outline: 2px solid var(--aipr-ui-accent); outline-offset: 3px; }
.aipr-ui-v img { max-width: 100%; height: auto; }

.aipr-ui-v-wrap {
    max-width: var(--v-wrap);
    margin: 0 auto;
    padding: 40px var(--aipr-ui-pad) 96px;
}

.aipr-ui-v-h1 {
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 600;
    letter-spacing: -0.028em;
    line-height: 1.1;
    color: var(--aipr-ui-ink);
    text-wrap: balance;
}
.aipr-ui-v-empty { margin-top: 28px; font-size: 16px; color: var(--aipr-ui-mute); }

/* ─── Rubric: the one line where a channel and a sector sit together ─── */

.aipr-ui-rub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--aipr-ui-mute);
}
.aipr-ui-rub a { transition: color 120ms ease; }
.aipr-ui-rub a:hover { color: var(--aipr-ui-accent); }
.aipr-ui-rub-sep { color: var(--aipr-ui-line); font-weight: 400; }

/* The press-release disclosure. Filled, because it is a label that has to be
   read, not a breadcrumb that can be skimmed. */
.aipr-ui-v .aipr-ui-rub-pr {
    display: inline-block;
    padding: 4px 9px 3px;
    background: var(--aipr-ui-ink);
    color: #fff;
    border-radius: 2px;
    letter-spacing: 0.1em;
}
.aipr-ui-v .aipr-ui-rub-pr:hover { background: var(--aipr-ui-accent); color: #fff; }

/* ─── Article head ───────────────────────────────────────────── */

.aipr-ui-art-h1 {
    margin: 14px 0 18px;
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 600;
    letter-spacing: -0.028em;
    line-height: 1.1;
    color: var(--aipr-ui-ink);
    text-wrap: balance;
}
.aipr-ui-art-dek {
    font-family: var(--v-serif);
    font-size: 20px;
    line-height: 1.5;
    color: var(--aipr-ui-mute);
    text-wrap: pretty;
}

.aipr-ui-art-by {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 24px;
    padding: 14px 0;
    border-top: 1px solid var(--aipr-ui-line);
}
.aipr-ui-art-byline { font-size: 14px; line-height: 1.5; color: var(--aipr-ui-mute); }
.aipr-ui-v .aipr-ui-art-author { color: var(--aipr-ui-ink); font-weight: 600; transition: color 120ms ease; }
.aipr-ui-v .aipr-ui-art-author:hover { color: var(--aipr-ui-accent); }
.aipr-ui-art-sep { padding: 0 8px; color: var(--aipr-ui-faint); }

.aipr-ui-share { display: flex; gap: 8px; }
.aipr-ui-v .aipr-ui-share-btn {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--aipr-ui-line);
    border-radius: 50%;
    background: var(--aipr-ui-paper);
    color: var(--aipr-ui-ink);
    cursor: pointer;
    font: inherit;
    line-height: 1;
    transition: border-color 120ms ease, color 120ms ease;
}
/* Reserved, not collapsed (1.16.0): the copy button used to ship with the hidden
   attribute and appear when the script ran, which wrapped the byline row on
   phones and pushed the cover down 31px (CLS 0.154). It now holds its place
   from the first paint and is only made visible. */
.aipr-ui-v .aipr-ui-share-btn.is-pending { visibility: hidden; }
.aipr-ui-v .aipr-ui-share-btn:hover { border-color: var(--aipr-ui-ink); }
.aipr-ui-v .aipr-ui-share-btn.is-done { border-color: var(--aipr-ui-accent); color: var(--aipr-ui-accent); }
.aipr-ui-ico { display: block; width: 15px; height: 15px; fill: currentColor; }

/* ─── Cover ──────────────────────────────────────────────────── */

.aipr-ui-art-cover { margin-top: 8px; }
.aipr-ui-art-frame { overflow: hidden; border-radius: 2px; background: #f2f2f6; }
.aipr-ui-art-cover--photo .aipr-ui-art-frame { aspect-ratio: 2 / 1; }
.aipr-ui-art-cover--photo .aipr-ui-art-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 25%;          /* the Interviews cover's focal point */
}
.aipr-ui-art-cover--native .aipr-ui-art-img { display: block; width: 100%; height: auto; }
.aipr-ui-art-credit { margin-top: 8px; font-size: 12px; line-height: 1.5; color: var(--aipr-ui-faint); }
.aipr-ui-art-credit a { text-decoration: underline; text-underline-offset: 2px; }

/* ─── Body ───────────────────────────────────────────────────── */

.aipr-ui-art-body {
    margin-top: 32px;
    font-size: 18px;
    line-height: 1.72;
    color: var(--aipr-ui-body);
    overflow-wrap: break-word;
}
.aipr-ui-art-body p,
.aipr-ui-art-body li { font-size: 18px; line-height: 1.72; }
.aipr-ui-art-body p { margin: 0 0 1.1em; }
.aipr-ui-art-body :is(h2, h3, h4) {
    margin: 1.7em 0 0.55em;
    font-weight: 600;
    letter-spacing: -0.012em;
    line-height: 1.3;
    color: var(--aipr-ui-ink);
}
.aipr-ui-art-body h2 { font-size: 25px; }
.aipr-ui-art-body h3 { font-size: 21px; }
.aipr-ui-art-body h4 { font-size: 18px; }
.aipr-ui-art-body > :first-child { margin-top: 0; }
.aipr-ui-art-body :is(ul, ol) { margin: 0 0 1.2em; padding-left: 1.25em; }
.aipr-ui-art-body ul { list-style: disc; }
.aipr-ui-art-body ol { list-style: decimal; }
.aipr-ui-art-body li { margin: 0 0 0.5em; padding: 0; }
.aipr-ui-art-body li::marker { color: var(--aipr-ui-faint); }
.aipr-ui-art-body :is(strong, b) { font-weight: 600; color: var(--aipr-ui-ink); }
.aipr-ui-art-body a {
    color: var(--aipr-ui-ink);
    text-decoration: underline;
    text-decoration-color: var(--aipr-ui-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 120ms ease;
}
.aipr-ui-art-body a:hover { color: var(--aipr-ui-accent); }
.aipr-ui-art-body blockquote {
    margin: 1.5em 0;
    padding: 0 0 0 20px;
    border-left: 2px solid var(--aipr-ui-accent);
    font-family: var(--v-serif);
    font-size: 19px;
    line-height: 1.6;
    color: var(--aipr-ui-ink);
}
.aipr-ui-art-body :is(figure, .wp-caption) { margin: 1.6em 0; max-width: 100%; }
.aipr-ui-art-body :is(figcaption, .wp-caption-text) { margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--aipr-ui-faint); }
.aipr-ui-art-body iframe { max-width: 100%; }
.aipr-ui-art-body hr { margin: 2em 0; border: 0; border-top: 1px solid var(--aipr-ui-line); }
.aipr-ui-art-body table { width: 100%; margin: 1.4em 0; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.aipr-ui-art-body :is(th, td) { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--aipr-ui-line); text-align: left; vertical-align: top; }

/* A press release is the company's words: the serif, as the Interviews
   answers are the interviewee's. PR Desk's own blocks cap themselves at
   680px; inside this column they run the full 800 like everything above. */
.aipr-ui-art-body--serif,
.aipr-ui-art-body--serif :is(p, li) { font-family: var(--v-serif); font-size: 19px; line-height: 1.65; }
.aipr-ui-art-body :is(.aiprd-pr-identity, .aiprd-pr-body, .aiprd-release-footer, .aiprd-pr-disclaimer, .aiprd-facts, .aiprd-pr-deksub) { max-width: none; }
.aipr-ui-art-body--serif :is(.aiprd-pr-identity, .aiprd-release-footer, .aiprd-facts, .aiprd-pr-disclaimer),
.aipr-ui-art-body--serif :is(.aiprd-pr-identity, .aiprd-release-footer, .aiprd-facts, .aiprd-pr-disclaimer) :is(p, li) { font-family: var(--aipr-ui-sans); }
.aipr-ui-art-body--serif .aiprd-release-boilerplate { font-size: 15px; line-height: 1.65; }
.aipr-ui-art-body .aiprd-facts { margin-left: 0; margin-right: 0; }

/* Funding's Key Facts. The plugin prints it with two inline styles and
   leaves the rest to whatever surrounds it — which was bimber. */
.aipr-ui-art-body .aicp-key-facts {
    padding: 20px 22px 14px;
    background: var(--v-soft);
    border-top: 2px solid var(--aipr-ui-ink);
}
.aipr-ui-art-body .aicp-key-facts h3 {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--aipr-ui-ink);
}
.aipr-ui-art-body .aicp-key-facts ul { margin: 0; padding: 0; list-style: none; }
.aipr-ui-art-body .aicp-key-facts li {
    margin: 0;
    padding: 8px 0;
    border-top: 1px solid var(--aipr-ui-line);
    font-size: 15px;
    line-height: 1.5;
}
.aipr-ui-art-body .aicp-key-facts li:first-child { border-top: 0; }
.aipr-ui-art-body .aicp-key-facts li strong { color: var(--aipr-ui-mute); font-weight: 600; margin-right: 4px; }

.aipr-ui-art-pages { margin: 1.5em 0; font-size: 15px; font-weight: 600; }

/* D5 — only printed once the Editorial Guidelines' AI section is confirmed. */
.aipr-ui-art-std {
    margin-top: 32px;
    padding-top: 14px;
    border-top: 1px solid var(--aipr-ui-line);
    font-size: 14px;
    line-height: 1.5;
    color: var(--aipr-ui-mute);
}
.aipr-ui-art-std a { color: var(--aipr-ui-ink); font-weight: 600; }
.aipr-ui-art-std a:hover { color: var(--aipr-ui-accent); }

/* ─── Section head, rows, pager: the list component ───────────── */

.aipr-ui-rel { margin-top: 56px; }

.aipr-ui-sechead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--aipr-ui-ink);
}
.aipr-ui-sechead-h { font-size: 20px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; color: var(--aipr-ui-ink); }
.aipr-ui-v .aipr-ui-sechead-more { font-size: 14px; font-weight: 600; color: var(--aipr-ui-ink); white-space: nowrap; transition: color 120ms ease; }
.aipr-ui-v .aipr-ui-sechead-more:hover { color: var(--aipr-ui-accent); }

.aipr-ui-ls { margin: 0; padding: 0; list-style: none; }
.aipr-ui-ls-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 5px;
    padding: 16px 0;
    border-bottom: 1px solid var(--aipr-ui-line);
}
.aipr-ui-ls-row--thumb { grid-template-columns: minmax(0, 1fr) 128px; column-gap: 24px; }
.aipr-ui-ls-row--thumb > :not(.aipr-ui-ls-img) { grid-column: 1; }
.aipr-ui-ls-rub {
    display: flex;
    flex-wrap: wrap;
    gap: 0 8px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--aipr-ui-mute);
}
.aipr-ui-ls-pr { color: var(--aipr-ui-ink); background: var(--aipr-ui-line); padding: 1px 6px; border-radius: 2px; }
.aipr-ui-ls-t { font-size: 19px; font-weight: 600; letter-spacing: -0.012em; line-height: 1.3; color: var(--aipr-ui-ink); text-wrap: pretty; }
.aipr-ui-ls-t a { transition: color 120ms ease; }
.aipr-ui-ls-t a:hover { color: var(--aipr-ui-accent); }
.aipr-ui-ls-d { font-size: 15px; line-height: 1.55; color: var(--aipr-ui-mute); }
.aipr-ui-v mark { background: var(--aipr-ui-tint); color: var(--aipr-ui-ink); padding: 0 1px; border-radius: 2px; }
.aipr-ui-ls-img { grid-column: 2; grid-row: 1 / span 3; align-self: start; display: block; }
.aipr-ui-ls-img img { display: block; width: 128px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; background: #f2f2f6; }

.aipr-ui-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 32px; }
.aipr-ui-v .aipr-ui-pager-n,
.aipr-ui-v .aipr-ui-pager-step {
    display: inline-grid;
    place-items: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--aipr-ui-line);
    font-size: 14px;
    font-weight: 600;
    color: var(--aipr-ui-ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    transition: border-color 120ms ease;
}
a.aipr-ui-pager-n:hover, a.aipr-ui-pager-step:hover { border-color: var(--aipr-ui-ink); }
.aipr-ui-pager-n.is-current { background: var(--aipr-ui-ink); border-color: var(--aipr-ui-ink); color: #fff; }
.aipr-ui-pager-gap { padding: 0 4px; color: var(--aipr-ui-faint); }

/* ─── Search form (search page and 404) ─────────────────────── */

.aipr-ui-sform { display: flex; max-width: 640px; margin-top: 22px; border: 2px solid var(--aipr-ui-ink); }
.aipr-ui-v input.aipr-ui-sform-in {
    flex: 1;
    min-width: 0;
    height: 50px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    background: var(--aipr-ui-paper);
    box-shadow: none;
    font-family: var(--aipr-ui-sans);
    font-size: 18px;
    color: var(--aipr-ui-ink);
    -webkit-appearance: none;
    appearance: none;
}
.aipr-ui-v .aipr-ui-sform-in:focus { box-shadow: none; border: 0; outline: none; }
.aipr-ui-sform:focus-within { outline: 2px solid var(--aipr-ui-accent); outline-offset: 2px; }
.aipr-ui-v .aipr-ui-sform-go {
    margin: 0;
    padding: 0 22px;
    border: 0;
    border-radius: 0;
    background: var(--aipr-ui-ink);
    color: #fff;
    font-family: var(--aipr-ui-sans);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    transition: background 120ms ease;
}
.aipr-ui-v .aipr-ui-sform-go:hover { background: var(--aipr-ui-accent); }

.aipr-ui-srch-head { padding-bottom: 8px; }
.aipr-ui-srch-count { margin: 28px 0 0; padding-bottom: 12px; border-bottom: 2px solid var(--aipr-ui-ink); font-size: 14px; color: var(--aipr-ui-mute); }

.aipr-ui-zero { margin-top: 36px; }
.aipr-ui-zero-h { font-size: 22px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; color: var(--aipr-ui-ink); }
.aipr-ui-zero-p { margin-top: 8px; font-size: 16px; color: var(--aipr-ui-mute); }
.aipr-ui-zero .aipr-ui-sechead { margin-top: 40px; }

.aipr-ui-chans { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.aipr-ui-chans a {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid var(--aipr-ui-line);
    font-size: 14px;
    font-weight: 600;
    color: var(--aipr-ui-ink);
    transition: border-color 120ms ease;
}
.aipr-ui-chans a:hover { border-color: var(--aipr-ui-ink); }

/* ─── Author ─────────────────────────────────────────────────── */

.aipr-ui-auth { padding-bottom: 28px; margin-bottom: 8px; border-bottom: 2px solid var(--aipr-ui-ink); }
.aipr-ui-auth--photo { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 28px; align-items: start; }
.aipr-ui-auth-img { width: 112px; height: 112px; object-fit: cover; border-radius: 2px; display: block; }
.aipr-ui-auth-role { margin-top: 10px; font-size: 16px; font-weight: 600; color: var(--aipr-ui-ink); }
.aipr-ui-auth-bio { margin-top: 12px; max-width: 60ch; font-family: var(--v-serif); font-size: 18px; line-height: 1.55; color: var(--aipr-ui-mute); text-wrap: pretty; }
.aipr-ui-auth-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; }
.aipr-ui-auth-links a { font-size: 14px; font-weight: 600; color: var(--aipr-ui-ink); transition: color 120ms ease; }
.aipr-ui-auth-links a:hover { color: var(--aipr-ui-accent); }

/* ─── Lists: tags, other categories, page 2 onward (1.7.0) ───── */

.aipr-ui-lst-head { padding-bottom: 20px; border-bottom: 2px solid var(--aipr-ui-ink); }
.aipr-ui-lst-kind {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--aipr-ui-mute);
}
.aipr-ui-lst-desc { margin-top: 12px; max-width: 60ch; font-family: var(--v-serif); font-size: 18px; line-height: 1.55; color: var(--aipr-ui-mute); text-wrap: pretty; }
.aipr-ui-lst-page { margin-top: 10px; font-size: 14px; color: var(--aipr-ui-mute); font-variant-numeric: tabular-nums; }

/* ─── 404 ────────────────────────────────────────────────────── */

.aipr-ui-nf { padding-top: 64px; }
.aipr-ui-nf-lead { margin-top: 14px; font-size: 18px; line-height: 1.5; color: var(--aipr-ui-mute); }
.aipr-ui-nf-latest { margin-top: 56px; }
.aipr-ui-nf-foot { margin-top: 32px; font-size: 15px; color: var(--aipr-ui-mute); }
.aipr-ui-nf-foot a { color: var(--aipr-ui-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--aipr-ui-accent); text-underline-offset: 3px; }

/* ─── Narrow ─────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .aipr-ui-v-wrap { padding: 28px 20px 72px; }
    .aipr-ui-art-dek { font-size: 18px; }
    .aipr-ui-art-body,
    .aipr-ui-art-body p,
    .aipr-ui-art-body li { font-size: 17px; }
    .aipr-ui-art-body--serif,
    .aipr-ui-art-body--serif :is(p, li) { font-size: 18px; }
    .aipr-ui-ls-t { font-size: 17px; }
    .aipr-ui-ls-row--thumb { grid-template-columns: minmax(0, 1fr) 88px; column-gap: 16px; }
    .aipr-ui-ls-img img { width: 88px; }
    .aipr-ui-auth--photo { grid-template-columns: 72px minmax(0, 1fr); gap: 18px; }
    .aipr-ui-auth-img { width: 72px; height: 72px; }
    .aipr-ui-nf { padding-top: 40px; }
    .aipr-ui-v .aipr-ui-sform-go { padding: 0 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .aipr-ui-v * { transition: none !important; }
}
