:root {
  --ink: #112d3b;
  --ink-deep: #06232f;
  --water: #73d9d0;
  --water-vivid: #37bfb8;
  --paper: #082832;
  --white: #fffef9;
  --line: rgba(255,255,255,.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: rgba(255,255,255,.84); font: 16px/1.6 "Manrope", Arial, sans-serif; margin: 0; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
p, h1, h2 { margin-top: 0; }
.page-aura { background: radial-gradient(circle, rgba(246,158,75,.13), transparent 68%); height: 740px; pointer-events: none; position: fixed; right: -290px; top: 48vh; width: 740px; z-index: -1; }

.site-header { align-items: center; display: flex; height: 86px; justify-content: space-between; left: 0; padding: 0 clamp(24px,5vw,76px); position: absolute; right: 0; top: 0; z-index: 2; }
.wordmark { color: var(--white); font-size: 15px; font-weight: 800; letter-spacing: .16em; }
.wordmark span { color: var(--water); }
nav { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; display: flex; gap: 4px; padding: 5px; }
nav a { border-radius: 999px; color: rgba(255,255,255,.85); font-size: 11px; font-weight: 700; letter-spacing: .08em; padding: 8px 13px; text-transform: uppercase; transition: background .2s,color .2s; }
nav a:hover { background: rgba(255,255,255,.13); color: var(--water); }

.hero { background: radial-gradient(circle at 80% 12%,rgba(48,182,184,.3),transparent 25%),radial-gradient(circle at 12% 85%,rgba(246,133,62,.2),transparent 32%),linear-gradient(135deg,#092b40 0%,#071d31 58%,#123f50 100%); color: var(--white); display: flex; flex-direction: column; justify-content: center; min-height: min(920px,100svh); overflow: hidden; padding: 130px clamp(24px,8vw,128px) 70px; position: relative; }
.hero::before { background: linear-gradient(145deg,rgba(115,217,208,.22),rgba(255,255,255,.02)); border: 1px solid rgba(174,242,235,.28); border-radius: 50%; box-shadow: inset 0 0 80px rgba(255,255,255,.07),0 40px 100px rgba(0,0,0,.18); content: ""; height: 42vw; min-height: 420px; min-width: 420px; position: absolute; right: -13vw; top: 14%; width: 42vw; }
.hero-grid { background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 72px 72px; inset: 0; mask-image: radial-gradient(circle at 64% 48%,black 0,transparent 70%); opacity: .38; position: absolute; }
.hero-glow { border-radius: 50%; pointer-events: none; position: absolute; }
.glow-one { background: radial-gradient(circle,rgba(115,217,208,.34),rgba(115,217,208,0) 68%); height: 70vw; right: -25vw; top: -22vw; width: 70vw; }
.glow-two { background: radial-gradient(circle,rgba(83,152,188,.22),rgba(83,152,188,0) 70%); bottom: -38vw; height: 65vw; left: 8vw; width: 65vw; }
.hero-orbit { border: 1px solid rgba(193,249,243,.32); border-radius: 50%; height: min(38vw,540px); position: absolute; right: 1vw; top: 20%; width: min(38vw,540px); }
.hero-orbit::before,.hero-orbit::after { border: 1px solid rgba(193,249,243,.2); border-radius: 50%; content: ""; inset: 10%; position: absolute; }
.hero-orbit::after { inset: 24%; }
.hero-orbit span { background: var(--water); border-radius: 50%; box-shadow: 0 0 0 8px rgba(115,217,208,.12),0 0 24px var(--water); height: 8px; left: 12.5%; position: absolute; top: 17%; width: 8px; }
.eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .18em; margin-bottom: 28px; position: relative; text-transform: uppercase; }
.eyebrow::before { background: var(--water); content: ""; display: inline-block; height: 1px; margin-right: 14px; vertical-align: middle; width: 34px; }
.hero-copy { align-items: end; display: grid; gap: clamp(40px,8vw,140px); grid-template-columns: minmax(0,1.5fr) minmax(240px,.55fr); position: relative; }
h1 { font-size: clamp(68px,9vw,144px); font-weight: 400; letter-spacing: -.065em; line-height: .82; margin-bottom: 0; }
h1 em,.profile h2,.contact h2,.venture-card h2 { font-family: "Newsreader",Georgia,serif; font-weight: 400; }
h1 em { color: var(--water); }
.lead { color: rgba(255,255,255,.78); font-size: clamp(16px,1.35vw,21px); line-height: 1.65; margin-bottom: 8px; max-width: 440px; }
.hero-tags { bottom: 52px; display: flex; gap: 8px; position: absolute; right: clamp(24px,8vw,128px); }
.hero-tags span { backdrop-filter: blur(10px); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.76); font-size: 10px; font-weight: 700; letter-spacing: .1em; padding: 8px 12px; text-transform: uppercase; }
.scroll-cue { align-items: center; bottom: 52px; color: rgba(255,255,255,.86); display: flex; font-size: 11px; font-weight: 700; gap: 14px; left: clamp(24px,8vw,128px); letter-spacing: .12em; position: absolute; text-transform: uppercase; }
.scroll-cue span { animation: bob 2s ease-in-out infinite; color: var(--water); }

.section-shell { padding: clamp(90px,11vw,170px) clamp(24px,8vw,128px); }
.section-label { align-items: center; display: flex; gap: 18px; }
.section-label span { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: flex; font-family: "Newsreader",Georgia,serif; height: 44px; justify-content: center; width: 44px; }
.section-label p { font-size: 11px; font-weight: 800; letter-spacing: .14em; margin: 0; text-transform: uppercase; }
.profile,.contact { border-top: 1px solid rgba(255,255,255,.13); display: grid; gap: 60px; grid-template-columns: minmax(160px,.45fr) minmax(0,1.55fr); }
.profile { background: radial-gradient(circle at 100% 5%,rgba(246,151,72,.16),transparent 27%),linear-gradient(120deg,#092a35,#0b3540); }
.profile-content h2,.contact h2 { font-size: clamp(44px,5.4vw,78px); letter-spacing: -.045em; line-height: 1.04; margin-bottom: 70px; }
.profile-content h2 em { color: var(--water); font-style: normal; }
.profile-text { display: grid; gap: 50px; grid-template-columns: 1fr 1fr; max-width: 820px; }
.profile-text p { color: rgba(255,255,255,.73); font-size: clamp(16px,1.3vw,19px); margin-bottom: 0; }

.venture { padding-top: 0; }
.venture-card { background: #f5f6f3; border-radius: 24px; box-shadow: 0 26px 70px rgba(8,35,48,.22); color: #102538; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); min-height: 520px; overflow: hidden; position: relative; }
.venture-card::before { background: linear-gradient(90deg,#112c43 0 72%,#e33f32 72% 76%,#2771bb 76%); content: ""; height: 16px; left: 0; position: absolute; right: 0; top: 0; z-index: 1; }
.venture-content { display: flex; flex-direction: column; padding: clamp(46px,6vw,84px); }
.venture-index { color: #607183; display: flex; font-size: 11px; font-weight: 800; gap: 14px; letter-spacing: .12em; text-transform: uppercase; }
.venture-index span { color: #1769ad; font-family: "Newsreader",Georgia,serif; font-size: 20px; font-weight: 400; letter-spacing: 0; line-height: 1; }
.venture-index p { margin: 0; }
.sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.venture-logo { align-self: flex-start; display: block; height: auto; margin: clamp(38px,5vw,64px) 0 34px; max-width: min(100%,430px); width: 100%; }
.eyebrow.light { color: #1769ad; margin-bottom: 20px; }
.venture-categories { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; }
.venture-categories li { background: #112c43; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .1em; padding: 9px 11px; text-transform: uppercase; }
.venture-categories li:nth-child(2) { background: #1769ad; }.venture-categories li:nth-child(3) { background: #e33f32; }.venture-categories li:nth-child(4) { background: #667d3b; }
.venture-copy { color: #43596d; max-width: 580px; }
.external-link { align-items: center; align-self: flex-start; background: #1769ad; color: #fff; display: flex; font-size: 12px; font-weight: 800; gap: 18px; justify-content: space-between; letter-spacing: .08em; margin-top: auto; padding: 15px 18px; text-transform: uppercase; transition: background .2s,transform .2s; }
.external-link:hover { background: #e33f32; color: #fff; transform: translateY(-2px); }
.venture-photo { margin: 0; min-height: 520px; overflow: hidden; position: relative; }
.venture-photo::after { background: linear-gradient(90deg,rgba(17,44,67,.25),transparent 35%); content: ""; inset: 0; position: absolute; }
.venture-photo img { height: 100%; object-fit: cover; object-position: 58% center; position: absolute; width: 100%; }

.contact { background: linear-gradient(135deg,#0b3540,#082832); }
.contact-content { max-width: 900px; }
.contact-content h2 { margin-bottom: 32px; }
.contact-intro { color: rgba(255,255,255,.73); max-width: 520px; }
.mail-button { background: var(--water); border-radius: 999px; color: var(--ink-deep); display: inline-block; font-size: clamp(16px,1.35vw,19px); font-weight: 800; margin-top: 34px; padding: 15px 22px; transition: background .2s,transform .2s; }
.mail-button:hover { background: var(--water-vivid); transform: translateY(-2px); }
footer { align-items: end; background: #041b24; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.68); display: grid; font-size: 11px; gap: 40px; grid-template-columns: 1fr 1fr auto; padding: 54px clamp(24px,5vw,76px); }
footer p { margin: 0; text-align: center; }
footer p:last-child { text-align: right; }
.reveal { animation: reveal .8s cubic-bezier(.2,.7,.2,1) both; }
.delay-one { animation-delay: .1s; }.delay-two { animation-delay: .25s; }
@keyframes reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes bob { 50% { transform: translateY(5px); } }

@media (max-width:800px) {
  nav a:first-child { display: none; }
  .hero { min-height: 760px; }.hero-copy,.profile,.contact { grid-template-columns: 1fr; }.hero-copy { align-items: start; }
  h1 { font-size: clamp(62px,19vw,104px); }.hero-orbit { height: 330px; opacity: .6; right: -150px; top: 16%; width: 330px; }
  .hero-tags { bottom: 42px; left: 24px; right: auto; }.profile-content h2 { margin-bottom: 44px; }
  .venture-card { grid-template-columns: 1fr; }.venture-photo { min-height: 320px; }.external-link { width: min(100%,260px); }
  footer { align-items: start; grid-template-columns: 1fr; }footer p,footer p:last-child { text-align: left; }
}
@media (max-width:540px) { .site-header { height: 72px; }.profile-text { gap: 20px; grid-template-columns: 1fr; }.venture-card { min-height: 520px; }.scroll-cue { bottom: 36px; }.hero-tags span { padding: 6px 8px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }*,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
