:root {
  --ink: #0b2030;
  --navy: #071a29;
  --navy-2: #0d2d3b;
  --cream: #f4f1e9;
  --paper: #fbfaf6;
  --mint: #79e0b3;
  --mint-dark: #318b69;
  --line: rgba(11, 32, 48, .14);
  --muted: #60707a;
  --white: #fff;
  --wrap: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
.wrap { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; }
.narrow { max-width: 920px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.site-header {
  height: 88px;
  padding: 0 max(24px, calc((100vw - var(--wrap)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(7, 26, 41, .96);
  color: #fff;
  position: absolute;
  z-index: 30;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { display: flex; align-items: end; gap: 3px; height: 29px; width: 30px; }
.brand-mark i { display: block; width: 7px; background: var(--mint); border-radius: 1px; transform: skewY(-18deg); }
.brand-mark i:nth-child(1) { height: 13px; }
.brand-mark i:nth-child(2) { height: 21px; }
.brand-mark i:nth-child(3) { height: 29px; }
.brand-text { display: flex; flex-direction: column; line-height: 1; }
.brand-text strong { font: 700 18px/1 Arial, Helvetica, sans-serif; letter-spacing: .14em; }
.brand-text small { margin-top: 6px; font-size: 8px; letter-spacing: .18em; opacity: .66; }
.site-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; }
.site-nav > a:not(.nav-cta) { opacity: .78; transition: .2s; }
.site-nav > a:not(.nav-cta):hover { opacity: 1; }
.nav-cta {
  border: 1px solid rgba(255,255,255,.3);
  padding: 12px 17px;
  border-radius: 2px;
  transition: .2s;
}
.nav-cta:hover { background: #fff; color: var(--ink); }
.nav-toggle { display:none; }

.hero {
  min-height: 900px;
  padding: 180px 0 85px;
  color: #fff;
  background: var(--navy);
  position: relative;
  overflow: hidden;
}
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, black 20%, transparent 85%);
}
.hero-glow {
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(121,224,179,.14), transparent 65%);
  right: -180px; top: 80px;
}
.hero-content { position: relative; z-index: 2; }
.eyebrow, .section-kicker {
  margin: 0 0 22px;
  color: var(--mint-dark);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  font-weight: 600;
}
.eyebrow { color: var(--mint); }
.hero h1 {
  margin: 0;
  max-width: 920px;
  font: 600 clamp(52px, 7.2vw, 98px)/.97 Arial, Helvetica, sans-serif;
  letter-spacing: -.055em;
}
.hero h1 span { color: var(--mint); }
.hero-copy {
  max-width: 650px;
  margin: 38px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 20px;
  line-height: 1.6;
}
.hero-actions { margin-top: 40px; display: flex; align-items: center; gap: 30px; }
.button {
  display: inline-flex; align-items:center; justify-content:center;
  min-height: 52px; padding: 0 24px;
  border: 0; border-radius: 2px;
  font-weight: 600; cursor: pointer;
}
.button.primary { background: var(--mint); color: var(--ink); }
.button.primary:hover { filter: brightness(1.06); }
.text-link { display: inline-flex; align-items:center; gap: 9px; color:#fff; font-weight: 600; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.text-link.dark { color: var(--ink); }
.hero-proof {
  margin-top: 88px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 930px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.hero-proof div { padding: 23px 28px 0 0; }
.hero-proof strong { display:block; font-size: 14px; }
.hero-proof span { display:block; margin-top:7px; color:rgba(255,255,255,.53); font-size:13px; }

.signal-card {
  position: absolute; z-index:1;
  width: 600px; right: -20px; bottom: 38px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(7,26,41,.7);
  backdrop-filter: blur(8px);
  padding: 24px 30px 20px;
  opacity: .86;
}
.signal-label { color:rgba(255,255,255,.56); font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.signal-chart { margin-top: 10px; }
.signal-chart .gridline { stroke:rgba(255,255,255,.08); stroke-width:1; }
.signal-chart .area { fill:url(#area); }
.signal-chart .line { fill:none; stroke:var(--mint); stroke-width:3; }
.signal-footer { display:flex; justify-content:space-between; color:rgba(255,255,255,.45); font-size:10px; }

.statement { padding: 140px 0 130px; background: var(--cream); text-align:center; }
.statement h2, .section-heading h2, .team h2, .contact h2 {
  margin: 0;
  font: 600 clamp(38px, 5vw, 66px)/1.08 Arial, Helvetica, sans-serif;
  letter-spacing: -.045em;
}
.statement p:last-child {
  max-width: 710px; margin: 32px auto 0; color:var(--muted); font-size:18px; line-height:1.75;
}

.difference { padding: 130px 0; }
.section-heading { max-width: 810px; margin-bottom: 58px; }
.section-heading h2 { font-size: clamp(38px, 4.2vw, 58px); }
.section-heading.split { max-width:none; display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; }
.section-heading.split > p { margin:0; color:var(--muted); font-size:17px; line-height:1.65; }

.feature-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }
.feature {
  min-height: 340px; padding: 38px;
  border:1px solid var(--line);
  background:#fff;
  position:relative; overflow:hidden;
}
.feature-large { grid-row:span 2; min-height:696px; background:var(--navy); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; }
.feature-wide { grid-column:1 / -1; min-height:auto; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:70px; }
.feature-number { position:absolute; top:28px; right:30px; color:var(--muted); font-size:12px; }
.feature-large .feature-number { color:rgba(255,255,255,.5); }
.feature h3 { margin:26px 0 14px; font:600 27px/1.2 Arial, Helvetica, sans-serif; letter-spacing:-.025em; }
.feature-large h3 { font-size:42px; }
.feature p { color:var(--muted); line-height:1.7; margin:0; max-width:540px; }
.feature-large p { color:rgba(255,255,255,.62); }
.feature-icon { height:120px; width:120px; position:relative; }
.feature-large .feature-icon { position:absolute; left:48px; top:60px; width:280px; height:280px; }
.orbit:before, .orbit:after, .orbit span {
  content:""; position:absolute; border:1px solid rgba(121,224,179,.42); border-radius:50%;
}
.orbit:before { inset:0; }
.orbit:after { inset:38px; }
.orbit span { inset:86px; background:var(--mint); border:0; box-shadow:0 0 60px rgba(121,224,179,.4); }
.bars { display:flex; align-items:end; gap:11px; padding:15px; }
.bars span { width:20px; background:var(--mint-dark); }
.bars span:nth-child(1){height:42px}.bars span:nth-child(2){height:74px}.bars span:nth-child(3){height:102px}
.dialogue span { position:absolute; border:2px solid var(--mint-dark); width:72px; height:52px; border-radius:50%; }
.dialogue span:first-child { left:4px; top:26px; }
.dialogue span:last-child { right:3px; top:50px; background:#fff; }
.governance-list { display:grid; grid-template-columns:repeat(2, 1fr); }
.governance-list span { padding:15px 0; border-bottom:1px solid var(--line); color:var(--muted); }

.approach { padding:130px 0; background:var(--navy-2); color:#fff; }
.section-kicker.light { color:var(--mint); }
.approach .section-heading > p { color:rgba(255,255,255,.58); }
.process { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.15); }
.process article { padding:34px 28px 10px 0; }
.process article + article { padding-left:28px; border-left:1px solid rgba(255,255,255,.15); }
.process span { color:var(--mint); font-size:12px; }
.process h3 { margin:50px 0 14px; font:600 20px/1.25 Arial, Helvetica, sans-serif; }
.process p { margin:0; color:rgba(255,255,255,.55); font-size:14px; line-height:1.7; }

.outcomes { padding:130px 0; }
.outcome-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.outcome-grid div { padding:35px 24px 0 0; }
.outcome-grid strong { font:600 18px Arial, Helvetica, sans-serif; }
.outcome-grid p { color:var(--muted); line-height:1.65; }

.team { padding:130px 0; background:var(--cream); }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.team-copy > p:not(.section-kicker) { color:var(--muted); font-size:17px; line-height:1.75; }
.team-copy .text-link { margin-top:15px; }
.team-card { background:#fff; border:1px solid var(--line); padding:52px; display:grid; grid-template-columns:100px 1fr; gap:30px; }
.team-monogram { width:100px; height:120px; display:grid; place-items:center; background:var(--navy); color:var(--mint); font:600 30px Arial; }
.team-card .role { color:var(--mint-dark); text-transform:uppercase; letter-spacing:.12em; font-size:10px; margin:0 0 10px; }
.team-card h3 { margin:0 0 18px; font:600 30px Arial; }
.team-card p:last-child { color:var(--muted); line-height:1.7; margin:0; }

.insights { padding:130px 0; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.insight-grid article { min-height:310px; padding:32px; border:1px solid var(--line); display:flex; flex-direction:column; }
.insight-grid .tag { margin:0; color:var(--mint-dark); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.insight-grid h3 { font:600 25px/1.3 Arial; letter-spacing:-.025em; }
.insight-grid a { margin-top:auto; font-weight:600; font-size:14px; }
.insight-grid a span { margin-left:5px; }

.contact { padding:130px 0; background:var(--navy); color:#fff; }
.contact-grid { display:grid; grid-template-columns:1fr .8fr; gap:110px; }
.contact-grid > div > p:last-child { color:rgba(255,255,255,.6); font-size:18px; line-height:1.7; }
.contact-form { display:grid; gap:20px; }
.contact-form label span { display:block; margin-bottom:8px; color:rgba(255,255,255,.65); font-size:12px; }
.contact-form input, .contact-form textarea { width:100%; padding:13px 0; background:transparent; color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.25); outline:0; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--mint); }
.contact-form .button { justify-self:start; margin-top:8px; }
.form-note { color:rgba(255,255,255,.48); font-size:12px; }
.form-note a { color:#fff; }

footer { background:#04131e; color:#fff; padding:60px 0 28px; }
.footer-main { display:flex; justify-content:space-between; align-items:center; }
.footer-links { display:flex; gap:28px; color:rgba(255,255,255,.55); font-size:13px; }
.footer-legal { margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:30px; color:rgba(255,255,255,.35); font-size:10px; line-height:1.5; }
.footer-legal p:last-child { max-width:560px; text-align:right; }

@media (max-width: 980px) {
  .site-nav { gap:18px; }
  .signal-card { width:52%; opacity:.45; }
  .hero-proof { grid-template-columns:1fr; max-width:480px; }
  .hero-proof div { padding-top:14px; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-large { grid-row:auto; min-height:600px; }
  .feature-wide { grid-column:auto; grid-template-columns:1fr; gap:30px; }
  .process { grid-template-columns:repeat(2,1fr); }
  .outcome-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid, .contact-grid { grid-template-columns:1fr; gap:60px; }
  .insight-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .wrap { width:min(calc(100% - 34px), var(--wrap)); }
  .site-header { height:72px; padding-inline:17px; position:absolute; }
  .nav-toggle { display:block; width:40px; height:40px; background:transparent; border:0; position:relative; z-index:40; }
  .nav-toggle span:not(.sr-only) { position:absolute; width:23px; height:1px; background:#fff; left:8px; transition:.2s; }
  .nav-toggle span:first-child { top:15px; }
  .nav-toggle span:nth-child(2) { top:24px; }
  .menu-open .nav-toggle span:first-child { transform:rotate(45deg); top:20px; }
  .menu-open .nav-toggle span:nth-child(2) { transform:rotate(-45deg); top:20px; }
  .site-nav {
    position:fixed; inset:0; background:var(--navy); display:flex; flex-direction:column;
    align-items:flex-start; justify-content:center; padding:40px; gap:30px;
    font:600 28px Arial; transform:translateX(100%); transition:.3s;
  }
  .menu-open .site-nav { transform:translateX(0); }
  .nav-cta { font-size:16px; margin-top:20px; }
  .hero { min-height:auto; padding:142px 0 80px; }
  .hero h1 { font-size:49px; }
  .hero-copy { font-size:17px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-proof { margin-top:60px; }
  .signal-card { display:none; }
  .statement, .difference, .approach, .outcomes, .team, .insights, .contact { padding:90px 0; }
  .section-heading.split { grid-template-columns:1fr; gap:25px; }
  .feature { padding:28px; }
  .feature-large { min-height:520px; }
  .feature-large .feature-icon { width:210px; height:210px; left:28px; top:45px; }
  .feature-large h3 { font-size:34px; }
  .process, .outcome-grid { grid-template-columns:1fr; }
  .process article + article { border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.15); }
  .process h3 { margin-top:25px; }
  .outcome-grid div { padding:28px 0; border-bottom:1px solid var(--line); }
  .team-card { padding:28px; grid-template-columns:1fr; }
  .contact-grid { gap:45px; }
  .footer-main, .footer-legal { align-items:flex-start; flex-direction:column; }
  .footer-links { flex-wrap:wrap; }
  .footer-legal p:last-child { text-align:left; }
}