:root {
  --green: #00a651;
  --green-bright: #24d47a;
  --green-deep: #006c45;
  --ink: #092a2a;
  --ink-2: #123937;
  --blue: #063f66;
  --cream: #f2f1e9;
  --paper: #fbfbf7;
  --white: #ffffff;
  --muted: #77817d;
  --line: rgba(9, 42, 42, .14);
  --shadow: 0 30px 80px rgba(4, 35, 31, .12);
  --font-body: Inter, "Segoe UI", Arial, sans-serif;
  --font-display: Inter, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--green); color: #fff; }

.skip-link { position: fixed; top: 10px; left: 10px; transform: translateY(-200%); background: #fff; color: #000; padding: 12px 18px; z-index: 9999; border-radius: 5px; }
.skip-link:focus { transform: translateY(0); }

.page-loader { position: fixed; inset: 0; z-index: 9999; background: var(--ink); display: grid; place-content: center; text-align: center; color: #fff; transition: opacity .65s ease, visibility .65s ease; }
.page-loader.is-hidden { opacity: 0; visibility: hidden; }
.loader-mark { width: 110px; height: 60px; display: flex; justify-content: center; align-items: flex-end; gap: 5px; }
.loader-mark span { display: block; width: 13px; height: 42px; background: var(--green-bright); border-radius: 20px 20px 3px 3px; transform-origin: bottom; animation: loader 1.1s ease-in-out infinite; }
.loader-mark span:nth-child(1), .loader-mark span:nth-child(5) { height: 25px; animation-delay: -.4s; }
.loader-mark span:nth-child(2), .loader-mark span:nth-child(4) { height: 36px; animation-delay: -.2s; }
.page-loader p { margin: 16px 0 0; text-transform: uppercase; letter-spacing: .22em; font-size: .72rem; opacity: .65; }
@keyframes loader { 0%,100% { transform: scaleY(.55); opacity: .45; } 50% { transform: scaleY(1); opacity: 1; } }

.content-shell, .nav-shell { width: min(100% - 72px, 1460px); margin-inline: auto; padding-inline: 0; }
.section-space { padding: 140px 0; }

#mainNav { padding: 0; height: 88px; transition: background .35s ease, box-shadow .35s ease, height .35s ease; }
#mainNav.scrolled { height: 74px; background: rgba(7, 45, 40, .92); backdrop-filter: blur(18px); box-shadow: 0 12px 40px rgba(0,0,0,.12); }
.navbar-brand img { width: 202px; height: auto; filter: brightness(0) invert(1); }
.navbar-nav { gap: 8px; }
.nav-link { color: rgba(255,255,255,.75) !important; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 700; padding: 11px 15px !important; position: relative; }
.nav-link::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 4px; height: 1px; background: var(--green-bright); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.nav-link:hover, .nav-link.active { color: #fff !important; }
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
.nav-link.nav-cta { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; margin-left: 8px; padding-inline: 19px !important; }
.nav-link.nav-cta::after { display: none; }
.nav-link.nav-cta:hover { border-color: var(--green-bright); background: rgba(36,212,122,.12); }
.navbar-toggler { border: 0; width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,.11); display: grid; place-content: center; gap: 7px; box-shadow: none !important; }
.navbar-toggler span { width: 21px; height: 1px; background: #fff; display: block; }
.mobile-menu { background: var(--ink); color: #fff; width: min(420px, 92vw) !important; border: 0; }
.offcanvas-header { padding: 28px 28px 10px; }
.offcanvas-header img { width: 190px; filter: brightness(0) invert(1); }
.offcanvas-body { padding: 42px 32px 30px; }
.mobile-menu .menu-kicker { color: var(--green-bright); text-transform: uppercase; font-size: .7rem; letter-spacing: .2em; margin-bottom: 25px; }
.mobile-menu .offcanvas-body > a { display: flex; justify-content: space-between; align-items: center; font: 600 clamp(1.65rem, 6vw, 2.4rem)/1.15 var(--font-display); padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.mobile-menu .offcanvas-body > a span { font: 500 .7rem var(--font-body); opacity: .45; }
.menu-footer { font-size: .72rem; letter-spacing: .2em; opacity: .45; }

.hero { min-height: 100vh; position: relative; color: #fff; background: var(--ink); overflow: hidden; isolation: isolate; }
.hero-media, .hero-media img, .hero-overlay, .hero-grid { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; transform: scale(1.04); }
.hero-overlay { background: linear-gradient(90deg, rgba(5,38,37,.98) 0%, rgba(5,38,37,.91) 42%, rgba(5,38,37,.56) 68%, rgba(5,38,37,.32) 100%), linear-gradient(0deg, rgba(5,38,37,.72), transparent 48%); }
.hero-grid { opacity: .17; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to right, #000, transparent 70%); }
.hero-container { width: min(100% - 72px, 1460px); margin-inline: auto; position: relative; z-index: 3; }
.hero-copy { padding: 190px 0 105px; }
.eyebrow { display: flex; align-items: center; gap: 14px; text-transform: uppercase; letter-spacing: .22em; font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.7); margin-bottom: 30px; }
.eyebrow span { width: 34px; height: 2px; background: var(--green-bright); }
.hero h1 { font: 700 clamp(3.2rem, 7vw, 7.5rem)/.92 var(--font-display); letter-spacing: -.06em; max-width: 1160px; margin: 0; }
.hero h1 em { color: var(--green-bright); font-style: normal; font-weight: 500; }
.hero-intro { width: min(650px, 100%); margin: 34px 0 0; font-size: clamp(1rem, 1.3vw, 1.25rem); line-height: 1.7; color: rgba(255,255,255,.72); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 42px; }
.btn-primary-ks { display: inline-flex; align-items: center; gap: 16px; background: var(--green-bright); color: var(--ink); border-radius: 999px; padding: 17px 25px; font-weight: 700; transition: transform .3s ease, background .3s ease; }
.btn-primary-ks:hover { transform: translateY(-3px); background: #fff; }
.btn-primary-ks i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(9,42,42,.1); }
.btn-text-ks { color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.25); padding: 8px 0; }
.btn-text-ks i { margin-left: 8px; transition: transform .3s ease; }
.btn-text-ks:hover i { transform: translateX(5px); }
.hero-index { padding-bottom: 104px; flex-direction: column; gap: 18px; align-items: flex-end; }
.hero-index > div:not(.index-line) { width: 245px; display: flex; align-items: baseline; gap: 18px; }
.hero-index span { color: var(--green-bright); font-size: .73rem; }
.hero-index p { margin: 0; color: rgba(255,255,255,.62); font-size: .86rem; }
.index-line { width: 245px; height: 1px; background: rgba(255,255,255,.25); margin-bottom: 8px; }
.scroll-cue { position: absolute; left: 28px; bottom: 48px; z-index: 5; writing-mode: vertical-rl; transform: rotate(180deg); font-size: .68rem; text-transform: uppercase; letter-spacing: .2em; color: rgba(255,255,255,.55); display: flex; gap: 12px; align-items: center; }
.scroll-cue span { width: 1px; height: 42px; background: var(--green-bright); animation: scrollCue 1.7s ease-in-out infinite; }
@keyframes scrollCue { 0%,100% { transform: scaleY(.45); transform-origin: top; } 50% { transform: scaleY(1); } }

.hero-system { position: absolute; z-index: 2; width: min(38vw, 570px); aspect-ratio: 1; right: 2vw; top: 15%; opacity: .9; pointer-events: none; perspective: 1000px; }
.system-core { position: absolute; width: 39%; aspect-ratio: 1; border-radius: 50%; left: 31%; top: 31%; border: 1px solid rgba(255,255,255,.35); background: rgba(5,38,37,.65); backdrop-filter: blur(8px); display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 5px 9px; box-shadow: 0 0 80px rgba(36,212,122,.18), inset 0 0 45px rgba(36,212,122,.08); animation: floatCore 7s ease-in-out infinite; }
.system-core span { font-size: clamp(.42rem, .55vw, .65rem); letter-spacing: .12em; color: rgba(255,255,255,.65); }
.system-core strong { display: block; width: 100%; text-align: center; font: 700 clamp(.8rem, 1.15vw, 1.15rem) var(--font-display); letter-spacing: .08em; color: var(--green-bright); }
.system-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); }
.orbit-1 { inset: 16%; animation: orbitSpin 28s linear infinite; }
.orbit-1::before, .orbit-1::after, .orbit-2::before, .orbit-2::after { content: ""; position: absolute; width: 9px; height: 9px; background: var(--green-bright); border-radius: 50%; box-shadow: 0 0 18px var(--green-bright); }
.orbit-1::before { left: 13%; top: 12%; }.orbit-1::after { right: 8%; bottom: 24%; }
.orbit-2 { inset: 3%; border-style: dashed; opacity: .55; animation: orbitSpin 42s linear reverse infinite; }
.orbit-2::before { top: 7%; left: 48%; }.orbit-2::after { bottom: 8%; left: 25%; }
.system-node { position: absolute; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(5,38,37,.58); backdrop-filter: blur(6px); padding: 9px 14px; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.node-1 { top: 4%; left: 31%; }.node-2 { right: 1%; top: 29%; }.node-3 { right: 12%; bottom: 10%; }.node-4 { left: 1%; bottom: 22%; }.node-5 { left: 0; top: 25%; }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes floatCore { 0%,100% { transform: translateY(0) rotateX(4deg); } 50% { transform: translateY(-12px) rotateX(-4deg); } }

.section-label { display: flex; align-items: center; justify-content: space-between; width: min(100%, 280px); border-top: 1px solid var(--ink); padding-top: 15px; text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; font-weight: 700; }
.section-label span { color: var(--green-deep); }
.section-label.light { border-color: rgba(255,255,255,.35); color: #fff; }
.section-label.light span { color: var(--green-bright); }
.display-statement { font: 600 clamp(2.25rem, 4.6vw, 5.6rem)/1.06 var(--font-display); letter-spacing: -.045em; margin: 0; }
.display-statement span { color: var(--green-deep); }
.lead-copy { font-size: clamp(1.2rem, 1.8vw, 1.7rem); line-height: 1.5; color: #38504d; max-width: 680px; }
.principle-card { border-left: 1px solid var(--line); padding-left: 30px; }
.principle-card p { color: var(--muted); font-size: .92rem; line-height: 1.6; margin: 20px 0 0; }
.mini-arch, .founder-symbol { display: flex; align-items: flex-end; gap: 3px; height: 56px; }
.mini-arch i, .founder-symbol i { display: block; width: 18px; height: 30px; background: var(--green); clip-path: polygon(25% 0,75% 0,100% 100%,0 100%); transform-origin: bottom; }
.mini-arch i:nth-child(1), .mini-arch i:nth-child(7), .founder-symbol i:nth-child(1), .founder-symbol i:nth-child(7) { height: 23px; transform: rotate(38deg); }
.mini-arch i:nth-child(7), .founder-symbol i:nth-child(7) { transform: rotate(-38deg); }
.mini-arch i:nth-child(2), .mini-arch i:nth-child(6), .founder-symbol i:nth-child(2), .founder-symbol i:nth-child(6) { height: 36px; transform: rotate(24deg); }
.mini-arch i:nth-child(6), .founder-symbol i:nth-child(6) { transform: rotate(-24deg); }
.mini-arch i:nth-child(3), .mini-arch i:nth-child(5), .founder-symbol i:nth-child(3), .founder-symbol i:nth-child(5) { height: 44px; transform: rotate(12deg); }
.mini-arch i:nth-child(5), .founder-symbol i:nth-child(5) { transform: rotate(-12deg); }
.mini-arch i:nth-child(4), .founder-symbol i:nth-child(4) { height: 51px; background: var(--green-deep); }

.system-map {
  --map-card: rgba(255, 255, 252, .84);
  --map-stroke: rgba(9, 42, 42, .15);
  margin-top: 110px;
  position: relative;
  height: 650px;
  border: 1px solid rgba(9, 42, 42, .12);
  border-radius: 30px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 51%, rgba(36, 212, 122, .14), transparent 26%),
    radial-gradient(circle at 50% 53%, rgba(0, 108, 69, .08), transparent 42%),
    linear-gradient(145deg, #ffffff 0%, #f7f8f2 52%, #fbfbf7 100%);
  box-shadow: 0 35px 90px rgba(4, 35, 31, .11), inset 0 1px 0 rgba(255,255,255,.8);
}
.system-map::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .75;
  background-image:
    linear-gradient(rgba(9,42,42,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9,42,42,.028) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, #000 0, rgba(0,0,0,.82) 44%, transparent 88%);
}
.system-map::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 22px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(9,42,42,.025);
}
.map-atmosphere, .atmosphere-grid, .atmosphere-contour, .atmosphere-orb { position: absolute; pointer-events: none; }
.map-atmosphere { inset: 0; z-index: -1; overflow: hidden; }
.atmosphere-grid { inset: 0; background: radial-gradient(circle, rgba(0,166,81,.22) 1px, transparent 1.4px); background-size: 18px 18px; opacity: .12; mask-image: linear-gradient(135deg, #000, transparent 33%, transparent 68%, #000); }
.atmosphere-orb { border-radius: 50%; filter: blur(8px); }
.orb-a { width: 420px; height: 420px; left: -180px; bottom: -250px; background: rgba(36,212,122,.10); }
.orb-b { width: 360px; height: 360px; right: -160px; top: -220px; background: rgba(0,108,69,.08); }
.atmosphere-contour { width: 460px; height: 260px; border: 1px solid rgba(0,166,81,.11); border-radius: 48% 52% 64% 36% / 57% 38% 62% 43%; }
.atmosphere-contour::before, .atmosphere-contour::after { content: ""; position: absolute; inset: 18px; border: inherit; border-radius: inherit; }
.atmosphere-contour::after { inset: 38px; }
.contour-a { left: -230px; top: 85px; transform: rotate(18deg); }
.contour-b { right: -245px; bottom: 55px; transform: rotate(-18deg); }

.system-connectors { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; overflow: visible; pointer-events: none; }
.connector { fill: none; stroke: url(#ksLine); stroke-width: 1.45; vector-effect: non-scaling-stroke; transition: stroke-width .3s ease, filter .3s ease, opacity .3s ease; }
.connector::after { content: ""; }
.connector.is-active { stroke-width: 2.4; filter: url(#ksGlow); opacity: 1; }
.connector-points circle { fill: var(--green); filter: drop-shadow(0 0 7px rgba(36,212,122,.7)); }

.map-orbit { position: absolute; left: 50%; top: 55%; transform: translate(-50%,-50%); border-radius: 50%; pointer-events: none; z-index: 0; }
.orbit-outer { width: 490px; height: 490px; border: 1px solid rgba(0,166,81,.11); }
.orbit-middle { width: 390px; height: 390px; border: 1px dashed rgba(0,166,81,.24); animation: mapOrbit 30s linear infinite; }
.orbit-inner { width: 310px; height: 310px; border: 1px solid rgba(0,166,81,.22); box-shadow: 0 0 0 28px rgba(36,212,122,.025), 0 0 0 70px rgba(36,212,122,.018); }
.map-orbit i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--green-bright); box-shadow: 0 0 18px rgba(36,212,122,.72); }
.orbit-outer i:nth-child(1) { top: 8%; left: 27%; }.orbit-outer i:nth-child(2) { right: 2%; top: 48%; }.orbit-outer i:nth-child(3) { left: 19%; bottom: 9%; }
.orbit-middle i:nth-child(1) { right: 10%; top: 23%; }.orbit-middle i:nth-child(2) { left: 4%; bottom: 34%; }
@keyframes mapOrbit { to { transform: translate(-50%,-50%) rotate(360deg); } }

.map-centre {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%,-50%);
  width: 270px;
  height: 270px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  z-index: 3;
  outline: none;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .45s ease;
  filter: drop-shadow(0 28px 32px rgba(0,55,41,.22));
}
.map-centre::before {
  content: "";
  position: absolute;
  inset: -14px;
  border-radius: inherit;
  background: conic-gradient(from 120deg, rgba(36,212,122,.15), rgba(255,255,255,.85), rgba(0,166,81,.45), rgba(255,255,255,.85), rgba(36,212,122,.15));
  box-shadow: 0 0 0 1px rgba(0,108,69,.12), 0 0 42px rgba(0,166,81,.14);
}
.map-centre::after {
  content: "";
  position: absolute;
  inset: -29px;
  border-radius: inherit;
  border: 1px solid rgba(0,166,81,.18);
  box-shadow: 0 0 0 10px rgba(255,255,255,.46);
}
.map-centre:hover, .map-centre:focus-visible { transform: translate(-50%,-50%) scale(1.035); filter: drop-shadow(0 34px 38px rgba(0,55,41,.28)); }
.centre-depth { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(145deg, #0e4b40, #062d2b 62%, #031f20); box-shadow: inset 18px 18px 34px rgba(255,255,255,.06), inset -20px -24px 36px rgba(0,0,0,.26), 0 0 0 2px rgba(240,200,90,.5); z-index: 1; }
.centre-ring { position: absolute; inset: 15px; border-radius: inherit; border: 1px solid rgba(36,212,122,.48); z-index: 2; }
.centre-ring::before { content: ""; position: absolute; inset: 10px; border-radius: inherit; border: 1px dashed rgba(255,255,255,.18); animation: orbitSpin 24s linear infinite; }
.centre-content { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; text-align: center; }
.centre-content small { text-transform: uppercase; letter-spacing: .21em; font-size: .59rem; color: rgba(255,255,255,.58); }
.centre-content strong { font: 750 1.85rem/1 var(--font-display); letter-spacing: .025em; color: var(--green-bright); margin: 12px 0 10px; text-shadow: 0 0 22px rgba(36,212,122,.18); }
.centre-content span { font-size: .64rem; letter-spacing: .18em; color: rgba(255,255,255,.62); }
.centre-content b { display: flex; align-items: flex-end; gap: 3px; height: 21px; margin-top: 22px; }
.centre-content b i { display: block; width: 13px; height: 2px; background: #d7bb60; transform: rotate(35deg); transform-origin: right center; }
.centre-content b i:nth-child(2) { width: 16px; transform: none; opacity: .65; }
.centre-content b i:nth-child(3) { transform: rotate(-35deg); transform-origin: left center; }

.map-node {
  position: absolute;
  z-index: 4;
  width: 286px;
  min-height: 126px;
  display: grid;
  grid-template-columns: 64px 1fr 24px;
  gap: 16px;
  align-items: center;
  padding: 20px 18px;
  border: 1px solid var(--map-stroke);
  border-radius: 20px;
  background: var(--map-card);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  box-shadow: 0 20px 44px rgba(4,35,31,.10), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.map-node::before { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 2px; transform: scaleX(.18); transform-origin: left; background: linear-gradient(90deg, var(--green), var(--green-bright)); transition: transform .35s ease; }
.map-node:hover, .map-node:focus-visible { border-color: rgba(0,166,81,.42); background: rgba(255,255,252,.96); box-shadow: 0 28px 62px rgba(4,35,31,.16), 0 0 0 5px rgba(36,212,122,.07); }
.map-node:hover::before, .map-node:focus-visible::before { transform: scaleX(1); }
.node-icon { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: radial-gradient(circle at 34% 28%, #176a55, #073b35 68%, #042925); border: 5px solid rgba(255,255,255,.86); box-shadow: 0 0 0 1px rgba(0,108,69,.25), 0 10px 20px rgba(0,55,41,.18); }
.node-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.node-copy { min-width: 0; }
.node-copy small { display: block; color: var(--green); font-size: .62rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
.node-copy strong { display: block; font: 650 1.02rem/1.28 var(--font-display); letter-spacing: -.015em; }
.node-arrow { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--green-deep); font-size: .82rem; background: rgba(0,166,81,.08); opacity: .55; transition: opacity .3s ease, transform .3s ease, background .3s ease; }
.map-node:hover .node-arrow, .map-node:focus-visible .node-arrow { opacity: 1; transform: translate(2px,-2px); background: rgba(0,166,81,.14); }
.map-node-1 { left: 5.5%; top: 18%; }
.map-node-2 { right: 5.5%; top: 18%; }
.map-node-3 { right: 7.5%; bottom: 8%; }
.map-node-4 { left: 7.5%; bottom: 8%; }
.map-node-5 { left: 50%; top: 4.5%; width: 344px; transform: translateX(-50%); }
.map-node-1:hover, .map-node-1:focus-visible, .map-node-4:hover, .map-node-4:focus-visible { transform: translate(-5px,-6px); }
.map-node-2:hover, .map-node-2:focus-visible, .map-node-3:hover, .map-node-3:focus-visible { transform: translate(5px,-6px); }
.map-node-5:hover, .map-node-5:focus-visible { transform: translateX(-50%) translateY(-6px); }
.map-system-note { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; color: rgba(9,42,42,.43); text-transform: uppercase; letter-spacing: .18em; font-size: .55rem; font-weight: 700; z-index: 2; }
.map-system-note i { width: 42px; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,166,81,.75), transparent); }


.focus-section { background: var(--ink); color: #fff; padding-bottom: 0; }
.section-heading-row { margin-bottom: 80px; }
.section-title { font: 600 clamp(2.8rem, 5.4vw, 6rem)/.98 var(--font-display); letter-spacing: -.055em; margin: 0; }
.section-title span { color: var(--green-deep); font-weight: 500; }
.section-title.light span { color: var(--green-bright); }
.focus-list { border-top: 1px solid rgba(255,255,255,.14); }
.focus-panel { border-bottom: 1px solid rgba(255,255,255,.14); scroll-margin-top: 80px; }
.focus-trigger { width: min(100% - 72px, 1460px); margin-inline: auto; display: grid; grid-template-columns: 70px minmax(250px, 1fr) minmax(300px, 1fr) 54px; align-items: center; gap: 26px; background: transparent; border: 0; color: #fff; text-align: left; padding: 33px 0; transition: color .3s ease; }
.focus-number { color: var(--green-bright); font-size: .72rem; }
.focus-title { font: 600 clamp(1.45rem, 2.4vw, 2.4rem) var(--font-display); letter-spacing: -.03em; }
.focus-summary { font-size: .93rem; color: rgba(255,255,255,.48); line-height: 1.45; }
.focus-icon { width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; display: grid; place-items: center; transition: transform .35s ease, background .35s ease; }
.focus-trigger[aria-expanded="true"] .focus-icon { transform: rotate(45deg); background: var(--green-bright); color: var(--ink); border-color: var(--green-bright); }
.focus-content { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .7s cubic-bezier(.2,.8,.2,1), opacity .45s ease; background: #0c3431; }
.focus-content.show { max-height: 1000px; opacity: 1; }
.focus-content .content-shell { padding-top: 52px; padding-bottom: 82px; }
.focus-visual { position: relative; height: 415px; overflow: hidden; }
.focus-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(4,33,31,.78)); }
.focus-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.focus-panel:hover .focus-visual img { transform: scale(1.03); }
.visual-tag { position: absolute; z-index: 2; left: 24px; bottom: 22px; text-transform: uppercase; letter-spacing: .14em; font-size: .65rem; color: rgba(255,255,255,.8); }
.focus-text p { font-size: clamp(1rem, 1.2vw, 1.18rem); line-height: 1.75; color: rgba(255,255,255,.75); }
.focus-text p + p { margin-top: 22px; }

.initiatives-section { background: var(--cream); }
.overline { text-transform: uppercase; letter-spacing: .2em; font-size: .7rem; color: var(--green-deep); font-weight: 700; margin-bottom: 20px; }
.section-note { color: var(--muted); margin-top: 24px; }
.initiative-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.initiative-card { min-height: 690px; padding: 38px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.initiative-dark { background: var(--ink); color: #fff; }
.initiative-green { background: var(--green); color: #fff; }
.initiative-top { display: flex; justify-content: space-between; align-items: baseline; text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; position: relative; z-index: 2; }
.initiative-top strong { font: 700 clamp(2.8rem, 5vw, 5rem) var(--font-display); letter-spacing: -.05em; }
.initiative-art { flex: 1; position: relative; min-height: 300px; }
.initiative-bottom { position: relative; z-index: 2; }
.initiative-bottom > p:first-child { text-transform: uppercase; letter-spacing: .16em; font-size: .67rem; opacity: .7; }
.initiative-bottom h3 { font: 600 clamp(2rem, 3.4vw, 3.8rem)/1.03 var(--font-display); letter-spacing: -.05em; max-width: 640px; }
.initiative-rule { height: 1px; background: rgba(255,255,255,.3); margin: 27px 0; }
.initiative-description { font-size: 1rem; line-height: 1.6; opacity: .72; max-width: 600px; }
.fellowship-art .orbit { position: absolute; border: 1px solid rgba(36,212,122,.35); border-radius: 50%; left: 50%; top: 46%; transform: translate(-50%,-50%); }
.fellowship-art .o1 { width: 170px; height: 170px; }.fellowship-art .o2 { width: 260px; height: 260px; border-style: dashed; animation: orbitSpin 24s linear infinite; }.fellowship-art .o3 { width: 360px; height: 360px; opacity: .45; }
.centre-dot { position: absolute; left: 50%; top: 46%; transform: translate(-50%,-50%); width: 75px; height: 75px; border-radius: 50%; background: var(--green-bright); box-shadow: 0 0 70px rgba(36,212,122,.55); }
.giving-art .hand { position: absolute; width: 210px; height: 92px; border: 3px solid rgba(255,255,255,.65); border-radius: 60px 12px 60px 12px; top: 42%; }
.hand-a { left: 16%; transform: rotate(24deg); }.hand-b { right: 16%; transform: rotate(-24deg) scaleX(-1); }
.giving-art .pulse { position: absolute; left: 50%; top: 43%; transform: translate(-50%,-50%) rotate(45deg); width: 74px; height: 74px; background: #fff; border-radius: 12px 50px 50px 50px; box-shadow: 0 0 0 22px rgba(255,255,255,.08), 0 0 0 45px rgba(255,255,255,.04); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { transform: translate(-50%,-50%) rotate(45deg) scale(.92); } 50% { transform: translate(-50%,-50%) rotate(45deg) scale(1.06); } }

.image-story { background: #e8ebe5; padding: 110px 0 80px; overflow: hidden; }
.story-header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.story-header p { text-transform: uppercase; letter-spacing: .16em; font-size: .68rem; color: var(--green-deep); font-weight: 700; }
.story-header h2 { font: 600 clamp(1.8rem, 3.7vw, 4rem) var(--font-display); max-width: 850px; margin: 0; letter-spacing: -.04em; text-align: right; }
.story-track { display: flex; gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: max(36px, calc((100vw - 1460px)/2)); cursor: grab; }
.story-track::-webkit-scrollbar { display: none; }
.story-track.dragging { cursor: grabbing; scroll-snap-type: none; }
.story-item { flex: 0 0 360px; height: 430px; margin: 0; position: relative; overflow: hidden; background: #d9ddd4; scroll-snap-align: start; }
.story-item.story-wide { flex-basis: 610px; }.story-item.story-tall { flex-basis: 320px; }
.story-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.story-item:hover img { transform: scale(1.035); }
.story-item.transparent-art img { object-fit: contain; padding: 30px; background: var(--ink); }
.story-item figcaption { position: absolute; left: 18px; bottom: 18px; background: rgba(6,45,40,.86); backdrop-filter: blur(10px); color: #fff; padding: 9px 13px; font-size: .72rem; letter-spacing: .05em; }
.story-controls { margin-top: 35px; display: flex; align-items: center; gap: 20px; }
.story-controls button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(9,42,42,.22); background: transparent; display: grid; place-items: center; transition: background .25s ease, color .25s ease; }
.story-controls button:hover { background: var(--ink); color: #fff; }
.story-progress { flex: 1; height: 2px; background: rgba(9,42,42,.12); position: relative; overflow: hidden; }
.story-progress span { display: block; width: 10%; height: 100%; background: var(--green); transition: width .15s linear; }

.organisation-section { background: var(--paper); }
.founder-card { min-height: 425px; background: var(--ink); color: #fff; display: grid; grid-template-columns: 420px 1fr 220px; align-items: center; position: relative; overflow: hidden; border-radius: 26px; }
.founder-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 50%, rgba(36,212,122,.18), transparent 30%); }
.founder-photo { height: 420px; align-self: center; position: relative; z-index: 1; background: #fff; }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; image-rendering: auto; transform: scale(1.02); }
.founder-meta { padding: 55px; position: relative; z-index: 1; }
.founder-meta span, .director-card span { text-transform: uppercase; letter-spacing: .18em; color: var(--green-bright); font-size: .68rem; }
.founder-meta h3 { font: 600 clamp(2rem, 4vw, 4.4rem)/1 var(--font-display); letter-spacing: -.05em; margin: 18px 0; }
.founder-meta p { color: rgba(255,255,255,.6); font-size: 1rem; }
.founder-symbol { position: relative; z-index: 1; transform: scale(1.4); }
.founder-symbol i { background: rgba(36,212,122,.65); }
.hierarchy-block { margin-top: 95px; }
.hierarchy-heading { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--line); padding-top: 17px; margin-bottom: 34px; }
.hierarchy-heading span { font: 600 1.25rem var(--font-display); }
.hierarchy-heading small { text-transform: uppercase; letter-spacing: .14em; color: var(--muted); font-size: .62rem; }
.people-grid { display: grid; gap: 18px; }
.advisory-grid { grid-template-columns: repeat(5, 1fr); }.vertical-grid { grid-template-columns: repeat(4, 1fr); }
.person-card { background: #fff; border: 1px solid var(--line); min-height: 300px; display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.person-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-color: transparent; }
.person-card img { width: 100%; height: 210px; object-fit: cover; object-position: top center; background: #eef0ec; filter: saturate(.82); }
.person-card > div { padding: 21px 20px 24px; }
.person-card h3 { font: 600 1.1rem/1.25 var(--font-display); margin: 0 0 8px; }
.person-card p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.4; }
.director-card { display: grid; grid-template-columns: 290px 1fr 170px; align-items: center; background: #e7eee8; min-height: 310px; }
.director-card img { width: 100%; height: 310px; object-fit: cover; }
.director-card > div { padding: 45px; }
.director-card h3 { font: 600 clamp(2rem, 4vw, 4rem) var(--font-display); letter-spacing: -.05em; margin: 12px 0; }
.director-card p { color: var(--muted); max-width: 550px; line-height: 1.6; }
.director-card b { font-size: .67rem; line-height: 1.55; letter-spacing: .18em; color: var(--green-deep); transform: rotate(90deg); }

.manifesto-section { padding: 135px 0; background: var(--green); color: #fff; position: relative; overflow: hidden; }
.manifesto-lines { position: absolute; width: 500px; height: 500px; right: -80px; top: -60px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); }
.manifesto-lines::before, .manifesto-lines::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); }
.manifesto-lines::before { inset: 45px; }.manifesto-lines::after { inset: 95px; }
.manifesto-kicker { text-transform: uppercase; letter-spacing: .2em; font-size: .68rem; opacity: .72; }
.manifesto-section h2 { font: 700 clamp(3.2rem, 7vw, 7.8rem)/.93 var(--font-display); letter-spacing: -.065em; margin: 25px 0 0; }
.manifesto-section h2 em { color: var(--ink); font-style: normal; font-weight: 500; }
.manifesto-copy { font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1.55; margin: 0; }

.access-section { background: var(--ink); color: #fff; padding: 115px 0 70px; }
.access-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 80px; }
.access-top p { text-transform: uppercase; letter-spacing: .16em; font-size: .68rem; color: rgba(255,255,255,.5); margin: 0; }
.email-link { display: flex; align-items: center; justify-content: space-between; gap: 20px; font: 500 clamp(2.3rem, 4.2vw, 7.5rem)/1 var(--font-display); letter-spacing: -.055em; padding-bottom: 35px; border-bottom: 1px solid rgba(255,255,255,.2); transition: color .3s ease; }
.email-link:hover { color: var(--green-bright); }
.email-link i { font-size: .55em; }
.access-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 32px; }
.access-bottom p { margin: 0; color: rgba(255,255,255,.5); font-size: .86rem; }
.footer-links { display: flex; gap: 25px; }
.footer-links a { color: rgba(255,255,255,.7); font-size: .8rem; letter-spacing: .08em; }
.footer-links a:hover { color: var(--green-bright); }
footer { background: #041f1d; color: rgba(255,255,255,.45); padding: 28px 0; }
footer .content-shell { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
footer img { width: 155px; filter: brightness(0) invert(1); opacity: .65; }
footer p, footer a { margin: 0; font-size: .7rem; letter-spacing: .08em; }
footer a:hover { color: #fff; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.75,.25,1); }
.reveal.in-view { opacity: 1; transform: translateY(0); }
.reveal-up { opacity: 0; transform: translateY(30px); animation: heroReveal .85s cubic-bezier(.2,.75,.25,1) forwards; }
.delay-1 { animation-delay: .12s; }.delay-2 { animation-delay: .25s; }.delay-3 { animation-delay: .38s; }
@keyframes heroReveal { to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1199.98px) {
  .hero-system { width: 47vw; right: -12vw; top: 18%; opacity: .55; }
  .advisory-grid { grid-template-columns: repeat(3, 1fr); }
  .vertical-grid { grid-template-columns: repeat(3, 1fr); }
  .founder-card { grid-template-columns: 360px 1fr 140px; }
}

@media (max-width: 991.98px) {
  .content-shell, .nav-shell, .hero-container, .focus-trigger { width: min(100% - 40px, 1460px); }
  .section-space { padding: 100px 0; }
  #mainNav { height: 74px; }
  .navbar-brand img { width: 175px; }
  .hero-copy { padding: 155px 0 100px; }
  .hero h1 { font-size: clamp(3.2rem, 10vw, 6rem); }
  .hero-system { width: 65vw; right: -26vw; top: 26%; opacity: .37; }
  .system-map { height: auto; min-height: 0; padding: 42px 28px 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .system-connectors, .map-orbit, .map-system-note { display: none; }
  .map-centre { position: relative; left: auto; top: auto; transform: none !important; grid-column: 1 / -1; width: 220px; height: 220px; margin: 8px auto 32px; }
  .map-centre:hover, .map-centre:focus-visible { transform: scale(1.025) !important; }
  .map-node { position: relative; inset: auto !important; transform: none !important; width: auto !important; min-height: 122px; }
  .map-node-1 { order: 1; }.map-node-2 { order: 2; }.map-node-3 { order: 3; }.map-node-4 { order: 4; }.map-node-5 { order: 5; grid-column: 1 / -1; width: min(100%, 470px) !important; justify-self: center; }
  .map-node:hover, .map-node:focus-visible { transform: translateY(-5px) !important; }
  .focus-trigger { grid-template-columns: 45px 1fr 50px; gap: 15px; }
  .focus-summary { grid-column: 2; margin-top: -12px; }
  .focus-icon { grid-column: 3; grid-row: 1 / 3; }
  .initiative-grid { grid-template-columns: 1fr; }
  .initiative-card { min-height: 620px; }
  .story-header { display: block; }
  .story-header h2 { text-align: left; margin-top: 12px; }
  .founder-card { grid-template-columns: 310px 1fr; }
  .founder-symbol { display: none; }
  .director-card { grid-template-columns: 230px 1fr; }
  .director-card b { display: none; }
  .advisory-grid, .vertical-grid { grid-template-columns: repeat(2, 1fr); }
  .manifesto-copy { margin-top: 12px; max-width: 700px; }
}

@media (max-width: 767.98px) {
  .content-shell, .nav-shell, .hero-container, .focus-trigger { width: calc(100% - 30px); }
  .section-space { padding: 78px 0; }
  .hero { min-height: 820px; }
  .hero-media img { object-position: 72% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(5,38,37,.98), rgba(5,38,37,.84)), linear-gradient(0deg, rgba(5,38,37,.8), transparent); }
  .hero-grid { background-size: 44px 44px; }
  .hero-copy { padding: 135px 0 82px; align-self: end; }
  .hero h1 { font-size: clamp(3.15rem, 15.5vw, 5.1rem); line-height: .96; }
  .hero-intro { font-size: 1rem; line-height: 1.62; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .scroll-cue { display: none; }
  .hero-system { display: none; }
  .section-label { margin-bottom: 10px; width: 100%; }
  .display-statement { font-size: clamp(2.2rem, 9.6vw, 3.6rem); }
  .principle-card { padding-left: 20px; }
  .system-map { margin-top: 70px; grid-template-columns: 1fr; padding: 30px 15px 18px; border-radius: 22px; }
  .system-map::after { inset: 10px; border-radius: 16px; }
  .map-centre { grid-column: 1; width: 194px; height: 194px; margin-bottom: 24px; }
  .map-centre::before { inset: -10px; }
  .map-centre::after { inset: -20px; }
  .centre-content strong { font-size: 1.48rem; }
  .map-node, .map-node-5 { grid-column: 1; width: 100% !important; min-height: 108px; padding: 16px 15px; grid-template-columns: 54px 1fr 22px; gap: 13px; border-radius: 16px; }
  .node-icon { width: 52px; height: 52px; border-width: 4px; }
  .node-icon svg { width: 24px; height: 24px; }
  .node-copy strong { font-size: .96rem; }
  .node-copy strong br { display: none; }
  .section-heading-row { margin-bottom: 48px; }
  .section-title { font-size: clamp(2.7rem, 12vw, 4.4rem); }
  .focus-trigger { grid-template-columns: 32px 1fr 42px; padding: 25px 0; }
  .focus-title { font-size: 1.45rem; }
  .focus-summary { font-size: .82rem; }
  .focus-icon { width: 40px; height: 40px; }
  .focus-content .content-shell { padding-top: 30px; padding-bottom: 55px; }
  .focus-visual { height: 310px; }
  .focus-text p { font-size: .95rem; }
  .initiative-card { min-height: 590px; padding: 25px; }
  .initiative-top strong { font-size: 3.1rem; }
  .fellowship-art .o3 { width: 310px; height: 310px; }
  .giving-art .hand { width: 150px; }
  .image-story { padding: 75px 0 55px; }
  .story-item, .story-item.story-wide, .story-item.story-tall { flex-basis: 82vw; height: 390px; }
  .founder-card { display: block; }
  .founder-photo { height: 420px; }
  .founder-photo img { object-fit: contain; object-position: left bottom; }
  .founder-meta { padding: 30px 24px 36px; }
  .advisory-grid, .vertical-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .person-card { min-height: 260px; }
  .person-card img { height: 170px; }
  .person-card > div { padding: 16px 14px 19px; }
  .person-card h3 { font-size: .96rem; }
  .person-card p { font-size: .75rem; }
  .director-card { display: block; }
  .director-card img { height: 330px; }
  .director-card > div { padding: 30px 24px; }
  .manifesto-section { padding: 90px 0; }
  .access-section { padding-top: 80px; }
  .access-top { margin-bottom: 55px; display: block; }
  .access-top p { margin-top: 18px; }
  .email-link { font-size: clamp(2rem, 9.3vw, 3.7rem); overflow-wrap: anywhere; }
  .access-bottom { align-items: flex-start; flex-direction: column; gap: 24px; }
  footer .content-shell { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .navbar-brand img { width: 152px; }
  .hero h1 { font-size: 3rem; }
  .eyebrow { font-size: .63rem; letter-spacing: .16em; }
  .advisory-grid, .vertical-grid { grid-template-columns: 1fr; }
  .person-card { display: grid; grid-template-columns: 120px 1fr; min-height: 130px; }
  .person-card img { width: 120px; height: 100%; min-height: 130px; }
  .person-card > div { align-self: center; }
  .story-item, .story-item.story-wide, .story-item.story-tall { height: 350px; }
  .initiative-card { min-height: 560px; }
  .initiative-art { min-height: 250px; }
  .fellowship-art .o3 { width: 255px; height: 255px; }
  .fellowship-art .o2 { width: 195px; height: 195px; }
  .fellowship-art .o1 { width: 135px; height: 135px; }
  .giving-art .hand { width: 125px; height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Lightweight icon fallbacks keep the package fully self-contained. */
.bi { display: inline-block; font-style: normal; line-height: 1; }
.bi::before { display: inline-block; }
.bi-arrow-up-right::before { content: "↗"; }
.bi-arrow-down::before { content: "↓"; }
.bi-arrow-right::before { content: "→"; }
.bi-plus-lg::before { content: "+"; font-weight: 400; }
.bi-arrow-left::before { content: "←"; }
.bi-arrow-up::before { content: "↑"; }

@media (prefers-reduced-motion: reduce) {
  .orbit-middle, .centre-ring::before { animation: none; }
}


/* =========================================================
   ORGANISATION — PREMIUM LEADERSHIP SYSTEM
   This block intentionally overrides the earlier compact
   profile-card rules while leaving every other section intact.
   ========================================================= */

.organisation-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.organisation-section::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 720px;
  right: -360px;
  top: 520px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(36, 212, 122, .09) 0 1px, transparent 1.6px) 0 0 / 18px 18px,
    radial-gradient(circle at center, rgba(0, 166, 81, .08), transparent 65%);
  pointer-events: none;
  z-index: -1;
}

.leadership-group {
  margin-top: 88px;
}

.leadership-group-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 34px;
  padding-top: 19px;
  border-top: 1px solid var(--line);
}

.leadership-group-header > div {
  min-width: 0;
}

.leadership-kicker {
  display: block;
  margin-bottom: 9px;
  color: var(--green-deep);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .19em;
  line-height: 1.3;
  text-transform: uppercase;
}

.leadership-group-header h3 {
  margin: 0;
  font: 650 clamp(2rem, 3.1vw, 3.5rem)/1 var(--font-display);
  letter-spacing: -.045em;
}

.leadership-group-header p {
  width: min(100%, 430px);
  margin: 0 0 3px;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.65;
}

.advisory-panel {
  position: relative;
  padding: 46px;
  overflow: hidden;
  border: 1px solid rgba(9, 42, 42, .1);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(240, 246, 241, .88)),
    var(--paper);
  box-shadow: 0 24px 70px rgba(4, 35, 31, .07);
}

.advisory-panel::before,
.advisory-panel::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.advisory-panel::before {
  width: 390px;
  height: 390px;
  right: -235px;
  top: -235px;
  border: 1px solid rgba(0, 166, 81, .13);
  box-shadow:
    0 0 0 34px rgba(0, 166, 81, .025),
    0 0 0 72px rgba(0, 166, 81, .018);
}

.advisory-panel::after {
  width: 170px;
  height: 170px;
  left: -110px;
  bottom: -110px;
  background: radial-gradient(circle, rgba(36, 212, 122, .13), transparent 67%);
}

.people-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
}

.advisory-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vertical-grid {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 22px;
}

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

.vertical-grid .leadership-card:nth-child(6) {
  grid-column: 4 / span 2;
}

.vertical-grid .leadership-card:nth-child(7) {
  grid-column: 6 / span 2;
}

.leadership-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(9, 42, 42, .11);
  border-radius: 19px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 34px rgba(4, 35, 31, .055);
  transition:
    transform .38s cubic-bezier(.2, .75, .25, 1),
    border-color .38s ease,
    box-shadow .38s ease;
}

.leadership-card::after {
  content: "";
  position: absolute;
  left: 22px;
  bottom: 0;
  width: 38px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--green-bright);
  transition: width .38s ease;
}

.leadership-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 166, 81, .25);
  box-shadow: 0 24px 54px rgba(4, 35, 31, .12);
}

.leadership-card:hover::after {
  width: 76px;
}

.portrait-frame {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background:
    linear-gradient(145deg, #eef2ee, #f9faf8);
  border-bottom: 1px solid rgba(9, 42, 42, .08);
}

.portrait-frame::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 24%;
  background: linear-gradient(to top, rgba(6, 45, 40, .12), transparent);
  pointer-events: none;
}

.portrait-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: none;
  transform: scale(1.002);
  image-rendering: auto;
  transition: transform .55s cubic-bezier(.2, .75, .25, 1);
}

.leadership-card:hover .portrait-frame img {
  transform: scale(1.035);
}

.profile-number {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 29px;
  padding-inline: 9px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  background: rgba(6, 45, 40, .76);
  color: #fff;
  box-shadow: 0 8px 20px rgba(4, 35, 31, .18);
  backdrop-filter: blur(10px);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.profile-copy {
  min-height: 142px;
  padding: 21px 22px 25px;
}

.profile-type {
  display: block;
  margin-bottom: 9px;
  color: var(--green-deep);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.profile-copy h4 {
  margin: 0 0 8px;
  font: 650 1.06rem/1.25 var(--font-display);
  letter-spacing: -.018em;
}

.profile-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .81rem;
  line-height: 1.48;
}

.director-block {
  margin-top: 76px;
}

.director-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
  align-items: stretch;
  height: 340px;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(9, 42, 42, .1);
  border-radius: 26px;
  background:
    linear-gradient(120deg, rgba(237, 245, 239, .98), rgba(250, 251, 248, .98));
  box-shadow: 0 28px 76px rgba(4, 35, 31, .1);
}

.director-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(0, 166, 81, .036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 166, 81, .036) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to left, #000 0%, transparent 72%);
  pointer-events: none;
}

.director-card > .director-portrait {
  position: relative;
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #e1e9e3;
}

.director-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(4, 35, 31, .14), transparent 38%),
    linear-gradient(to right, transparent 76%, rgba(237, 245, 239, .14));
  pointer-events: none;
}

.director-portrait img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 50% 50%;
  filter: none;
  transform: scale(1.004);
  image-rendering: auto;
}

.director-photo-label {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 2;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: rgba(6, 45, 40, .78);
  color: #fff;
  box-shadow: 0 9px 26px rgba(4, 35, 31, .22);
  backdrop-filter: blur(12px);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.director-card > .director-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px clamp(36px, 4vw, 58px);
}

/* Reset the broad legacy .director-card span rule before applying
   the new component-specific hierarchy. */
.director-card span {
  color: inherit;
  font-size: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.director-card .leadership-kicker {
  display: block;
  margin-bottom: 9px;
  color: var(--green-deep);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .19em;
  line-height: 1.3;
  text-transform: uppercase;
}

.director-card .director-photo-label {
  color: #fff;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.director-card .director-role {
  margin: 0;
  color: var(--ink);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.director-card h3 {
  margin: 13px 0 0;
  font: 680 clamp(3rem, 4.4vw, 4.8rem)/.94 var(--font-display);
  letter-spacing: -.065em;
}

.director-card .director-rule {
  display: block;
  width: 52px;
  height: 3px;
  margin: 18px 0 16px;
  border-radius: 999px;
  background: var(--green-bright);
}

.director-card .director-description {
  width: 100%;
  margin: 0;
  color: #5f6d68;
  font-size: clamp(.92rem, 1.1vw, 1.05rem);
  line-height: 1.65;
}

@media (min-width: 1200px) {
  .director-card .director-description {
    white-space: nowrap;
  }
}

.director-value {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}

.director-card .director-value-icon {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(0, 166, 81, .28);
  border-radius: 50%;
  background: rgba(255, 255, 255, .62);
  color: var(--green-deep);
  box-shadow: 0 9px 26px rgba(4, 35, 31, .07);
}

.director-card .director-value-icon svg {
  width: 25px;
  height: 25px;
}

.director-value > span:last-child {
  display: grid;
  gap: 3px;
}

.director-value strong {
  color: var(--ink);
  font-size: .86rem;
}

.director-value small {
  color: var(--muted);
  font-size: .74rem;
}

.director-card > .director-emblem {
  position: absolute;
  right: -56px;
  bottom: -46px;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: 310px;
  height: 220px;
  padding: 0;
  opacity: .095;
  transform: rotate(-5deg);
  pointer-events: none;
}

.director-emblem i {
  display: block;
  width: 35px;
  height: 145px;
  border: 3px solid var(--green-deep);
  border-bottom: 0;
  clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%);
  transform-origin: bottom;
}

.director-emblem i:nth-child(1),
.director-emblem i:nth-child(7) {
  height: 92px;
}

.director-emblem i:nth-child(2),
.director-emblem i:nth-child(6) {
  height: 122px;
}

.director-emblem i:nth-child(1) { transform: rotate(34deg); }
.director-emblem i:nth-child(2) { transform: rotate(23deg); }
.director-emblem i:nth-child(3) { transform: rotate(11deg); }
.director-emblem i:nth-child(5) { transform: rotate(-11deg); }
.director-emblem i:nth-child(6) { transform: rotate(-23deg); }
.director-emblem i:nth-child(7) { transform: rotate(-34deg); }

.vertical-panel {
  margin-top: 84px;
}

@media (max-width: 1199.98px) {
  .advisory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vertical-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vertical-grid .leadership-card,
  .vertical-grid .leadership-card:nth-child(5),
  .vertical-grid .leadership-card:nth-child(6),
  .vertical-grid .leadership-card:nth-child(7) {
    grid-column: auto;
  }

  .director-card {
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  }
}

@media (max-width: 991.98px) {
  .advisory-panel {
    padding: 34px;
  }

  .advisory-grid,
  .vertical-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .director-card {
    grid-template-columns: 310px minmax(0, 1fr);
    height: 360px;
    min-height: 0;
  }

  .director-card > .director-portrait,
  .director-portrait img {
    min-height: 0;
  }

  .director-card > .director-content {
    padding: 45px 38px;
  }

  .director-card h3 {
    font-size: clamp(2.7rem, 6.5vw, 4.4rem);
  }
}

@media (max-width: 767.98px) {
  .leadership-group {
    margin-top: 64px;
  }

  .leadership-group-header {
    display: block;
    margin-bottom: 25px;
  }

  .leadership-group-header p {
    margin-top: 16px;
  }

  .advisory-panel {
    padding: 25px 20px 22px;
    border-radius: 21px;
  }

  .advisory-grid,
  .vertical-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
  }

  .leadership-card {
    border-radius: 15px;
  }

  .profile-copy {
    min-height: 128px;
    padding: 17px 16px 21px;
  }

  .profile-copy h4 {
    font-size: .96rem;
  }

  .profile-copy p {
    font-size: .75rem;
  }

  .profile-number {
    top: 10px;
    right: 10px;
  }

  .director-block {
    margin-top: 60px;
  }

  .director-card {
    display: block;
    height: auto;
    min-height: 0;
    border-radius: 21px;
  }

  .director-card > .director-portrait {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .director-portrait img {
    min-height: 0;
    height: 100%;
  }

  .director-card > .director-content {
    padding: 35px 25px 38px;
  }

  .director-card h3 {
    font-size: clamp(2.65rem, 12vw, 4.3rem);
  }

  .director-card .director-description {
    font-size: .96rem;
  }

  .director-card > .director-emblem {
    right: -125px;
    bottom: -72px;
  }
}

@media (max-width: 575.98px) {
  .advisory-grid,
  .vertical-grid {
    grid-template-columns: 1fr;
  }

  .leadership-card {
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    min-height: 138px;
  }

  .portrait-frame {
    aspect-ratio: auto;
    min-height: 138px;
    height: 100%;
    border-bottom: 0;
    border-right: 1px solid rgba(9, 42, 42, .08);
  }

  .profile-copy {
    align-self: center;
    min-height: 0;
    padding: 18px 17px 20px;
  }

  .leadership-card::after {
    left: 156px;
  }

  .profile-number {
    min-width: 34px;
    height: 27px;
    font-size: .56rem;
  }

  .director-value {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .leadership-card,
  .portrait-frame img,
  .leadership-card::after {
    transition: none !important;
  }

  .leadership-card:hover,
  .leadership-card:hover .portrait-frame img {
    transform: none !important;
  }
}
