:root{--paper: #faf7f2;--paper-2: #f2ede3;--paper-3: #e8e1d3;--ink: #1a1a1a;--ink-2: #2a2a2a;--mid: #5a5a5a;--mid-2: #8a8478;--rule: #1a1a1a;--accent: #a03a2c;--accent-2: #c86a4b;--accent-bg: #efe6de;--ok: #3c6e52;--serif: "Fraunces", "Source Serif Pro", Georgia, serif;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--radius: 2px;--max: 1160px;--gutter: 32px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1200px 800px at 85% -10%,rgba(160,58,44,.04),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(26,26,26,.03),transparent 60%);z-index:0}a{color:inherit;text-decoration:none}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);position:relative}.rule{border:0;border-top:1px solid var(--ink);opacity:.85;margin:0}.rule-thin{border:0;border-top:1px solid var(--ink);opacity:.15;margin:0}.mono{font-family:var(--mono);font-feature-settings:"ss01"}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}.serif{font-family:var(--serif);font-optical-sizing:auto}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(26,26,26,.08)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.brand-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block}.nav-links{display:flex;gap:28px;font-size:14px}.nav-links a{color:var(--mid);position:relative;padding:4px 0;transition:color .15s ease}.nav-links a.active,.nav-links a:hover{color:var(--ink)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent)}.hero{padding:80px 0 64px;position:relative}.hero-grid{display:grid;grid-template-columns:1fr clamp(220px,18vw,320px);gap:48px;align-items:start}.hero-side{display:flex;flex-direction:column;align-items:center;gap:16px}.socials{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.socials a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-family:var(--mono);letter-spacing:.04em;color:var(--mid);background:var(--paper-2);border:1px solid rgba(26,26,26,.08);border-radius:999px;transition:color .15s ease,background .15s ease,border-color .15s ease}.socials a:hover{color:var(--accent);background:var(--accent-bg);border-color:#a03a2c40}.socials svg{display:block}.hero h1{font-family:var(--serif);font-weight:400;font-variation-settings:"SOFT" 50,"WONK" 0,"opsz" 144;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 0;color:var(--ink)}.hero h1 em{font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;color:var(--accent)}.hero .lede{font-family:var(--serif);font-weight:350;font-size:22px;line-height:1.45;max-width:56ch;color:var(--ink-2);margin-top:28px}.hero .lede .hl{background:linear-gradient(transparent 62%,rgba(160,58,44,.18) 62%,rgba(160,58,44,.18) 92%,transparent 92%);padding:0 1px}.avatar{width:100%;aspect-ratio:4 / 5;border-radius:6px;background-size:cover;background-position:center;border:1px solid rgba(26,26,26,.1);box-shadow:0 1px #1a1a1a0d,0 30px 60px -40px #1a1a1a4d;position:relative}.avatar:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-18px;left:-6px;border:1px dashed rgba(160,58,44,.25);border-radius:8px;pointer-events:none}@keyframes slowspin{to{transform:rotate(360deg)}}.meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:24px 0;border-top:1px solid rgba(26,26,26,.1);border-bottom:1px solid rgba(26,26,26,.1);margin-top:40px}.meta-strip .item .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:6px}.meta-strip .item .v{font-size:14px;color:var(--ink)}.meta-strip .item .v a:hover{color:var(--accent)}.section{padding:72px 0;position:relative}.section-head{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:baseline;margin-bottom:36px}.section-head .label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.02em;line-height:1.1;margin:0}.section-head .sub{font-size:15px;color:var(--mid);max-width:60ch;margin-top:8px}.recruit{border:1px solid var(--ink);padding:28px 32px;background:var(--paper);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;position:relative}.recruit:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(90deg,var(--accent) 0 6px,transparent 6px)}.recruit-icon{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:500;font-size:22px;position:relative;z-index:1}.recruit-body{position:relative;z-index:1}.recruit-body .title{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;margin-bottom:4px}.recruit-body .sub{font-size:14px;color:var(--mid)}.recruit-cta{border:1px solid var(--ink);padding:10px 18px;font-size:13px;letter-spacing:.04em;background:var(--ink);color:var(--paper);transition:background .2s ease;white-space:nowrap;position:relative;z-index:1}.recruit-cta:hover{background:var(--accent);border-color:var(--accent)}.feature-list>*+*{border-top:1px solid rgba(26,26,26,.12)}.feature{display:grid;grid-template-columns:80px 1fr auto;gap:32px;padding:28px 0;align-items:start;transition:background .2s ease,padding .2s ease}.feature:hover{background:var(--paper-2);padding-left:12px;padding-right:12px}.feature .year{font-family:var(--serif);font-size:28px;color:var(--mid-2);letter-spacing:-.02em;line-height:1;font-variation-settings:"opsz" 144}.feature .body .venue{font-family:var(--mono);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;display:flex;gap:10px;flex-wrap:wrap}.feature .body .award{color:var(--ink);background:var(--paper-3);padding:1px 8px;border-radius:10px;font-size:10px}.feature .body .title{font-family:var(--serif);font-size:22px;line-height:1.3;letter-spacing:-.01em;margin-bottom:6px;text-wrap:pretty}.feature .body .authors{font-size:13px;color:var(--mid);margin-bottom:8px}.feature .body .authors .me{color:var(--ink);font-weight:600}.feature .body .blurb{font-size:15px;color:var(--ink-2);max-width:60ch}.feature .links{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.feature .links a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);padding:3px 0;border-bottom:1px solid transparent}.feature .links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.feature .press{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}.feature .press:before{content:"As seen in:";color:var(--accent)}.pub-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.chip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid rgba(26,26,26,.2);background:transparent;color:var(--mid);cursor:pointer;transition:all .15s ease}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.pubs .year-row{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:18px 0;border-top:1px solid rgba(26,26,26,.12);align-items:start}.pubs .year-row:last-child{border-bottom:1px solid rgba(26,26,26,.12)}.pubs .year-row .year{font-family:var(--serif);font-size:20px;color:var(--mid-2)}.pubs .body .t{font-family:var(--serif);font-size:18px;line-height:1.35;letter-spacing:-.005em;margin-bottom:4px;text-wrap:pretty}.pubs .body .meta{font-size:13px;color:var(--mid);margin-bottom:6px}.pubs .body .meta .venue{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-right:8px}.pubs .body .meta .tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);border:1px solid rgba(26,26,26,.15);padding:1px 7px;margin-right:6px}.pubs .body .meta .award{color:var(--accent);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-left:6px}.pubs .body .authors{font-size:13px;color:var(--mid);margin-bottom:6px}.pubs .body .authors .me{color:var(--ink);font-weight:600}.pubs .body .links{display:flex;gap:14px}.pubs .body .links a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mid)}.pubs .body .links a:hover{color:var(--accent)}.news{display:grid;grid-template-columns:120px 1fr;gap:24px}.news .item{display:contents}.news-row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:14px 0;border-top:1px solid rgba(26,26,26,.08)}.news-row:first-child{border-top:0}.news-row .date{font-family:var(--mono);font-size:11px;color:var(--mid);letter-spacing:.06em;text-transform:uppercase;padding-top:3px}.news-row .text{font-size:15px;color:var(--ink-2);max-width:70ch}.news-row .text a{border-bottom:1px solid rgba(160,58,44,.4);color:var(--ink)}.news-row .text a:hover{background:#a03a2c14}.news-row.highlight .date{color:var(--accent);font-weight:500}.talks-list .row{display:grid;grid-template-columns:90px 120px 1fr;gap:20px;padding:14px 0;border-top:1px solid rgba(26,26,26,.1);align-items:baseline}.talks-list .row .year{font-family:var(--serif);font-size:16px;color:var(--mid-2)}.talks-list .row .kind{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.talks-list .row .title{font-family:var(--serif);font-size:17px;line-height:1.35;letter-spacing:-.005em}.talks-list .row .venue{font-size:13px;color:var(--mid);margin-top:2px}.courses .row{display:grid;grid-template-columns:90px 140px 1fr;gap:20px;padding:16px 0;border-top:1px solid rgba(26,26,26,.1);align-items:baseline}.courses .row .year{font-family:var(--serif);font-size:16px;color:var(--mid-2)}.courses .row .code{font-family:var(--mono);font-size:12px;color:var(--ink);letter-spacing:.04em}.courses .row .title{font-family:var(--serif);font-size:17px;letter-spacing:-.005em}.courses .row .title .new{font-family:var(--mono);font-size:9px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-left:8px;border:1px solid var(--accent);padding:1px 6px}.courses .row .desc{font-size:13px;color:var(--mid);margin-top:4px;max-width:70ch}.courses .row .term{font-family:var(--mono);font-size:10px;color:var(--mid);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;display:block}.group-hero{padding:72px 0 32px}.team-tiers{display:flex;flex-direction:column;gap:36px;margin-top:24px}.team-tiers .tier h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid rgba(26,26,26,.12)}.tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px 28px}.tier-grid .member .n{font-family:var(--serif);font-size:18px;letter-spacing:-.005em;color:var(--ink)}.tier-grid .member .r{font-size:12px;color:var(--mid);margin-top:3px;font-family:var(--mono);letter-spacing:.02em}.tier-grid .member .note{font-size:11px;color:var(--accent);margin-top:4px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}.group-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.02em;margin:12px 0 20px;max-width:20ch}.group-hero h1 em{font-style:italic;color:var(--accent)}.group-hero .lede{font-family:var(--serif);font-size:21px;line-height:1.45;max-width:58ch;color:var(--ink-2)}.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:32px}.pillar{border-top:2px solid var(--ink);padding-top:14px}.pillar .n{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.12em}.pillar .t{font-family:var(--serif);font-size:17px;letter-spacing:-.005em;margin:4px 0 6px}.pillar .d{font-size:13px;color:var(--mid);line-height:1.5}.team{display:grid;grid-template-columns:1fr 1fr;gap:48px}.team h3{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em;margin:0 0 14px}.member{padding:10px 0;border-top:1px solid rgba(26,26,26,.1)}.member .n{font-family:var(--serif);font-size:18px;letter-spacing:-.005em}.member .r{font-family:var(--mono);font-size:11px;color:var(--mid);letter-spacing:.08em;text-transform:uppercase}.member .note{font-size:12px;color:var(--accent);margin-top:2px}.looking-for{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}.lf-card{border:1px solid rgba(26,26,26,.15);padding:22px;background:var(--paper)}.lf-card .h{font-family:var(--serif);font-size:18px;letter-spacing:-.005em;margin:0 0 10px}.lf-card ul li{font-size:14px;color:var(--ink-2);padding:4px 0;border-bottom:1px dashed rgba(26,26,26,.08)}.lf-card ul li:last-child{border-bottom:0}.apply{background:var(--ink);color:var(--paper);padding:44px 40px;margin-top:32px}.apply h3{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.02em;margin:0 0 16px}.apply h3 em{font-style:italic;color:var(--accent-2)}.apply p{font-size:15px;color:#faf7f2d9;max-width:62ch}.apply code{font-family:var(--mono);background:#faf7f21a;padding:2px 6px;font-size:13px;border-radius:2px}.apply .checklist li{padding:6px 0 6px 24px;position:relative;font-size:14px;color:#faf7f2e6}.apply .checklist li:before{content:"→";position:absolute;left:0;color:var(--accent-2)}.photos{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:40px 0}.photo{background:var(--paper-2);aspect-ratio:4/3;background-size:cover;background-position:center;position:relative}.photo .cap{position:absolute;left:12px;bottom:12px;background:var(--paper);padding:6px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.contact{padding:72px 0 60px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-big{font-family:var(--serif);font-weight:350;font-size:clamp(28px,4vw,44px);letter-spacing:-.02em;line-height:1.15}.contact-big em{font-style:italic;color:var(--accent)}.contact-links{display:grid;gap:2px;margin-top:16px}.contact-link{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid rgba(26,26,26,.15);font-family:var(--mono);font-size:13px;transition:padding .2s ease}.contact-link:last-child{border-bottom:1px solid rgba(26,26,26,.15)}.contact-link:hover{padding-left:8px;color:var(--accent)}.contact-link .arrow{transition:transform .2s ease}.contact-link:hover .arrow{transform:translate(6px)}.footer{padding:40px 0 60px;border-top:1px solid rgba(26,26,26,.1);font-family:var(--mono);font-size:11px;color:var(--mid);letter-spacing:.06em;text-transform:uppercase}.footer-inner{display:flex;justify-content:space-between;gap:24px}.tweaks{position:fixed;bottom:20px;right:20px;z-index:100;width:280px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 20px 40px -20px #0000004d;font-family:var(--mono);font-size:11px;transform:translateY(calc(100% - 40px));transition:transform .3s cubic-bezier(.2,.8,.2,1)}.tweaks.open{transform:translateY(0)}.tweaks-header{padding:12px 16px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--ink);color:var(--paper);letter-spacing:.14em;text-transform:uppercase}.tweaks-body{padding:16px}.tweak-row{padding:10px 0;border-bottom:1px dashed rgba(26,26,26,.15)}.tweak-row:last-child{border-bottom:0}.tweak-label{color:var(--mid);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;display:block;font-size:10px}.swatches{display:flex;gap:8px}.swatch{width:28px;height:28px;border:1px solid rgba(26,26,26,.2);cursor:pointer}.swatch.active{outline:2px solid var(--ink);outline-offset:2px}body.dark{--paper: #1a1918;--paper-2: #232220;--paper-3: #2d2b28;--ink: #f2ede3;--ink-2: #d8d2c5;--mid: #999286;--mid-2: #6b6558;--accent: #d9705a;--accent-2: #f08d74;--accent-bg: #2a2622}body.dark .nav{background:color-mix(in oklch,var(--paper) 88%,transparent);border-bottom-color:#ffffff14}.path-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}.nav-toggle{display:none;width:40px;height:40px;background:transparent;border:0;padding:0;cursor:pointer;position:relative}.nav-toggle span{position:absolute;left:8px;right:8px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease,top .2s ease}.nav-toggle span:nth-child(1){top:13px}.nav-toggle span:nth-child(2){top:19px}.nav-toggle span:nth-child(3){top:25px}.nav-toggle.open span:nth-child(1){top:19px;transform:rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){top:19px;transform:rotate(-45deg)}.nav-panel{display:none;flex-direction:column;padding:8px var(--gutter) 16px;border-top:1px solid rgba(26,26,26,.08);background:var(--paper)}.nav-panel a{padding:12px 0;font-size:16px;color:var(--mid);border-bottom:1px solid rgba(26,26,26,.06)}.nav-panel a:last-child{border-bottom:0}.nav-panel a.active{color:var(--ink)}@media (max-width: 900px){.nav-links{display:none}.nav-toggle{display:block}.nav-panel{display:flex}.hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.hero-side{order:-1}.avatar{width:160px;height:160px;aspect-ratio:auto;border-radius:50%}.avatar:after{border-radius:50%;top:-8px;right:-8px;bottom:-8px;left:-8px}.meta-strip{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:8px}.feature{grid-template-columns:50px 1fr}.feature .links{grid-column:1 / -1;flex-direction:row;align-items:center}.pillars{grid-template-columns:1fr 1fr}.team,.looking-for,.contact-grid,.photos,.recruit{grid-template-columns:1fr}.recruit-cta{justify-self:start}.path-cols{grid-template-columns:1fr;gap:32px}}
