
:root {
  --navy: #071c35;
  --ink: #14283e;
  --blue: #1856a5;
  --accent: #97bce9;
  --muted: #596675;
  --line: #dce2e8;
  --surface: #f3f6f9;
  --white: #ffffff;
  --sans: Arial, Helvetica, sans-serif;
  --display: 'Franklin Gothic Medium', Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 40px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--sans); font-size: 16px; line-height: 1.75; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; border: 0; background: none; cursor: pointer; }
button, a, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #4383d2; outline-offset: 5px; }
button:active, .button:active { opacity: .8; }
svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
h1, h2, h3, h4, p, figure, blockquote { margin: 0; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 600; }
h2 { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.17; letter-spacing: -1.6px; }
p + p { margin-top: 20px; }
::selection { color: var(--white); background: var(--blue); }
.eyebrow { font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: 1.7px; }
.skipLink { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 24px; color: var(--white); background: var(--blue); }
.skipLink:focus { top: 12px; }
.siteHeader { max-width: 1600px; min-height: 110px; height: auto; margin: auto; padding: 18px 5%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; min-height: 44px; }
.brandName { font-family: var(--display); font-size: 23px; font-weight: 600; line-height: 1.25; letter-spacing: -.75px; }
.brandName > span { display: block; max-width: 310px; line-height: 1.45; margin-top: 7px; font-family: var(--sans); font-size: 14px; font-weight: 400; letter-spacing: .5px; color: var(--muted); }
.siteHeader nav { display: flex; align-items: center; gap: 32px; font-size: 16px; }
.siteHeader nav > a { padding: 12px 0; transition: color .18s; }
.siteHeader nav > a:hover, .siteHeader nav > a[aria-current] { color: var(--blue); }
.menuToggle { display: none; }
.hero { position: relative; isolation: isolate; color: var(--white); background: var(--navy); overflow: hidden; }
.heroImage { position: absolute; inset: 0 0 0 34%; z-index: -3; }
.heroImage img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.heroShade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #071c35 0%, #071c35 27%, #071c35f5 34%, #071c35b8 43%, #071c3530 63%, #071c3500 80%), linear-gradient(0deg, #071c35ab, #071c3500 24%); }
.heroInner { position: relative; max-width: 1600px; min-height: 690px; margin: auto; padding: 62px 5% 110px; }
.heroCopy { position: relative; max-width: 640px; }
.lightLabel { color: #cad9ed; font-size: 14px; display: flex; align-items: center; gap: 12px; }
.lightLabel > span { display: inline-block; width: 24px; height: 2px; background: var(--accent); }
.hero h1 { margin: 28px 0 15px; font-family: var(--sans); font-size: 21px; font-weight: 400; letter-spacing: -.2px; }
.heroHeadline { font-family: var(--display); font-size: clamp(43px, 4.1vw, 65px); line-height: 1.08; letter-spacing: -2.5px; font-weight: 600; }
.heroHeadline > span { color: #a7c8ee; }
.heroRole { margin-top: 26px; color: #d1dce9; font-size: 16px; line-height: 1.7; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 52px; padding: 13px 22px; background: var(--blue); color: var(--white); font-size: 16px; font-weight: 600; transition: background .18s; }
.button svg { width: 21px; height: 21px; }
.button:hover { background: #114481; }
.lightButton { margin-top: 28px; background: var(--white); color: var(--navy); }
.lightButton:hover { background: #dce9f9; }
.heroBottom { position: absolute; bottom: 24px; left: 5%; right: 5%; display: flex; align-items: center; justify-content: space-between; color: #d1dce9; }
.heroBottom > span { font-size: 14px; letter-spacing: 1.4px; }
.heroBottom a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #ffffff66; border-radius: 50%; color: var(--white); }
.heroBottom a:hover { background: #ffffff20; }
.focusStrip { border-bottom: 1px solid var(--line); }
.focusInner { max-width: 1600px; padding: 29px 5%; margin: auto; display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; align-items: center; gap: 32px; }
.focusInner > p { color: var(--muted); font-size: 14px; line-height: 1.8; letter-spacing: 1.2px; }
.focusInner strong { color: var(--ink); font-size: 14px; font-weight: 600; }
.focusInner > span { font-size: 15px; font-weight: 600; border-left: 1px solid var(--line); padding: 9px 0 9px 35px; }
.profileLayout { max-width: 1440px; display: grid; grid-template-columns: 254px minmax(0, 1fr); gap: 55px; padding: 88px 5% 96px; margin: auto; align-items: start; }
.profileSidebar { align-self: stretch; }
.sidebarInner { position: sticky; top: 40px; }
.sidebarInner > .eyebrow { color: var(--muted); font-size: 14px; margin-bottom: 22px; }
.profileSidebar nav { display: flex; flex-direction: column; }
.profileSidebar nav a { display: flex; align-items: center; gap: 12px; line-height: 1.5; min-height: 49px; padding: 8px 0 8px 13px; border-left: 2px solid var(--line); color: var(--muted); font-size: 15px; transition: border-color .18s, color .18s; }
.profileSidebar nav a span { color: #7b8795; font-size: 14px; font-variant-numeric: tabular-nums; }
.profileSidebar nav a:hover, .profileSidebar nav a[aria-current] { color: var(--blue); border-color: var(--blue); }
.profileSidebar nav a[aria-current] { font-weight: 600; }
.sidebarNote { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 25px; }
.sidebarNote > span { font-size: 14px; color: var(--blue); letter-spacing: 1.5px; font-weight: 700; }
.sidebarNote p { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.profileBody { min-width: 0; }
.profileSection { scroll-margin-top: 40px; padding-bottom: 72px; margin-bottom: 70px; border-bottom: 1px solid var(--line); }
.sectionLabel { margin-bottom: 23px; color: var(--blue); font-size: 14px; letter-spacing: 1.5px; }
.sectionLead { font-size: 21px; letter-spacing: -.3px; line-height: 1.55; margin-top: 28px; margin-bottom: 26px; max-width: 680px; }
.aboutColumns { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.aboutColumns p { font-size: 16px; line-height: 1.85; color: var(--muted); }
.aboutColumns p + p { margin-top: 0; }
.profileFacts { margin-top: 35px; padding: 24px 28px; border-left: 3px solid var(--blue); background: var(--surface); display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.profileFacts span { display: block; color: var(--muted); font-size: 14px; letter-spacing: 1.3px; margin-bottom: 6px; }
.profileFacts strong { font-size: 14px; font-weight: 600; }
.sectionHeader > p:not(.eyebrow) { font-size: 16px; color: var(--muted); margin-top: 23px; max-width: 620px; }
.careerTimeline { margin-top: 38px; }
.careerEntry { position: relative; display: grid; grid-template-columns: .95fr 1.25fr; gap: 32px; margin-left: 5px; padding: 0 0 40px 29px; border-left: 1px solid #c6d4e6; }
.careerEntry:last-child { padding-bottom: 0; border-left-color: transparent; }
.careerMarker { position: absolute; top: 5px; left: -5px; height: 9px; width: 9px; border: 2px solid var(--blue); background: var(--white); border-radius: 50%; }
.careerCompany h3 { font-family: var(--display); font-size: 25px; line-height: 1.2; letter-spacing: -.6px; margin-top: 8px; }
.careerStage { color: var(--blue); font-size: 14px; line-height: 1.5; letter-spacing: 1.2px; font-weight: 700; display: block; }
.tenureNote { color: var(--muted); display: block; font-size: 14px; margin-top: 11px; }
.careerDetail h4 { font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.6; }
.careerDetail p { font-size: 16px; color: var(--muted); line-height: 1.8; margin-top: 11px; }
.expertiseGrid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 35px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.expertiseCard { position: relative; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.expertiseCard > svg { color: var(--blue); width: 31px; height: 31px; stroke-width: 1.3; margin-bottom: 23px; }
.cardIndex { position: absolute; top: 30px; right: 27px; font-size: 14px; color: #77889a; }
.expertiseCard h3 { font-size: 23px; line-height: 1.25; letter-spacing: -.6px; }
.expertiseCard p { font-size: 16px; color: var(--muted); line-height: 1.8; margin-top: 15px; }
.digitalCard { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 28px; background: var(--surface); }
.digitalCard > svg { margin-top: 3px; margin-bottom: 0; }
.digitalCard > div { max-width: 600px; padding-right: 20px; }
.digitalCard p { margin-top: 10px; }
.philosophy { background: var(--navy); padding: 40px; color: var(--white); border: 0; }
.philosophy .sectionLabel { color: #9dbfe8; }
.philosophy > h2 { font-size: 32px; }
.philosophy blockquote { margin: 32px 0; border-left: 2px solid var(--accent); padding-left: 24px; }
.philosophy blockquote p { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(27px, 2.8vw, 39px); font-weight: 400; line-height: 1.35; letter-spacing: -.5px; }
.philosophy cite { display: block; font-style: normal; font-size: 14px; color: #b4cae3; margin-top: 17px; }
.philosophyIntro { color: #c6d2e1; font-size: 16px; line-height: 1.8; }
.principleList { margin-top: 30px; }
.principleList article { display: flex; align-items: flex-start; gap: 24px; border-top: 1px solid #ffffff26; padding-top: 23px; margin-top: 23px; }
.principleList article > span { color: #97bce9; font-size: 14px; padding-top: 4px; font-variant-numeric: tabular-nums; }
.principleList h3 { font-family: var(--sans); font-size: 17px; font-weight: 600; }
.principleList p { font-size: 16px; line-height: 1.8; color: #c6d2e1; margin-top: 8px; }
.education .sectionLead { margin-bottom: 22px; }
.education > p:not(.eyebrow):not(.sectionLead) { font-size: 16px; line-height: 1.85; color: var(--muted); }
.subheading { margin-top: 38px; margin-bottom: 20px; font-size: 20px; letter-spacing: -.4px; }
.academicList { border-top: 1px solid var(--line); }
.academicList article { display: flex; gap: 25px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.academicList article > span { font-family: var(--display); color: var(--blue); font-size: 16px; width: 62px; flex-shrink: 0; padding-top: 1px; }
.academicList h4 { font-family: var(--sans); font-size: 17px; font-weight: 600; line-height: 1.5; }
.academicList p { font-size: 16px; color: var(--muted); margin-top: 5px; }
.academicList small { display: block; margin-top: 5px; font-size: 14px; color: var(--muted); }
.engagement { margin-top: 24px; background: var(--surface); }
.engagement summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; min-height: 64px; list-style: none; font-size: 16px; font-weight: 600; cursor: pointer; }
.engagement summary::-webkit-details-marker { display: none; }
.engagement summary svg { width: 20px; height: 20px; color: var(--blue); transition: transform .18s; }
.engagement[open] summary svg { transform: rotate(45deg); }
.engagement > div { padding: 0 24px 24px; }
.engagement p { font-size: 16px; color: var(--muted); }
.profileClosing { max-width: 640px; }
.closingLine { display: block; width: 45px; height: 3px; background: var(--blue); margin-bottom: 25px; }
.profileClosing > p { margin-top: 24px; color: var(--muted); font-size: 16px; }
.siteFooter { background: var(--navy); color: var(--white); }
.footerInner { max-width: 1600px; margin: auto; padding: 50px 5% 25px; }
.footerTop { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.siteFooter .brandName { font-size: 25px; }
.siteFooter .brandName > span { color: #b4c4d7; }
.backTop { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: 14px; }
.backTop svg { width: 19px; height: 19px; }
.disclaimer { max-width: 1060px; font-size: 14px; line-height: 1.85; color: #b4c4d7; margin-top: 35px; }
.footerBottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #ffffff24; padding-top: 22px; margin-top: 35px; color: #b4c4d7; font-size: 14px; }
.footerBottom > span:last-child { font-size: 14px; letter-spacing: 1.4px; }
@media (min-width: 1700px) {
.heroImage { left: 37%; }
.heroShade { background: linear-gradient(90deg, #071c35 25%, #071c35f5 37%, #071c35aa 45%, #071c3500 68%), linear-gradient(0deg, #071c35ab, #071c3500 24%); }
}
@media (max-width: 1100px) {
.siteHeader { min-height: 110px; padding: 16px 4%; gap: 20px; }
.brandName { font-size: 21px; }
.brandName > span { max-width: 235px; font-size: 14px; letter-spacing: .3px; }
.siteHeader nav { gap: 16px; font-size: 16px; }
.heroInner { min-height: 650px; padding-top: 55px; }
.heroHeadline { font-size: 48px; letter-spacing: -2px; }
.heroCopy { max-width: 500px; }
.heroImage { left: 31%; }
.focusInner { gap: 20px; }
.focusInner > span { font-size: 14px; padding-left: 20px; }
.profileLayout { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; padding-top: 65px; }
.profileSidebar nav a { font-size: 15px; gap: 8px; padding-left: 10px; }
.aboutColumns { grid-template-columns: 1fr; gap: 20px; }
.careerEntry { grid-template-columns: 1fr; gap: 16px; padding-bottom: 36px; }
.careerCompany h3 br { display: none; }
.careerDetail h4 br { display: none; }
.expertiseCard { padding: 24px; }
.expertiseCard h3 { font-size: 22px; }
.philosophy { padding: 30px; }
}
@media (max-width: 767px) {
html { scroll-padding-top: 24px; }
.siteHeader { min-height: 110px; height: auto; padding: 16px 6%; position: relative; }
.brandName { font-size: 21px; }
.brandName > span { max-width: 220px; font-size: 14px; letter-spacing: .2px; margin-top: 6px; }
.menuToggle { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 0; font-size: 16px; }
.menuToggle svg { width: 20px; height: 20px; }
.siteHeader nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 20; background: var(--white); padding: 18px 6% 26px; border-top: 1px solid var(--line); box-shadow: 0 15px 20px #071c351a; flex-wrap: wrap; gap: 6px 28px; }
.siteHeader nav.isOpen { display: flex; }
.siteHeader nav > a { font-size: 16px; min-height: 48px; }
.hero { display: flex; flex-direction: column; }
.heroInner { min-height: 0; width: 100%; padding: 43px 6% 30px; order: -1; }
.heroCopy { max-width: 100%; }
.lightLabel { font-size: 14px; letter-spacing: 1.1px; gap: 10px; }
.hero h1 { font-size: 18px; margin: 24px 0 15px; }
.heroHeadline { font-size: clamp(35px, 8.5vw, 56px); letter-spacing: -1.6px; line-height: 1.1; }
.heroRole { font-size: 16px; line-height: 1.65; margin-top: 22px; }
.lightButton { margin-top: 24px; min-height: 48px; font-size: 16px; }
.heroImage { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 5 / 4; z-index: 0; }
.heroImage img { position: absolute; inset: 0; object-position: center; }
.heroShade { display: none; }
.heroBottom { position: static; margin-top: 26px; }
.heroBottom > span { font-size: 14px; line-height: 1.6; letter-spacing: .5px; max-width: 245px; }
.heroBottom a { width: 44px; height: 44px; }
.focusInner { padding: 25px 6%; grid-template-columns: 1fr; gap: 0; }
.focusInner > p { font-size: 14px; margin-bottom: 14px; }
.focusInner > p br { display: none; }
.focusInner strong { margin-left: 8px; font-size: 14px; }
.focusInner > span { border-left: 0; padding: 9px 0; font-size: 15px; }
.focusInner > span::before { content: ''; display: inline-block; width: 12px; height: 1px; background: var(--blue); vertical-align: middle; margin-right: 12px; }
.profileLayout { display: block; padding: 0 6% 60px; }
.profileSidebar { margin: 0 -6.82% 46px; padding: 22px 6%; border-bottom: 1px solid var(--line); }
.sidebarInner { position: static; }
.sidebarInner > .eyebrow { font-size: 14px; margin-bottom: 10px; }
.profileSidebar nav { flex-direction: row; flex-wrap: wrap; gap: 0 18px; }
.profileSidebar nav a { border: 0; padding: 7px 0; min-height: 44px; font-size: 15px; }
.profileSidebar nav a span { font-size: 14px; }
.profileSidebar nav a[aria-current] { text-decoration: underline; text-underline-offset: 5px; }
.sidebarNote { display: none; }
h2 { font-size: clamp(29px, 7.5vw, 39px); letter-spacing: -1px; line-height: 1.2; }
.profileSection { padding-bottom: 45px; margin-bottom: 45px; scroll-margin-top: 25px; }
.sectionLabel { font-size: 14px; letter-spacing: 1.2px; margin-bottom: 20px; }
.sectionLead { font-size: 20px; margin-top: 24px; margin-bottom: 22px; }
.aboutColumns { gap: 20px; }
.aboutColumns p { font-size: 16px; line-height: 1.8; }
.profileFacts { padding: 20px; gap: 20px; grid-template-columns: 1fr; margin-top: 26px; }
.profileFacts strong { font-size: 14px; }
.sectionHeader > p:not(.eyebrow) { font-size: 16px; margin-top: 20px; }
.careerTimeline { margin-top: 30px; }
.careerEntry { padding-left: 23px; gap: 15px; padding-bottom: 32px; }
.careerCompany h3 { font-size: 25px; }
.careerStage { font-size: 14px; letter-spacing: .9px; }
.careerDetail h4 { font-size: 16px; line-height: 1.6; }
.careerDetail p { font-size: 16px; line-height: 1.8; }
.tenureNote { font-size: 14px; }
.expertiseGrid { grid-template-columns: 1fr; margin-top: 28px; }
.expertiseCard { padding: 26px; }
.expertiseCard > svg { margin-bottom: 22px; }
.expertiseCard h3 { font-size: 25px; }
.expertiseCard h3 br { display: none; }
.expertiseCard p { font-size: 16px; line-height: 1.75; }
.cardIndex { font-size: 14px; }
.digitalCard { grid-column: auto; display: block; }
.digitalCard > div { padding-right: 0; }
.digitalCard > svg { margin-bottom: 22px; }
.philosophy { padding: 30px 23px; margin-left: -2px; margin-right: -2px; }
.philosophy > h2 { font-size: 29px; line-height: 1.2; }
.philosophy blockquote { padding-left: 17px; margin: 28px 0; }
.philosophy blockquote p { font-size: 28px; line-height: 1.35; }
.philosophy blockquote p br { display: none; }
.philosophyIntro { font-size: 16px; }
.principleList article { gap: 16px; padding-top: 20px; margin-top: 20px; }
.principleList h3 { font-size: 18px; line-height: 1.5; }
.principleList p { font-size: 16px; line-height: 1.75; }
.education > p:not(.eyebrow):not(.sectionLead) { font-size: 16px; line-height: 1.8; }
.subheading { font-size: 22px; margin-top: 30px; }
.academicList article { gap: 14px; }
.academicList article > span { font-size: 14px; width: 44px; padding-top: 3px; }
.academicList h4 { font-size: 17px; }
.academicList p { font-size: 16px; }
.academicList small { font-size: 14px; }
.engagement summary { padding: 18px; font-size: 16px; line-height: 1.6; }
.engagement > div { padding: 0 18px 22px; }
.engagement p { font-size: 16px; }
.profileClosing > p { font-size: 16px; }
.footerInner { padding: 35px 6% 24px; }
.footerTop { align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.siteFooter .brandName { font-size: 20px; }
.siteFooter .brandName > span { font-size: 14px; letter-spacing: .2px; }
.backTop { font-size: 14px; gap: 8px; white-space: nowrap; }
.disclaimer { font-size: 14px; line-height: 1.8; margin-top: 28px; }
.footerBottom { margin-top: 25px; flex-direction: column; gap: 7px; font-size: 14px; }
.footerBottom > span:last-child { font-size: 14px; letter-spacing: 1px; }
}
@media (max-width: 359px) {
.brandName { font-size: 18px; }
.brandName > span { font-size: 14px; }
.heroHeadline { font-size: 32px; letter-spacing: -1.5px; }
.heroInner { padding-top: 35px; }
.lightLabel { font-size: 14px; }
.focusInner strong { display: block; margin-left: 0; }
.siteFooter .brandName { font-size: 18px; }
.footerTop { flex-wrap: wrap; gap: 10px; }
}
@media (min-width: 768px) and (max-width: 900px) {
.siteHeader { position: relative; }
.menuToggle { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; }
.siteHeader nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 20; background: var(--white); padding: 20px 4%; border-top: 1px solid var(--line); box-shadow: 0 15px 20px #071c351a; flex-wrap: wrap; gap: 12px 28px; }
.siteHeader nav.isOpen { display: flex; }
.siteHeader nav > a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
body { background: white; }
.siteHeader nav, .menuToggle, .profileSidebar, .heroBottom, .button, .backTop { display: none !important; }
.hero, .philosophy, .siteFooter { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.heroInner { min-height: 620px; }
.profileLayout { display: block; padding: 35px 0; }
.profileSection { padding-bottom: 30px; margin-bottom: 30px; }
.careerEntry, .expertiseCard, .academicList article, .principleList article { break-inside: avoid; }
.engagement > div { display: block; }
}
