/* Reference-led refinement: person first, generous space, framed destination imagery. */
:root { --paper:#f1f2ee; --gutter:max(6vw,calc((100vw - 1440px)/2)); }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.header { height:90px; }
.hero { min-height:750px; height:min(900px,calc(100svh - 90px)); }
.hero-copy { padding-top:65px; width:58%; }
.hero-intro { margin-bottom:35px; }
.hero h1 { font-size:clamp(100px,10.9vw,172px); line-height:.83; letter-spacing:-5px; }
.name-line { display:block; }
.name-line + .name-line { margin-top:15px; }
.hero h1 em { color:#dfcead; }
.hero-person { margin-top:38px; }
.hero-person p { font:400 24px/1.35 var(--display); letter-spacing:.1px; }
.hero-description { font-size:13px; margin-top:21px; }
.hero-portrait { left:48%; }
.hero-portrait img { object-position:50% top; transform-origin:center top; }
.hero-portrait::before { background:linear-gradient(90deg,var(--navy),#101d2544 27%,transparent 65%),linear-gradient(0deg,var(--navy),transparent 24%); }
.hero-portrait figcaption { font-size:10px; bottom:92px; }
.hero-bottom { height:74px; }
.hero-bottom > span:first-child { display:flex; align-items:center; gap:18px; }
.route-line { width:100px; height:1px; background:#baa67c66; position:relative; }
.route-line::before,.route-line::after { content:''; position:absolute; top:-2px; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.route-line::before { left:0; } .route-line::after { right:0; }
.section-pad { padding-top:125px; padding-bottom:130px; }
.section-label { margin-bottom:52px; }
.intro-grid { grid-template-columns:1.1fr 1fr; gap:12%; }
.intro h2 { font-size:clamp(50px,4.8vw,74px); line-height:1.03; }
.story-aside { font-size:11px; line-height:1.9; color:var(--muted); border-left:1px solid var(--gold); padding-left:20px; margin-top:35px; }
.body-copy .lead { font-size:20px; line-height:1.65; }
.body-copy p { font-size:14px; }
.credentials { margin-top:70px; }
.credentials strong { font-family:var(--body); font-size:42px; font-weight:400; }
.credentials strong span { font-family:var(--display); }
.credentials p { font-size:11px; }
.landscape { height:720px; margin:0 24px; }
.landscape > img { object-position:center 45%; }
.landscape-top { position:absolute; top:38px; left:44px; right:44px; display:flex; justify-content:space-between; color:#fff; font-size:10px; letter-spacing:1px; padding-bottom:21px; border-bottom:1px solid #ffffff44; }
.landscape-caption { left:calc(var(--gutter) - 24px); bottom:70px; z-index:1; }
.landscape-caption > p:not(.eyebrow) { font-size:clamp(65px,6.3vw,96px); }
.landscape-caption > span { font-size:12px; line-height:1.8; letter-spacing:.15px; }
.landscape-shade { background:linear-gradient(0deg,#0c1d2ad9,transparent 90%),linear-gradient(90deg,#13232f55,transparent); }
.landscape-word { position:absolute; right:35px; bottom:20px; color:#ffffff24; font:italic 400 clamp(150px,17vw,260px)/1 var(--display); letter-spacing:-8px; pointer-events:none; }
.section-heading { margin-bottom:65px; }
.section-heading h2 { font-size:clamp(48px,4.7vw,72px); }
.venture-list { display:grid; grid-template-columns:1fr 1fr; gap:0 7%; }
.venture { grid-template-columns:1fr; gap:28px; padding:38px 0 45px; position:relative; align-content:start; }
.venture:first-child { grid-column:1/-1; grid-template-columns:.52fr 1.2fr 1fr; align-items:start; gap:6%; padding:45px 0 65px; }
.venture-location { flex-direction:row; justify-content:space-between; color:#6a705f; }
.venture:first-child .venture-location { flex-direction:column; }
.venture h3 { font-size:clamp(48px,5vw,76px); letter-spacing:-1.8px; }
.venture:first-child h3 { font-size:clamp(43px,4.2vw,64px); }
.venture:nth-child(2) h3 { font-family:var(--body); font-size:77px; letter-spacing:-5px; }
.venture:nth-child(2) .company-suffix { font:italic 28px var(--display); letter-spacing:0; }
.venture-title > p { font-size:11px; margin-top:14px; }
.venture-copy > p { font-size:14px; max-width:460px; }
.venture-detail { font-size:10px; line-height:1.8; }
.venture:last-child { border-bottom:0; }
.journey { background:#e3e8e4; grid-template-columns:1fr 1.1fr; }
.journey-heading { position:sticky; top:60px; align-self:start; }
.journey h2 { font-size:clamp(45px,4.7vw,72px); }
.timeline li { grid-template-columns:95px 1fr; gap:33px; padding-bottom:53px; }
.timeline li::before { left:94px; } .timeline li::after { left:91px; }
.timeline-year { font-family:var(--body); font-size:25px; letter-spacing:-1px; }
.timeline h3 { font-size:16px; } .timeline p { font-size:13px; }
.recognition-grid { grid-template-columns:1.08fr 1fr; align-items:center; gap:12%; }
.recognition h2 { font-size:clamp(48px,4.7vw,72px); }
.recognition-copy { max-width:390px; }
.recognition-copy > p:last-of-type { font-size:14px; }
.recognition-footnote { display:block; font:italic 22px/1.4 var(--display); margin-top:26px; color:#68766e; }
.film-panel { min-height:540px; }
.film-portrait { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.film-panel::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#101d25 3%,#101d2599 30%,transparent 75%); }
.film-kicker { position:absolute; top:27px; left:28px; z-index:2; color:#eee4d1; font-size:9px; letter-spacing:1.8px; text-transform:uppercase; }
.film-info { z-index:2; padding:35px; background:none; }
.film-info h3 { font-size:49px; } .film-info p { font-size:12px; }
.film-status { display:inline-flex; align-items:center; gap:10px; }
.film-status::before { content:''; width:18px; height:1px; background:var(--gold); }
.vision { padding-top:85px; }
.vision-top { align-items:baseline; margin-bottom:65px; border-bottom:1px solid #ffffff22; padding-bottom:30px; }
.vision-year { font:400 clamp(64px,9vw,125px)/1 var(--body); letter-spacing:-6px; color:#d7c5a2; }
.vision h2 { font-size:clamp(48px,4.7vw,72px); }
.vision-content > p { font-size:14px; }
.vision-targets p { font-size:clamp(70px,7vw,106px); font-weight:500; letter-spacing:-4px; }
.vision-targets p > span { font-size:35px; }
.vision-targets > div > span:last-child { font-size:11px; }
.vision-disclaimer { font-size:10px; }
.profile-cta { display:flex; justify-content:space-between; text-align:left; align-items:center; gap:50px; }
.profile-cta h2 { font-size:clamp(56px,5.6vw,86px); }
.profile-download > p:first-child { color:var(--muted); font-size:13px; line-height:1.8; }
.profile-download .button { width:100%; min-width:270px; }
.profile-download .file-note { text-align:right; }
.desktop-nav a[aria-current="location"]::after { transform:scaleX(1); }
.menu { background:#10222c; }
.menu-body nav a { transition:color .25s,transform .4s var(--ease); }
.menu-body nav a span { transition:transform .4s var(--ease); }
.menu-bottom { color:#c0c8cb; }
.menu[open] { animation:menu-enter .6s var(--ease) both; }
.menu-body nav a { animation-duration:.8s; }
.js-motion .hero-copy > * { animation:opening-text 1.1s var(--ease) both; }
.js-motion .hero-copy > :nth-child(2) { animation-delay:.12s; }
.js-motion .hero-copy > :nth-child(3) { animation-delay:.24s; }
.js-motion .hero-copy > :nth-child(4) { animation-delay:.32s; }
.js-motion .hero-copy > :nth-child(5) { animation-delay:.4s; }
.js-motion .hero-portrait img { animation:opening-portrait 1.6s var(--ease) both; }
.js-motion .landscape img { transform:scale(1.055); transition:transform 2s var(--ease); }
.js-motion .landscape.is-visible img { transform:scale(1); }
@keyframes opening-text { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes opening-portrait { from { opacity:0; transform:scale(1.035); } to { opacity:1; transform:scale(1); } }
@media(hover:hover) and (pointer:fine) {
  .menu-body nav a:hover { transform:translateX(8px); }
  .menu-body nav a:hover span { transform:translate(3px,-3px); }
  .button { transition:background-color .3s,transform .3s; }
  .button:hover { transform:translateY(-2px); }
}
@media(max-width:1100px) {
  .hero { height:760px; } .hero h1 { font-size:116px; }
  .hero-copy { width:64%; } .hero-portrait { left:42%; }
  .hero-portrait img { object-position:45% top; }
  .hero-person p { font-size:23px; } .hero-description { max-width:70%; }
  .section-pad { padding-top:95px; padding-bottom:100px; }
  .intro-grid { gap:7%; }
  .venture:first-child { grid-template-columns:1fr 1fr; gap:25px 7%; }
  .venture:first-child .venture-location { grid-column:1/-1; flex-direction:row; }
  .recognition-grid { gap:7%; } .film-panel { min-height:490px; }
}
@media(max-width:760px) {
  :root { --gutter:25px; }
  .header { height:80px; }
  .hero { height:auto; min-height:0; padding-bottom:63px; }
  .hero-copy { padding-top:36px; width:100%; }
  .hero-intro { margin-bottom:29px; }
  .hero h1 { font-size:clamp(92px,20vw,140px); letter-spacing:-3px; }
  .name-line + .name-line { margin-top:12px; }
  .hero-person { margin-top:28px; } .hero-person p { font-size:23px; }
  .hero-description { max-width:100%; font-size:12px; line-height:1.85; margin:15px 0 14px; }
  .hero .text-link { font-size:11px; gap:55px; }
  .hero-portrait { left:auto; width:100%; margin-top:0; height:455px; }
  .hero-portrait img { object-position:50% top; }
  .hero-portrait::before { background:linear-gradient(0deg,var(--navy),transparent 25%),linear-gradient(180deg,var(--navy),transparent 4%); }
  .hero-portrait figcaption { bottom:27px; font-size:9px; }
  .hero-bottom { height:63px; font-size:8px; letter-spacing:1px; }
  .hero-bottom > span:first-child { gap:12px; } .route-line { width:48px; }
  .hero-scroll { font-size:0; } .hero-scroll span { font-size:20px; }
  .section-pad { padding-top:75px; padding-bottom:80px; }
  .section-label { margin-bottom:32px; }
  .intro-grid { grid-template-columns:1fr; gap:33px; }
  .intro h2,.section-heading h2,.journey h2,.recognition h2,.vision h2 { font-size:clamp(43px,10.6vw,62px); letter-spacing:-1.4px; }
  .story-aside { margin-top:25px; font-size:11px; }
  .body-copy .lead { font-size:18px; } .body-copy p { font-size:14px; }
  .credentials { margin-top:35px; }
  .credentials strong { font-size:34px; letter-spacing:-1px; }
  .credentials strong span { font-size:23px; } .credentials p { font-size:10px; }
  .landscape { height:570px; margin:0 12px; }
  .landscape-top { top:24px; left:21px; right:21px; font-size:8px; letter-spacing:.3px; gap:15px; }
  .landscape-caption { left:21px; bottom:50px; right:20px; }
  .landscape-caption > p:not(.eyebrow) { font-size:clamp(48px,12vw,70px); letter-spacing:-1.5px; }
  .landscape-caption > span { font-size:11px; max-width:none; }
  .landscape-word { font-size:142px; right:14px; bottom:180px; letter-spacing:-5px; }
  .section-heading { margin-bottom:40px; }
  .venture-list { grid-template-columns:1fr; gap:0; }
  .venture,.venture:first-child { grid-template-columns:1fr; gap:25px; padding:32px 0 40px; }
  .venture:first-child .venture-location { grid-column:auto; }
  .venture-location { justify-content:space-between; font-size:10px; }
  .venture-location span+span::before { display:none; }
  .venture h3,.venture:first-child h3 { font-size:51px; }
  .venture:nth-child(2) h3 { font-size:69px; }
  .venture-title > p { margin-top:12px; }
  .venture-copy > p { font-size:14px; } .venture-detail { font-size:10px; }
  .journey { grid-template-columns:1fr; } .journey-heading { position:static; }
  .timeline li { grid-template-columns:65px 1fr; gap:24px; padding-bottom:35px; }
  .timeline li::before { left:65px; } .timeline li::after { left:62px; }
  .timeline-year { font-size:21px; } .timeline h3 { font-size:14px; } .timeline p { font-size:13px; }
  .recognition-grid { grid-template-columns:1fr; gap:45px; }
  .recognition-copy { margin-top:26px; } .recognition-footnote { font-size:22px; }
  .film-panel { min-height:470px; margin:0 0 0 20px; }
  .film-info { padding:27px; } .film-info h3 { font-size:43px; } .film-kicker { left:27px; }
  .vision-top { margin-bottom:40px; gap:20px; padding-bottom:27px; }
  .vision-top .eyebrow { max-width:140px; }
  .vision-year { font-size:59px; letter-spacing:-3px; }
  .vision-content > p { font-size:14px; }
  .vision-targets p { font-size:78px; letter-spacing:-4px; }
  .vision-targets p > span { font-size:32px; } .vision-disclaimer { font-size:10px; }
  .profile-cta { display:block; } .profile-cta h2 { font-size:65px; }
  .profile-download { margin-top:35px; } .profile-download .button { margin-top:23px; }
  .menu-body nav a { font-size:clamp(48px,12vw,72px); }
}
@media(max-width:360px) {
  .hero h1 { font-size:83px; } .hero-person p { font-size:21px; }
  .hero-portrait { height:400px; } .hero-description { font-size:11px; }
  .film-panel { margin-left:0; } .profile-cta h2 { font-size:57px; }
}
@media(prefers-reduced-motion:reduce) {
  .js-motion .hero-copy > *,.js-motion .hero-portrait img { animation:none; }
  .js-motion .landscape img { transform:none; transition:none; }
}
/* Finishing pass: preserve the approved navy/gold composition. */
:root { --detail-line:rgba(186,166,124,.24); }
::selection { background:#d8c6a2; color:#101d25; }
a:focus-visible,button:focus-visible { outline-offset:5px; }
.header-profile,.desktop-nav a { min-height:44px; align-content:center; }
.hero-description { font-size:14px; line-height:1.85; }
.hero-portrait figcaption { line-height:1.8; }
.body-copy p,.venture-copy > p,.recognition-copy > p:last-of-type,.vision-content > p { font-size:15px; line-height:1.85; }
.body-copy p:last-child { margin-bottom:0; }
.venture-title > p,.venture-detail,.credentials p { font-size:11px; }
.venture-title > p { line-height:1.6; }
.venture-copy { max-width:48ch; }
.timeline p { font-size:14px; line-height:1.8; }
.timeline li:last-child { padding-bottom:0; }
.timeline-year,.credentials strong,.vision-year { font-variant-numeric:lining-nums tabular-nums; }
.vision-disclaimer { font-size:11px; line-height:1.8; max-width:75ch; }
.profile-download > p:first-child { font-size:14px; }
.profile-download .button { min-height:52px; }
.menu-top { align-items:center; }
.menu-close { padding-inline:0; font-size:12px; }
.menu-body nav { gap:0; }
.menu-body nav a { padding-block:12px; border-bottom:1px solid var(--detail-line); align-items:center; }
.menu-body nav a:last-child { border-bottom:0; }
.menu-body nav a span { line-height:1; font-size:21px; }
.menu-body > .eyebrow { font-size:10px; letter-spacing:1.5px; }
.menu-bottom { font-size:10px; line-height:1.8; }
.menu[open] { animation-duration:.4s; }
.menu-body nav a { animation-duration:.55s; }
.js-motion .reveal { transition-duration:.65s; }
@media(min-width:761px) {
  .section-pad { padding-top:112px; padding-bottom:116px; }
  .vision { padding-top:85px; }
  .section-heading { margin-bottom:56px; }
}
@media(max-width:760px) {
  .hero-description { font-size:13px; }
  .hero .text-link { font-size:12px; }
  .landscape-top { font-size:10px; line-height:1.6; }
  .landscape-caption > span { font-size:12px; }
  .film-panel { margin-left:0; }
  .film-kicker { left:27px; }
  .story-aside { font-size:12px; }
  .menu-body { padding-top:30px; padding-bottom:24px; }
  .menu-body nav a { font-size:clamp(44px,11.5vw,64px); }
}
@media(prefers-reduced-motion:reduce) {
  .js-motion .reveal { transition:none; }
}
