  :root{
    /* ---- Fresh aqua palette: crisp white + vivid teal + #8DD9BF details ---- */
    --bg:            #ffffff;   /* page background — clean white */
    --bg-tint:       #effaf7;   /* alternating section tint — whisper of aqua */
    --ink:           #142723;   /* headings & body text */
    --muted:         #587068;   /* secondary text */
    --line:          #dcefe9;   /* hairlines / borders */
    --accent:        #0f766e;   /* primary teal (links, labels) — 5.5:1 on white, WCAG AA */
    --accent-deep:   #0b6e65;   /* hover / stronger teal */
    --accent-soft:   #cdf2ea;   /* soft aqua fills */
    --ring:          #8dd9bf;   /* photo ring & button borders — your green */

    /* Alternate palettes — paste one set over the values above to switch.
       ROSE-PINK:
       --bg-tint: #fdf0f6;  --ink: #291a20;  --muted: #7a5f6b;  --line: #f6dce8;
       --accent: #db2777;  --accent-deep: #a61e60;  --accent-soft: #fbd8e8;  --ring: #f3aecb;
       (photo box-shadow #fdeaf3 / rgba(219,39,119,.13), gallery gradient #fceaf2/#f8dcea, .ph color #dda3bd)
       SKY BLUE:
       --bg-tint: #eff7fd;  --ink: #14202a;  --muted: #586b7a;  --line: #dcebf5;
       --accent: #0284c7;  --accent-deep: #026197;  --accent-soft: #d3ecfa;  --ring: #93cdf0;
       (photo box-shadow #eaf5fd / rgba(2,132,199,.15), gallery gradient #e8f4fc/#daedf9, .ph color #8fbede) */

    --serif: "Source Serif 4", Georgia, serif;
    --sans:  "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;
    --mono:  "Source Code Pro", ui-monospace, monospace;

    --maxw: 1060px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  /* Keep anchor targets clear of the 70px sticky header */
  section[id],a[id]{scroll-margin-top:84px;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  a{color:var(--accent);text-decoration:none;}
  a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

  /* ---------- Header / nav ---------- */
  header.site{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.85);
    backdrop-filter:saturate(140%) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .navbar{display:flex;align-items:center;justify-content:space-between;height:70px;}
  .brand{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.2px;color:var(--ink);}
  .brand:hover{text-decoration:none;color:var(--ink);}
  nav.main{display:flex;gap:30px;}
  nav.main a{
    font-family:var(--mono);
    font-size:11.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);
  }
  nav.main a:hover{color:var(--accent);text-decoration:none;}
  .nav-toggle{display:none;}

  /* ---------- Hero ---------- */
  .hero{padding:78px 0 64px;}
  .hero-grid{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:center;}
  .photo-wrap{justify-self:center;}
  .photo{
    width:264px;height:264px;border-radius:50%;object-fit:cover;
    border:1px solid var(--ring);
    box-shadow:0 0 0 7px #eafaf4, 0 14px 34px rgba(13,148,136,.15);
  }
  .eyebrow{
    font-family:var(--mono);font-size:12px;font-weight:400;
    letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
    margin:0 0 14px;
  }
  h1.name{
    font-family:var(--serif);font-weight:500;font-size:48px;line-height:1.04;
    letter-spacing:-.01em;margin:0 0 16px;
  }
  .title{font-size:18px;color:var(--muted);margin:0;line-height:1.5;}
  .title strong{color:var(--ink);font-weight:600;}
  .pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}

  /* ---------- Buttons ----------
     Filled  = opens a document, leaves the page (CV, Job Market Paper, Latest Draft)
     Outline = acts on this page or utility (Abstract, email)                        */
  .btn{
    display:inline-flex;align-items:center;gap:7px;
    font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.05em;line-height:1.25;
    padding:10px 18px;border-radius:6px;border:1px solid transparent;
    cursor:pointer;transition:.15s ease;white-space:nowrap;
  }
  .btn-solid{background:var(--accent);color:#fff;border-color:var(--accent);}
  .btn-solid:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff;text-decoration:none;}
  .btn-outline{background:#fff;color:var(--accent-deep);border-color:var(--ring);}
  .btn-outline:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);text-decoration:none;}
  .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .btn .ext{font-size:11px;opacity:.9;}
  .btn .chev{display:inline-block;font-size:8.5px;transition:transform .15s ease;}
  details.paper[open] .btn .chev{transform:rotate(90deg);}
  .btn-sm{font-size:12px;padding:8px 15px;}
  #email-pill{justify-content:center;}
  nav.main a .ext{font-size:10px;opacity:.85;}

  /* ---------- Sections ---------- */
  section.block{padding:70px 0;border-top:1px solid var(--line);}
  section.tint{background:var(--bg-tint);}
  .kicker{
    font-family:var(--mono);font-size:11.5px;font-weight:500;
    letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
    margin:0 0 10px;
  }
  h2.sec{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:-.01em;margin:0 0 24px;}
  h3{font-family:var(--serif);font-weight:600;font-size:20px;margin:0 0 4px;}
  .lead{font-size:17px;}
  .lead a{font-weight:600;}

  /* Research / lists */
  .subhead{
    font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:var(--accent);margin:32px 0 8px;
  }
  .paper{padding:24px 0;border-bottom:1px solid var(--line);}
  .paper:last-child{border-bottom:0;}
  .paper .pt{font-family:var(--serif);font-size:18.5px;font-weight:500;color:var(--ink);line-height:1.35;}
  .paper .meta{color:var(--muted);font-size:15px;margin-top:2px;}
  .paper .meta em{color:var(--accent-deep);font-style:normal;}
  .paper .meta.award{font-size:14px;margin-top:4px;}
  .paper .meta.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px;}
  .badge{
    display:block;font-family:var(--mono);font-size:12.5px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--accent);margin-bottom:4px;
  }
  .paper.wip{padding:10px 0;}
  .paper.wip .pt{font-family:var(--sans);font-size:16.5px;font-weight:500;}
  .paper.wip .meta{font-size:14.5px;}
  details.paper summary{cursor:default;list-style:none;}
  details.paper summary::-webkit-details-marker{display:none;}
  /* Hovering a paper title lights up its Abstract button, pointing visitors to it */
  details.paper summary:has(.pt:hover) .btn-outline{background:var(--accent-soft);border-color:var(--accent);}
  .abstract{
    margin:14px 0 4px;padding:16px 20px;
    background:var(--bg-tint);border-left:3px solid var(--ring);border-radius:0 10px 10px 0;
    font-size:15.5px;color:var(--ink);
  }
  section.tint .abstract{background:#fff;}

  /* Teaching */
  .course{padding:10px 0;border-bottom:1px solid var(--line);}
  .subhead + .course{padding-top:2px;}
  .course:last-child{border-bottom:0;}
  .course .code{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;}
  .course .cn{font-family:var(--serif);font-size:18.5px;font-weight:600;margin:3px 0 3px;}
  .course .ci{color:var(--muted);font-size:15px;}

  /* Fieldwork carousel */
  .carousel{margin-top:26px;}
  .carousel .stage{
    position:relative;display:flex;align-items:center;justify-content:center;
    background:var(--bg-tint);border:1px solid var(--line);border-radius:14px;
    overflow:hidden;min-height:320px;
  }
  .carousel .stage img{display:none;max-width:100%;max-height:74vh;object-fit:contain;}
  .carousel .stage img.active{display:block;}
  .carousel .navbtn{
    position:absolute;top:50%;transform:translateY(-50%);z-index:2;
    width:46px;height:46px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--ring);background:rgba(255,255,255,.92);
    color:var(--accent-deep);font-size:19px;line-height:1;cursor:pointer;
    transition:.15s ease;
  }
  .carousel .navbtn:hover{background:var(--accent-soft);border-color:var(--accent);}
  .carousel .prev{left:14px;}
  .carousel .next{right:14px;}
  .carousel .caption{margin-top:16px;text-align:center;}
  .carousel .caption .cap{font-size:16.5px;color:var(--ink);}
  .carousel .caption .loc{
    display:block;margin-top:4px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
    color:var(--accent);text-transform:uppercase;
  }
  .carousel .caption .count{
    display:block;margin-top:6px;
    font-family:var(--mono);font-size:11px;letter-spacing:.08em;
    color:var(--muted);
  }
  @media (max-width:520px){
    .carousel .navbtn{width:38px;height:38px;font-size:16px;}
    .carousel .prev{left:8px;}
    .carousel .next{right:8px;}
  }

  /* Fieldwork gallery */
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px;}
  .tile figure{margin:0;}
  .tile .frame{
    aspect-ratio:4/3;border-radius:12px;overflow:hidden;
    background:linear-gradient(135deg,#e8f5ee,#dcefe5);
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  }
  .tile .frame img{width:100%;height:100%;object-fit:cover;display:block;}
  .tile .frame .ph{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#94c7b0;text-transform:uppercase;}
  .tile figcaption{margin-top:10px;line-height:1.35;}
  .tile .cap{font-size:16px;color:var(--ink);}
  .tile .loc{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--accent);text-transform:uppercase;display:block;margin-top:3px;}

  /* Footer */
  footer.site{border-top:1px solid var(--line);padding:38px 0 60px;}
  footer.site .fx{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px;}
  footer.site a{font-family:var(--mono);font-size:13px;}

  /* ---------- Responsive ---------- */
  @media (max-width:820px){
    body{font-size:16.5px;}
    nav.main{display:none;position:absolute;top:70px;left:0;right:0;
      flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 0;}
    nav.main.open{display:flex;}
    nav.main a{padding:12px 28px;}
    .nav-toggle{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
    .nav-toggle span{width:24px;height:2px;background:var(--ink);display:block;}
    .hero{padding:52px 0 44px;}
    .hero-grid{grid-template-columns:1fr;gap:34px;text-align:center;}
    .pills{justify-content:center;}
    h1.name{font-size:40px;}
    .gallery{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:520px){
    .gallery{grid-template-columns:1fr;}
    h1.name{font-size:35px;}
    h2.sec{font-size:26px;}
  }
