:root{
  --ink:#1A1A1A; --body:#3E4853; --muted:#5A6470; --hairline:#E3E6EA;
  --accent:#0B5CD5; --card:#E8EDF3 pale blue-grey; --hero:#0C0F13; --cta:#12395F;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--accent)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;color:var(--ink);padding:10px 14px;z-index:99}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hero a:focus-visible,.site-foot a:focus-visible{outline-color:#fff}
.staging{background:#7A1F1F;color:#fff;font:600 12px var(--sans);padding:8px 30px;letter-spacing:.04em}
.wrap{max-width:1120px;margin:0 auto}

/* ── utility bar + nav: WHITE with black text, thin rules, no shadow ── */
.site-util{background:#fff;padding:16px 30px;display:flex;justify-content:space-between;
  align-items:center;border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:12px}
.site-mark{font:400 25px/1 var(--serif);color:var(--ink);letter-spacing:.30em;text-decoration:none;display:block}
.site-mark i{font-style:normal;font:600 8.5px/1 var(--sans);letter-spacing:.16em;
  color:var(--muted);display:block;margin-top:7px;text-transform:uppercase}
.util-r{display:flex;align-items:center;gap:16px;font:12px var(--sans);color:var(--muted);flex-wrap:wrap}
.util-btn{background:var(--cta);color:#fff;padding:9px 17px;font:600 12px var(--sans);text-decoration:none;border-radius:0}
.site-nav{background:#fff;padding:0 30px;display:flex;gap:28px;border-bottom:1px solid var(--hairline);
  font:600 12.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap}
.site-nav a{padding:15px 0;display:inline-block;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom-color:var(--accent)}

/* ── hero: near-black band, oversized regular-weight serif, squared solid CTA ── */
.hero{background:linear-gradient(100deg,var(--hero) 0%,var(--hero) 52%,#1C2A38 100%);
  padding:64px 30px;position:relative;overflow:hidden}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:34%;
  background:linear-gradient(160deg,#2A3441,#0F141A);color:#5C6874;
  font:600 10px/1.7 var(--sans);letter-spacing:.12em;display:flex;align-items:center;
  justify-content:center;text-align:center;padding:0 14px}
.hero-in{position:relative;z-index:2;max-width:60%}
.hero h1{font:400 44px/1.14 var(--serif);margin:0 0 16px;color:#fff;letter-spacing:-.005em}
.hero p{color:#B4BDC6;font-size:15px;margin:0 0 26px;max-width:32em}
.btn{display:inline-block;background:var(--cta);color:#fff;padding:13px 26px;
  font:600 13px var(--sans);text-decoration:none;border-radius:0;margin:0 10px 10px 0}
.btn2{display:inline-block;border:1px solid #5C6874;color:#DDE3E9;padding:13px 26px;
  font:600 13px var(--sans);text-decoration:none;border-radius:0;margin:0 10px 10px 0}

.proof{display:flex;gap:30px;flex-wrap:wrap;align-items:center;padding:22px 30px;background:#fff;
  border-bottom:1px solid var(--hairline);font:600 11.5px var(--sans);letter-spacing:.12em;
  color:var(--muted);text-transform:uppercase}

.band{padding:44px 30px;border-bottom:1px solid var(--hairline);background:#fff}
.band h2{font:400 30px/1.25 var(--serif);color:var(--ink);margin:0 0 22px;letter-spacing:-.005em}
.band h3{font:700 14px var(--sans);color:var(--ink);margin:0 0 8px}
.band p{color:var(--body);font-size:14.5px;max-width:46em}
.lede{font-size:15.5px;color:var(--body);max-width:44em;margin:0 0 26px}

.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.cd{background:var(--card);padding:22px 20px;border-radius:0;box-shadow:none}
.cd em{font-style:normal;display:block;width:20px;height:3px;background:var(--accent);margin-bottom:13px}
.cd b{display:block;color:var(--ink);font:700 14px/1.35 var(--sans);margin-bottom:8px}
.cd p{font-size:13px;color:var(--body);margin:0;line-height:1.6}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.two ul{margin:8px 0 0;padding-left:18px;color:var(--body);font-size:13.5px;line-height:1.75}

.bio{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.shot{width:112px;height:140px;background:var(--card);display:flex;align-items:center;
  justify-content:center;text-align:center;font:600 10px/1.7 var(--sans);
  letter-spacing:.08em;color:var(--muted);flex:none}
.bio-t{flex:1;min-width:250px;font-size:14px;color:var(--body);line-height:1.72}
.page-h1{font:400 34px/1.2 var(--serif);color:var(--ink);margin:0 0 20px;letter-spacing:-.005em}
.fineprint{color:var(--muted);font-size:13.5px}
.btn2.light{border-color:#C3CAD2;color:var(--body)}
.lnk{color:var(--accent);font-weight:600;text-decoration:none}
.lnk:hover{text-decoration:underline}
.mail{font:600 18px var(--sans);color:var(--accent);text-decoration:none;word-break:break-word}

/* ── photo panels: real <img> covers, monogram fills when EP has not supplied one ── */
img.hero-photo,img.shot{object-fit:cover;object-position:center 22%}
.mono{font:400 34px/1 var(--serif);letter-spacing:.16em;color:#8A949E;
  background:linear-gradient(160deg,#2A3441,#0F141A)}
.shot.mono{background:var(--card);color:var(--muted);font-size:26px}

/* ── selected progression: years column + role, one hairline per row ── */
.band.alt{background:#F7F8FA}
.prog{border-top:1px solid var(--hairline)}
.prog-row{display:flex;gap:26px;padding:17px 0;border-bottom:1px solid var(--hairline)}
.prog-y{flex:none;width:104px;font:600 12.5px var(--sans);letter-spacing:.04em;
  color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.prog-b{flex:1;min-width:0}
.prog-b b{display:block;font:600 14.5px var(--sans);color:var(--ink)}
.prog-b i{display:block;font-style:normal;font:400 12.5px var(--sans);color:var(--accent);
  margin:2px 0 5px;letter-spacing:.02em}
.prog-b p{margin:0;font-size:13.5px;color:var(--body);line-height:1.65}

/* ── roles nested inside an employer bucket ── */
.prog-roles{margin:9px 0 0}
.prog-sub{display:flex;gap:26px;padding:7px 0}
.prog-sub+.prog-sub{border-top:1px solid var(--hairline)}
.prog-sy{flex:none;width:104px;font:600 11.5px var(--sans);letter-spacing:.04em;
  color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.prog-sb{flex:1;min-width:0}
.prog-sb b{display:block;font:600 13px var(--sans);color:var(--ink)}
.prog-sb p{margin:1px 0 0;font-size:12.5px;color:var(--body);line-height:1.6}
@media(max-width:640px){.prog-sub{gap:12px}.prog-sy{width:74px}}

.site-foot{background:var(--hero);color:#8A949E;padding:30px;font-size:11.5px}
.site-foot a{color:#B4BDC6}
.site-foot nav{margin-bottom:10px;display:flex;gap:18px;flex-wrap:wrap}

@media(max-width:760px){
  .hero{padding:40px 22px}
  .hero-in{max-width:100%}
  .hero-photo{display:none}
  .hero h1{font-size:31px}
  .band{padding:32px 22px}
  .band h2{font-size:24px}
  .page-h1{font-size:27px}
  .site-util,.site-nav,.proof,.site-foot{padding-left:22px;padding-right:22px}
  .site-nav{gap:18px}
  /* years stack above the role on narrow screens — a 104px column strands the text */
  .prog-row{flex-direction:column;gap:5px}
  .prog-y{width:auto;padding-top:0}
}
