:root{--bg: #fcfcfa;--fg: #1a1a1a;--muted: #6b6b6b;--rule: #e4e4e0;--accent: #1a1a1a;--max-width: 40rem}@media(prefers-color-scheme:dark){:root{--bg: #131312;--fg: #e8e8e4;--muted: #9a9a94;--rule: #2b2b29;--accent: #e8e8e4}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body{margin:0 auto;max-width:var(--max-width);padding:5rem 1.5rem 4rem}h1{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0}h2{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:4rem 0 1.5rem}h3{font-size:1rem;font-weight:600;margin:0}p{margin:.5rem 0 0}a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.2em;transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--fg)}.tagline{color:var(--muted);margin-top:.2rem}.back{display:inline-block;margin-bottom:2.5rem;color:var(--muted);font-size:.9rem;text-decoration:none}.back:hover{color:var(--fg)}.announcement{position:absolute;top:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100vw;min-height:2.35rem;padding:.55rem 1rem;background:#01ed7e;color:#000;font-size:.61rem;font-weight:600;letter-spacing:.11em;line-height:1.3;text-align:center;text-transform:uppercase}.announcement a{flex:0 0 auto;color:#000;text-decoration-color:#00000073;white-space:nowrap}.announcement a:hover{text-decoration-color:#000}@media(max-width:540px){.announcement-prefix{display:none}}.hero-wrap{position:relative;width:100vw;height:100svh;margin-left:calc(50% - 50vw);margin-top:-5rem;overflow:hidden}.hero{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.pixel-fx{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.hero-foreground{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 42%;pointer-events:none}.hero-header{position:absolute;top:2rem;left:0;right:0;z-index:2;text-align:center}.has-announcement .hero-header{top:4.25rem}.hero-header h1{color:#fff;font-size:clamp(2.75rem,9vw,7rem);font-weight:500;letter-spacing:-.02em;white-space:nowrap}.hero-links{position:absolute;right:1.5rem;bottom:1.25rem;list-style:none;margin:0;padding:0;text-align:right}.hero-links a{color:#fffc;font-size:.9rem;text-decoration:underline;text-underline-offset:.2em}.hero-links a:hover{color:#fff}.hero-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;height:22svh;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.hero-links,.scroll-cue{z-index:2}.scroll-cue{position:absolute;left:0;right:0;bottom:1rem;text-align:center;color:var(--fg);font-size:2rem;text-decoration:none;opacity:0;animation:cue-in 1.6s ease 1.3s forwards}.scroll-cue span{display:inline-block;animation:cue-bob 2.2s ease-in-out 1s infinite}@keyframes cue-in{to{opacity:1}}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue span{animation:none}}.cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:540px){.cards{grid-template-columns:1fr}}.card{position:relative;display:block;border:1px solid var(--rule);border-radius:2px;padding:1.1rem 1.2rem 1.3rem;text-decoration:none;transition:border-color .15s ease}.card:hover{border-color:var(--fg)}.card h3{font-size:.95rem}.card p{color:var(--muted);font-size:.88rem;margin-top:.4rem}.card .arrow{position:absolute;right:1.2rem;bottom:.9rem;color:var(--muted);transition:color .15s ease,transform .15s ease}.card:hover .arrow{color:var(--fg);transform:translate(3px)}.intro{margin-top:2.5rem}.section-taskbar{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2rem;margin-bottom:2rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.section-taskbar a{display:flex;align-items:center;justify-content:center;min-height:2.75rem;border-right:1px solid var(--rule);color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.12em;line-height:1;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .15s ease,color .15s ease}.section-taskbar a:last-child{border-right:0}.section-taskbar a:hover{background:var(--rule);color:var(--fg)}.section-taskbar a.is-active{background:var(--fg);color:var(--bg)}@media(max-width:420px){.section-taskbar{grid-template-columns:repeat(2,1fr)}.section-taskbar a:nth-child(2){border-right:0}.section-taskbar a:nth-child(-n+2){border-bottom:1px solid var(--rule)}}.entry{margin-bottom:2.75rem}.entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.entry-head time{color:var(--muted);font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}.entry .role{color:var(--muted);font-size:.9rem;margin-top:.1rem}.entry img{display:block;width:100%;height:auto;margin-top:1.25rem;border-radius:2px}.pub-authors{color:var(--muted);font-size:.9rem;margin-top:.35rem}.publication-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}.publication-main{margin-bottom:0}.publication-sidebar{border-top:1px solid var(--rule);padding-top:.85rem}.publication-sidebar dl,.publication-sidebar dd{margin:0}.publication-sidebar div{margin-bottom:1rem}.publication-sidebar dt{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.publication-sidebar dd{font-size:.85rem;line-height:1.35;margin-top:.25rem;overflow-wrap:anywhere}.eyebrow{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.12em;margin-top:1.5rem;text-transform:uppercase}@media(min-width:760px){.publication-layout{grid-template-columns:minmax(0,100%) 11rem;width:calc(100% + 13rem)}}.contact-list{list-style:none;margin:0;padding:0}.contact-list li{margin-bottom:.4rem}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.85rem}footer .dot{color:var(--rule)}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--fg)}footer .footer-privacy{text-decoration:underline;text-underline-offset:.2em}
