:root {
  --ink: #09111d;
  --navy: #07111f;
  --navy-2: #0a192a;
  --paper: #f5f7fa;
  --white: #ffffff;
  --muted: #667486;
  --line: #dfe5ec;
  --blue: #5d8dff;
  --blue-2: #8aa8ff;
  --teal: #27d4c5;
  --violet: #a17cff;
  --shell: min(1160px, calc(100% - 40px));
  --radius: 22px;
  --shadow: 0 24px 70px rgba(9, 17, 29, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 90px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 10px 16px; color: var(--navy); background: #fff; border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.site-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  color: #fff;
  transition: background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}
.site-header.scrolled { background: rgba(7, 17, 31, .86); box-shadow: 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; letter-spacing: -.02em; }
.brand-portrait { display: block; flex: 0 0 48px; width: 48px; height: 48px; object-fit: cover; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: #1d2024; box-shadow: 0 2px 12px rgba(0,0,0,.16); }
.brand-name { font-size: 15px; }
.nav { display: flex; align-items: center; gap: 27px; font-size: 13px; color: rgba(255,255,255,.72); }
.nav a { text-decoration: none; transition: color .2s ease; }
.nav a:hover, .nav a:focus-visible { color: #fff; }
.nav-cta { padding: 10px 15px; color: #fff !important; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.07); }
.nav-toggle { display: none; width: 42px; height: 42px; border: 0; border-radius: 12px; background: rgba(255,255,255,.08); }
.nav-toggle span:not(.sr-only) { display: block; width: 18px; height: 1px; margin: 5px auto; background: #fff; transition: transform .2s ease; }

.hero { position: relative; overflow: hidden; padding: 160px 0 62px; color: #fff; background: radial-gradient(circle at 72% 20%, #122b49 0, var(--navy) 42%, #050c16 100%); }
.hero::after { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none; 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: 80px 80px; mask-image: linear-gradient(to bottom, transparent, #000 20%, transparent 78%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .35; }
.hero-glow-one { width: 520px; height: 520px; right: -170px; top: 90px; background: radial-gradient(circle, rgba(93,141,255,.45), transparent 68%); }
.hero-glow-two { width: 390px; height: 390px; left: -200px; top: 430px; background: radial-gradient(circle, rgba(39,212,197,.3), transparent 68%); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.06fr .94fr; gap: 74px; align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 1px; background: currentColor; }
.hero .eyebrow { color: var(--teal); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 720px; margin-bottom: 26px; font-size: clamp(52px, 6vw, 82px); line-height: .99; letter-spacing: -.058em; font-weight: 700; }
h1 em { color: var(--blue-2); font-style: normal; }
.hero-lede { max-width: 650px; margin-bottom: 34px; color: rgba(255,255,255,.72); font-size: 19px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 750; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #06101c; background: #fff; }
.button-ghost { color: #fff; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.04); }
.button-ghost:hover { background: rgba(255,255,255,.1); }
.capability-list { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 35px 0 0; padding: 0; color: rgba(255,255,255,.55); list-style: none; font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.capability-list li { position: relative; }
.capability-list li:not(:last-child)::after { content: ""; position: absolute; width: 3px; height: 3px; top: 9px; right: -12px; border-radius: 50%; background: var(--teal); }

.signal-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025)); box-shadow: 0 35px 100px rgba(0,0,0,.3); backdrop-filter: blur(12px); }
.signal-head { display: flex; justify-content: space-between; align-items: center; padding: 20px 23px; border-bottom: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.62); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.live-pill { display: inline-flex; align-items: center; gap: 7px; color: var(--teal); }
.live-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(39,212,197,.1); }
.signal-map { width: 100%; padding: 12px 14px 0; }
.signal-line { fill: none; stroke: url(#pathGradient); stroke-width: 2; stroke-dasharray: 6 8; }
.signal-line-soft { opacity: .42; }
.node { cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; outline: none; }
.node.is-dragging { cursor: grabbing; }
.node circle:first-child { transition: fill .2s, stroke .2s, stroke-width .2s; }
.node:hover circle:first-child, .node:focus-visible circle:first-child, .node.is-dragging circle:first-child { fill: rgba(138,168,255,.22); stroke: #d9e5ff; stroke-width: 2.5; }
.node:focus-visible circle:first-child { stroke-dasharray: 4 3; }
.node:hover text, .node:focus-visible text, .node.is-dragging text { fill: #fff; }
.signal-dot { pointer-events: none; }
.signal-help { margin: 0; padding: 0 16px 18px; text-align: center; color: rgba(255,255,255,.65); font-size: 11px; letter-spacing: .025em; }
@media (prefers-reduced-motion: reduce) { .node circle:first-child { transition: none; } }
.node circle:first-child { fill: rgba(93,141,255,.09); stroke: rgba(138,168,255,.5); stroke-width: 1; }
.node-core { fill: var(--blue); filter: url(#softGlow); }
.node-data circle:first-child { stroke: rgba(39,212,197,.55); }
.node-data .node-core { fill: var(--teal); }
.node-outcome circle:first-child { stroke: rgba(161,124,255,.72); fill: rgba(161,124,255,.1); }
.node-outcome .node-core { fill: var(--violet); }
.node text { fill: rgba(255,255,255,.5); font-size: 10px; font-weight: 750; text-anchor: middle; letter-spacing: .14em; }
.signal-dot { fill: #fff; filter: url(#softGlow); }
.dot-one { animation: pulse 2.1s ease-in-out infinite; }.dot-two { animation: pulse 2.1s .7s ease-in-out infinite; }.dot-three { animation: pulse 2.1s 1.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; r: 3; } }
.signal-foot { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.09); }
.signal-foot div { padding: 17px 12px; color: rgba(255,255,255,.52); font-size: 10px; line-height: 1.35; text-transform: uppercase; letter-spacing: .06em; }
.signal-foot div + div { border-left: 1px solid rgba(255,255,255,.09); }
.signal-foot span { display: block; margin-bottom: 5px; color: var(--teal); font-size: 9px; }

.proof-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 98px; border-top: 1px solid rgba(255,255,255,.11); }
.proof-grid article { display: flex; align-items: center; gap: 14px; padding: 27px 22px 2px; }
.proof-grid article:first-child { padding-left: 0; }
.proof-grid article + article { border-left: 1px solid rgba(255,255,255,.1); }
.proof-grid strong { font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.proof-grid span { max-width: 125px; color: rgba(255,255,255,.47); font-size: 11px; line-height: 1.4; text-transform: uppercase; letter-spacing: .05em; }

.section { padding: 118px 0; }
h2 { margin-bottom: 24px; font-size: clamp(38px, 4.5vw, 62px); line-height: 1.06; letter-spacing: -.05em; }
h3 { line-height: 1.2; letter-spacing: -.03em; }
.split-heading { display: grid; grid-template-columns: .95fr 1.05fr; gap: 110px; align-items: end; }
.section-intro { max-width: 590px; font-size: 18px; color: #344255; }
.section-intro .muted { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.leadership-philosophy { max-width: 820px; margin-top: 42px; padding: 18px 22px 18px 24px; border-left: 3px solid var(--teal); border-radius: 0 14px 14px 0; background: linear-gradient(90deg, rgba(78,215,197,.13), rgba(78,215,197,.025) 72%, transparent); }
.leadership-philosophy p { max-width: 760px; margin: 0; color: #244258; font-size: clamp(18px, 2vw, 24px); font-weight: 550; line-height: 1.42; letter-spacing: -.025em; }
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 36px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--line); }
.pillar { min-height: 260px; padding: 28px 26px; background: #fff; }
.pillar h3 { margin: 0 0 16px; font-size: 20px; }
.pillar p { margin-bottom: 0; color: var(--muted); font-size: 14px; }

.impact { background: #fff; }
.section-heading { max-width: 760px; margin-bottom: 58px; }
.section-heading > p:last-child { max-width: 600px; color: var(--muted); }
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.case-grid-projects { grid-template-columns: repeat(4, 1fr); align-items: stretch; }
.case-grid-projects .case { min-width: 0; min-height: 510px; padding: 27px 25px; }
.case-grid-projects .case-topline { margin-bottom: 28px; }
.case-grid-projects .case h3 { font-size: clamp(22px, 2vw, 29px); }
.case-grid-projects .case > p { font-size: 12.5px; line-height: 1.58; }
.case-grid-projects .case-result { min-height: 81px; gap: 11px; margin: auto 0 17px; padding-top: 24px; }
.case-grid-projects .case-result strong { font-size: clamp(39px, 3.5vw, 49px); }
.case-grid-projects .case-result span { font-size: 9.5px; }
.case-grid-projects .case-proof { min-height: 73px; align-content: flex-start; }
.case-grid-projects .case li { font-size: 9px; line-height: 1.25; }
.case { display: flex; flex-direction: column; min-height: 470px; padding: 35px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8fafc; }
.case-featured { color: #fff; border-color: transparent; background: linear-gradient(145deg, #0b1b2e, #0a2440); box-shadow: var(--shadow); }
.case-topline { display: flex; justify-content: space-between; align-items: center; margin-bottom: 42px; }
.case-tag { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.case-featured .case-tag { color: var(--teal); }
.case-index { color: #a7b2c0; font-size: 12px; }
.case h3 { max-width: 500px; margin-bottom: 18px; font-size: clamp(25px, 2.8vw, 35px); }
.case > p { color: var(--muted); }
.case-featured > p { color: rgba(255,255,255,.64); }
.case-result { display: flex; align-items: center; gap: 17px; margin: auto 0 20px; padding-top: 35px; }
.case-result strong { font-size: 56px; line-height: 1; letter-spacing: -.06em; color: var(--teal); }
.case-result span { max-width: 210px; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.4; text-transform: uppercase; letter-spacing: .05em; }
.case-result.compact strong { color: var(--blue); }
.case-result.compact span { color: var(--muted); }
.case ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.case li { padding: 7px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: rgba(255,255,255,.63); font-size: 10px; }
.case:not(.case-featured) li { border-color: #b8c8f3; color: #234363; background: #e9f0ff; box-shadow: inset 0 1px 0 #ffffffcc; font-weight: 650; }
.dual-result { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: auto; padding-top: 30px; }
.dual-result div { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.dual-result strong { display: block; color: var(--blue); font-size: 30px; line-height: 1.1; letter-spacing: -.04em; }
.dual-result span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.case-note { margin-top: auto !important; padding-top: 28px; color: #344255 !important; font-size: 13px; font-weight: 650; }

.project-highlights { overflow: hidden; background: linear-gradient(180deg,#fff 0%,#f4f7fb 100%); }
.project-highlights .section-heading { max-width: 820px; }
.project-highlights h2 em { color: var(--blue); font-style: normal; }
.project-lanes { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.project-lane { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid #dce4ee; border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 18px 46px rgba(17,37,62,.07); }
.project-lane-dark { color: #eef6ff; border-color: #1b3856; background: linear-gradient(155deg,#102b47,#071628); box-shadow: 0 18px 46px rgba(7,22,40,.18); }
.project-lane-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 19px; }
.project-lane-topline > span { color: #527dde; font-size: 12px; font-weight: 850; letter-spacing: .1em; }
.project-lane-topline small { color: #687a8f; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
.project-lane-dark .project-lane-topline > span { color: #69ded1; }.project-lane-dark .project-lane-topline small { color: #9fb1c4; }
.project-art { display: grid; place-items: center; height: 206px; margin-bottom: 22px; overflow: hidden; border: 1px solid #dce4ec; border-radius: 14px; background: #e9eef4; }
.project-art img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.project-lane:hover .project-art img { transform: scale(1.025); }
.project-art-case { background: #092337; }.project-art-case img { object-position: center top; }
.project-art-poster { border-color: #34516f; background: #7189af; }.project-art-poster img { object-fit: contain; padding: 7px; }
.project-kicker { margin: 0 0 9px; color: #527dde; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.project-lane-dark .project-kicker { color: #69ded1; }
.project-lane h3 { margin: 0 0 14px; font-size: clamp(23px,2.3vw,30px); line-height: 1.12; }.project-lane > p:not(.project-kicker) { margin-bottom: 20px; color: #536477; font-size: 13px; line-height: 1.63; }.project-lane-dark > p:not(.project-kicker) { color: #bdcddd; }
.project-moves { display: grid; gap: 7px; padding: 0; margin: 0 0 21px; list-style: none; }.project-moves li { position: relative; padding-left: 15px; color: #41546b; font-size: 11px; font-weight: 650; }.project-moves li:before { content: ''; position: absolute; left: 0; top: .67em; width: 6px; height: 6px; border-radius: 50%; background: #5d8dff; }.project-lane-dark .project-moves li { color: #cee0ee; }.project-lane-dark .project-moves li:before { background: #5bdbcb; }
.project-proof { display: flex; align-items: flex-start; gap: 11px; margin-top: auto; padding-top: 16px; border-top: 1px solid #dfe6ee; }.project-proof strong { flex: 0 0 auto; color: #315eaf; font-size: 20px; line-height: 1; letter-spacing: -.04em; }.project-proof span { color: #66778a; font-size: 10px; line-height: 1.4; }.project-lane-dark .project-proof { border-color: #ffffff1c; }.project-lane-dark .project-proof strong { color: #61ddd0; }.project-lane-dark .project-proof span { color: #aec3d4; }
.project-art-journey { position: relative; grid-template-rows: 1fr 18px 1fr; align-content: center; padding: 16px; background: radial-gradient(circle at 44% 26%,#f6fbff,#e7eff8); }.journey-cloud { position: relative; width: 86%; height: 80px; }.journey-cloud i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #5f8cf2; opacity: .62; }.journey-cloud i:nth-child(1){left:5%;top:52%}.journey-cloud i:nth-child(2){left:16%;top:16%}.journey-cloud i:nth-child(3){left:27%;top:71%}.journey-cloud i:nth-child(4){left:35%;top:28%}.journey-cloud i:nth-child(5){left:47%;top:5%}.journey-cloud i:nth-child(6){left:57%;top:60%}.journey-cloud i:nth-child(7){left:69%;top:22%}.journey-cloud i:nth-child(8){left:78%;top:74%}.journey-cloud i:nth-child(9){left:90%;top:44%}.journey-cloud i:nth-child(10){left:22%;top:46%}.journey-cloud i:nth-child(11){left:43%;top:87%}.journey-cloud i:nth-child(12){left:70%;top:47%}.journey-cloud:before,.journey-cloud:after { content: ''; position: absolute; left: 5%; right: 0; top: 49%; height: 1px; border-top: 1px solid #80a3eb; transform: rotate(16deg); box-shadow: 0 -22px 0 -0.5px #80a3eb88,0 26px 0 -0.5px #80a3eb77; opacity: .65; }.journey-cloud:after { transform: rotate(-13deg); }
.journey-arrow { display: grid; place-items: center; color: #607fae; font-size: 16px; line-height: 1; }.journey-path { display: flex; align-items: center; justify-content: center; width: 100%; gap: 4px; }.journey-path span { display: grid; place-items: center; flex: 1; min-width: 0; height: 32px; border: 1px solid #90aee3; border-radius: 7px; color: #284874; background: #fff; font-size: 8px; font-weight: 800; }.journey-path b { width: 5px; height: 1px; background: #6f91cc; }

.building { color: #fff; background: var(--navy); }
.building-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 88px; align-items: center; }
.building-copy > p:not(.eyebrow) { max-width: 540px; color: rgba(255,255,255,.62); font-size: 17px; }
.building .eyebrow { color: var(--teal); }
.tool-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.tool-row span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.55); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.lab-stack { display: grid; gap: 16px; }
.lab-card { display: grid; grid-template-columns: 56px 1fr; gap: 22px; padding: 28px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radius); background: rgba(255,255,255,.045); }
.lab-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: rgba(93,141,255,.12); }
.lab-icon svg { width: 26px; height: 26px; fill: none; stroke: var(--blue-2); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lab-icon-health { background: rgba(39,212,197,.1); }.lab-icon-health svg { stroke: var(--teal); }
.lab-label { color: var(--blue-2); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lab-card h3 { margin: 4px 0 8px; font-size: 27px; }
.lab-card p { margin-bottom: 14px; color: rgba(255,255,255,.58); font-size: 13px; }
.mini-list { display: flex; flex-wrap: wrap; gap: 8px 17px; margin: 0; padding: 0; color: rgba(255,255,255,.46); list-style: none; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.mini-list li { position: relative; }.mini-list li:not(:last-child)::after { content: "/"; position: absolute; right: -11px; color: rgba(255,255,255,.18); }

.leadership { background: #eef2f7; }
.leadership-card { position: relative; overflow: hidden; padding: clamp(38px, 6vw, 80px); color: #fff; border-radius: 30px; background: linear-gradient(135deg, #182c49, #0a1524 72%); box-shadow: var(--shadow); }
.leadership-card::after { content: ""; position: absolute; width: 340px; height: 340px; right: -130px; top: -160px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.02); }
.quote-mark { color: var(--teal); font-family: Georgia, serif; font-size: 72px; line-height: .7; }
blockquote { margin: 28px 0 56px; }
blockquote p { max-width: 930px; margin: 0; font-size: clamp(27px, 3.4vw, 46px); font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
.leadership-foot { display: flex; justify-content: space-between; align-items: end; gap: 25px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.13); }
.leadership-foot strong, .leadership-foot span { display: block; }
.leadership-foot strong { font-size: 14px; }.leadership-foot span { margin-top: 3px; color: rgba(255,255,255,.45); font-size: 11px; }
.leadership-foot a { position: relative; z-index: 2; color: var(--teal); text-decoration: none; font-size: 14px; font-weight: 750; }

.contact { padding: 100px 0; color: #07111f; background: var(--teal); }
.contact-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: center; }
.contact .eyebrow { color: #0b4e52; }
.contact h2 { max-width: 800px; margin-bottom: 0; font-size: clamp(37px, 4.8vw, 61px); }
.contact-actions { display: flex; flex-direction: column; align-items: flex-start; }
.button-light { color: #fff; background: var(--navy); }
.copy-email { margin: 14px 0 0; padding: 7px 0; border: 0; color: #0d5053; background: transparent; font: inherit; font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.contact-actions p { margin: 22px 0 0; color: #17595c; font-size: 12px; }
.site-footer { padding: 24px 0; color: rgba(255,255,255,.46); background: #050c16; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.footer-wrap { display: flex; justify-content: space-between; gap: 20px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 681px) {
  .case-grid-projects .case > p { min-height: 158px; }
  .case-grid-projects .case-proof { min-height: 120px; }
}

@media (max-width: 1160px) {
  .case-grid-projects { grid-template-columns: repeat(2, 1fr); }
  .case-grid-projects .case { min-height: 470px; }
}

@media (max-width: 980px) {
  .nav-toggle { display: block; }
  .nav { position: absolute; display: none; flex-direction: column; align-items: stretch; top: 68px; right: 20px; width: min(320px, calc(100vw - 40px)); padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(7,17,31,.97); box-shadow: 0 24px 60px rgba(0,0,0,.35); }
  .nav.open { display: flex; }
  .nav a { padding: 7px 8px; }
  .hero-grid, .building-grid { grid-template-columns: 1fr; }
  .hero-grid { gap: 58px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { max-width: 650px; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-grid article:first-child { padding-left: 22px; }
  .proof-grid article:nth-child(3) { border-left: 0; }
  .split-heading { grid-template-columns: 1fr; gap: 20px; }
  .leadership-philosophy { margin-top: 30px; }
  .pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid-projects { grid-template-columns: repeat(2, 1fr); }
  .project-lanes { grid-template-columns: 1fr; max-width: 680px; }
  .project-lane { min-height: 0; }
  .project-art { height: 260px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 28px, 1160px); }
  .site-header.scrolled, .site-header { background: rgba(7,17,31,.9); backdrop-filter: blur(16px); }
  .nav-wrap { min-height: 66px; }
  .hero { padding-top: 120px; }
  h1 { font-size: clamp(45px, 13.2vw, 66px); }
  .hero-lede { font-size: 17px; }
  .hero-actions .button { width: 100%; }
  .capability-list { gap: 9px 16px; }
  .signal-map { padding-inline: 4px; }
  .signal-foot { grid-template-columns: 1fr; }
  .signal-foot div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.09); }
  .proof-grid { margin-top: 62px; }
  .proof-grid article { flex-direction: column; align-items: flex-start; padding: 22px 14px; }
  .proof-grid article:first-child { padding-left: 14px; }
  .proof-grid strong { font-size: 27px; }
  .section { padding: 82px 0; }
  .project-lane { padding: 19px; border-radius: 18px; }
  .project-art { height: 206px; margin-bottom: 18px; }
  .project-lane h3 { font-size: 25px; }
  .pillar-grid, .case-grid { grid-template-columns: 1fr; }
  .pillar { min-height: 190px; }
  .case { min-height: 430px; padding: 27px; }
  .case-result { align-items: flex-start; flex-direction: column; }
  .case-result strong { font-size: 49px; }
  .dual-result strong { font-size: 26px; }
  .lab-card { grid-template-columns: 1fr; }
  .leadership { padding-inline: 0; }
  .leadership-card { width: calc(100% - 28px); border-radius: 24px; }
  .leadership-foot { align-items: flex-start; flex-direction: column; }
  .contact { padding: 80px 0; }
  .footer-wrap { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* Aligned narrative callouts */
.section-callout { align-self: end; max-width: 690px; padding: 18px 22px 18px 24px; border-left: 3px solid var(--blue); border-radius: 0 14px 14px 0; background: linear-gradient(90deg, rgba(65,108,208,.10), rgba(65,108,208,.025) 72%, transparent); }
.section-callout > span { display: block; margin-bottom: 7px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section-callout p { max-width: 620px; margin: 0; color: #3f4f64; font-size: 17px; line-height: 1.65; }
.section-callout .muted { margin-top: 7px; color: #718198; font-size: 13px; line-height: 1.5; }
.section-heading-callout { display: grid; grid-template-columns: minmax(260px,.85fr) minmax(0,1.4fr); align-items: end; gap: 38px; max-width: none; }
.section-heading-callout h2 { margin-bottom: 0; }
.building-callout { margin: 26px 0 24px; border-left-color: var(--teal); background: linear-gradient(90deg, rgba(78,215,197,.12), rgba(78,215,197,.025) 72%, transparent); }
.building-callout > span { color: var(--teal); }
.building-callout p { color: #c4d2e0; }
@media (max-width: 980px) { .section-heading-callout { grid-template-columns: minmax(225px,.8fr) minmax(0,1.2fr); gap: 20px; } }
@media (max-width: 680px) { .section-heading-callout { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; } .section-callout { max-width: none; padding: 13px 15px; border-left-width: 2px; border-radius: 0 12px 12px 0; } .section-callout > span { margin-bottom: 5px; font-size: 9px; } .section-callout p { font-size: 14px; line-height: 1.55; } .section-callout .muted { font-size: 12px; } }



.impact .section-heading-callout { grid-template-columns: minmax(520px, 1.15fr) minmax(340px, .85fr); gap: 42px; margin-bottom: 40px; }
.impact .section-heading-callout h2 { max-width: 670px; font-size: clamp(42px, 4.2vw, 58px); }
@media (max-width: 980px) { .impact .section-heading-callout { grid-template-columns: minmax(410px, 1.1fr) minmax(280px, .9fr); gap: 24px; } }
@media (max-width: 680px) { .impact .section-heading-callout { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; } .impact .section-heading-callout h2 { max-width: none; } }

/* Shared navigation landing points */
#top, #approach-heading, #impact-heading, #career-heading, #building-heading, #contact-heading, #career-timeline, #leadership-heading { scroll-margin-top: 84px; }

/* Refined section landing positions */
#impact-heading { scroll-margin-top: 102px; }
#building-heading { scroll-margin-top: 122px; }
