:root {
  --cream:#f4f0e7; --light:#faf8f3; --ink:#302821; --body:#50473e; --sage:#526745;
  --line:#e4ddd1; --serif:"Cormorant Garamond",Georgia,serif; --sans:"DM Sans",system-ui,sans-serif;
  --gutter:clamp(1.3rem,8vw,7rem);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 var(--sans)}
h1,h2,h3,h4,p,figure {margin:0}
a {color:inherit;text-underline-offset:.28em}
a:focus-visible {outline:2px solid currentColor;outline-offset:4px}
.skip {position:absolute;z-index:2;left:1rem;top:1rem;background:white;padding:.6rem;transform:translateY(-180%)}
.skip:focus {transform:none}
.wrap {width:min(75rem,calc(100% - 2 * var(--gutter)));margin:auto}
header,.footer-row {display:flex;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;flex-wrap:wrap}
header {min-height:4.5rem}
nav,.actions {display:flex;align-items:center;flex-wrap:wrap;gap:0 clamp(.65rem,1.7vw,1.6rem)}
nav a,.actions a {display:inline-flex;align-items:center;min-height:2.6rem;font-size:.82rem}
header a {text-decoration:none}
header nav a:hover {text-decoration:underline}
.wordmark,.footer-row p {font:600 1.5rem var(--serif)}
.wordmark em,h1 em {color:var(--sage)}
.opening {background:#f5f0e8}
main>.opening {background:radial-gradient(ellipse at top left,#f4e7e0,transparent 45%),radial-gradient(ellipse at bottom right,#dfe6d8,transparent 50%),#f5f0e8}
.hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,7vw,7rem);padding:clamp(3rem,5vw,5rem) 0 clamp(4.7rem,8vw,8rem)}
.label {text-transform:uppercase;font-size:.7rem;line-height:1.5;letter-spacing:.15em;color:var(--sage);font-weight:700}
h1,h2,h3,h4 {font-family:var(--serif);font-weight:600}
h1 {font-size:clamp(4rem,7.15vw,7rem);line-height:.88;letter-spacing:-.045em;margin:1.5rem 0}
h1 em {display:block;font-weight:500}
.balanced,h2 {text-wrap:balance}
.intro {max-width:34ch;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--body)}
.actions {margin-top:1.5rem}
.button {border-radius:99rem;padding:.5rem 1.15rem;gap:.6rem;background:var(--sage);color:white;text-decoration:none;font-weight:700}
.button:hover {background:#405437}
.location {margin-top:2.1rem}
.portrait {width:min(calc(100% - 1.7rem),26rem);justify-self:center;position:relative;isolation:isolate}
.portrait::before,.portrait::after {content:"";position:absolute;z-index:-1;inset:-.6rem;border-radius:1.8rem}
.portrait::before {background:#ead6cd;transform:rotate(4deg)}
.portrait::after {background:#dce4d6;transform:rotate(-1.8deg)}
.portrait img {display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 39%;border-radius:1.45rem;border:5px solid #faf7f0}
.light {background:var(--light)}
.content {padding:clamp(3.9rem,7vw,6.8rem) 0}
.content>.label,footer .label {margin-bottom:1rem}
h2 {font-size:clamp(2.65rem,4.5vw,4.05rem);line-height:.98;letter-spacing:-.025em;max-width:19ch}
.prose {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem clamp(2rem,6vw,5rem);margin-top:2.25rem;max-width:62rem}
.prose p,.card p:not(.label) {color:var(--body)}
.card {background:#fffdfa;border:1px solid var(--line);border-radius:1.05rem;padding:clamp(1.3rem,2.6vw,2.2rem);min-width:0}
.card h3 {font-size:clamp(1.6rem,2.3vw,2.15rem);line-height:1.04;margin:.35rem 0 .55rem}
.card h4 {font-size:1.65rem;line-height:1.08;margin:.25rem 0 .45rem}
.card p:not(.label) {font-size:.92rem}
.education {max-width:53rem;margin-top:2rem}
.education h3 {font-size:clamp(2rem,3vw,2.8rem)}
.courses {display:flex;flex-wrap:wrap;list-style:none;gap:.45rem;padding:0;margin:1.1rem 0}
.courses li {background:#f1ece3;border-radius:1rem;padding:.3rem .7rem;font-size:.78rem}
.research {border-top:1px solid var(--line);padding-top:1rem}
.cards {margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.experience .card {display:flex;flex-direction:column}
.experience .result {margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);font-weight:600}
.experience h3+p {margin-bottom:1.2rem}
.result strong {display:block;color:var(--sage);font:600 2rem var(--serif);font-variant-numeric:lining-nums}
.leadership h3 {font-size:clamp(1.45rem,2vw,1.85rem)}
.leadership .label {margin-bottom:.55rem}
footer {background:var(--ink);color:#faf3e9;padding:clamp(3.5rem,6vw,6rem) 0 2rem}
footer .label {color:#c4d3b9}
footer h2 {max-width:none}
footer h2 em {color:#edcfc5}
.footer-row {border-top:1px solid #62564d;margin-top:2rem;padding-top:1rem}
@media(max-width:49rem) {
  :root {--gutter:clamp(1.3rem,6vw,2.6rem)}
  header {padding-top:.9rem}
  .hero,.prose {grid-template-columns:minmax(0,1fr)}
  .hero {gap:2.7rem;padding-top:2.4rem}
  h1 {font-size:clamp(3.7rem,13vw,5.6rem)}
  .portrait img {aspect-ratio:4/5}
  .portrait {width:min(calc(100% - 1.7rem),22rem)}
  .cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:33rem) {.cards {grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}
