:root{--green:#173f35;--green2:#24594b;--cream:#f6f1e7;--paper:#fffdf9;--gold:#b59150;--ink:#202522;--muted:#68716c;--line:#d9d4c9;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:var(--green2);text-underline-offset:3px}img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:50}.site-header{min-height:76px;padding:0 clamp(1.25rem,4vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);z-index:20}.wordmark{font-family:var(--serif);font-size:1.15rem;text-decoration:none;color:var(--green);font-weight:bold}.site-nav{display:flex;align-items:center;gap:1.35rem}.site-nav a{text-decoration:none;color:var(--ink);font-size:.82rem;letter-spacing:.055em;text-transform:uppercase}.site-nav a:hover{color:var(--green2)}.cv-link{background:var(--green);color:#fff!important;padding:.6rem .9rem}.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:.5rem .8rem}main{min-height:70vh}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:bold;color:var(--gold)}h1,h2,h3{font-family:var(--serif);color:var(--green);line-height:1.15}h1{font-size:clamp(3.4rem,7vw,7rem);font-weight:normal;margin:.3rem 0 1rem}h2{font-size:clamp(2rem,3.3vw,3.2rem);font-weight:normal}h3{font-size:1.3rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:690px;background:linear-gradient(120deg,var(--cream),#fff);padding-left:clamp(1.25rem,7vw,8rem)}.hero-copy{align-self:center;max-width:720px;padding:5rem 3rem 5rem 0}.title-line{font-size:1.05rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.hero blockquote{font-family:var(--serif);font-size:clamp(1.35rem,2.3vw,2rem);font-style:italic;color:var(--green);border-left:3px solid var(--gold);margin:2.4rem 0;padding-left:1.4rem}.hero-portrait{margin:0;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.actions{display:flex;gap:1rem}.button{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:.8rem 1.2rem;text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}.button.secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.editable-home{max-width:1100px;margin:0 auto;padding:5rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem 5rem}.editable-home h1{grid-column:1/-1;font-size:2.7rem}.editable-home>p{grid-column:1/-1;max-width:760px}.photo-band{display:grid;grid-template-columns:1.35fr .65fr;background:var(--green);color:#fff}.photo-band img{height:460px;width:100%;object-fit:cover}.photo-band div{padding:4rem;align-self:center}.photo-band h2{color:#fff}.page-hero-photo{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);min-height:610px}.page-hero-copy{padding:5rem clamp(2rem,7vw,8rem);align-self:center}.page-hero-copy h1{font-size:clamp(3rem,5.5vw,6rem)}.page-hero-copy>p{font-family:var(--serif);font-size:1.18rem}.page-hero-photo figure{margin:0;overflow:hidden}.page-hero-photo img{width:100%;height:100%;object-fit:cover}.record-section,.timeline,.publications,.cv-panel,.contact-card{max-width:1100px;margin:0 auto;padding:5rem 2rem}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.record-grid article,.institution{border-top:2px solid var(--gold);padding:1.3rem 0}.timeline article{display:grid;grid-template-columns:280px 1fr;gap:2rem;border-top:1px solid var(--line);padding:1.5rem 0}.timeline h3{margin:0}.role{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.76rem}.clean-list{padding-left:1.2rem}.clean-list li{margin:.5rem 0}.publications details{border-top:1px solid var(--line);padding:1.2rem 0}.publications summary{font-family:var(--serif);font-size:1.4rem;color:var(--green);cursor:pointer}.publications summary span{font-family:var(--sans);font-size:.8rem;background:var(--cream);padding:.2rem .5rem;margin-left:.5rem}.publications li{margin:0 0 1rem;padding-left:.5rem}.cv-panel{display:flex;justify-content:space-between;align-items:center;background:var(--cream);margin-bottom:5rem}.wide-photo{max-width:1200px;margin:0 auto 5rem}.wide-photo img{width:100%;max-height:620px;object-fit:cover}.wide-photo p{background:var(--green);color:#fff;margin:0;padding:1.5rem 2rem;font-family:var(--serif);font-size:1.25rem}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.site-footer{background:#102e27;color:#e8eee9;padding:3rem clamp(1.25rem,6vw,7rem);display:flex;justify-content:space-between;gap:2rem}.site-footer strong{font-family:var(--serif);font-size:1.15rem}.site-footer p:last-child{text-align:right}@media(max-width:1000px){.site-nav{gap:.8rem}.site-nav a{font-size:.72rem}}@media(max-width:850px){.nav-toggle{display:block}.site-header{flex-wrap:wrap}.site-header #primary-nav{display:none;width:100%}.site-header #primary-nav.open{display:block}.site-nav{flex-direction:column;align-items:flex-start;padding:1rem 0}.hero,.page-hero-photo{grid-template-columns:1fr;padding:0}.hero-copy,.page-hero-copy{padding:4rem 1.5rem}.hero-portrait{height:520px}.page-hero-photo figure{height:440px}.editable-home,.record-grid,.contact-card{grid-template-columns:1fr}.editable-home h1,.editable-home>p{grid-column:auto}.photo-band{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr;gap:.25rem}.cv-panel,.site-footer{display:block}.site-footer p:last-child{text-align:left}.actions{flex-wrap:wrap}}

/* Version 3.0 refinements */
:root{
  --shadow:0 18px 50px rgba(23,63,53,.10);
  --radius:2px;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.site-header{
  box-shadow:0 1px 0 rgba(23,63,53,.04);
}
.site-nav a{
  position:relative;
}
.site-nav a:not(.cv-link)::after{
  content:"";
  position:absolute;
  left:0; right:100%; bottom:-.35rem;
  height:1px;
  background:var(--gold);
  transition:right .22s ease;
}
.site-nav a:not(.cv-link):hover::after{right:0}
.hero-copy,.page-hero-copy{
  animation:fade-up .55s ease both;
}
.hero-portrait img,.page-hero-photo img{
  transform:scale(1.001);
  transition:transform .7s ease;
}
.hero:hover .hero-portrait img,
.page-hero-photo:hover img{transform:scale(1.018)}
.page-hero-photo{
  border-bottom:1px solid var(--line);
}
.page-hero-photo figure{
  position:relative;
}
.page-hero-photo figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(23,63,53,.08),transparent 38%);
  pointer-events:none;
}
.record-grid article,.institution,.timeline article,.publications details{
  transition:background-color .2s ease,transform .2s ease;
}
.record-grid article:hover,.institution:hover{
  transform:translateY(-2px);
}
.publications details[open]{
  background:rgba(246,241,231,.45);
  padding-left:1rem;
  padding-right:1rem;
}
.publications summary{
  list-style:none;
}
.publications summary::-webkit-details-marker{display:none}
.publications summary::before{
  content:"+";
  display:inline-block;
  width:1.3rem;
  color:var(--gold);
}
.publications details[open] summary::before{content:"–"}
.cv-panel,.contact-card{
  box-shadow:var(--shadow);
}
.wide-photo img{
  aspect-ratio:16/8.5;
}
.site-footer{
  border-top:4px solid var(--gold);
}
@keyframes fade-up{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* Version 3.1 — compact university-profile proportions */
:root{
  --content-width:1120px;
}

.site-header{
  min-height:68px;
}

.hero{
  grid-template-columns:1.08fr .72fr;
  min-height:500px;
  max-width:1440px;
  margin:0 auto;
  padding-left:clamp(1.25rem,5vw,5.5rem);
}

.hero-copy{
  padding:3.25rem 2.5rem 3.25rem 0;
}

.hero h1{
  font-size:clamp(2.9rem,5.2vw,5.25rem);
}

.hero blockquote{
  font-size:clamp(1.2rem,1.8vw,1.65rem);
  margin:1.7rem 0;
}

.hero-portrait{
  max-height:500px;
}

.title-line{
  font-size:.92rem;
}

.page-hero-photo{
  grid-template-columns:1.02fr .98fr;
  min-height:390px;
  max-width:1440px;
  margin:0 auto;
}

.page-hero-copy{
  padding:3rem clamp(1.5rem,5vw,5.5rem);
}

.page-hero-copy h1{
  font-size:clamp(2.65rem,4.6vw,4.75rem);
}

.page-hero-copy>p{
  font-size:1.05rem;
}

.page-hero-photo figure{
  min-height:390px;
  max-height:430px;
}

.page-hero-photo img{
  height:100%;
}

.editable-home,
.record-section,
.timeline,
.publications,
.cv-panel,
.contact-card{
  max-width:var(--content-width);
}

.editable-home{
  padding:3.75rem 2rem;
}

.record-section,
.timeline,
.publications,
.contact-card{
  padding:3.75rem 2rem;
}

.cv-panel{
  padding:2.75rem 2rem;
  margin-bottom:3.5rem;
}

h2{
  font-size:clamp(1.85rem,2.8vw,2.7rem);
}

.photo-band{
  max-width:1440px;
  margin:0 auto;
}

.photo-band img{
  height:340px;
}

.photo-band div{
  padding:2.75rem;
}

.wide-photo{
  max-width:var(--content-width);
  margin-bottom:3.5rem;
}

.wide-photo img{
  max-height:440px;
  aspect-ratio:16/7.5;
}

.site-footer{
  padding-top:2.25rem;
  padding-bottom:2.25rem;
}

@media(max-width:850px){
  .hero{
    min-height:auto;
  }

  .hero-copy{
    padding:3rem 1.5rem;
  }

  .hero-portrait{
    height:420px;
    max-height:none;
  }

  .page-hero-photo{
    min-height:auto;
  }

  .page-hero-photo figure{
    height:330px;
    min-height:0;
  }

  .photo-band img{
    height:290px;
  }
}

@media(max-width:560px){
  .hero h1{
    font-size:2.65rem;
  }

  .page-hero-copy h1{
    font-size:2.45rem;
  }

  .hero-portrait{
    height:360px;
  }

  .page-hero-photo figure{
    height:280px;
  }
}


/* Version 3.2 - Contact photo framing */
.contact-hero-photo img,
.contact-photo img,
.contact-page .page-hero-photo img{
    object-position:center 18% !important;
    object-fit:contain !important;
    background:#f4f1ea;
}


/* Version 3.3 - redesigned contact page with uncropped portrait photo */
.contact-intro{max-width:1120px;margin:0 auto;padding:4rem 2rem 2rem}.contact-intro h1{font-size:clamp(2.65rem,4.6vw,4.75rem);margin:.25rem 0 1rem}.contact-intro>p{max-width:760px;font-family:var(--serif);font-size:1.08rem}.contact-layout{max-width:1120px;margin:0 auto 4rem;padding:1rem 2rem 0;display:grid;grid-template-columns:minmax(300px,480px) 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}.contact-photo{margin:0;background:var(--cream);padding:1rem;box-shadow:var(--shadow)}.contact-photo img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important;display:block}.contact-details{padding:1rem 0}.contact-details h2{margin-top:0}.contact-rule{width:64px;height:2px;background:var(--gold);margin:1.75rem 0}.contact-details .button{margin-top:.75rem}.contact-card{display:none}
@media(max-width:850px){.contact-intro{padding:3rem 1.5rem 1.5rem}.contact-layout{grid-template-columns:1fr;padding:0 1.5rem 3rem;gap:2rem}.contact-photo{max-width:520px;margin:0 auto}.contact-details{text-align:left}}

/* Homepage spacing improvements */

.hero{
    min-height:380px !important;
}

.editable-home{
    display:block !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:2rem !important;
}

.editable-home h1{
    font-size:2.2rem !important;
    margin-bottom:1rem !important;
}

.editable-home h2{
    margin-top:2rem !important;
    margin-bottom:.5rem !important;
}

.editable-home p{
    margin-bottom:1rem !important;
}

/* About page spacing improvements */

.record-section,
.timeline,
.publications,
.contact-card{
    padding-top:2rem !important;
    padding-bottom:2rem !important;
}

.record-section{
    padding-bottom:1rem !important;
}

.timeline{
    padding-top:1rem !important;
}

.record-section h2,
.timeline h2,
.publications h2{
    margin-top:0 !important;
    margin-bottom:1.5rem !important;
}