/* pages.css — secondary-page layouts.
   Uses tokens.css variables and the component vocabulary from components.css.
   v9 stays the homepage; this file styles About, Investors, Innovators,
   Portfolio, Connect, and the article detail pages. */

/* ============ PAGE BASE ============ */
.page {
  padding-top: 96px; /* clear the fixed nav */
}
.page-hero {
  padding: 120px 48px 96px;
  background: linear-gradient(180deg, var(--navy-deepest) 0%, var(--navy) 100%);
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 20%, rgba(0, 156, 222, 0.10) 0%, transparent 60%);
  pointer-events: none;
}
.page-hero-inner {
  max-width: 1100px; margin: 0 auto; position: relative; z-index: 1;
}
.page-hero-title {
  font-family: var(--display);
  font-size: clamp(40px, 6vw, 72px);
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 24px 0 32px;
  max-width: 22ch;
}
.page-hero-lede {
  font-size: 19px; line-height: 1.6; max-width: 60ch;
  color: var(--text-muted);
  font-weight: 300;
}
.page-hero-lede + .page-hero-lede {
  margin-top: 20px;
}
.page-hero-actions {
  margin-top: 40px;
  display: flex; gap: 14px; flex-wrap: wrap;
}

/* ============ CTA BUTTONS ============ */
.cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.02em;
  padding: 14px 24px;
  border-radius: 100px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all .25s ease;
  white-space: nowrap;
  font-family: var(--body);
}
.cta-btn-primary {
  background: var(--brand-blue); color: var(--navy);
  border-color: var(--brand-blue);
}
.cta-btn-primary:hover {
  background: var(--brand-blue-soft); border-color: var(--brand-blue-soft);
}
.cta-btn-secondary {
  background: transparent; color: var(--white);
  border-color: var(--line-strong);
}
.cta-btn-secondary:hover {
  background: rgba(255,255,255,0.06); border-color: var(--white);
}
/* Larger CTA — used on the Innovators "Apply for funding" big button. */
.cta-btn-lg {
  font-size: 17px;
  padding: 22px 36px;
  letter-spacing: 0.01em;
}
.cta-btn-lg svg { width: 16px; height: 16px; }

/* ============ ABOUT — HERO (heading left + body right) ============ */
.about-hero { padding: 96px 48px 48px; }
.about-hero-inner {
  max-width: 1400px; margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.about-h1 {
  font-family: var(--display);
  font-size: clamp(32px, 4.2vw, 56px);
  font-weight: 300; letter-spacing: -0.02em; line-height: 1.1;
  margin: 0;
  max-width: 22ch;
}
.about-hero-body { padding-top: 12px; }
.about-hero-body p {
  font-size: 16px; line-height: 1.65; color: var(--text-muted);
  font-weight: 300; margin: 0 0 18px;
  max-width: 60ch;
}
.about-hero-body p:last-child { margin-bottom: 0; }
.about-hero-body p strong { color: var(--white); font-weight: 600; }

/* ============ ABOUT — TEAM TILE WALL ============ */
.team {
  padding: 0 48px 96px;
  background: var(--navy);
}
.team-inner { max-width: 1400px; margin: 0 auto; }
.team-inner > .section-label {
  margin: 0 auto 16px;
  display: inline-flex;
  justify-content: center;
}
.team-header {
  text-align: center;
  margin-bottom: 56px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

/* Each tile is a button (clickable) — equal size and weight. */
.team-card {
  position: relative;
  aspect-ratio: 4 / 5;
  background: var(--navy-deep);
  border: none;
  padding: 0;
  border-radius: 4px;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
  transition: transform .35s ease;
}
.team-card:hover { transform: translateY(-2px); }
.team-card:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 2px; }

/* Two stacked photos: duotone (default) on z-index 0, full colour on z-index 1.
   Colour fades in on hover, swapping the duotone underneath. */
.team-card .team-img-duo,
.team-card .team-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center 22%;
  background-repeat: no-repeat;
  background-color: var(--navy-deepest);
  transition: opacity .35s ease, transform .55s ease;
}
.team-card .team-img-duo { z-index: 0; opacity: 1; }
.team-card .team-img     { z-index: 1; opacity: 0; }
.team-card:hover .team-img-duo,
.team-card:focus-visible .team-img-duo { opacity: 0; }
.team-card:hover .team-img,
.team-card:focus-visible .team-img { opacity: 1; transform: scale(1.03); }

.team-card .team-tint {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg,
    rgba(0, 13, 20, 0.10) 0%,
    rgba(0, 13, 20, 0.20) 45%,
    rgba(0, 13, 20, 0.92) 100%);
}
.team-card .team-content {
  position: absolute; inset: auto 0 0 0; z-index: 3;
  padding: 22px;
  display: flex; flex-direction: column;
}
.team-card .team-name {
  font-family: var(--display);
  font-size: 22px; font-weight: 600; letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--white);
  margin: 0 0 8px;
  display: block;
}
.team-card .team-role {
  font-family: var(--mono);
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 10px;
}
.team-card .team-bio {
  font-size: 13px; line-height: 1.5;
  color: rgba(255,255,255,0.78);
  font-weight: 300;
  margin: 0;
  opacity: 0; max-height: 0;
  overflow: hidden;
  transition: opacity .3s ease, max-height .35s ease;
  display: block;
}
.team-card:hover .team-bio,
.team-card:focus-within .team-bio {
  opacity: 1;
  max-height: 200px;
  margin-top: 4px;
}

/* ============ ABOUT — TEAM MODAL ============ */
dialog.team-modal {
  border: 1px solid var(--line-strong);
  background: var(--navy-deep);
  color: var(--text);
  max-width: 1100px;
  width: calc(100% - 48px);
  padding: 0;
  border-radius: 6px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  /* Centre on viewport (override any browser default top-justify) */
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  max-height: calc(100vh - 96px);
  overflow: hidden;
  /* Smooth open/close */
  opacity: 0;
  transition: opacity .25s ease;
}
dialog.team-modal[open] { opacity: 1; }
dialog.team-modal::backdrop {
  background: rgba(0,13,20,0.78);
  backdrop-filter: blur(8px);
}
.team-modal-close {
  position: absolute; top: 16px; right: 20px; z-index: 10;
  background: rgba(0,13,20,0.55); border: 1px solid var(--line-strong);
  width: 36px; height: 36px; border-radius: 50%;
  font-size: 22px; line-height: 1; color: var(--white);
  cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s ease, border-color .2s ease;
}
.team-modal-close:hover {
  background: rgba(0,156,222,0.22); border-color: var(--brand-blue);
}
.team-modal-body {
  display: flex;
  align-items: flex-start;
  max-height: calc(100vh - 96px);
}
.team-modal-photo {
  flex: 0 0 480px;
  aspect-ratio: 1 / 1;
  background-size: cover; background-position: center;
  background-color: var(--navy-deepest);
}
/* JD's cropped source has him on the far-left of the 800x800 frame.
   Card uses a tighter aspect, so anchor it left. Modal shows the full
   square so the default centered position is fine. */
.team-card .team-img.bg-team-jd-sheard,
.team-card .team-img-duo.bg-team-jd-sheard-duo { background-position: left center; }
.team-modal-content {
  flex: 1 1 0;
  min-width: 0;
  padding: 36px 36px 36px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
}
.team-modal-name {
  font-family: var(--display);
  font-size: 28px; font-weight: 600; letter-spacing: -0.01em;
  margin: 6px 0 12px;
}
.team-modal-meta {
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 20px;
  font-weight: 300;
}
.team-modal-meta b {
  font-family: var(--mono);
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-blue); font-weight: 500;
}
.team-modal-bio p {
  font-size: 14px; line-height: 1.6; color: var(--text);
  font-weight: 300; margin: 0 0 14px;
}
.team-modal-bio p:last-child { margin-bottom: 24px; }
.team-modal-linkedin {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  font-family: var(--body); font-size: 13px; font-weight: 600;
  color: var(--white);
  transition: border-color .2s ease, background .2s ease;
}
.team-modal-linkedin svg { width: 16px; height: 16px; }
.team-modal-linkedin:hover {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: var(--navy);
}

@media (max-width: 640px) {
  dialog.team-modal {
    width: calc(100% - 24px); max-height: calc(100vh - 48px);
  }
  .team-modal-body { flex-direction: column; }
  .team-modal-photo { flex: 0 0 auto; width: 100%; aspect-ratio: 1/1; }
  .team-modal-content { max-height: none; }
}

/* Headshot bindings — generated from the photo-processing pass.
   Each .bg-team-{slug} resolves AVIF → WebP → JPEG via image-set(). */
/* Headshot bindings — colour AND duotone variants. The colour variant is
   the one that fades in on hover; the duotone is the default-state photo.
   Same image-set chain (AVIF → WebP → JPEG) is used by the modal too. */
.bg-team-jd-sheard            { background-image: url('../images/team/jd-sheard.jpg'); }
.bg-team-josh-garratt         { background-image: url('../images/team/josh-garratt.jpg'); }
.bg-team-brad-feld            { background-image: url('../images/team/brad-feld.jpg');            background-image: image-set(url('../images/team/brad-feld.avif')            type('image/avif'), url('../images/team/brad-feld.webp')            type('image/webp'), url('../images/team/brad-feld.jpg')            type('image/jpeg')); }
.bg-team-sarah-shelton        { background-image: url('../images/team/sarah-shelton.jpg'); }
.bg-team-ava                  { background-image: url('../images/team/ava.jpg'); }
.bg-team-gina-woodman         { background-image: url('../images/team/gina-woodman.jpg'); }
.bg-team-sonya-brocklehurst   { background-image: url('../images/team/sonya-brocklehurst.jpg');   background-image: image-set(url('../images/team/sonya-brocklehurst.avif')   type('image/avif'), url('../images/team/sonya-brocklehurst.webp')   type('image/webp'), url('../images/team/sonya-brocklehurst.jpg')   type('image/jpeg')); }
.bg-team-dr-roger-voyle       { background-image: url('../images/team/dr-roger-voyle.jpg');       background-image: image-set(url('../images/team/dr-roger-voyle.avif')       type('image/avif'), url('../images/team/dr-roger-voyle.webp')       type('image/webp'), url('../images/team/dr-roger-voyle.jpg')       type('image/jpeg')); }
.bg-team-greg-riebe           { background-image: url('../images/team/greg-riebe.jpg');           background-image: image-set(url('../images/team/greg-riebe.avif')           type('image/avif'), url('../images/team/greg-riebe.webp')           type('image/webp'), url('../images/team/greg-riebe.jpg')           type('image/jpeg')); }
.bg-team-sneha-rajan          { background-image: url('../images/team/sneha-rajan.jpg');          background-image: image-set(url('../images/team/sneha-rajan.avif')          type('image/avif'), url('../images/team/sneha-rajan.webp')          type('image/webp'), url('../images/team/sneha-rajan.jpg')          type('image/jpeg')); }
.bg-team-scarlett-mcdermott   { background-image: url('../images/team/scarlett-mcdermott.jpg');   background-image: image-set(url('../images/team/scarlett-mcdermott.avif')   type('image/avif'), url('../images/team/scarlett-mcdermott.webp')   type('image/webp'), url('../images/team/scarlett-mcdermott.jpg')   type('image/jpeg')); }
.bg-team-jo-chaturvedi-durant { background-image: url('../images/team/jo-chaturvedi-durant.jpg'); background-image: image-set(url('../images/team/jo-chaturvedi-durant.avif') type('image/avif'), url('../images/team/jo-chaturvedi-durant.webp') type('image/webp'), url('../images/team/jo-chaturvedi-durant.jpg') type('image/jpeg')); }
.bg-team-laura-ashmole        { background-image: url('../images/team/laura-ashmole.jpg');        background-image: image-set(url('../images/team/laura-ashmole.avif')        type('image/avif'), url('../images/team/laura-ashmole.webp')        type('image/webp'), url('../images/team/laura-ashmole.jpg')        type('image/jpeg')); }
.bg-team-katie-rothert        { background-image: url('../images/team/katie-rothert.jpg'); }
/* Duotone variants */
.bg-team-jd-sheard-duo            { background-image: url('../images/team/jd-sheard-duo.jpg'); }
.bg-team-josh-garratt-duo         { background-image: url('../images/team/josh-garratt-duo.jpg'); }
.bg-team-brad-feld-duo            { background-image: url('../images/team/brad-feld-duo.jpg'); }
.bg-team-sarah-shelton-duo        { background-image: url('../images/team/sarah-shelton-duo.jpg'); }
.bg-team-ava-duo                  { background-image: url('../images/team/ava-duo.jpg'); }
.bg-team-gina-woodman-duo         { background-image: url('../images/team/gina-woodman-duo.jpg'); }
.bg-team-sonya-brocklehurst-duo   { background-image: url('../images/team/sonya-brocklehurst-duo.jpg'); }
.bg-team-dr-roger-voyle-duo       { background-image: url('../images/team/dr-roger-voyle-duo.jpg'); }
.bg-team-greg-riebe-duo           { background-image: url('../images/team/greg-riebe-duo.jpg'); }
.bg-team-sneha-rajan-duo          { background-image: url('../images/team/sneha-rajan-duo.jpg'); }
.bg-team-scarlett-mcdermott-duo   { background-image: url('../images/team/scarlett-mcdermott-duo.jpg'); }
.bg-team-jo-chaturvedi-durant-duo { background-image: url('../images/team/jo-chaturvedi-durant-duo.jpg'); }
.bg-team-laura-ashmole-duo        { background-image: url('../images/team/laura-ashmole-duo.jpg'); }
.bg-team-katie-rothert-duo        { background-image: url('../images/team/katie-rothert-duo.jpg'); }

/* ============ ABOUT — VALUES LIST ============ */
.values {
  padding: 96px 48px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.values-inner { max-width: 1100px; margin: 0 auto; }
.values-list {
  list-style: none;
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  border-top: 1px solid var(--line);
}
.values-list li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
  align-items: baseline;
}
.values-num {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 0.18em;
  color: var(--brand-blue);
}
.values-body {
  font-size: 17px; line-height: 1.6; font-weight: 300;
  color: var(--text);
}
.values-body b { font-weight: 600; }

/* ============ ABOUT — ARTICLES GRID ============ */
.articles {
  padding: 96px 48px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.articles-inner { max-width: 1400px; margin: 0 auto; }
.articles-header {
  display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap;
  gap: 24px; margin-bottom: 40px;
}
.articles-header-centered {
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.articles-header-centered .section-label {
  margin: 0 auto 16px;
  display: inline-flex;
  justify-content: center;
}
.articles-header-centered .articles-h2 {
  margin: 0;
  max-width: 24ch;
}
.articles-footer {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
.articles-h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 300; letter-spacing: -0.02em; line-height: 1.15;
  margin: 16px 0 0; max-width: 28ch;
}
.articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 24px;
}
.article-card {
  background: var(--navy-deep);
  border: 1px solid var(--line);
  border-radius: 4px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: border-color .25s ease, transform .25s ease;
}
.article-card:hover {
  border-color: var(--brand-blue);
  transform: translateY(-2px);
}
.article-card-image {
  aspect-ratio: 16 / 9;
  background-size: cover; background-position: center;
  background-color: var(--navy-deepest);
}
.article-card-body {
  padding: 24px;
  display: flex; flex-direction: column;
  flex-grow: 1;
}
.article-card-meta {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 12px;
  display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
}
.article-card-meta .dot {
  width: 3px; height: 3px; background: var(--text-quiet); border-radius: 50%;
}
.article-card h3 {
  font-family: var(--display);
  font-size: 22px; font-weight: 500; line-height: 1.25;
  margin-bottom: 12px;
}
.article-card p {
  font-size: 14px; line-height: 1.55; color: var(--text-muted);
  font-weight: 300; flex-grow: 1;
}
.article-card-link {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600;
  color: var(--brand-blue);
  margin-top: 16px;
}
.article-card-link:hover { color: var(--brand-blue-soft); }

/* ============ STATS OVERRIDE FOR SECONDARY PAGES ============
   layouts.css gives .stats-inner a 4-col grid (one cell per metric tile,
   matching the homepage's 4-tile structure). Secondary pages use the
   v9 nested markup (.stats-claim wraps multiple metrics) so we need a
   different layout: stats-inner becomes a single block, stats-claim
   becomes the multi-column flex/grid that holds each metric. */
.about-page .stats-inner,
.investors-page .stats-inner,
.innovators-page .stats-inner,
.portfolio-page .stats-inner,
.connect-page .stats-inner {
  display: block;
  max-width: 1400px;
  margin: 0 auto;
}
.about-page .stats-claim,
.investors-page .stats-claim,
.innovators-page .stats-claim,
.portfolio-page .stats-claim,
.connect-page .stats-claim {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px 48px;
  border-top: 1px solid var(--line);
  padding-top: 32px;
}
.about-page .stats-metric,
.investors-page .stats-metric,
.innovators-page .stats-metric,
.portfolio-page .stats-metric,
.connect-page .stats-metric {
  display: flex; flex-direction: column; gap: 8px;
}
.about-page .stats-value,
.investors-page .stats-value,
.innovators-page .stats-value,
.portfolio-page .stats-value,
.connect-page .stats-value {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 300; letter-spacing: -0.02em; line-height: 1;
  color: var(--white);
}
.about-page .stats-label,
.investors-page .stats-label,
.innovators-page .stats-label,
.portfolio-page .stats-label,
.connect-page .stats-label {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--text-muted);
}
.about-page .stats-disclaimer,
.investors-page .stats-disclaimer,
.innovators-page .stats-disclaimer,
.portfolio-page .stats-disclaimer,
.connect-page .stats-disclaimer {
  font-size: 12px;
  color: var(--text-quiet);
  margin-top: 24px;
}

/* ============ APPROACH OVERRIDE FOR SECONDARY PAGES ============
   layouts.css gives .approach-inner a 2-col grid (label on left, pillars on
   right) — the homepage layout. Secondary pages put the section label + h2
   on TOP and want the pillars in a 4-up grid below. Reset the parent grid
   and re-style the pillars list. */
.approach-investors .approach-inner,
.approach-innovators .approach-inner,
.approach-support .approach-inner {
  display: block;
  max-width: 1400px;
  padding: 0;
}
.approach-investors .approach-inner > h2,
.approach-innovators .approach-inner > h2,
.approach-support .approach-inner > h2 {
  position: static;
  margin-top: 16px;
  margin-bottom: 56px;
  max-width: 32ch;
}
.approach-investors .pillars,
.approach-innovators .pillars,
.approach-support .pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0;
  margin-top: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.approach-investors .pillar,
.approach-innovators .pillar,
.approach-support .pillar {
  display: block;
  padding: 32px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.approach-investors .pillar .icon,
.approach-innovators .pillar .icon,
.approach-support .pillar .icon {
  margin-bottom: 20px;
}
.approach-investors .pillar h4,
.approach-innovators .pillar h4,
.approach-support .pillar h4 {
  font-size: 19px; margin-bottom: 10px;
}
.approach-investors .pillar p,
.approach-innovators .pillar p,
.approach-support .pillar p {
  font-size: 14px; line-height: 1.55;
}

/* ============ INVESTORS — FUND TABLE ============ */
.fund-table-section {
  padding: 96px 48px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.fund-table-inner { max-width: 900px; margin: 0 auto; }
.fund-table-h2 {
  font-family: var(--display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 300; letter-spacing: -0.01em; line-height: 1.2;
  margin: 16px 0 40px; max-width: 28ch;
}
.fund-table { display: grid; grid-template-columns: 1fr; gap: 0; }
.fund-row {
  display: grid; grid-template-columns: 1fr 2fr;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  gap: 16px;
}
.fund-row:last-child { border-bottom: 1px solid var(--line); }
.fund-row dt {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
}
.fund-row dd {
  font-size: 16px; line-height: 1.5; color: var(--text);
  font-weight: 400;
}

/* ============ INVESTORS — WHOLESALE GATE ============ */
.investor-gate {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0, 13, 20, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.investor-gate[hidden] { display: none; }
.investor-gate-card {
  max-width: 560px;
  background: var(--navy-deep);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  padding: 40px;
}
.investor-gate-card h2 {
  font-family: var(--display);
  font-size: 26px; font-weight: 500; line-height: 1.25;
  margin: 16px 0 20px;
}
.investor-gate-card p {
  font-size: 15px; line-height: 1.6; color: var(--text-muted);
  margin-bottom: 24px;
}
.investor-gate-card .cta-btn { margin-right: 8px; margin-bottom: 8px; }
.gate-fineprint {
  font-size: 12px; color: var(--text-quiet); margin-top: 24px !important;
}
body.gate-active { overflow: hidden; }

/* ============ INNOVATORS — PROCESS LIST ============ */
.process {
  padding: 96px 48px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.process-inner { max-width: 1100px; margin: 0 auto; }
.process-h2 {
  font-family: var(--display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 300; letter-spacing: -0.01em; line-height: 1.2;
  margin: 16px 0 48px; max-width: 28ch;
}

/* ============ PORTFOLIO — GRID + DETAIL MODAL ============ */
/* Body bg defaults to --navy; if anything (margin collapse, rounding) creates
   a sub-pixel gap between the .portfolio section and the closing CTA below,
   the lighter --navy would peek through and read as a band. Force the page
   container's bg to match so any peek-through is invisible. */
body[data-page="portfolio"] { background: var(--navy-deep); }
.portfolio-page .portfolio { padding: 80px 48px; background: var(--navy-deep); }
.portfolio-inner { max-width: 1400px; margin: 0 auto; }
.portfolio-header {
  display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px;
  max-width: 800px;
}
.portfolio-h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 300; letter-spacing: -0.02em; line-height: 1.15;
  margin: 0;
}
/* Compact header for the "Pre-fund investments:" section — single line, smaller. */
.portfolio-header-compact { margin-bottom: 24px; }
.portfolio-h2-compact {
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--text-muted);
}
.portfolio-grid-fund1,
.portfolio-grid-unified {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

/* Tighten the gap between the portfolio hero and the grid */
.portfolio-hero { padding-bottom: 32px; }
.portfolio-unified { padding-top: 16px; }

/* Placeholder backgrounds for Fund 0 cards (until real images are added).
   Three variants rotated across the cards for visual variety. */
.hover-img.bg-placeholder {
  position: relative;
}
.hover-img.bg-placeholder::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 18% 28%, rgba(255,255,255,0.4) 50%, transparent),
    radial-gradient(1.5px 1.5px at 62% 72%, rgba(0,156,222,0.4) 50%, transparent),
    radial-gradient(1px 1px at 82% 18%, rgba(255,255,255,0.3) 50%, transparent),
    radial-gradient(1px 1px at 34% 84%, rgba(0,156,222,0.3) 50%, transparent);
  opacity: 0.5;
}
.hover-img.bg-placeholder-1 {
  background: linear-gradient(135deg, var(--navy-deepest) 0%, var(--navy-deep) 50%, rgba(0, 156, 222, 0.22) 100%);
}
.hover-img.bg-placeholder-2 {
  background: linear-gradient(45deg, var(--navy-deep) 0%, var(--navy-deepest) 60%, rgba(0, 156, 222, 0.18) 100%);
}
.hover-img.bg-placeholder-3 {
  background: linear-gradient(200deg, rgba(0, 156, 222, 0.15) 0%, var(--navy-deep) 45%, var(--navy-deepest) 100%);
}
.portfolio-card {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.18);
  /* Card sizes to its content — no fixed aspect ratio so we don't get
     unused image area above the text. */
}
.portfolio-card .hover-content {
  padding: 24px;
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
}
.port-meta {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 20px;
  min-height: 52px;        /* reserve 2 rows of tags so names align across the grid */
  align-content: flex-end; /* if only 1 row of tags, pin them to the bottom of the block */
}
.port-fund, .port-state, .port-sector {
  font-family: var(--mono);
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--white);
  padding: 4px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  background: rgba(0,13,20,0.55);
  backdrop-filter: blur(4px);
}
.port-fund { border-color: var(--brand-blue); color: var(--brand-blue); }
.port-fund-fund0 { border-color: var(--text-quiet); color: var(--text-muted); }
.port-state {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: var(--white);
}
.port-headline {
  font-size: 14px; line-height: 1.5; margin-top: 8px;
  color: var(--text-muted);
  /* Allow up to 5 lines (safety) and reserve 3 lines of vertical space —
     since there's no detail popup the full text needs to be visible.
     3-line reserve keeps names roughly aligned (matches longest current
     description) without wasting space on cards with shorter copy. */
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.5em;
}
.port-detail-btn {
  align-self: flex-start;
  background: transparent; border: none;
  font-family: var(--body); font-size: 13px; font-weight: 600;
  color: var(--brand-blue);
  margin-top: 14px; padding: 0; cursor: pointer;
  transition: color .2s ease;
}
.port-detail-btn:hover { color: var(--brand-blue-soft); }

/* Detail modal — centered on viewport */
dialog.port-detail {
  border: 1px solid var(--line-strong);
  background: var(--navy-deep);
  color: var(--text);
  max-width: 720px; width: calc(100% - 48px);
  padding: 40px;
  border-radius: 6px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
}
dialog.port-detail::backdrop {
  background: rgba(0,13,20,0.78);
  backdrop-filter: blur(8px);
}
.port-close {
  position: absolute; top: 12px; right: 16px;
  background: transparent; border: none;
  font-size: 28px; line-height: 1; color: var(--text-muted);
  cursor: pointer;
}
.port-close:hover { color: var(--white); }
.port-detail-eyebrow {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 12px;
}
dialog.port-detail h2 {
  font-family: var(--display);
  font-size: 32px; font-weight: 500; margin-bottom: 16px;
}
.port-detail-headline {
  font-size: 17px; color: var(--text-muted); line-height: 1.5; margin-bottom: 20px;
}
.port-detail-body p {
  font-size: 15px; line-height: 1.6; color: var(--text); margin-bottom: 16px;
  font-weight: 300;
}
.port-detail .cta-btn { margin-top: 12px; }

/* Fund 0 plain card */
.portfolio-grid-fund0 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.portfolio-card-fund0 {
  aspect-ratio: auto;
  padding: 24px;
  background: var(--navy-deepest);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: flex; flex-direction: column;
  transition: border-color .25s ease;
}
.portfolio-card-fund0:hover { border-color: var(--brand-blue-dim); }
.portfolio-card-fund0 h3 {
  font-family: var(--display);
  font-size: 19px; font-weight: 600; margin: 12px 0 8px;
}
.portfolio-card-fund0 p {
  font-size: 13px; line-height: 1.5; color: var(--text-muted); flex-grow: 1;
  font-weight: 300;
}
.port-link {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px; font-weight: 600; color: var(--brand-blue);
}
.port-link:hover { color: var(--brand-blue-soft); }

/* ============ INVESTORS / CONNECT — EMBEDS ============ */
.notion-embed, .calendly-inline-widget {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  margin-top: 24px;
  overflow: hidden;
}
.notion-embed iframe { display: block; background: var(--white); width: 100%; height: 720px; border: 0; }
.embed-fallback {
  font-size: 13px; color: var(--text-muted);
  margin-top: 16px;
  font-weight: 300;
}
.embed-fallback a { color: var(--brand-blue); }

.im-request, .book-meeting {
  padding: 96px 48px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.im-request:nth-of-type(2n), .book-meeting:nth-of-type(2n) {
  background: var(--navy-deep);
}
.im-request-inner, .book-meeting-inner { max-width: 900px; margin: 0 auto; }
.im-request h2, .book-meeting h2 {
  font-family: var(--display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 400; letter-spacing: -0.01em; line-height: 1.25;
  margin: 16px 0 16px;
}
.apply h2 {
  font-family: var(--display);
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: 700; letter-spacing: -0.025em; line-height: 1.15;
  margin: 0 0 16px;
}
.im-request-blurb, .apply-blurb {
  font-size: 15px; line-height: 1.6; color: var(--text-muted);
  font-weight: 300; max-width: 60ch;
}
.im-request-blurb a {
  color: var(--brand-blue); text-decoration: underline; text-underline-offset: 2px;
}
.im-request-actions {
  display: flex; gap: 14px; flex-wrap: wrap;
  margin-top: 28px;
}
.im-request-fallback {
  font-size: 12px; color: var(--text-quiet); margin-top: 24px;
}
.im-request-fallback code {
  font-family: var(--mono); font-size: 12px;
  padding: 2px 6px; background: rgba(255,255,255,0.05);
  border-radius: 3px; border: 1px solid var(--line);
  color: var(--text-muted);
}

/* Apply section — single big CTA replaces the embedded Notion iframe. */
.apply { padding: 64px 48px 72px; background: var(--navy-deep); border-top: 1px solid var(--line); text-align: center; }
.apply-inner { max-width: 860px; margin: 0 auto; }
.apply-inner > .section-label {
  margin: 0 auto 16px;
  display: inline-flex;
  justify-content: center;
}
.apply-inner h2 {
  margin-left: auto;
  margin-right: auto;
}
.apply-blurb {
  margin-left: auto;
  margin-right: auto;
}
.apply-cta-wrap {
  margin-top: 40px;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.apply-fallback {
  font-size: 13px; color: var(--text-quiet); margin: 0;
  font-weight: 300;
}
.apply-fallback a { color: var(--brand-blue); text-decoration: underline; text-underline-offset: 2px; }

/* ============ CONNECT — PATHS + GRID + FORM ============ */
.connect-paths { padding: 24px 48px 96px; background: var(--navy); }
.connect-paths-inner {
  max-width: 1100px;
  /* Align with the heading section — same horizontal range, anchored left.
     The page-hero-inner has max-width 1100px and is centred via margin auto;
     re-using that here keeps the buttons sitting under it. */
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.connect-card {
  /* Twice the previous size — taller aspect, larger type, more breathing room. */
  aspect-ratio: 1 / 1;
  min-height: 380px;
}
.connect-card .hover-content { padding: 36px; }
.connect-card .hover-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.15;
}
.connect-card .hover-meta {
  font-size: 16px;
  line-height: 1.55;
  margin-top: 12px;
}
.connect-card .port-meta { margin-bottom: 16px; }
.connect-card .port-detail-btn {
  font-size: 16px;
  margin-top: 24px;
  font-weight: 700;
}
@media (max-width: 720px) {
  .connect-paths-inner { grid-template-columns: 1fr; }
  .connect-card { aspect-ratio: 4 / 3; min-height: 280px; }
}

.contact-grid { padding: 80px 48px; background: var(--navy-deep); border-top: 1px solid var(--line); }
.contact-grid-inner { max-width: 1100px; margin: 0 auto; }
.contact-grid h2 {
  font-family: var(--display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 400; letter-spacing: -0.01em; line-height: 1.25;
  margin: 16px 0 32px;
}
.contact-grid-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px;
  border-top: 1px solid var(--line);
  padding-top: 32px;
}
.contact-col h5 {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 12px;
  font-weight: 500;
}
.contact-col p {
  font-size: 14px; line-height: 1.6; color: var(--text-muted);
  font-weight: 300; margin-bottom: 4px;
}
.contact-col a { color: var(--white); }
.contact-col a:hover { color: var(--brand-blue); }

.contact-form-section {
  padding: 96px 48px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.contact-form-inner { max-width: 720px; margin: 0 auto; }
.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
.contact-form label {
  display: flex; flex-direction: column; gap: 6px;
}
.contact-form label.contact-form-message { grid-column: 1 / -1; }
.contact-form span {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--brand-blue);
  font-weight: 500;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  font-family: var(--body); font-size: 15px;
  padding: 12px 14px;
  background: var(--navy-deep);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--white);
  transition: border-color .2s ease;
}
/* Prevent iOS Safari from auto-zooming when focusing an input on mobile. */
@media (max-width: 880px) {
  .contact-form input,
  .contact-form select,
  .contact-form textarea { font-size: 16px; }
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--brand-blue);
}
.contact-form button { grid-column: 1 / -1; justify-self: start; margin-top: 8px; }
.contact-form-consent {
  grid-column: 1 / -1;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: flex-start;
  margin-top: 4px;
  cursor: pointer;
}
.contact-form-consent input[type="checkbox"] {
  margin-top: 3px;
  width: 14px;
  height: 14px;
  accent-color: var(--brand-blue);
  cursor: pointer;
  flex-shrink: 0;
}
.contact-form-consent span {
  font-family: var(--body) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--text-muted) !important;
  font-weight: 300;
  line-height: 1.5;
}
.contact-form-status {
  grid-column: 1 / -1;
  margin: 0;
  min-height: 1.5em;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-muted);
}
.contact-form-status[data-kind="success"] { color: var(--brand-blue); font-weight: 500; }
.contact-form-status[data-kind="error"] { color: #ff8a8a; }
.contact-form-status a { color: inherit; text-decoration: underline; }
.contact-form button:disabled { opacity: 0.6; cursor: progress; }

/* Footer subscribe status message (injected by assets/subscribe-form.js). */
.inline-subscribe-status {
  margin: 8px 0 0;
  min-height: 1.2em;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-muted);
}
.inline-subscribe-status[data-kind="success"] { color: var(--brand-blue); font-weight: 500; }
.inline-subscribe-status[data-kind="error"] { color: #ff8a8a; }

/* ============ IM REQUEST MODAL ============ */
dialog.im-modal {
  position: fixed;
  inset: 0;
  margin: auto;
  border: 1px solid var(--line-strong);
  background: var(--navy-deep);
  color: var(--text);
  max-width: 640px;
  width: calc(100% - 48px);
  max-height: calc(100vh - 48px);
  padding: 0;
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
  overflow: hidden;
}
dialog.im-modal::backdrop {
  background: rgba(0, 13, 20, 0.78);
  backdrop-filter: blur(8px);
}
.im-modal-close {
  position: absolute; top: 16px; right: 20px; z-index: 10;
  background: rgba(0, 13, 20, 0.55); border: 1px solid var(--line-strong);
  width: 36px; height: 36px; border-radius: 50%;
  font-size: 22px; line-height: 1; color: var(--white);
  cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s, border-color 0.15s;
}
.im-modal-close:hover {
  background: rgba(0, 156, 222, 0.22); border-color: var(--brand-blue);
}
.im-modal-body {
  padding: 48px 40px 40px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
}
.im-modal-title {
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
  margin: 8px 0 16px;
  color: var(--white);
}
.im-modal-lede {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-muted);
  margin: 0 0 28px;
}
.im-request-form {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.im-request-form .im-form-firm,
.im-request-form button[type="submit"],
.im-request-form .contact-form-status {
  grid-column: 1 / -1;
}
.im-request-form .contact-form-consent strong { color: var(--white); font-weight: 500; }
.im-request-form .contact-form-consent + .contact-form-consent { margin-top: 0; }
@media (max-width: 560px) {
  .im-modal-body { padding: 40px 24px 28px; }
  .im-request-form { grid-template-columns: 1fr; }
}

/* Old article-footer compliance classes (.footer-base, .compliance, .ack-country,
   .footer-address, .footer-country) removed — every page now uses the
   standardised .compliance block defined in layouts.css. */

/* ============ ARTICLE COVER CLASS HOOKS ============ */
/* Re-use the news-image bg- classes on article covers and cards.
   The image-set() declarations live in layouts.css, scoped to .news-image.
   Re-bind them to .article-cover and .article-card-image here. */
.article-cover.bg-bradfeld,
.article-card-image.bg-bradfeld {
  background-image: url('../images/news/brad-feld.jpg');
  background-image: image-set(
    url('../images/news/brad-feld.avif') type('image/avif'),
    url('../images/news/brad-feld.webp') type('image/webp'),
    url('../images/news/brad-feld.jpg') type('image/jpeg'));
}
/* Placeholder cover for the Budget 2026 article until a real image is provided.
   Brand-blue gradient with subtle stippling pattern. */
.article-cover.bg-budget-2026,
.article-card-image.bg-budget-2026 {
  background-image: url('../images/news/budget-2026.png');
}
.article-cover.bg-showcase,
.article-card-image.bg-showcase {
  background-image: url('../images/news/showcase.jpg');
  background-image: image-set(
    url('../images/news/showcase.avif') type('image/avif'),
    url('../images/news/showcase.webp') type('image/webp'),
    url('../images/news/showcase.jpg') type('image/jpeg'));
}
/* About-page article-card-image lives at the site root and references images/
   without the ../ prefix. Add a duplicate rule that resolves from there. */
body[data-page="about"] .article-card-image.bg-bradfeld {
  background-image: url('../images/news/brad-feld.jpg');
  background-image: image-set(
    url('../images/news/brad-feld.avif') type('image/avif'),
    url('../images/news/brad-feld.webp') type('image/webp'),
    url('../images/news/brad-feld.jpg') type('image/jpeg'));
}
body[data-page="about"] .article-card-image.bg-showcase {
  background-image: url('../images/news/showcase.jpg');
  background-image: image-set(
    url('../images/news/showcase.avif') type('image/avif'),
    url('../images/news/showcase.webp') type('image/webp'),
    url('../images/news/showcase.jpg') type('image/jpeg'));
}

/* ============ ARTICLE DETAIL PAGE ============ */
.article-page {
  padding-top: 96px;
  background: var(--navy);
}
.article-hero {
  padding: 80px 48px 48px;
  background: linear-gradient(180deg, var(--navy-deepest) 0%, var(--navy) 100%);
  position: relative;
}
.article-hero-inner {
  max-width: 760px; margin: 0 auto;
}
.article-meta {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-blue);
  display: flex; gap: 14px; flex-wrap: wrap; align-items: center;
  margin-bottom: 24px;
}
.article-meta .dot { width: 3px; height: 3px; background: var(--text-quiet); border-radius: 50%; }
.article-h1 {
  font-family: var(--display);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 300; letter-spacing: -0.02em; line-height: 1.1;
  margin-bottom: 24px;
}
.article-dek {
  font-size: 19px; line-height: 1.5; color: var(--text-muted);
  font-weight: 300; max-width: 60ch;
}
.article-cover {
  max-width: 880px; margin: 0 auto 48px;
  aspect-ratio: 16 / 9;
  background-size: cover; background-position: center top;
  border-radius: 4px; overflow: hidden;
}
.article-body {
  max-width: 720px; margin: 0 auto;
  padding: 0 48px 96px;
  font-size: 18px; line-height: 1.7;
  color: var(--text);
  font-weight: 300;
}
.article-body p { margin-bottom: 20px; }
.article-body p:first-child::first-letter {
  font-size: 64px; font-weight: 600;
  float: left; line-height: 1; margin: 4px 12px 0 0;
  color: var(--brand-blue); font-family: var(--display);
}
.article-body h2 {
  font-family: var(--display);
  font-size: 26px; font-weight: 600;
  margin: 40px 0 16px; letter-spacing: -0.01em;
}
.article-body h3 {
  font-family: var(--display);
  font-size: 20px; font-weight: 600;
  margin: 32px 0 12px;
}
.article-body ul, .article-body ol {
  margin: 0 0 20px 24px;
}
.article-body li { margin-bottom: 8px; }
.article-body blockquote {
  border-left: 2px solid var(--brand-blue);
  padding: 8px 0 8px 24px;
  margin: 24px 0;
  font-size: 22px; line-height: 1.5; font-style: italic;
  color: var(--text);
}
.article-body a:not(.cta-btn) { color: var(--brand-blue); text-decoration: underline; text-underline-offset: 2px; }
.article-body a:not(.cta-btn):hover { color: var(--brand-blue-soft); }
.article-share {
  max-width: 720px; margin: 0 auto;
  padding: 0 48px 48px;
  border-top: 1px solid var(--line); padding-top: 24px;
}
.article-share-label {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 12px;
}
.article-share-row { display: flex; gap: 16px; flex-wrap: wrap; }
.article-share-row a { font-size: 14px; color: var(--text-muted); }
.article-share-row a:hover { color: var(--white); }

.article-related {
  padding: 80px 48px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.article-related-inner { max-width: 1100px; margin: 0 auto; }
.article-related h2 {
  font-family: var(--display);
  font-size: 24px; font-weight: 500;
  margin: 16px 0 24px;
}

/* ============ MOBILE ============ */
@media (max-width: 768px) {
  .page-hero, .team, .values, .articles,
  .fund-table-section, .approach, .process,
  .portfolio-page .portfolio, .im-request, .book-meeting,
  .apply, .connect-paths, .contact-grid, .contact-form-section,
  .article-related {
    padding-left: 24px; padding-right: 24px;
  }
  .article-hero { padding: 64px 24px 32px; }
  .article-body { padding: 0 24px 72px; }
  .article-share { padding: 0 24px 32px; }
  .values-list li { grid-template-columns: 56px 1fr; gap: 14px; }
  .fund-row { grid-template-columns: 1fr; gap: 4px; }
  .contact-form { grid-template-columns: 1fr; }
  .investor-gate-card { padding: 28px; }
  .article-body p:first-child::first-letter {
    font-size: 48px; margin-top: 2px;
  }
}

/* ============================================================
   MOBILE BREAKPOINTS — secondary pages.
   Universal side-padding reduction, multi-column layouts stack,
   tap-friendly button sizes, fund-table reflows vertically.
   ============================================================ */
@media (max-width: 880px) {
  /* Page hero — universal */
  .page { padding-top: 76px; }
  .page-hero { padding: 80px 24px 56px; }
  .page-hero-actions .cta-btn { padding: 14px 22px; }

  /* About hero — 2-col left/right → stacked */
  .about-hero { padding: 80px 24px 32px; }
  .about-hero-inner { grid-template-columns: 1fr; gap: 28px; }
  .about-h1 { max-width: 100%; }

  /* About — team section */
  .team { padding: 0 24px 64px; }
  .team-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
  .team-header { margin-bottom: 36px; }

  /* About — values list */
  .values { padding: 64px 24px; }
  .values-list li { grid-template-columns: 56px 1fr; gap: 16px; padding: 22px 0; }

  /* About — governance + closing CTAs */
  .governance { padding: 56px 24px 64px; }
  .governance h2 { max-width: 100%; }
  .about-closing-cta { padding: 48px 24px 12px; }
  .cta-paths { padding: 4px 24px 64px; }

  /* Articles archive + about insights — single-col grid */
  .articles { padding: 64px 24px; }
  .articles-grid { grid-template-columns: 1fr; gap: 16px; }
  .articles-header { flex-direction: column; align-items: flex-start; gap: 16px; }

  /* Investors */
  .options { padding: 40px 24px 56px; }
  .fund-detail { padding: 48px 24px 64px; }
  .esvclp { padding: 48px 24px 64px; }
  .syndicates { padding: 48px 24px 64px; }
  .investors-cta { padding: 48px 24px 56px; }
  .eligibility { padding: 56px 24px 64px; }
  .risk-info { padding: 40px 24px 64px; }
  .im-request-block { padding: 28px 22px 32px; }
  .fund-row { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }

  /* Founders */
  .fit-criteria { padding: 64px 24px 72px; }
  .cheques { padding: 64px 24px 72px; }
  .approach-process { padding: 64px 24px 72px; }
  .after-invest { padding: 64px 24px 72px; }
  .working-with { padding: 64px 24px 72px; }
  .apply { padding: 56px 24px 64px; }

  /* Resources */
  .resources-section { padding: 56px 24px 64px; }
  .resources-cta { padding: 56px 24px 64px; }

  /* Connect */
  .connect-section { padding: 48px 24px 64px; }
  .connect-firm { padding: 48px 24px 64px; }
  .connect-block { padding: 28px 22px; }

  /* Insights archive */
  .insights-subscribe { padding: 48px 24px 56px; }
  .insights-archive { padding: 32px 24px 72px; }
  .insights-filter { gap: 8px; margin-bottom: 32px; }

  /* Article detail pages */
  .article-header { padding: 64px 24px 32px; }
  .article-body { padding: 32px 24px 48px; }
}

@media (max-width: 720px) {
  /* Buttons inside boxed/tinted blocks stretch to container width
     so they align cleanly with the left edge of the surrounding text. */
  .im-request-block .im-request-actions .cta-btn,
  .syndicates-cta-wrap .cta-btn,
  .apply-cta-wrap .cta-btn { width: 100%; justify-content: center; }
}

@media (max-width: 560px) {
  /* Buttons full-width on the smallest screens for tap comfort */
  .page-hero-actions { flex-direction: column; align-items: stretch; }
  .page-hero-actions .cta-btn { width: 100%; justify-content: center; }
  .connect-actions { flex-direction: column; align-items: stretch; }
  .connect-actions .cta-btn { width: 100%; justify-content: center; }
  .cta-actions { flex-direction: column; align-items: stretch; }
  .cta-actions .cta-btn { width: 100%; justify-content: center; }
  .approach-cta { flex-direction: column; align-items: stretch; }
  .approach-cta .btn,
  .approach-cta .cta-btn { width: 100%; justify-content: center; }

  /* Form inputs */
  .insights-subscribe-row { flex-direction: column; gap: 12px; }
  .insights-subscribe-row input[type="email"] { width: 100%; }
  .connect-subscribe-form { flex-direction: column; }
  .connect-subscribe-form input[type="email"] { width: 100%; }
}

/* ============ ABOUT — TEAM HEADLINE ============ */
.team-headline {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 auto;
  max-width: 22ch;
}
.team-headline .accent { color: var(--brand-blue); }

/* ============ ABOUT — GOVERNANCE ============ */
.governance {
  padding: 80px 48px 96px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.governance-inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.governance-inner > .section-label {
  margin: 0 auto 24px;
  display: inline-flex;
  justify-content: center;
}
.governance h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 auto 40px;
  max-width: 22ch;
}
.governance h2 .accent { color: var(--brand-blue); }
.governance-body {
  text-align: left;
  max-width: 70ch;
  margin: 0 auto;
}
.governance-body p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 18px;
}
.governance-body p:last-child { margin-bottom: 0; }

/* ============ FOUNDERS — FIT CRITERIA (POSITIVE / NEGATIVE) ============ */
.fit-criteria {
  padding: 80px 48px 96px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.fit-criteria-neg {
  background: var(--navy-deep);
}
.fit-criteria-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.fit-criteria-inner > .section-label { margin-bottom: 16px; }
.fit-criteria h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 48px;
  max-width: 22ch;
}
.fit-criteria h2 .accent { color: var(--brand-blue); }

.criteria-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  border-top: 1px solid var(--line);
}
.criteria-list li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.criteria-list li:last-child { border-bottom: none; }
.criteria-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0, 156, 222, 0.15);
  color: var(--brand-blue);
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}
.criteria-list-neg .criteria-icon {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-quiet);
}
.criteria-body {
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
}
.criteria-body b {
  color: var(--white);
  font-weight: 600;
}

/* Regulatory exclusions sub-block inside the negative criteria section */
.regulatory-block {
  margin-top: 0;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.regulatory-block h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  color: var(--white);
}
.regulatory-intro {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 40px;
  max-width: 70ch;
}
.regulatory-group {
  margin-bottom: 32px;
}
.regulatory-group:last-child { margin-bottom: 0; }
.regulatory-group h4 {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-blue);
  margin: 0 0 14px;
}
.regulatory-group p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 12px;
}
.regulatory-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.regulatory-group ul li {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  padding: 6px 0 6px 20px;
  position: relative;
}
.regulatory-group ul li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--text-quiet);
}

/* ============ FOUNDERS — CHEQUE SIZES ============ */
.cheques {
  padding: 80px 48px 96px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.cheques-inner {
  max-width: 1100px;
  margin: 0 auto;
}
.cheques-inner > .section-label { margin-bottom: 16px; }
.cheques h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 56px;
  max-width: 22ch;
}
.cheques h2 .accent { color: var(--brand-blue); }
.cheques-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.cheque-card {
  background: rgba(0, 25, 37, 0.85);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  min-height: 280px;
}
.cheque-stage {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-blue);
  margin-bottom: 16px;
}
.cheque-amount {
  font-family: var(--display);
  font-size: clamp(28px, 2.6vw, 36px);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--white);
  margin-bottom: 18px;
}
.cheque-card p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 24px;
}
.cheque-alias {
  font-family: var(--mono);
  font-weight: 400;
  color: var(--brand-blue);
  letter-spacing: 0.08em;
  margin-left: 4px;
}
.cheque-allocation {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.cheque-pct {
  font-family: var(--display);
  font-weight: 700;
  font-size: 24px;
  color: var(--white);
  letter-spacing: -0.02em;
}
.cheque-of {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.cheques-footnote-note {
  font-style: italic;
  color: var(--text-quiet) !important;
  font-size: 14px !important;
  margin: 12px auto 0 !important;
}
.cheques-footnote-note span[aria-hidden] { color: var(--brand-blue); font-style: normal; font-weight: 600; }
.cheques-footnote {
  margin: 40px auto 0;
  text-align: center;
  font-size: 15px;
  color: var(--text-muted);
  font-weight: 300;
  max-width: 80ch;
}

/* ============ FOUNDERS — INVESTMENT PROCESS (5S) ============ */
.approach-process {
  padding: 80px 48px 96px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.approach-process-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.approach-process-inner > .section-label { margin-bottom: 16px; }
.approach-process h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 24px;
  max-width: 22ch;
}
.approach-process h2 .accent { color: var(--brand-blue); }
.approach-process-intro {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 56px;
  max-width: 70ch;
}

.process-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}
.process-step {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 32px;
  padding: 40px 0;
  border-top: 1px solid var(--line);
}
.process-step:last-child { border-bottom: 1px solid var(--line); }
.process-step-num {
  font-family: var(--mono);
  font-size: 24px;
  font-weight: 500;
  color: var(--brand-blue);
  letter-spacing: 0.02em;
}
.process-step-content h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0 0 16px;
  color: var(--white);
}
.process-step-content > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 16px;
}
.process-step-aside {
  font-size: 15px !important;
  color: var(--text-quiet) !important;
  font-style: italic;
  border-left: 2px solid var(--brand-blue);
  padding-left: 16px;
  margin-top: 20px !important;
}

.framework-grid {
  display: flex;
  flex-direction: column;
  margin: 28px 0;
  padding: 0;
  background: transparent;
  border-top: 1px solid var(--line);
}
.framework-item {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  align-items: baseline;
}
.framework-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: 17px;
  color: var(--brand-blue);
  letter-spacing: -0.01em;
  margin: 0;
}
.framework-desc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
}

/* ============ FOUNDERS — AFTER WE INVEST ============ */
.after-invest {
  padding: 80px 48px 96px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.after-invest-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.after-invest-inner > .section-label { margin-bottom: 16px; }
.after-invest h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 48px;
  max-width: 22ch;
}
.after-invest h2 .accent { color: var(--brand-blue); }
.after-invest-block {
  margin-bottom: 48px;
}
.after-invest-block:last-child { margin-bottom: 0; }
.after-invest-h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 16px;
  color: var(--white);
}
.after-invest-intro {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 28px;
  max-width: 70ch;
}
.after-invest-block > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 16px;
  max-width: 70ch;
}
.support-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 40px;
}
.support-list li {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
}
.support-list li b {
  color: var(--white);
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}

/* ============ FOUNDERS — WORKING WITH US ============ */
.working-with {
  padding: 80px 48px 96px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.working-with-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.working-with-inner > .section-label { margin-bottom: 16px; }
.working-with h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 56px;
  max-width: 22ch;
}
.working-with h2 .accent { color: var(--brand-blue); }
.working-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.working-card {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 36px 40px;
  max-width: 820px;
  margin: 0 auto;
  width: 100%;
}
.working-card h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 20px;
  color: var(--white);
}
.working-card p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 16px;
}
.working-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.working-card ul li {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  padding: 8px 0 8px 18px;
  position: relative;
}
.working-card ul li::before {
  content: '·';
  position: absolute;
  left: 4px;
  color: var(--brand-blue);
  font-weight: 700;
}

/* Mobile stacks for founders page */
@media (max-width: 720px) {
  .cheques-grid { grid-template-columns: 1fr; }
  .framework-item { grid-template-columns: 1fr; gap: 4px; }
  .support-list { grid-template-columns: 1fr; gap: 20px; }
  .working-grid { grid-template-columns: 1fr; }
  .process-step { grid-template-columns: 1fr; gap: 12px; }
}

/* ============ INVESTORS — THE OPTIONS (2 CARDS) ============ */
.options {
  padding: 48px 48px 72px;
  background: var(--navy);
}
.options-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.options-inner > .section-label { margin-bottom: 16px; }
.options h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 56px;
  max-width: 22ch;
}
.options h2 .accent { color: var(--brand-blue); }
.options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.option-card {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color .25s ease, background .25s ease;
}
.option-card:hover {
  border-color: var(--brand-blue);
  background: rgba(0, 38, 62, 0.7);
}
.option-eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-blue);
}
.option-card h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--white);
}
.option-card p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0;
}
.option-card .cta-btn {
  margin-top: auto;
  align-self: flex-start;
}

/* ============ INVESTORS — FUND 1 DETAIL ============ */
.fund-detail {
  padding: 64px 48px 80px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.fund-detail-inner {
  max-width: 1100px;
  margin: 0 auto;
}
.fund-detail-inner > .section-label { margin-bottom: 16px; }
.fund-detail-h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 24px;
  max-width: 24ch;
}
.fund-detail-h2 .accent { color: var(--brand-blue); }
.fund-detail-intro {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 56px;
  max-width: 70ch;
}
.fund-detail-intro strong { color: var(--white); font-weight: 600; }

.fund-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 0 64px;
  background: var(--navy);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.fund-stat {
  padding: 28px 24px;
  border-left: 1px solid var(--line);
}
.fund-stat:first-child { border-left: none; }
.fund-stat-num {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 3.4vw, 44px);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--white);
  margin-bottom: 10px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.fund-stat-num .unit { color: var(--brand-blue); font-weight: 600; }
.fund-stat-num .small {
  font-size: 0.42em;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--brand-blue);
}
.fund-stat-label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.glance-section {
  margin-top: 8px;
}
.glance-heading {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 24px;
  color: var(--white);
}

/* IM request — nested inside the Fund 1 detail section as its closing subsection */
.im-request-block {
  margin-top: 56px;
  padding: 36px 36px 40px;
  background: rgba(0, 156, 222, 0.06);
  border: 1px solid rgba(0, 156, 222, 0.25);
  border-radius: 10px;
}
.im-request-heading {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 16px;
  color: var(--white);
}
.im-request-block .im-request-blurb {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 24px;
  max-width: 72ch;
}
.im-request-block .im-request-actions {
  margin: 0 0 18px;
}
.im-request-block .im-request-fallback {
  font-size: 13px;
  color: var(--text-quiet);
  font-weight: 300;
  margin: 0;
}
.im-request-block .im-request-fallback a {
  color: var(--brand-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ============ INVESTORS — ABOUT THE ESVCLP ============ */
.esvclp {
  padding: 64px 48px 80px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.esvclp-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.esvclp-inner > .section-label { margin-bottom: 16px; }
.esvclp h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 28px;
  max-width: 22ch;
}
.esvclp h2 .accent { color: var(--brand-blue); }
.esvclp-intro {
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 48px;
  max-width: 72ch;
}
.esvclp-h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 16px;
  color: var(--white);
}
.esvclp-sub {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 20px;
  max-width: 72ch;
}
.esvclp-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  border-top: 1px solid var(--line);
}
.esvclp-list li {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
}
.esvclp-list li b {
  color: var(--white);
  font-weight: 600;
}
.esvclp-source {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-quiet);
  font-weight: 300;
  margin: 0;
  max-width: 72ch;
}
.esvclp-source a {
  color: var(--brand-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ============ INVESTORS — SYNDICATES ============ */
.syndicates {
  padding: 64px 48px 80px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.syndicates-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.syndicates-inner > .section-label { margin-bottom: 16px; }
.syndicates h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 28px;
  max-width: 24ch;
}
.syndicates h2 .accent { color: var(--brand-blue); }
.syndicates-intro {
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 48px;
  max-width: 72ch;
}
.syndicates-h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 20px;
  color: var(--white);
}
.syndicates-list {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  border-top: 1px solid var(--line);
}
.syndicates-list li {
  padding: 16px 0 16px 24px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  position: relative;
}
.syndicates-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--brand-blue);
  font-weight: 600;
}
.syndicates-cta-intro {
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 24px;
  max-width: 70ch;
}
.syndicates-cta-wrap {
  display: flex;
  gap: 14px;
}

/* ============ INVESTORS — ELIGIBILITY ============ */
.eligibility {
  padding: 72px 48px 80px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.eligibility-inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.eligibility-inner > .section-label {
  margin: 0 auto 16px;
  display: inline-flex;
  justify-content: center;
}
.eligibility h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 auto 32px;
  max-width: 24ch;
}
.eligibility h2 .accent { color: var(--brand-blue); }
.eligibility p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 auto 14px;
  max-width: 64ch;
  text-align: left;
}
.eligibility p:last-child { margin-bottom: 0; }

/* ============ LEGAL PAGE (privacy, complaints, terms) ============ */
.legal-hero {
  padding: 120px 48px 56px;
}
.legal-hero .page-hero-title {
  margin-bottom: 16px;
}
.legal-effective {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-blue);
  margin: 0 0 28px;
}
.legal-section {
  padding: 48px 48px 96px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.legal-inner {
  max-width: 780px;
  margin: 0 auto;
}
.legal-inner h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 48px 0 16px;
  color: var(--white);
}
.legal-inner h2:first-child { margin-top: 0; }
.legal-inner p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 18px;
}
.legal-inner ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.legal-inner ul li {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  padding: 6px 0 6px 22px;
  position: relative;
}
.legal-inner ul li::before {
  content: '·';
  position: absolute;
  left: 6px;
  color: var(--brand-blue);
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  top: 10px;
}
.legal-inner a {
  color: var(--brand-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-inner a:hover { color: var(--brand-blue-soft); }
.legal-contact {
  margin-top: 16px;
  padding: 20px 24px;
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 880px) {
  .legal-hero { padding: 96px 24px 40px; }
  .legal-section { padding: 32px 24px 64px; }
  .legal-inner h2 { margin-top: 36px; }
}

/* ============ INSIGHTS ARCHIVE ============ */
.insights-subscribe {
  padding: 56px 48px 64px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.insights-subscribe-inner {
  max-width: 760px;
  margin: 0 auto;
}
.insights-subscribe-inner > .section-label { margin-bottom: 16px; }
.insights-subscribe h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  max-width: 22ch;
}
.insights-subscribe h2 .accent { color: var(--brand-blue); }
.insights-subscribe p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 28px;
  max-width: 60ch;
}

.insights-subscribe-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}
.insights-subscribe-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.insights-subscribe-row input[type="email"] {
  flex: 1;
  min-width: 240px;
  padding: 14px 18px;
  background: rgba(0, 13, 20, 0.6);
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  color: var(--white);
  font-family: var(--body);
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease;
}
.insights-subscribe-row input[type="email"]:focus { border-color: var(--brand-blue); }
.insights-subscribe-row input[type="email"]::placeholder { color: var(--text-quiet); }

.insights-subscribe-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  cursor: pointer;
}
.insights-subscribe-consent input[type="checkbox"] {
  margin-top: 3px;
  width: 14px;
  height: 14px;
  accent-color: var(--brand-blue);
  cursor: pointer;
  flex-shrink: 0;
}

/* Archive — filter chips above the article grid */
.insights-archive {
  padding: 48px 48px 96px;
  background: var(--navy-deep);
  border-top: 1px solid var(--line);
}
.insights-archive-inner {
  max-width: 1400px;
  margin: 0 auto;
}
.insights-filter {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.insights-filter-chip {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: transparent;
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  padding: 8px 16px;
  cursor: pointer;
  transition: all .2s ease;
}
.insights-filter-chip:hover {
  color: var(--white);
  border-color: var(--white);
}
.insights-filter-chip.is-active {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: var(--navy);
}

.insights-archive-empty {
  text-align: center;
  font-size: 15px;
  color: var(--text-quiet);
  font-style: italic;
  margin: 40px 0;
}

/* ============ CONNECT PAGE ============ */
.connect-page .page-hero { padding: 96px 48px 32px; }
@media (max-width: 880px) { .connect-page .page-hero { padding: 72px 24px 24px; } }
.connect-section {
  padding: 32px 48px 64px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}

/* Three-tile row: Apply for funding · Request information · Syndicate access */
.connect-tiles-section {
  padding: 0 48px 80px;
  background: var(--navy);
}
.connect-tiles-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.connect-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}
.connect-tile {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color .25s ease, background .25s ease;
}
.connect-tile:hover {
  border-color: var(--brand-blue);
  background: rgba(0, 38, 62, 0.7);
}
.connect-tile .section-label { margin-bottom: 0; }
.connect-tile h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0;
}
.connect-tile p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 4px;
}
.connect-tile .cta-btn {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 880px) {
  .connect-tiles-section { padding: 0 24px 64px; }
  .connect-tiles { grid-template-columns: 1fr; gap: 16px; }
}
.connect-section-alt {
  background: var(--navy-deep);
}
.connect-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.connect-inner-narrow {
  max-width: 760px;
  margin: 0 auto;
}
.connect-section .section-label { margin-bottom: 16px; }
.connect-section h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
  max-width: 24ch;
}
.connect-section h2 .accent { color: var(--brand-blue); }
.connect-section > .connect-inner > p,
.connect-section > .connect-inner-narrow > p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 24px;
  max-width: 64ch;
}
.connect-section p a:not(.cta-btn) { color: var(--brand-blue); }
.connect-section p a:not(.cta-btn):hover { color: var(--brand-blue-soft); }

/* Founders + Investors side-by-side pair */
.connect-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
/* Solo row variant — single centred block (founders alone at top) */
.connect-pair-solo {
  grid-template-columns: 1fr;
  max-width: 720px;
  margin: 0 auto;
}
.connect-block {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .25s ease, background .25s ease;
}
.connect-block:hover {
  border-color: var(--brand-blue);
  background: rgba(0, 38, 62, 0.7);
}
.connect-block .section-label { margin-bottom: 4px; }
.connect-block h2 {
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.2;
  margin: 0;
  max-width: 22ch;
}
.connect-block > p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0;
}
.connect-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: auto;
}
.connect-aside {
  font-size: 13px;
  color: var(--text-quiet);
  font-weight: 300;
  margin: 4px 0 0 !important;
  max-width: none !important;
}
.connect-aside a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Subscribe inline form */
.connect-subscribe-form {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  max-width: 520px;
}
.connect-subscribe-form input[type="email"] {
  flex: 1;
  min-width: 240px;
  padding: 14px 18px;
  background: rgba(0, 13, 20, 0.6);
  border: 1px solid var(--line-strong);
  border-radius: 100px;
  color: var(--white);
  font-family: var(--body);
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease;
}
.connect-subscribe-form input[type="email"]:focus { border-color: var(--brand-blue); }
.connect-subscribe-form input[type="email"]::placeholder { color: var(--text-quiet); }

/* The firm — bottom contact / address block */
.connect-firm {
  padding: 56px 48px 72px;
  background: var(--navy-deepest);
  border-top: 1px solid var(--line);
}
.connect-firm-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.connect-firm-inner > .section-label { margin-bottom: 16px; }
.connect-firm-h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 40px;
  max-width: none;
  color: var(--white);
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
}
.connect-firm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.connect-firm-block h5 {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-blue);
  margin: 0 0 12px;
}
.connect-firm-block p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0;
}
.connect-firm-block a {
  color: var(--text-muted);
  transition: color .2s ease;
}
.connect-firm-block a:hover { color: var(--white); }
.connect-firm-country {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-quiet);
  display: inline-block;
  margin-top: 6px;
}

@media (max-width: 880px) {
  .connect-pair { grid-template-columns: 1fr; }
  .connect-firm-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .connect-firm-grid { grid-template-columns: 1fr; }
}

/* ============ RESOURCES PAGE ============ */
.resources-section {
  padding: 64px 48px 80px;
  background: var(--navy);
  border-top: 1px solid var(--line);
}
.resources-section.resources-alt {
  background: var(--navy-deep);
}
.resources-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.resources-inner > .section-label { margin-bottom: 16px; }
.resources-section h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 48px;
  max-width: 22ch;
}
.resources-section h2 .accent { color: var(--brand-blue); }

.resource-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.resource-card {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .25s ease, background .25s ease;
  position: relative;
}
.resource-card:hover {
  border-color: var(--brand-blue);
  background: rgba(0, 38, 62, 0.7);
}
.resource-card .resource-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: auto;
  font-family: var(--body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--brand-blue);
  background: transparent;
  border: 1px solid var(--brand-blue);
  border-radius: 100px;
  padding: 10px 20px;
  cursor: default;
  user-select: none;
}
.resource-card h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--white);
}
.resource-card p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0;
}
.resource-card .cta-btn {
  margin-top: auto;
  align-self: flex-start;
}

/* Industry references — categorised link lists */
.industry-references h2 { margin-bottom: 20px; }
.industry-intro {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-muted);
  font-weight: 300;
  margin: 0 0 48px;
  max-width: 70ch;
}
.references-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 48px;
}
.references-category h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.015em;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--white);
}
.references-category ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.references-category ul li {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.references-category ul li:last-child { border-bottom: none; }
.references-category ul li a {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: var(--brand-blue);
  margin-bottom: 4px;
  transition: color .2s ease;
}
.references-category ul li a:hover { color: var(--brand-blue-soft); }
.references-category .ref-desc {
  display: block;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
  font-weight: 300;
}

/* Closing CTA — match the other closing CTA pages exactly */
.resources-cta {
  padding: 64px 48px 72px;
}
.resources-cta .cta-inner { max-width: 860px; }
.resources-cta .cta-headline {
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 32px;
}

@media (max-width: 880px) {
  .resource-cards { grid-template-columns: 1fr; }
  .references-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ============ PORTFOLIO — CLOSING CTA (override default .cta sizing) ============ */
.portfolio-cta {
  padding: 64px 48px 72px;
}
.portfolio-cta .cta-inner { max-width: 860px; }
.portfolio-cta .cta-headline {
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
}
.portfolio-cta-sub {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 300;
  max-width: 56ch;
  margin: 0 auto 36px;
}
.portfolio-cta .cta-actions { margin-top: 8px; }

/* Fund 0 compact header — restore section-label spacing */
.portfolio-header-compact .section-label { margin-bottom: 12px; }

/* ============ INVESTORS — CLOSING CTA (override default .cta sizing) ============ */
.investors-cta {
  padding: 64px 48px 72px;
  background: var(--navy-deepest);
}
.investors-cta .cta-inner { max-width: 860px; }
.investors-cta .cta-headline {
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin-bottom: 32px;
}
.investors-cta .cta-actions { margin-top: 8px; }

/* ============ INVESTORS — RISK & IMPORTANT INFO ============ */
.risk-info {
  padding: 56px 48px 80px;
  background: var(--navy-deepest);
  border-top: 1px solid var(--line);
}
.risk-info-inner {
  max-width: 900px;
  margin: 0 auto;
}
.risk-info-inner > .section-label { margin-bottom: 20px; }
.risk-info p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-quiet);
  font-weight: 300;
  margin: 0 0 16px;
}
.risk-info-acn {
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--text-quiet) !important;
}

@media (max-width: 720px) {
  .options-grid { grid-template-columns: 1fr; }
  .fund-stats { grid-template-columns: repeat(2, 1fr); }
  .fund-stat { border-left: none; border-top: 1px solid var(--line); }
  .fund-stat:nth-child(1), .fund-stat:nth-child(2) { border-top: none; }
  .fund-stat:nth-child(2n) { border-left: 1px solid var(--line); }
}

/* ============ ABOUT — CLOSING CTA (yellow highlight, paired with the pathway tiles below) ============ */
.about-closing-cta {
  padding: 56px 48px 12px;
}
.about-closing-cta .cta-inner { max-width: 860px; }
.about-closing-cta .cta-headline {
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0;
}

/* When the pathway tiles immediately follow the closing CTA, snap them right
   underneath so the headline + tiles read as one closing unit. */
.about-closing-cta + .cta-paths {
  padding-top: 4px;
  border-top: none;
}

/* ============ DUAL CTA PATHWAY ============ */
.cta-paths { text-align: left; }
.cta-paths-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.cta-path {
  background: rgba(0, 25, 37, 0.6);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: border-color .25s ease, background .25s ease;
}
.cta-path:hover {
  border-color: var(--brand-blue);
  background: rgba(0, 38, 62, 0.7);
}
.cta-path .section-label { margin-bottom: 4px; }
.cta-path h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 24ch;
  color: var(--white);
}
.cta-path .cta-btn {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 720px) {
  .cta-paths-inner { grid-template-columns: 1fr; gap: 16px; }
  .cta-path { padding: 32px 28px; }
}
