/* Amergent Partners — fund pages (fondo-amergent-i.html, fondo-amergent-ii.html). Loaded after site.css.
   Both funds share every block; what changes per fund is markup (copy, figures) and the photos.
   Mobile-first: base rules for phones, then sm (480) / md (768) as needed; from lg (1024) the original
   desktop layout (identical to the design at 1440). Breakpoints are listed in css/tokens.css. */

.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Focal point of each photo (<picture class="… media-fill">, object-position). */
.fund-photo--atrio { --focus: 50% 40%; }
.fund-photo--curva { --focus: 50% 35%; }
.fund-photo--porto { --focus: 62% 55%; }
.fund-photo--obra { --focus: 50% 35%; }
.fund-photo--apreton { --focus: 58% 50%; }

/* Plus that turns into a minus when its button is expanded. */
.pm { position: relative; display: block; flex: none; width: 14px; height: 14px; }
.pm::before, .pm::after { content: ""; position: absolute; background: var(--color-text); }
.pm::before { left: 0; right: 0; top: 6px; height: 2px; }
.pm::after { top: 0; bottom: 0; left: 6px; width: 2px; transition: transform 300ms ease; }
[aria-expanded="true"] > .pm::after { transform: scaleY(0); }

/* Collapsible block driven by the aria-expanded of the button right before it. */
.collapse { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 300ms cubic-bezier(.2,.7,.2,1); }
.collapse > div { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear 300ms; }
[aria-expanded="true"] + .collapse { grid-template-rows: 1fr; }
[aria-expanded="true"] + .collapse > div { visibility: visible; transition-delay: 0s; }

/* ── Hero ───────────────────────────────────────────────────────────── */

.page-hero--fund { --hero-h: 72vh; --hero-min: 600px; }
@supports (height: 1svh) {
  .page-hero--fund { --hero-h: 72svh; }
}
.page-hero--fund .page-hero__media { opacity: 1; }
.page-hero--fund .page-hero__shade {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--color-text) 78%, transparent) 0%,
      color-mix(in srgb, var(--color-text) 35%, transparent) 38%,
      color-mix(in srgb, var(--color-text) 92%, transparent) 100%),
    linear-gradient(90deg, color-mix(in srgb, var(--color-text) 72%, transparent) 0%, transparent 65%);
}
.page-hero--fund .crumbs,
.page-hero--fund .crumbs a { color: var(--color-neutral-300); }

.fund-hero {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  gap: clamp(32px, 1.502vw + 26.38px, 48px);
  /* top padding clears the nav and the breadcrumb (196px from lg) */
  padding: calc(var(--nav-h) + var(--safe-top) + 84px) var(--pad-x) clamp(32px, 2.254vw + 23.55px, 56px);
}
.fund-hero__top { display: grid; grid-template-columns: minmax(0,1fr); align-items: end; gap: 28px; }
.fund-hero__copy { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.fund-hero__title { margin: 0 0 0 -0.05em; font-size: clamp(48px, 15vw, 72px); font-weight: 400; line-height: 0.98; letter-spacing: -0.04em; }
.fund-hero__title > span { display: block; }
.fund-hero__title > .fund-hero__sub { margin-top: 16px; font-size: max(18px, 0.34em); line-height: 1.2; letter-spacing: -0.015em; color: var(--color-neutral-300); }
.fund-hero__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

.status-chip--hero {
  gap: 10px; padding: 6px 12px; font-size: var(--fs-13); line-height: inherit; color: inherit;
  border-color: color-mix(in srgb, var(--color-bg) 45%, transparent);
}
.status-chip--hero .status-chip__dot { width: 7px; height: 7px; border: 0; background: var(--color-bg); }
.btn-light--sm { gap: 24px; padding: 14px 18px; font-size: var(--fs-14); }

/* Key figures: 2 × 2 on phones and tablets, one row of four from lg. */
.fund-hero__stats {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--color-bg) 30%, transparent);
}
.fund-hero__stat {
  display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px 0 0 16px;
  border-left: 1px solid color-mix(in srgb, var(--color-bg) 25%, transparent);
}
.fund-hero__stat:nth-child(odd) { padding-left: 0; padding-right: 12px; border-left: 0; }
.fund-hero__stat:nth-child(-n+2) { padding-bottom: 16px; border-bottom: 1px solid color-mix(in srgb, var(--color-bg) 25%, transparent); }
.fund-hero__stat dt { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-300); }
.fund-hero__stat dd { margin: 0; font-size: var(--fs-13); color: var(--color-neutral-300); }
.fund-hero__stat .fund-hero__stat-v { font-size: clamp(20px, 1.127vw + 15.78px, 32px); line-height: 1; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; color: var(--color-bg); }
.fund-hero__stat-v sup { margin-left: 3px; font-size: 13px; }

@media (min-width: 1024px) {
  .fund-hero__top { grid-template-columns: minmax(0,1fr) auto; gap: 48px; }
  .fund-hero__copy { gap: 24px; }
  .fund-hero__title { font-size: clamp(72px, 7.5vw, 120px); }

  .fund-hero__stats { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .fund-hero__stat,
  .fund-hero__stat:nth-child(odd) { padding: 20px 24px 0; border-left: 1px solid color-mix(in srgb, var(--color-bg) 25%, transparent); }
  .fund-hero__stat:nth-child(-n+2) { padding-bottom: 0; border-bottom: 0; }
  .fund-hero__stat:first-child { padding-left: 0; border-left: 0; }
}

/* ── Sections ───────────────────────────────────────────────────────── */

.fund-sec { padding: 0 var(--pad-x) var(--space-section-lg); background: var(--color-bg); }
.fund-sec--intro { padding: var(--space-section-lg) var(--pad-x) clamp(64px, 5.258vw + 44.29px, 120px); }
.fund-sec--full { padding: var(--space-section-lg) var(--pad-x); }

/* Section heading row: eyebrow + display title, optional text on the right (below it on small screens). */
.fund-head { align-items: end; }
.fund-head__title { display: flex; flex-direction: column; gap: 20px; }
.fund-head__aside { margin: 0; max-width: 60ch; font-size: 16px; line-height: 1.6; color: var(--color-neutral-700); text-wrap: pretty; }

/* Heading column on the left, content from column 6 (stacked below lg). */
.fund-split { align-items: start; row-gap: 40px; }
.fund-side { display: flex; flex-direction: column; gap: 20px; }
.fund-side__note { margin: 0; max-width: 360px; font-size: 16px; line-height: 1.6; color: var(--color-neutral-700); }

/* 01 · Investment objective + key figures (2 × 2 below lg) */
.fund-intro__text { margin: 0; max-width: 1000px; font-size: clamp(24px, 1.127vw + 19.78px, 36px); line-height: 1.28; letter-spacing: -0.02em; text-wrap: pretty; }
.fund-figs {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  margin-top: clamp(48px, 6.009vw + 25.48px, 112px); border-top: 1px solid var(--color-neutral-300);
}
.fund-fig { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 20px 0 0 16px; border-left: 1px solid var(--color-neutral-300); }
.fund-fig:nth-child(odd) { padding-left: 0; padding-right: 12px; border-left: 0; }
.fund-fig:nth-child(-n+2) { padding-bottom: 20px; border-bottom: 1px solid var(--color-neutral-300); }
/* 20px at 320 → 40px from 645 (the widest figure always fits its half column) */
.fund-fig__v { font-size: clamp(20px, 6.154vw + 0.31px, 40px); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.fund-fig__k { font-size: var(--fs-13); color: var(--color-neutral-700); }

@media (min-width: 1024px) {
  .fund-head__title { grid-column: 1 / span 6; gap: 28px; }
  .fund-head__aside { grid-column: 8 / span 5; max-width: none; }

  .fund-split { row-gap: 0; }
  .fund-side { grid-column: 1 / span 4; gap: 28px; }
  .fund-side--sticky { position: sticky; top: calc(var(--nav-h) + var(--safe-top) + var(--anchor-h) + 20px); }

  .fund-intro__label { grid-column: 1 / span 3; padding-top: 12px; }
  .fund-intro__text { grid-column: 4 / span 9; }
  .fund-figs { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .fund-fig__v { font-size: clamp(30px, 2.404vw + 5.39px, 40px); } /* four columns: 30px at 1024 → 40px at 1440 */
  .fund-fig,
  .fund-fig:nth-child(odd) { padding: 28px 28px 0; border-left: 1px solid var(--color-neutral-300); }
  .fund-fig:nth-child(-n+2) { padding-bottom: 0; border-bottom: 0; }
  .fund-fig:first-child { padding-left: 0; border-left: 0; }
}

/* ── 02 · Quota value: figure, range pills, chart, data table ───────── */

.quota {
  row-gap: 40px; margin-top: clamp(40px, 1.502vw + 34.38px, 56px); padding-top: clamp(28px, 1.127vw + 23.78px, 40px);
  border-top: 1px solid var(--color-text);
}
.quota__info { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.quota__label { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-800); }
/* fondo.js scales the figure down when it would not fit its column (long values run into the chart). */
.quota__big {
  font-size: clamp(40px, 10vw, 56px); font-weight: 300; line-height: 0.95; letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.quota__sym { margin-right: 6px; font-size: 0.42em; letter-spacing: -0.01em; }
.quota__date { font-size: var(--fs-15); color: var(--color-neutral-800); }
.quota__meta { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; }
.quota__meta[hidden] { display: none; }
.quota__chip {
  display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: var(--fs-14);
  border: 1px solid var(--color-text); font-variant-numeric: tabular-nums; white-space: nowrap;
}
/* Below lg the button is a 44px touch target; its rule becomes a text underline so the label stays centred on the chip. */
.quota__how {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0; background: transparent; border: 0;
  font-family: inherit; font-size: var(--fs-13); white-space: nowrap; text-align: left; color: var(--color-text); cursor: pointer;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
}
.quota__how-text { margin: 0; padding: 14px 16px; font-size: var(--fs-14); line-height: 1.55; color: var(--color-neutral-800); background: var(--color-surface); text-wrap: pretty; }
.quota__empty { margin: 0; font-size: 16px; line-height: 1.55; color: var(--color-neutral-800); }
.quota__links { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--color-neutral-300); }
.quota__links > span { display: flex; gap: 4px 20px; flex-wrap: wrap; }
.link-thin--sm { gap: 8px; padding-bottom: 3px; white-space: nowrap; }

.quota__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.quota__note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--color-neutral-700); }

/* Range pills: a full-width row of 44px buttons on phones, the original compact group from md/lg. */
.range-pills { display: flex; justify-content: flex-end; }
.range-pills button {
  flex: 1 1 0; min-width: 0; min-height: 44px; padding: 9px 8px; margin-left: -1px;
  border: 1px solid var(--color-text); background: var(--color-bg); color: var(--color-text);
  font-family: inherit; font-size: var(--fs-13); letter-spacing: 0.04em; cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}
.range-pills button[aria-pressed="true"] { background: var(--color-text); color: var(--color-bg); }
.range-pills button:disabled { opacity: 0.4; cursor: not-allowed; }
.range-pills button:focus-visible { position: relative; z-index: 1; }

/* Chart. From lg: SVG in an 800 × 340 viewBox scaled to its column. Below lg fondo.js draws it 1:1 at the
   chart's pixel width (taller, fewer date ticks). Text labels are HTML laid over it in percentages.
   Horizontal drags show the tooltip on touch screens; vertical drags still scroll the page. */
.qchart { position: relative; touch-action: pan-y pinch-zoom; -webkit-tap-highlight-color: transparent; }
.qchart__svg { display: block; width: 100%; height: auto; overflow: visible; }
.qchart__grid line { stroke: var(--color-neutral-300); stroke-width: 1; }
.qchart__ticks line, .qchart__axis { stroke: var(--color-neutral-500); stroke-width: 1; }
.qchart__line { fill: none; stroke: var(--color-text); stroke-width: 1.5; stroke-linejoin: round; }
.qchart__last { fill: var(--color-text); }
.qchart__guide { stroke: var(--color-text); stroke-width: 1; stroke-dasharray: 3 3; }
.qchart__dot { fill: var(--color-bg); stroke: var(--color-text); stroke-width: 1.5; }
.qchart__labels { position: absolute; inset: 0; pointer-events: none; font-variant-numeric: tabular-nums; }
.qchart__labels > span { position: absolute; font-size: 12px; color: var(--color-neutral-700); white-space: nowrap; }
.qchart__labels > .qchart__y { right: 92.5%; transform: translateY(-50%); }
.qchart__labels > .qchart__x { top: 95.9%; transform: translate(-50%, -50%); }
.qchart__labels > .qchart__lastv { transform: translateY(-100%); font-size: 13px; color: var(--color-text); }
.qchart__tip {
  position: absolute; top: 0; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px;
  background: var(--color-text); color: var(--color-bg); font-size: 13px; pointer-events: none; white-space: nowrap;
}
.qchart__tip-d { color: var(--color-neutral-300); }
.qchart__tip-v { font-size: 16px; font-variant-numeric: tabular-nums; }
.qchart__empty { position: absolute; left: 9%; right: 0; top: 0; bottom: 12%; display: flex; align-items: center; justify-content: center; }
.qchart__empty > span { padding: 10px 14px; font-size: 15px; color: var(--color-neutral-800); background: var(--color-bg); }
.qchart__tip[hidden], .qchart__empty[hidden] { display: none; }

.qtable { border-top: 1px solid var(--color-text); }
.qtable__toggle {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0;
  background: transparent; border: 0; font-family: inherit; font-size: var(--fs-15); text-align: left; color: var(--color-text); cursor: pointer;
}
.qtable__toggle > span:first-child { white-space: nowrap; }
.qtable table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.qtable th {
  padding: 10px 0; text-align: left; font-size: 12px; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--color-neutral-800); border-bottom: 1px solid var(--color-neutral-300);
}
.qtable td { padding: 10px 0; font-size: var(--fs-15); border-bottom: 1px solid var(--color-neutral-300); }
.qtable th + th, .qtable td + td { padding-left: 16px; text-align: right; white-space: nowrap; }
.qtable__more {
  margin: 20px 0; min-height: 44px; padding: 10px 14px; background: transparent; border: 1px solid var(--color-text);
  font-family: inherit; font-size: var(--fs-13); color: var(--color-text); cursor: pointer;
}
/* Inside the collapsible (overflow: hidden) focus rings are drawn inwards so they are not cut off. */
.qtable .table-scroll:focus-visible,
.qtable__more:focus-visible { outline-offset: -2px; }

@media (min-width: 768px) {
  .range-pills button { flex: none; min-width: 56px; padding: 9px 14px; }
}

@media (min-width: 1024px) {
  .quota { row-gap: 0; }
  .quota__info { grid-column: 1 / span 4; }
  .quota__big { font-size: clamp(56px, 5.4vw, 84px); }
  .quota__meta { gap: 14px; }
  .quota__how {
    display: inline-block; min-height: 0; padding: 0 0 2px; border-bottom: 1px solid var(--color-text); text-decoration: none;
  }
  .quota__links { gap: 14px; padding-top: 24px; }
  .quota__links > span { gap: 20px; }
  .quota__main { grid-column: 5 / span 8; }
  .quota__note { font-size: 12px; line-height: inherit; }
  .range-pills button { min-height: 0; }
  .qtable th + th, .qtable td + td { padding-left: 0; white-space: normal; }
  .qtable__more { min-height: 0; }
}

/* ── 03 · Technical sheet ───────────────────────────────────────────── */

.spec-list { margin: 0; border-top: 1px solid var(--color-text); }
.spec-list > div {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; padding: 16px 0;
  border-bottom: 1px solid var(--color-neutral-300);
}
.spec-list dt { font-size: 12px; line-height: 1.5; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-800); }
.spec-list dd { margin: 0; font-size: 16px; line-height: 1.55; color: var(--color-text); text-wrap: pretty; }

@media (min-width: 480px) {
  .spec-list > div { grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: 24px; padding: 20px 0; }
}

@media (min-width: 1024px) {
  .spec-list { grid-column: 6 / span 7; }
}

/* ── 04 · Asset / portfolio band ────────────────────────────────────── */

.fund-asset {
  position: relative; display: flex; flex-direction: column; min-height: 480px; overflow: hidden;
  background: var(--color-text); color: var(--color-bg);
}
.fund-asset__img { position: absolute; inset: 0; }
/* Below lg the title runs across most of the photo: an extra top-down shade keeps it legible. */
.fund-asset__shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--color-text) 70%, transparent) 0%,
      color-mix(in srgb, var(--color-text) 35%, transparent) 40%, transparent 65%),
    linear-gradient(90deg,
      color-mix(in srgb, var(--color-text) 85%, transparent) 0%,
      color-mix(in srgb, var(--color-text) 40%, transparent) 45%, transparent 70%),
    linear-gradient(0deg, color-mix(in srgb, var(--color-text) 60%, transparent) 0%, transparent 40%);
}
.fund-asset__body {
  position: relative; flex: 1 0 auto; display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
  padding: clamp(64px, 4.507vw + 47.1px, 112px) var(--pad-x) clamp(32px, 2.254vw + 23.55px, 56px);
}
.fund-asset__head { display: flex; flex-direction: column; gap: 20px; max-width: 620px; }
.fund-asset .muted { color: var(--color-neutral-500); }
.fund-asset__foot {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 8px 32px; padding-top: 20px;
  border-top: 1px solid color-mix(in srgb, var(--color-bg) 30%, transparent);
}
.fund-asset__place { font-size: var(--fs-15); }
.fund-asset__use { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-300); }

@media (min-width: 768px) {
  .fund-asset { min-height: 560px; }
}

@media (min-width: 1024px) {
  .fund-asset { min-height: max(640px, 86vh); min-height: max(640px, 86svh); }
  .fund-asset__shade {
    background:
      linear-gradient(90deg,
        color-mix(in srgb, var(--color-text) 85%, transparent) 0%,
        color-mix(in srgb, var(--color-text) 40%, transparent) 45%, transparent 70%),
      linear-gradient(0deg, color-mix(in srgb, var(--color-text) 60%, transparent) 0%, transparent 40%);
  }
  .fund-asset__head { gap: 28px; }
}

/* ── 05 · Investment committee (Amergent II) ────────────────────────── */

.committee {
  display: grid; grid-template-columns: minmax(0,1fr);
  margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-text);
}
.committee li { display: flex; align-items: baseline; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--color-neutral-300); }
.committee__n { font-size: 12px; letter-spacing: 0.1em; color: var(--color-neutral-700); font-variant-numeric: tabular-nums; }
.committee__name { font-size: clamp(19px, 0.282vw + 17.94px, 22px); line-height: 1.25; letter-spacing: -0.01em; }

@media (min-width: 768px) {
  .committee { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .committee li { padding: 24px 24px 24px 0; }
  .committee li:nth-child(even) { padding: 24px 0 24px 24px; border-left: 1px solid var(--color-neutral-300); }
}

@media (min-width: 1024px) {
  .committee { grid-column: 6 / span 7; }
}

/* ── Document library: category list + year accordions ──────────────── */

/* Phones: categories stacked (two columns on md), the documents below; a document row shows its month above
   the title, format and icon on the right. From lg: categories in a sticky column beside the documents. */
.doclib {
  align-items: start; row-gap: 32px;
  margin-top: clamp(48px, 3.005vw + 36.73px, 80px); padding-top: clamp(24px, 0.751vw + 21.19px, 32px);
  border-top: 1px solid var(--color-text);
}
.doclib__cats { display: flex; flex-direction: column; min-width: 0; }
.doclib__cat {
  display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 14px;
  min-height: 48px; padding: 12px 16px 12px 0;
  background: transparent; border: 0; border-bottom: 1px solid var(--color-neutral-300);
  font-family: inherit; font-size: var(--fs-15); text-align: left; color: var(--color-neutral-700); cursor: pointer;
  transition: color 250ms ease;
}
.doclib__cat[aria-pressed="true"] { color: var(--color-text); }
.doclib__dot { display: block; width: 6px; height: 6px; transition: background 250ms ease; }
.doclib__cat[aria-pressed="true"] .doclib__dot { background: var(--color-text); }
.doclib__n { font-size: 12px; color: var(--color-neutral-700); font-variant-numeric: tabular-nums; }

.doclib__main { display: flex; flex-direction: column; min-width: 0; }
.doclib__panel { scroll-margin-top: calc(var(--nav-h) + var(--safe-top) + var(--anchor-h) + 16px); }
.doclib__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 20px; }
.doclib__title { min-width: 0; font-size: clamp(24px, 0.563vw + 21.9px, 30px); line-height: 1.15; letter-spacing: -0.02em; }
.doclib__count { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-700); white-space: nowrap; }
.doclib__year { border-top: 1px solid var(--color-text); }
.doclib__year-btn {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0;
  background: transparent; border: 0; font-family: inherit; text-align: left; color: var(--color-text); cursor: pointer;
}
.doclib__year-l { display: flex; align-items: baseline; gap: 16px; }
.doclib__y { font-size: clamp(20px, 0.188vw + 19.3px, 22px); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.doclib__year-n { font-size: var(--fs-13); color: var(--color-neutral-700); }
.doclib__doc {
  display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 2px 16px;
  min-height: 56px; padding: 14px 0;
  text-decoration: none; color: var(--color-text); border-top: 1px solid var(--color-neutral-300);
  transition: background 250ms ease, padding 300ms ease;
}
.doclib__doc > .doclib__m { grid-column: 1; grid-row: 1; }
.doclib__doc > .doclib__t { grid-column: 1; grid-row: 2; }
.doclib__doc > .doclib__fmt { grid-column: 2; grid-row: 1 / span 2; }
.doclib__doc > .ic { grid-column: 3; grid-row: 1 / span 2; }
.doclib__doc:focus-visible { outline-offset: -2px; }
.doclib__m { font-size: var(--fs-13); color: var(--color-neutral-700); font-variant-numeric: tabular-nums; }
.doclib__t { font-size: 16px; line-height: 1.4; }
.doclib__fmt { font-size: 12px; letter-spacing: 0.1em; color: var(--color-neutral-700); }
.doclib__note { display: block; padding-top: 20px; border-top: 1px solid var(--color-text); font-size: var(--fs-13); color: var(--color-neutral-700); }

@media (min-width: 768px) {
  .doclib__cats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 24px; }
  .doclib__head { gap: 24px; }
  .doclib__doc { grid-template-columns: 120px minmax(0,1fr) auto auto; gap: 24px; min-height: 0; padding: 16px 0; }
  .doclib__doc > .doclib__m,
  .doclib__doc > .doclib__t,
  .doclib__doc > .doclib__fmt,
  .doclib__doc > .ic { grid-column: auto; grid-row: auto; }
}

@media (min-width: 1024px) {
  .doclib { row-gap: 0; }
  .doclib__cats {
    grid-column: 1 / span 4; position: sticky; top: calc(var(--nav-h) + var(--safe-top) + var(--anchor-h) + 20px);
    display: flex; flex-direction: column;
  }
  .doclib__cat { min-height: 0; padding: 13px 16px 13px 0; }
  .doclib__main { grid-column: 6 / span 7; }
}

/* ── Regulatory note (adds a footnote under the shared text) ─────────── */

.reg-note__grid { align-items: start; }
.reg-note__body { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.reg-note__foot { margin: 0; font-size: var(--fs-13); line-height: 1.6; color: var(--color-neutral-700); }

@media (min-width: 1024px) {
  .reg-note__body { grid-column: 4 / span 8; }
}

/* ── How to invest band ─────────────────────────────────────────────── */

/* Phones: copy on top, the slanted photo as a band below it; steps in one column (2 × 2 from sm).
   From lg: copy in eight columns beside the photo. */
.fund-invest__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; padding-bottom: 24px; }
.fund-invest { gap: 0; background: var(--color-text); color: var(--color-bg); }
.fund-invest__copy {
  display: flex; flex-direction: column; justify-content: space-between; gap: clamp(40px, 3.005vw + 28.73px, 72px); min-width: 0;
  padding: clamp(40px, 2.254vw + 31.55px, 64px) clamp(24px, 0.751vw + 21.19px, 32px) clamp(32px, 1.502vw + 26.38px, 48px) clamp(24px, 3.005vw + 12.73px, 56px);
}
.fund-invest__intro { display: flex; flex-direction: column; gap: 24px; }
.fund-invest__title { margin: 0 0 0 -0.04em; font-size: clamp(34px, 2.817vw + 23.44px, 64px); font-weight: 400; line-height: 1.02; letter-spacing: -0.03em; }
.fund-invest__title > span { display: block; }
.fund-invest__title > .muted { color: var(--color-neutral-500); }
.fund-invest__lead { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.6; color: var(--color-neutral-300); text-wrap: pretty; }
.fund-invest__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.btn-light--invest { gap: 28px; padding: 15px 20px; font-size: var(--fs-15); }
.fund-invest__link {
  display: flex; align-items: flex-end; gap: 10px; min-height: 44px; padding-bottom: 4px; white-space: nowrap;
  font-size: var(--fs-15); font-weight: 600; text-decoration: none; color: var(--color-bg); border-bottom: 1px solid var(--color-bg);
}
.fund-invest__link .ic { margin-bottom: 4px; }
.fund-invest__photo { height: clamp(200px, 52vw, 380px); }

.fund-steps {
  display: grid; grid-template-columns: minmax(0,1fr); max-width: 720px;
  margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-neutral-700);
}
.fund-steps li { display: flex; flex-direction: column; gap: 8px; padding: 20px 0; }
.fund-steps li + li { border-top: 1px solid var(--color-neutral-700); }
.fund-steps__n { font-size: 12px; letter-spacing: 0.1em; color: var(--color-neutral-400); }
.fund-steps__t { font-size: 18px; line-height: 1.2; letter-spacing: -0.01em; white-space: nowrap; }
.fund-steps__d { font-size: var(--fs-14); line-height: 1.5; color: var(--color-neutral-300); text-wrap: pretty; }

.fund-facts { display: grid; grid-template-columns: minmax(0,1fr); margin: 0; border-bottom: 1px solid var(--color-neutral-300); }
.fund-facts > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 20px 0; }
.fund-facts > div + div { border-top: 1px solid var(--color-neutral-300); }
.fund-facts dt { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-neutral-800); }
.fund-facts dd { margin: 0; font-size: 17px; line-height: 1.4; color: var(--color-text); text-wrap: pretty; }

@media (min-width: 480px) {
  .fund-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fund-steps li { padding: 24px 24px 24px 0; }
  .fund-steps li + li { border-top: 0; }
  .fund-steps li:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--color-neutral-700); }
  .fund-steps li:nth-child(-n+2) { border-bottom: 1px solid var(--color-neutral-700); }

  .fund-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fund-facts > div { padding: 24px 0 24px 24px; border-left: 1px solid var(--color-neutral-300); }
  .fund-facts > div + div { border-top: 0; }
  .fund-facts > div:nth-child(odd) { padding-left: 0; padding-right: 16px; border-left: 0; }
  .fund-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--color-neutral-300); }
}

@media (min-width: 1024px) {
  .fund-invest { gap: 0 24px; }
  .fund-invest__copy { grid-column: 1 / span 8; min-height: 600px; }
  .fund-invest__link { align-items: center; min-height: 0; }
  .fund-invest__link .ic { margin-bottom: 0; }
  .fund-invest__photo { grid-column: 9 / span 4; height: auto; }

  .fund-facts { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .fund-facts > div,
  .fund-facts > div:nth-child(odd) { padding: 28px 24px; border-left: 1px solid var(--color-neutral-300); }
  .fund-facts > div:nth-child(-n+2) { border-bottom: 0; }
  .fund-facts > div:first-child { padding-left: 0; border-left: 0; }
}

/* ── Hover (pointer devices only) ───────────────────────────────────── */

@media (hover: hover) {
  .page-hero--fund .crumbs a:hover { color: var(--color-bg); }
  .link-thin--sm:hover { color: var(--color-neutral-700); }
  .doclib__cat:hover { color: var(--color-text); }
  .doclib__doc:hover { padding: 16px 12px; background: var(--color-surface); color: var(--color-text); }
  .fund-invest__link:hover { color: var(--color-neutral-300); }
}

/* ── Reduced motion ─────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .pm::after, .collapse, .collapse > div, .doclib__doc, .doclib__cat, .doclib__dot, .range-pills button { transition: none; }
}
