:root {
  --bg: #05070d;
  --panel: rgba(13, 18, 29, 0.72);
  --panel-strong: #0d121d;
  --line: rgba(177, 205, 255, 0.16);
  --text: #f4f7ff;
  --muted: #9aa8bd;
  --cyan: #6ee7ff;
  --violet: #a78bfa;
  --amber: #f7c873;
  --rose: #ff8ca1;
  --max: 1240px;
  --radius: 24px;
  --shadow: 0 28px 90px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 82% 12%, rgba(57, 90, 140, 0.14), transparent 32%),
    radial-gradient(circle at 18% 72%, rgba(106, 70, 160, 0.09), transparent 28%),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}

::selection { color: #071018; background: var(--cyan); }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
code { color: var(--cyan); }

#starfield {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
  pointer-events: none;
}

.noise {
  position: fixed;
  inset: 0;
  z-index: -2;
  opacity: 0.07;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

.cursor-glow {
  position: fixed;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  opacity: 0.12;
  background: radial-gradient(circle, var(--cyan), transparent 68%);
  transform: translate(-50%, -50%);
  transition: opacity 180ms ease;
}

.site-header {
  position: fixed;
  z-index: 20;
  top: 18px;
  left: 50%;
  width: min(calc(100% - 32px), var(--max));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(5, 7, 13, 0.72);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
}

.brand { display: flex; align-items: center; gap: 11px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(110, 231, 255, 0.45);
  border-radius: 12px;
  color: var(--cyan);
  font-weight: 800;
  letter-spacing: -0.04em;
  background: linear-gradient(145deg, rgba(110,231,255,.13), rgba(167,139,250,.05));
}
.brand-copy { display: grid; line-height: 1.1; }
.brand-copy strong { font-size: 0.91rem; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 0.67rem; letter-spacing: 0.13em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav a {
  padding: 10px 13px;
  border-radius: 11px;
  color: #bac5d6;
  font-size: 0.82rem;
  letter-spacing: .02em;
  transition: color .2s ease, background .2s ease;
}
.site-nav a:hover, .site-nav a.active { color: var(--text); background: rgba(255,255,255,.055); }
.nav-toggle { display: none; color: var(--text); background: none; border: 0; }

.section { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; padding: 112px 0; }
.hero { min-height: 100svh; padding-top: 152px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 60px; align-items: center; }
.eyebrow { margin: 0 0 18px; color: var(--cyan); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #62f7a6; box-shadow: 0 0 16px #62f7a6; animation: pulse 2s infinite; }
.hero h1, .section-heading h2, .contact h2 { margin: 0; font-weight: 650; letter-spacing: -0.055em; line-height: 1.02; }
.hero h1 { max-width: 820px; font-size: clamp(3.2rem, 6.8vw, 7.1rem); }
.hero h1 span { color: transparent; background: linear-gradient(135deg, #fff, var(--cyan) 78%); background-clip: text; -webkit-background-clip: text; }
.hero h1 span:nth-child(2) { background-image: linear-gradient(135deg, #fff, var(--violet) 78%); }
.hero h1 span:nth-child(3) { background-image: linear-gradient(135deg, #fff, var(--rose) 78%); }
.hero-lede { max-width: 700px; margin: 28px 0 0; color: #b7c1d2; font-size: clamp(1.05rem, 1.7vw, 1.28rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 1px solid var(--line); border-radius: 14px; font-weight: 700; font-size: .86rem; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); border-color: rgba(110,231,255,.42); }
.button.primary { color: #061018; background: var(--cyan); border-color: var(--cyan); }
.button.secondary { background: rgba(255,255,255,.035); }
.hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 52px; }
.hero-metrics article { min-height: 104px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(12,17,27,.48); }
.hero-metrics strong { display: block; font-size: 1.75rem; line-height: 1; }
.hero-metrics strong::after { content: "+"; color: var(--cyan); font-size: 1rem; }
.hero-metrics article:first-child strong::after { content: ""; }
.hero-metrics span { display: block; margin-top: 10px; color: var(--muted); font-size: .72rem; line-height: 1.35; }

.orbit-stage { position: relative; aspect-ratio: 1; display: grid; place-items: center; max-width: 570px; width: 100%; margin-inline: auto; border-radius: 50%; filter: drop-shadow(0 35px 70px rgba(0,0,0,.35)); }
.orbit-stage::before { content: ""; position: absolute; inset: 9%; border-radius: 50%; background: radial-gradient(circle, rgba(110,231,255,.11), rgba(8,11,18,.12) 44%, transparent 70%); box-shadow: inset 0 0 80px rgba(110,231,255,.05); }
.planet-core { position: absolute; z-index: 5; display: grid; place-items: center; width: 27%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #c7f7ff 0 3%, #5fc8de 4%, #172c43 42%, #070910 72%); box-shadow: inset -24px -24px 40px rgba(0,0,0,.72), 0 0 60px rgba(110,231,255,.18); }
.planet-core::after { content: ""; position: absolute; inset: -10%; border: 1px solid rgba(110,231,255,.22); border-radius: 50%; transform: rotate(-15deg) scaleY(.25); }
.planet-core span { font-size: clamp(1.1rem, 2vw, 1.8rem); font-weight: 900; letter-spacing: -.08em; text-shadow: 0 3px 20px rgba(0,0,0,.6); }
.orbit { position: absolute; border: 1px solid rgba(166,197,236,.18); border-radius: 50%; animation: orbit-spin linear infinite; }
.orbit-one { width: 48%; height: 48%; animation-duration: 18s; }
.orbit-two { width: 70%; height: 70%; animation-duration: 28s; animation-direction: reverse; transform: rotate(36deg); }
.orbit-three { width: 93%; height: 93%; animation-duration: 42s; transform: rotate(-24deg); }
.satellite { position: absolute; left: 50%; top: -6px; width: 12px; height: 12px; border-radius: 50%; transform: translateX(-50%); box-shadow: 0 0 18px currentColor; }
.satellite-one { color: var(--cyan); background: var(--cyan); }
.satellite-two { color: var(--violet); background: var(--violet); }
.satellite-three { color: var(--amber); background: var(--amber); }
.crosshair { position: absolute; inset: 1%; border: 1px dashed rgba(110,231,255,.09); border-radius: 50%; }
.crosshair::before, .crosshair::after { content: ""; position: absolute; background: rgba(110,231,255,.12); }
.crosshair::before { width: 1px; height: 104%; top: -2%; left: 50%; }
.crosshair::after { height: 1px; width: 104%; left: -2%; top: 50%; }
.orbit-hud { position: absolute; z-index: 8; display: grid; gap: 2px; padding: 10px 12px; border-left: 2px solid var(--cyan); background: rgba(5,7,13,.66); backdrop-filter: blur(8px); }
.orbit-hud span { color: var(--muted); font-size: .55rem; letter-spacing: .18em; }
.orbit-hud strong { font-size: .66rem; letter-spacing: .08em; }
.hud-top { top: 10%; right: -2%; }
.hud-bottom { bottom: 12%; left: -4%; border-left-color: var(--violet); }

.section-heading { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 880px; margin-bottom: 56px; }
.section-heading h2, .contact h2 { font-size: clamp(2.5rem, 5vw, 5.6rem); }
.section-heading > p:last-child { max-width: 640px; margin: 18px 0 0; color: var(--muted); }

.mission-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 26px; }
.mission-statement, .mission-panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: var(--shadow); }
.mission-statement { padding: clamp(28px, 5vw, 62px); }
.mission-statement p { margin: 0; color: #d9e1ee; font-size: clamp(1.2rem, 2.3vw, 2rem); line-height: 1.45; letter-spacing: -.02em; }
.mission-statement p + p { margin-top: 30px; color: #aeb9cb; }
.mission-panel { padding: 30px; }
.panel-label { display: block; padding-bottom: 18px; color: var(--cyan); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; border-bottom: 1px solid var(--line); }
.mission-panel ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.mission-panel li { display: grid; gap: 7px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.mission-panel li:last-child { border-bottom: 0; }
.mission-panel b { font-size: 1rem; }
.mission-panel span { color: var(--muted); font-size: .91rem; }

.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.project-card { position: relative; min-height: 380px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(15,21,33,.9), rgba(8,11,18,.8)); box-shadow: var(--shadow); cursor: pointer; transition: transform .28s ease, border-color .28s ease; }
.project-card:hover { transform: translateY(-7px); border-color: rgba(110,231,255,.38); }
.project-card::before { content: ""; position: absolute; width: 260px; height: 260px; right: -100px; top: -110px; border-radius: 50%; filter: blur(2px); opacity: .13; background: currentColor; }
.project-card.cyan { color: var(--cyan); }.project-card.violet { color: var(--violet); }.project-card.amber { color: var(--amber); }.project-card.rose { color: var(--rose); }
.project-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.project-number { color: currentColor; font-size: .68rem; font-weight: 900; letter-spacing: .16em; }
.project-category { color: var(--muted); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.project-body { position: relative; z-index: 1; color: var(--text); }
.project-body h3 { max-width: 520px; margin: 0 0 10px; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: -.04em; }
.project-org { display: block; margin-bottom: 18px; color: currentColor; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.project-body p { max-width: 620px; margin: 0; color: #aeb9ca; }
.project-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.project-tags span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: #b9c5d6; font-size: .64rem; }
.project-open { position: absolute; right: 24px; bottom: 22px; color: currentColor; font-size: 1.3rem; }


.organox-chapter { margin-top: clamp(76px, 9vw, 122px); --organox-accent: #72dfc5; }
.organox-intro { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(34px, 7vw, 92px); align-items: end; margin-bottom: 42px; }
.organox-kicker { margin: 0 0 11px; color: var(--organox-accent); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.organox-heading h3 { max-width: 690px; margin: 0; font-size: clamp(2.15rem, 4.9vw, 4.65rem); line-height: .98; letter-spacing: -.055em; }
.organox-copy { max-width: 690px; padding: 0 0 5px 28px; border-left: 1px solid rgba(114,223,197,.3); }
.organox-copy p { margin: 0; color: #bbc6d6; font-size: 1rem; }
.organox-copy p + p { margin-top: 17px; }
.organox-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.organox-tags span { padding: 7px 10px; border: 1px solid rgba(114,223,197,.22); border-radius: 999px; color: #a8eedc; background: rgba(114,223,197,.05); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.organox-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "team team team team team team team proto proto proto proto proto"
    "team team team team team team team proto proto proto proto proto"
    "team team team team team team team clinical clinical clinical clinical clinical"
    "team team team team team team team clinical clinical clinical clinical clinical";
  grid-auto-rows: clamp(108px, 9.5vw, 142px);
  gap: 14px;
}
.organox-shot { --shot-accent: var(--organox-accent); }
.organox-team { grid-area: team; }
.organox-prototype { grid-area: proto; }
.organox-clinical { grid-area: clinical; }
.organox-team img { object-position: center 48%; }
.organox-prototype img { object-position: center; }
.clinical-shot.blurred-shot::before { content: "Clinical image · click to view"; position: absolute; z-index: 4; top: 14px; right: 14px; padding: 7px 10px; color: #e8fff9; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(5,12,15,.78); font-size: .58rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(10px); }
.clinical-shot.blurred-shot img, .clinical-shot.blurred-shot:hover img, .clinical-shot.blurred-shot:focus-visible img { filter: blur(13px) saturate(.7) brightness(.72); transform: scale(1.09); }

.spaceflight-chapter { margin-top: clamp(76px, 9vw, 122px); --space-accent: var(--amber); }
.spaceflight-intro { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(34px, 7vw, 92px); align-items: end; margin-bottom: 42px; }
.spaceflight-kicker { margin: 0 0 11px; color: var(--space-accent); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.spaceflight-heading h3 { max-width: 690px; margin: 0; font-size: clamp(2.15rem, 4.9vw, 4.65rem); line-height: .98; letter-spacing: -.055em; }
.spaceflight-copy { max-width: 690px; padding: 0 0 5px 28px; border-left: 1px solid rgba(247,200,115,.3); }
.spaceflight-copy p { margin: 0; color: #bbc6d6; font-size: 1rem; }
.spaceflight-copy p + p { margin-top: 17px; }
.spaceflight-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.spaceflight-tags span { padding: 7px 10px; border: 1px solid rgba(247,200,115,.22); border-radius: 999px; color: #f4d79f; background: rgba(247,200,115,.05); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.space-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "chamber chamber chamber chamber chamber lander lander lander night night night night"
    "chamber chamber chamber chamber chamber lander lander lander night night night night"
    "day day day day day plume plume plume stage stage stage stage"
    "day day day day day plume plume plume stage stage stage stage"
    "engines engines engines engines moon moon moon moon road road road road"
    "engines engines engines engines moon moon moon moon road road road road";
  grid-auto-rows: clamp(106px, 9.5vw, 140px);
  gap: 14px;
}
.space-shot { --shot-accent: var(--amber); }
.space-chamber { grid-area: chamber; }
.space-lander { grid-area: lander; }
.space-night { grid-area: night; }
.space-day { grid-area: day; }
.space-plume { grid-area: plume; }
.space-stage { grid-area: stage; }
.space-engines { grid-area: engines; }
.space-moon { grid-area: moon; }
.space-road { grid-area: road; }
.space-chamber img { object-position: center 48%; }
.space-lander img { object-position: center 46%; }
.space-night img { object-position: center 56%; }
.space-plume img { object-position: center 60%; }
.space-stage img { object-position: center 52%; }
.space-engines img { object-position: center 46%; }
.space-moon img { object-position: center 48%; }
.space-road img { object-position: center 45%; }

.timeline { position: relative; display: grid; gap: 0; margin-left: 22px; border-left: 1px solid var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 32px; padding: 12px 0 48px 42px; }
.timeline-item::before { content: ""; position: absolute; left: -7px; top: 20px; width: 12px; height: 12px; border: 2px solid var(--bg); border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px rgba(110,231,255,.7); }
.timeline-year { color: var(--cyan); font-size: .76rem; font-weight: 800; letter-spacing: .08em; }
.timeline-copy h3 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 2rem); letter-spacing: -.03em; }
.timeline-copy strong { display: block; margin-top: 4px; color: #b8c4d5; }
.timeline-copy p { max-width: 700px; margin: 10px 0 0; color: var(--muted); }

.service-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 38px; align-items: center; }
.service-map { position: relative; aspect-ratio: 1; min-height: 420px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: radial-gradient(circle at 52% 48%, rgba(110,231,255,.09), transparent 42%), linear-gradient(rgba(110,231,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(110,231,255,.025) 1px, transparent 1px); background-size: auto, 32px 32px, 32px 32px; }
.map-ring { position: absolute; border: 1px solid rgba(110,231,255,.18); border-radius: 50%; }
.ring-a { width: 68%; height: 68%; left: 16%; top: 16%; }
.ring-b { width: 38%; height: 38%; left: 31%; top: 31%; border-style: dashed; }
.map-line { position: absolute; left: 50%; top: 50%; height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(110,231,255,.6), transparent); }
.line-a { width: 40%; transform: rotate(-36deg); }.line-b { width: 44%; transform: rotate(135deg); }
.map-node { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(110,231,255,.36); border-radius: 50%; color: var(--cyan); font-size: .61rem; font-weight: 900; letter-spacing: .08em; background: rgba(5,7,13,.78); box-shadow: 0 0 30px rgba(110,231,255,.08); }
.node-ny { left: 52%; top: 38%; }.node-nj { left: 39%; top: 55%; }.node-det { left: 16%; top: 31%; }.node-jor { right: 12%; bottom: 17%; }
.map-label { position: absolute; left: 24px; bottom: 20px; color: var(--muted); font-size: .62rem; letter-spacing: .18em; }
.service-list { display: grid; }
.service-item { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.service-index { color: var(--cyan); font-size: .7rem; font-weight: 800; }
.service-item h3 { margin: 0; font-size: 1.25rem; }
.service-location { display: block; margin-top: 2px; color: var(--violet); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-item p { margin: 9px 0 0; color: var(--muted); }

.exploration { --ice: #9edfff; }
.mountain-intro { display: grid; grid-template-columns: 1.04fr .96fr; gap: clamp(36px, 7vw, 92px); align-items: end; margin-bottom: 54px; }
.mountain-intro .section-heading { margin-bottom: 0; }
.exploration .eyebrow { color: var(--ice); }
.mountain-copy { max-width: 620px; padding: 0 0 6px 28px; border-left: 1px solid rgba(158,223,255,.3); }
.mountain-copy p { margin: 0; color: #b9c7d7; font-size: 1rem; }
.mountain-copy p + p { margin-top: 18px; color: #e4f3fb; font-weight: 700; }
.mountain-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.mountain-tags span { padding: 7px 10px; border: 1px solid rgba(158,223,255,.2); border-radius: 999px; color: #bfeaff; background: rgba(158,223,255,.045); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }

.mountain-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "portrait portrait portrait portrait clouds clouds clouds clouds clouds team team team"
    "portrait portrait portrait portrait clouds clouds clouds clouds clouds team team team"
    "kit kit kit kit traverse traverse traverse traverse whiteout whiteout whiteout whiteout"
    "kit kit kit kit traverse traverse traverse traverse whiteout whiteout whiteout whiteout"
    "forest forest forest snowfield snowfield snowfield waterfall waterfall waterfall cirque cirque cirque"
    "forest forest forest snowfield snowfield snowfield waterfall waterfall waterfall cirque cirque cirque";
  grid-auto-rows: clamp(112px, 10vw, 146px);
  gap: 14px;
}
.mountain-shot { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; padding: 0; color: var(--text); border: 1px solid rgba(158,223,255,.15); border-radius: 18px; background: #0a1118; cursor: zoom-in; box-shadow: 0 20px 60px rgba(0,0,0,.24); text-align: left; }
.mountain-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(4,8,12,.15) 62%, rgba(4,8,12,.93) 100%); transition: background .35s ease; }
.mountain-shot img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.mountain-shot:hover img, .mountain-shot:focus-visible img { transform: scale(1.045); filter: saturate(1.05) contrast(1.03); }
.mountain-shot:hover::after, .mountain-shot:focus-visible::after { background: linear-gradient(180deg, transparent 30%, rgba(4,8,12,.12) 55%, rgba(4,8,12,.96) 100%); }
.mountain-shot:focus-visible { outline: 2px solid var(--ice); outline-offset: 3px; }
.mountain-caption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: grid; gap: 3px; transform: translateY(4px); transition: transform .35s ease; }
.mountain-shot:hover .mountain-caption, .mountain-shot:focus-visible .mountain-caption { transform: none; }
.mountain-caption small { color: #bceaff; font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mountain-caption strong { color: #fff; font-size: clamp(.78rem, 1.15vw, 1rem); line-height: 1.25; letter-spacing: -.01em; text-shadow: 0 2px 18px rgba(0,0,0,.8); }
.mountain-portrait { grid-area: portrait; }
.mountain-clouds { grid-area: clouds; }
.mountain-team { grid-area: team; }
.mountain-kit { grid-area: kit; }
.mountain-traverse { grid-area: traverse; }
.mountain-whiteout { grid-area: whiteout; }
.mountain-forest { grid-area: forest; }
.mountain-snowfield { grid-area: snowfield; }
.mountain-waterfall { grid-area: waterfall; }
.mountain-cirque { grid-area: cirque; }
.mountain-portrait img { object-position: center 38%; }
.mountain-team img { object-position: center 42%; }
.mountain-whiteout img { object-position: center 48%; }
.mountain-waterfall img { object-position: center 58%; }

.interest-chapter { margin-top: clamp(72px, 9vw, 118px); }
.interest-intro { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(34px, 7vw, 92px); align-items: end; margin-bottom: 40px; }
.interest-heading { align-self: end; }
.interest-kicker { margin: 0 0 11px; color: var(--sky-accent, var(--ice)); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.interest-heading h3 { max-width: 640px; margin: 0; font-size: clamp(2rem, 4.8vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.interest-copy { max-width: 670px; padding: 0 0 5px 28px; border-left: 1px solid color-mix(in srgb, var(--sky-accent, var(--ice)) 30%, transparent); }
.interest-copy p { margin: 0; color: #b9c7d7; font-size: 1rem; }
.interest-copy p + p { margin-top: 17px; }
.interest-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.interest-tags span { padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--sky-accent, var(--ice)) 23%, transparent); border-radius: 999px; color: color-mix(in srgb, var(--sky-accent, var(--ice)) 82%, white); background: color-mix(in srgb, var(--sky-accent, var(--ice)) 5%, transparent); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.astronomy-chapter { --sky-accent: #bca8ff; }
.scuba-chapter { --sky-accent: #55d8ff; }

.sky-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "flight flight flight flight flight flight flight ground ground ground ground ground"
    "flight flight flight flight flight flight flight ground ground ground ground ground"
    "horizon horizon horizon horizon stars stars stars stars plume plume plume plume"
    "horizon horizon horizon horizon stars stars stars stars plume plume plume plume"
    "milky1 milky1 milky1 milky2 milky2 milky2 milky3 milky3 milky3 milky4 milky4 milky4"
    "milky1 milky1 milky1 milky2 milky2 milky2 milky3 milky3 milky3 milky4 milky4 milky4"
    "history history history history history history history history history history history history"
    "history history history history history history history history history history history history";
  grid-auto-rows: clamp(100px, 9vw, 132px);
  gap: 14px;
}
.interest-shot { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; padding: 0; color: var(--text); border: 1px solid color-mix(in srgb, var(--shot-accent, var(--ice)) 18%, transparent); border-radius: 18px; background: #070b12; cursor: zoom-in; box-shadow: 0 20px 60px rgba(0,0,0,.25); text-align: left; }
.interest-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(3,6,11,.16) 61%, rgba(3,6,11,.94) 100%); transition: background .35s ease; }
.interest-shot img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.interest-shot:hover img, .interest-shot:focus-visible img { transform: scale(1.045); filter: saturate(1.08) contrast(1.03); }
.interest-shot:hover::after, .interest-shot:focus-visible::after { background: linear-gradient(180deg, transparent 29%, rgba(3,6,11,.12) 54%, rgba(3,6,11,.97) 100%); }
.interest-shot:focus-visible { outline: 2px solid var(--shot-accent, var(--ice)); outline-offset: 3px; }
.astronomy-shot { --shot-accent: #bca8ff; }
.scuba-shot { --shot-accent: #55d8ff; }
.interest-caption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: grid; gap: 3px; transform: translateY(4px); transition: transform .35s ease; }
.interest-shot:hover .interest-caption, .interest-shot:focus-visible .interest-caption { transform: none; }
.interest-caption small { color: color-mix(in srgb, var(--shot-accent, var(--ice)) 78%, white); font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.interest-caption strong { color: #fff; font-size: clamp(.78rem, 1.15vw, 1rem); line-height: 1.25; letter-spacing: -.01em; text-shadow: 0 2px 18px rgba(0,0,0,.82); }
.sky-aurora-flight { grid-area: flight; }
.sky-aurora-ground { grid-area: ground; }
.sky-horizon { grid-area: horizon; }
.sky-stars { grid-area: stars; }
.sky-plume { grid-area: plume; }
.sky-milky-one { grid-area: milky1; }
.sky-milky-two { grid-area: milky2; }
.sky-milky-three { grid-area: milky3; }
.sky-milky-four { grid-area: milky4; }
.sky-history { grid-area: history; }
.sky-aurora-flight img { object-position: center 51%; }
.sky-aurora-ground img { object-position: center 43%; }
.sky-plume img { object-position: center 34%; }
.sky-history img { object-position: center 48%; }

.scuba-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.scuba-shot { aspect-ratio: 4 / 3; }
.scuba-shot img { object-position: center; }


.field-notes { --field-gold: #d8b06b; }
.field-notes-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 7vw, 92px); align-items: end; margin-bottom: 54px; }
.field-notes .section-heading { margin-bottom: 0; }
.field-notes .eyebrow { color: var(--field-gold); }
.field-notes-copy { max-width: 610px; padding: 0 0 6px 28px; border-left: 1px solid rgba(216,176,107,.3); }
.field-notes-copy p { margin: 0; color: #b7c1cf; font-size: 1rem; }
.field-notes-copy p + p { margin-top: 18px; }
.field-notes-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.field-notes-tags span { padding: 7px 10px; border: 1px solid rgba(216,176,107,.2); border-radius: 999px; color: #d9c29b; background: rgba(216,176,107,.045); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }

.travel-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "petra petra petra petra dome dome dome palace palace palace palace palace"
    "petra petra petra petra dome dome dome palace palace palace palace palace"
    "monastery monastery monastery monastery theater theater theater library library library library library"
    "monastery monastery monastery monastery theater theater theater library library library library library"
    "stained stained stained painted painted painted oxford oxford oxford oxford oxford oxford"
    "stained stained stained painted painted painted oxford oxford oxford oxford oxford oxford";
  grid-auto-rows: clamp(100px, 9vw, 132px);
  gap: 14px;
}
.travel-shot { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; padding: 0; color: var(--text); border: 1px solid rgba(216,176,107,.14); border-radius: 18px; background: #11151c; cursor: zoom-in; box-shadow: 0 20px 60px rgba(0,0,0,.22); text-align: left; }
.travel-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(4,6,10,.2) 62%, rgba(4,6,10,.92) 100%); transition: background .35s ease; }
.travel-shot img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.travel-shot:hover img, .travel-shot:focus-visible img { transform: scale(1.045); filter: saturate(1.06) contrast(1.02); }
.travel-shot:hover::after, .travel-shot:focus-visible::after { background: linear-gradient(180deg, transparent 32%, rgba(4,6,10,.15) 56%, rgba(4,6,10,.95) 100%); }
.travel-shot:focus-visible { outline: 2px solid var(--field-gold); outline-offset: 3px; }
.travel-caption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: grid; gap: 3px; transform: translateY(4px); transition: transform .35s ease; }
.travel-shot:hover .travel-caption, .travel-shot:focus-visible .travel-caption { transform: none; }
.travel-caption small { color: #dfc69d; font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.travel-caption strong { color: #fff; font-size: clamp(.78rem, 1.15vw, 1rem); line-height: 1.25; letter-spacing: -.01em; text-shadow: 0 2px 18px rgba(0,0,0,.75); }
.shot-petra { grid-area: petra; }
.shot-dome { grid-area: dome; }
.shot-kaaba { grid-area: kaaba; }
.shot-mosque { grid-area: mosque; }
.shot-palace { grid-area: palace; }
.shot-monastery { grid-area: monastery; }
.shot-theater { grid-area: theater; }
.shot-library { grid-area: library; }
.shot-stained { grid-area: stained; }
.shot-painted { grid-area: painted; }
.shot-oxford { grid-area: oxford; }
.shot-jerusalem { grid-area: jerusalem; }
.shot-rock { grid-area: rock; }
.shot-petra img { object-position: center 44%; }
.shot-kaaba img { object-position: center 52%; }
.shot-monastery img { object-position: center 48%; }
.shot-theater img { object-position: center 34%; }
.shot-library img { object-position: center 54%; }
.shot-rock img { object-position: center 48%; }

.gallery-dialog { width: min(calc(100% - 28px), 1120px); max-height: calc(100svh - 36px); padding: 0; overflow: hidden; color: var(--text); border: 1px solid var(--dialog-accent, rgba(216,176,107,.32)); border-radius: 24px; background: #080b10; box-shadow: 0 45px 160px rgba(0,0,0,.82); }
.gallery-dialog::backdrop { background: rgba(1,3,7,.88); backdrop-filter: blur(12px); }
.gallery-dialog img { display: block; width: 100%; max-height: calc(100svh - 150px); object-fit: contain; background: #030407; }
.gallery-dialog-copy { padding: 18px 24px 22px; }
.gallery-dialog-copy .eyebrow { margin-bottom: 4px; color: var(--dialog-accent, var(--field-gold)); }
.gallery-dialog-copy h3 { margin: 0; font-size: clamp(1.1rem, 2vw, 1.5rem); letter-spacing: -.025em; }
.gallery-close { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; place-items: center; width: 42px; height: 42px; color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(5,7,13,.72); backdrop-filter: blur(12px); cursor: pointer; }


.coverage-strip { margin: 34px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); }
.coverage-label { margin-right: 8px; color: #8491a6; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.coverage-mark { padding: 8px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(5,7,13,.58); font-size: .72rem; font-weight: 800; letter-spacing: .02em; transition: transform .2s ease, border-color .2s ease; }
.coverage-mark:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.32); }
.nasa-mark { color: #9edfff; letter-spacing: .14em; }
.nyt-mark { font-family: Georgia, serif; color: #f6f3ed; }
.ft-mark { color: #f2d0bb; background: rgba(255,247,239,.04); }
.aad-mark { color: #cfc2ff; letter-spacing: .12em; }
.context-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.context-links > span { width: 100%; color: #7f8ca0; font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.context-links a, .story-link { padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #dce6f3; background: rgba(255,255,255,.035); font-size: .67rem; transition: border-color .2s ease, transform .2s ease; }
.context-links a:hover, .story-link:hover { transform: translateY(-1px); border-color: rgba(110,231,255,.38); }

.solar-chapter { margin-top: clamp(76px, 9vw, 122px); --solar-accent: var(--rose); }
.solar-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(34px, 7vw, 92px); align-items: start; margin-bottom: 38px; }
.solar-kicker, .service-story-kicker { margin: 0 0 12px; color: var(--solar-accent); font-size: .65rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.solar-heading h3, .service-story-copy h3 { margin: 0; font-size: clamp(2rem, 4.5vw, 4.4rem); line-height: .98; letter-spacing: -.05em; }
.solar-copy { padding-left: 28px; border-left: 1px solid rgba(255,140,161,.25); color: #b7c1cf; }
.solar-copy p { margin: 0; }
.solar-copy p + p { margin-top: 17px; }
.solar-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.solar-tags span { padding: 7px 10px; border: 1px solid rgba(255,140,161,.2); border-radius: 999px; color: #ffb8c5; background: rgba(255,140,161,.045); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.solar-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.solar-shot { --shot-accent: var(--rose); min-height: clamp(360px,46vw,620px); background: #f4f1ec; }
.solar-shot img { object-fit: contain; padding: 20px; }
.solar-shot::after { background: linear-gradient(180deg, transparent 60%, rgba(15,8,12,.88) 100%); }

.service-stories { margin-top: clamp(80px,10vw,140px); display: grid; gap: clamp(90px,11vw,150px); }
.service-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px,6vw,78px); align-items: start; }
.service-story:nth-child(even) .service-story-copy { order: 2; }
.service-story:nth-child(even) .service-gallery { order: 1; }
.service-story-copy { position: sticky; top: 112px; }
.service-story-kicker { color: #62f7a6; }
.service-story-copy h3 { font-size: clamp(2rem,4vw,3.8rem); }
.service-story-copy p:not(.service-story-kicker) { color: #aeb9c9; }
.story-link { display: inline-flex; margin-top: 14px; }
.service-gallery { display: grid; gap: 12px; }
.cocina-gallery { grid-template-columns: 1.2fr .8fr; }
.outreach-gallery, .jerash-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
.outreach-gallery .service-shot:first-child, .jerash-gallery .service-shot:first-child { grid-row: span 2; }
.service-shot { --shot-accent: #62f7a6; min-height: 260px; }
.cocina-gallery .service-shot:first-child { min-height: 360px; }
.cocina-gallery .service-shot:last-child { min-height: 520px; }
.service-shot img { object-position: center; }
.jerash-shot img { object-position: center 42%; }
.service-item h3 a:hover { color: #d8fff0; }

.dialog-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.dialog-links > span { width: 100%; color: #7f8ca0; font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dialog-links a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: #dce7f5; font-size: .68rem; }
.dialog-links a:hover { border-color: rgba(110,231,255,.45); }

.contact-shell { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; padding: clamp(34px, 6vw, 76px); border: 1px solid rgba(110,231,255,.22); border-radius: 32px; background: linear-gradient(135deg, rgba(18,31,48,.9), rgba(15,13,28,.82)); box-shadow: var(--shadow); }
.contact-shell::after { content: ""; position: absolute; right: -140px; bottom: -180px; width: 420px; height: 420px; border: 1px solid rgba(110,231,255,.14); border-radius: 50%; box-shadow: 0 0 0 55px rgba(110,231,255,.02), 0 0 0 110px rgba(167,139,250,.018); }
.contact-actions { position: relative; z-index: 1; display: grid; gap: 10px; align-content: center; }
.contact-link { display: flex; justify-content: space-between; align-items: center; min-height: 60px; padding: 0 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(5,7,13,.42); transition: border-color .2s ease, transform .2s ease; }
.contact-link:hover:not(.disabled) { transform: translateX(4px); border-color: rgba(110,231,255,.45); }
.contact-link small { color: var(--muted); }
.contact-link.disabled { opacity: .62; cursor: not-allowed; }
.contact-note { position: absolute; left: clamp(34px, 6vw, 76px); bottom: 18px; margin: 0; color: #7f8ca0; font-size: .68rem; }

.site-footer { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; padding: 28px 0 44px; display: flex; justify-content: space-between; gap: 24px; color: #77859a; font-size: .72rem; border-top: 1px solid var(--line); }
.site-footer a { color: #b7c4d7; }

.project-dialog { width: min(calc(100% - 32px), 720px); padding: 36px; color: var(--text); border: 1px solid rgba(110,231,255,.28); border-radius: 24px; background: #0a0f18; box-shadow: 0 40px 140px rgba(0,0,0,.72); }
.project-dialog::backdrop { background: rgba(1,3,7,.78); backdrop-filter: blur(8px); }
.project-dialog h2 { margin: 0; font-size: clamp(2rem, 5vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.project-dialog > p:not(.eyebrow) { color: #b9c4d4; font-size: 1.05rem; }
.dialog-detail { padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); }
.dialog-close { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; color: var(--text); border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.04); cursor: pointer; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes pulse { 50% { opacity: .4; box-shadow: 0 0 5px #62f7a6; } }


/* Profile, evidence, and case-study enhancements */
.metrics-label {
  margin: 46px 0 12px;
  color: #8290a5;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
}
.hero-metrics strong::after,
.hero-metrics article:first-child strong::after {
  content: none;
}
.hero-metrics article {
  min-width: 0;
}
.profile-stage {
  position: relative;
  min-height: 650px;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 570px;
  margin-inline: auto;
  isolation: isolate;
}
.profile-stage::before {
  content: "";
  position: absolute;
  inset: 4%;
  z-index: -3;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(110,231,255,.12), rgba(10,15,26,.05) 48%, transparent 70%);
  filter: blur(4px);
}
.profile-orbit {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(177,205,255,.17);
  border-radius: 50%;
  pointer-events: none;
}
.profile-orbit::after {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 20px currentColor;
}
.profile-orbit-one {
  width: 84%;
  aspect-ratio: 1;
  color: var(--cyan);
  transform: rotate(-17deg) scaleY(.78);
}
.profile-orbit-two {
  width: 102%;
  aspect-ratio: 1;
  color: var(--violet);
  transform: rotate(36deg) scaleY(.68);
  border-style: dashed;
}
.profile-card {
  position: relative;
  z-index: 2;
  width: min(76%, 430px);
  aspect-ratio: 18 / 25;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(179,216,255,.28);
  border-radius: 30px;
  background: #0b111c;
  box-shadow: 0 42px 110px rgba(0,0,0,.5), 0 0 60px rgba(110,231,255,.08);
}
.profile-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 45%, rgba(4,7,12,.2) 62%, rgba(4,7,12,.96) 100%),
    linear-gradient(90deg, rgba(110,231,255,.08), transparent 18%, transparent 82%, rgba(167,139,250,.08));
}
.profile-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 33%;
  filter: contrast(1.02) saturate(.95);
}
.profile-card figcaption {
  position: absolute;
  z-index: 3;
  left: 24px;
  right: 24px;
  bottom: 22px;
  display: grid;
  gap: 3px;
}
.profile-card figcaption p {
  margin: 0 0 3px;
  color: #fff;
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -.035em;
}
.profile-card figcaption strong {
  color: #c6f6ff;
  font-size: .77rem;
  letter-spacing: .025em;
}
.profile-card figcaption span {
  color: #c3ccda;
  font-size: .68rem;
}
.profile-hud {
  position: absolute;
  z-index: 4;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-left: 2px solid var(--cyan);
  background: rgba(5,7,13,.74);
  backdrop-filter: blur(10px);
}
.profile-hud span {
  color: var(--muted);
  font-size: .52rem;
  letter-spacing: .18em;
}
.profile-hud strong {
  font-size: .64rem;
  letter-spacing: .08em;
}
.profile-hud-top { top: 11%; right: 0; }
.profile-hud-bottom { bottom: 0; left: 0; transform: translateY(46%); border-left-color: var(--violet); }

.project-card.blue { color: #82bfff; }
.project-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 330px;
}
.coverage-strip {
  display: grid;
  grid-template-columns: auto repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.coverage-label {
  align-self: center;
  max-width: 120px;
}
.coverage-mark {
  min-width: 0;
  height: 72px;
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  background: rgba(5,7,13,.58);
}
.coverage-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.lunar-filtration-feature {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  margin-top: 34px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid rgba(130,191,255,.2);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(12,21,35,.86), rgba(7,11,18,.76));
  box-shadow: var(--shadow);
}
.lunar-video {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: #03060b;
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.lunar-video-link {
  display: block;
  color: #fff;
  text-decoration: none;
  isolation: isolate;
}
.lunar-video-poster {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 68% 35%, rgba(104,181,255,.26), transparent 24%),
    radial-gradient(circle at 30% 70%, rgba(159,115,255,.18), transparent 28%),
    linear-gradient(145deg, #07111f, #02050b 72%);
  overflow: hidden;
  transition: transform .45s ease, filter .45s ease;
}
.lunar-video-poster > img {
  position: relative;
  z-index: 1;
  width: min(34%, 150px);
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.5));
}
.lunar-dust-field,
.lunar-dust-field::before,
.lunar-dust-field::after {
  position: absolute;
  inset: 0;
  content: "";
  background-image:
    radial-gradient(circle, rgba(255,255,255,.75) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(126,201,255,.55) 0 1px, transparent 1.6px);
  background-size: 37px 43px, 59px 53px;
  background-position: 0 0, 16px 9px;
  opacity: .22;
}
.lunar-dust-field::before { transform: rotate(12deg) scale(1.25); opacity: .16; }
.lunar-dust-field::after { transform: rotate(-9deg) scale(.9); opacity: .12; }
.lunar-video-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(2,5,10,.18), rgba(2,5,10,.82));
}
.lunar-video-brand {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d7e8ff;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lunar-video-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.4));
}
.lunar-video-cta {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 12px;
  align-items: center;
}
.lunar-play {
  grid-row: 1 / span 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  background: rgba(5,10,18,.72);
  backdrop-filter: blur(10px);
  font-size: 1rem;
  padding-left: 3px;
}
.lunar-video-cta strong { font-size: 1rem; }
.lunar-video-cta small { color: #b7c7dc; font-size: .72rem; }
.lunar-video-link:hover .lunar-video-poster,
.lunar-video-link:focus-visible .lunar-video-poster {
  transform: scale(1.035);
  filter: brightness(1.08);
}
.lunar-video-link:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
}
.lunar-feature-copy h4 {
  margin: 0 0 18px;
  font-size: clamp(1.8rem, 3.2vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.lunar-feature-copy > p:not(.spaceflight-kicker) {
  margin: 0;
  color: #b8c4d4;
}
.lunar-feature-copy > p + p {
  margin-top: 15px;
}
.project-dialog {
  width: min(calc(100% - 32px), 920px);
  max-height: calc(100svh - 40px);
  overflow: auto;
}
.dialog-case-study {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.dialog-case-study article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
}
.dialog-case-study article:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.dialog-case-study span {
  display: block;
  margin-bottom: 7px;
  color: var(--cyan);
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.dialog-case-study p {
  margin: 0;
  color: #b5c0d0;
  font-size: .88rem;
  line-height: 1.55;
}
.dialog-video {
  overflow: hidden;
  margin-top: 18px;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #03060b;
}
.dialog-video-link {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}
.dialog-video-link > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  padding: clamp(40px, 10vw, 90px);
  background:
    radial-gradient(circle at 65% 32%, rgba(104,181,255,.23), transparent 26%),
    linear-gradient(145deg, #07111f, #02050b 72%);
  transition: transform .4s ease, filter .4s ease;
}
.dialog-video-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,6,11,.15), rgba(3,6,11,.82));
}
.dialog-video-cta {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 2px 10px;
  align-items: center;
}
.dialog-video-cta > span {
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(5,10,18,.78);
  border: 1px solid rgba(255,255,255,.25);
  padding-left: 2px;
}
.dialog-video-cta strong { font-size: .9rem; }
.dialog-video-cta small { color: #bcc9da; font-size: .7rem; }
.dialog-video-link:hover > img,
.dialog-video-link:focus-visible > img { transform: scale(1.04); filter: brightness(1.08); }
.dialog-video-link:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
.contact-objective {
  max-width: 700px;
  margin: 24px 0 0;
  color: #b8c4d5;
  font-size: 1rem;
}
.contact-actions .contact-link {
  min-height: 78px;
}

@media (max-width: 980px) {
  .hero, .mission-grid, .service-layout, .contact-shell, .field-notes-intro, .mountain-intro, .interest-intro, .organox-intro, .spaceflight-intro, .solar-intro, .service-story { grid-template-columns: 1fr; }
  .service-story-copy { position: static; }
  .service-story:nth-child(even) .service-story-copy, .service-story:nth-child(even) .service-gallery { order: initial; }
  .hero { padding-top: 140px; }
  .orbit-stage { max-width: 520px; }
  .project-grid { grid-template-columns: 1fr; }
  .organox-copy, .spaceflight-copy { max-width: 760px; }
  .organox-gallery { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-areas: "team team team team team team" "team team team team team team" "proto proto proto clinical clinical clinical" "proto proto proto clinical clinical clinical"; grid-auto-rows: clamp(96px, 15vw, 132px); }
  .space-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas:
      "chamber chamber chamber lander lander lander"
      "chamber chamber chamber lander lander lander"
      "night night night day day day"
      "night night night day day day"
      "plume plume plume stage stage stage"
      "plume plume plume stage stage stage"
      "engines engines engines moon moon moon"
      "engines engines engines moon moon moon"
      "road road road road road road"
      "road road road road road road";
    grid-auto-rows: clamp(96px, 15vw, 132px);
  }
  .mountain-copy { max-width: 760px; }
  .mountain-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas:
      "portrait portrait portrait clouds clouds clouds"
      "portrait portrait portrait clouds clouds clouds"
      "portrait portrait portrait team team team"
      "portrait portrait portrait team team team"
      "kit kit kit traverse traverse traverse"
      "kit kit kit traverse traverse traverse"
      "whiteout whiteout whiteout forest forest forest"
      "whiteout whiteout whiteout forest forest forest"
      "snowfield snowfield snowfield waterfall waterfall waterfall"
      "snowfield snowfield snowfield waterfall waterfall waterfall"
      "cirque cirque cirque cirque cirque cirque"
      "cirque cirque cirque cirque cirque cirque";
    grid-auto-rows: clamp(96px, 15vw, 132px);
  }
  .interest-copy { max-width: 760px; }
  .sky-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas:
      "flight flight flight ground ground ground"
      "flight flight flight ground ground ground"
      "flight flight flight horizon horizon horizon"
      "flight flight flight horizon horizon horizon"
      "stars stars stars plume plume plume"
      "stars stars stars plume plume plume"
      "milky1 milky1 milky1 milky2 milky2 milky2"
      "milky1 milky1 milky1 milky2 milky2 milky2"
      "milky3 milky3 milky3 milky4 milky4 milky4"
      "milky3 milky3 milky3 milky4 milky4 milky4"
      "history history history history history history"
      "history history history history history history";
    grid-auto-rows: clamp(96px, 15vw, 132px);
  }
  .scuba-gallery { grid-template-columns: 1fr 1fr; }
  .scuba-shot:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 8.5; }
  .field-notes-copy { max-width: 760px; }
  .travel-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas:
      "petra petra petra dome dome dome"
      "petra petra petra dome dome dome"
      "palace palace palace palace palace palace"
      "palace palace palace palace palace palace"
      "monastery monastery monastery theater theater theater"
      "monastery monastery monastery theater theater theater"
      "library library library stained stained stained"
      "library library library stained stained stained"
      "painted painted painted oxford oxford oxford"
      "painted painted painted oxford oxford oxford";
    grid-auto-rows: clamp(96px, 15vw, 132px);
  }
  .contact-note { position: static; grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .coverage-strip { align-items: stretch; }
  .coverage-label { width: 100%; }
  .coverage-mark { flex: 1 1 46%; text-align: center; }
  .solar-gallery, .cocina-gallery, .outreach-gallery, .jerash-gallery { grid-template-columns: 1fr; }
  .solar-shot, .service-shot, .cocina-gallery .service-shot:first-child, .cocina-gallery .service-shot:last-child { min-height: 340px; }
  .outreach-gallery .service-shot:first-child, .jerash-gallery .service-shot:first-child { grid-row: auto; }

  .section { width: min(calc(100% - 28px), var(--max)); padding: 82px 0; }
  .site-header { top: 10px; width: calc(100% - 20px); }
  .nav-toggle { display: block; }
  .site-nav { position: absolute; top: calc(100% + 8px); left: 0; right: 0; display: none; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(5,7,13,.96); }
  .site-nav.open { display: grid; }
  .site-nav a { padding: 12px 14px; }
  .hero { min-height: auto; gap: 24px; }
  .hero h1 { font-size: clamp(2.85rem, 14vw, 5rem); }
  .hero-metrics { grid-template-columns: 1fr; }
  .hero-metrics article { min-height: 82px; }
  .orbit-stage { margin-top: 38px; }
  .hud-top { right: 0; }.hud-bottom { left: 0; }
  .mission-statement, .mission-panel, .project-card { padding: 24px; }
  .project-card { min-height: 420px; }
  .organox-copy, .spaceflight-copy, .solar-copy { padding-left: 18px; }
  .organox-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: none; grid-auto-rows: 240px; gap: 10px; }
  .organox-shot { grid-area: auto; border-radius: 14px; }
  .organox-team { grid-column: 1 / -1; grid-row: span 2; }
  .space-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: none; grid-auto-rows: 240px; gap: 10px; }
  .space-shot { grid-area: auto; border-radius: 14px; }
  .space-chamber, .space-night, .space-day, .space-road { grid-column: 1 / -1; }
  .space-chamber { grid-row: span 2; }
  .timeline-item { grid-template-columns: 1fr; gap: 6px; padding-left: 30px; }
  .mountain-copy { padding-left: 18px; }
  .interest-copy { padding-left: 18px; }
  .sky-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: none; grid-auto-rows: 240px; gap: 10px; }
  .interest-shot { grid-area: auto; border-radius: 14px; }
  .sky-aurora-flight, .sky-aurora-ground, .sky-history { grid-column: 1 / -1; }
  .sky-aurora-ground { grid-row: span 2; }
  .interest-caption { left: 14px; right: 14px; bottom: 13px; }
  .scuba-gallery { grid-template-columns: 1fr; gap: 10px; }
  .scuba-shot, .scuba-shot:first-child { grid-column: auto; aspect-ratio: 4 / 3; border-radius: 14px; }
  .mountain-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: none; grid-auto-rows: 240px; gap: 10px; }
  .mountain-shot { grid-area: auto; border-radius: 14px; }
  .mountain-portrait, .mountain-clouds, .mountain-traverse, .mountain-cirque { grid-column: 1 / -1; }
  .mountain-portrait { grid-row: span 2; }
  .mountain-caption { left: 14px; right: 14px; bottom: 13px; }
  .field-notes-copy { padding-left: 18px; }
  .travel-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: none; grid-auto-rows: 240px; gap: 10px; }
  .travel-shot { grid-area: auto; border-radius: 14px; }
  .shot-petra, .shot-monastery, .shot-jerusalem, .shot-rock { grid-column: 1 / -1; }
  .shot-petra { grid-row: span 2; }
  .travel-caption { left: 14px; right: 14px; bottom: 13px; }
  .service-map { min-height: 340px; }
  .site-footer { width: calc(100% - 28px); flex-direction: column; gap: 8px; }
  .project-dialog { padding: 28px 22px; }
}

@media (max-width: 480px) {
  .organox-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .organox-team { grid-column: auto; grid-row: span 2; }
  .space-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .space-chamber, .space-night, .space-day, .space-road { grid-column: auto; }
  .space-chamber { grid-row: span 2; }
  .mountain-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .sky-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .sky-aurora-flight, .sky-aurora-ground, .sky-history { grid-column: auto; }
  .sky-aurora-ground { grid-row: span 2; }
  .mountain-portrait, .mountain-clouds, .mountain-traverse, .mountain-cirque { grid-column: auto; }
  .mountain-portrait { grid-row: span 2; }
  .travel-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .shot-petra, .shot-monastery, .shot-jerusalem, .shot-rock { grid-column: auto; }
  .shot-petra { grid-row: span 2; }
}


@media (max-width: 980px) {
  .profile-stage { min-height: 610px; max-width: 560px; }
  .lunar-filtration-feature { grid-template-columns: 1fr; }
  .coverage-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-label { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 720px) {
  .profile-stage { min-height: 540px; margin-top: 20px; }
  .profile-card { width: min(78%, 390px); border-radius: 24px; }
  .profile-card figcaption { left: 18px; right: 18px; bottom: 18px; }
  .profile-hud-top { right: 2px; }
  .profile-hud-bottom { left: 2px; transform: translateY(38%); }
  .project-card:last-child:nth-child(odd) { grid-column: auto; min-height: 420px; }
  .dialog-case-study { grid-template-columns: 1fr; }
  .dialog-case-study article:last-child:nth-child(odd) { grid-column: auto; }
}
@media (max-width: 480px) {
  .coverage-strip { grid-template-columns: 1fr; }
  .coverage-label { grid-column: auto; }
  .coverage-mark { height: 68px; }
  .profile-stage { min-height: 500px; }
  .profile-card { width: 82%; }
  .profile-hud { padding: 8px 9px; }
  .profile-hud strong { font-size: .56rem; }
}

@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; }
  .cursor-glow { display: none; }
}


/* Added clinical exposure chapter and rocket slider */
.clinical-exposure {
  margin: 40px 0 56px;
  display: grid;
  gap: 22px;
}
.clinical-exposure-intro {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: end;
}
.clinical-exposure-intro p:last-child {
  margin: 0;
  color: #b8c4d4;
  line-height: 1.7;
  max-width: 760px;
}
.clinical-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}
.clinical-card {
  grid-column: span 4;
  border: 1px solid rgba(115, 145, 190, .18);
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(13,17,25,.96), rgba(10,12,18,.98));
  box-shadow: 0 26px 80px rgba(0,0,0,.25);
}
.clinical-card-featured { grid-column: 1 / -1; }
.clinical-card .gallery-shot {
  min-height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.clinical-card .gallery-shot::after { background: linear-gradient(180deg, transparent 42%, rgba(4,6,10,.18) 66%, rgba(4,6,10,.88) 100%); }
.clinical-card .gallery-shot img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.clinical-shot { aspect-ratio: 4 / 3; }
.clinical-media { display: grid; grid-template-columns: 1fr; gap: 0; }
.clinical-media-dual { grid-template-columns: 1fr 1fr; }
.clinical-media-dual .clinical-shot { aspect-ratio: 16 / 10; }
.clinical-card-copy {
  padding: 20px 22px 22px;
}
.clinical-kicker {
  margin: 0 0 8px;
  color: #8ce7ff;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.clinical-card-copy h4 {
  margin: 0;
  color: #fff;
  font-size: 1.12rem;
  letter-spacing: -.02em;
}
.clinical-card-copy p {
  margin: 12px 0 0;
  color: #b7c1cf;
  line-height: 1.68;
}
.nbic-gallery { grid-template-columns: minmax(0, 1fr); }
.nbic-gallery .gallery-shot { aspect-ratio: 16 / 9; }

.page-flight {
  position: fixed;
  z-index: 20;
  top: 104px;
  right: clamp(8px, 1.6vw, 22px);
  bottom: 18px;
  width: 170px;
  pointer-events: none;
  --flight-y: 0px;
}
.page-flight-copy {
  position: absolute;
  top: -26px;
  right: 0;
  width: 150px;
  padding: 12px 13px 12px 14px;
  border: 1px solid rgba(110,231,255,.14);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(8,12,20,.92), rgba(8,11,18,.82));
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
  backdrop-filter: blur(12px);
}
.page-flight-copy::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 22px;
  width: 10px;
  height: 10px;
  border-top: 1px solid rgba(110,231,255,.16);
  border-right: 1px solid rgba(110,231,255,.16);
  background: rgba(8,12,20,.9);
  transform: rotate(45deg);
}
.page-flight-copy span,
.page-flight-copy strong { display: block; }
.page-flight-copy span {
  color: var(--cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.page-flight-copy strong {
  margin-top: 3px;
  color: var(--text);
  font-size: .76rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.page-flight-copy p {
  margin: 8px 0 0;
  color: #b6c3d6;
  font-size: .67rem;
  line-height: 1.45;
}
.page-flight-rail {
  position: absolute;
  top: 132px;
  bottom: 0;
  right: 8px;
  width: 116px;
}
.page-flight-track,
.page-flight-fill {
  position: absolute;
  top: 16px;
  bottom: 24px;
  left: 24px;
  width: 1px;
  transform: translateX(-50%);
  border-radius: 999px;
}
.page-flight-track {
  background: linear-gradient(to top, rgba(110,231,255,.11), rgba(167,139,250,.24), rgba(247,200,115,.11));
}
.page-flight-fill {
  top: auto;
  height: 0;
  background: linear-gradient(to top, var(--cyan), var(--violet));
  box-shadow: 0 0 11px rgba(110,231,255,.35);
  transition: height .08s linear;
}
.page-flight-waypoints {
  position: absolute;
  inset: 16px 0 24px;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
}
.flight-stop {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #8fa1b7;
  transition: color .25s ease, transform .25s ease;
}
.flight-stop span {
  width: 8px;
  height: 8px;
  border: 1px solid rgba(190,211,240,.32);
  border-radius: 50%;
  background: #080c14;
  box-shadow: 0 0 0 4px rgba(8,12,20,.62);
  transition: width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.flight-stop small {
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .76;
}
.flight-stop.reached span {
  border-color: var(--cyan);
  background: var(--cyan);
  box-shadow: 0 0 12px rgba(110,231,255,.72), 0 0 0 4px rgba(8,12,20,.72);
}
.flight-stop.active { color: #fff; transform: translateX(-2px); }
.flight-stop.active span {
  width: 11px;
  height: 11px;
  border-color: #fff;
  background: var(--violet);
  box-shadow: 0 0 17px rgba(167,139,250,.82), 0 0 0 5px rgba(8,12,20,.82);
}
.flight-stop.active small { opacity: 1; }
.page-rocket {
  position: absolute;
  z-index: 3;
  left: 24px;
  bottom: 0;
  width: 46px;
  height: 80px;
  transform: translate3d(-50%, calc(-100% + 4px - var(--flight-y, 0px)), 0) rotate(var(--flight-tilt, 0deg));
  transform-origin: 50% 46%;
  will-change: transform;
  filter: drop-shadow(0 9px 13px rgba(0,0,0,.45));
}
.page-rocket svg { display: block; width: 100%; height: 100%; overflow: visible; }
.page-rocket-body { fill: url(#pageRocketBody); stroke: rgba(255,255,255,.52); stroke-width: 1; }
.page-rocket-fin { fill: #7c91aa; stroke: rgba(255,255,255,.28); stroke-width: 1; }
.page-rocket-window { fill: var(--cyan); stroke: #e5fbff; stroke-width: 1.6; }
.page-rocket-band { fill: #172338; opacity: .9; }
.page-rocket-aura {
  position: absolute;
  z-index: -1;
  inset: 16px 2px 1px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(110,231,255,.22), transparent 68%);
  filter: blur(7px);
  opacity: var(--flight-aura-opacity, .24);
}
.page-flight-smoke {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 58px;
  height: 48px;
  transform: translateX(-50%) scale(var(--flight-smoke-scale, 1));
  transform-origin: center bottom;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 62%, rgba(220,231,242,.38), transparent 38%),
    radial-gradient(circle at 68% 72%, rgba(151,170,194,.32), transparent 41%),
    radial-gradient(circle at 48% 38%, rgba(255,255,255,.24), transparent 43%);
  filter: blur(5px);
  opacity: var(--flight-smoke-opacity, .72);
}
.page-rocket-flame-glow {
  fill: url(#pageRocketFlameGlow);
  opacity: .96;
  filter: blur(6px) drop-shadow(0 0 12px rgba(110,231,255,.55));
  transform-origin: 38px 98px;
  transform: scaleY(calc(var(--flight-flame-scale, .72) * 1.42));
}
.page-rocket-flame {
  fill: url(#pageRocketFlame);
  filter: drop-shadow(0 0 14px rgba(110,231,255,.52));
  transform-origin: 38px 98px;
  transform: scaleY(calc(var(--flight-flame-scale, .72) * 1.16));
}
.page-rocket-flame-core {
  fill: #fff;
  opacity: var(--flight-core-opacity, .55);
  filter: drop-shadow(0 0 14px rgba(255,255,255,.82));
  transform-origin: 38px 98px;
  transform: scaleY(calc(var(--flight-core-scale, .8) * 1.14));
}

@media (max-width: 1180px) {
  .clinical-exposure-intro { grid-template-columns: 1fr; }
  .clinical-card { grid-column: span 6; }
  .clinical-card-featured { grid-column: 1 / -1; }
  .page-flight { right: 4px; width: 52px; opacity: .72; }
  .page-flight-copy { display: none; }
  .page-flight-rail { top: 10px; width: 48px; right: 0; }
  .page-flight-track, .page-flight-fill, .page-rocket { left: 24px; }
  .flight-stop { justify-content: center; }
  .flight-stop small { display: none; }
}
@media (max-width: 820px) {
  .clinical-grid { grid-template-columns: 1fr; }
  .clinical-card, .clinical-card-featured { grid-column: 1 / -1; }
  .clinical-media-dual { grid-template-columns: 1fr; }
  .page-flight { display: none; }
}


/* Medicine-first narrative rebuild */
body { scroll-padding-top: 120px; }
.site-header { width: min(calc(100% - 32px), 1380px); }
.site-nav a { padding-inline: 10px; font-size: .76rem; }
.hero { grid-template-columns: 1.04fr .96fr; }
.hero h1 { font-size: clamp(3.35rem, 6.2vw, 6.75rem); }
.hero h1 span { display: inline; }
.hero-lede { max-width: 760px; }
.profile-card figcaption strong { color: var(--cyan); }

.medicine-narrative .mission-statement p,
.final-synthesis .mission-statement p,
.engineering-principles .mission-statement p {
  font-size: clamp(1.12rem, 2vw, 1.72rem);
}
.mission-panel li { padding-block: 20px; }
.clinical-first .organox-chapter { margin-top: 0; }
.clinical-first .section-heading { margin-bottom: 68px; }
.clinical-first .clinical-exposure { margin-top: clamp(88px, 10vw, 150px); }

.community-low-emphasis {
  opacity: .84;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.community-low-emphasis .service-story-copy h3 {
  font-size: clamp(1.7rem, 3vw, 2.8rem);
}
.community-low-emphasis .service-gallery {
  max-width: 760px;
}

.engineering-preparation .spaceflight-chapter { margin-top: clamp(88px, 10vw, 150px); }
.medicine-first-space {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: none;
  grid-auto-rows: auto;
}
.medicine-first-space .gallery-shot {
  min-height: clamp(300px, 34vw, 470px);
}
.journey-inline { margin-top: clamp(90px, 10vw, 145px); }
.compact-heading { margin-bottom: 38px; }
.compact-heading h3 {
  margin: 0;
  max-width: 880px;
  font-size: clamp(2.2rem, 4.4vw, 4.8rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}

.innovation-section .project-grid { margin-top: 10px; }
.innovation-section .coverage-strip { margin-top: 34px; }
.solar-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.solar-prototype { grid-column: 1 / -1; min-height: clamp(360px, 48vw, 650px); }
.solar-prototype img { object-fit: cover; padding: 0; }

.personal-section { padding-top: 120px; }
.personal-chapter {
  margin-top: clamp(76px, 9vw, 130px);
  padding-top: clamp(66px, 8vw, 110px);
  border-top: 1px solid var(--line);
}
.personal-chapter:first-of-type { margin-top: 20px; }
.personal-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
}
.personal-gallery .gallery-shot {
  min-height: clamp(260px, 31vw, 430px);
}
.mountain-personal-gallery .gallery-shot,
.astronomy-personal-gallery .gallery-shot {
  grid-column: span 6;
}
.scuba-personal-gallery .gallery-shot { grid-column: span 6; }
.architecture-intro {
  margin-top: clamp(96px, 11vw, 155px);
  padding-top: clamp(72px, 8vw, 110px);
  border-top: 1px solid var(--line);
}
.architecture-gallery .gallery-shot { grid-column: span 4; }
.architecture-gallery .gallery-shot:nth-child(1),
.architecture-gallery .gallery-shot:nth-child(2) { grid-column: span 6; }

.why-now-section {
  position: relative;
}
.why-now-section::before {
  content: "";
  position: absolute;
  inset: 8% -10% 4%;
  z-index: -1;
  background: radial-gradient(circle at 50% 45%, rgba(110,231,255,.07), transparent 62%);
  pointer-events: none;
}
.final-synthesis .mission-statement {
  border-color: rgba(110,231,255,.24);
}
.contact-shell { align-items: center; }

.page-flight {
  top: 90px;
  bottom: 34px;
}
.page-flight-copy {
  top: -10px;
}
.page-flight-rail {
  top: 150px;
  bottom: 4px;
}
.flight-stop small { font-size: .56rem; }
.page-flight-waypoints { inset: 16px 0 32px; }

@media (max-width: 1260px) {
  .site-nav a { padding-inline: 8px; font-size: .7rem; }
}
@media (max-width: 1080px) {
  .site-header { width: min(calc(100% - 24px), 980px); }
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(5,7,13,.96);
  }
  .site-nav.open { display: grid; }
  .site-nav a { padding: 12px 14px; font-size: .82rem; }
}
@media (max-width: 900px) {
  .medicine-first-space { grid-template-columns: 1fr; }
  .mountain-personal-gallery .gallery-shot,
  .astronomy-personal-gallery .gallery-shot,
  .scuba-personal-gallery .gallery-shot,
  .architecture-gallery .gallery-shot,
  .architecture-gallery .gallery-shot:nth-child(1),
  .architecture-gallery .gallery-shot:nth-child(2) {
    grid-column: 1 / -1;
  }
  .personal-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .solar-gallery { grid-template-columns: 1fr; }
  .solar-prototype { grid-column: 1; }
  .personal-gallery .gallery-shot,
  .medicine-first-space .gallery-shot { min-height: 280px; }
}
