/**
 * Funding channel pages — frontend styles (v3, 1.21.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. */

@font-face {
    font-family: 'AICP Inter Tight';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter-tight-400.woff2') format('woff2');
}
@font-face {
    font-family: 'AICP Inter Tight';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter-tight-600.woff2') format('woff2');
}
@font-face {
    font-family: 'AICP Inter Tight';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/inter-tight-800.woff2') format('woff2');
}

.aicp-fund {
    --fund-paper: #fdfdfe;
    --fund-ink: #0e0e12;
    --fund-body: #212127;
    --fund-mute: #62626e;
    --fund-faint: #9a9aa6;
    --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;
}

/* ─── 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);
}
/* 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;
}
.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;
    }
}
