/* PACE-X — design system */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  /* palette */
  --paper: #F4EFE3;
  --paper-bright: #FAF6EC;
  --paper-warm: #EBE4D3;
  --ink: #0B1A2E;
  --ink-2: #1A2D47;
  --signal: #0059FF;
  --signal-soft: #7AA3FF;
  --carbon: #B83E26;
  --carbon-soft: #D8684F;
  --sage: #5BCB7A;
  --muted: #6B6557;
  --rule: rgba(11, 26, 46, 0.18);
  --rule-soft: rgba(11, 26, 46, 0.08);
  --rule-dark: rgba(244, 239, 227, 0.15);

  /* type */
  --font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', Menlo, monospace;

  /* spacing */
  --gutter: clamp(20px, 4vw, 56px);
  --section-y: clamp(70px, 8vw, 120px);
  --max: 1320px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'ss01', 'kern';
}

/* Typography primitives */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--signal);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.eyebrow::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--signal);
  display: inline-block;
}
.eyebrow.on-dark { color: var(--signal-soft); }
.eyebrow.on-dark::before { background: var(--signal-soft); }
.eyebrow.muted { color: var(--muted); }
.eyebrow.muted::before { background: var(--muted); }

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ink);
}
h1 { font-size: clamp(56px, 8.5vw, 104px); line-height: 0.98; }
h2 { font-size: clamp(40px, 5vw, 68px); line-height: 1; }
h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.15; }
.italic-accent {
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-weight: 300;
  color: var(--signal);
}
.on-dark { color: var(--paper); }
.on-dark .italic-accent { color: var(--signal-soft); }

p { font-size: clamp(15px, 1.1vw, 17px); line-height: 1.55; color: var(--ink); max-width: 56ch; }
p.lead { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.55; max-width: 720px; color: var(--ink); }
.on-dark p { color: rgba(244, 239, 227, 0.82); }

/* Layout */
.container {
  max-width: var(--max);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* ─────────── Site nav ─────────── */
.dateline {
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 8px 0;
}
.dateline-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.dateline .mid { opacity: 0.6; }
.dateline .live { display: inline-flex; align-items: center; gap: 8px; }
.dateline .dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--sage);
  box-shadow: 0 0 0 0 rgba(91,203,122,.7);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(91,203,122,.7); }
  70% { box-shadow: 0 0 0 8px rgba(91,203,122,0); }
  100% { box-shadow: 0 0 0 0 rgba(91,203,122,0); }
}

.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.site-nav-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 22px var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-decoration: none;
}
.brand .dot { color: var(--signal); }

/* image-based brand lockup (nav + footer) */
.brand-lockup {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}
.brand-lockup img {
  height: 44px;
  width: auto;
  display: block;
}
.brand-lockup--sm img { height: 34px; }
footer .brand-lockup img {
  height: 56px;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

/* partner logo marks (expertise section) */
.partner-mark {
  display: inline-flex;
  align-items: center;
  height: 56px;
  margin-bottom: 22px;
}
.partner-mark img {
  max-height: 100%;
  width: auto;
  display: block;
}
.partner-mark--ccv {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  font-size: 36px;
  color: var(--ink);
  line-height: 1;
  gap: 14px;
}
.partner-mark--ccv .mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1.5px solid var(--ink);
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0;
  background: var(--ink);
  color: var(--paper);
}
.partner-mark--ccv .wordmark {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 30px;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.partner-mark--ccv .wordmark em {
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-weight: 300;
  color: var(--signal);
}
.nav-links { display: flex; gap: 36px; align-items: center; }
.nav-links a {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  position: relative;
  padding: 6px 0;
}
.nav-links a:hover { color: var(--signal); }
.nav-links a.current { color: var(--signal); }
.nav-links a.current::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--signal);
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 18px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn .arr { transition: transform .15s ease; }
.btn:hover .arr { transform: translateX(3px); }
.btn--signal { background: var(--signal); border-color: var(--signal); color: var(--paper); }
.btn--signal-soft { background: var(--signal-soft); border-color: var(--signal-soft); color: var(--ink); }
.btn--ghost { background: transparent; color: var(--ink); }
.btn--ghost-light { background: transparent; color: var(--paper); border-color: var(--paper); }

/* ─────────── Hero ─────────── */
.hero {
  background: var(--paper-bright);
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 10vw, 140px) 0 clamp(80px, 10vw, 140px);
}
.hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse 80% 60% at 80% 0%, rgba(0,89,255,0.05), transparent 60%),
    radial-gradient(ellipse 60% 70% at 0% 100%, rgba(184,62,38,0.04), transparent 60%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(100%/12 - 1px), rgba(11,26,46,0.04) calc(100%/12 - 1px), rgba(11,26,46,0.04) calc(100%/12));
  pointer-events: none;
}
.hero-inner {
  position: relative;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.hero h1 { max-width: 1100px; line-height: 1.04; }
.hero .lead { margin-top: 0; }
.hero .lead em { font-family: var(--font-display); font-style: italic; font-weight: 400; color: var(--signal); }
.chips {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.chip {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  border: 1px solid var(--rule);
  padding: 7px 12px;
  background: rgba(244,239,227,0.4);
}

/* ─────────── Sticky anchor nav ─────────── */
.anchor-nav {
  position: sticky;
  top: 73px;
  z-index: 40;
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
  border-top: 1px solid var(--rule);
}
.anchor-nav-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.anchor {
  text-decoration: none;
  color: var(--ink);
  padding: 18px 24px 18px 0;
  border-right: 1px solid var(--rule-soft);
  display: block;
  position: relative;
  transition: color .2s ease;
}
.anchor:last-child { border-right: none; }
.anchor .num {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.anchor .num strong { color: var(--ink); font-weight: 500; }
.anchor .label {
  display: block;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-top: 4px;
  letter-spacing: -0.01em;
}
.anchor .need {
  display: block;
  font-style: italic;
  font-family: var(--font-display);
  font-weight: 300;
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}
.anchor::after {
  content: '';
  position: absolute;
  left: 0; bottom: -1px;
  width: 0; height: 2px;
  background: var(--signal);
  transition: width .25s ease;
}
.anchor:hover { color: var(--signal); }
.anchor:hover .label { color: var(--signal); }
.anchor.active .label { color: var(--signal); }
.anchor.active .num strong { color: var(--signal); }
.anchor.active::after { width: calc(100% - 24px); }

/* ─────────── Pillar section base ─────────── */
.pillar { padding: clamp(40px, 4vw, 64px) 0; min-height: 100vh; display: flex; align-items: center; }
.pillar-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.pillar.reverse .pillar-inner { grid-template-columns: 1fr 1.1fr; }
.pillar.reverse .pillar-content { order: 1; }
.pillar.reverse .pillar-visual { order: 2; }
.pillar.dark { background: var(--ink); color: var(--paper); position: relative; }
.pillar.dark::before {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12));
  pointer-events: none;
}
.pillar.dark .pillar-inner { position: relative; z-index: 2; }
.pillar.bg-bright { background: var(--paper-bright); }
.pillar.bg-warm { background: var(--paper-warm); }

.pillar-content h2 { margin-top: 14px; max-width: 14ch; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.02; }
.pillar-content .body { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.pillar-content .body p { max-width: 46ch; font-size: 14px; line-height: 1.45; }
.pillar.dark .body p { color: rgba(244,239,227,0.78); }

/* feature list */
.feature-list { margin-top: 20px; }
.feature {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px dashed var(--rule);
}
.feature:last-child { border-bottom: 1px dashed var(--rule); }
.pillar.dark .feature { border-color: rgba(244,239,227,0.15); }
.feature .num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--muted);
  padding-top: 4px;
}
.pillar.dark .feature .num { color: var(--signal-soft); }
.feature .title {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin-bottom: 1px;
  line-height: 1.2;
}
.pillar.dark .feature .title { color: var(--paper); }
.feature .desc {
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--muted);
  max-width: 52ch;
}
.pillar.dark .feature .desc { color: rgba(244,239,227,0.66); }

/* In-talks accent for new pillar feature */
.feature.in-talks { background: linear-gradient(180deg, rgba(201,242,106,0.08) 0%, transparent 100%); padding: 18px 14px 16px 0; border-radius: 4px; margin-left: -14px; padding-left: 14px; }
.feature.in-talks .num { color: var(--signal); }
.in-talks-pill {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--signal);
  color: var(--ink);
  padding: 3px 8px;
  border-radius: 999px;
  margin-right: 6px;
  vertical-align: 1px;
  font-weight: 600;
}
.inline-link {
  color: var(--ink);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--signal);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.inline-link:hover { color: var(--signal-deep, #4a7a1a); }

.who {
  margin-top: 36px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
  padding-top: 18px;
  border-top: 1px solid var(--rule-soft);
}
.pillar.dark .who { color: rgba(244,239,227,0.5); border-color: rgba(244,239,227,0.1); }
.who strong { color: var(--ink); font-weight: 500; margin-right: 8px; }
.pillar.dark .who strong { color: var(--paper); }

.pillar-content .cta { margin-top: 18px; }

/* ─────────── Console (data visual) ─────────── */
.console {
  border: 1px solid var(--ink);
  background: var(--paper-bright);
  position: sticky;
  top: 200px;
}
.pillar.dark .console { border-color: rgba(244,239,227,0.4); background: rgba(244,239,227,0.03); }
.console-bar {
  background: var(--ink);
  color: var(--paper);
  padding: 9px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.console-bar .status { display: inline-flex; align-items: center; gap: 8px; color: var(--signal-soft); }
.console-bar .status .dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--signal-soft);
  animation: pulse-blue 2s infinite;
}
.pillar.dark .console-bar { background: rgba(244,239,227,0.06); border-bottom: 1px solid rgba(244,239,227,0.2); }
@keyframes pulse-blue {
  0% { box-shadow: 0 0 0 0 rgba(122,163,255,.6); }
  70% { box-shadow: 0 0 0 8px rgba(122,163,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(122,163,255,0); }
}
.console-rows {}
.row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: baseline;
  padding: 8px 16px;
  border-top: 1px solid var(--rule-soft);
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-feature-settings: 'tnum';
}
.pillar.dark .row { border-color: rgba(244,239,227,0.08); }
.row:first-child { border-top: none; }
.row .label {
  color: var(--ink);
  letter-spacing: 0.02em;
}
.pillar.dark .row .label { color: rgba(244,239,227,0.7); }
.row .value {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: -0.01em;
  color: var(--ink);
  font-feature-settings: 'tnum';
}
.pillar.dark .row .value { color: var(--paper); }
.row .value.signal { color: var(--signal); }
.pillar.dark .row .value.signal { color: var(--signal-soft); }
.row .value.carbon { color: var(--carbon); }
.row .value.sage { color: var(--sage); }
.row .value.paper { color: var(--paper); }
.row.highlight {
  border-left: 3px solid var(--signal);
  background: rgba(0,89,255,0.05);
}
.pillar.dark .row.highlight {
  border-left: 3px solid var(--signal-soft);
  background: rgba(122,163,255,0.08);
}
.row.highlight-soft { border-left: 3px solid var(--signal-soft); background: rgba(122,163,255,0.06); }

/* ─────────── Integration section ─────────── */
.integration {
  background: var(--ink);
  color: var(--paper);
  padding: var(--section-y) 0;
  position: relative;
  overflow: hidden;
}
.integration::before {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12));
  pointer-events: none;
}
.integration-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.integration h2 { margin-top: 8px; }
.integration p {
  max-width: 720px;
  text-align: center;
  color: rgba(244,239,227,0.78);
  font-size: 17px;
}
.diagram {
  margin-top: 60px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 14px;
}
.diagram-node {
  border: 1px solid rgba(244,239,227,0.25);
  padding: 22px 14px;
  text-align: center;
}
.diagram-node .n {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--signal-soft);
  display: block;
  margin-bottom: 8px;
}
.diagram-node .name {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--paper);
  letter-spacing: -0.01em;
}
.diagram-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: var(--signal-soft);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.diagram-arrow svg { width: 28px; }
.diagram-base {
  margin-top: 28px;
  border-top: 1px solid rgba(244,239,227,0.15);
  padding-top: 18px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(244,239,227,0.6);
  width: 100%;
  text-align: center;
}
.diagram-base strong { color: var(--paper); font-weight: 500; }

/* ─────────── Industry view ─────────── */
.industries { padding: var(--section-y) 0; background: var(--paper-bright); }
.industries-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.industries h2 { margin-top: 24px; max-width: 18ch; }
.industries p.lead { margin-top: 28px; }
.segments {
  margin-top: 56px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 28px;
}
.segment-btn {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid var(--rule);
  color: var(--ink);
  padding: 12px 22px;
  cursor: pointer;
  transition: all .15s ease;
}
.segment-btn:hover { border-color: var(--ink); }
.segment-btn.active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.segment-panel {
  margin-top: 48px;
  display: none;
}
.segment-panel.active { display: block; }
.segment-panel .pressure {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(24px, 2.5vw, 32px);
  color: var(--ink);
  max-width: 28ch;
  margin-bottom: 48px;
  line-height: 1.2;
}
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-bottom: 48px;
}
.stat {
  border-top: 1px solid var(--ink);
  padding-top: 18px;
}
.stat .num {
  font-family: var(--font-display);
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ink);
  font-feature-settings: 'tnum';
}
.stat .num.carbon { color: var(--carbon); }
.stat .num.signal { color: var(--signal); }
.stat .label {
  margin-top: 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
}
.entry-line {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--ink);
  max-width: 70ch;
  border-top: 1px dashed var(--rule);
  padding-top: 24px;
}
.entry-line strong { font-weight: 500; }
.entry-line .pillar-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--signal);
  margin-right: 8px;
}

/* ─────────── Final CTA ─────────── */
.final-cta {
  background: var(--paper);
  padding: clamp(80px, 10vw, 140px) 0;
  text-align: center;
}
.final-cta-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.final-cta h2 { max-width: 16ch; }
.final-cta .sub { max-width: 640px; font-size: 17px; color: var(--muted); margin-top: 8px; }
.final-cta .ctas { margin-top: 28px; display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }

/* ─────────── Footer ─────────── */
footer {
  background: var(--ink);
  color: var(--paper);
  padding: 64px 0 36px;
}
.footer-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 48px;
}
.footer-inner h4 {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--signal-soft);
  margin-bottom: 16px;
  font-weight: 500;
}
.footer-inner ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-inner a {
  color: rgba(244,239,227,0.7);
  text-decoration: none;
  font-size: 14px;
}
.footer-inner a:hover { color: var(--paper); }
.footer-brand .brand { color: var(--paper); font-size: 28px; }
.footer-brand p { color: rgba(244,239,227,0.6); font-size: 13px; max-width: 36ch; margin-top: 12px; }
.footer-bottom {
  max-width: var(--max);
  margin: 60px auto 0;
  padding: 22px var(--gutter) 0;
  border-top: 1px solid rgba(244,239,227,0.1);
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(244,239,227,0.5);
}

/* ─────────── Reveal motion ─────────── */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s ease, transform .8s ease;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
.stagger > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}
.stagger.in > * { opacity: 1; transform: translateY(0); }

/* Neutralize reveal for above-the-fold hero content */
.home-hero .reveal,
.about-hero .reveal,
.hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}
.stagger.in > *:nth-child(1) { transition-delay: 0s; }
.stagger.in > *:nth-child(2) { transition-delay: .06s; }
.stagger.in > *:nth-child(3) { transition-delay: .12s; }
.stagger.in > *:nth-child(4) { transition-delay: .18s; }
.stagger.in > *:nth-child(5) { transition-delay: .24s; }
.stagger.in > *:nth-child(6) { transition-delay: .30s; }
.stagger.in > *:nth-child(7) { transition-delay: .36s; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .stagger > * { opacity: 1 !important; transform: none !important; transition: none; }
  html { scroll-behavior: auto; }
}

/* ─────────── Responsive ─────────── */
@media (max-width: 980px) {
  .pillar-inner, .pillar.reverse .pillar-inner { grid-template-columns: 1fr; }
  .pillar.reverse .pillar-content { order: 2; }
  .pillar.reverse .pillar-visual { order: 1; }
  .console { position: relative; top: auto; }
  .anchor-nav-inner { grid-template-columns: none; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .anchor { min-width: 240px; scroll-snap-align: start; }
  .stat-row { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .diagram { grid-template-columns: 1fr; }
  .diagram-arrow { transform: rotate(90deg); padding: 8px 0; }
  .nav-links { display: none; }
  .dateline .mid { display: none; }
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ─────────── Home-specific ─────────── */
.home-hero {
  background: var(--paper-bright);
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 9vw, 130px) 0 clamp(80px, 9vw, 100px);
}
.home-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse 70% 50% at 80% 10%, rgba(20,71,199,0.08), transparent 60%),
    radial-gradient(ellipse 60% 60% at 10% 100%, rgba(184,62,38,0.05), transparent 60%);
  pointer-events: none;
}
.home-hero-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.home-hero .left { display: flex; flex-direction: column; gap: 32px; }
.home-hero h1 {
  font-size: clamp(44px, 5.5vw, 72px);
  line-height: 1.05;
  letter-spacing: -0.025em;
}
.home-hero .lead { font-size: clamp(17px, 1.3vw, 20px); }
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }

/* Hero console */
.hero-console {
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.hero-console-bar {
  background: var(--ink); color: var(--paper);
  padding: 14px 20px;
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
}
.hero-console-bar .dots { display: flex; gap: 6px; }
.hero-console-bar .dots span { width: 8px; height: 8px; background: rgba(244,239,227,0.4); display: inline-block; border-radius: 50%; }
.hero-console-body { padding: 12px 24px; }
.console-row-big {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule-soft);
}
.console-row-big:last-child { border-bottom: none; }
.console-row-big .lbl {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted);
}
.console-row-big .meta {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.04em;
  color: var(--muted); margin-top: 4px;
}
.console-row-big .val {
  font-family: var(--font-display); font-size: clamp(28px, 2.5vw, 34px);
  font-weight: 500; letter-spacing: -0.02em; color: var(--ink);
  font-feature-settings: 'tnum';
}
.console-row-big .val.carbon { color: var(--carbon); }
.console-row-big .val.signal { color: var(--signal); }
.console-row-big .val .arrow { font-size: 0.6em; margin-right: 4px; }
.hero-console-footer {
  padding: 14px 20px;
  background: var(--paper-warm);
  border-top: 1px solid var(--rule);
  display: flex; justify-content: space-between;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
  color: var(--muted);
  flex-wrap: wrap; gap: 8px;
}

/* Section head two-column pattern */
.section-head {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
  margin-bottom: 60px;
}
.section-head h2 { margin-top: 28px; }
.section-head .intro { padding-top: clamp(40px, 6vw, 80px); }

/* Stat grid (Already here) */
.already {
  background: var(--paper);
  padding: var(--section-y) 0;
}
.already-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.stat-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
}
.stat-card {
  background: var(--paper-bright);
  padding: 48px 40px;
  display: flex; flex-direction: column; gap: 20px;
  min-height: 380px;
}
.stat-card .tag {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--muted);
}
.stat-card .big {
  font-family: var(--font-display);
  font-size: clamp(72px, 7vw, 108px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--signal);
  font-feature-settings: 'tnum';
  margin-top: 6px;
}
.stat-card .big.carbon { color: var(--carbon); }
.stat-card .big .unit { font-size: 0.45em; margin-left: 4px; color: var(--muted); letter-spacing: -0.02em; }
.stat-card .desc {
  font-size: 14px; line-height: 1.5; color: var(--ink); max-width: 40ch;
}
.stat-card .src {
  margin-top: auto;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em;
  color: var(--muted); text-transform: uppercase;
}

/* P&L section */
.pnl-sec { background: var(--ink); color: var(--paper); padding: var(--section-y) 0; position: relative; overflow: hidden; }
.pnl-sec::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12 - 1px), rgba(244,239,227,0.024) calc(100%/12));
  pointer-events: none;
}
.pnl-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); position: relative; z-index: 2; }
.pnl-inner h2 { margin-top: 28px; }
.pnl-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 20px;
}
.pnl-rows { display: flex; flex-direction: column; }
.pnl-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 28px;
  padding: 28px 0;
  border-top: 1px solid rgba(244,239,227,0.15);
  align-items: start;
}
.pnl-row:last-child { border-bottom: 1px solid rgba(244,239,227,0.15); }
.pnl-row .big {
  font-family: var(--font-display);
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1;
  color: var(--carbon-soft);
  letter-spacing: -0.02em;
  font-weight: 500;
  font-feature-settings: 'tnum';
}
.pnl-row .big.paper { color: var(--paper); }
.pnl-row .txt {
  color: rgba(244,239,227,0.82);
  font-size: 14px; line-height: 1.5;
}
.pnl-row .src {
  margin-top: 10px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em;
  color: rgba(244,239,227,0.45);
}
.pnl-chart {
  background: rgba(244,239,227,0.04);
  border: 1px solid rgba(244,239,227,0.15);
  padding: 32px;
  display: flex; flex-direction: column;
}
.pnl-chart .ct {
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--paper);
}
.pnl-chart .ctx {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.15em;
  color: rgba(244,239,227,0.6); text-transform: uppercase;
}
.pnl-chart-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 18px; }
.chart-svg { width: 100%; height: auto; flex: 1; }
.chart-legend {
  border: 1px solid rgba(244,239,227,0.15);
  padding: 14px 20px;
  display: flex; gap: 24px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em;
  color: rgba(244,239,227,0.7); text-transform: uppercase;
  margin-top: 18px;
}
.chart-legend span { display: inline-flex; align-items: center; gap: 8px; }
.chart-legend .dot { width: 8px; height: 8px; }

/* Journey cards */
.journey-sec { background: var(--paper); padding: var(--section-y) 0; }
.journey-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.journey-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
}
.jcard {
  background: var(--paper-bright);
  padding: 36px 28px;
  display: flex; flex-direction: column; gap: 18px;
  min-height: 340px;
}
.jcard .tag {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--signal);
}
.jcard h3 {
  font-family: var(--font-display);
  font-size: 28px;
  letter-spacing: -0.01em;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.1;
}
.jcard p { font-size: 14px; color: var(--ink); line-height: 1.5; }
.jcard .learn {
  margin-top: auto;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  color: var(--signal); text-transform: uppercase;
  text-decoration: none;
}
.jcard .icon {
  width: 40px; height: 40px;
  border: 1px solid var(--ink);
  display: flex; align-items: center; justify-content: center;
  color: var(--ink);
}

/* Expertise cards */
.expertise-sec { background: var(--paper-warm); padding: var(--section-y) 0; }
.expertise-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.expertise-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
}
.ecard {
  background: var(--paper);
  padding: 44px 40px;
  display: flex; flex-direction: column; gap: 18px;
}
.ecard .tag {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--signal);
}
.ecard h3 {
  font-family: var(--font-display);
  font-size: 32px;
  letter-spacing: -0.01em;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.1;
}
.ecard p { color: var(--ink); font-size: 15px; line-height: 1.55; }
.ecard .feat {
  margin-top: auto;
  border: 1px dashed rgba(11,26,46,0.2);
  padding: 20px;
  display: flex; flex-direction: column; gap: 8px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em;
  color: var(--ink);
}

/* Eco (institutions) */
.eco-sec { background: var(--paper); padding: var(--section-y) 0; text-align: center; }
.eco-inner {
  max-width: 960px; margin: 0 auto; padding: 0 var(--gutter);
  display: flex; flex-direction: column; gap: 40px; align-items: center;
}
.eco-inner h2 { font-size: clamp(36px, 4vw, 52px); line-height: 1.15; max-width: 20ch; }
.eco-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  width: 100%;
  margin-top: 32px;
}
.eco-item {
  background: var(--paper);
  padding: 28px 24px;
  text-align: left;
  display: flex; flex-direction: column; gap: 8px;
}
.eco-item .name {
  font-family: var(--font-display); font-size: 18px;
  line-height: 1.2;
  color: var(--ink); font-weight: 400;
}
.eco-item .role {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--muted);
}

/* Accred bar */
.accred {
  background: var(--paper-bright);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 36px 0;
}
.accred-inner {
  max-width: var(--max); margin: 0 auto;
  padding: 0 var(--gutter);
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 20px;
}
.accred .label {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.25em;
  text-transform: uppercase; color: var(--muted);
}
.accred .items { display: flex; gap: 36px; flex-wrap: wrap; }
.accred .item {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--ink); font-weight: 500;
}

/* CTA band */
.cta-band {
  background: var(--ink); color: var(--paper);
  padding: clamp(100px, 12vw, 160px) 0;
  text-align: center;
  position: relative; overflow: hidden;
}
.cta-band::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(20,71,199,0.15), transparent 70%);
}
.cta-band-inner {
  max-width: 900px; margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative; z-index: 2;
  display: flex; flex-direction: column; gap: 36px; align-items: center;
}
.cta-band h2 {
  font-size: clamp(48px, 6vw, 80px);
  color: var(--paper);
  line-height: 1.02;
  text-align: center;
}
.cta-band p { max-width: 640px; text-align: center; color: rgba(244,239,227,0.75); font-size: 17px; }

/* About page */
.about-hero {
  background: var(--paper-bright);
  padding: clamp(80px, 9vw, 140px) 0 clamp(60px, 7vw, 100px);
  position: relative; overflow: hidden;
}
.about-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 60% at 100% 0%, rgba(20,71,199,0.06), transparent 60%);
}
.about-hero-inner {
  max-width: var(--max); margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative; z-index: 2;
  display: flex; flex-direction: column; gap: 32px;
}
.about-hero h1 {
  font-size: clamp(48px, 6vw, 88px);
  max-width: 16ch; line-height: 1.02;
}

/* Mission split */
.mission {
  padding: var(--section-y) 0;
  background: var(--paper);
}
.mission-inner {
  max-width: var(--max); margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.mission h2 { margin-top: 28px; max-width: 14ch; }
.mission .body { padding-top: clamp(40px, 6vw, 80px); display: flex; flex-direction: column; gap: 22px; }
.mission .body p { font-size: 17px; max-width: 56ch; }

/* Partners */
.partners { padding: var(--section-y) 0; background: var(--paper-warm); }
.partners-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.partners h2 { max-width: 18ch; margin-top: 24px; }
.partners-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--ink);
  background: var(--ink);
  gap: 1px;
  margin-top: 56px;
}
.partner-card {
  background: var(--paper);
  padding: 48px 40px;
  display: flex; flex-direction: column; gap: 20px;
  min-height: 340px;
}
.partner-card .logo {
  width: 56px; height: 56px;
  border: 1px solid var(--ink);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 22px; font-weight: 500;
  color: var(--ink);
}
.partner-card h3 {
  font-family: var(--font-display); font-size: 32px;
  line-height: 1.1; letter-spacing: -0.01em; font-weight: 400;
  color: var(--ink);
}
.partner-card .role {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--signal);
}
.partner-card p { color: var(--ink); font-size: 15px; line-height: 1.55; }

/* Team */
.team { padding: var(--section-y) 0; background: var(--paper-bright); }
.team-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.team h2 { max-width: 16ch; margin-top: 24px; }
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-top: 56px;
}
.person {
  background: var(--paper);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 18px;
  min-height: 340px;
}
.person--lead {
  grid-column: span 2;
  flex-direction: row;
  align-items: stretch;
  gap: 28px;
  min-height: 360px;
}
.person--lead .avatar {
  width: 220px; flex-shrink: 0; aspect-ratio: 3/4;
}
.person--lead .name { font-size: 28px; }
.person--lead p { font-size: 14px; }
.person--lead > div:not(.avatar),
.person--lead .lead-body {
  display: flex; flex-direction: column; gap: 12px; flex: 1;
}
.avatar {
  width: 100%; aspect-ratio: 1;
  background: var(--paper-warm);
  border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.avatar svg { width: 60%; height: 60%; color: var(--ink); opacity: 0.4; }
.avatar img.portrait {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 18%;
  filter: grayscale(1) contrast(1.02);
  mix-blend-mode: multiply;
}
.avatar.has-portrait { background: var(--paper-warm); }
.avatar .initials {
  font-family: var(--font-display); font-size: clamp(40px, 4vw, 56px);
  font-weight: 400; letter-spacing: -0.02em;
  color: var(--ink); opacity: 0.7;
}
.person .name {
  font-family: var(--font-display); font-size: 22px;
  line-height: 1.1; letter-spacing: -0.01em; font-weight: 400;
  color: var(--ink);
}
.person .role {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--muted);
}
.person p { font-size: 13px; color: var(--muted); line-height: 1.5; }

@media (max-width: 980px) {
  .home-hero-inner { grid-template-columns: 1fr; }
  .section-head { grid-template-columns: 1fr; }
  .stat-grid-3 { grid-template-columns: 1fr; }
  .pnl-grid { grid-template-columns: 1fr; }
  .journey-grid { grid-template-columns: 1fr 1fr; }
  .expertise-grid { grid-template-columns: 1fr; }
  .eco-grid { grid-template-columns: 1fr 1fr; }
  .partners-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .mission-inner { grid-template-columns: 1fr; }
  .pnl-row { grid-template-columns: 1fr; gap: 10px; }
  .res-grid { grid-template-columns: 1fr; }
  .res-featured { grid-template-columns: 1fr; }
}

/* ─────────── Resources (blog) ─────────── */
.res-hero {
  padding: clamp(80px, 10vw, 140px) 0 clamp(40px, 5vw, 72px);
  border-bottom: 1px solid var(--rule);
}
.res-hero-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: end;
}
.res-hero h1 {
  font-size: clamp(48px, 7vw, 96px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  max-width: 12ch;
}
.res-hero p {
  max-width: 42ch;
  font-size: 15px;
  color: var(--muted);
  margin-top: 16px;
}
.res-filters {
  display: flex;
  gap: 14px;
  padding-bottom: 8px;
  flex-wrap: wrap;
}
.res-filters button {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 10px 16px;
  border: 1px solid var(--rule);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  transition: all .2s ease;
}
.res-filters button:hover { color: var(--ink); border-color: var(--ink); }
.res-filters button.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* Featured article */
.res-featured-sec { padding: clamp(48px, 6vw, 80px) 0; }
.res-featured {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}
.res-featured .thumb {
  aspect-ratio: 4 / 3;
  background: var(--ink);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ink);
}
.res-featured .thumb::after {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0 18px, rgba(244,239,227,0.03) 18px 19px);
}
.res-featured .thumb svg {
  position: absolute; inset: 0; width: 100%; height: 100%;
}
.res-featured .meta {
  display: flex;
  gap: 14px;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 20px;
}
.res-featured .meta .tag {
  background: var(--signal);
  color: var(--paper);
  padding: 5px 10px;
  letter-spacing: 0.2em;
}
.res-featured h2 {
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  max-width: 18ch;
}
.res-featured .excerpt {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.55;
  color: var(--muted);
  max-width: 52ch;
}
.res-featured .read {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 4px;
}
.res-featured .read:hover { color: var(--signal); border-color: var(--signal); }

/* Grid of articles */
.res-grid-sec {
  padding: clamp(48px, 6vw, 80px) 0 clamp(80px, 10vw, 120px);
  border-top: 1px solid var(--rule);
}
.res-grid-sec .res-head {
  max-width: var(--max);
  margin: 0 auto clamp(32px, 4vw, 56px);
  padding: 0 var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
}
.res-grid-sec h3 {
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 400;
  letter-spacing: -0.01em;
}
.res-grid-sec .count {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
}
.res-grid {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 2.5vw, 40px);
}
.res-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform .3s ease;
}
.res-card:hover { transform: translateY(-4px); }
.res-card .thumb {
  aspect-ratio: 4 / 3;
  position: relative;
  overflow: hidden;
  margin-bottom: 22px;
  border: 1px solid var(--ink);
}
.res-card .thumb svg {
  width: 100%; height: 100%;
  display: block;
}
.res-card .meta {
  display: flex;
  gap: 12px;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 14px;
}
.res-card .meta .tag {
  padding: 4px 9px;
  border: 1px solid var(--rule);
  letter-spacing: 0.18em;
  color: var(--ink);
}
.res-card h4 {
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 12px;
}
.res-card .excerpt {
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  max-width: 42ch;
}
.res-card .read {
  margin-top: 20px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--signal);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Newsletter band */
.res-sub {
  background: var(--paper-warm);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: clamp(60px, 8vw, 100px) 0;
}
.res-sub-inner {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  text-align: center;
}
.res-sub h2 {
  font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  max-width: 20ch;
  margin: 0 auto;
}
.res-sub p {
  margin: 18px auto 0;
  max-width: 48ch;
  color: var(--muted);
}
.res-sub form {
  margin-top: 32px;
  display: flex;
  gap: 8px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.res-sub input {
  flex: 1;
  padding: 14px 16px;
  border: 1px solid var(--ink);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--ink);
  outline: none;
}
.res-sub input:focus { border-color: var(--signal); }
.res-sub button {
  padding: 14px 22px;
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
}
.res-sub button:hover { background: var(--signal); border-color: var(--signal); }

.about-leadership {
	padding: 92px 0 112px;
	background: var(--paper);
}

.about-leadership-inner {
	width: min(1180px, calc(100% - 64px));
	margin: 0 auto;
}

.about-leadership .eyebrow {
	display: block;
	margin-bottom: 18px;
}

.about-leadership .eyebrow strong {
	color: var(--ink);
	font-weight: 500;
	opacity: .4;
	margin-right: 8px;
}

.about-leadership h2 {
	max-width: 560px;
	margin: 0 0 48px;
	font-size: clamp(42px, 5vw, 72px);
	line-height: .96;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--ink);
}

.leadership-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
	background: var(--paper);
}

.leadership-card {
	min-height: 420px;
	padding: 26px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.leadership-card--featured {
	grid-column: span 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: 26px;
}

.leadership-photo {
	display: flex;
	align-items: end;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--paper);
	border: 1px solid var(--line);
	overflow: hidden;
	text-decoration: none;
}

.leadership-photo img {
	width: 94%;
	height: 94%;
	display: block;
	object-fit: contain;
	object-position: center bottom;
}

.leadership-copy h3 {
	margin: 0 0 8px;
	font-size: 19px;
	line-height: 1.1;
	font-weight: 500;
	color: var(--ink);
}

.leadership-copy h3 a {
	color: inherit;
	text-decoration: none;
}

.leadership-role {
	margin: 0 0 14px;
	font-size: 9px;
	line-height: 1.5;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ink);
	opacity: .62;
}

.leadership-bio {
	margin: 0;
	max-width: 280px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}

.leadership-links {
	display: flex;
	gap: 14px;
	margin-top: 16px;
}

.leadership-links a {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--signal);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

@media (max-width: 980px) {
	.leadership-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.leadership-card--featured {
		grid-column: span 2;
	}
}

@media (max-width: 640px) {
	.about-leadership {
		padding: 64px 0 80px;
	}

	.about-leadership-inner {
		width: min(100% - 32px, 1180px);
	}

	.about-leadership h2 {
		font-size: 42px;
		margin-bottom: 32px;
	}

	.leadership-grid {
		grid-template-columns: 1fr;
	}

	.leadership-card,
	.leadership-card--featured {
		grid-column: auto;
		display: flex;
		min-height: 0;
		padding: 22px;
	}

	.leadership-photo {
		max-width: 260px;
	}
}
/* Leadership section override */
.about-leadership {
	padding: 88px 0 104px !important;
	background: var(--paper) !important;
	overflow: hidden;
}

.about-leadership-inner {
	width: min(1180px, calc(100% - 72px)) !important;
	margin: 0 auto !important;
}

.about-leadership h2 {
	max-width: 560px !important;
	margin: 0 0 42px !important;
	font-size: clamp(38px, 4.6vw, 64px) !important;
	line-height: 0.98 !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
}

.leadership-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	border-top: 1px solid var(--line) !important;
	border-left: 1px solid var(--line) !important;
	background: var(--paper) !important;
}

.leadership-card,
.leadership-card--featured {
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	padding: 24px !important;
	border-right: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
	gap: 18px !important;
}

.leadership-card--featured {
	grid-column: auto !important;
}

.leadership-photo {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	max-height: 230px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	overflow: hidden !important;
	text-decoration: none !important;
}

.leadership-photo img {
	width: 76% !important;
	height: 76% !important;
	max-width: 190px !important;
	max-height: 190px !important;
	display: block !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.leadership-copy h3 {
	margin: 0 0 8px !important;
	font-size: 18px !important;
	line-height: 1.15 !important;
	font-weight: 500 !important;
	color: var(--ink) !important;
}

.leadership-copy h3 a {
	color: inherit !important;
	text-decoration: none !important;
}

.leadership-role {
	margin: 0 0 12px !important;
	font-size: 9px !important;
	line-height: 1.5 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	color: var(--signal) !important;
}

.leadership-bio {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--muted) !important;
}

.leadership-links {
	display: flex !important;
	gap: 14px !important;
	margin-top: 16px !important;
}

.leadership-links a {
	font-size: 10px !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--signal) !important;
	text-decoration: none !important;
	border-bottom: 1px solid currentColor !important;
}

@media (max-width: 980px) {
	.leadership-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.about-leadership-inner {
		width: min(100% - 32px, 1180px) !important;
	}

	.about-leadership h2 {
		font-size: 38px !important;
	}

	.leadership-grid {
		grid-template-columns: 1fr !important;
	}

	.leadership-photo {
		max-height: 240px !important;
	}

	.leadership-photo img {
		max-width: 180px !important;
		max-height: 180px !important;
	}
}

/* Leadership card borders */
.leadership-grid {
	border: 1px solid var(--line) !important;
	background: var(--paper) !important;
}

.leadership-card,
.leadership-card--featured {
	border-right: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 28px !important;
	background: var(--paper) !important;
}

.leadership-card:nth-child(4n) {
	border-right: 0 !important;
}

.leadership-card:nth-last-child(-n + 4) {
	border-bottom: 0 !important;
}

.leadership-photo {
	border: 1px solid var(--line) !important;
	background: rgba(255, 255, 255, 0.18) !important;
}

@media (max-width: 980px) {
	.leadership-card:nth-child(4n) {
		border-right: 1px solid var(--line) !important;
	}

	.leadership-card:nth-child(2n) {
		border-right: 0 !important;
	}

	.leadership-card:nth-last-child(-n + 4) {
		border-bottom: 1px solid var(--line) !important;
	}

	.leadership-card:nth-last-child(-n + 2) {
		border-bottom: 0 !important;
	}
}

@media (max-width: 640px) {
	.leadership-card,
	.leadership-card:nth-child(2n),
	.leadership-card:nth-child(4n) {
		border-right: 0 !important;
	}

	.leadership-card:nth-last-child(-n + 2) {
		border-bottom: 1px solid var(--line) !important;
	}

	.leadership-card:last-child {
		border-bottom: 0 !important;
	}
}

/* Compliance journey card alignment */
.journey-card h3,
.compliance-card h3,
.solution-card h3 {
	min-height: 2.35em;
	display: flex;
	align-items: flex-start;
	line-height: 1.12;
}
/* Make CCV logo visually match Greensee logo scale */
.partner-card img[src*="ccv"],
.partner-card img[src*="climate"],
.logo-card img[src*="ccv"],
.logo-card img[src*="climate"] {
	transform: scale(1.65);
	transform-origin: left center;
}
.ecard .partner-mark img.ccv-logo {
	width: 300px !important;
	max-width: 78% !important;
	height: auto !important;
	object-fit: contain !important;
	transform: none !important;
}
.pacex-site-logo,
.brand-lockup img {
	width: 120px !important;
	max-width: none !important;
	height: auto !important;
	display: block !important;
}
/* Anchor nav cleanup */
.anchor-nav .anchor {
	min-height: 118px !important;
	padding-top: 26px !important;
	padding-bottom: 24px !important;
}

.anchor-nav .label {
	display: none !important;
}

.anchor-nav .num {
	display: block !important;
	margin-bottom: 16px !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ink) !important;
}

.anchor-nav .num strong {
	font-size: 13px !important;
	letter-spacing: .18em !important;
	font-weight: 500 !important;
	color: inherit !important;
}

.anchor-nav .need {
	display: block !important;
	max-width: 280px !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	font-style: italic !important;
	color: var(--muted) !important;
}

/* Active/selected state */
.anchor-nav .anchor.current .num,
.anchor-nav .anchor.active .num,
.anchor-nav .anchor[aria-current="true"] .num {
	color: var(--signal) !important;
}

/* Anchor nav number alignment */
.anchor-nav .num {
	display: flex !important;
	align-items: baseline !important;
	gap: 14px !important;
	font-size: 20px !important;
	line-height: 1.1 !important;
}

.anchor-nav .num strong {
	font-size: 15px !important;
	line-height: 1 !important;
	letter-spacing: .08em !important;
	font-weight: 500 !important;
	position: relative !important;
	top: -1px !important;
}

.anchor-nav .num::first-letter {
	color: inherit;
}
.anchor-nav .anchor {
	min-height: 126px !important;
	padding: 28px 56px 24px 56px !important;
}

.anchor-nav .num {
	display: block !important;
	margin: 0 0 18px !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.anchor-nav .num strong {
	font-size: 18px !important;
	line-height: 1 !important;
	letter-spacing: .08em !important;
	font-weight: 500 !important;
}

.anchor-nav .need {
	display: block !important;
	margin: 0 !important;
	max-width: 260px !important;
	font-size: 14px !important;
	line-height: 1.42 !important;
	font-style: italic !important;
	color: var(--muted) !important;
}

/* Mobile: hide large home metric/stat boxes */
/* Mobile: tighten home stat blocks */
@media (max-width: 640px) {
	.metric-grid,
	.stats-grid,
	.home-stats-grid {
		grid-template-columns: 1fr !important;
	}

	.metric-card,
	.stat-card,
	.home-stat,
	.stat-tile {
		min-height: 220px !important;
		padding: 34px 36px !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
	}

	.metric-card .num,
	.stat-card .num,
	.home-stat .num,
	.stat-tile .num,
	.metric-card .value,
	.stat-card .value,
	.home-stat .value,
	.stat-tile .value {
		font-size: clamp(72px, 18vw, 96px) !important;
		line-height: .9 !important;
		margin: 18px 0 !important;
	}

	.metric-card .label,
	.stat-card .label,
	.home-stat .label,
	.stat-tile .label {
		font-size: 11px !important;
		letter-spacing: .22em !important;
	}

	.metric-card .meta,
	.stat-card .meta,
	.home-stat .meta,
	.stat-tile .meta {
		font-size: 11px !important;
		letter-spacing: .18em !important;
	}
}

}
.policy-page {
	background: var(--paper);
	padding: 110px 0 130px;
}

.policy-inner {
	width: min(980px, calc(100% - 48px));
	margin: 0 auto;
}

.policy-page .eyebrow {
	display: block;
	margin-bottom: 22px;
	color: var(--signal);
	letter-spacing: .24em;
	text-transform: uppercase;
	font-size: 11px;
}

.policy-page .eyebrow strong {
	color: var(--ink);
	font-weight: 500;
	opacity: .4;
	margin-right: 8px;
}

.policy-page h1 {
	margin: 0 0 28px;
	font-size: clamp(54px, 8vw, 110px);
	line-height: .95;
	font-weight: 400;
	color: var(--ink);
}

.policy-lead {
	max-width: 720px;
	margin: 0 0 64px;
	font-size: 22px;
	line-height: 1.45;
	color: var(--ink);
}

.policy-grid {
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.policy-grid section {
	padding: 34px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.policy-grid h2 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 500;
	color: var(--ink);
}

.policy-grid p,
.policy-grid li {
	font-size: 15px;
	line-height: 1.65;
	color: var(--muted);
}

.policy-grid ul {
	margin: 0 0 18px;
	padding-left: 18px;
}

.policy-grid a {
	color: var(--signal);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

@media (max-width: 720px) {
	.policy-page {
		padding: 72px 0 90px;
	}

	.policy-inner {
		width: min(100% - 32px, 980px);
	}

	.policy-page h1 {
		font-size: 58px;
	}

	.policy-lead {
		font-size: 18px;
		margin-bottom: 42px;
	}

	.policy-grid {
		grid-template-columns: 1fr;
	}

	.policy-grid section {
		padding: 26px;
	}
}
body.privacy-policy .entry-title,
body.page .entry-title {
	display: none;
}
.policy-page {
	padding-top: 48px !important;
}


