
:root{
  --ink:#14211e;--muted:#5d6c67;--paper:#f7f4ec;--paper2:#ece8dd;
  --forest:#0f3d32;--forest2:#1b5a49;--lime:#c7e66b;--ochre:#d9a441;
  --line:rgba(20,33,30,.15);--white:#fff;--shadow:0 22px 70px rgba(16,42,37,.10);
  --radius:22px;--serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",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:inherit} img{max-width:100%}.shell{width:min(1160px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:99}
header{position:sticky;top:0;z-index:50;background:rgba(247,244,236,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}
.brand{text-decoration:none;font-weight:800;letter-spacing:-.02em}.brand span{display:block;font-size:.72rem;color:var(--muted);font-weight:600}
.links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.links a{text-decoration:none;font-size:.92rem}.links a:hover,.links a[aria-current="page"]{color:var(--forest2)}
.hero{padding:86px 0 64px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:var(--forest2)}
h1,h2,h3{font-family:var(--serif);line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3rem,7vw,6.4rem);margin:.15em 0}.sub{font-size:1.18rem;color:var(--muted);max-width:760px}
.hero-card{background:var(--forest);color:#fff;padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-card strong{color:var(--lime)}.button{display:inline-block;background:var(--forest);color:#fff;text-decoration:none;padding:12px 17px;border-radius:999px;font-weight:750;margin:7px 7px 0 0}
.button.alt{background:transparent;color:var(--forest);border:1px solid var(--forest)}
.section{padding:72px 0;border-top:1px solid var(--line)}.section h2{font-size:clamp(2.2rem,4vw,4rem);margin:.2em 0 .35em}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 10px 35px rgba(16,42,37,.05)}
.card h3{font-size:1.45rem;margin:.25em 0}.meta,.muted{color:var(--muted);font-size:.92rem}.tag{display:inline-block;border:1px solid var(--line);padding:4px 9px;border-radius:999px;font-size:.76rem;margin:2px}
.list{display:grid;gap:14px}.item{padding:24px 0;border-bottom:1px solid var(--line)}.item h3{font-size:1.55rem;margin:.2em 0}
.kicker{font-size:1.05rem;color:var(--muted);max-width:800px}.notice{border-left:4px solid var(--ochre);padding:12px 18px;background:rgba(217,164,65,.08)}
.breadcrumb{font-size:.85rem;color:var(--muted);padding-top:24px}.breadcrumb a{text-decoration:none}
.cta{background:var(--forest);color:#fff;border-radius:var(--radius);padding:34px}.cta a{color:var(--lime)}
footer{padding:42px 0;background:#102a25;color:#e9efe9;margin-top:60px}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer a{color:#fff}.small{font-size:.84rem;color:#cbd6d1}
.prose{max-width:850px}.prose h2{font-size:2rem;margin-top:1.8em}.prose h3{font-size:1.35rem;margin-top:1.6em}
blockquote{margin:24px 0;padding:18px 24px;border-left:4px solid var(--lime);background:rgba(255,255,255,.55)}
@media(max-width:850px){.hero-grid,.grid,.grid.two{grid-template-columns:1fr}.hero{padding-top:56px}.shell{width:min(100% - 28px,1160px)}}

.hero-photo-wrap{position:relative;display:flex;justify-content:center;align-items:center}
.hero-photo{width:min(100%,390px);aspect-ratio:1/1;object-fit:cover;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow);background:#dfe8ef}
.hero-photo-note{margin-top:10px;text-align:center;color:var(--muted);font-size:.8rem}
.authority-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.authority-strip .mini{padding:18px;border-top:1px solid var(--line)}
.authority-strip .mini strong{display:block;font-family:var(--serif);font-size:1.15rem;margin-bottom:4px}
@media(max-width:850px){.authority-strip{grid-template-columns:1fr 1fr}.hero-photo{width:min(78vw,360px)}}
@media(max-width:520px){.authority-strip{grid-template-columns:1fr}}

.section h1{font-size:clamp(2.2rem,4vw,4rem);margin:.2em 0 .35em}

/* About page: prevent the methods card from stretching to match the taller philosophy column. */
.about-grid{align-items:start}


/* Speaking & Academic Engagements */
.engagement-list{display:grid;gap:0;margin-top:1.5rem;border-top:1px solid var(--line)}
.engagement{display:grid;grid-template-columns:88px 1fr;gap:1.25rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.engagement-year{font-weight:800;font-size:1.05rem;color:var(--ink)}
.engagement h3{margin:.1rem 0 .45rem}
.engagement p{margin:.3rem 0}
@media (max-width:640px){.engagement{grid-template-columns:1fr;gap:.25rem}.engagement-year{margin-bottom:.1rem}}


/* Prominent academic profile links */
.profile-links-label{margin:22px 0 8px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.profile-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;max-width:780px}
.profile-link{display:flex;flex-direction:column;justify-content:center;min-height:70px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.62);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.profile-link:hover,.profile-link:focus-visible{transform:translateY(-2px);border-color:var(--forest2);box-shadow:0 8px 24px rgba(16,42,37,.08);outline:none}
.profile-link span{font-weight:800;color:var(--forest);line-height:1.2}
.profile-link small{display:block;margin-top:4px;color:var(--muted);font-size:.76rem;line-height:1.3}
.academic-profiles-panel{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.academic-profiles-panel h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:.15em 0 .3em}
@media(max-width:700px){
  .profile-links{grid-template-columns:1fr}
  .profile-link{min-height:64px}
}


/* Mobile navigation */
.menu-toggle{
  display:none;
  appearance:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  color:var(--ink);
  border-radius:999px;
  padding:9px 14px;
  font:inherit;
  font-size:.9rem;
  font-weight:800;
  cursor:pointer;
}
.menu-toggle:focus-visible{outline:2px solid var(--forest2);outline-offset:3px}

@media(max-width:850px){
  .nav{position:relative;min-height:68px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .links{
    display:none;
    position:absolute;
    top:calc(100% + 1px);
    left:0;
    right:0;
    padding:12px 14px 16px;
    background:rgba(247,244,236,.98);
    border-bottom:1px solid var(--line);
    box-shadow:0 14px 28px rgba(16,42,37,.08);
    gap:0;
  }
  .links.is-open{display:grid}
  .links a{
    display:block;
    padding:12px 4px;
    border-bottom:1px solid var(--line);
    font-size:1rem;
  }
  .links a:last-child{border-bottom:0}
  .brand{max-width:72%}
  .brand span{font-size:.68rem}
}
