
:root {
  --ink: #15212b;
  --navy: #0e1c28;
  --navy-2: #17364a;
  --navy-3: #244b62;
  --gold: #ad854d;
  --gold-text: #8a6332;
  --gold-light: #d2b177;
  --ivory: #f5f3ee;
  --paper: #fbfaf7;
  --white: #ffffff;
  --muted: #63707a;
  --line: #d9ddd9;
  --soft-line: rgba(14, 28, 40, .12);
  --max: 1180px;
  --shadow: 0 28px 70px rgba(14, 28, 40, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
.container { width: min(calc(100% - 44px), var(--max)); margin-inline: auto; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--navy); color: #fff; padding: 10px 14px;
}
.skip-link:focus { left: 12px; top: 12px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(251,250,247,.93);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(14,28,40,.08);
}
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 750; letter-spacing: -.015em; }
.brand-mark {
  width: 38px; height: 38px; display: grid; place-items: center;
  border-radius: 50%; background: var(--navy); color: #fff; font-size: 13px; letter-spacing: .05em;
}
.brand-name { font-size: 16px; }
.nav { display: flex; align-items: center; gap: 23px; }
.nav a { text-decoration: none; font-size: 14px; color: #3d4952; font-weight: 560; }
.nav a:hover { color: var(--navy); }
.nav-cta { border: 1px solid var(--navy); border-radius: 999px; padding: 8px 14px; }
.nav-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; padding: 7px; }
.nav-toggle span:not(.sr-only) { display:block; height:2px; background:var(--navy); margin:5px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(173,133,77,.13), transparent 26%),
    linear-gradient(180deg, #fcfbf8 0%, #f5f3ee 100%);
  padding: 100px 0 86px;
}
.hero::after {
  content:""; position:absolute; width:440px; height:440px; right:-190px; bottom:-240px;
  border: 1px solid rgba(173,133,77,.24); border-radius:50%;
}
.hero-grid { display:grid; grid-template-columns: 1.22fr .78fr; gap: 82px; align-items:center; }
.eyebrow, .section-kicker {
  margin:0 0 16px; color:var(--gold-text); text-transform:uppercase; letter-spacing:.16em;
  font-weight:800; font-size:11px;
}
.eyebrow span { color: #9aa3a9; margin: 0 6px; }
h1,h2,h3 { margin-top:0; line-height:1.12; }
h1 {
  margin-bottom:18px; font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(58px,7.5vw,92px); font-weight:500; letter-spacing:-.055em; color:var(--navy);
}
.hero-role {
  max-width: 820px; margin:0; color:var(--navy-2);
  font-size:clamp(19px,2.1vw,27px); line-height:1.35; font-weight:600;
}
.hero-role span { color:var(--gold); padding:0 3px; }
.hero-statement {
  max-width: 770px; margin: 28px 0 0; font-size:19px; color:#55616a; line-height:1.72;
}
.credential-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }
.credential-row span {
  padding:7px 10px; border:1px solid rgba(14,28,40,.12); border-radius:999px;
  background:rgba(255,255,255,.55); color:#46515a; font-size:12px; font-weight:700;
}
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:31px; }
.button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:47px; padding:0 18px; border-radius:6px; text-decoration:none; font-weight:750;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button.primary { background:var(--navy); color:#fff; box-shadow:0 10px 25px rgba(14,28,40,.14); }
.button.secondary { border:1px solid var(--navy); color:var(--navy); }
.text-link { margin-left:6px; color:var(--navy); text-decoration:none; font-weight:700; font-size:14px; }

.portrait-panel {
  position:relative; background:#fff; border:1px solid var(--line); border-radius:24px;
  padding:18px; box-shadow:var(--shadow);
}
.portrait-panel picture { position:relative; z-index:1; }
.portrait-panel img {
  width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center;
  border-radius:16px;
}
.portrait-accent {
  position:absolute; right:-16px; top:36px; width:80px; height:80px;
  border-radius:50%; background:var(--gold); opacity:.88;
}
.portrait-caption {
  display:flex; justify-content:space-between; gap:16px; align-items:flex-end;
  padding:16px 5px 1px;
}
.portrait-caption strong { color:var(--navy); font-size:14px; }
.portrait-caption span { color:var(--muted); font-size:12px; text-align:right; }

.appointment-strip { background:var(--navy); color:#fff; }
.appointment-strip-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.appointment-strip-grid > div { padding:24px 28px; border-right:1px solid rgba(255,255,255,.12); }
.appointment-strip-grid > div:first-child { padding-left:0; }
.appointment-strip-grid > div:last-child { border-right:0; padding-right:0; }
.strip-label { display:block; color:var(--gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.15em; font-weight:800; margin-bottom:7px; }
.appointment-strip strong { font-size:14px; line-height:1.4; }

.section { padding:94px 0; }
.section-soft { background:var(--ivory); }
.section-dark { background:var(--navy); color:#fff; }
h2 {
  font-family:Georgia, "Times New Roman", serif; color:var(--navy);
  font-size:clamp(38px,4.8vw,59px); font-weight:500; letter-spacing:-.04em; margin-bottom:24px;
}
.section-dark h2 { color:#fff; }
.board-intro-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:86px; align-items:start; }
.prose p, .speaking-copy { margin:0 0 18px; color:var(--muted); font-size:18px; }
.lead-prose p:first-child { color:#394650; font-size:20px; }

.principle-panel {
  margin-top:58px; background:var(--navy); color:#fff; border-radius:22px; padding:44px 46px;
  position:relative; overflow:hidden;
}
.principle-panel::after {
  content:""; position:absolute; right:-100px; top:-130px; width:330px; height:330px;
  border-radius:50%; border:1px solid rgba(210,177,119,.25);
}
.principle-label { color:var(--gold-light); text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:800; margin:0 0 12px; }
.principle-text { font-family:Georgia, "Times New Roman", serif; font-size:clamp(28px,3.5vw,43px); line-height:1.2; max-width:880px; margin:0; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; padding-top:28px; border-top:1px solid rgba(255,255,255,.13); }
.principles span { color:var(--gold-light); font-size:11px; font-weight:800; }
.principles strong { display:block; margin-top:7px; font-size:17px; }
.principles p { margin:7px 0 0; color:#c4ced5; font-size:14px; }

.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
.capability { background:#fff; border:1px solid var(--line); border-radius:15px; padding:27px; min-height:220px; }
.cap-num { color:var(--gold-text); font-size:11px; font-weight:800; letter-spacing:.08em; }
.capability h3 { margin:34px 0 10px; color:var(--navy); font-size:20px; }
.capability p { margin:0; color:var(--muted); font-size:15px; }

.section-heading-row { display:grid; grid-template-columns:1fr .7fr; gap:70px; align-items:end; margin-bottom:36px; }
.section-side-copy { color:#bac6ce; font-size:15px; margin:0 0 27px; }
.dark-copy { color:var(--muted); }
.section-kicker.light { color:var(--gold-light); }

.appointments-list { border-top:1px solid rgba(255,255,255,.16); }
.appointments-list article {
  display:grid; grid-template-columns:130px 1fr; gap:30px; align-items:center;
  padding:23px 0; border-bottom:1px solid rgba(255,255,255,.13);
}
.status { width:max-content; border-radius:999px; padding:6px 9px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.status.current { color:#f7e4bc; border:1px solid rgba(210,177,119,.38); background:rgba(173,133,77,.12); }
.status.previous { color:#b9c5cc; border:1px solid rgba(255,255,255,.15); }
.appointments-list h3 { margin:0 0 4px; font-size:19px; color:#fff; }
.appointments-list p { margin:0; color:#bfcbd3; }

.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:35px 0 52px; }
.metric { border-top:3px solid var(--gold); background:#fff; padding:24px 24px 27px; box-shadow:0 12px 32px rgba(14,28,40,.06); }
.metric strong { display:block; font-family:Georgia, "Times New Roman", serif; color:var(--navy); font-size:39px; font-weight:500; line-height:1; margin-bottom:12px; }
.metric span { color:var(--muted); font-size:14px; line-height:1.45; }

.career-list { border-top:1px solid var(--line); }
.career-list article { display:grid; grid-template-columns:250px 1fr; gap:42px; padding:25px 0; border-bottom:1px solid var(--line); }
.career-org { color:var(--gold-text); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; padding-top:4px; }
.career-list h3 { margin:0 0 7px; color:var(--navy); font-size:20px; }
.career-list p { margin:0; color:var(--muted); }

.recognition-section { background:#fff; }
.award-timeline { border-top:1px solid var(--line); }
.award-timeline article { display:grid; grid-template-columns:150px 1fr; gap:35px; padding:27px 0; border-bottom:1px solid var(--line); }
.award-year { font-family:Georgia, "Times New Roman", serif; font-size:34px; color:var(--gold-text); }
.award-timeline h3 { margin:3px 0 10px; color:var(--navy); font-size:20px; }
.award-timeline p { margin:5px 0; color:var(--muted); }

.speaking-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:76px; align-items:start; }
.speaking-list { border-top:1px solid var(--line); }
.speaking-list > div { display:flex; justify-content:space-between; gap:22px; align-items:center; padding:19px 0; border-bottom:1px solid var(--line); }
.speaking-list strong { color:var(--navy); font-size:15px; }
.speaking-list span { color:var(--gold-text); font-size:12px; font-weight:800; text-align:right; }

.credentials-section { padding-top:78px; }
.credentials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.credentials-grid > div { background:#fff; padding:22px; min-height:110px; }
.credentials-grid strong { display:block; color:var(--navy); font-size:18px; margin-bottom:7px; }
.credentials-grid span { color:var(--muted); font-size:14px; }

.contact-section { padding:30px 0 78px; background:var(--paper); }
.contact-panel {
  background:linear-gradient(135deg,var(--navy),#17364a); color:#fff; border-radius:24px;
  padding:48px 50px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
.contact-panel h2 { color:#fff; margin-bottom:11px; }
.contact-panel p { margin:0; color:#c4ced5; max-width:720px; }
.contact-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.button.gold { background:var(--gold-light); color:var(--navy); }
.button.ghost { color:#fff; border:1px solid rgba(255,255,255,.4); }

.site-footer { padding:0 0 35px; color:var(--muted); font-size:13px; }
.footer-grid { display:flex; justify-content:space-between; gap:20px; padding-top:25px; border-top:1px solid var(--line); }

@media (max-width: 980px) {
  .hero-grid { grid-template-columns:1fr .72fr; gap:48px; }
  .appointment-strip-grid { grid-template-columns:1fr; }
  .appointment-strip-grid > div { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); padding:18px 0; }
  .appointment-strip-grid > div:last-child { border-bottom:0; }
  .board-intro-grid, .section-heading-row, .speaking-grid { grid-template-columns:1fr; gap:28px; }
  .section-side-copy { margin:0; max-width:800px; }
  .capability-grid { grid-template-columns:repeat(2,1fr); }
  .principles { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:1fr; }
  .contact-panel { grid-template-columns:1fr; }
  .contact-actions { justify-content:flex-start; }
}
@media (max-width: 760px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .nav-toggle { display:block; }
  .nav {
    display:none; position:absolute; left:14px; right:14px; top:67px; padding:14px;
    flex-direction:column; align-items:stretch; gap:3px; background:#fff; border:1px solid var(--line);
    border-radius:13px; box-shadow:var(--shadow);
  }
  .nav.open { display:flex; }
  .nav a { padding:10px 8px; }
  .nav-cta { border-radius:7px; }
  .hero { padding:70px 0 62px; }
  .hero-grid { grid-template-columns:1fr; gap:36px; }
  h1 { font-size:58px; }
  .hero-statement { font-size:17px; }
  .portrait-panel { max-width:450px; }
  .portrait-caption { flex-direction:column; align-items:flex-start; }
  .portrait-caption span { text-align:left; }
  .section { padding:70px 0; }
  .principle-panel { padding:30px 26px; }
  .capability-grid, .credentials-grid { grid-template-columns:1fr; }
  .appointments-list article { grid-template-columns:1fr; gap:11px; }
  .career-list article { grid-template-columns:1fr; gap:10px; }
  .award-timeline article { grid-template-columns:84px 1fr; gap:20px; }
  .award-year { font-size:27px; }
  .speaking-list > div { align-items:flex-start; flex-direction:column; gap:5px; }
  .contact-panel { padding:34px 27px; border-radius:18px; }
  .footer-grid { flex-direction:column; gap:3px; }
}
