:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

/* Layout: one 1120px column; section headings sit above their content, left-aligned; projects as a ruled two-column index; rules not boxes. Single light theme by design (Neolithic Brand System). */
  :root{
    --paper:#f6f7f7;--surface:#fff;--surface-sunken:#eef0f0;
    --ink:#17191a;--ink-secondary:#4f5457;--ink-muted:#697074;
    --rule:#d9ddde;--rule-soft:#e8ebeb;
    --rust:#b5451b;--rust-deep:#8f3614;--on-rust:#fff;
    --charcoal:#1f2224;--charcoal-raised:#2a2e31;
    --on-charcoal:#f6f7f7;--on-charcoal-muted:#a6acb0;--rust-bright:#e8744a;
    --font-serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
    --font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
    --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s24:96px;
    --measure:38em;--page-max:1120px;--gutter:40px;--r-sm:3px;
    color-scheme:light;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/26px var(--font-sans);-webkit-font-smoothing:antialiased}
  a{color:var(--rust);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
  a:hover{color:var(--rust-deep)}
  :focus-visible{outline:2px solid var(--rust);outline-offset:2px}
  .dark :focus-visible{outline-color:var(--rust-bright)}
  .wrap{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}
  h1,h2,h3,p{margin:0}
  h1,h2{font-family:var(--font-serif);font-weight:400;text-wrap:balance;font-variation-settings:"opsz" 72}
  .label{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .btn{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--font-sans);padding:11px 16px;border-radius:var(--r-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .12s ease}
  .btn:active{transform:scale(.98)}
  .btn .arr{display:inline-block;transition:transform .2s ease}
  .btn:hover .arr{transform:translateX(3px)}
  .btn:hover .arr-down{transform:translateY(2px)}
  .btn-primary{background:var(--rust);color:var(--on-rust)}
  .btn-primary:hover{background:var(--rust-deep);color:var(--on-rust)}
  .btn-secondary{background:transparent;color:var(--ink);border-color:var(--rule)}
  .btn-secondary:hover{border-color:var(--ink);color:var(--ink)}
  .dark .btn-secondary{color:var(--rust-bright);border-color:var(--rust-bright)}
  .dark .btn-secondary:hover{background:var(--charcoal-raised);color:var(--rust-bright)}
  .icons{display:flex;gap:var(--s4)}
  .icons a{display:inline-flex;color:var(--ink);opacity:.8}
  .icons a:hover{opacity:1;color:var(--ink)}
  .icons svg{width:18px;height:18px;fill:currentColor}

  /* Header */
  header{border-bottom:1px solid var(--rule)}
  header .wrap{height:60px;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
  .mark{font:500 23px/1 var(--font-serif);letter-spacing:-.015em;font-variation-settings:"opsz" 30;color:var(--ink);text-decoration:none}
  nav{display:flex;align-items:center;gap:var(--s6)}
  nav .lnk{font:400 14px/1 var(--font-sans);color:var(--ink-secondary);text-decoration:none}
  nav .lnk:hover,nav .lnk[aria-current]{color:var(--ink)}
  nav .btn{padding:9px 13px;font-size:13px}
  nav .icons{margin-left:var(--s2)}

  /* Hero */
  .hero{padding-block:112px 80px;text-align:center;border-bottom:1px solid var(--rule)}
  .hero .in{display:flex;flex-direction:column;align-items:center;gap:var(--s6)}
  .hero h1{font-size:72px;line-height:1;letter-spacing:-.025em;max-width:12em}
  .lead{font:400 19px/29px var(--font-sans);color:var(--ink-secondary);max-width:34em;text-wrap:balance}
  .hero .lead{max-width:34em}
  .hero .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3);margin-top:var(--s2)}


  /* Sections: heading on top, content below */
  section.sec{padding-block:var(--s24);border-bottom:1px solid var(--rule)}
  .sec h2{font-size:44px;line-height:1.05;letter-spacing:-.02em;margin-bottom:var(--s10)}
  .prose{display:flex;flex-direction:column;gap:var(--s6)}
  .prose > p{font-size:18px;line-height:30px}
  .prose .actions{margin-top:var(--s2)}

  /* Projects: ruled index (meta left, title + summary right) */
  .index{border-top:1px solid var(--rule)}
  .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s8);padding-block:var(--s8);border-bottom:1px solid var(--rule)}
  .row .meta{display:flex;flex-direction:column;gap:var(--s1);font-size:15px;line-height:22px;padding-top:4px}
  .row .meta .cat{color:var(--ink)}
  .row .meta .when{color:var(--ink-muted)}
  .row h3{font:400 22px/30px var(--font-sans);letter-spacing:-.01em;color:var(--ink);transition:color .15s}
  .row p{font-size:16px;line-height:26px;color:var(--ink);margin-top:var(--s2)}

  /* People: four portraits in a row, name and role only */
  .people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s8) var(--s6)}
  .person{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
  .person .photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--surface-sunken);border:1px solid var(--rule)}
  .person h3{font:500 17px/24px var(--font-sans);letter-spacing:-.005em}
  .person .role{font-size:14px;line-height:20px;color:var(--ink-muted)}

  /* Inner pages */
  .page-head{padding-block:var(--s24) var(--s16);border-bottom:1px solid var(--rule)}
  .page-head h1{font-size:64px;line-height:1;letter-spacing:-.025em}
  .page-head .lead{margin-top:var(--s6)}
  .page-head .spons{margin-top:var(--s4);font-size:16px;line-height:26px;color:var(--ink-secondary);max-width:42em}
  .people.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sub{font:500 13px/18px var(--font-sans);color:var(--ink-muted);margin:var(--s16) 0 var(--s6)}
  .person a{color:inherit;text-decoration:none}
  .person a:hover{text-decoration:underline}
  .row h3 a{color:inherit;text-decoration:none}
  .row h3 a:hover{color:var(--rust)}
  .row .more{display:inline-flex;margin-top:var(--s4);font-size:15px}
  .row .more .arr{display:inline-block;margin-left:6px;transition:transform .2s ease}
  .row .more:hover .arr{transform:translateX(3px)}
  .row p.val{margin-top:0;padding-top:4px}
  /* Open role: one featured card */
  .role-card{display:block;background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:var(--s10);color:var(--ink);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}
  .role-card:hover{border-color:var(--ink-muted);color:var(--ink)}
  .role-card:hover .btn-primary{background:var(--rust-deep)}
  .role-card:hover .arr{transform:translateX(3px)}
  .role-top{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);margin-bottom:var(--s6)}
  .role-kicker{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
  .role-card h3{font:400 40px/1.08 var(--font-serif);letter-spacing:-.02em;font-variation-settings:"opsz" 48;text-wrap:balance}
  .role-card p{margin-top:var(--s4);font-size:16px;line-height:26px;color:var(--ink-secondary);max-width:44em}
  .role-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:var(--s6);align-items:end;margin:var(--s10) 0 0;padding-top:var(--s6);border-top:1px solid var(--rule-soft)}
  .role-facts dt{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
  .role-facts dd{margin:var(--s2) 0 0;font-size:16px;line-height:24px;color:var(--ink)}
  .role-cta{justify-self:end}
  /* Job posting */
  .back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-secondary);text-decoration:none;margin-bottom:var(--s8)}
  .back:hover{color:var(--ink)}
  .back .arr{display:inline-block;transition:transform .2s ease}
  .back:hover .arr{transform:translateX(-3px)}
  .job-facts{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr))}
  .job-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s16);align-items:start}
  .job-body h2{font-size:28px;line-height:34px;letter-spacing:-.01em;margin:var(--s12) 0 var(--s4);font-variation-settings:"opsz" 32}
  .job-body h2:first-child{margin-top:0}
  .job-body p{font-size:17px;line-height:28px;margin-top:var(--s4)}
  .job-body h2+p{margin-top:0}
  .job-body ul,.job-body ol{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:var(--s2);font-size:17px;line-height:28px}
  .job-body li::marker{color:var(--ink-muted)}
  .apply{position:sticky;top:var(--s6);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:var(--s6);display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start}
  .apply-title{font:400 28px/34px var(--font-serif);letter-spacing:-.01em;font-variation-settings:"opsz" 32}
  .apply p{font-size:15px;line-height:23px;color:var(--ink-secondary)}
  .apply .apply-title{font:400 28px/34px var(--font-serif);letter-spacing:-.01em;font-variation-settings:"opsz" 32;color:var(--ink);margin-bottom:var(--s1)}
  .apply .apply-mail{font:500 15px/22px var(--font-mono);color:var(--ink);user-select:all}
  .apply .apply-note{font-size:13px;line-height:19px;color:var(--ink-muted)}
  [data-view][hidden]{display:none!important}

  /* Dark band */
  .dark{background:var(--charcoal);color:var(--on-charcoal);padding-block:var(--s24);text-align:center}
  .dark .in{max-width:46em;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:var(--s6)}
  .dark h2{font-size:52px;line-height:1.02;letter-spacing:-.02em;font-variation-settings:"opsz" 60}
  .dark p{color:var(--on-charcoal-muted);max-width:40em}

  /* Footer */
  footer .wrap{padding-block:var(--s8);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4)}
  footer .label{color:var(--ink-muted)}
  footer .right{display:flex;align-items:center;gap:var(--s6);font-size:14px;color:var(--ink-secondary)}
  footer .right a{color:inherit;text-decoration:none}
  footer .right a:hover{text-decoration:underline}

  @media (max-width:900px){
    :root{--gutter:24px}
    .people,.people.three{grid-template-columns:repeat(2,minmax(0,1fr))}
    .job-grid{grid-template-columns:1fr}
    .apply{position:static}
    .job-facts{grid-template-columns:1fr 1fr}
  }
  @media (max-width:720px){
    :root{--gutter:16px}
    section.sec,.dark{padding-block:var(--s16)}
    .hero{padding-block:var(--s16) var(--s12)}
    .hero h1{font-size:46px}
    .page-head{padding-block:var(--s16) var(--s12)}
    .page-head h1{font-size:46px}
    .lead{font-size:17px;line-height:26px}
    .sec h2{font-size:34px;margin-bottom:var(--s8)}
    .dark h2{font-size:34px}
    .row{grid-template-columns:1fr;gap:var(--s3);padding-block:var(--s8)}
    .row .meta{flex-direction:row;gap:var(--s3)}
    .row h3{font-size:20px;line-height:27px}
    nav .lnk,nav .icons{display:none}
    .role-card{padding:var(--s6)}
    .role-card h3{font-size:30px}
    .role-facts{grid-template-columns:1fr 1fr}
    .role-cta{grid-column:1/-1;justify-self:start}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}
