/**
 * Funding channel pages — frontend styles (v3 design, 1.21.0; file v5, 1.65.0).
 *
 * Direction: financial-editorial. Researched 2026-08-18 against The
 * Information (compiled CSS tokens), Anthropic /news, Axios, TechCrunch,
 * Sifted, Crunchbase News, Stripe, Linear. Full decision record in
 * CLAUDE.md — the load-bearing findings:
 *
 *  - Display weight goes DOWN as prestige goes up (TI 400 / Axios 200 /
 *    Linear 510). v2 shipped 900/800 and read mass-market. Display here is
 *    600; 800 is reserved for DATA numerals (amounts, month total).
 *  - Premium tier uses hairline rules + whitespace, never bordered cards
 *    or box-shadows. v2's cards and per-row purple pills are gone.
 *  - Outer shell 1256–1344 (reading column stays narrow). 1080 → 1264.
 *  - One accent, starved to one duty: #6c5ce7 is hover/active/data only.
 *
 * Scope: everything under .aicp-fund (bimber styles bare h1-h3/ul/a
 * aggressively, so every element carries a class and gets a reset).
 * Spacing system: 8px base (4/8/12/16/20/24/28/32/40/56/64).
 */

/* ─── Type ───────────────────────────────────────────────────
   Self-hosted: never hotlink Google Fonts (privacy + render-block).
   Latin subset only — company names are romanized by the prompt, and
   any CJK that slips through falls back to system fonts by design.

   'AICP Inter Tight' is NOT declared in this file (v5, 1.65.0). Its three
   @font-face rules are printed inline right after this stylesheet by
   AICP_Funding_Page::font_faces_css(), pointing at Site UI's copy of the
   same files when Site UI is active. Site UI preloads its 600 and 800 on
   every page, and until v4 this page asked for a second, byte-identical
   copy under this plugin's path: same bytes, different URL, downloaded
   twice — and ours were found late, only once this sheet was parsed.
   A static file cannot ask whether Site UI is active, so the faces moved
   into PHP. v4 stays on disk for edge-cached HTML that still names it. */

.aicp-fund {
    --fund-paper: #fdfdfe;
    --fund-ink: #0e0e12;
    --fund-body: #212127;
    --fund-mute: #62626e;
    --fund-faint: #70707c; /* was #9a9aa6 (2.78:1) until 1.63.0 — WCAG AA needs 4.5:1 */
    --fund-line: #e7e7ee;
    --fund-rule: #0e0e12;
    --fund-accent: #6c5ce7;
    --fund-accent-tint: #efedfc;
    --fund-band: #131318;
    --fund-band-ink: #f5f4fb;
    --fund-band-mute: #a3a2b3;
    --fund-band-line: rgba(255, 255, 255, 0.14);
    --fund-band-amt: #c0b5ff;

    --fund-sans: 'AICP Inter Tight', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
    --fund-serif: ui-serif, 'New York', Georgia, 'Times New Roman', serif;

    font-family: var(--fund-sans);
    font-size: 16px;
    line-height: 1.5;
    /* width:100% is load-bearing: the theme's #page wrapper is a column
       flex container, where cross-axis auto margins shrink an auto-width
       item to its content instead of stretching it — pages whose widest
       content is under 1264px (investors) rendered narrower than the
       channel front until 1.32.2. */
    width: 100%;
    max-width: 1264px;
    margin: 0 auto;
    padding: 0 32px 72px;
    box-sizing: border-box;
    color: var(--fund-body);
    -webkit-font-smoothing: antialiased;
}

.aicp-fund *,
.aicp-fund *::before,
.aicp-fund *::after {
    box-sizing: border-box;
}

/* Defensive resets against theme content styles.
   :where() keeps specificity at (0,1,0) so later single-class component
   rules win by source order — a plain `.aicp-fund h2` reset at (0,1,1)
   would silently kill every component margin (1.15.0 review finding). */
.aicp-fund :where(h1, h2, h3, p, ol, ul, dl, dt, dd, figure) {
    margin: 0;
    padding: 0;
}
.aicp-fund :where(ol, ul) {
    list-style: none;
}
.aicp-fund a {
    color: inherit;
    text-decoration: none;
    border: none;
    box-shadow: none;
}
.aicp-fund a:focus-visible {
    outline: 2px solid var(--fund-accent);
    outline-offset: 3px;
    border-radius: 2px;
}
.aicp-fund img {
    margin: 0;
    max-width: 100%;
    display: block;
}

/* ─── Preview notice ─────────────────────────────────────── */

.aicp-fund-preview-note {
    background: var(--fund-accent-tint);
    color: var(--fund-accent);
    font-size: 13px;
    font-weight: 600;
    padding: 10px 14px;
    margin: 16px 0 8px;
    border-radius: 2px;
}

/* ─── Masthead ───────────────────────────────────────────── */

.aicp-fund-masthead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
    padding: 44px 0 30px;
}
.aicp-fund-h1 {
    font-size: clamp(38px, 4.4vw, 56px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 0.98;
    color: var(--fund-ink);
    text-wrap: balance;
}
/* Serif dek against the sans display face — strict role separation is
   how every measured premium title does it. */
.aicp-fund-dek {
    font-family: var(--fund-serif);
    font-size: 18px;
    line-height: 1.5;
    color: var(--fund-mute);
    max-width: 400px;
    padding-bottom: 6px;
    text-align: right;
    /* No single-word last line (1.48.7). Browsers without support ignore it. */
    text-wrap: pretty;
}

/* ─── Sector nav — text tabs on a section rule ───────────── */

/* Megarounds is pinned OUTSIDE the scroller. Inside it, `margin-left:auto`
   does nothing once the tabs overflow (measured 2026-08-18: 134px of
   overflow at a 1280 viewport pushed the chip clean off-screen), and this
   is the channel's permanent $100M+ entry point. Sectors scroll and slide
   under the pinned chip, which paints its own background to hide them. */
/* No border-bottom here (1.30.1): the tabs and the stage rail share one
   band, closed by the stage rail's own 1px rule — an internal divider
   between them was the third hairline in ~90px (owner: 好多横线). It also
   forced the chips' margin-bottom:-1px overlap trick, which inside an
   overflow-x scroller created 1px of vertical scrollable overflow: the
   row wobbled vertically, and the active chip's 2px accent underline was
   clipped to near-invisible. Don't reintroduce either. */
.aicp-fund-nav {
    border-top: 2px solid var(--fund-rule);
    display: flex;
    align-items: stretch;
}
.aicp-fund-nav-scroll {
    display: flex;
    align-items: stretch;
    /* 24px, not 30: with the 1.29.0 short labels this is what fits the
       full 10-chip row inside 1200px with zero desktop scroll. */
    gap: 24px;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.aicp-fund-nav-scroll::-webkit-scrollbar {
    display: none;
}
.aicp-fund-nav-chip {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--fund-mute);
    padding: 13px 0 12px;
    white-space: nowrap;
    transition: color 120ms ease;
}
.aicp-fund-nav-chip:hover {
    color: var(--fund-ink);
}
/* Active underline is a text-decoration, not a border (1.32.3). The
   border version sat on the chip's box bottom — 12px padding + the line
   box's descender half put the line ~18px under the baseline, floating
   mid-band with nothing to anchor to once 1.30.1 removed the nav's own
   rule. text-decoration hugs the text (offset 6px), matches the stage
   rail's underline distance, adds zero box height (nothing for the
   overflow-x scroller to wobble over), and the two-class selector at
   (0,2,0) outranks the `.aicp-fund a` reset's text-decoration:none at
   (0,1,1). Row height needs no transparent placeholder — padding alone
   carries it, active or not. */
.aicp-fund-nav-chip.is-active {
    color: var(--fund-ink);
    text-decoration: underline;
    text-decoration-color: var(--fund-accent);
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
}
.aicp-fund-nav-chip--mega {
    flex: 0 0 auto;
    padding-left: 24px;
    color: var(--fund-accent);
    background: var(--fund-paper);
    /* Soft hand-off where scrolled tabs pass under the pinned chip. */
    box-shadow: -16px 0 14px -10px var(--fund-paper);
}
.aicp-fund-nav-chip--mega:hover {
    color: var(--fund-ink);
}

/* ─── Stage rail — quiet second line under the tabs ───────
   Sectors and stages are different axes: merging them into one tab row
   would fight, and the tab row already overflow-scrolls. The stage pages
   existed since 1.15.0 with only footer/in-river entries — invisible
   enough that the owner didn't know they existed (1.27.0). */

.aicp-fund-stagenav {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 22px;
    padding: 11px 0;
    border-bottom: 1px solid var(--fund-line);
    font-size: 13.5px;
}
.aicp-fund-stagenav-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fund-faint);
}
.aicp-fund-stagenav a {
    font-weight: 600;
    color: var(--fund-mute);
    transition: color 120ms ease;
}
.aicp-fund-stagenav a:hover {
    color: var(--fund-ink);
}
/* New AI funds (1.44.0): same line as the stage facets, pushed to the far
   edge because it is a different kind of destination, not another facet.
   On a narrow viewport the rail wraps and this simply lands on its own
   line, still right-aligned. */
.aicp-fund-stagenav-alt {
    margin-left: auto;
}
/* Same underline treatment as the sector tabs (1.32.3) — one visual
   language for "active" across the whole nav band. */
.aicp-fund-stagenav a.is-active {
    color: var(--fund-ink);
    text-decoration: underline;
    text-decoration-color: var(--fund-accent);
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
}

/* ─── Featured zone ──────────────────────────────────────── */

.aicp-fund-featured {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 5fr);
    gap: 48px;
    padding: 36px 0 44px;
}
.aicp-fund-featured--solo {
    grid-template-columns: minmax(0, 1fr);
}

/* Kicker: the row of structured deal facts above a headline. Amount is
   the only element allowed weight 800 — it is data, not display. */
.aicp-fund-kicker {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 14px;
}
.aicp-fund-amt {
    font-weight: 800;
    color: var(--fund-ink);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.aicp-fund-kicker-sep {
    color: var(--fund-line);
}
.aicp-fund-round {
    font-weight: 600;
    color: var(--fund-body);
}
.aicp-fund-sector {
    color: var(--fund-mute);
}
a.aicp-fund-round:hover,
a.aicp-fund-sector:hover {
    color: var(--fund-accent);
}
.aicp-fund-when {
    margin-left: auto;
    color: var(--fund-faint);
    font-size: 13px;
}

.aicp-fund-lead-media {
    aspect-ratio: 16 / 9;
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 18px;
    background: #f2f2f6;
}
.aicp-fund-lead-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 30%;
}
.aicp-fund-lead-title {
    font-size: clamp(27px, 2.8vw, 36px);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.12;
    color: var(--fund-ink);
    margin: 10px 0 12px;
    text-wrap: balance;
    transition: color 120ms ease;
}
.aicp-fund-lead:hover .aicp-fund-lead-title {
    color: var(--fund-accent);
}
.aicp-fund-lead-excerpt {
    font-size: 16.5px;
    line-height: 1.6;
    color: var(--fund-mute);
    max-width: 660px;
    margin-bottom: 12px;
}

/* Investor line — structurally guaranteed on every item (1.21.0). */
.aicp-fund-inv {
    display: block;
    font-size: 14px;
    line-height: 1.45;
    color: var(--fund-mute);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aicp-fund-inv b {
    font-weight: 600;
    color: var(--fund-body);
}
.aicp-fund-inv--none {
    color: var(--fund-faint);
}

/* Secondary featured stack — text only; the lead carries the photography
   for this zone (Anthropic /news pattern). */
.aicp-fund-side-label {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fund-faint);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--fund-line);
}
.aicp-fund-side-item {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid var(--fund-line);
}
.aicp-fund-side-item:last-child {
    border-bottom: none;
}
.aicp-fund-side-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.28;
    color: var(--fund-ink);
    margin: 7px 0 6px;
    transition: color 120ms ease;
}
.aicp-fund-side-item:hover .aicp-fund-side-title {
    color: var(--fund-accent);
}
.aicp-fund-side-item .aicp-fund-inv {
    font-size: 13px;
}

/* ─── Market band (dark, full-bleed) ─────────────────────────
   Full-bleed WITHOUT layout overflow: a huge box-shadow spread paints
   past the element (shadows don't affect layout, so no scrollbar), and
   clip-path keeps that paint from bleeding vertically. `width: 100vw` +
   negative margins would overflow by the scrollbar width and give the
   page a horizontal scrollbar inside the theme wrapper. Browsers without
   clip-path degrade to a container-width band — still legible. */

.aicp-fund-band {
    background: var(--fund-band);
    color: var(--fund-band-ink);
    padding: 40px 0 44px;
    margin-bottom: 8px;
}
@supports (clip-path: inset(0 -100vmax)) {
    .aicp-fund-band {
        box-shadow: 0 0 0 100vmax var(--fund-band);
        clip-path: inset(0 -100vmax);
    }
}
.aicp-fund-band-in {
    display: grid;
    grid-template-columns: minmax(0, 4.2fr) minmax(0, 3.9fr) minmax(0, 3.9fr);
    gap: 56px;
}
.aicp-fund-band-label {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fund-band-mute);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--fund-band-line);
    margin-bottom: 6px;
}
.aicp-fund-band-more {
    letter-spacing: 0.02em;
    text-transform: none;
    font-size: 12.5px;
    color: var(--fund-band-amt);
    white-space: nowrap;
}
.aicp-fund-band-more:hover {
    color: #fff;
}

.aicp-fund-band-total {
    font-size: clamp(42px, 4.2vw, 60px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    margin: 18px 0 6px;
    color: #fff;
}
.aicp-fund-band-cap {
    font-size: 15px;
    color: var(--fund-band-mute);
    margin-bottom: 22px;
}
.aicp-fund-band-cap b {
    color: var(--fund-band-ink);
    font-weight: 600;
}
.aicp-fund-band-mini {
    display: flex;
    gap: 36px;
}
.aicp-fund-band-mini-n {
    font-size: 22px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #fff;
}
.aicp-fund-band-mini-l {
    font-size: 12.5px;
    color: var(--fund-band-mute);
    margin-top: 2px;
}
.aicp-fund-band-mini-l a:hover {
    color: var(--fund-band-amt);
}

.aicp-fund-band-list {
    counter-reset: aicp-band;
}
.aicp-fund-band-list li {
    counter-increment: aicp-band;
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 10.5px 0;
    border-bottom: 1px solid var(--fund-band-line);
    font-size: 15px;
    min-width: 0;
}
.aicp-fund-band-list li:last-child {
    border-bottom: none;
}
.aicp-fund-band-list li::before {
    content: counter(aicp-band);
    font-size: 12px;
    font-weight: 600;
    color: var(--fund-band-mute);
    font-variant-numeric: tabular-nums;
    flex: 0 0 14px;
}
.aicp-fund-band-name {
    font-weight: 600;
    color: var(--fund-band-ink);
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
a.aicp-fund-band-name:hover {
    color: var(--fund-band-amt);
}
.aicp-fund-band-val {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--fund-band-amt);
    white-space: nowrap;
}
.aicp-fund-band-val--q {
    font-weight: 600;
    color: var(--fund-band-mute);
}

/* ─── River head ─────────────────────────────────────────── */

.aicp-fund-river-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 44px 0 0;
}
.aicp-fund-river-title {
    font-size: 23px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--fund-ink);
}
.aicp-fund-river-rss {
    font-size: 13px;
    font-weight: 600;
    color: var(--fund-faint);
}
.aicp-fund-river-rss:hover {
    color: var(--fund-accent);
}

/* ─── Group separators (day / month) ─────────────────────── */

.aicp-fund-day {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fund-faint);
    padding: 30px 0 10px;
    border-bottom: 1px solid var(--fund-line);
    display: flex;
    gap: 10px;
    align-items: baseline;
}
.aicp-fund-day--today {
    color: var(--fund-accent);
}
.aicp-fund-river > .aicp-fund-day:first-child {
    padding-top: 20px;
}

/* ─── Ledger rows ────────────────────────────────────────────
   ONE skeleton, two variants. The amount column, the title start and the
   investor line sit at identical positions whether or not there is a
   photo — that shared reading line is what makes the mixed river read as
   one stream. The photo docks RIGHT: a left thumb shifts the text start
   per row, which is exactly what made the v2 mixed river look ragged.
   The image slot is founder portraits ONLY (see CLAUDE.md); generated
   Deal Cards and logo-only posts render as text rows. */

.aicp-fund-row {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr) 236px;
    gap: 28px;
    align-items: baseline;
    padding: 19px 0;
    border-bottom: 1px solid var(--fund-line);
}
.aicp-fund-row--photo {
    align-items: start;
    padding: 22px 0;
}
.aicp-fund-row-amt {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    color: var(--fund-ink);
    line-height: 1.25;
}
.aicp-fund-row--photo .aicp-fund-row-amt {
    padding-top: 2px;
}
/* Undisclosed amounts keep the column's rhythm with an em dash rather
   than collapsing the cell — a missing amount is information too. */
.aicp-fund-row-amt--none {
    color: var(--fund-faint);
    font-weight: 600;
}
/* A stated magnitude ("Tens of millions of yuan", v2026-08e) — the round
   Chinese sources actually report. Two lines at 12px so the longest form,
   "Hundreds of millions" (116px at 12px/800), stays inside the 128px
   column; the currency drops to its own line because it is the part a
   reader can skim past once the magnitude has registered. Not tabular:
   there are no digits to align, and tabular figures widen the words. */
.aicp-fund-row-amt--word {
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: 0;
    font-variant-numeric: normal;
}
.aicp-fund-row-amt--word span {
    display: block;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--fund-mute);
}
/* Country marker: a quiet link, deliberately not a filled pill. It sits
   in the row's third line beside the investors, so it must read as
   metadata rather than compete with the headline. */
.aicp-fund-cc {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 5px;
    border: 1px solid var(--fund-line);
    border-radius: 3px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--fund-mute);
    vertical-align: 1px;
    transition: color 120ms ease, border-color 120ms ease;
}
.aicp-fund-cc:hover {
    color: var(--fund-accent);
    border-color: var(--fund-accent);
}
.aicp-fund-row-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--fund-ink);
}
.aicp-fund-row-title a {
    transition: color 120ms ease;
}
.aicp-fund-row-title a:hover {
    color: var(--fund-accent);
}
.aicp-fund-row-main .aicp-fund-inv {
    margin-top: 5px;
    font-size: 13.5px;
}
.aicp-fund-row-meta {
    text-align: right;
    font-size: 13.5px;
    color: var(--fund-mute);
    line-height: 1.45;
}
.aicp-fund-row-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
/* Round · sector has two homes: the right-hand meta column on wide
   viewports, this inline copy once that column is dropped. Declared HERE,
   above the breakpoints — a base rule sitting after a media query would
   win on source order (media queries add no specificity) and silently
   hide the inline copy everywhere. */
.aicp-fund-row-inline-meta {
    display: none;
    font-size: 13px;
    color: var(--fund-mute);
    margin-top: 5px;
}
.aicp-fund-row-inline-meta a:hover {
    color: var(--fund-accent);
}
.aicp-fund-thumb {
    display: block;
    width: 216px;
    aspect-ratio: 16 / 9;
    border-radius: 2px;
    overflow: hidden;
    background: #f2f2f6;
}
.aicp-fund-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 30%;
}

.aicp-fund-empty {
    font-size: 16px;
    color: var(--fund-mute);
    padding: 40px 0;
}

/* ─── Investors page ─────────────────────────────────────── */

/* Full width, ledger scale (1.28.1) — this page kept the pre-v3 layout
   after the redesign: a 680px column under a 1264 masthead read as
   half-loaded (same defect the sector pages had before 1.26.1), and
   16px names sat below the river's 20px titles. It is also the landing
   target of the front page's Most-Active board since 1.27.0. */
.aicp-fund-investors-list > li {
    border-bottom: 1px solid var(--fund-line);
    /* Deep-link landings (#inv-<slug> from the Most-Active board) need
       breathing room above the row, or the anchor jump pins it to the
       exact viewport top. */
    scroll-margin-top: 28px;
}
.aicp-fund-investors-item summary,
.aicp-fund-investors-item--flat {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 17px 2px;
}
.aicp-fund-investors-item summary {
    cursor: pointer;
    list-style: none;
}
.aicp-fund-investors-item summary::-webkit-details-marker {
    display: none;
}
.aicp-fund-investors-name {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--fund-ink);
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aicp-fund-investors-item summary:hover .aicp-fund-investors-name {
    color: var(--fund-accent);
}
.aicp-fund-investors-rank {
    flex: 0 0 28px;
    font-size: 16px;
    font-weight: 800;
    color: var(--fund-faint);
    font-variant-numeric: tabular-nums;
}
.aicp-fund-inv-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 5px;
    border: 1px solid var(--fund-line);
    background: #fff;
    object-fit: contain;
    padding: 3px;
}
.aicp-fund-inv-icon--letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 800;
    color: var(--fund-accent);
    background: var(--fund-accent-tint);
    border-color: transparent;
}
.aicp-fund-investors-deals {
    margin-left: auto;
    font-size: 14px;
    color: var(--fund-mute);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.aicp-fund-investors-caret {
    color: var(--fund-faint);
    transition: transform 120ms ease;
    display: inline-block;
}
.aicp-fund-investors-item[open] .aicp-fund-investors-caret {
    transform: rotate(180deg);
}
/* Expanded deal rows speak the ledger's language: title left at 600,
   amount far right at 800 tabular — the full width earns its keep. */
.aicp-fund-investors-deallist {
    margin: 0 0 16px;
    padding: 0 2px 0 80px; /* aligns under the name column (rank 28 + gap 16 + icon 36) */
}
.aicp-fund-investors-deallist li {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 8px 0;
    font-size: 15px;
    min-width: 0;
}
.aicp-fund-investors-deallist a {
    color: var(--fund-body);
    font-weight: 600;
    flex: 1 1 auto;
    min-width: 0;
    transition: color 120ms ease;
}
.aicp-fund-investors-deallist a:hover {
    color: var(--fund-accent);
}
.aicp-fund-investors-deallist .aicp-fund-amt {
    font-size: 15px;
}
.aicp-fund-footnote {
    font-size: 13px;
    color: var(--fund-faint);
    margin-top: 16px;
    max-width: 620px;
    line-height: 1.6;
}

/* ─── Pagination ─────────────────────────────────────────── */

.aicp-fund-pagination {
    margin-top: 30px;
}
.aicp-fund-pagination ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
}
.aicp-fund-pagination li {
    margin: 0;
}
/* Scoped to li descendants — paginate_links' container <ul> ALSO carries
   class "page-numbers" and must not receive item sizing. */
.aicp-fund-pagination li .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 600;
    color: var(--fund-mute);
    transition: background 120ms ease;
}
.aicp-fund-pagination li a.page-numbers:hover {
    background: var(--fund-accent-tint);
    color: var(--fund-accent);
}
.aicp-fund-pagination li .page-numbers.current {
    background: var(--fund-ink);
    color: #fff;
}
.aicp-fund-pagination li .page-numbers.dots {
    color: var(--fund-faint);
}

/* Subpage ledgers run FULL width, same as the channel front (1.26.1).
   The 900px cap shipped in 1.21.0 followed Sifted's narrow sector
   column, but that reasoning predates the mixed ledger: with an amount
   column anchoring the left and photos docking right, a capped river
   under a full-width tab row reads as a half-loaded page, not a reading
   column (owner, 2026-08-18). Don't reintroduce the cap. */

/* ─── Tablet / small desktop ─────────────────────────────── */

@media (max-width: 1080px) {
    .aicp-fund {
        padding-left: 24px;
        padding-right: 24px;
    }
    .aicp-fund-featured {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
    .aicp-fund-side-label {
        margin-top: 26px;
    }
    .aicp-fund-band-in {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    .aicp-fund-band-col--total {
        grid-column: 1 / -1;
    }
    .aicp-fund-row {
        grid-template-columns: 108px minmax(0, 1fr);
    }
    .aicp-fund-row--photo {
        grid-template-columns: 108px minmax(0, 1fr) 172px;
    }
    .aicp-fund-thumb {
        width: 172px;
    }
    /* Round/sector move into the row's own meta line at this width —
       see the template's second (inline) copy. */
    .aicp-fund-row-meta {
        display: none;
    }
    .aicp-fund-row-inline-meta {
        display: block;
    }
}

/* ─── Mobile ─────────────────────────────────────────────── */

@media (max-width: 767px) {
    .aicp-fund {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 56px;
    }
    .aicp-fund-masthead {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 28px 0 20px;
    }
    .aicp-fund-dek {
        text-align: left;
        font-size: 16px;
        max-width: none;
        padding-bottom: 0;
    }
    /* Edge-to-edge scroll bleed for the tab row */
    .aicp-fund-nav {
        margin-inline: -20px;
        padding-inline: 20px;
    }
    .aicp-fund-nav-scroll {
        gap: 22px;
    }
    .aicp-fund-nav-chip--mega {
        padding-left: 16px;
    }

    .aicp-fund-featured {
        padding: 24px 0 32px;
    }
    .aicp-fund-lead-media {
        margin-bottom: 14px;
    }

    .aicp-fund-band {
        padding: 32px 0 34px;
    }
    .aicp-fund-band-in {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .aicp-fund-river-head {
        padding-top: 32px;
    }

    /* Amount spans the full width above the headline; the photo keeps a
       right dock at thumbnail scale so the text start never moves. */
    .aicp-fund-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        padding: 16px 0;
    }
    .aicp-fund-row--photo {
        grid-template-columns: minmax(0, 1fr) 128px;
        gap: 14px;
        padding: 18px 0;
    }
    .aicp-fund-row--photo .aicp-fund-row-amt {
        grid-column: 1 / -1;
        padding-top: 0;
    }
    .aicp-fund-row-amt {
        font-size: 15px;
    }
    .aicp-fund-row-title {
        font-size: 18px;
    }
    .aicp-fund-thumb {
        width: 128px;
    }
    /* Let the investor line wrap here. One nowrap line at this width
       truncates mid-name and swallows the "+N investors" tail — which is
       the part that says there were more. */
    .aicp-fund-inv {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    /* Compact pagination: prev/next + current neighborhood only.
       Gated on :has() support — without the gate, browsers lacking :has()
       would apply the hide-all rule but none of the un-hide exceptions,
       leaving no pagination at all. Fallback = full (uncompacted) list. */
    @supports selector(li:has(a)) {
        .aicp-fund-pagination li {
            display: none;
        }
        .aicp-fund-pagination li:has(.current),
        .aicp-fund-pagination li:has(.current) + li,
        .aicp-fund-pagination li:has(+ li .current),
        .aicp-fund-pagination li:has(.prev),
        .aicp-fund-pagination li:has(.next) {
            display: block;
        }
    }
    .aicp-fund-pagination li .page-numbers {
        min-width: 40px;
        height: 40px;
    }

    .aicp-fund-investors-deallist {
        padding-left: 44px; /* rank column only — the 80px desktop indent eats too much width here */
    }
}

@media (prefers-reduced-motion: reduce) {
    .aicp-fund * {
        transition: none !important;
    }
}
