/* ═══════════════════════════════════════════════
   PERSEA VITALIS INC. — Main Stylesheet
   Colours sampled from pitch deck screenshots
   ═══════════════════════════════════════════════ */

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Design tokens ── */
:root {
  --navy:         #1C3154;   /* slide 1 background */
  --gold:         #C9923B;   /* slide 1 accent / AFTER labels */
  --cream:        #EDEAE4;   /* slide 2 page background */
  --card:         #E3DFD8;   /* slide 2 card surfaces */
  --sage:         #7A8A6A;   /* slide 1 decorative circle */
  --white:        #FFFFFF;
  --muted:        #8A857F;
  --body:         #3D4A5C;
  --border-dark:  rgba(255 255 255 / 0.13);
  --border-light: rgba(28 49 84 / 0.12);

  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'DM Sans', system-ui, sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--navy);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Skip link (a11y) ── */
.skip-link {
  position: absolute; top: -100%; left: 1rem;
  padding: 0.5rem 1rem;
  background: var(--gold); color: var(--navy);
  font-weight: 600; font-size: 0.85rem;
  border-radius: 0 0 4px 4px;
  text-decoration: none; z-index: 999;
}
.skip-link:focus { top: 0; }

/* ── Navbar ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 3.5rem;
  background: rgba(28, 49, 84, 0.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-dark);
}
.nav-brand { display: flex; flex-direction: column; gap: 3px; text-decoration: none; flex-shrink: 0; }
.nav-brand-name {
  font-family: var(--sans); font-weight: 600;
  font-size: 0.72rem; letter-spacing: 0.22em;
  color: var(--white); text-transform: uppercase;
  white-space: nowrap;
}
.nav-brand-rule { width: 2rem; height: 2px; background: var(--gold); }

.nav-links { display: flex; align-items: center; gap: 2.25rem; list-style: none; }
.nav-links a {
  font-size: 0.78rem; font-weight: 500; letter-spacing: 0.06em;
  color: rgba(255 255 255 / 0.68); text-decoration: none;
  text-transform: uppercase; transition: color 0.18s;
}
.nav-links a:hover { color: var(--gold); }
.nav-links a[aria-current="page"] { color: var(--gold); }

.nav-cta {
  font-size: 0.78rem !important; font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  color: var(--navy) !important; background: var(--gold);
  padding: 0.55rem 1.3rem; border-radius: 2px;
  transition: opacity 0.18s !important;
}
.nav-cta:hover { opacity: 0.85; color: var(--navy) !important; }

/* ── Hamburger ── */
.nav-hamburger {
  display: none;
  flex-direction: column; justify-content: center; align-items: center;
  gap: 5px; width: 36px; height: 36px;
  background: none; border: none; cursor: pointer; padding: 0;
}
.nav-hamburger span {
  display: block; width: 22px; height: 2px;
  background: rgba(255 255 255 / 0.75);
  border-radius: 2px;
  transition: transform 0.22s, opacity 0.22s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile overlay ── */
.nav-mobile-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 190;
  background: rgba(12 22 40 / 0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.nav-mobile-overlay.open { display: flex; align-items: center; justify-content: center; }
.nav-mobile-menu {
  display: flex; flex-direction: column;
  align-items: center; gap: 2rem;
}
.nav-mobile-menu a {
  font-size: 1.1rem; font-weight: 500; letter-spacing: 0.08em;
  text-transform: uppercase; color: rgba(255 255 255 / 0.72);
  text-decoration: none; transition: color 0.18s;
}
.nav-mobile-menu a:hover,
.nav-mobile-menu a[aria-current="page"] { color: var(--gold); }
.nav-mobile-cta {
  margin-top: 0.5rem;
  color: var(--navy) !important; background: var(--gold);
  padding: 0.75rem 2.5rem; border-radius: 2px;
}

@media (max-width: 680px) {
  .nav-hamburger { display: flex; }
}

/* ── Shared section primitives ── */
.section-label {
  font-size: 0.63rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.9rem;
}
.section-headline {
  font-family: var(--serif); font-weight: 700;
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  color: var(--navy); line-height: 1.15;
  margin-bottom: 1.1rem; letter-spacing: -0.01em;
}
.section-body {
  font-size: 0.97rem; color: var(--body);
  line-height: 1.8; max-width: 580px;
}
.inner { max-width: 1160px; margin: 0 auto; }

/* ── Button primitives ── */
.btn-primary {
  font-family: var(--sans); font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--navy); background: var(--gold);
  padding: 0.9rem 2.1rem; border-radius: 2px;
  text-decoration: none; transition: opacity 0.18s;
  display: inline-block;
}
.btn-primary:hover { opacity: 0.86; }

.btn-outline {
  font-family: var(--sans); font-size: 0.82rem; font-weight: 500;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: rgba(255 255 255 / 0.8); background: transparent;
  border: 1px solid rgba(255 255 255 / 0.3);
  padding: 0.9rem 2.1rem; border-radius: 2px;
  text-decoration: none; transition: border-color 0.18s, color 0.18s;
  display: inline-block;
}
.btn-outline:hover { border-color: var(--gold); color: var(--gold); }

.btn-text {
  font-size: 0.82rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gold); text-decoration: none;
  border-bottom: 1px solid rgba(201 146 59 / 0.5);
  padding-bottom: 2px; transition: opacity 0.18s;
}
.btn-text:hover { opacity: 0.72; }

/* ── Hero ── */
.hero {
  min-height: 100vh; background: var(--navy);
  display: flex; flex-direction: column; justify-content: center;
  padding: 9rem 3.5rem 5rem;
  position: relative; overflow: hidden;
}
.hero::after {
  content: ''; position: absolute;
  bottom: -6rem; right: -6rem;
  width: 30rem; height: 30rem;
  border-radius: 50%; background: var(--sage);
  opacity: 0.32; pointer-events: none;
}
.hero-inner { max-width: 860px; position: relative; z-index: 1; }

.hero-badge-row { display: flex; align-items: center; gap: 1rem; margin-bottom: 2.75rem; }
.badge-pill {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--navy); background: var(--gold);
  padding: 0.32rem 0.85rem; border-radius: 2px;
}
.badge-sep { width: 1px; height: 1rem; background: var(--border-dark); }
.badge-label {
  font-size: 0.72rem; font-weight: 400; letter-spacing: 0.1em;
  color: rgba(255 255 255 / 0.5); text-transform: uppercase;
}

.hero-headline {
  font-family: var(--serif); font-weight: 800;
  font-size: clamp(2.6rem, 5.5vw, 4.5rem);
  line-height: 1.08; color: var(--white);
  margin-bottom: 1.25rem; letter-spacing: -0.01em;
}
.hero-sub {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  color: rgba(255 255 255 / 0.72);
  margin-bottom: 2rem; line-height: 1.5;
}
.hero-body {
  font-size: 1rem; font-weight: 300;
  color: rgba(255 255 255 / 0.6);
  max-width: 600px; line-height: 1.8; margin-bottom: 3rem;
}
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 5rem; }

.hero-meta {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  max-width: 860px;
  border-top: 1px solid var(--border-dark); padding-top: 2.5rem;
}
.hero-meta-col { padding-right: 2.5rem; }
.hero-meta-col + .hero-meta-col {
  padding-left: 2.5rem; border-left: 1px solid var(--border-dark);
}
.hero-meta-label {
  font-size: 0.63rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 0.6rem;
}
.hero-meta-label::before {
  content: ''; display: block;
  width: 1.5rem; height: 2px;
  background: var(--gold); margin-bottom: 0.55rem;
}
.hero-meta-text { font-size: 0.83rem; color: rgba(255 255 255 / 0.62); line-height: 1.6; }

/* ── Root-Cause Mechanism ── */
.mechanism { background: var(--white); padding: 7rem 3.5rem; }
.mechanism-header { max-width: 600px; margin-bottom: 4rem; }

.causal-chain {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch; gap: 0; margin-bottom: 2.5rem;
}
.chain-arrow {
  display: flex; align-items: center; justify-content: center;
  padding: 0 0.85rem; color: var(--gold); font-size: 1.3rem; flex-shrink: 0;
}
.chain-node {
  background: var(--cream); border: 1px solid var(--card);
  border-radius: 3px; padding: 1.75rem 1.5rem;
  display: flex; flex-direction: column;
}
.chain-node.root { background: var(--navy); border-color: var(--navy); }

.chain-type {
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; margin-bottom: 0.5rem;
}
.chain-node.root .chain-type { color: var(--gold); }
.chain-node:not(.root) .chain-type { color: var(--muted); }

.chain-title {
  font-family: var(--serif); font-weight: 700;
  font-size: 1.05rem; line-height: 1.25; margin-bottom: 0.5rem;
}
.chain-node.root .chain-title { color: var(--white); }
.chain-node:not(.root) .chain-title { color: var(--navy); }

.chain-stat { font-size: 0.9rem; font-weight: 600; color: var(--gold); margin-bottom: 0.4rem; }

.chain-mech { font-size: 0.75rem; line-height: 1.5; flex-grow: 1; }
.chain-node.root .chain-mech { color: rgba(255 255 255 / 0.55); }
.chain-node:not(.root) .chain-mech { color: var(--muted); }

.chain-trl {
  display: inline-block; margin-top: 1rem;
  font-size: 0.63rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; padding: 0.28rem 0.65rem;
  border-radius: 2px; align-self: flex-start;
}
.chain-node.root .chain-trl { background: rgba(201 146 59 / 0.2); color: var(--gold); }
.chain-node:not(.root) .chain-trl { background: var(--card); color: var(--navy); }

.mechanism-footnote {
  font-size: 0.8rem; font-style: italic; color: var(--muted);
  line-height: 1.65; max-width: 820px;
  border-left: 2px solid var(--gold); padding-left: 1rem;
}

/* ── White Space ── */
.whitespace { background: var(--navy); padding: 7rem 3.5rem; }
.whitespace-header { max-width: 600px; margin-bottom: 4rem; }
.whitespace-header .section-headline { color: var(--white); }
.whitespace-header .section-body { color: rgba(255 255 255 / 0.6); }

.stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--border-dark); border-radius: 3px;
  overflow: hidden; margin-bottom: 3rem;
}
.stat-item { padding: 2.5rem 2rem; }
.stat-item + .stat-item { border-left: 1px solid var(--border-dark); }
.stat-number {
  font-family: var(--serif); font-weight: 800;
  font-size: 3.75rem; line-height: 1;
  color: var(--gold); margin-bottom: 0.75rem;
}
.stat-label { font-size: 0.82rem; color: rgba(255 255 255 / 0.6); line-height: 1.55; }

.ws-callout {
  background: rgba(245 224 195 / 0.1);
  border: 1px solid rgba(201 146 59 / 0.3);
  border-left: 3px solid var(--gold);
  border-radius: 2px; padding: 1.75rem 2.25rem; max-width: 860px;
}
.ws-callout blockquote {
  font-family: var(--serif); font-style: italic;
  font-size: 1.05rem; color: rgba(255 255 255 / 0.82); line-height: 1.65;
}
.ws-callout cite {
  display: block; margin-top: 0.85rem;
  font-family: var(--sans); font-style: normal;
  font-size: 0.73rem; color: var(--gold); letter-spacing: 0.05em;
}

/* ── Pipeline ── */
.pipeline { background: var(--cream); padding: 7rem 3.5rem; }
.pipeline-header { max-width: 580px; margin-bottom: 4.5rem; }

.timeline-wrap { position: relative; margin-bottom: 3rem; }
.timeline-wrap::before {
  content: ''; position: absolute;
  top: 0.45rem; left: 0.45rem; right: 0.45rem;
  height: 2px; background: var(--card); z-index: 0;
}
.timeline-wrap::after {
  content: ''; position: absolute;
  top: 0.45rem; left: 0.45rem;
  width: calc(25% - 0.45rem); height: 2px;
  background: var(--gold); z-index: 0;
}
.timeline {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2rem; position: relative; z-index: 1;
}

.tl-phase {}
.tl-dot { width: 0.9rem; height: 0.9rem; border-radius: 50%; margin-bottom: 1.75rem; position: relative; z-index: 2; }
.tl-dot.active { background: var(--gold); box-shadow: 0 0 0 5px rgba(201 146 59 / 0.22); }
.tl-dot.pending { background: var(--cream); border: 2px solid var(--card); }

.tl-tag {
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 0.3rem;
}
.tl-period { font-size: 0.73rem; color: var(--muted); margin-bottom: 0.85rem; }
.tl-title {
  font-family: var(--serif); font-weight: 700;
  font-size: 1.05rem; color: var(--navy);
  line-height: 1.25; margin-bottom: 1rem;
}
.tl-items { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; margin-bottom: 1.25rem; }
.tl-items li {
  font-size: 0.8rem; color: var(--body);
  padding-left: 1rem; position: relative; line-height: 1.45;
}
.tl-items li::before {
  content: ''; position: absolute; left: 0; top: 0.52em;
  width: 0.33rem; height: 0.33rem;
  border-radius: 50%; background: var(--gold);
}
.tl-output {
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--navy);
  background: var(--card); padding: 0.45rem 0.75rem;
  border-radius: 2px; display: inline-block;
}
.pipeline-link-row { text-align: center; padding-top: 0.5rem; }

/* ── Audience CTAs ── */
.audience { background: var(--white); padding: 7rem 3.5rem; }
.audience-header { max-width: 580px; margin-bottom: 4rem; }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.audience-card {
  background: var(--cream); border: 1px solid var(--card);
  border-radius: 3px; padding: 2.5rem 2rem;
  display: flex; flex-direction: column;
  transition: border-color 0.22s, transform 0.22s;
}
.audience-card:hover { border-color: var(--gold); transform: translateY(-3px); }

.card-number {
  font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem;
}
.card-title {
  font-family: var(--serif); font-weight: 700;
  font-size: 1.4rem; color: var(--navy);
  line-height: 1.2; margin-bottom: 1.25rem;
}
.card-rule { width: 100%; height: 1px; background: var(--card); margin-bottom: 1.25rem; }
.card-tags { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1.4rem; }
.card-tag {
  font-size: 0.68rem; font-weight: 500; color: var(--navy);
  background: var(--card); padding: 0.28rem 0.62rem; border-radius: 2px;
}
.card-desc {
  font-size: 0.87rem; color: var(--body);
  line-height: 1.72; flex-grow: 1; margin-bottom: 2rem;
}
.card-link {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--navy); text-decoration: none;
  border: 1px solid var(--navy); padding: 0.68rem 1.2rem;
  border-radius: 2px; align-self: flex-start;
  transition: background 0.18s, color 0.18s;
}
.card-link:hover { background: var(--navy); color: var(--white); }

/* ── Footer ── */
footer { background: var(--navy); padding: 3.5rem; }
.footer-inner { max-width: 1160px; margin: 0 auto; }
.footer-top {
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: start; gap: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--border-dark); margin-bottom: 2rem;
}
.footer-brand-name {
  font-size: 0.7rem; font-weight: 600; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--white); margin-bottom: 0.4rem;
}
.footer-brand-rule { width: 1.5rem; height: 2px; background: var(--gold); margin-bottom: 0.7rem; }
.footer-brand-corp { font-size: 0.75rem; color: rgba(255 255 255 / 0.4); }

.footer-nav {
  display: flex; flex-wrap: wrap; gap: 0.5rem 2rem;
  align-self: center; justify-self: center;
}
.footer-nav a {
  font-size: 0.75rem; font-weight: 500; letter-spacing: 0.07em;
  text-transform: uppercase; color: rgba(255 255 255 / 0.5);
  text-decoration: none; transition: color 0.18s;
}
.footer-nav a:hover { color: var(--gold); }

.footer-contact { display: flex; flex-direction: column; gap: 0.4rem; text-align: right; }
.footer-contact a,
.footer-contact span {
  font-size: 0.8rem; color: rgba(255 255 255 / 0.55);
  text-decoration: none; transition: color 0.18s;
}
.footer-contact a:hover { color: var(--gold); }

.footer-bottom {
  display: flex; justify-content: space-between;
  align-items: flex-start; gap: 2rem; flex-wrap: wrap;
}
.footer-disclaimer {
  font-size: 0.75rem; color: rgba(255 255 255 / 0.38);
  line-height: 1.65; max-width: 780px;
}
.footer-copy { font-size: 0.72rem; color: rgba(255 255 255 / 0.3); white-space: nowrap; }

/* ═══════════════════════════════════════════════
   SCIENCE PAGE
   ═══════════════════════════════════════════════ */

/* ── Science hero (light) ── */
.science-hero {
  background: var(--cream);
  padding: 9rem 3.5rem 5rem;
  border-bottom: 1px solid var(--border-light);
}
.science-hero-inner { max-width: 760px; }
.science-hero .section-headline { font-size: clamp(2rem, 3.8vw, 3rem); }

/* ── TRL Scorecard ── */
.trl-section { background: var(--navy); padding: 7rem 3.5rem; }
.trl-header { max-width: 620px; margin-bottom: 4rem; }
.trl-header .section-headline { color: var(--white); }
.trl-header .section-body { color: rgba(255 255 255 / 0.6); }

.trl-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border-dark);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 2rem;
}
.trl-row {
  display: grid;
  grid-template-columns: 200px 110px 1fr 1fr;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--border-dark);
  transition: background 0.15s;
}
.trl-row:last-child { border-bottom: none; }
.trl-row:hover { background: rgba(255 255 255 / 0.03); }
.trl-row-header {
  background: rgba(255 255 255 / 0.05);
  pointer-events: none;
}

.trl-cell {
  padding: 1.1rem 1.25rem;
  border-right: 1px solid var(--border-dark);
  font-size: 0.8rem;
  color: rgba(255 255 255 / 0.7);
  line-height: 1.45;
}
.trl-cell:last-child { border-right: none; }
.trl-cell-head {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}

.trl-claim-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--white);
}

/* TRL bar */
.trl-bar-wrap { display: flex; align-items: center; gap: 0.75rem; }
.trl-bar-track {
  flex: 1;
  height: 5px;
  background: rgba(255 255 255 / 0.1);
  border-radius: 10px;
  overflow: hidden;
}
.trl-bar-fill {
  height: 100%;
  border-radius: 10px;
  background: var(--gold);
}
.trl-badge {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0.25rem 0.6rem;
  border-radius: 2px;
}
.trl-badge.anchor   { background: rgba(201 146 59 / 0.2); color: var(--gold); }
.trl-badge.downstream { background: rgba(255 255 255 / 0.08); color: rgba(255 255 255 / 0.6); }
.trl-badge.prerequisite { background: rgba(224 112 112 / 0.15); color: #E08080; }

.trl-role-pill {
  display: inline-block;
  font-size: 0.63rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.22rem 0.55rem;
  border-radius: 2px;
  margin-bottom: 0.3rem;
}
.trl-role-pill.anchor      { background: rgba(201 146 59 / 0.18); color: var(--gold); }
.trl-role-pill.downstream  { background: rgba(255 255 255 / 0.07); color: rgba(255 255 255 / 0.5); }
.trl-role-pill.prerequisite{ background: rgba(224 112 112 / 0.15); color: #E08080; }

.trl-legend {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.trl-legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  color: rgba(255 255 255 / 0.5);
}
.trl-legend-dot {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
}
.trl-legend-dot.anchor      { background: var(--gold); }
.trl-legend-dot.downstream  { background: rgba(255 255 255 / 0.3); }
.trl-legend-dot.prerequisite{ background: #E08080; }

/* ── Research Library ── */
.library-section { background: var(--white); padding: 7rem 3.5rem; }
.library-header { max-width: 620px; margin-bottom: 4rem; }

.paper-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.paper-card {
  background: var(--cream);
  border: 1px solid var(--card);
  border-radius: 3px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  transition: border-color 0.18s;
}
.paper-card:hover { border-color: var(--gold); }

.paper-rank {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.paper-citation {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy);
  line-height: 1.3;
}
.paper-title {
  font-size: 0.78rem;
  color: var(--muted);
  font-style: italic;
  line-height: 1.4;
}
.paper-meta {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-top: 0.15rem;
}
.paper-pill {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.22rem 0.55rem;
  border-radius: 2px;
}
.paper-pill.role { background: rgba(201 146 59 / 0.12); color: var(--gold); }
.paper-pill.trl  { background: var(--card); color: var(--navy); }
.paper-pill.claim{ background: var(--card); color: var(--body); }

.paper-contribution {
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.6;
  border-top: 1px solid var(--card);
  padding-top: 0.75rem;
  margin-top: 0.25rem;
}

/* ── Gaps / Transparency ── */
.gaps-section { background: var(--cream); padding: 7rem 3.5rem; }
.gaps-header { max-width: 620px; margin-bottom: 4rem; }

.gap-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 900px;
  margin-bottom: 2rem;
}
.gap-card {
  background: var(--white);
  border: 1px solid var(--card);
  border-radius: 3px;
  padding: 2rem;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0 2rem;
  align-items: start;
}
.gap-left {}
.gap-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.gap-status {
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.28rem 0.65rem;
  border-radius: 2px;
  display: inline-block;
}
.gap-status.blocker  { background: rgba(224 112 112 / 0.15); color: #C0504A; }
.gap-status.required { background: rgba(201 146 59 / 0.15); color: var(--gold); }
.gap-status.ceiling  { background: var(--card); color: var(--muted); }

.gap-desc {
  font-size: 0.85rem;
  color: var(--body);
  line-height: 1.72;
  margin-bottom: 0.85rem;
}
.gap-closes-label {
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.3rem;
}
.gap-closes-text {
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.5;
}

/* ── Evidence Ceiling ── */
.ceiling-section { background: var(--navy); padding: 7rem 3.5rem; }
.ceiling-header { max-width: 620px; margin-bottom: 4rem; }
.ceiling-header .section-headline { color: var(--white); }
.ceiling-header .section-body { color: rgba(255 255 255 / 0.6); }

.ceiling-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border-dark);
  border-radius: 3px;
  overflow: hidden;
  max-width: 860px;
  margin-bottom: 3rem;
}
.ceiling-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid var(--border-dark);
  font-size: 0.85rem;
  color: rgba(255 255 255 / 0.7);
  line-height: 1.55;
}
.ceiling-item:last-child { border-bottom: none; }
.ceiling-item::before {
  content: '✗';
  color: var(--gold);
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 0.05rem;
}

/* ── Responsive — science ── */
@media (max-width: 1100px) {
  .science-hero { padding: 8rem 2rem 4rem; }
  .trl-section, .library-section, .gaps-section, .ceiling-section { padding: 5rem 2rem; }
  .trl-row { grid-template-columns: 1fr 1fr; }
  .trl-row-header { display: none; }
  .trl-cell { border-right: none; border-bottom: 1px solid var(--border-dark); padding: 0.75rem 1rem; }
  .trl-cell:last-child { border-bottom: none; }
  .paper-grid { grid-template-columns: 1fr; }
  .gap-card { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 680px) {
  .trl-row { grid-template-columns: 1fr; }
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  nav { padding: 1.1rem 2rem; }
  .hero { padding: 8rem 2rem 4rem; }
  .mechanism, .whitespace, .pipeline, .audience { padding: 5rem 2rem; }
  footer { padding: 3rem 2rem; }

  .causal-chain { grid-template-columns: 1fr; }
  .chain-arrow { transform: rotate(90deg); padding: 0.25rem 0; font-size: 1rem; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item + .stat-item { border-left: none; }
  .stat-item:nth-child(2n) { border-left: 1px solid var(--border-dark); }
  .stat-item:nth-child(n+3) { border-top: 1px solid var(--border-dark); }

  .timeline-wrap::before,
  .timeline-wrap::after { display: none; }
  .timeline { grid-template-columns: 1fr 1fr; gap: 2.5rem; }

  .audience-grid { grid-template-columns: 1fr; max-width: 520px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-nav { justify-self: auto; }
  .footer-contact { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 680px) {
  .nav-links { display: none; }
  .hero-headline { font-size: 2.2rem; }
  .hero-meta { grid-template-columns: 1fr; gap: 1.5rem; }
  .hero-meta-col { padding-left: 0 !important; border-left: none !important; border-top: 1px solid var(--border-dark); padding-top: 1.25rem; }
  .hero-meta-col:first-child { border-top: none; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item + .stat-item { border-left: none; border-top: 1px solid var(--border-dark); }
  .stat-item:nth-child(2n) { border-left: none; }
  .timeline { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-contact { text-align: left; }
}

/* ═══════════════════════════════════════════════
   PIPELINE PAGE
   ═══════════════════════════════════════════════ */

/* ── Pipeline hero ── */
.pl-hero {
  background: var(--navy);
  padding: 10rem 3.5rem 6rem;
}
.pl-hero-inner { max-width: 680px; }
.pl-hero .section-headline { color: var(--white); }
.pl-hero .section-body { color: rgba(255 255 255 / 0.62); max-width: 560px; }

/* ── Phase timeline (full page version) ── */
.pl-timeline-section {
  background: var(--cream);
  padding: 7rem 3.5rem;
}
.pl-timeline-header { max-width: 620px; margin-bottom: 4rem; }

.pl-phases {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 960px;
  border: 1px solid var(--border-light);
  border-radius: 4px;
  overflow: hidden;
}
.pl-phase {
  display: grid;
  grid-template-columns: 220px 1fr;
  border-bottom: 1px solid var(--border-light);
}
.pl-phase:last-child { border-bottom: none; }
.pl-phase-left {
  background: var(--navy);
  padding: 2.25rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.pl-phase.pending .pl-phase-left { background: rgba(28 49 84 / 0.06); }
.pl-phase-tag {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}
.pl-phase-title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--white);
  line-height: 1.25;
}
.pl-phase.pending .pl-phase-title { color: var(--navy); }
.pl-phase-period {
  font-size: 0.72rem;
  color: rgba(255 255 255 / 0.45);
  line-height: 1.4;
}
.pl-phase.pending .pl-phase-period { color: var(--muted); }
.pl-trl-badge {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  border-radius: 2px;
  background: rgba(201 146 59 / 0.18);
  color: var(--gold);
  margin-top: 0.4rem;
  align-self: flex-start;
}
.pl-phase-right {
  background: var(--white);
  padding: 2.25rem 2rem;
}
.pl-phase.pending .pl-phase-right { background: var(--cream); }
.pl-items {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1.5rem;
}
.pl-items li {
  font-size: 0.85rem;
  color: var(--body);
  line-height: 1.55;
  padding-left: 1.1rem;
  position: relative;
}
.pl-items li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-size: 0.75rem;
}
.pl-output {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  background: rgba(201 146 59 / 0.1);
  border: 1px solid rgba(201 146 59 / 0.25);
  border-radius: 3px;
  padding: 0.6rem 0.85rem;
  margin-top: 0.25rem;
}
.pl-output-label {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  padding-top: 0.1rem;
}
.pl-output-text {
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.45;
}

/* ── Six-move deliverables ── */
.pl-moves-section {
  background: var(--navy);
  padding: 7rem 3.5rem;
}
.pl-moves-header { max-width: 620px; margin-bottom: 4rem; }
.pl-moves-header .section-headline { color: var(--white); }
.pl-moves-header .section-body { color: rgba(255 255 255 / 0.6); }

.pl-moves-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 960px;
  border: 1px solid var(--border-dark);
  border-radius: 4px;
  overflow: hidden;
}
.pl-move {
  display: grid;
  grid-template-columns: 100px 1fr;
  border-bottom: 1px solid var(--border-dark);
}
.pl-move:last-child { border-bottom: none; }
.pl-move-id {
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  border-right: 1px solid var(--border-dark);
}
.pl-move-id-label {
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--serif);
  color: var(--gold);
  letter-spacing: -0.01em;
}
.pl-move-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--muted);
  margin-top: 0.25rem;
}
.pl-move-status-dot.active { background: var(--gold); box-shadow: 0 0 0 3px rgba(201 146 59 / 0.25); }
.pl-move-body {
  padding: 2rem;
}
.pl-move-title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--white);
  margin-bottom: 0.65rem;
  line-height: 1.3;
}
.pl-move-scope {
  font-size: 0.82rem;
  color: rgba(255 255 255 / 0.55);
  line-height: 1.65;
  margin-bottom: 1rem;
}
.pl-move-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.pl-meta-pill {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  border-radius: 2px;
}
.pl-meta-pill.partner { background: rgba(255 255 255 / 0.07); color: rgba(255 255 255 / 0.6); }
.pl-meta-pill.funding { background: rgba(201 146 59 / 0.15); color: var(--gold); }
.pl-meta-pill.dossier { background: rgba(122 138 106 / 0.2); color: #9aab8a; }

/* ── Partners table ── */
.pl-partners-section {
  background: var(--cream);
  padding: 7rem 3.5rem;
}
.pl-partners-header { max-width: 620px; margin-bottom: 4rem; }

.pl-partner-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 960px;
  border: 1px solid var(--border-light);
  border-radius: 4px;
  overflow: hidden;
}
.pl-partner-row {
  display: grid;
  grid-template-columns: 180px 1fr 1fr 130px;
  border-bottom: 1px solid var(--border-light);
  background: var(--white);
}
.pl-partner-row:last-child { border-bottom: none; }
.pl-partner-row.header { background: var(--navy); }
.pl-partner-cell {
  padding: 1.25rem 1.5rem;
  border-right: 1px solid var(--border-light);
  font-size: 0.82rem;
  color: var(--body);
  line-height: 1.5;
}
.pl-partner-cell:last-child { border-right: none; }
.pl-partner-row.header .pl-partner-cell {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255 255 255 / 0.5);
  border-right-color: var(--border-dark);
  padding: 0.9rem 1.5rem;
}
.pl-tier-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--navy);
  margin-bottom: 0.25rem;
  line-height: 1.25;
}
.pl-budget {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--navy);
}

/* ── Regulator map ── */
.pl-regulator-section {
  background: var(--navy);
  padding: 7rem 3.5rem;
}
.pl-regulator-header { max-width: 620px; margin-bottom: 4rem; }
.pl-regulator-header .section-headline { color: var(--white); }
.pl-regulator-header .section-body { color: rgba(255 255 255 / 0.6); }

.pl-reg-table {
  display: flex;
  flex-direction: column;
  max-width: 960px;
  border: 1px solid var(--border-dark);
  border-radius: 4px;
  overflow: hidden;
}
.pl-reg-row {
  display: grid;
  grid-template-columns: 130px 200px 1fr 160px;
  border-bottom: 1px solid var(--border-dark);
}
.pl-reg-row:last-child { border-bottom: none; }
.pl-reg-row.header { background: rgba(255 255 255 / 0.04); }
.pl-reg-cell {
  padding: 1.2rem 1.5rem;
  border-right: 1px solid var(--border-dark);
  font-size: 0.82rem;
  color: rgba(255 255 255 / 0.65);
  line-height: 1.5;
}
.pl-reg-cell:last-child { border-right: none; }
.pl-reg-row.header .pl-reg-cell {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255 255 255 / 0.35);
  padding: 0.85rem 1.5rem;
}
.pl-reg-phase-tag {
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 0.2rem;
}
.pl-reg-status {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  display: inline-block;
}
.pl-reg-status.active { background: rgba(201 146 59 / 0.2); color: var(--gold); }
.pl-reg-status.pending { background: rgba(255 255 255 / 0.07); color: rgba(255 255 255 / 0.4); }
.pl-reg-status.scoped { background: rgba(122 138 106 / 0.2); color: #9aab8a; }

/* ── Funding ── */
.pl-funding-section {
  background: var(--cream);
  padding: 7rem 3.5rem;
}
.pl-funding-header { max-width: 620px; margin-bottom: 4rem; }

.pl-funding-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  max-width: 960px;
  margin-bottom: 2.5rem;
}
.pl-funding-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: 3px;
  padding: 1.75rem;
}
.pl-funding-type {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.5rem;
}
.pl-funding-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy);
  line-height: 1.25;
  margin-bottom: 0.4rem;
}
.pl-funding-amount {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 0.6rem;
}
.pl-funding-timing {
  font-size: 0.72rem;
  color: var(--muted);
  margin-bottom: 0.75rem;
}
.pl-funding-notes {
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.6;
  border-top: 1px solid var(--card);
  padding-top: 0.75rem;
}
.pl-funding-note {
  font-size: 0.82rem;
  color: var(--body);
  line-height: 1.75;
  max-width: 780px;
  background: rgba(201 146 59 / 0.07);
  border-left: 3px solid var(--gold);
  padding: 1.25rem 1.5rem;
  border-radius: 0 3px 3px 0;
}

/* ── Responsive — pipeline page ── */
@media (max-width: 1100px) {
  .pl-hero { padding: 8rem 2rem 5rem; }
  .pl-timeline-section, .pl-moves-section, .pl-partners-section,
  .pl-regulator-section, .pl-funding-section { padding: 5rem 2rem; }
  .pl-phase { grid-template-columns: 1fr; }
  .pl-phase-left { padding: 1.5rem; }
  .pl-phase-right { padding: 1.5rem; }
  .pl-move { grid-template-columns: 80px 1fr; }
  .pl-partner-row { grid-template-columns: 1fr 1fr; }
  .pl-partner-row.header { display: none; }
  .pl-partner-cell { border-right: none; border-bottom: 1px solid var(--border-light); padding: 0.85rem 1rem; }
  .pl-partner-cell:last-child { border-bottom: none; }
  .pl-reg-row { grid-template-columns: 1fr 1fr; }
  .pl-reg-row.header { display: none; }
  .pl-reg-cell { border-right: none; border-bottom: 1px solid var(--border-dark); }
  .pl-funding-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .pl-move { grid-template-columns: 1fr; }
  .pl-move-id { flex-direction: row; align-items: center; padding: 1rem 1.5rem; border-right: none; border-bottom: 1px solid var(--border-dark); }
  .pl-partner-row { grid-template-columns: 1fr; }
  .pl-reg-row { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   SUPPLY PAGE
   ═══════════════════════════════════════════════ */

/* ── Supply hero ── */
.su-hero {
  background: var(--navy);
  padding: 10rem 3.5rem 6rem;
}
.su-hero-inner { max-width: 680px; }
.su-hero .section-headline { color: var(--white); }
.su-hero .section-body { color: rgba(255 255 255 / 0.62); max-width: 560px; }

/* ── Supply story ── */
.su-story-section {
  background: var(--cream);
  padding: 7rem 3.5rem;
}
.su-story-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  max-width: 1060px;
}
.su-story-text {}
.su-story-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--border-light);
  border-radius: 3px;
  overflow: hidden;
  align-self: start;
}
.su-stat {
  padding: 1.75rem 1.5rem;
  border-right: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}
.su-stat:nth-child(2n) { border-right: none; }
.su-stat:nth-child(n+3) { border-bottom: none; }
.su-stat-value {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.su-stat-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 0.25rem;
}
.su-stat-note {
  font-size: 0.7rem;
  color: var(--muted);
  line-height: 1.4;
}

/* ── Processing chain ── */
.su-chain-section {
  background: var(--navy);
  padding: 7rem 3.5rem;
}
.su-chain-header { max-width: 620px; margin-bottom: 4rem; }
.su-chain-header .section-headline { color: var(--white); }
.su-chain-header .section-body { color: rgba(255 255 255 / 0.6); }

.su-chain {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 1000px;
  border: 1px solid var(--border-dark);
  border-radius: 4px;
  overflow: hidden;
}
.su-chain-step {
  padding: 2rem 1.5rem;
  border-right: 1px solid var(--border-dark);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.su-chain-step:last-child { border-right: none; }
.su-step-num {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: rgba(255 255 255 / 0.3);
}
.su-step-title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--white);
  line-height: 1.2;
}
.su-step-status {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  align-self: flex-start;
}
.su-step-status.operational { background: rgba(122 138 106 / 0.25); color: #9aab8a; }
.su-step-status.in-progress { background: rgba(201 146 59 / 0.2); color: var(--gold); }
.su-step-status.pending { background: rgba(255 255 255 / 0.07); color: rgba(255 255 255 / 0.35); }
.su-step-desc {
  font-size: 0.78rem;
  color: rgba(255 255 255 / 0.5);
  line-height: 1.65;
  flex-grow: 1;
}
.su-step-gate {
  font-size: 0.68rem;
  color: rgba(255 255 255 / 0.35);
  line-height: 1.5;
  border-top: 1px solid var(--border-dark);
  padding-top: 0.65rem;
  margin-top: auto;
}
.su-step-gate::before {
  content: 'Gate: ';
  font-weight: 700;
  color: var(--gold);
}

/* ── Quality pillars ── */
.su-quality-section {
  background: var(--cream);
  padding: 7rem 3.5rem;
}
.su-quality-header { max-width: 620px; margin-bottom: 4rem; }

.su-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  max-width: 960px;
}
.su-pillar {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: 3px;
  padding: 1.75rem;
}
.su-pillar-title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--navy);
  margin-bottom: 0.65rem;
  line-height: 1.25;
}
.su-pillar-desc {
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.65;
}

/* ── Supply partner CTA ── */
.su-cta-section {
  background: var(--navy);
  padding: 7rem 3.5rem;
}
.su-cta-inner { max-width: 680px; }
.su-cta-inner .section-headline { color: var(--white); }
.su-cta-inner .section-body { color: rgba(255 255 255 / 0.6); max-width: 560px; margin-bottom: 2rem; }
.su-cta-note {
  font-size: 0.78rem;
  color: rgba(255 255 255 / 0.35);
  line-height: 1.65;
  margin-top: 1.5rem;
  max-width: 500px;
}

/* ── Responsive — supply ── */
@media (max-width: 1100px) {
  .su-hero { padding: 8rem 2rem 5rem; }
  .su-story-section, .su-chain-section, .su-quality-section, .su-cta-section { padding: 5rem 2rem; }
  .su-story-inner { grid-template-columns: 1fr; gap: 3rem; }
  .su-chain { grid-template-columns: 1fr 1fr; }
  .su-chain-step { border-right: 1px solid var(--border-dark); border-bottom: 1px solid var(--border-dark); }
  .su-chain-step:nth-child(2n) { border-right: none; }
  .su-chain-step:nth-child(n+3) { border-bottom: none; }
  .su-pillars { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .su-chain { grid-template-columns: 1fr; }
  .su-chain-step { border-right: none; border-bottom: 1px solid var(--border-dark); }
  .su-chain-step:last-child { border-bottom: none; }
  .su-pillars { grid-template-columns: 1fr; }
  .su-story-stats { grid-template-columns: 1fr; }
  .su-stat { border-right: none; border-bottom: 1px solid var(--border-light); }
  .su-stat:last-child { border-bottom: none; }
}

/* ═══════════════════════════════════════════════
   COMPANY PAGE
   ═══════════════════════════════════════════════ */

.co-hero {
  background: var(--navy);
  padding: 10rem 3.5rem 6rem;
}
.co-hero-inner { max-width: 740px; }
.co-hero .section-headline { color: var(--white); max-width: 680px; }
.co-hero .section-body { color: rgba(255 255 255 / 0.62); max-width: 580px; }

/* Who we are */
.co-who-section { background: var(--cream); padding: 7rem 3.5rem; }
.co-who-inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 5rem;
  align-items: start;
  max-width: 1060px;
}
.co-facts {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border-light);
  border-radius: 3px;
  overflow: hidden;
  align-self: start;
}
.co-fact {
  display: grid;
  grid-template-columns: 130px 1fr;
  border-bottom: 1px solid var(--border-light);
  background: var(--white);
}
.co-fact:last-child { border-bottom: none; }
.co-fact-label {
  padding: 1.1rem 1.25rem;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
  border-right: 1px solid var(--border-light);
  line-height: 1.4;
}
.co-fact-value {
  padding: 1.1rem 1.25rem;
}
.co-fact-value-main {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.3;
}
.co-fact-value-detail {
  font-size: 0.73rem;
  color: var(--muted);
  margin-top: 0.2rem;
}

/* Founder */
.co-founder-section { background: var(--navy); padding: 7rem 3.5rem; }
.co-founder-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  max-width: 1060px;
}
.co-founder-label { color: var(--gold); }
.co-founder-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 0.4rem;
  letter-spacing: -0.01em;
}
.co-founder-title {
  font-size: 0.78rem;
  color: var(--gold);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.co-founder-creds {
  font-size: 0.78rem;
  color: rgba(255 255 255 / 0.4);
  margin-bottom: 2rem;
}
.co-founder-body {
  font-size: 0.97rem;
  color: rgba(255 255 255 / 0.7);
  line-height: 1.8;
}
.co-founder-right {}

/* Mission */
.co-mission-section { background: var(--cream); padding: 7rem 3.5rem; }
.co-mission-inner { max-width: 780px; }
.co-mission-inner .section-headline { font-size: clamp(1.5rem, 2.8vw, 2.2rem); }

/* Vision callout */
.co-vision-section { background: var(--navy); padding: 7rem 3.5rem; }
.co-vision-inner { max-width: 860px; }
.co-vision-inner .section-headline { color: var(--white); }
.co-vision-inner .section-body { color: rgba(255 255 255 / 0.6); max-width: 100%; }
.co-vision-quote {
  margin-top: 3rem;
  border-left: 3px solid var(--gold);
  padding: 1.5rem 2rem;
  background: rgba(255 255 255 / 0.03);
  border-radius: 0 3px 3px 0;
  font-size: 1rem;
  color: rgba(255 255 255 / 0.75);
  line-height: 1.8;
  font-style: italic;
  max-width: 760px;
}

/* ── Responsive — company ── */
@media (max-width: 1100px) {
  .co-hero { padding: 8rem 2rem 5rem; }
  .co-who-section, .co-founder-section, .co-mission-section, .co-vision-section { padding: 5rem 2rem; }
  .co-who-inner { grid-template-columns: 1fr; gap: 3rem; }
  .co-founder-inner { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 680px) {
  .co-fact { grid-template-columns: 1fr; }
  .co-fact-label { border-right: none; border-bottom: 1px solid var(--border-light); padding: 0.75rem 1rem; }
  .co-fact-value { padding: 0.75rem 1rem; }
}

/* ═══════════════════════════════════════════════
   PARTNER PAGE
   ═══════════════════════════════════════════════ */

.pt-hero { background: var(--navy); padding: 10rem 3.5rem 6rem; }
.pt-hero-inner { max-width: 680px; }
.pt-hero .section-headline { color: var(--white); }
.pt-hero .section-body { color: rgba(255 255 255 / 0.62); max-width: 560px; }

/* Path tabs */
.pt-tabs-section { background: var(--cream); padding: 0 3.5rem; position: sticky; top: 65px; z-index: 100; border-bottom: 1px solid var(--border-light); }
.pt-tabs { display: flex; gap: 0; max-width: 1160px; margin: 0 auto; }
.pt-tab {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 1.25rem 2rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.18s, border-color 0.18s;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  font-family: var(--sans);
}
.pt-tab:hover { color: var(--navy); }
.pt-tab.active { color: var(--navy); border-bottom-color: var(--gold); }

/* Path panels */
.pt-panel { display: none; background: var(--cream); }
.pt-panel.active { display: block; }
.pt-panel-inner { max-width: 1060px; margin: 0 auto; padding: 6rem 0; }

.pt-panel-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 5rem;
  align-items: start;
}
.pt-panel-copy {}
.pt-panel-form {}

/* Workstreams / specs */
.pt-workstream-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border-light);
  border-radius: 3px;
  overflow: hidden;
  margin: 2rem 0;
}
.pt-workstream-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border-light);
  background: var(--white);
}
.pt-workstream-item:last-child { border-bottom: none; }
.pt-workstream-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 0.25rem;
}
.pt-workstream-detail {
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.55;
}

.pt-spec-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border-light);
  border-radius: 3px;
  overflow: hidden;
  margin: 2rem 0;
}
.pt-spec-item {
  display: grid;
  grid-template-columns: 180px 1fr;
  border-bottom: 1px solid var(--border-light);
  background: var(--white);
}
.pt-spec-item:last-child { border-bottom: none; }
.pt-spec-label {
  padding: 0.85rem 1rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  border-right: 1px solid var(--border-light);
}
.pt-spec-value {
  padding: 0.85rem 1rem;
  font-size: 0.8rem;
  color: var(--body);
  line-height: 1.5;
}

/* Use of funds list */
.pt-funds-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1.5rem 0;
}
.pt-funds-list li {
  font-size: 0.85rem;
  color: var(--body);
  line-height: 1.55;
  padding-left: 1.1rem;
  position: relative;
}
.pt-funds-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-size: 0.75rem;
}

.pt-thesis-box {
  background: rgba(201 146 59 / 0.07);
  border-left: 3px solid var(--gold);
  padding: 1.25rem 1.5rem;
  border-radius: 0 3px 3px 0;
  font-size: 0.85rem;
  color: var(--body);
  line-height: 1.72;
  margin: 2rem 0;
}

/* Forms */
.pt-form {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: 4px;
  padding: 2rem;
  position: sticky;
  top: 120px;
}
.pt-form-title {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy);
  margin-bottom: 0.25rem;
}
.pt-form-sub {
  font-size: 0.75rem;
  color: var(--muted);
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.pt-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.pt-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--navy);
}
.pt-label .req { color: var(--gold); margin-left: 2px; }
.pt-input,
.pt-select,
.pt-textarea {
  font-family: var(--sans);
  font-size: 0.85rem;
  background: var(--cream);
  border: 1px solid var(--border-light);
  border-radius: 2px;
  padding: 0.7rem 0.9rem;
  color: var(--navy);
  outline: none;
  transition: border-color 0.18s;
  width: 100%;
}
.pt-input:focus,
.pt-select:focus,
.pt-textarea:focus { border-color: var(--gold); }
.pt-textarea { min-height: 80px; resize: vertical; line-height: 1.55; }
.pt-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A857F' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; padding-right: 2.2rem; }
.pt-checkbox-group { display: flex; flex-direction: column; gap: 0.5rem; }
.pt-checkbox-item { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.pt-checkbox-item input[type="checkbox"] { accent-color: var(--gold); width: 14px; height: 14px; }
.pt-checkbox-item span { font-size: 0.82rem; color: var(--body); }
.pt-submit {
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--navy);
  background: var(--gold);
  border: none;
  padding: 0.9rem;
  border-radius: 2px;
  cursor: pointer;
  width: 100%;
  margin-top: 0.5rem;
  transition: opacity 0.18s;
}
.pt-submit:hover { opacity: 0.86; }
.pt-form-success {
  display: none;
  text-align: center;
  padding: 2rem 1rem;
  color: var(--navy);
  font-size: 0.9rem;
  line-height: 1.65;
}
.pt-form-success.visible { display: block; }
.pt-form-success-icon { font-size: 2rem; margin-bottom: 0.75rem; }

/* ── Responsive — partner ── */
@media (max-width: 1100px) {
  .pt-hero { padding: 8rem 2rem 5rem; }
  .pt-tabs-section { padding: 0 2rem; }
  .pt-panel-inner { padding: 4rem 2rem; }
  .pt-panel-grid { grid-template-columns: 1fr; gap: 3rem; }
  .pt-form { position: static; }
}
@media (max-width: 680px) {
  .pt-tabs { gap: 0; overflow-x: auto; }
  .pt-tab { padding: 1rem 1.25rem; white-space: nowrap; }
  .pt-spec-item { grid-template-columns: 1fr; }
  .pt-spec-label { border-right: none; border-bottom: 1px solid var(--border-light); }
}

/* ═══════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════ */

.ct-section {
  background: var(--navy);
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 10rem 3.5rem 6rem;
}
.ct-inner { max-width: 680px; }
.ct-inner .section-headline { color: var(--white); }
.ct-body {
  font-size: 0.97rem;
  color: rgba(255 255 255 / 0.62);
  line-height: 1.8;
  max-width: 540px;
  margin-bottom: 2.5rem;
}
.ct-body a { color: var(--gold); text-decoration: none; }
.ct-body a:hover { text-decoration: underline; }
.ct-email-block {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(255 255 255 / 0.05);
  border: 1px solid var(--border-dark);
  border-radius: 3px;
  padding: 1rem 1.5rem;
  margin-bottom: 2.5rem;
}
.ct-email-label {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255 255 255 / 0.35);
}
.ct-email-addr {
  font-size: 0.95rem;
  color: var(--gold);
  text-decoration: none;
  font-weight: 500;
}
.ct-email-addr:hover { text-decoration: underline; }
.ct-divider { border: none; border-top: 1px solid var(--border-dark); margin: 2rem 0; max-width: 480px; }
.ct-closing {
  font-size: 0.85rem;
  color: rgba(255 255 255 / 0.4);
  line-height: 1.7;
  max-width: 480px;
}
.ct-closing strong { color: rgba(255 255 255 / 0.65); }
.ct-corp {
  margin-top: 2.5rem;
  font-size: 0.72rem;
  color: rgba(255 255 255 / 0.25);
  line-height: 1.6;
}
@media (max-width: 680px) {
  .ct-section { padding: 8rem 2rem 4rem; }
  .ct-email-block { flex-direction: column; align-items: flex-start; gap: 0.3rem; }
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PLATFORM REBUILD â€” DUAL-TRACK DESIGN SYSTEM
   PV_AVS Â· PhytoGuardâ„¢ Â· SeedCircle
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Track palette tokens â”€â”€ */
:root {
  --botanical:       #2D6A4F;
  --botanical-mid:   #3D8B65;
  --botanical-pale:  rgba(45, 106, 79, 0.10);
  --botanical-border:rgba(45, 106, 79, 0.30);
  --terracotta:      #C15B2A;
  --terracotta-mid:  #D4784E;
  --terracotta-pale: rgba(193, 91, 42, 0.10);
  --terracotta-border:rgba(193, 91, 42, 0.30);
  --emerald:         #1B5E3B;
  --copper:          #B07D3A;
}

/* â”€â”€ Nav: compact for 9 items â”€â”€ */
nav { padding: 1rem 2.5rem; }
.nav-links { gap: 1.2rem; }
.nav-links a { font-size: 0.70rem; letter-spacing: 0.05em; }
.nav-link-avs:hover, .nav-link-avs[aria-current="page"] { color: var(--gold) !important; }
.nav-link-pg:hover,  .nav-link-pg[aria-current="page"]  { color: var(--botanical-mid) !important; }
.nav-link-sc:hover,  .nav-link-sc[aria-current="page"]  { color: var(--terracotta-mid) !important; }
@media (max-width: 1200px) {
  .nav-hamburger { display: flex !important; }
  .nav-links { display: none !important; }
}
@media (min-width: 1201px) {
  .nav-hamburger { display: none !important; }
  .nav-links { display: flex !important; }
}
.nav-mobile-avs { color: var(--gold) !important; }
.nav-mobile-pg  { color: var(--botanical-mid) !important; }
.nav-mobile-sc  { color: var(--terracotta-mid) !important; }
.mobile-nav-sub { display: block; font-size: 0.65rem; opacity: 0.55; letter-spacing: 0.04em; text-transform: none; }
.mobile-nav-divider { width: 40px; height: 1px; background: rgba(255,255,255,0.15); margin: 0.5rem auto; }

/* â”€â”€ Track tag pills â”€â”€ */
.track-tag {
  display: inline-block;
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 0.3rem 0.75rem; border-radius: 2px;
  margin-bottom: 0.75rem;
}
.track-tag.avs { background: var(--gold); color: var(--navy); }
.track-tag.pg  { background: var(--botanical); color: #fff; }
.track-tag.sc  { background: var(--terracotta); color: #fff; }
.badge-pg { background: var(--botanical) !important; color: #fff !important; }
.badge-sc { background: var(--terracotta) !important; color: #fff !important; }

/* â”€â”€ Track buttons â”€â”€ */
.btn-pg-primary {
  display: inline-block; padding: 0.75rem 1.75rem;
  background: var(--botanical); color: #fff;
  font-family: var(--sans); font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  text-decoration: none; border-radius: 2px; transition: opacity 0.18s;
}
.btn-pg-primary:hover { opacity: 0.85; }
.btn-sc-primary {
  display: inline-block; padding: 0.75rem 1.75rem;
  background: var(--terracotta); color: #fff;
  font-family: var(--sans); font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  text-decoration: none; border-radius: 2px; transition: opacity 0.18s;
}
.btn-sc-primary:hover { opacity: 0.85; }

/* â”€â”€ Shared hero base â”€â”€ */
.hero-subline {
  font-family: var(--serif); font-style: italic;
  font-size: 1.25rem; color: rgba(255,255,255,0.72);
  margin: 1rem 0 0.75rem; line-height: 1.5;
}
.hero-body {
  font-size: 0.95rem; color: rgba(255,255,255,0.60);
  line-height: 1.75; max-width: 640px; margin-bottom: 2rem;
}
.hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.hero-orb {
  position: absolute; right: -180px; top: 50%; transform: translateY(-50%);
  width: 500px; height: 500px; border-radius: 50%;
  background: var(--sage); opacity: 0.22; z-index: 1;
}
.pg-orb { background: var(--botanical); }
.sc-orb { background: var(--terracotta); }

/* â”€â”€ Platform hero â”€â”€ */
.platform-hero {
  position: relative; overflow: hidden; background: var(--navy);
  padding: 8rem 3.5rem 5rem; min-height: 85vh;
  display: flex; align-items: center;
}
.platform-hero-inner { max-width: 760px; position: relative; z-index: 2; }
.brand-sentence-block {
  border-left: 2px solid var(--gold);
  padding-left: 1.25rem; margin-top: 2.5rem;
}
.brand-sentence { font-size: 0.88rem; color: rgba(255,255,255,0.55); line-height: 1.7; max-width: 600px; }

/* â”€â”€ PV_AVS hero â”€â”€ */
.avs-hero {
  position: relative; overflow: hidden; background: var(--navy);
  padding: 8rem 3.5rem 5rem; min-height: 80vh; display: flex; align-items: center;
}
.avs-hero-inner { max-width: 760px; position: relative; z-index: 2; }
.avs-meta-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem; margin-top: 2.5rem;
  border-top: 1px solid var(--border-dark); padding-top: 2rem;
}
.avs-meta-item { display: flex; flex-direction: column; gap: 0.35rem; }
.avs-meta-label { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }
.avs-meta-text { font-size: 0.8rem; color: rgba(255,255,255,0.55); line-height: 1.6; }

/* â”€â”€ PhytoGuard hero â”€â”€ */
.pg-hero {
  position: relative; overflow: hidden; background: var(--navy);
  padding: 8rem 3.5rem 5rem; min-height: 80vh; display: flex; align-items: center;
  border-top: 3px solid var(--botanical);
}
.pg-hero-inner { max-width: 760px; position: relative; z-index: 2; }
.pg-meta-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem; margin-top: 2.5rem;
  border-top: 1px solid var(--botanical-border); padding-top: 2rem;
}
.pg-meta-item { display: flex; flex-direction: column; gap: 0.35rem; }
.pg-meta-label { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--botanical-mid); }
.pg-meta-text { font-size: 0.8rem; color: rgba(255,255,255,0.55); line-height: 1.6; }

/* â”€â”€ SeedCircle hero â”€â”€ */
.sc-hero {
  position: relative; overflow: hidden; background: var(--navy);
  padding: 8rem 3.5rem 5rem; min-height: 80vh; display: flex; align-items: center;
  border-top: 3px solid var(--terracotta);
}
.sc-hero-inner { max-width: 760px; position: relative; z-index: 2; }

/* â”€â”€ Twin Pathways â”€â”€ */
.twin-pathways { background: var(--cream); padding: 5rem 0; }
.twin-pathways-header { max-width: 640px; margin-bottom: 3rem; }
.pathway-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.pathway-card {
  background: #fff; border-radius: 4px; padding: 2.25rem;
  border-top: 4px solid var(--border-light);
  box-shadow: 0 2px 16px rgba(28,49,84,0.07);
  display: flex; flex-direction: column;
}
.pathway-card.track-avs { border-top-color: var(--gold); }
.pathway-card.track-pg  { border-top-color: var(--botanical); }
.pathway-card-top { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.pathway-track-name { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy); opacity: 0.6; }
.pathway-headline { font-family: var(--serif); font-size: 1.35rem; font-weight: 700; color: var(--navy); margin-bottom: 0.75rem; line-height: 1.35; }
.pathway-body { font-size: 0.88rem; color: var(--body); line-height: 1.7; margin-bottom: 1.5rem; flex: 1; }
.pathway-meta { display: flex; flex-direction: column; gap: 0.5rem; border-top: 1px solid var(--border-light); padding-top: 1.25rem; margin-bottom: 1.5rem; }
.pathway-meta-item { display: flex; justify-content: space-between; align-items: baseline; }
.pathway-meta-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.pathway-meta-value { font-size: 0.82rem; color: var(--navy); font-weight: 500; }
.pathway-cta { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gold); text-decoration: none; transition: opacity 0.18s; align-self: flex-start; }
.pathway-card.track-pg .pathway-cta { color: var(--botanical); }
.pathway-cta:hover { opacity: 0.7; }

/* â”€â”€ SeedCircle strip (home) â”€â”€ */
.seedcircle-strip { background: var(--navy); padding: 5rem 0; }
.sc-strip-header { max-width: 640px; margin-bottom: 3rem; }
.sc-nodes { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.sc-node { flex: 1; min-width: 160px; background: rgba(255,255,255,0.05); border: 1px solid var(--border-dark); border-top: 3px solid var(--terracotta); border-radius: 3px; padding: 1.25rem 1rem; }
.sc-node-icon { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; color: var(--terracotta); margin-bottom: 0.6rem; }
.sc-node-label { font-size: 0.82rem; font-weight: 600; color: var(--white); margin-bottom: 0.4rem; }
.sc-node-detail { font-size: 0.72rem; color: rgba(255,255,255,0.45); line-height: 1.5; }
.sc-strip-cta { margin-top: 2rem; }

/* â”€â”€ Platform whitespace â”€â”€ */
.platform-whitespace { background: var(--cream); padding: 5rem 0; }
.platform-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.platform-stat { background: #fff; border-radius: 4px; padding: 2rem 1.5rem; border-bottom: 3px solid var(--border-light); display: flex; flex-direction: column; gap: 0.6rem; }
.platform-stat-number { font-family: var(--serif); font-size: 3rem; font-weight: 800; color: var(--navy); line-height: 1; }
.platform-stat-label { font-size: 0.8rem; color: var(--body); line-height: 1.5; }
.stat-track-badge { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 2px; width: fit-content; }
.badge-avs  { background: rgba(201,146,59,0.15); color: var(--gold); }
.badge-pg   { background: var(--botanical-pale); color: var(--botanical); }
.badge-both { background: rgba(28,49,84,0.08); color: var(--navy); }

/* â”€â”€ Platform pipeline & audience â”€â”€ */
.platform-pipeline { background: var(--navy); padding: 4rem 0; }
.audience-section { background: var(--cream); padding: 5rem 0; }
.audience-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.audience-card { background: #fff; border-radius: 4px; padding: 2rem; border-top: 3px solid var(--border-light); display: flex; flex-direction: column; gap: 0.75rem; box-shadow: 0 2px 12px rgba(28,49,84,0.06); }
.audience-card:nth-child(1) { border-top-color: var(--gold); }
.audience-card:nth-child(2) { border-top-color: var(--botanical); }
.audience-card:nth-child(3) { border-top-color: var(--terracotta); }
.audience-card-number { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); }
.audience-card-title { font-family: var(--serif); font-size: 1.15rem; font-weight: 700; color: var(--navy); line-height: 1.3; }
.audience-card-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.audience-tag { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 2px; background: rgba(28,49,84,0.07); color: var(--navy); }
.audience-card-desc { font-size: 0.83rem; color: var(--body); line-height: 1.65; flex: 1; }
.audience-card-cta { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gold); text-decoration: none; transition: opacity 0.18s; align-self: flex-start; }
.audience-card:nth-child(2) .audience-card-cta { color: var(--botanical); }
.audience-card:nth-child(3) .audience-card-cta { color: var(--terracotta); }
.audience-card-cta:hover { opacity: 0.7; }

/* â”€â”€ Mechanism (PV_AVS) â”€â”€ */
.mechanism-section { background: var(--navy); padding: 5rem 0; }
.mechanism-header { max-width: 640px; margin-bottom: 3rem; }
.mechanism-nodes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin-bottom: 2rem; }
.mech-node { background: rgba(255,255,255,0.05); border: 1px solid var(--border-dark); border-radius: 3px; padding: 1.5rem; }
.mech-node.is-root { border-color: var(--gold); background: rgba(201,146,59,0.08); }
.mech-node-type { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem; }
.mech-node-title { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--white); margin-bottom: 0.4rem; }
.mech-node-stat { font-size: 1.5rem; font-weight: 800; font-family: var(--serif); color: var(--gold); margin-bottom: 0.5rem; }
.mech-node-mechanism { font-size: 0.78rem; color: rgba(255,255,255,0.50); line-height: 1.6; margin-bottom: 0.75rem; }
.mech-node-trl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.30); }
.mechanism-footnote { font-size: 0.78rem; color: rgba(255,255,255,0.35); line-height: 1.7; max-width: 640px; margin-top: 1rem; border-left: 2px solid var(--border-dark); padding-left: 1rem; }

/* â”€â”€ AVS whitespace & pipeline â”€â”€ */
.avs-whitespace { background: var(--cream); padding: 5rem 0; }
.avs-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 2.5rem; }
.avs-stat { background: #fff; border-radius: 3px; padding: 1.75rem 1.25rem; border-bottom: 3px solid var(--gold); text-align: center; }
.avs-stat-number { font-family: var(--serif); font-size: 2.5rem; font-weight: 800; color: var(--navy); line-height: 1; }
.avs-stat-label { font-size: 0.78rem; color: var(--body); line-height: 1.5; margin-top: 0.5rem; }
.avs-whitespace-quote { margin-top: 2.5rem; padding: 1.5rem 2rem; border-left: 3px solid var(--gold); background: rgba(201,146,59,0.06); border-radius: 0 3px 3px 0; }
.avs-whitespace-quote p { font-family: var(--serif); font-style: italic; font-size: 0.95rem; color: var(--navy); line-height: 1.6; }
.avs-whitespace-quote cite { display: block; font-size: 0.72rem; color: var(--muted); margin-top: 0.75rem; font-style: normal; }
.avs-pipeline-strip { background: var(--navy); padding: 4rem 0; }
.sc-connection { background: rgba(193,91,42,0.05); padding: 4rem 0; }

/* â”€â”€ PhytoGuard mechanism â”€â”€ */
.pg-mechanism-section { background: var(--navy); padding: 5rem 0; }
.pg-mechanism-header { max-width: 640px; margin-bottom: 3rem; }
.pg-mechanism-nodes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin-bottom: 2rem; }
.pg-mech-node { background: rgba(255,255,255,0.05); border: 1px solid var(--border-dark); border-radius: 3px; padding: 1.5rem; }
.pg-mech-node.is-primary { border-color: var(--botanical); background: var(--botanical-pale); }
.pg-mech-type { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--botanical-mid); margin-bottom: 0.5rem; }
.pg-mech-title { font-family: var(--serif); font-style: italic; font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.4rem; }
.pg-mech-stat { font-size: 1.35rem; font-weight: 800; font-family: var(--serif); color: var(--botanical-mid); margin-bottom: 0.5rem; }
.pg-mech-evidence { font-size: 0.78rem; color: rgba(255,255,255,0.50); line-height: 1.6; margin-bottom: 0.75rem; }
.pg-mech-trl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.30); }
.pg-mechanism-footnote { font-size: 0.78rem; color: rgba(255,255,255,0.35); line-height: 1.7; max-width: 640px; margin-top: 1rem; border-left: 2px solid var(--botanical-border); padding-left: 1rem; }

/* â”€â”€ PhytoGuard market â”€â”€ */
.pg-market { background: var(--cream); padding: 5rem 0; }
.pg-market-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 2.5rem; }
.pg-market-stat { background: #fff; border-radius: 3px; padding: 1.75rem 1.25rem; border-bottom: 3px solid var(--botanical); text-align: center; }
.pg-market-number { font-family: var(--serif); font-size: 2rem; font-weight: 800; color: var(--navy); line-height: 1; }
.pg-market-label { font-size: 0.75rem; color: var(--body); line-height: 1.5; margin-top: 0.5rem; }

/* â”€â”€ PhytoGuard PMRA pathway â”€â”€ */
.pg-pathway-section { background: var(--navy); padding: 5rem 0; }
.pg-pathway-steps { display: flex; flex-direction: column; gap: 1px; margin-top: 2rem; }
.pg-step { display: grid; grid-template-columns: 140px 1fr 2fr; gap: 1.5rem; align-items: start; padding: 1.25rem 1.5rem; background: rgba(255,255,255,0.04); border-left: 3px solid var(--border-dark); transition: border-color 0.18s; }
.pg-step:hover { border-left-color: var(--botanical); }
.pg-step-status { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.25rem 0.65rem; border-radius: 2px; width: fit-content; }
.pg-step-planned { background: rgba(201,146,59,0.15); color: var(--gold); }
.pg-step-active  { background: var(--botanical-pale); color: var(--botanical-mid); }
.pg-step-title { font-size: 0.9rem; font-weight: 600; color: var(--white); }
.pg-step-detail { font-size: 0.78rem; color: rgba(255,255,255,0.45); line-height: 1.6; }
.pg-pipeline-strip { background: var(--botanical); padding: 4rem 0; }
.pg-pipeline-strip .section-label { color: rgba(255,255,255,0.6); }
.pg-pipeline-strip .section-headline, .pg-pipeline-strip .section-body { color: var(--white); }
.pg-sc-connection { background: rgba(193,91,42,0.05); padding: 4rem 0; }

/* â”€â”€ SeedCircle architecture â”€â”€ */
.sc-architecture { background: var(--cream); padding: 5rem 0; }
.sc-arch-nodes { display: flex; flex-direction: column; gap: 1px; margin-top: 2.5rem; }
.sc-arch-node { display: grid; grid-template-columns: 90px 180px 180px 1fr; gap: 1.5rem; align-items: start; padding: 1.5rem; background: #fff; border-left: 3px solid var(--terracotta-border); transition: border-color 0.18s; }
.sc-arch-node:hover { border-left-color: var(--terracotta); }
.sc-arch-node-header { display: flex; flex-direction: column; gap: 0.4rem; }
.sc-arch-number { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.1em; color: var(--terracotta); text-transform: uppercase; }
.sc-arch-status { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.sc-arch-title { font-size: 0.9rem; font-weight: 700; color: var(--navy); }
.sc-arch-subtitle { font-size: 0.75rem; color: var(--muted); margin-top: 0.2rem; }
.sc-arch-body { font-size: 0.8rem; color: var(--body); line-height: 1.65; }

/* â”€â”€ SeedCircle volume â”€â”€ */
.sc-volume { background: var(--navy); padding: 5rem 0; }
.sc-volume-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 2.5rem; }
.sc-volume-stat { background: rgba(255,255,255,0.06); border-radius: 3px; padding: 1.75rem; border-bottom: 3px solid var(--terracotta); text-align: center; }
.sc-vol-number { font-family: var(--serif); font-size: 2rem; font-weight: 800; color: var(--white); line-height: 1; }
.sc-vol-unit { font-size: 0.72rem; color: var(--terracotta); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 0.3rem; }
.sc-vol-label { font-size: 0.75rem; color: rgba(255,255,255,0.45); line-height: 1.5; margin-top: 0.4rem; }

/* â”€â”€ SeedCircle processors â”€â”€ */
.sc-processors { background: var(--cream); padding: 5rem 0; }
.sc-processor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.sc-processor-card { background: #fff; border-radius: 4px; padding: 1.75rem; border-top: 3px solid var(--terracotta); box-shadow: 0 2px 12px rgba(28,49,84,0.06); }
.sc-proc-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.75rem; gap: 1rem; }
.sc-proc-name { font-size: 1rem; font-weight: 700; color: var(--navy); }
.sc-proc-status { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 2px; background: var(--terracotta-pale); color: var(--terracotta); white-space: nowrap; }
.sc-proc-type { font-size: 0.78rem; color: var(--muted); margin-bottom: 0.35rem; }
.sc-proc-volume { font-size: 0.85rem; font-weight: 600; color: var(--navy); margin-bottom: 0.75rem; }
.sc-proc-note { font-size: 0.78rem; color: var(--body); line-height: 1.6; }
.sc-esg { background: var(--navy); padding: 5rem 0; }
.sc-esg-inner { max-width: 720px; }

/* â”€â”€ SeedCircle dual-track cards â”€â”€ */
.sc-tracks-section { background: var(--cream); padding: 5rem 0; }
.sc-track-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; }
.sc-track-card { background: #fff; border-radius: 4px; padding: 2rem; border-top: 4px solid var(--border-light); display: flex; flex-direction: column; gap: 0.75rem; }
.sc-track-card.track-avs { border-top-color: var(--gold); }
.sc-track-card.track-pg  { border-top-color: var(--botanical); }
.sc-tc-header { display: flex; align-items: center; gap: 0.75rem; }
.sc-tc-role { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.sc-tc-body { font-size: 0.85rem; color: var(--body); line-height: 1.65; flex: 1; }
.sc-tc-cta { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gold); text-decoration: none; transition: opacity 0.18s; }
.sc-track-card.track-pg .sc-tc-cta { color: var(--botanical); }
.sc-tc-cta:hover { opacity: 0.7; }

/* â”€â”€ Science page â”€â”€ */
.science-hero { background: var(--navy); padding: 7rem 3.5rem 4rem; }
.science-hero-inner { max-width: 720px; }
.science-track-nav { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.sci-track-btn { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.6rem 1.25rem; border-radius: 2px; text-decoration: none; transition: opacity 0.18s; }
.avs-btn { background: var(--gold); color: var(--navy); }
.pg-btn  { background: var(--botanical); color: #fff; }
.sci-track-btn:hover { opacity: 0.8; }
.sci-track-section { padding: 5rem 0; }
.sci-avs { background: var(--cream); }
.sci-pg  { background: #fff; }
.sci-track-header { margin-bottom: 2.5rem; }
.sci-trl-block { margin-bottom: 3rem; }
.sci-claims { display: flex; flex-direction: column; gap: 1px; margin-top: 1.5rem; }
.sci-claim { padding: 1.5rem; border-left: 4px solid var(--border-light); background: rgba(255,255,255,0.6); transition: border-color 0.18s; }
.sci-claim-avs:hover { border-left-color: var(--gold); }
.sci-claim-pg:hover  { border-left-color: var(--botanical); }
.sci-claim-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.5rem; }
.sci-claim-name { font-size: 0.95rem; font-weight: 700; color: var(--navy); font-style: italic; }
.trl-badge { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.25rem 0.65rem; border-radius: 2px; white-space: nowrap; background: rgba(201,146,59,0.15); color: var(--gold); }
.trl-badge-pg { background: var(--botanical-pale); color: var(--botanical); }
.sci-claim-anchor { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.6rem; }
.sci-claim-evidence { font-size: 0.82rem; color: var(--body); line-height: 1.65; margin-bottom: 0.6rem; }
.sci-claim-gap { font-size: 0.78rem; color: var(--muted); line-height: 1.5; }
.gap-label { font-weight: 700; color: var(--navy); }
.sci-whitespace-block { margin: 3rem 0; padding: 2.5rem; background: rgba(28,49,84,0.04); border-radius: 3px; }
.sci-pg .sci-whitespace-block { background: rgba(45,106,79,0.05); }
.sci-ws-headline { font-family: var(--serif); font-size: 1.25rem; font-weight: 700; color: var(--navy); margin: 0.75rem 0 1.5rem; }
.sci-ws-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.sci-ws-stat { text-align: center; }
.sci-ws-number { font-family: var(--serif); font-size: 2.5rem; font-weight: 800; color: var(--navy); line-height: 1; }
.sci-ws-stat-pg .sci-ws-number { color: var(--botanical); }
.sci-ws-label { font-size: 0.75rem; color: var(--body); line-height: 1.5; margin-top: 0.4rem; }
.sci-moa-block { margin: 2rem 0 3rem; }
.sci-citations-block { margin-top: 2.5rem; }
.sci-citations { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
.sci-citation { padding: 1.25rem 1.5rem; background: rgba(255,255,255,0.6); border-radius: 3px; border-left: 3px solid var(--border-light); }
.sci-avs .sci-citation:hover { border-left-color: var(--gold); }
.sci-pg  .sci-citation:hover { border-left-color: var(--botanical); }
.sci-cite-authors { font-size: 0.82rem; font-weight: 700; color: var(--navy); }
.sci-cite-title { font-size: 0.82rem; color: var(--body); font-style: italic; line-height: 1.5; margin: 0.25rem 0; }
.sci-cite-journal { font-size: 0.75rem; color: var(--muted); margin-bottom: 0.3rem; }
.sci-cite-role { font-size: 0.78rem; color: var(--body); line-height: 1.5; }
.sci-track-cta { display: flex; gap: 1rem; margin-top: 2.5rem; flex-wrap: wrap; }

/* â”€â”€ Pipeline page â”€â”€ */
.pipeline-hero { background: var(--navy); padding: 7rem 3.5rem 4rem; }
.pipeline-hero-inner { max-width: 720px; }
.pipeline-track-nav { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.pipeline-track-section { padding: 5rem 0; }
.pipeline-avs { background: var(--cream); }
.pipeline-pg  { background: #fff; }
.pipeline-track-header { max-width: 640px; margin-bottom: 3rem; }
.pipeline-phases { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3rem; }
.pipeline-phase { background: #fff; border-radius: 3px; padding: 2rem; border-left: 4px solid var(--gold); box-shadow: 0 1px 8px rgba(28,49,84,0.05); }
.phase-header { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.phase-label-tag { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); }
.phase-period { font-size: 0.72rem; color: var(--muted); letter-spacing: 0.06em; font-weight: 500; }
.phase-trl-tag { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 2px; background: rgba(201,146,59,0.12); color: var(--gold); }
.phase-headline { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: 0.75rem; }
.phase-moves { padding-left: 1.25rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: 0.4rem; }
.phase-moves li { font-size: 0.83rem; color: var(--body); line-height: 1.6; }
.phase-output { font-size: 0.78rem; color: var(--muted); border-top: 1px solid var(--border-light); padding-top: 0.75rem; }
.output-label { font-weight: 700; color: var(--navy); }
.funding-block { margin-top: 3rem; }
.funding-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.funding-item { background: #fff; border-radius: 3px; padding: 1.25rem; border-top: 2px solid var(--gold); box-shadow: 0 1px 6px rgba(28,49,84,0.05); }
.funding-item-pg { border-top-color: var(--botanical); }
.funding-program { font-size: 0.9rem; font-weight: 700; color: var(--navy); margin-bottom: 0.3rem; }
.funding-type { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.5rem; }
.funding-fit { font-size: 0.78rem; color: var(--body); line-height: 1.55; margin-bottom: 0.5rem; }
.funding-status { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 2px; width: fit-content; }
.avs-status { background: rgba(201,146,59,0.12); color: var(--gold); }
.pg-status  { background: var(--botanical-pale); color: var(--botanical); }
.pg-moves-list { display: flex; flex-direction: column; gap: 1px; margin-bottom: 3rem; }
.pg-move { padding: 1.5rem; background: #fff; border-left: 4px solid var(--botanical-border); transition: border-color 0.18s; }
.pg-move:hover { border-left-color: var(--botanical); }
.pg-move-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
.pg-move-number { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--botanical); }
.pg-move-period { font-size: 0.7rem; color: var(--muted); }
.pg-move-title { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: 0.6rem; }
.pg-move-owner, .pg-move-output, .pg-move-gate { font-size: 0.78rem; color: var(--body); line-height: 1.6; margin-bottom: 0.3rem; }
.move-label { font-weight: 700; color: var(--navy); }
.pg-timeline-block { margin: 3rem 0; }
.pg-milestones { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.pg-milestone { background: rgba(45,106,79,0.06); border-radius: 3px; padding: 1.25rem; border-top: 2px solid var(--botanical); }
.pg-ms-timing { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--botanical); margin-bottom: 0.4rem; }
.pg-ms-milestone { font-size: 0.88rem; font-weight: 700; color: var(--navy); margin-bottom: 0.3rem; }
.pg-ms-note { font-size: 0.75rem; color: var(--body); line-height: 1.5; }
.convergence-section { background: var(--navy); padding: 5rem 0; }
.convergence-ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }

/* â”€â”€ Partner page â€” track tabs â”€â”€ */
.pt-tabs-section { background: var(--navy); border-bottom: 1px solid var(--border-dark); }
.pt-tabs { max-width: 1200px; margin: 0 auto; padding: 0 3.5rem; display: flex; gap: 0; }
.pt-tab { display: flex; flex-direction: column; align-items: flex-start; gap: 0.2rem; padding: 1.25rem 2rem 1rem; background: none; border: none; cursor: pointer; border-bottom: 3px solid transparent; font-family: var(--sans); text-align: left; transition: border-color 0.2s; }
.pt-tab-avs.active, .pt-tab-avs:hover { border-bottom-color: var(--gold); }
.pt-tab-pg.active,  .pt-tab-pg:hover  { border-bottom-color: var(--botanical); }
.pt-tab-sc.active,  .pt-tab-sc:hover  { border-bottom-color: var(--terracotta); }
.pt-tab-track { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.5); }
.pt-tab.active .pt-tab-track, .pt-tab:hover .pt-tab-track { color: var(--white); }
.pt-tab-sub { font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.3); }
.pt-tab-avs.active .pt-tab-sub { color: var(--gold); }
.pt-tab-pg.active  .pt-tab-sub { color: var(--botanical-mid); }
.pt-tab-sc.active  .pt-tab-sub { color: var(--terracotta-mid); }
.pt-panel { display: none; }
.pt-panel.active { display: block; }
.pt-panel-intro { max-width: 680px; padding: 3rem 0 2rem; }
.pt-panel-grid { display: grid; grid-template-columns: 1fr 420px; gap: 3rem; padding-bottom: 4rem; }
.pt-sub-headline { font-family: var(--serif); font-size: 1.2rem; font-weight: 700; color: var(--navy); margin: 0.5rem 0 0.75rem; }
.pt-sub-body { font-size: 0.85rem; color: var(--body); line-height: 1.7; max-width: 100%; }
.pt-thesis-box { margin: 1.25rem 0; padding: 1.25rem 1.5rem; background: rgba(201,146,59,0.06); border-left: 3px solid var(--gold); font-size: 0.88rem; color: var(--navy); line-height: 1.65; border-radius: 0 3px 3px 0; }
.pt-thesis-pg { background: var(--botanical-pale); border-left-color: var(--botanical); }
.pt-form-pg .pt-form-title { color: var(--botanical); }
.pt-form-sc .pt-form-title { color: var(--terracotta); }
.pt-submit-avs { background: var(--gold) !important; }
.pt-submit-pg  { background: var(--botanical) !important; color: #fff !important; }
.pt-submit-sc  { background: var(--terracotta) !important; color: #fff !important; }
.pt-submit-pg:hover, .pt-submit-sc:hover { opacity: 0.85; }
.pt-funds-title { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy); margin: 1.25rem 0 0.75rem; }

/* â”€â”€ Data room â”€â”€ */
.dr-section { background: var(--navy); min-height: 100vh; padding: 8rem 3.5rem 4rem; }
.dr-inner { max-width: 1100px; margin: 0 auto; }
.dr-compartments { display: flex; flex-direction: column; gap: 2.5rem; margin: 3rem 0; }
.dr-compartment { background: rgba(255,255,255,0.05); border: 1px solid var(--border-dark); border-radius: 4px; overflow: hidden; }
.dr-comp-avs { border-top: 3px solid var(--gold); }
.dr-comp-pg  { border-top: 3px solid var(--botanical); }
.dr-comp-sc  { border-top: 3px solid var(--terracotta); }
.dr-comp-header { padding: 1.75rem 2rem 1.5rem; border-bottom: 1px solid var(--border-dark); }
.dr-comp-label { margin-bottom: 0.25rem; }
.dr-comp-headline { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--white); margin: 0.5rem 0 0; }
.dr-docs { padding: 1.25rem 2rem 1.75rem; display: flex; flex-direction: column; gap: 1rem; }
.dr-doc { padding: 1rem 1.25rem; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 3px; }
.dr-doc-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.4rem; }
.dr-doc-title { font-size: 0.88rem; font-weight: 600; color: var(--white); }
.dr-doc-type { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.dr-doc-desc { font-size: 0.78rem; color: rgba(255,255,255,0.45); line-height: 1.6; margin-bottom: 0.35rem; }
.dr-doc-availability { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gold); }
.dr-comp-pg .dr-doc-availability { color: var(--botanical-mid); }
.dr-comp-sc .dr-doc-availability { color: var(--terracotta-mid); }
.dr-access-block { margin-top: 2.5rem; padding: 2rem; background: rgba(255,255,255,0.04); border: 1px solid var(--border-dark); border-radius: 3px; text-align: center; }
.dr-access-body { font-size: 0.85rem; color: rgba(255,255,255,0.50); line-height: 1.7; margin: 0.75rem 0 1rem; }
.dr-email-link { font-size: 1rem; color: var(--gold); text-decoration: none; font-weight: 500; }
.dr-email-link:hover { text-decoration: underline; }

/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 900px) {
  .pathway-cards, .sc-track-cards { grid-template-columns: 1fr; }
  .platform-stats, .avs-stats { grid-template-columns: repeat(2, 1fr); }
  .audience-cards, .sc-processor-grid { grid-template-columns: 1fr; }
  .pg-market-stats, .sc-volume-stats { grid-template-columns: repeat(2, 1fr); }
  .sci-ws-stats { grid-template-columns: repeat(2, 1fr); }
  .pg-step, .sc-arch-node { grid-template-columns: 1fr; gap: 0.5rem; }
  .pt-panel-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .platform-hero, .avs-hero, .pg-hero, .sc-hero { padding: 7rem 1.5rem 4rem; }
  .platform-stats, .avs-stats, .pg-market-stats, .sc-volume-stats { grid-template-columns: 1fr; }
  nav { padding: 1rem 1.5rem; }
  .pt-tabs { padding: 0 1.5rem; flex-direction: column; }
  .dr-section { padding: 7rem 1.5rem 3rem; }
}

/* ═══════════════════════════════════════════════
   DESIGN REFINEMENT — headlines, spacing, nav
   ═══════════════════════════════════════════════ */

/* ── 1. White headlines in ALL dark sections ── */
.platform-hero .section-headline,
.platform-hero .section-label,
.avs-hero .section-headline,
.pg-hero .section-headline,
.pg-hero .section-label,
.sc-hero .section-headline,
.sc-hero .section-label,
.pipeline-hero .section-headline,
.pipeline-hero .section-label,
.science-hero .section-headline,
.science-hero .section-label,
.mechanism-section .section-headline,
.mechanism-section .section-label,
.pg-mechanism-section .section-headline,
.pg-mechanism-section .section-label,
.seedcircle-strip .section-headline,
.seedcircle-strip .section-label,
.platform-pipeline .section-headline,
.platform-pipeline .section-label,
.avs-pipeline-strip .section-headline,
.avs-pipeline-strip .section-label,
.pg-pathway-section .section-headline,
.pg-pathway-section .section-label,
.sc-volume .section-headline,
.sc-volume .section-label,
.sc-esg .section-headline,
.sc-esg .section-label,
.convergence-section .section-headline,
.convergence-section .section-label { color: var(--white); }

.platform-hero .section-body,
.avs-hero .section-body,
.pg-hero .section-body,
.sc-hero .section-body,
.pipeline-hero .section-body,
.science-hero .section-body,
.mechanism-section .section-body,
.pg-mechanism-section .section-body,
.seedcircle-strip .section-body,
.platform-pipeline .section-body,
.avs-pipeline-strip .section-body,
.pg-pathway-section .section-body,
.sc-volume .section-body,
.sc-esg .section-body,
.convergence-section .section-body { color: rgba(255,255,255,0.62); }

/* ── 2. Reduce hero padding — eliminate whitespace ── */
.platform-hero { min-height: 0; padding: 5.5rem 3.5rem 4rem; }
.avs-hero      { min-height: 0; padding: 5.5rem 3.5rem 4rem; }
.pg-hero       { min-height: 0; padding: 5.5rem 3.5rem 4rem; }
.sc-hero       { min-height: 0; padding: 5.5rem 3.5rem 4rem; }

/* Hero headline sizing — consistent across all hero sections */
.platform-hero .section-headline,
.avs-hero .section-headline,
.pg-hero .section-headline,
.sc-hero .section-headline {
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
}

/* ── 3. Nav: prevent brand from shrinking, bold active ── */
.nav-brand { flex-shrink: 0; }
.nav-links a[aria-current="page"] { font-weight: 700; }
.nav-brand-name { font-weight: 800; font-size: 0.68rem; letter-spacing: 0.18em; }

/* Even spacing across all 10 nav items (no auto-margin push) */
.nav-links li:last-child { margin-left: 0; }

/* Increase hamburger breakpoint to 1280px */
@media (max-width: 1280px) {
  .nav-hamburger { display: flex !important; }
  .nav-links { display: none !important; }
}
@media (min-width: 1281px) {
  .nav-hamburger { display: none !important; }
  .nav-links { display: flex !important; }
}

/* ── 4. Fix pipeline phase-label class mismatch ── */
.phase-label {
  font-size: 0.68rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold);
}

/* ── 5. Typography hierarchy — headings vs body contrast ── */
.section-headline { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }

/* Platform pipeline section label + headline */
.platform-pipeline { padding: 4.5rem 0; }
.platform-pipeline .inner { max-width: 600px; }

/* ── 6. Audience section label colour ── */
.audience-section .section-label { color: var(--gold); }

/* ── 7. Seedcircle strip inner spacing ── */
.seedcircle-strip .section-headline { font-size: clamp(1.7rem, 2.8vw, 2.4rem); }

/* ── 8. Science hero compact ── */
.science-hero { padding: 5.5rem 3.5rem 3.5rem; }
.pipeline-hero { padding: 5.5rem 3.5rem 3.5rem; }

/* ── 9. Pipeline track-nav buttons ── */
.pipeline-track-nav { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }

/* ── 10. Convergence section headline visible ── */
.convergence-section .section-headline { font-size: clamp(1.7rem, 2.8vw, 2.4rem); }
.convergence-section .section-body { max-width: 640px; }

/* ── 11. PV_AVS pipeline strip ── */
.avs-pipeline-strip .section-headline { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }

/* ── 12. Section alternation — sc-connection uses cream, not terracotta tint ── */
.sc-connection { background: var(--cream); }
.pg-sc-connection { background: var(--cream); }

/* ── 13. Partner hero visible ── */
.pt-hero .section-label { color: var(--gold); }

/* ── 14. Nav fitting refinements ── */
nav { padding: 0.9rem 2rem; }
.nav-links { gap: 0.9rem; }
.nav-links a { font-size: 0.67rem; }
.nav-brand-name { font-size: 0.64rem; letter-spacing: 0.15em; white-space: nowrap; }
.nav-cta { font-size: 0.67rem !important; padding: 0.45rem 0.95rem; }
/* Remove the margin-left: auto from last child — gold CTA stays in flow */
.nav-links li:last-child { margin-left: 0; }

/* Ensure full nav only on screens that can actually fit all 9 items */
@media (max-width: 1320px) {
  .nav-hamburger { display: flex !important; }
  .nav-links { display: none !important; }
}
@media (min-width: 1321px) {
  .nav-hamburger { display: none !important; }
  .nav-links { display: flex !important; }
}

/* ── 15. Mobile: show PhytoGuard™ correctly ── */
.nav-mobile-menu a { font-size: 1rem; }

/* ═══════════════════════════════════════════════
   BATCH 2 — Section nav · Visual flow · Compact
   ═══════════════════════════════════════════════ */

/* ── Section sub-navigation (Novartis-style sticky anchor bar) ── */
.section-nav {
  position: sticky;
  top: 58px; /* sits just below the fixed main nav */
  z-index: 150;
  background: var(--white);
  border-bottom: 1px solid var(--border-light);
  box-shadow: 0 1px 6px rgba(28,49,84,0.06);
}
.section-nav-inner {
  max-width: 1160px; margin: 0 auto;
  padding: 0 3.5rem;
  display: flex; gap: 0;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.section-nav-inner::-webkit-scrollbar { display: none; }
.section-nav-link {
  font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--muted); text-decoration: none;
  padding: 0.85rem 1.1rem;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: color 0.18s, border-color 0.18s;
  flex-shrink: 0;
}
.section-nav-link:hover { color: var(--navy); }
.section-nav-avs .section-nav-link:hover { border-bottom-color: var(--gold); }
.section-nav-pg  .section-nav-link:hover { border-bottom-color: var(--botanical); }
.section-nav-sc  .section-nav-link:hover { border-bottom-color: var(--terracotta); }
.section-nav-link.active { color: var(--navy); font-weight: 700; }
.section-nav-avs .section-nav-link.active { border-bottom-color: var(--gold); }
.section-nav-pg  .section-nav-link.active { border-bottom-color: var(--botanical); }
.section-nav-sc  .section-nav-link.active { border-bottom-color: var(--terracotta); }
@media (max-width: 680px) { .section-nav-inner { padding: 0 1.5rem; } }

/* ── SeedCircle visual flow diagram ── */
.sc-flow-visual {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 0; margin: 2.5rem 0; width: 100%;
}
.sc-flow-node {
  background: rgba(255,255,255,0.07); border: 1px solid var(--border-dark);
  border-radius: 3px; padding: 1rem 1.1rem;
  min-width: 130px; text-align: center; flex: 1;
}
.sc-flow-node.sc-flow-start { border-top: 3px solid var(--terracotta); }
.sc-flow-node.sc-flow-avs   { border-top: 3px solid var(--gold); flex: 0.8; }
.sc-flow-node.sc-flow-pg    { border-top: 3px solid var(--botanical); flex: 0.8; }
.sc-fn-icon  { font-size: 1.5rem; margin-bottom: 0.4rem; line-height: 1; }
.sc-fn-label { font-size: 0.78rem; font-weight: 700; color: var(--white); margin-bottom: 0.2rem; }
.sc-fn-sub   { font-size: 0.65rem; color: rgba(255,255,255,0.40); line-height: 1.4; }
.sc-flow-arrow {
  font-size: 1.2rem; color: var(--terracotta);
  padding: 0 0.5rem; flex-shrink: 0; align-self: center;
}
.sc-flow-split {
  display: flex; flex-direction: column;
  gap: 0.5rem; flex: 1;
}
@media (max-width: 900px) {
  .sc-flow-visual { flex-direction: column; align-items: stretch; }
  .sc-flow-arrow { transform: rotate(90deg); align-self: center; }
  .sc-flow-split { flex-direction: row; }
}

/* ── Compact hero copy (reduce text density) ── */
.pg-hero .hero-body,
.avs-hero .hero-body { max-width: 560px; font-size: 0.9rem; }

/* ── Identity block at top of each track hero ── */
.hero-identity {
  display: flex; align-items: center; gap: 0.75rem;
  margin-bottom: 1.75rem;
}
.hero-identity-track { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.45); }

/* ── avs-pipeline-strip bright section label ── */
.avs-pipeline-strip .section-label { color: var(--gold); }
.avs-pipeline-strip .section-headline { font-size: clamp(1.5rem, 2.5vw, 2rem); }

/* ── sc-tracks section name fix (template uses sc-tracks not sc-tracks-section) ── */
.sc-tracks { background: var(--cream); padding: 5rem 0; }

/* ── Funding block bg on pipeline pg track ── */
.funding-block-pg { background: rgba(45,106,79,0.04); border-radius: 4px; padding: 2rem; margin-top: 3rem; }

/* ── Science hero compact headline ── */
.science-hero .section-headline { font-size: clamp(1.8rem, 3vw, 2.6rem); max-width: 640px; }

/* ── Pipeline hero compact headline ── */
.pipeline-hero .section-headline { font-size: clamp(1.8rem, 3vw, 2.6rem); max-width: 640px; }

/* ═══════════════════════════════════════════════
   BATCH 3 — Typography · Buttons · Nav active
   ═══════════════════════════════════════════════ */

/* ── Typography hierarchy: stronger H1/H2 vs body contrast ── */
.platform-hero h1.section-headline,
.avs-hero h1.section-headline,
.pg-hero h1.section-headline,
.sc-hero h1.section-headline { font-size: clamp(2.4rem, 4.5vw, 3.8rem); line-height: 1.1; }

.science-hero .section-headline,
.pipeline-hero .section-headline { font-size: clamp(2rem, 3.5vw, 3rem); }

/* Section headlines in light sections: navy, larger contrast */
.sci-track-section h2.section-headline,
.pipeline-track-section h2.section-headline { font-size: clamp(1.7rem, 2.8vw, 2.4rem); }

/* Body text: consistent, slightly muted */
.section-body { font-size: 0.95rem; line-height: 1.82; }

/* ── Button consistency: equal padding across all variants ── */
.btn-primary, .btn-outline, .btn-pg-primary, .btn-sc-primary {
  padding: 0.85rem 2rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.09em !important;
}

/* ── Section-nav: dual-track colour (science + pipeline) ── */
.section-nav-dual .section-nav-link:hover { color: var(--navy); border-bottom-color: var(--navy); }
.section-nav-dual .section-nav-link.active { color: var(--navy); border-bottom-color: var(--navy); }
.section-nav-dual .section-nav-link[href="#pv-avs"]:hover,
.section-nav-dual .section-nav-link[href="#pv-avs"].active { border-bottom-color: var(--gold); }
.section-nav-dual .section-nav-link[href="#phytoguard"]:hover,
.section-nav-dual .section-nav-link[href="#phytoguard"].active { border-bottom-color: var(--botanical); }

/* ── Company page: section-nav (uses navy accent — brand identity) ── */
.section-nav-co .section-nav-link:hover,
.section-nav-co .section-nav-link.active { color: var(--navy); border-bottom-color: var(--gold); }

/* ── Company hero: platform brand statement block ── */
.co-hero { padding: 5.5rem 3.5rem 4rem; }
.co-hero .section-headline { font-size: clamp(2rem, 3.8vw, 3.2rem); color: var(--white); max-width: 720px; }
.co-hero .section-body { color: rgba(255,255,255,0.62); }
.co-hero .section-label { color: var(--gold); }

/* ── Brand identity tag on company page ── */
.co-brand-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.co-brand-pill { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.25rem 0.75rem; border-radius: 2px; }
.co-brand-pill.avs { background: rgba(201,146,59,0.2); color: var(--gold); }
.co-brand-pill.pg  { background: rgba(45,106,79,0.2); color: var(--botanical-mid); }
.co-brand-pill.sc  { background: rgba(193,91,42,0.2); color: var(--terracotta-mid); }

/* ── Home: remove brand-sentence-block bottom margin, tighten ── */
.brand-sentence-block { margin-top: 2rem; padding: 1rem 1.25rem; border-left-width: 3px; }
.brand-sentence { font-size: 0.85rem; }

/* ── Alternating section backgrounds: consistent rhythm ── */
.co-who-section  { background: var(--cream); }
.co-mission-section { background: var(--cream); }
@media (max-width: 680px) { .co-hero { padding: 5.5rem 1.5rem 3rem; } }

/* ═══════════════════════════════════════════════
   BATCH 4 — Nav weight · SeedCircle flow · Company
   ═══════════════════════════════════════════════ */

/* ── Fix 1: nav brand regular weight; ONLY aria-current = bold ── */
.nav-brand-name { font-weight: 500 !important; }
.nav-links a { font-weight: 400; }
.nav-links a[aria-current="page"] { font-weight: 700 !important; color: var(--gold); }
.nav-link-avs[aria-current="page"] { color: var(--gold) !important; }
.nav-link-pg[aria-current="page"]  { color: var(--botanical-mid) !important; }
.nav-link-sc[aria-current="page"]  { color: var(--terracotta-mid) !important; }

/* ── Fix 2: SeedCircle flow diagram — dark container so white text is visible ── */
.sc-flow-visual {
  background: var(--navy);
  border-radius: 4px;
  padding: 1.75rem 1.25rem;
  margin: 2.5rem 0;
  border: 1px solid var(--border-dark);
}
.sc-flow-node {
  background: rgba(255,255,255,0.07);
  border-color: var(--border-dark);
}
.sc-fn-label { color: var(--white); }
.sc-fn-sub   { color: rgba(255,255,255,0.45); }
.sc-flow-arrow { color: var(--terracotta); font-size: 1.1rem; }

/* Fix split output nodes to show cleanly */
.sc-flow-split { gap: 0.4rem; }
.sc-flow-node.sc-flow-avs { background: rgba(201,146,59,0.12); border-color: rgba(201,146,59,0.35); }
.sc-flow-node.sc-flow-pg  { background: rgba(45,106,79,0.12); border-color: rgba(45,106,79,0.35); }
.sc-flow-node.sc-flow-avs .sc-fn-label { color: var(--gold); }
.sc-flow-node.sc-flow-pg  .sc-fn-label { color: var(--botanical-mid); }
.sc-flow-node.sc-flow-start .sc-fn-icon { color: var(--terracotta); }

/* ── Fix 3: Company page — remove Company from section-nav, replace with "About" label ── */
/* The company page section-nav is section-nav-co — its "Platform" section
   shows the three tracks as cards, not as nav items */

/* ── Company Platform section — three-track card grid ── */
.co-platform-tracks {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem; margin-top: 2rem;
}
.co-track-card {
  background: var(--white); border-radius: 4px; padding: 1.5rem;
  border-top: 3px solid var(--border-light);
  box-shadow: 0 1px 10px rgba(28,49,84,0.06);
}
.co-track-card.co-tc-avs { border-top-color: var(--gold); }
.co-track-card.co-tc-pg  { border-top-color: var(--botanical); }
.co-track-card.co-tc-sc  { border-top-color: var(--terracotta); }
.co-tc-tag { display: inline-block; font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 0.2rem 0.65rem; border-radius: 2px; margin-bottom: 0.75rem; }
.co-tc-avs .co-tc-tag { background: rgba(201,146,59,0.15); color: var(--gold); }
.co-tc-pg  .co-tc-tag { background: var(--botanical-pale); color: var(--botanical); }
.co-tc-sc  .co-tc-tag { background: var(--terracotta-pale); color: var(--terracotta); }
.co-tc-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 700;
  color: var(--navy); margin-bottom: 0.4rem; }
.co-tc-role { font-size: 0.72rem; color: var(--muted); text-transform: uppercase;
  letter-spacing: 0.07em; font-weight: 600; margin-bottom: 0.75rem; }
.co-tc-body { font-size: 0.82rem; color: var(--body); line-height: 1.65; margin-bottom: 1rem; }
.co-tc-link { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.07em;
  text-transform: uppercase; text-decoration: none; transition: opacity 0.18s; }
.co-tc-avs .co-tc-link { color: var(--gold); }
.co-tc-pg  .co-tc-link { color: var(--botanical); }
.co-tc-sc  .co-tc-link { color: var(--terracotta); }
.co-tc-link:hover { opacity: 0.7; }
@media (max-width: 768px) { .co-platform-tracks { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════
   v8.0 — THREE-PRODUCT POSTHARVEST PLATFORM
   FreshGuard™ (gold) · VitaFilm™ (film/teal) · PhytoGuard™ (botanical)
   ═══════════════════════════════════════════════ */
:root {
  --film:        #2C6E8F;
  --film-mid:    #3E86A8;
  --film-pale:   rgba(44, 110, 143, 0.10);
  --film-border: rgba(44, 110, 143, 0.30);
}

/* Home product grid: two pathways → three products */
.pathway-cards { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1060px) { .pathway-cards { grid-template-columns: 1fr; } }

/* VitaFilm track tag, badges, buttons, nav, accents */
.track-tag.vf { background: var(--film); color: #fff; }
.badge-vf { background: var(--film) !important; color: #fff !important; }
.nav-link-vf:hover, .nav-link-vf[aria-current="page"] { color: var(--film-mid) !important; }
.nav-mobile-vf { color: var(--film-mid) !important; }
.btn-vf-primary {
  display: inline-block; padding: 0.75rem 1.75rem;
  background: var(--film); color: #fff;
  font-family: var(--sans); font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  text-decoration: none; border-radius: 2px; transition: opacity 0.18s;
}
.btn-vf-primary:hover { opacity: 0.85; }

/* Home pathway card + SeedCircle track card — VitaFilm border + cta */
.pathway-card.track-vf { border-top-color: var(--film); }
.pathway-card.track-vf .pathway-cta { color: var(--film); }
.sc-track-card.track-vf { border-top-color: var(--film); }
.sc-track-card.track-vf .sc-tc-cta { color: var(--film); }

/* VitaFilm section-nav accent (reuses avs-* structural layout) */
.section-nav-vf .section-nav-link:hover { border-bottom-color: var(--film); }
.section-nav-vf .section-nav-link.active { border-bottom-color: var(--film); }

/* Home white-space stat badges: three-product variants */
.badge-fg  { background: rgba(201,146,59,0.15); color: var(--gold); }
.badge-vf2 { background: var(--film-pale); color: var(--film-mid); }
.badge-both { background: rgba(122,138,106,0.20); color: var(--sage); }

/* VitaFilm flow node (matches sc-flow-avs/pg treatment) */
.sc-flow-node.sc-flow-vf { border-top: 3px solid var(--film); flex: 0.8; background: var(--film-pale); border-color: var(--film-border); }

/* ═══════════════════════════════════════════════
   v8.0 — VitaFilm™ teal hero + bulletproof nav brand
   ═══════════════════════════════════════════════ */

/* Fuller teal hero for VitaFilm (reuses .avs-hero structure) */
.vf-hero {
  background: linear-gradient(118deg, #12384c 0%, var(--navy) 48%, #103b50 100%);
  border-top: 3px solid var(--film);
}
.vf-hero .hero-orb { background: var(--film); opacity: 0.30; }
.vf-hero .avs-meta-grid { border-top-color: var(--film-border); }
.vf-hero .avs-meta-label { color: var(--film-mid); }
.vf-hero .track-tag.vf { box-shadow: 0 0 0 1px rgba(62,134,168,0.45); }

/* Brand must never shrink or clip, regardless of nav item count */
.nav-brand { flex: 0 0 auto !important; }
.nav-brand-name {
  white-space: nowrap !important;
  overflow: visible !important;
  width: auto !important;
  max-width: none !important;
  text-overflow: clip !important;
}

/* ═══════════════════════════════════════════════
   v8.0 NAV — FINAL (deterministic): brand-forward + mobile-safe
   ═══════════════════════════════════════════════ */

/* Brand wordmark: FIXED width so it can never clip; prominent, leads the bar */
nav .nav-brand {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-width: 200px !important;
  overflow: visible !important;
  margin-right: 1.5rem;
}
nav .nav-brand-name {
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  color: #fff !important;
  text-transform: uppercase;
  white-space: nowrap !important;
  overflow: visible !important;
}
nav .nav-brand-rule { width: 2.4rem !important; height: 2px !important; }

/* Links never break a word (kills the stray "ROOM") and never wrap */
.nav-links a { white-space: nowrap !important; }

/* Desktop (≥1201px): one-line bar, right-aligned, no wrap */
@media (min-width: 1201px) {
  .nav-links { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-end !important; gap: 1rem; }
  .nav-hamburger { display: none !important; }
}

/* Mobile / tablet (≤1200px): brand + hamburger only; links in the overlay */
@media (max-width: 1200px) {
  .nav-links { display: none !important; }
  .nav-hamburger { display: flex !important; }
}
