  :root{
    --paper:#ffffff;
    --panel:#ffffff;
    --panel-sunk:#eef0ea;
    --ink:#221a2e;
    --ink-soft:#5c5266;
    --line:rgba(34,26,46,0.16);
    --rule:rgba(34,26,46,0.4);
    --gold:#9c6b1e;
    --gold-soft:#f0dbac;
    --teal:#155a51;
    --teal-soft:#d9ece6;
    --focus:#155a51;
    /* contact / footer band: stays white, matching the rest of the page */
    --band:#ffffff;
    --band-line:rgba(34,26,46,0.16);
    --band-ink:#221a2e;
    --band-ink-soft:#5c5266;
    --band-gold:#9c6b1e;
    /* top nav band: brought back the deep plum from the earlier design */
    --header-bg:#43123b;
    --header-line:rgba(250,240,247,0.22);
    --header-ink:#faf0f7;
    --header-ink-soft:rgba(250,240,247,0.7);
    --header-gold:#dcae5c;
  }
  /* This site is intentionally light-mode only: it does not follow the visitor's
     OS/browser dark-mode preference, so it always renders with the palette above. */

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Plus Jakarta Sans', system-ui, sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    text-wrap:balance;
    margin:0;
    color:var(--ink);
  }
  a{color:inherit;}
  strong{font-weight:600;}
  .label{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.13em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .wrap{max-width:1140px; margin:0 auto; padding:0 32px;}
  section{padding:96px 0;}
  @media (max-width:720px){ section{padding:60px 0;} .wrap{padding:0 22px;} }
  .rule{height:1px; background:var(--rule); border:none; margin:0;}

  /* ---------- Letterhead band ---------- */
  .letterhead{
    position:sticky; top:0; z-index:50;
    background:var(--header-bg); color:var(--header-ink);
    border-bottom:3px solid var(--header-gold);
  }
  .letterhead .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:10px; padding-bottom:10px;}
  .brand{display:flex; align-items:center; gap:18px; text-decoration:none;}
  .brand svg, .brand img{width:96px; height:96px; flex:none; border-radius:50%;}
  .brand-text{font-family:'Fraunces', serif; font-weight:600; font-size:clamp(0.95rem, 1.6vw, 1.3rem); letter-spacing:0.01em; color:var(--header-ink); line-height:1.28; max-width:24ch;}
  @media (max-width:600px){
    .brand svg, .brand img{width:60px; height:60px;}
    .brand-text{font-size:0.92rem; max-width:20ch;}
  }
  .navlinks{display:flex; gap:22px; list-style:none; margin:0; padding:0;}
  .navlinks a{
    font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; color:var(--header-ink-soft);
    padding-bottom:3px; border-bottom:1px solid transparent;
    transition:color .15s ease, border-color .15s ease;
  }
  .navlinks a:hover{color:var(--header-ink); border-color:var(--header-gold);}
  a:focus-visible{outline:2px solid var(--focus); outline-offset:3px; border-radius:2px;}
  @media (max-width:760px){ .navlinks{display:none;} }
  @media (max-width:1100px){ .navlinks{gap:14px;} .nav-right{gap:18px;} .navlinks a{font-size:0.66rem; letter-spacing:0.05em;} }
  @media (max-width:1000px){ .navlinks{display:none;} }
  .navlinks a{white-space:nowrap;}
  section[id], .about-panel{scroll-margin-top:140px;}
  @media (max-width:600px){ section[id], .about-panel{scroll-margin-top:96px;} }
  .nav-right{display:flex; align-items:center; gap:28px;}
  .x-follow{
    font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; white-space:nowrap; color:var(--header-gold);
    padding:8px 14px; border:1px solid var(--header-gold); border-radius:999px;
    transition:background-color .15s ease, color .15s ease;
  }
  .x-follow:hover{background:var(--header-gold); color:var(--header-bg);}
  @media (max-width:600px){ .x-follow{padding:7px 11px; font-size:0.64rem;} }
  .contact-follow{
    display:inline-flex; align-items:center; gap:8px; margin-top:16px;
    font-family:'IBM Plex Mono', monospace; font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--band-ink); text-decoration:none;
    padding:10px 16px; border:1px solid var(--band-gold); border-radius:999px;
    transition:background-color .15s ease, color .15s ease;
  }
  .contact-follow:hover{background:var(--band-gold); color:#ffffff;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:130px 0 130px;
    overflow:hidden;
    background:var(--paper);
  }
  .hero-bg{position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
  .hero-veil{
    position:absolute; inset:0; z-index:1;
    background:radial-gradient(ellipse at center, color-mix(in srgb, #000000 12%, transparent) 0%, color-mix(in srgb, #000000 30%, transparent) 45%, color-mix(in srgb, #000000 48%, transparent) 100%);
  }
  .hero-wrap{
    position:relative; z-index:2;
    max-width:960px; margin:0 auto; text-align:center;
    display:flex; flex-direction:column; align-items:center;
  }
  .hero h1{font-size:clamp(2rem, 4vw, 3rem); line-height:1.12;}
  .hero .lede{margin-top:26px; font-size:1.42rem; line-height:1.4; color:#f2ede6; max-width:62ch; text-shadow:0 0 16px #000000, 0 0 28px #000000, 0 0 40px #000000;}
  .hero-tagline{
    margin-top:22px; font-family:'Fraunces', serif; font-style:italic; font-weight:500;
    font-size:1.32rem; color:#e8bf74;
    text-shadow:0 0 16px #000000, 0 0 28px #000000, 0 0 40px #000000;
  }
  .hero-parent{
    margin-top:20px; font-size:0.95rem; color:var(--ink-soft); font-style:italic;
    font-family:'Fraunces', serif; max-width:56ch;
  }
  .hero-parent b{color:var(--ink); font-weight:600; font-style:normal;}
  .cta-row{display:flex; gap:28px; margin-top:40px; flex-wrap:wrap; align-items:center; justify-content:center;}
  .btn{
    font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.07em; text-transform:uppercase;
    text-decoration:none; display:inline-flex; align-items:center; gap:9px;
  }
  .btn-primary{color:var(--ink); padding-bottom:5px; border-bottom:2px solid var(--gold);}
  .btn-primary:hover{color:var(--teal); border-color:var(--teal);}
  .btn-ghost{color:var(--ink-soft);}
  .btn-ghost:hover{color:var(--ink);}
  .btn svg{width:13px; height:13px;}

  @keyframes rise{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
  .hero h1, .hero .lede, .hero-parent, .cta-row{opacity:0; animation:rise .7s ease-out forwards;}
  .hero h1{animation-delay:.1s;}
  .hero .lede{animation-delay:.2s;}
  .hero-parent{animation-delay:.3s;}
  .cta-row{animation-delay:.4s;}
  @media (prefers-reduced-motion: reduce){
    .hero h1,.hero .lede,.hero-parent,.cta-row{animation:none; opacity:1;}
  }

  /* contact seal */
  .contact-head{display:flex; align-items:center; gap:28px; margin-bottom:8px;}
  .contact-seal{width:110px; height:110px; flex:none; border-radius:50%;}
  @media (max-width:600px){ .contact-head{flex-direction:column; text-align:center; gap:16px;} }

  /* ---------- Section headers ---------- */
  .sec-head{max-width:66ch; margin-bottom:48px;}
  .sec-head .num{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--gold); letter-spacing:0.08em;}
  .sec-head h2{font-size:clamp(1.75rem, 3vw, 2.4rem); margin-top:8px;}
  .sec-head p{color:var(--ink-soft); margin-top:16px; font-size:1.04rem;}

  /* ---------- Overview (charter articles) ---------- */
  .overview{background:var(--panel); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);}
  .about-tabs{display:flex; gap:28px; margin-bottom:40px; border-bottom:1px solid var(--rule); flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
  .about-tabs::-webkit-scrollbar{display:none;}
  .about-tab{white-space:nowrap; flex:none;}
  @media (max-width:600px){ .about-tabs{gap:20px;} }
  .about-tab{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; letter-spacing:0.05em; text-transform:uppercase; background:none; border:none; padding:0 0 14px; color:var(--ink-soft); cursor:pointer; border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease;}
  .about-tab:hover{color:var(--ink);}
  .about-tab.is-active{color:var(--ink); border-bottom-color:var(--gold);}
  .about-tab:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}
  .about-panel{display:none;}
  .about-panel.is-active{display:block; animation:aboutFadeIn .3s ease;}
  @keyframes aboutFadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  .profile-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:64px;}
  @media (max-width:860px){ .profile-grid{grid-template-columns:1fr; gap:40px;} }
  .about-panel .profile-copy{max-width:70ch;}
  .mission-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
  @media (max-width:700px){ .mission-grid{grid-template-columns:1fr; gap:8px;} }
  .mission-grid .article{border-top:none; border-bottom:none; padding-top:0; padding-right:24px; border-right:1px solid var(--rule);}
  .mission-grid .article:last-child{padding-right:0; padding-left:0; border-right:none; border-bottom:none;}
  @media (max-width:700px){
    .mission-grid .article{padding-right:0; border-right:none; padding-bottom:24px; border-bottom:1px solid var(--rule);}
    .mission-grid .article:last-child{padding-bottom:0; border-bottom:none;}
  }
  .profile-copy p{margin:0 0 18px; color:var(--ink-soft); font-size:1.03rem;}
  .profile-copy p:last-child{margin-bottom:0;}
  .articles{display:flex; flex-direction:column;}
  .article{padding:20px 0; border-top:1px solid var(--rule);}
  .article:last-child{border-bottom:1px solid var(--rule);}
  .article-head{display:flex; align-items:baseline; gap:10px;}
  .article-head .roman{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--gold);}
  .article-head h3{font-size:1.12rem; font-weight:600;}
  .article p{margin:10px 0 0; font-size:0.97rem; color:var(--ink-soft);}

  .focus-list{margin-top:40px; border-top:1px solid var(--rule); padding-top:20px;}
  .focus-list .label{display:block; margin-bottom:12px;}
  .focus-list p{margin:0; font-size:1rem; color:var(--ink-soft); line-height:1.9;}
  .focus-list p b{color:var(--ink); font-weight:600;}

  .founder{margin-top:40px; border-top:1px solid var(--rule); padding-top:24px;}
  #about-founder .founder{margin-top:0; border-top:none; padding-top:0;}
  .founder .label{display:block; margin-bottom:12px;}
  .founder h3{font-size:1.2rem;}
  .founder > p{margin-top:12px; font-size:0.97rem; color:var(--ink-soft); max-width:72ch;}
  .founder-meta{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.02em;}
  .founder-meta a{color:var(--teal); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px;}
  .founder-meta a:hover{text-decoration-color:var(--teal);}
  .founder-layout{display:grid; grid-template-columns:240px 1fr; gap:48px; align-items:start;}
  .founder-photo{margin:0;}
  .founder-photo img{display:block; width:100%; height:auto; aspect-ratio:560/685; object-fit:cover; border-radius:4px; border:1px solid var(--line);}
  @media (max-width:700px){
    .founder-layout{grid-template-columns:1fr; gap:24px;}
    .founder-photo{max-width:200px;}
  }
  .lab-intro{max-width:72ch;}
  .lab-intro .label{display:block; margin-bottom:12px;}
  .lab-intro h3{font-size:1.2rem;}
  .lab-intro p{margin-top:12px; font-size:0.97rem; color:var(--ink-soft);}
  .lab-grid{margin-top:36px;}
  .lab-grid .grant-list{margin-top:14px;}
  .lab-grid .article > p{margin-top:12px;}
  .lab-interests li{grid-template-columns:22px 1fr;}
  .lab-interests b{color:var(--ink); font-weight:600;}
  .lab-team{margin-top:44px; padding-top:24px; border-top:1px solid var(--rule);}

  .team-grid .label{display:block; margin-bottom:0;}
  @media (min-width:861px){ .team-grid .label{line-height:1.5; min-height:3em;} }
  .team-list{list-style:none; margin:0; padding:0;}
  .team-list li{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:0.95rem; color:var(--ink);}
  .team-list li{align-items:center;}
  .team-list .who{display:flex; align-items:center; gap:16px; min-width:0;}
  .avatar{
    flex:none; width:72px; height:72px; border-radius:50%; overflow:hidden;
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--teal-soft); color:var(--teal);
    font-family:'IBM Plex Mono', monospace; font-size:1.05rem; font-weight:500; letter-spacing:0.04em;
  }
  .avatar img{width:100%; height:100%; object-fit:cover; display:block;}
  .team-group-label{font-family:'Fraunces', serif; font-style:italic; font-size:1rem; color:var(--ink-soft); margin:6px 0 0;}
  .person-group{margin-top:28px;}
  .person-group .label{display:block; margin-bottom:14px;}
  .person-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}
  .person{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:14px 14px 18px; text-align:center;}
  .person .person-photo{display:flex; width:100%; height:auto; aspect-ratio:1/1; border-radius:4px; font-size:2rem; letter-spacing:0.06em; background:var(--teal-soft); color:var(--teal);}
  .person h4{font-family:'Fraunces', serif; font-weight:600; font-size:1.05rem; color:var(--ink); margin:16px 0 0; padding-bottom:12px; border-bottom:1px solid var(--rule);}
  .person p{margin:0; font-size:0.9rem; color:var(--ink-soft); line-height:1.5;}
  .person .person-role{margin-top:12px; color:var(--ink);}
  .person .person-yrs{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; font-variant-numeric:tabular-nums;}
  .person .person-aff{margin-top:10px; font-size:0.82rem;}
  .alumni-grid{grid-template-columns:repeat(5, 1fr); gap:18px; margin-top:20px;}
  .person-sm{padding:10px 10px 14px;}
  .person-sm .person-photo{font-size:1.4rem; background:var(--panel-sunk); color:var(--ink-soft);}
  .person-sm h4{font-size:0.95rem; margin-top:12px; padding-bottom:0; border-bottom:none;}
  .person-sm .person-yrs{margin-top:6px;}
  @media (max-width:960px){ .person-grid{grid-template-columns:repeat(3, 1fr);} .alumni-grid{grid-template-columns:repeat(4, 1fr);} }
  @media (max-width:640px){ .person-grid, .alumni-grid{grid-template-columns:repeat(2, 1fr); gap:14px;} }
  .alumni-list .avatar{width:52px; height:52px; font-size:0.85rem; background:var(--panel-sunk); color:var(--ink-soft);}
  .team-list .yrs{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--ink-soft); font-variant-numeric:tabular-nums; white-space:nowrap;}
  .alumni-list{display:grid; grid-template-columns:repeat(3, 1fr); column-gap:40px; margin-top:16px;}
  @media (max-width:860px){ .team-grid{grid-template-columns:1fr; gap:28px;} .alumni-list{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .alumni-list{grid-template-columns:1fr;} }
  .founder-source{margin-top:10px; font-size:0.78rem; font-style:italic;}

  /* ---------- Divisions (schedule) ---------- */
  .divisions{background:var(--paper);}
  .cluster{margin-top:44px;}
  .cluster:first-of-type{margin-top:0;}
  .cluster-head{display:flex; align-items:baseline; gap:14px; margin-bottom:4px; padding-bottom:10px; border-bottom:1px solid var(--rule);}
  .cluster-head .range{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--teal);}
  .cluster-head h3{font-size:1.15rem; font-weight:600;}
  .div-row{
    display:grid; grid-template-columns:56px 1fr; gap:18px; align-items:baseline;
    padding:15px 0; border-bottom:1px solid var(--line);
  }
  .div-row .no{
    font-family:'Fraunces', serif; font-weight:400; font-size:1.5rem; color:var(--panel-sunk);
    line-height:1;
  }
  .div-row p{margin:0; font-size:1rem; font-weight:500;}

  /* ---------- Programs (articles) ---------- */
  .programs{background:var(--panel); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);}
  .prog-grid{display:grid; grid-template-columns:1fr 1fr; gap:0;}
  @media (max-width:760px){ .prog-grid{grid-template-columns:1fr;} }
  .prog-card{padding:4px 40px 4px 0; border-right:1px solid var(--rule);}
  .prog-card:last-child{border-right:none; padding-left:40px; padding-right:0;}
  @media (max-width:760px){
    .prog-card{border-right:none; padding:0 0 32px; border-bottom:1px solid var(--rule);}
    .prog-card:last-child{padding:32px 0 0; border-bottom:none;}
  }
  .prog-card .num{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--gold);}
  .prog-card h3{font-size:1.35rem; margin-top:10px;}
  .prog-card p{color:var(--ink-soft); margin-top:14px; font-size:0.98rem;}

  /* ---------- Partners & funding ---------- */
  .partners{background:var(--paper);}
  .partner-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px;}
  @media (max-width:860px){ .partner-grid{grid-template-columns:1fr; gap:36px;} }
  .partner-card{padding-right:40px; border-right:1px solid var(--rule);}
  @media (max-width:860px){ .partner-card{padding-right:0; border-right:none; padding-bottom:32px; border-bottom:1px solid var(--rule);} }
  .partner-card .num, .grant-card .num{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--gold);}
  .partner-card h3, .grant-card h3{font-size:1.2rem; margin-top:10px;}
  .partner-card p{color:var(--ink-soft); margin-top:12px; font-size:0.97rem;}
  .grant-card > p{color:var(--ink-soft); font-size:0.97rem; margin-top:12px;}
  .grant-list{list-style:none; margin:18px 0 0; padding:0; border-top:1px solid var(--rule);}
  .grant-list li{
    font-size:0.93rem; color:var(--ink-soft); padding:11px 0; border-bottom:1px solid var(--rule);
    display:grid; grid-template-columns:22px 1fr; gap:10px;
  }
  .grant-list li::before{
    content:"\2022"; color:var(--gold); font-size:1.1rem; line-height:1.2;
  }

  /* ---------- Contact (letterhead footer) ---------- */
  .contact{background:var(--band); color:var(--band-ink-soft); border-top:3px solid var(--band-gold);}
  .contact .label{color:var(--band-gold);}
  .contact h2{color:var(--band-ink);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:40px; border-top:1px solid var(--band-line); max-width:760px;}
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
  .contact-card{padding:24px 28px 24px 0; border-right:1px solid var(--band-line);}
  .contact-card:last-child{border-right:none; padding-left:28px;}
  @media (max-width:860px){
    .contact-card{border-right:none; padding:22px 0; border-bottom:1px solid var(--band-line);}
    .contact-card:first-child{padding-top:0;}
    .contact-card:last-child{padding-left:0; border-bottom:none;}
  }
  .contact-card h3{color:var(--band-ink); font-size:0.82rem; font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.08em; font-weight:500;}
  .contact-card address, .contact-card div{font-style:normal; margin-top:12px; font-size:0.93rem; color:var(--band-ink-soft); line-height:1.7;}
  .contact-card a{text-decoration:underline; text-decoration-color:var(--band-line); text-underline-offset:3px;}
  .contact-card a:hover{text-decoration-color:var(--band-gold); color:var(--band-ink);}

  footer{background:var(--band); color:var(--band-ink-soft); border-top:1px solid var(--band-line);}
  footer .wrap{padding:20px 32px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.76rem; font-family:'IBM Plex Mono', monospace;}

  /* ---------- Lab page ---------- */
  .navlinks a[aria-current="page"]{color:var(--header-ink); border-color:var(--header-gold);}
  .lab-page{padding-top:56px;}
  .back-link{display:inline-block; font-family:'IBM Plex Mono', monospace; font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; margin-bottom:28px;}
  .back-link:hover{color:var(--teal);}
  .lab-page .lab-intro h1{font-size:clamp(2rem, 4vw, 2.8rem); line-height:1.12; margin-top:10px;}
  .lab-page .lab-intro p{font-size:1.03rem;}
  .founder-lab-link{display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-family:'IBM Plex Mono', monospace; font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink); text-decoration:none; padding:10px 16px; border:1px solid var(--gold); border-radius:999px; transition:background-color .15s ease, color .15s ease;}
  .founder-lab-link:hover{background:var(--gold); color:#ffffff;}

  /* ---------- Mobile menu ---------- */
  .menu-toggle{display:none; flex:none; width:40px; height:40px; padding:0; border:1px solid var(--header-line); border-radius:8px; background:transparent; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px;}
  .menu-toggle span{display:block; width:18px; height:2px; border-radius:2px; background:var(--header-ink); transition:transform .2s ease, opacity .2s ease;}
  .menu-toggle:focus-visible{outline:2px solid var(--header-gold); outline-offset:2px;}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-open .menu-toggle span:nth-child(2){opacity:0;}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{display:none; border-top:1px solid var(--header-line);}
  .mobile-menu ul{list-style:none; margin:0 auto; padding:8px 32px 16px; max-width:1140px;}
  @media (max-width:720px){ .mobile-menu ul{padding:8px 22px 16px;} }
  .mobile-menu a{display:block; padding:13px 0; border-bottom:1px solid var(--header-line); font-family:'IBM Plex Mono', monospace; font-size:0.8rem; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; color:var(--header-ink);}
  .mobile-menu li:last-child a{border-bottom:none;}
  .mobile-menu a[aria-current="page"]{color:var(--header-gold);}
  @media (max-width:1000px){
    .menu-toggle{display:inline-flex;}
    .letterhead.menu-open .mobile-menu{display:block;}
    .nav-right{gap:12px;}
  }
  @media (max-width:600px){
    .letterhead .wrap{gap:12px;}
    .brand{gap:12px;}
    .x-follow{padding:7px 10px;}
  }
  @media (max-width:380px){ .x-follow{display:none;} }
  @media (prefers-reduced-motion:reduce){ .menu-toggle span{transition:none;} }

  /* ---------- Founder (refined) ---------- */
  .founder-layout{grid-template-columns:280px 1fr; gap:64px; align-items:center;}
  .founder-photo{position:relative; padding:0 14px 14px 0;}
  .founder-photo::before{content:""; position:absolute; inset:14px 0 0 14px; border:1px solid var(--gold); border-radius:4px;}
  .founder-photo img{position:relative; border:none; border-radius:4px; box-shadow:0 18px 40px -24px rgba(34,26,46,0.45);}
  .founder h3{font-size:clamp(1.6rem, 2.6vw, 2.1rem); line-height:1.15; text-wrap:balance;}
  .founder h3 .cred{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; font-weight:500; letter-spacing:0.06em; color:var(--gold); vertical-align:middle; margin-left:6px; white-space:nowrap;}
  .founder .founder-role{margin-top:8px; font-size:1rem; color:var(--ink); font-weight:500;}
  .founder > p:not(.founder-role){margin-top:18px; font-size:1.02rem; line-height:1.7; max-width:62ch;}
  .founder-tags{list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
  .founder-tags li{font-size:0.82rem; color:var(--teal); background:var(--teal-soft); padding:6px 12px; border-radius:999px;}
  .founder-links{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line);}
  .founder-links-label{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--ink-soft); margin-right:8px;}
  .founder-links a{font-family:'IBM Plex Mono', monospace; font-size:0.76rem; letter-spacing:0.02em; color:var(--ink); text-decoration:none; padding:7px 12px; border:1px solid var(--rule); border-radius:999px; transition:border-color .15s ease, color .15s ease, background-color .15s ease;}
  .founder-links a span{color:var(--gold);}
  .founder-links a:hover{border-color:var(--teal); color:var(--teal); background:var(--teal-soft);}
  @media (max-width:860px){
    .founder-layout{grid-template-columns:1fr; gap:32px; align-items:start;}
    .founder-photo{max-width:240px;}
    .founder-links-label{width:100%; margin:0 0 4px;}
  }

  /* ---------- Lab page sections (refined) ---------- */
  .lab-toc{display:flex; flex-wrap:wrap; gap:8px; margin-top:28px;}
  .lab-toc a{font-family:'IBM Plex Mono', monospace; font-size:0.74rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none; color:var(--ink-soft); padding:7px 12px; border:1px solid var(--line); border-radius:999px; transition:border-color .15s ease, color .15s ease;}
  .lab-toc a:hover{color:var(--teal); border-color:var(--teal);}
  .lab-block{margin-top:72px; scroll-margin-top:140px;}
  .lab-team{scroll-margin-top:140px;}
  .lab-block-head .label{display:block; margin-bottom:10px;}
  .lab-block-head h2{font-size:clamp(1.5rem, 2.6vw, 2rem); line-height:1.2; text-wrap:balance; max-width:28ch;}
  .lab-lead{margin-top:18px; font-size:1.12rem; line-height:1.7; color:var(--ink); max-width:68ch;}
  .theme-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:32px;}
  .theme{padding:22px 22px 24px; border:1px solid var(--line); border-radius:8px; background:var(--panel);}
  .theme h3{font-size:1.1rem;}
  .theme p{margin-top:10px; font-size:0.95rem; line-height:1.65; color:var(--ink-soft);}
  .lab-block.impact{padding:40px; background:var(--teal-soft); border-radius:10px;}
  .impact .label{color:var(--teal);}
  .threats{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px;}
  .threat{background:var(--panel); border-radius:8px; padding:22px 24px;}
  .threat-tag{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold);}
  .threat h3{font-size:1.45rem; margin-top:8px;}
  .threat p{margin-top:6px; color:var(--ink-soft); font-size:0.98rem;}
  .impact-points{list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
  .impact-points li{font-size:0.95rem; line-height:1.6; color:var(--ink-soft); padding-top:14px; border-top:1px solid rgba(21,90,81,0.25);}
  .impact-points b{display:block; color:var(--teal); font-weight:600; margin-bottom:4px;}
  .focus-tiles{list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;}
  .focus-tiles li{display:flex; gap:14px; align-items:flex-start; padding:18px 20px; border:1px solid var(--line); border-radius:8px; font-size:0.98rem; line-height:1.55; color:var(--ink);}
  .focus-tiles li::before{content:""; flex:none; width:8px; height:8px; margin-top:8px; border-radius:50%; background:var(--gold);}
  .focus-tiles li:first-child{grid-column:1 / -1; font-size:1.05rem;}
  .project-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:20px; margin-top:28px;}
  .project{padding:26px; border:1px solid var(--rule); border-radius:8px;}
  .project-tag{display:inline-block; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal); background:var(--teal-soft); padding:5px 10px; border-radius:999px;}
  .project h3{font-size:1.3rem; margin-top:14px;}
  .project p{margin-top:10px; font-size:0.98rem; line-height:1.65; color:var(--ink-soft);}
  .stage-list{list-style:none; margin:18px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
  .stage-list li{font-size:0.82rem; padding:6px 12px; border:1px solid var(--line); border-radius:999px; color:var(--ink);}
  .lab-page .lab-team{margin-top:72px;}
  @media (max-width:900px){
    .theme-grid, .impact-points{grid-template-columns:1fr; gap:14px;}
    .project-grid{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .lab-block{margin-top:52px;}
    .lab-block.impact{padding:26px 20px;}
    .threats, .focus-tiles{grid-template-columns:1fr;}
    .threat h3{font-size:1.25rem;}
  }
  .lab-block:not(.impact){padding:0;}
  .lab-block-head h2{max-width:36ch;}
  .lab-page .lab-team{border-top:none; padding-top:0;}
  .lab-page .alumni-grid{margin-top:28px;}

  /* ---------- Home page design pass ---------- */
  .sec-head h2{line-height:1.15;}
  .sec-head > p:not(.num){margin-top:16px;}
  /* Overview */
  .overview-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:56px; align-items:start;}
  .overview-grid .profile-copy{max-width:none;}
  .profile-copy .overview-lead{font-size:1.18rem; line-height:1.65; color:var(--ink); margin-bottom:22px;}
  .fact-card{margin:0; padding:8px 26px; background:var(--panel-sunk); border-radius:10px;}
  .fact-card > div{padding:18px 0; border-bottom:1px solid var(--line);}
  .fact-card > div:last-child{border-bottom:none;}
  .fact-card dt{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold);}
  .fact-card dd{margin:6px 0 0; font-family:'Fraunces', serif; font-size:1.08rem; font-weight:600; color:var(--ink); line-height:1.35;}
  .fact-card .fact-big{font-size:2.6rem; line-height:1; color:var(--teal);}
  /* Mission & Vision */
  .mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .mv-card{padding:30px 32px; border-radius:10px;}
  .mv-mission{background:var(--teal-soft);}
  .mv-vision{background:#f6ecd8;}
  .mv-tag{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--teal);}
  .mv-vision .mv-tag{color:var(--gold);}
  .mv-card p{margin:14px 0 0; font-family:'Fraunces', serif; font-size:1.25rem; line-height:1.5; color:var(--ink);}
  .focus-chips{margin-top:40px;}
  .focus-chips .label{display:block; margin-bottom:14px;}
  .focus-chips ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
  .focus-chips li{font-size:0.92rem; color:var(--ink); padding:9px 16px; border:1px solid var(--rule); border-radius:999px; background:var(--panel);}
  .focus-chips li small{color:var(--ink-soft); font-size:0.8rem; margin-left:4px;}
  /* Divisions */
  .cluster-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start;}
  .cluster-grid .cluster{margin:0; padding:24px 26px 14px; border:1px solid var(--line); border-radius:10px; background:var(--panel);}
  .cluster-grid .cluster-head{flex-direction:column; align-items:flex-start; gap:6px; border-bottom:1px solid var(--rule); padding-bottom:14px; margin-bottom:4px;}
  .cluster-grid .cluster-head h3{font-size:1.2rem;}
  .cluster-grid .div-row{grid-template-columns:34px 1fr; gap:12px; padding:11px 0;}
  .cluster-grid .div-row:last-child{border-bottom:none;}
  .cluster-grid .div-row .no{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; color:var(--gold); line-height:1.6;}
  .cluster-grid .div-row p{font-size:0.96rem;}
  .cluster-grid .cluster:last-child{grid-column:1 / -1;}
  .cluster-grid .cluster:last-child .div-row-wrap{display:contents;}
  /* Programs */
  .prog-cards{gap:20px;}
  .prog-cards .prog-card, .prog-cards .prog-card:last-child{padding:30px 32px; border:1px solid var(--rule); border-right:1px solid var(--rule); border-radius:10px; background:var(--panel);}
  .prog-cards .prog-card .num{display:inline-block; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal); background:var(--teal-soft); padding:5px 10px; border-radius:999px;}
  .prog-cards .prog-card h3{font-size:1.45rem; margin-top:16px;}
  /* Partners & funding */
  .partner-cards{gap:20px; align-items:start;}
  .partner-cards .partner-card{padding:30px; border:1px solid var(--rule); border-radius:10px; border-right:1px solid var(--rule);}
  .partner-cards .grant-card{padding:30px 32px; background:var(--panel-sunk); border-radius:10px;}
  .partner-cards .partner-card h3, .partner-cards .grant-card h3{font-size:1.4rem;}
  .grant-tiles{list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .grant-tiles li{background:var(--panel); border-radius:8px; padding:14px 16px; font-size:0.9rem; line-height:1.5; color:var(--ink-soft);}
  .grant-tiles b{display:block; color:var(--ink); font-weight:600; margin-bottom:2px;}
  @media (max-width:900px){
    .overview-grid, .mv-grid, .cluster-grid, .grant-tiles{grid-template-columns:1fr;}
    .overview-grid{gap:32px;}
  }
  @media (max-width:760px){
    .prog-cards .prog-card, .prog-cards .prog-card:last-child{padding:24px; border-bottom:1px solid var(--rule);}
    .mv-card, .partner-cards .grant-card, .partner-cards .partner-card{padding:24px 20px;}
    .mv-card p{font-size:1.1rem;}
    .partner-cards .partner-card{padding-bottom:24px;}
  }
  .cluster-grid .cluster:last-child{display:grid; grid-template-columns:1fr 1fr; column-gap:48px;}
  .cluster-grid .cluster:last-child .cluster-head{grid-column:1 / -1;}
  .cluster-grid .cluster:last-child .div-row:nth-last-child(2){border-bottom:none;}
  @media (max-width:900px){ .cluster-grid .cluster:last-child{grid-template-columns:1fr;} .cluster-grid .cluster:last-child .div-row:nth-last-child(2){border-bottom:1px solid var(--line);} }

  /* ---------- Site footer (contact + navigation) ---------- */
  .site-footer{background:var(--header-bg); color:var(--header-ink-soft); border-top:3px solid var(--header-gold); scroll-margin-top:80px;}
  .footer-top{display:grid; grid-template-columns:1.5fr 1fr 1.3fr 1fr; gap:48px; padding-top:64px; padding-bottom:48px;}
  .footer-logo{display:flex; align-items:center; gap:14px; text-decoration:none;}
  .footer-logo img{width:64px; height:64px; border-radius:50%; flex:none;}
  .footer-logo span{font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem; line-height:1.25; color:var(--header-ink); max-width:16ch;}
  .footer-tagline{margin:18px 0 0; font-family:'Fraunces', serif; font-style:italic; font-size:1rem; color:var(--header-gold); max-width:30ch;}
  .footer-x{display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none; color:var(--header-ink); padding:9px 14px; border:1px solid var(--header-line); border-radius:999px; transition:background-color .15s ease, color .15s ease, border-color .15s ease;}
  .footer-x span{color:var(--header-gold);}
  .footer-x:hover{background:var(--header-gold); border-color:var(--header-gold); color:var(--header-bg);}
  .footer-x:hover span{color:var(--header-bg);}
  .footer-label{margin:0 0 16px; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--header-gold);}
  .footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .footer-col a{color:var(--header-ink); text-decoration:none; font-size:0.95rem; border-bottom:1px solid transparent; transition:border-color .15s ease;}
  .footer-col a:hover{border-color:var(--header-gold);}
  .footer-col address{font-style:normal; font-size:0.93rem; line-height:1.75; color:var(--header-ink-soft);}
  .site-footer a:focus-visible{outline:2px solid var(--header-gold); outline-offset:3px;}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:20px; padding-bottom:22px; border-top:1px solid var(--header-line); font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.02em;}
  .footer-bottom a{color:var(--header-ink-soft); text-decoration:none;}
  .footer-bottom a:hover{color:var(--header-ink);}
  @media (max-width:960px){ .footer-top{grid-template-columns:1fr 1fr; gap:40px 32px;} .footer-brand{grid-column:1 / -1;} }
  @media (max-width:560px){ .footer-top{grid-template-columns:1fr; gap:32px; padding-top:48px;} }
  /* override the older generic footer rules */
  .site-footer .footer-top{display:grid; font-family:inherit; font-size:1rem; padding:64px 32px 48px; justify-content:normal; gap:48px;}
  .site-footer .footer-bottom{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; padding:20px 32px 22px;}
  .site-footer{background:var(--header-bg); border-top:3px solid var(--header-gold);}
  @media (max-width:960px){ .site-footer .footer-top{gap:40px 32px;} }
  @media (max-width:720px){ .site-footer .footer-top{padding:48px 22px 40px; gap:32px;} .site-footer .footer-bottom{padding:18px 22px 20px;} }
  .site-footer .footer-top{grid-template-columns:1.3fr 0.8fr 1.5fr 1fr; gap:40px;}
  .footer-logo span{max-width:22ch;}
  .footer-col address{white-space:normal;}
  @media (max-width:1100px){ .site-footer .footer-top{grid-template-columns:0.8fr 1.4fr 1fr;} .footer-brand{grid-column:1 / -1;} }
  @media (max-width:640px){ .site-footer .footer-top{grid-template-columns:1fr;} }

  .overview-grid{grid-template-columns:1fr;}
  .overview-grid .profile-copy{max-width:72ch;}
