:root {
  --paper: #f7f5f0;
  --ink: #151515;
  --muted: #62615d;
  --line: #d8d3c8;
  --panel: #ffffff;
  --panel-soft: #ece8df;
  --accent: #1f3028;
  --max: 1180px;
  --radius: 24px;
  --shadow: 0 28px 80px rgba(20, 20, 20, 0.08);
  --domain-rgb: 31 48 40;
  --domain-color: var(--accent);
  --font-serif: "Newsreader", Georgia, "Times New Roman", serif;
  --font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: ui-sans-serif, system-ui, sans-serif;
}

.domain-sustainability { --domain-rgb: 126 103 162; --domain-color: #6f5b94; }
.domain-energy { --domain-rgb: 78 96 161; --domain-color: #4f6099; }
.domain-ecology { --domain-rgb: 69 132 170; --domain-color: #477fa1; }
.domain-water { --domain-rgb: 83 139 100; --domain-color: #547f5f; }
.domain-agri { --domain-rgb: 188 154 59; --domain-color: #9a7d2f; }
.domain-health { --domain-rgb: 190 118 63; --domain-color: #a06436; }
.domain-livelihood { --domain-rgb: 174 91 91; --domain-color: #935353; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-serif);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.skip-link {
  position: absolute;
  left: 1rem;
  top: -5rem;
  z-index: 20;
  background: var(--ink);
  color: white;
  padding: .75rem 1rem;
  border-radius: 999px;
}
.skip-link:focus { top: 1rem; }
.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;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1rem clamp(1rem, 4vw, 3rem);
  background: rgba(247, 245, 240, 0.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  width: 100%;
}
.brand img { width: min(220px, 52vw); }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2rem); font-family: var(--font-sans); font-size: .95rem; }
.site-nav a { text-decoration: none; color: var(--muted); }
.site-nav a:hover { color: var(--ink); }
.site-nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; }
.nav-toggle { display: none; border: 1px solid var(--line); background: var(--panel); padding: .55rem .85rem; border-radius: 999px; }

.section {
  width: min(var(--max), calc(100% - 2rem));
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5.5rem) 0;
}
main > .section:first-child {
  padding-top: clamp(4.25rem, 7vw, 6.25rem);
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(300px, .9fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4.2rem);
  min-height: auto;
  padding-top: clamp(2.5rem, 6vh, 5rem);
  padding-bottom: clamp(2.5rem, 6vh, 5rem);
}
.hero-copy, .hero-media, .section > * { min-width: 0; }
.page-hero {
  min-height: min(58svh, 560px);
  display: grid;
  align-content: end;
  padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
main > .hero:first-child,
main > .page-hero:first-child {
  padding-top: clamp(4.25rem, 7vw, 6.25rem);
}
.page-hero h1 { max-width: 12ch; }
.page-hero .hero-lede { max-width: 760px; }
.about-visual-hero {
  grid-template-columns: minmax(0, .88fr) minmax(320px, .92fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: center;
  align-content: center;
}
.about-hero-copy { min-width: 0; }
.about-visual-hero h1 {
  max-width: 11ch;
  letter-spacing: -.012em;
}
.about-visual-hero .hero-lede {
  max-width: 46ch;
  line-height: 1.66;
}
.summit-visual {
  position: relative;
  width: min(100%, 540px);
  justify-self: end;
  margin: 0;
  color: var(--accent);
}
.summit-visual svg {
  display: block;
  width: 100%;
  overflow: visible;
}
.summit-readout {
  position: absolute;
  top: 1rem;
  right: .4rem;
  z-index: 1;
  text-align: right;
  pointer-events: none;
}
.summit-label {
  display: block;
  margin-bottom: .35rem;
  color: #9a968b;
  font: 500 .66rem/1 var(--font-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.summit-number {
  display: inline-flex;
  align-items: baseline;
  gap: .32rem;
  color: var(--ink);
  font: 500 34px/1 var(--font-mono);
  letter-spacing: -.01em;
}
.summit-number small {
  color: #9a968b;
  font-size: 15px;
  letter-spacing: 0;
}
.survey-guide {
  stroke: currentColor;
  stroke-width: 1;
  opacity: .18;
  stroke-dasharray: 1 6;
  stroke-linecap: round;
}
.survey-guide.vertical {
  opacity: .12;
  stroke-dasharray: 1 7;
}
.contour,
.reticle {
  fill: none;
  stroke: currentColor;
}
.contour { stroke-width: 1.5; }
.contour-1 { opacity: .22; }
.contour-2 { opacity: .30; }
.contour-3 { opacity: .40; }
.contour-4 { opacity: .52; stroke-width: 1.6; }
.contour-5 { opacity: .66; stroke-width: 1.6; }
.contour-6 { opacity: .85; stroke-width: 1.7; }
.reticle { stroke-width: 1.4; }
.benchmark polygon {
  fill: currentColor;
  fill-opacity: .14;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
}
.benchmark circle { fill: currentColor; }
.benchmark line {
  stroke: currentColor;
  stroke-width: 1;
  opacity: .45;
}
.benchmark circle:last-child { opacity: .55; }
.survey-label {
  fill: currentColor;
  opacity: .5;
  font: 400 11px/1 var(--font-mono);
  letter-spacing: 1.4px;
}
.survey-label.transect {
  opacity: .4;
  letter-spacing: 2.6px;
}
.contribute-visual-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  align-content: center;
}
.contribute-hero-copy { min-width: 0; }
.contribute-visual-hero h1 {
  max-width: 11ch;
  letter-spacing: -.015em;
}
.contribute-visual-hero .hero-lede {
  max-width: 46ch;
  line-height: 1.55;
}
.contribution-visual {
  width: min(100%, 480px);
  justify-self: center;
  margin: 0;
  color: var(--accent);
}
.contribution-visual svg {
  display: block;
  width: 100%;
  overflow: hidden;
  font-family: var(--font-mono);
}
.contribution-spokes {
  stroke: currentColor;
  stroke-width: 1.2;
  opacity: .22;
}
.contribution-guide {
  fill: none;
  stroke: #5d7d63;
  stroke-width: 1;
  opacity: .2;
  stroke-dasharray: 2 6;
}
.contribution-pulse,
.network-dots {
  fill: currentColor;
}
.contribution-pulse {
  --move-x: 0px;
  --move-y: 0px;
  opacity: 0;
  visibility: hidden;
  transform-box: fill-box;
  transform-origin: center;
  animation: contribution-pulse-chain 6s linear infinite both;
}
.pulse-time {
  --move-y: 66px;
}
.pulse-networks {
  --move-x: -66px;
  animation-delay: 1.5s;
}
.pulse-capital {
  --move-y: -66px;
  animation-delay: 3s;
}
.pulse-skill {
  --move-x: 66px;
  animation-delay: 4.5s;
}
.contribution-hub {
  fill: currentColor;
  fill-opacity: .06;
  stroke: currentColor;
  stroke-width: 2;
}
.contribution-arrival {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.contribution-node > circle {
  fill: var(--paper);
  stroke: currentColor;
  stroke-width: 1.8;
}
.contribution-node text {
  fill: #5d7d63;
  font: 400 11px/1 var(--font-mono);
  letter-spacing: 1.5px;
  text-anchor: middle;
}
.clock-hand,
.network-lines {
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.network-lines,
.skill-hand-mark {
  fill: currentColor;
}
.network-lines {
  fill: none;
  stroke: currentColor;
}
.network-lines { stroke-width: 1.4; }
.contribution-node .rupee-symbol {
  fill: currentColor;
  font: 700 30px/1 var(--font-sans);
  letter-spacing: 0;
  text-anchor: middle;
  dominant-baseline: middle;
}
.contribution-logo-mark {
  overflow: visible;
}
@keyframes contribution-pulse-chain {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(0, 0);
  }
  2% {
    opacity: 1;
    visibility: visible;
  }
  25% {
    opacity: 1;
    visibility: visible;
    transform: translate(calc(var(--move-x) * .75), calc(var(--move-y) * .75));
  }
  33.332% {
    opacity: 0;
    visibility: visible;
    transform: translate(var(--move-x), var(--move-y));
  }
  33.333% {
    opacity: 0;
    visibility: hidden;
    transform: translate(var(--move-x), var(--move-y));
  }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(var(--move-x), var(--move-y));
  }
}
.eyebrow {
  margin: 0 0 1rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .14em;
  font: 500 .74rem/1 var(--font-mono);
  overflow-wrap: anywhere;
}
h1, h2, h3 { overflow-wrap: normal; word-break: normal; }
p { overflow-wrap: break-word; }
h1 {
  margin: 0;
  max-width: 16ch;
  font-size: clamp(3.1rem, 5.45vw, 5.35rem);
  line-height: 1.02;
  letter-spacing: -.018em;
  font-weight: 500;
}
h1 span { display: block; }
h2 {
  margin: 0;
  max-width: 15ch;
  font-size: clamp(2.35rem, 5.35vw, 5.1rem);
  line-height: 1.02;
  letter-spacing: -.022em;
  font-weight: 500;
}
h3 { margin: 0 0 .7rem; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.1; }
p { margin: 0; color: var(--muted); }
.hero-lede { max-width: 680px; margin-top: 1.5rem; font-size: clamp(1.12rem, 2vw, 1.42rem); color: #343330; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.12rem;
  border-radius: 999px;
  border: 1px solid var(--ink);
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 650;
}
.button.primary { background: var(--ink); color: white; }
.button.secondary { background: transparent; color: var(--ink); }
.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 2.4rem 0 0;
  background: var(--line);
  border: 1px solid var(--line);
}
.proof-strip div { background: var(--paper); padding: 1rem; }
.proof-strip dt { color: var(--muted); font: 700 .7rem/1 var(--font-sans); text-transform: uppercase; letter-spacing: .12em; }
.proof-strip dd { margin: .45rem 0 0; font-size: .98rem; line-height: 1.25; }
.hero-media { margin: 0; align-self: center; }
.hero-media img, .impact-card img, .profile-card img { border-radius: var(--radius); object-fit: cover; width: 100%; box-shadow: var(--shadow); }
.hero-media img { height: min(62vh, 600px); object-position: center center; }
.hero-media figcaption { color: var(--muted); font-size: .9rem; margin-top: .8rem; }

.recognition, .vision, .newsletter, .contact, .contribute, .split {
  border-block: 1px solid var(--line);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}
.recognition p, .vision p, .newsletter p, .contact p, .contribute p, .split p { font-size: clamp(1rem, 1.8vw, 1.25rem); color: #353431; }
.stacked-copy { display: grid; gap: 1rem; }
.text-link { font-family: var(--font-sans); font-weight: 700; }
.section-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 5vw, 4rem); margin-bottom: 2rem; }
.section-heading p:last-child { font-size: clamp(1rem, 1.7vw, 1.22rem); max-width: 58ch; }
.section-heading.narrow { display: block; max-width: 820px; }
.section-heading.narrow p:last-child { margin-top: 1rem; }

.focus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.focus-grid article,
.focus-card {
  min-height: 210px;
  padding: clamp(1.2rem, 2vw, 1.8rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ece9e2;
}
.focus-grid article:nth-child(2n),
.focus-card:nth-child(2n) {
  background: #ece9e2;
}
.focus-grid p { font-size: .98rem; }
.focus-grid.compact article { min-height: 170px; }
.clickable-focus-grid {
  grid-template-columns: repeat(4, 1fr);
}
.focus-card {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.focus-card h3,
.focus-card p {
  margin: 0;
}
.focus-card h3 {
  color: var(--ink);
}
.focus-card span {
  color: var(--domain-color);
  font: 700 .78rem/1 var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.focus-card:hover {
  background: white;
  box-shadow: none;
  transform: translateY(-2px);
}

.focus-box-section {
  padding-top: clamp(1.15rem, 2.5vw, 1.8rem);
  padding-bottom: clamp(1.45rem, 3vw, 2.4rem);
  border-top: 1px solid var(--line);
}
.focus-box-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .72rem;
}
.focus-box {
  min-width: 0;
  min-height: 142px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .9rem .55rem .8rem;
  color: var(--domain-color);
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 3px;
  background:
    linear-gradient(135deg, rgba(var(--domain-rgb), .055), rgba(255,255,255,.44) 46%, rgba(255,255,255,.18));
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.focus-box svg {
  width: 80px;
  height: 80px;
  display: block;
  overflow: visible;
}
.focus-box span {
  color: var(--ink);
  font: 500 .62rem/1.32 var(--font-mono);
  letter-spacing: .055em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.focus-box:hover {
  transform: translateY(-3px);
  border-color: rgba(var(--domain-rgb), .48);
  background:
    linear-gradient(135deg, rgba(var(--domain-rgb), .105), rgba(255,255,255,.66) 48%, rgba(255,255,255,.3));
  box-shadow: 0 18px 50px rgba(20, 20, 20, .055);
}

.work-index {
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, .85fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
}
.work-hero {
  grid-template-columns: minmax(0, .85fr) minmax(300px, .95fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  align-content: start;
}
main > .work-hero:first-child {
  padding-top: clamp(3.65rem, 6vw, 5.25rem);
}
.work-hero-copy,
.work-index-copy { min-width: 0; }
.work-index h2 span { display: block; }
.work-art {
  width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--accent);
}
.work-art-card {
  display: grid;
  place-items: center;
  min-height: clamp(280px, 30vw, 380px);
  padding: clamp(1.15rem, 2.2vw, 2rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 12px);
  background: rgba(255,255,255,.42);
  box-shadow: var(--shadow);
}
.work-art svg {
  display: block;
  width: 100%;
  max-height: 100%;
  height: auto;
}
.work-photo-card {
  padding: 0;
  overflow: hidden;
}
.work-photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  border-radius: inherit;
}
.work-hero-art.work-photo-card img {
  object-position: center 48%;
}
.work-index-art.work-photo-card img {
  object-position: center center;
}
.work-hero-art {
  align-self: center;
  max-width: 600px;
  justify-self: end;
}
.work-index-art {
  max-width: 520px;
  justify-self: end;
  min-height: clamp(230px, 24vw, 320px);
}
.terrain-line,
.path-line {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.terrain-fill {
  fill: rgba(31, 48, 40, .055);
  stroke: none;
}
.system-lines path {
  fill: none;
  stroke: var(--line);
  stroke-width: 1.35;
  stroke-linecap: round;
}
.system-chip rect,
.path-card rect {
  fill: rgba(247, 245, 240, .92);
  stroke: currentColor;
  stroke-width: 1.25;
}
.system-chip.primary rect,
.path-card.primary rect {
  fill: rgba(31, 48, 40, .08);
}
.system-chip text,
.path-card text {
  fill: var(--ink);
  font: 750 12px/1 var(--font-sans);
  letter-spacing: .08em;
  text-anchor: middle;
  text-transform: uppercase;
  dominant-baseline: middle;
}
.system-chip.wide text {
  letter-spacing: .065em;
}
.path-card text {
  font-size: 10.5px;
}
.focus-nav {
  position: sticky;
  top: 88px;
  z-index: 4;
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 2rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(247, 245, 240, .9);
  backdrop-filter: blur(16px);
}
.focus-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: .5rem .8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(var(--domain-rgb), .07), rgba(255,255,255,.62));
  color: var(--ink);
  text-decoration: none;
  font: 650 .86rem/1.1 var(--font-sans);
  box-shadow: inset 0 -1px 0 rgba(var(--domain-rgb), .16);
}
.focus-nav a:hover {
  background: linear-gradient(135deg, rgba(var(--domain-rgb), .13), rgba(255,255,255,.82));
  border-color: rgba(var(--domain-rgb), .55);
}
.work-detail-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(320px, .86fr);
  gap: clamp(2rem, 4.6vw, 4.4rem);
  align-items: center;
  min-height: min(82svh, 760px);
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 96px;
}
.work-detail-section::before {
  content: "";
  position: absolute;
  inset: clamp(2rem, 4vw, 4rem) auto clamp(2rem, 4vw, 4rem) 0;
  width: 4px;
  border-radius: 999px;
  background: rgba(var(--domain-rgb), .38);
}
.work-detail-section.reverse .work-section-copy {
  order: 2;
}
.work-detail-section.reverse .work-section-media {
  order: 1;
}
.work-section-copy {
  display: grid;
  align-content: center;
}
.work-detail-section .eyebrow {
  color: var(--domain-color);
}
.work-section-copy h2 {
  max-width: 16.5ch;
  font-size: clamp(2.45rem, 4.15vw, 4.25rem);
  line-height: 1.04;
  letter-spacing: -.052em;
}
.work-section-copy > p {
  max-width: 58ch;
  margin-top: 1rem;
  color: #353431;
  font-size: clamp(.98rem, 1.28vw, 1.08rem);
}
.work-list {
  display: grid;
  gap: .52rem;
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}
.work-list li {
  position: relative;
  padding-left: 1.15rem;
  color: var(--muted);
}
.work-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: .38rem;
  height: .38rem;
  border-radius: 999px;
  background: var(--domain-color);
}
.work-section-media {
  margin: 0;
}
.work-section-media img {
  width: 100%;
  height: clamp(460px, 58vh, 600px);
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow), 0 0 0 1px rgba(var(--domain-rgb), .24);
}
.work-section-media figcaption {
  margin-top: .8rem;
  color: var(--muted);
  font-size: .9rem;
}
.work-cta {
  display: grid;
  justify-items: start;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
}
.work-cta h2 {
  max-width: 15ch;
}
.work-cta p {
  max-width: 66ch;
  color: #353431;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 2rem;
  border: 1px solid var(--line);
  background: var(--line);
}
.nav-card {
  display: grid;
  align-content: space-between;
  min-height: 220px;
  padding: clamp(1.2rem, 2vw, 1.8rem);
  background: rgba(255,255,255,.45);
  color: inherit;
  text-decoration: none;
}
.nav-card:hover { background: white; }
.nav-card span {
  display: block;
  color: var(--ink);
  font-size: clamp(1.3rem, 2.3vw, 2rem);
  line-height: 1.12;
}
.nav-card p { margin-top: 1.5rem; }

.impact-layout { display: grid; grid-template-columns: 1.1fr .9fr .9fr; gap: 1rem; margin-top: 2rem; }
.impact-card { display: grid; gap: 1rem; align-content: start; padding: .75rem; border: 1px solid var(--line); border-radius: calc(var(--radius) + 12px); background: rgba(255,255,255,.42); }
.impact-card.large { grid-row: span 2; }
.impact-card img { aspect-ratio: 1 / 1; box-shadow: none; }
.impact-card.large img { aspect-ratio: 4 / 5; }
.impact-card div { padding: 0 .4rem .55rem; }

.team-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; margin-top: 2rem; }
.profile-card { display: grid; grid-template-columns: .75fr 1fr; gap: 1.2rem; align-items: end; min-width: 0; border: 1px solid var(--line); border-radius: calc(var(--radius) + 12px); padding: .8rem; background: rgba(255,255,255,.42); }
.profile-card > div { min-width: 0; }
.profile-card img { aspect-ratio: 4 / 5; box-shadow: none; }
.profile-card h2 {
  font-size: clamp(2.4rem, 4.25vw, 4.1rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.profile-card p:not(.eyebrow) {
  line-height: 1.38;
}
.team-poster img { object-fit: contain; background: #1d2c25; }
.team-hero {
  grid-template-columns: minmax(0, 1fr) minmax(480px, 540px);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
}
.team-hero h1 {
  max-width: none;
  font-size: clamp(3.65rem, 4.1vw, 4.15rem);
}
.team-hero h1 span {
  display: block;
  white-space: nowrap;
}
.team-hero-copy { min-width: 0; }
.founder-card {
  grid-template-columns: minmax(230px, .95fr) minmax(230px, 1fr);
  align-items: center;
  align-self: center;
  min-height: 350px;
  padding: 1rem;
  gap: 1.35rem;
  margin-bottom: clamp(.5rem, 2vw, 1.5rem);
  box-shadow: var(--shadow);
}
.founder-card img {
  height: 310px;
  max-height: none;
  object-position: center 18%;
}
.team-layout-single { grid-template-columns: 1fr; }
.team-layout-single .team-poster {
  grid-template-columns: minmax(260px, .72fr) 1fr;
  align-items: center;
}
.team-list { margin-top: 1rem; border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.25rem; background: rgba(255,255,255,.45); }
.team-list summary { cursor: pointer; font-family: var(--font-sans); font-weight: 700; }
.team-list li { margin-top: .5rem; color: var(--muted); }

.contribute-panel { border: 1px solid var(--line); border-radius: calc(var(--radius) + 12px); padding: clamp(1.2rem, 3vw, 2rem); background: var(--panel); box-shadow: var(--shadow); }
.contribute-panel p { font-size: 1rem; margin-top: .75rem; }
.placeholder-box { display: grid; place-items: center; min-height: 180px; margin: 1.25rem 0; border: 1px dashed var(--muted); border-radius: 18px; color: var(--muted); font-family: var(--font-sans); }
.contribution-list {
  display: grid;
  gap: .7rem;
  margin: 1rem 0 1.25rem;
}
.contribution-list details {
  padding: .85rem 0;
  border-bottom: 1px solid var(--line);
}
.contribution-list details:last-child { border-bottom: 0; }
.contribution-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
  color: var(--ink);
  font-weight: 700;
}
.contribution-list summary::-webkit-details-marker { display: none; }
.contribution-list summary::after {
  content: "";
  width: .55rem;
  height: .55rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-.15rem);
  transition: transform .18s ease;
  flex: 0 0 auto;
}
.contribution-list details[open] summary::after {
  transform: rotate(225deg) translateY(-.15rem);
}
.contribution-list details p {
  margin-top: .55rem;
  color: var(--muted);
}
.newsletter-form { display: grid; gap: .7rem; }
.newsletter-form label { font-family: var(--font-sans); font-weight: 700; }
.newsletter-form div { display: flex; gap: .6rem; }
.newsletter-form input { min-width: 0; flex: 1; border: 1px solid var(--line); border-radius: 999px; padding: .9rem 1rem; background: white; }
.newsletter-form button { border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: white; padding: .9rem 1.1rem; cursor: pointer; }
.form-note { font-size: .9rem !important; }
address { font-style: normal; color: var(--muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }

.policy-content {
  display: grid;
  gap: 1rem;
  border-top: 1px solid var(--line);
}
.policy-content h2 {
  max-width: none;
  margin-top: 1rem;
  font-size: clamp(1.7rem, 3vw, 2.8rem);
}
.policy-content p { max-width: 76ch; }

.site-footer {
  width: min(var(--max), calc(100% - 2rem));
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 4rem) 0 2rem;
  border-top: 1px solid var(--line);
  font-size: .92rem;
}
.site-footer p { color: var(--muted); }
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr 1fr .8fr;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.footer-brand img {
  width: 180px;
  margin-bottom: 1rem;
}
.footer-brand p { max-width: 42ch; }
.footer-section {
  display: grid;
  align-content: start;
  gap: .45rem;
}
.footer-section h2 {
  margin: 0 0 .55rem;
  font: 700 .72rem/1 var(--font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.footer-section a {
  color: var(--ink);
  text-decoration: none;
}
.footer-section a:hover { text-decoration: underline; }
.social-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  width: fit-content;
}
.social-icon {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.social-link small {
  color: var(--muted);
  font: 600 .72rem/1 var(--font-sans);
  letter-spacing: .03em;
  text-transform: uppercase;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.footer-legal-links,
.footer-credit {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

@media (max-width: 920px) {
  .nav-toggle { display: inline-flex; }
  .site-nav { position: absolute; inset: 100% 1rem auto 1rem; display: none; flex-direction: column; align-items: stretch; padding: 1rem; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); box-shadow: var(--shadow); }
  .site-nav[data-open="true"] { display: flex; }
  .hero, .recognition, .vision, .newsletter, .contact, .contribute, .split, .section-heading, .team-layout, .team-hero, .team-layout-single .team-poster, .footer-grid, .work-detail-section, .work-hero, .work-index, .about-visual-hero, .contribute-visual-hero { grid-template-columns: 1fr; }
  h1 { max-width: 100%; }
  .summit-visual {
    justify-self: start;
    max-width: 540px;
    margin-top: 1rem;
  }
  .contribution-visual {
    justify-self: start;
    width: min(100%, 440px);
    margin-top: 1rem;
  }
  .proof-strip, .focus-grid, .impact-layout, .card-grid { grid-template-columns: 1fr; }
  .focus-box-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  .impact-card.large { grid-row: auto; }
  .team-hero h1 span { white-space: normal; }
  .founder-card { margin-bottom: 0; }
  .focus-nav {
    position: static;
    border-radius: 22px;
  }
  .work-detail-section,
  .work-detail-section.reverse .work-section-copy,
  .work-detail-section.reverse .work-section-media {
    order: initial;
  }
  .work-detail-section {
    min-height: auto;
  }
  .work-section-media img {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
  }
  .work-hero {
    align-items: start;
  }
  .work-hero-art,
  .work-index-art {
    justify-self: stretch;
    max-width: 560px;
    min-height: 260px;
  }
  .work-hero-art {
    margin-top: .5rem;
  }
}

@media (min-width: 921px) and (max-height: 920px) {
  .site-header { padding-block: .7rem; }
  .brand img { width: 190px; }
  .section { padding-block: 2.4rem; }
  main > .section:first-child {
    padding-top: 3.7rem;
  }
  .hero {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    gap: clamp(1.6rem, 3vw, 3rem);
  }
  main > .hero:first-child,
  main > .page-hero:first-child {
    padding-top: 3.7rem;
  }
  .eyebrow { margin-bottom: .65rem; }
  h1 {
    font-size: clamp(2.9rem, 4.35vw, 4.25rem);
    line-height: 1.03;
  }
  h2 { font-size: clamp(2.15rem, 4.15vw, 4.05rem); }
  .hero-lede {
    margin-top: .85rem;
    font-size: clamp(.98rem, 1.32vw, 1.08rem);
  }
  .hero-actions { margin-top: 1rem; }
  .button { min-height: 42px; padding: .68rem .95rem; }
  .proof-strip { margin-top: 1rem; }
  .proof-strip div { padding: .7rem .85rem; }
  .proof-strip dd { font-size: .92rem; }
  .hero-media { transform: translateY(-.6rem); }
  .hero-media img { height: min(52vh, 440px); }
  .work-detail-section {
    min-height: min(82svh, 680px);
    gap: clamp(1.8rem, 4vw, 3.4rem);
  }
  .work-section-copy h2 {
    max-width: 17ch;
    font-size: clamp(2.25rem, 3.75vw, 3.65rem);
    line-height: 1.04;
  }
  .work-section-copy > p {
    font-size: clamp(.94rem, 1.12vw, 1.02rem);
  }
  .work-list {
    gap: .42rem;
    margin-top: 1rem;
  }
  .work-section-media img {
    height: clamp(460px, 64vh, 520px);
  }
  .page-hero {
    min-height: min(48svh, 430px);
    padding-bottom: 2.5rem;
  }
}

@media (max-width: 620px) {
  .section { width: calc(100vw - 1.1rem); max-width: calc(100vw - 1.1rem); padding: 3.2rem 0; }
  main > .section:first-child {
    padding-top: 4rem;
  }
  .site-header { padding: .8rem .7rem; }
  .brand img { width: 170px; }
  h1 { font-size: clamp(2.85rem, 12.5vw, 3.75rem); letter-spacing: -.045em; line-height: 1.04; }
  h2 { font-size: clamp(2.2rem, 12vw, 3.5rem); line-height: 1.04; }
  .work-hero h1,
  .work-index h2,
  .team-hero h1 {
    font-size: clamp(2.65rem, 11vw, 3.25rem);
    letter-spacing: -.055em;
    max-width: 100%;
  }
  .team-hero h1 {
    font-size: clamp(2.35rem, 9.2vw, 2.8rem);
  }
  .team-hero-copy,
  .team-hero .hero-lede,
  .founder-card,
  .founder-card p {
    max-width: calc(100vw - 1.6rem);
  }
  .team-hero .hero-lede {
    max-width: 30ch;
  }
  .founder-card p:not(.eyebrow) {
    max-width: 28ch;
  }
  .work-hero .hero-lede,
  .work-index-copy p:last-child {
    max-width: 34ch;
  }
  .eyebrow { font-size: .68rem; letter-spacing: .1em; line-height: 1.35; }
  .hero-lede { font-size: 1.05rem; }
  .page-hero { min-height: min(56svh, 520px); padding-bottom: 2.6rem; }
  .work-hero {
    min-height: auto;
  }
  .work-hero-art,
  .work-index-art {
    display: none;
  }
  .focus-box-section {
    padding-top: 1.6rem;
    padding-bottom: 2.1rem;
  }
  .focus-box-grid {
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .focus-box {
    min-height: 138px;
    padding: .95rem .7rem .85rem;
    gap: .55rem;
  }
  .focus-box svg {
    width: 58px;
    height: 58px;
  }
  .focus-box span {
    font-size: .62rem;
    line-height: 1.32;
  }
  .about-visual-hero {
    min-height: auto;
    align-content: start;
    padding-bottom: 2.4rem;
  }
  .summit-visual {
    display: block;
    width: min(88vw, 360px);
    max-width: 360px;
    justify-self: center;
    margin: 1.8rem auto 0;
  }
  .summit-visual svg {
    overflow: hidden;
  }
  .summit-readout {
    position: relative;
    top: auto;
    right: auto;
    margin: 0 0 -1.85rem;
    padding-right: .75rem;
    text-align: right;
  }
  .summit-label {
    margin-bottom: .25rem;
    font-size: .58rem;
    letter-spacing: .18em;
  }
  .summit-number {
    font-size: 26px;
  }
  .summit-number small {
    font-size: 12px;
  }
  .contribute-visual-hero {
    min-height: auto;
    align-content: start;
    padding-bottom: 2.4rem;
  }
  .contribution-visual {
    width: min(76vw, 320px);
    justify-self: center;
    margin: 1.8rem auto .5rem;
  }
  .contribution-visual svg {
    overflow: hidden;
  }
  .hero { min-height: auto; padding-top: 3rem; }
  .profile-card { grid-template-columns: 1fr; }
  .founder-card {
    min-height: auto;
    padding: .75rem;
    gap: .95rem;
  }
  .newsletter-form div, .footer-bottom { flex-direction: column; }
  .founder-card img {
    height: clamp(270px, 74vw, 340px);
    max-height: none;
  }
  .focus-nav {
    padding: .6rem;
    gap: .45rem;
  }
  .focus-nav a {
    width: 100%;
    justify-content: center;
  }
  .work-section-copy h2,
  .work-cta h2 {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
