@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Archivo+Narrow:wght@500;600&display=swap";:root{--ink:#111;--ink-2:#3a3a3a;--ink-3:#6e6e6e;--ink-4:#a8a8a8;--paper:#f4f4f3;--paper-2:#ececeb;--line:#11111124;--line-2:#1111114d}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,system-ui,sans-serif}a{color:var(--ink);text-decoration:none}a:hover{color:#000}::selection{color:#fff;background:#111}.wrap{max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px}.label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-family:Archivo Narrow,sans-serif;font-size:11px}.tag{letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line-2);padding:5px 9px;font-size:10px}.section-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:14px;display:flex}.section-head h2{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(22px,2.6vw,34px);font-weight:800}@keyframes riseIn{0%{transform:translateY(110%)skewY(2deg)}to{transform:translateY(0)skewY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}70%{opacity:1;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes ruleDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:120px 120px,120px 120px}}@keyframes blobA{0%{transform:translate(-6%,-4%)scale(1)}50%{transform:translate(8%,6%)scale(1.18)}to{transform:translate(-6%,-4%)scale(1)}}@keyframes blobB{0%{transform:translate(6%,8%)scale(1.1)}50%{transform:translate(-8%,-6%)scale(.92)}to{transform:translate(6%,8%)scale(1.1)}}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,-1%)}to{transform:translate(0)}}@keyframes traceDash{to{stroke-dashoffset:-240px}}@keyframes cardInR{0%{opacity:0;transform:translate(52px)scale(.965)}72%{opacity:1;transform:translate(-6px)scale(1.006)}to{opacity:1;transform:none}}@keyframes cardInL{0%{opacity:0;transform:translate(-52px)scale(.965)}72%{opacity:1;transform:translate(6px)scale(1.006)}to{opacity:1;transform:none}}@keyframes tickIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}[data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(26px)}[data-reveal].is-visible{opacity:1;transform:none}.work-grid{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-card{cursor:pointer;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff6b;padding:34px 32px 28px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s;display:block;position:relative;overflow:hidden}.work-card:hover{background:#ffffffb8;transform:translateY(-6px);box-shadow:0 18px 44px #11111129}.work-card .glyph{opacity:.1;filter:grayscale()contrast(1.2);pointer-events:none;user-select:none;font-size:132px;line-height:1;position:absolute;bottom:20px;right:24px}.work-card .inner{flex-direction:column;gap:16px;min-height:260px;display:flex;position:relative}.work-card h3{letter-spacing:-.03em;text-transform:uppercase;margin:auto 0 0;font-size:clamp(30px,3.6vw,52px);font-weight:900;line-height:.95}.work-card p{max-width:38ch;color:var(--ink-2);margin:0;font-size:15px;line-height:1.5}.open-doc{letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.open-doc .rule{background:var(--ink);width:26px;height:1px}.spec-table{border-top:1px solid var(--line);align-content:start;display:grid}.spec-row{border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:16px;padding:12px 0;font-size:12px;display:flex}.spec-row span:first-child{color:var(--ink-3)}.spec-row span:last-child{text-align:right;font-weight:700}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;display:grid}.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;display:grid}.goals-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}main h1{overflow-wrap:break-word}.cert-row{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr) minmax(0,.7fr) auto;align-items:baseline;gap:24px;padding:18px 0;transition:background .3s,padding-left .3s cubic-bezier(.16,1,.3,1);display:grid}.cert-row:hover{background:#fff9;padding-left:10px}header.site-header{z-index:20;backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);background:#f4f4f3c7;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1280px;height:66px;margin:0 auto;padding:0 40px;display:flex}.brand{cursor:pointer;align-items:baseline;gap:12px;display:flex}.brand .name{letter-spacing:.14em;text-transform:uppercase;font-size:15px;font-weight:900}.brand .role{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-family:Archivo Narrow,sans-serif;font-size:11px}nav.site-nav{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:26px;font-size:11px;display:flex}nav.site-nav a{cursor:pointer;border-bottom:1px solid #0000;padding-bottom:3px;transition:border-color .2s,color .2s}nav.site-nav a:hover{border-bottom:1px solid var(--ink);color:var(--ink)}.timeline-track{padding:52px 0 0;position:relative}.timeline-track .line{background:var(--line-2);height:1px;position:absolute;top:76px;left:0;right:0}.timeline-stops{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:relative}.timeline-stop{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;align-content:start;padding:0 18px 0 0;display:grid}.timeline-stop .date{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);height:24px;font-family:Archivo Narrow,sans-serif;font-size:11px}.timeline-stop .dot-row{align-items:center;height:24px;display:flex}.timeline-stop .dot{border:1px solid var(--ink);background:0 0;width:11px;height:11px;transition:background .3s}.timeline-stop[aria-current=true] .dot{background:var(--ink)}.timeline-stop .body{opacity:.55;border-top:1px solid #0000;margin-top:14px;padding:14px 14px 16px 0;transition:border-color .3s,transform .3s cubic-bezier(.16,1,.3,1),opacity .3s}.timeline-stop[aria-current=true] .body{border-top-color:var(--ink);opacity:1}.timeline-stop:hover .body{opacity:1;transform:translateY(-4px)}.timeline-stop .label{letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);font-size:15px;font-weight:800;line-height:1.25}.timeline-stop .teaser{color:var(--ink-3);margin-top:6px;font-size:13px;line-height:1.45}.chapter-panel{border:1px solid var(--line-2);background:#fff9;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;margin-top:22px;padding:34px 34px 30px;display:none}.chapter-panel[data-active]{display:grid}.chapter-panel .date{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-family:Archivo Narrow,sans-serif;font-size:11px}.chapter-panel h3{letter-spacing:-.025em;text-transform:uppercase;margin:0;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.05}.chapter-panel p{max-width:60ch;color:var(--ink-2);margin:0;font-size:16px;line-height:1.6}.chapter-notes{border-top:1px solid var(--line);margin-top:18px;display:grid}.chapter-notes div{border-bottom:1px solid var(--line);gap:14px;padding:11px 0;font-size:14px;line-height:1.4;display:flex}.chapter-notes span:first-child{color:var(--ink-4);letter-spacing:.1em;font-family:Archivo Narrow,sans-serif}.carousel{grid-template-columns:minmax(0,.62fr) minmax(0,1.5fr) minmax(0,.62fr);align-items:center;gap:22px;padding:40px 0 0;display:grid}.carousel-btn{cursor:pointer;border:1px solid var(--line-2);background:0 0;justify-content:center;align-items:center;width:38px;height:34px;font-size:14px;transition:background .25s,color .25s;display:flex}.carousel-btn:hover{background:var(--ink);color:var(--paper)}.side-card{cursor:pointer;opacity:.34;filter:blur(.4px);border:1px solid var(--line);min-height:210px;font:inherit;color:inherit;text-align:left;background:#ffffff59;align-content:space-between;padding:22px 20px;transition:opacity .35s,transform .45s cubic-bezier(.16,1,.3,1);display:grid}.side-card:hover{opacity:.62}.side-card .year{letter-spacing:.22em;color:var(--ink-3);font-family:Archivo Narrow,sans-serif;font-size:11px}.side-card .title{text-transform:uppercase;font-size:19px;font-weight:800;line-height:1.2}.side-card .tagline{color:var(--ink-3);font-size:12px}.center-card{border:2px solid var(--ink);background:#fffc;align-content:start;gap:18px;min-height:300px;padding:30px 30px 26px;display:grid;box-shadow:0 16px 40px #11111121}.center-card .top-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.center-card .year-badge{letter-spacing:.2em;background:var(--ink);color:var(--paper);padding:6px 10px;font-size:11px;font-weight:800}.center-card .counter{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-family:Archivo Narrow,sans-serif;font-size:11px}.center-card h3{letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1}.center-card .tags{flex-wrap:wrap;gap:6px;display:flex}.center-card p{max-width:62ch;color:var(--ink-2);margin:0;font-size:16px;line-height:1.55}.center-card .highlight{border-top:2px solid var(--ink);gap:12px;padding-top:14px;display:flex}.center-card .highlight .k{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:900}.center-card .highlight .v{font-size:15px;font-weight:600;line-height:1.45}.carousel-anim-r{animation:.62s cubic-bezier(.16,1,.3,1) both cardInR}.carousel-anim-l{animation:.62s cubic-bezier(.16,1,.3,1) both cardInL}.split-2{border-top:2px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.split-2>div:first-child{border-right:1px solid var(--line);padding:26px 40px 26px 0}.split-2>div:last-child{padding:26px 0 26px 40px}.split-2 h2{letter-spacing:-.02em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(20px,2.2vw,28px);font-weight:800}.challenge-row{border-bottom:1px solid var(--line);padding:16px 0}.challenge-row .q{margin-bottom:6px;font-size:15px;font-weight:800}.challenge-row .a{color:var(--ink-2);max-width:52ch;font-size:14px;line-height:1.5}.code-panel{border:1px solid var(--line-2);color:var(--paper);background:#111111f5;padding:20px 22px;overflow:auto}.code-panel .file{letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-bottom:12px;font-family:Archivo Narrow,sans-serif;font-size:10px}.code-panel pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.7}.stack-table{border-top:1px solid var(--line);margin-top:14px;display:grid}.stack-table div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;font-size:13px;display:flex}.stack-table span:first-child{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.next-project{cursor:pointer;border-top:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:30px;padding:26px 0 0;transition:opacity .3s;display:flex}.next-project:hover{opacity:.62}.next-project .kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;font-family:Archivo Narrow,sans-serif;font-size:11px}.next-project .title{letter-spacing:-.035em;text-transform:uppercase;font-size:clamp(30px,5vw,64px);font-weight:900;line-height:.95}.next-project .open{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;padding-bottom:8px;font-size:11px;font-weight:700}.back-link{cursor:pointer;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:11px;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--ink)}.back-link .rule{background:currentColor;width:26px;height:1px}@media (width<=680px){.wrap{padding-left:22px;padding-right:22px}.nav-inner{gap:10px;height:58px;padding:0 22px}.brand{flex-shrink:0}.brand .role{display:none}.brand .name{font-size:13px}nav.site-nav{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:16px;min-width:0;font-size:10px;overflow-x:auto}nav.site-nav::-webkit-scrollbar{display:none}nav.site-nav a{flex-shrink:0}.hero-grid,.about-grid,.goals-grid{grid-template-columns:minmax(0,1fr);gap:28px}.goals-grid>div{border-right:none!important;padding-left:0!important}.work-grid{grid-template-columns:minmax(0,1fr)}.cert-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:6px;padding:16px 0}.timeline-stops{grid-auto-columns:minmax(180px,1fr);grid-auto-flow:column;padding-bottom:10px;overflow-x:auto}.chapter-panel{grid-template-columns:minmax(0,1fr);gap:20px;padding:26px 24px 24px}.carousel{grid-template-columns:minmax(0,1fr)}.carousel .side-card{display:none}.split-2{grid-template-columns:minmax(0,1fr)}.split-2>div:first-child{border-right:none;border-bottom:1px solid var(--line);padding:0 0 22px}.split-2>div:last-child{padding:22px 0 0}}
