:root{--ink:#160a0c;--ivory:#ffecee;--copper:#ff6b7d;--slate:#d4b3b8;--jade:#7fd4b0;--panel:#211114;--line:#3b1f24;--muted:#bf9499;--surf1:#1b0e11;--surf2:#2a1519;--bpa:#2a1519;--artbg:#120709;--artline:#3b1f24;--arttx:#f2d5d9;--frame:#4a2328;--frameo:#7a3f47;--frames:#0d0507;--sql:#f3cdd2;--sqd:#7d2232;--sqlt:#5a1a26;--sqdt:#ffe3e7;--hov:#8a4650;--ca:#2b1317;--cb:#1a0c0f;--band:#1e1014;color-scheme:dark;background:var(--ink);color:var(--ivory);scroll-behavior:smooth;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--jade);outline-offset:5px}button{touch-action:manipulation}::selection{background:var(--copper);color:var(--ink)}.wrap{max-width:1320px;margin:auto;padding-left:56px;padding-right:56px}.skip{z-index:100;background:var(--ivory);color:var(--ink);padding:15px;position:absolute;top:-90px;left:20px}.skip:focus{top:15px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:112px;display:flex}.brand{align-items:center;gap:18px;display:flex}.brand-mark{letter-spacing:-5px;font-size:42px;font-weight:800;line-height:1}.brand-mark span{color:var(--copper)}.brand-name{letter-spacing:1.8px;font-size:12px;font-weight:700}.brand-name>span{letter-spacing:1.4px;color:var(--slate);margin-top:8px;font-family:monospace;font-size:8px;display:block}nav{gap:30px;font-size:13px;display:flex}nav a{padding:12px 2px}nav a:hover,.text-link:hover{color:var(--copper)}.header-cta{border:1px solid var(--line);padding:14px 18px;font-size:13px}.header-cta span{color:var(--copper);margin-left:24px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:36px;padding-top:80px;padding-bottom:74px;display:grid}.eyebrow{letter-spacing:2px;color:var(--copper);align-items:center;gap:12px;margin:0 0 28px;font-family:monospace;font-size:11px;font-weight:500;display:flex}.dot{background:var(--jade);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb,var(--jade) 23%,transparent);border-radius:50%;display:inline-block}h1{letter-spacing:-5px;margin:0 0 28px;font-size:clamp(62px,6.5vw,93px);font-weight:500;line-height:1.04}em{color:var(--copper);font-family:Georgia,Times New Roman,serif;font-weight:400}.intro{color:var(--slate);max-width:400px;margin-bottom:25px;font-size:17px;line-height:1.75}.hero-disciplines{letter-spacing:1px;font:10px monospace}.hero-disciplines span{color:var(--copper);padding:0 10px}.hero-actions{align-items:center;gap:30px;margin-top:35px;display:flex}.button{justify-content:space-between;align-items:center;gap:40px;min-height:54px;padding:19px 24px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.primary{background:var(--copper);color:var(--ink)}.primary:hover{background:var(--ivory);transform:translateY(-2px)}.text-link{padding:12px 0;font-size:13px;display:inline-block}.hero-note{align-items:center;gap:16px;margin-top:40px;display:flex}.hero-note>span{color:var(--copper);font-size:36px}.hero-note p{color:var(--slate);font-size:11px;line-height:1.7}.hero-note strong{color:var(--ivory);font-weight:400}.board-panel{border:1px solid var(--line);background:linear-gradient(150deg,var(--bpa) 0%,var(--ink) 75%);padding:25px 25px 18px;position:relative;box-shadow:0 35px 70px #0003}.board-top{letter-spacing:1px;color:var(--slate);justify-content:space-between;font:9px monospace;display:flex}.board-top>span:last-child{color:var(--copper)}.board-stage{perspective:1000px;padding:30px 0 22px;position:relative}.board-glow{background:color-mix(in srgb,var(--copper) 7%,transparent);filter:blur(40px);border-radius:50%;position:absolute;inset:20% 10%}.chessboard{border:9px solid var(--frame);outline:1px solid var(--frameo);box-shadow:12px 20px 0 var(--frames),15px 25px 30px #0005;grid-template-columns:repeat(8,1fr);margin:12px 13px 20px;display:grid;position:relative;transform:rotateX(18deg)rotate(-7deg)}.square{aspect-ratio:1;border:0;place-items:center;padding:0;transition:background .2s;display:grid;position:relative}.square.light{background:var(--sql);color:var(--sqlt)}.square.dark{background:var(--sqd);color:var(--sqdt)}.coord{opacity:.7;font:8px monospace;position:absolute;bottom:2px;left:3px}.piece{z-index:1;color:#1a0a0d;text-shadow:1px 1px #eee,2px 2px #eee,3px 6px 3px #0006;font-family:Georgia,serif;font-size:clamp(27px,3.7vw,54px);line-height:1;position:relative;transform:translateY(-7px)}.square.legal:after{content:"";background:var(--copper);width:21%;height:21%;box-shadow:0 0 0 5px color-mix(in srgb,var(--copper) 17%,transparent);border-radius:50%}.square.legal:hover,.square.occupied{background:var(--copper)}.board-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:19px;display:flex}.tiny-label{letter-spacing:1.3px;color:var(--muted);font:9px monospace}.board-bottom p{margin:7px 0;font:11px monospace}.board-bottom button{border:1px solid var(--line);width:44px;height:44px;color:var(--copper);background:0 0;font-size:23px}.board-caption{color:var(--slate);text-align:center;margin:15px 0 0;font:9px monospace}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surf1)}.ticker .wrap{letter-spacing:1.5px;justify-content:space-between;align-items:center;gap:16px;min-height:76px;font:10px monospace;display:flex}.ticker .wrap>span:nth-child(2n){color:var(--copper);font-size:26px}.section{padding-top:100px;padding-bottom:95px;scroll-margin-top:30px}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;display:flex}.section-heading .eyebrow{margin-bottom:18px}h2{letter-spacing:-2px;margin:0;font-size:clamp(38px,4vw,56px);font-weight:400;line-height:1.15}.section-heading>p{color:var(--slate);margin-bottom:4px;font-size:13px;line-height:1.7}.filters{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.filters button{border:1px solid var(--line);background:0 0;min-height:44px;padding:12px 19px;font-size:11px}.filters button[aria-pressed=true]{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.filters button span{opacity:.7;margin-left:17px;font:9px monospace}.project-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project{background:var(--panel);border:1px solid var(--line);padding:28px;transition:border-color .2s}.project:hover{border-color:var(--hov)}.project[hidden]{display:none}.project-top{letter-spacing:1px;color:var(--slate);justify-content:space-between;align-items:center;font:9px monospace;display:flex}.project-piece{color:var(--copper);font-size:30px}.project-art{background:var(--artbg);border:1px solid var(--artline);height:150px;color:var(--arttx);flex-direction:column;justify-content:center;gap:10px;margin:20px 0 28px;padding:23px;font:12px monospace;display:flex;position:relative;overflow:hidden}.code-line{color:var(--slate);margin-bottom:8px;font-size:10px}.project-art i{color:var(--jade);padding-right:9px;font-style:normal}.terminal-cursor{color:var(--copper)}.routes,.transfer{justify-content:center;align-items:center;gap:13px;font:10px monospace;display:flex}.routes>span{border:1px solid var(--line);background:var(--surf2);padding:16px 9px}.routes b,.transfer b{color:var(--copper);font-size:26px}.scanner{text-align:center;letter-spacing:2px;gap:20px;font-size:10px;display:grid}.scanner div{background:var(--jade);height:1px;box-shadow:0 0 20px var(--jade)}.transfer span{border:1px solid var(--line);padding:22px 14px}.project-tag{text-transform:uppercase;letter-spacing:1.7px;color:var(--copper);margin-bottom:12px;font:9px monospace}h3{letter-spacing:-.8px;margin:0 0 14px;font-size:26px;font-weight:500}.project h3 a{justify-content:space-between;display:flex}.project h3 span{color:var(--copper);font-size:22px}.project>p:not(.project-tag){color:var(--slate);min-height:70px;font-size:13px;line-height:1.8}details{color:var(--slate);border-top:1px solid var(--line);padding:17px 0;font-size:12px}summary{cursor:pointer;color:var(--ivory);justify-content:space-between;align-items:center;min-height:28px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{color:var(--copper);font-size:18px}details p{margin:10px 0;line-height:1.8}details[open] summary span{transform:rotate(45deg)}.project-foot{border-top:1px solid var(--line);color:var(--slate);justify-content:space-between;gap:20px;padding-top:18px;font:9px/1.6 monospace;display:flex}.project-foot a{color:var(--copper);text-align:right}.all-projects{border:1px solid var(--line);text-align:center;color:var(--slate);margin-top:26px;padding:23px;font-size:12px;display:block}.all-projects strong{color:var(--ivory);margin-left:14px;font-weight:400}.about-section{background:var(--band);color:var(--ivory);padding:95px 0}.about-grid{grid-template-columns:1fr 1fr;gap:85px;display:grid}.about-section .eyebrow,.about-section em{color:var(--copper)}.about-intro{margin-top:28px;color:var(--ivory)!important;font-size:20px!important}.about-grid>div>p:not(.eyebrow){color:var(--slate);max-width:460px;font-size:14px;line-height:1.9}.about-grid .text-link{margin-top:20px;font-weight:600}.playbook{border:1px solid var(--line);padding:28px}.playbook-head{letter-spacing:1.5px;justify-content:space-between;align-items:center;padding-bottom:20px;font:9px monospace;display:flex}.playbook-head>span:last-child{font-size:30px}.playbook-row{border-top:1px solid var(--line);gap:20px;padding:22px 0;display:flex}.playbook-row>span{color:var(--copper);font:11px monospace}.playbook-row h3{letter-spacing:-.3px;margin-bottom:8px;font-size:17px}.playbook-row p{color:var(--slate);margin:0;font-size:12px;line-height:1.7}.recognition{border-top:1px solid var(--line);padding-top:20px}.recognition>span{letter-spacing:1px;color:var(--slate);font:8px monospace}.recognition p{font-size:14px;line-height:1.8}.recognition p span{float:right}.recognition a{text-underline-offset:4px;font-size:11px;text-decoration:underline}.article-list{border-top:1px solid var(--line)}.article{border-bottom:1px solid var(--line);align-items:center;gap:30px;padding:26px 0;display:flex}.article-number{color:var(--copper);min-width:30px;font:13px monospace}.article>div{flex:1}.article h3{letter-spacing:-.3px;max-width:850px;margin:10px 0 0;font-size:20px;line-height:1.4}.article>span:last-child{color:var(--copper);font-size:23px}.article:hover h3{color:var(--copper)}.video-heading{justify-content:space-between;align-items:center;gap:20px;margin-top:50px;display:flex}.video-heading h3{margin:0;font-size:20px}.video-heading a{color:var(--slate);font-size:11px}.videos{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.video{border:1px solid var(--line);align-items:center;gap:20px;padding:24px;display:flex}.play{color:var(--copper);border:1px solid var(--line);flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.video h3{letter-spacing:0;margin:10px 0 0;font-size:14px;line-height:1.5}.video>span:last-child{color:var(--copper);margin-left:auto}.contact{border:1px solid var(--line);background:linear-gradient(115deg,var(--ca),var(--cb));margin-bottom:80px;padding-top:55px;padding-bottom:50px;position:relative;overflow:hidden}.contact h2{z-index:1;font-size:clamp(38px,5vw,67px);position:relative}.contact-bottom{z-index:1;justify-content:space-between;align-items:center;gap:25px;margin-top:30px;display:flex;position:relative}.contact-bottom p{color:var(--slate);font-size:13px;line-height:1.8}.contact-piece{color:color-mix(in srgb,var(--copper) 5%,transparent);font:330px Georgia,serif;position:absolute;top:-35px;right:100px;transform:rotate(-15deg)}.footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding-top:30px;padding-bottom:35px;display:flex}.footer p{color:var(--slate);font-size:10px;line-height:1.9}.footer p span{color:var(--muted);font:9px monospace}.footer>div{flex-wrap:wrap;gap:22px;display:flex}.footer a:not(.brand-mark){align-items:center;min-height:44px;font-size:10px;display:inline-flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=1600px){.hero{padding-top:100px;padding-bottom:100px}}@media (width<=1050px){.wrap{padding-left:32px;padding-right:32px}h1{font-size:70px}.hero{gap:25px}.board-panel{padding:18px}.brand-name{display:none}.about-grid{gap:40px}.routes{gap:7px}.routes>span{padding:12px 6px;font-size:9px}.project-foot{flex-direction:column;gap:7px}.project-foot a{text-align:left}.contact{margin-left:32px;margin-right:32px}.hero-disciplines{font-size:8px}.hero-disciplines span{padding:0 5px}}@media (width<=760px){.wrap{padding-left:24px;padding-right:24px}.header{gap:20px;height:84px}.header-cta{display:none}nav{gap:22px;font-size:12px}.brand-mark{font-size:36px}.hero{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:42px}.hero-copy{max-width:570px}h1{letter-spacing:-4px;font-size:76px}.intro{max-width:450px;font-size:16px}.eyebrow{letter-spacing:1.5px;margin-bottom:24px;font-size:9px}.hero-disciplines{font-size:9px}.hero-actions{flex-wrap:wrap;row-gap:14px;margin-top:29px}.hero-actions .button{flex-shrink:0}.hero-note{margin-top:26px}.board-panel{width:100%;max-width:500px;margin:0 auto;padding:20px}.piece{font-size:45px}.board-stage{padding:18px 0}.board-bottom p{font-size:10px}.ticker .wrap{grid-template-columns:1fr auto 1fr;gap:18px 12px;min-height:90px;padding-top:22px;padding-bottom:22px;font-size:8px;display:grid}.ticker .wrap>span:nth-child(4),.ticker .wrap>span:nth-child(6){display:none}.ticker .wrap>span:nth-child(5){grid-column:1}.ticker .wrap>span:nth-child(7){grid-column:3}.section{padding-top:62px;padding-bottom:58px}.section-heading{margin-bottom:27px;display:block}.section-heading>p{margin-top:20px;font-size:12px}.section-heading .text-link{margin-top:15px}h2{letter-spacing:-1.8px;font-size:40px}.project-grid{grid-template-columns:1fr;gap:18px}.project{padding:23px}.project-art{height:145px}.project>p:not(.project-tag){min-height:0}.project-foot{flex-direction:row}.routes{gap:12px}.about-section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:35px}.about-intro{font-size:19px!important}.playbook{padding:23px}.article{gap:15px;padding:23px 0}.article-number{min-width:18px;font-size:11px}.article h3{font-size:16px}.article .tiny-label{font-size:8px}.video-heading{flex-direction:column;align-items:flex-start;gap:8px;margin-top:34px}.videos{grid-template-columns:1fr}.video{gap:15px;padding:20px}.contact{margin:0 24px 45px;padding:35px 23px}.contact h2{font-size:40px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:15px}.contact-piece{font-size:280px;top:70px;right:-35px}.footer{grid-template-columns:auto 1fr;gap:12px 25px;padding-top:25px;padding-bottom:25px;display:grid}.footer>div{grid-column:1/-1;gap:24px}.footer>a:last-child{grid-column:1/-1}.footer p{margin:0}.footer .brand-mark{align-self:center}}@media (width<=360px){.wrap{padding-left:18px;padding-right:18px}h1{font-size:64px}.hero-disciplines{font-size:8px}.hero-actions{gap:20px}.button{gap:25px;padding:17px 18px}.filters{gap:6px}.filters button{padding:10px 13px}.board-panel{padding:14px}.board-top{font-size:7px}.piece{font-size:34px}.project-foot{flex-direction:column}.contact{margin-left:18px;margin-right:18px}.contact h2{font-size:34px}.routes{gap:6px}.routes>span{font-size:8px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.primary:hover{transform:none}}.hero>*,.about-grid>*,.project-grid>*,.videos>*,.chessboard,.square,.project-art{min-width:0}.code-line{overflow-wrap:anywhere}.coord:after{content:attr(data-coordinate)}.chessboard{aspect-ratio:1;grid-template-rows:repeat(8,minmax(0,1fr))}.square{aspect-ratio:auto;height:100%;min-height:0}.piece{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}:root{interpolate-size:allow-keywords;--ease:cubic-bezier(.22,1,.36,1);--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}html,body{overflow-x:clip}body{font-feature-settings:"ss01","cv11";line-height:1.5}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.tiny-label,.eyebrow,.project-foot,.board-top,.project-top,.project-tag,.board-caption{font-variant-numeric:tabular-nums}.progress{background:linear-gradient(90deg,var(--copper),var(--ivory));width:100%;height:3px;transform:scaleX(var(--p,0));transform-origin:0;z-index:90;pointer-events:none;position:fixed;top:0;left:0}.header{z-index:80;transition:height .4s var(--ease);background:0 0;position:sticky;top:0}.header:before{content:"";z-index:-1;background:color-mix(in srgb,var(--ink) 96%,transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 1px 0 var(--line);opacity:0;transition:opacity .4s;position:absolute;inset:0 -50vw}.header.scrolled:before{opacity:1}.header.scrolled{height:72px}.header.scrolled .brand-mark{font-size:34px}.brand-logo{width:44px;height:44px;transition:width .4s var(--ease),height .4s var(--ease);border-radius:50%;display:block}.header.scrolled .brand-logo{width:34px;height:34px}.footer .brand-logo{width:40px;height:40px}.brand-mark{transition:font-size .4s var(--ease)}.header-wrap{width:100%}nav a{position:relative}nav a:after{content:"";background:var(--copper);transform-origin:0;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:6px;left:2px;right:2px;transform:scaleX(0)}nav a:hover:after,nav a.active:after{transform:scaleX(1)}nav a.active{color:var(--copper)}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes boardIn{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:none}}@keyframes settle{0%{opacity:0;transform:rotateX(52deg)rotate(-22deg)scale(.9)}to{opacity:1}}.hero-copy>*{animation:rise .9s var(--ease) both}.hero-copy>:first-child{animation-delay:50ms}.hero-copy>:nth-child(2){animation-delay:.15s}.hero-copy>:nth-child(3){animation-delay:.25s}.hero-copy>:nth-child(4){animation-delay:.33s}.hero-copy>:nth-child(5){animation-delay:.41s}.hero-copy>:nth-child(6){animation-delay:.5s}.board-panel{animation:boardIn 1.1s .2s var(--ease) both}.chessboard{animation:settle 1.4s .35s var(--ease) both;transform:rotateX(calc(18deg + var(--ty,0deg))) rotateZ(calc(-7deg + var(--tx,0deg)));transition:transform .5s var(--ease)}.hero{position:relative}.hero:before{content:"";z-index:-1;background:conic-gradient(color-mix(in srgb,var(--ivory) 3%,transparent) 25%,transparent 0 50%,color-mix(in srgb,var(--ivory) 3%,transparent) 0 75%,transparent 0) 0 0/96px 96px;animation:40s linear infinite drift;position:absolute;inset:0 -10vw;-webkit-mask-image:radial-gradient(60% 70% at 70% 45%,#000,#0000 75%);mask-image:radial-gradient(60% 70% at 70% 45%,#000,#0000 75%)}@keyframes drift{to{background-position:192px 96px}}.board-glow{animation:6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45;transform:scale(1.15)}}.dot{animation:2.4s ease-in-out infinite blip}@keyframes blip{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--jade) 0%,transparent),0 0 14px color-mix(in srgb,var(--jade) 67%,transparent);transform:scale(1.25)}}.square{transition:background .3s var(--ease),box-shadow .3s}.square.legal:after{transition:transform .3s var(--ease);animation:2.2s ease-in-out infinite legalPing}.square.legal:hover:after{animation:none;transform:scale(1.6)}@keyframes legalPing{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--copper) 0%,transparent);transform:scale(1.12)}}.square.visited:not(.occupied){box-shadow:inset 0 0 0 100px color-mix(in srgb,var(--copper) 15%,transparent)}.square .ripple{border:2px solid var(--copper);pointer-events:none;animation:ripple .8s var(--ease) forwards;position:absolute;inset:0}@keyframes ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}.board-bottom button{transition:transform .5s var(--ease),background .3s,color .3s}.board-bottom button:hover{background:var(--copper);color:var(--ink);transform:rotate(-200deg)}#board-status{transition:opacity .2s}.button{isolation:isolate;position:relative;overflow:hidden}.button:before{content:"";background:var(--ivory);transition:transform .5s var(--ease);z-index:-1;position:absolute;inset:0;transform:translateY(101%)}.primary:hover{background:var(--copper)}.button:hover:before{transform:none}.button span,.header-cta span,.text-link span,.article>span:last-child,.video>span:last-child,.project h3 span,.project-foot a{transition:transform .4s var(--ease),color .3s}.button:hover span,.header-cta:hover span,.text-link:hover span{transform:translate(4px,-3px)}.header-cta{transition:background .3s,color .3s,border-color .3s}.header-cta:hover{background:var(--copper);border-color:var(--copper);color:var(--ink)}.header-cta:hover span{color:var(--ink)}.all-projects{transition:border-color .3s,background .3s}.all-projects:hover{border-color:var(--copper);background:color-mix(in srgb,var(--copper) 5%,transparent)}.project{transition:border-color .4s,transform .6s var(--ease),box-shadow .6s var(--ease),background .4s;position:relative}.project:before{content:"";background:var(--copper);transform-origin:0;width:100%;height:2px;transition:transform .7s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.project:hover{border-color:var(--hov);transform:translateY(-6px);box-shadow:0 30px 60px #0000004d}.project:hover:before{transform:scaleX(1)}.project-piece{transition:transform .6s var(--ease)}.project:hover .project-piece{transform:translateY(-4px)rotate(-8deg)scale(1.15)}.project h3 a:hover span{transform:translate(4px,-4px)}.terminal-cursor{animation:1s step-end infinite caret}@keyframes caret{50%{opacity:0}}.scanner div{animation:scan 2.8s var(--ease) infinite alternate}@keyframes scan{0%{opacity:.5;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}.project-art:after{content:"";background:linear-gradient(105deg,transparent 40%,color-mix(in srgb,var(--ivory) 5%,transparent) 50%,transparent 60%);transition:transform 1s var(--ease);position:absolute;inset:0;transform:translate(-120%)}.project:hover .project-art:after{transform:translate(120%)}.routes b,.transfer b{animation:2.4s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{50%{transform:translate(5px)}}.filters button{transition:background .3s var(--ease),color .3s,border-color .3s,transform .3s var(--ease)}.filters button:hover{border-color:var(--copper);transform:translateY(-2px)}details::details-content{block-size:0;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete;overflow:hidden}details[open]::details-content{block-size:auto}summary span{transition:transform .45s var(--ease)}.article,.video{transition:background .4s var(--ease),border-color .3s}.article h3,.video h3{transition:color .3s}.article:hover h3,.video:hover h3{color:var(--copper)}.ticker{overflow:hidden}@media (width>=761px){.ticker .wrap>span:nth-child(2n){animation:9s ease-in-out infinite spinPiece;display:inline-block}.ticker .wrap>span:nth-child(4){animation-delay:-3s}.ticker .wrap>span:nth-child(6){animation-delay:-6s}}@keyframes spinPiece{0%,70%,to{transform:none}85%{transform:translateY(-6px)rotate(14deg)}}.contact-piece{will-change:transform;transform:translateY(var(--py,0))}.js-reveal [data-reveal]{opacity:0;transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0)*90ms);transform:translateY(36px)}.js-reveal [data-reveal=left]{transform:translate(-36px)}.js-reveal [data-reveal=scale]{transform:scale(.94)}.js-reveal [data-reveal].in{opacity:1;transform:none}.js-reveal .project[data-reveal].in{transition:opacity .9s var(--ease),transform .6s var(--ease),border-color .4s,box-shadow .6s var(--ease)}.section-heading{position:relative}.section-heading:after{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform 1.4s var(--ease) .2s;position:absolute;bottom:-20px;left:0;right:0;transform:scaleX(0)}.section-heading.in:after{transform:scaleX(1)}.section-heading{margin-bottom:60px}.filters{margin-bottom:var(--s3)}.about-section{position:relative;overflow:hidden}.about-section:before{content:"";background:conic-gradient(color-mix(in srgb,var(--ivory) 4%,transparent) 25%,transparent 0 50%,color-mix(in srgb,var(--ivory) 4%,transparent) 0 75%,transparent 0) 0 0/72px 72px;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 45%,#000);mask-image:linear-gradient(90deg,#0000 45%,#000)}.about-grid{position:relative}.js-reveal .about-section{clip-path:inset(6% 4% 0);transition:clip-path 1.2s var(--ease)}.js-reveal .about-section.in{clip-path:inset(0)}.contact{transition:border-color .6s}@media (hover:none){.project:hover{box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal],.js-reveal .about-section{opacity:1!important;clip-path:none!important;transform:none!important}.hero:before{animation:none}.progress{display:none}.chessboard{transform:rotateX(18deg)rotate(-7deg)}.project:hover,.button:hover span{transform:none}}:root{--display:"Fraunces",Georgia,"Times New Roman",serif;--body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--body)}body{font-family:var(--body);font-feature-settings:"cv11","ss03"}h1,h2,h3,.brand-mark,.about-intro{font-family:var(--display);font-optical-sizing:auto}h1{letter-spacing:-.035em;font-weight:500;line-height:1.02}h2{letter-spacing:-.03em;font-weight:400;line-height:1.08}h3{letter-spacing:-.015em;font-weight:500}em{font-family:var(--display);color:var(--copper);letter-spacing:-.02em;font-style:italic;font-weight:300}.eyebrow,.tiny-label,.board-top,.board-caption,.brand-name>span,.project-top,.project-foot,.project-tag,.hero-disciplines,.ticker,.code-line,.coord,.filters button,[data-filter]{font-family:var(--mono)}.eyebrow{letter-spacing:.18em;font-size:11.5px;font-weight:500}nav a,.button,.text-link{font-family:var(--body);letter-spacing:.02em}.intro-name,.intro-line{font-family:var(--display)}main:focus{outline:none}.cube-intro{display:none}html.intro-on .cube-intro{z-index:200;background:var(--ink);place-items:center;transition:background .65s,opacity .5s;display:grid;position:fixed;inset:0;overflow:hidden}html.intro-on{overflow:hidden}html.intro-on .hero-copy>*,html.intro-on .board-panel,html.intro-on .chessboard,html.intro-on .header{animation-play-state:paused}html.intro-revealing .hero-copy>*,html.intro-revealing .board-panel,html.intro-revealing .chessboard,html.intro-revealing .header{animation-play-state:running}.cube-intro.done{opacity:0;pointer-events:none}.cube-intro:before{content:"";background:conic-gradient(#ffffff05 25%,transparent 0 50%,#ffffff05 0 75%,transparent 0) 0 0/96px 96px;transition:opacity .6s;position:absolute;inset:0;mask-image:radial-gradient(#000,#0000 75%)}.intro-skip{z-index:3;background:var(--ink);border:1px solid var(--line);color:var(--ivory);font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;min-height:44px;padding:14px 16px;position:absolute;top:22px;right:22px}.intro-skip:hover,.intro-skip:focus-visible{color:var(--ink);background:var(--copper);border-color:var(--copper)}.intro-stage{perspective:1100px;pointer-events:none;place-items:center;width:100%;height:100%;display:grid;position:relative}.cube-scene{perspective:900px;place-items:center;width:210px;height:210px;margin:-105px 0 0 -105px;display:grid;position:absolute;top:47%;left:50%}.cube{width:0;height:0;transform-style:preserve-3d;position:relative;transform:rotateX(-26deg)rotateY(-36deg)}.cube .cubie{width:0;height:0;transform-style:preserve-3d;position:absolute;top:0;left:0}.cube .face{backface-visibility:hidden;background:#141414;border:1px solid #000;place-items:center;width:60px;height:60px;display:grid;position:absolute;top:-30px;left:-30px}.cube .face i{background:var(--c);border-radius:5px;width:86%;height:86%;display:block;box-shadow:inset 0 -6px 10px #0003}.opening-board{aspect-ratio:1;width:min(64vw,430px);transform-style:preserve-3d;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:absolute;transform:translateY(-6%)rotateX(20deg)rotate(-7deg)}.opening-tile{opacity:0;transform:translate3d(calc((3.5 - var(--f))*22px),calc((3.5 - var(--r))*22px),-120px) scale(.15);transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .6s;transition-delay:calc((var(--r) + var(--f)) * 18ms);place-items:center;display:grid;position:relative}.board-form .opening-tile{opacity:1;transform:none}.opening-mark{font:600 clamp(11px,2.6vw,20px) var(--mono);color:var(--ink);opacity:0;transition:opacity .35s,transform .45s;transform:scale(.65)}.opening-tile:nth-child(43) .opening-mark{color:var(--ivory);text-shadow:1px 1px 0 var(--copper),2px 3px 5px #0008;opacity:0;z-index:1;font:clamp(40px,10vw,68px) Georgia,serif;position:absolute;transform:translateY(-90px)}.knight-land .opening-tile:nth-child(43) .opening-mark{opacity:1;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s;transform:translateY(-12px)}.opening-tile.lit:after{content:"";background:var(--copper);width:17%;height:17%;box-shadow:0 0 14px color-mix(in srgb,var(--copper) 44%,transparent);border-radius:50%;position:absolute}.opening-tile.lit:has(.opening-mark:not(:empty)):after{display:none}.opening-tile.lit .opening-mark{opacity:1;transform:scale(1)}.opening-caption{text-align:center;opacity:0;margin:0;transition:opacity .5s;position:absolute;top:calc(50% + min(32vw,215px) + 30px)}.opening-caption span{font:clamp(7px,1.8vw,10px) var(--mono);letter-spacing:.12em;color:var(--copper);display:block}.opening-caption strong{color:var(--ivory);margin-top:16px;font:400 clamp(23px,5vw,36px) Georgia,serif;display:block}.knight-land .opening-caption{opacity:1}html.intro-on .cube-intro.tile-reveal{background:0 0}.tile-reveal:before,.tile-reveal .opening-caption,.tile-reveal .cube-scene{opacity:0}.tile-reveal .opening-tile{opacity:0;transform:translate3d(calc((var(--f) - 3.5)*20px),calc((var(--r) - 3.5)*20px),130px) rotateX(25deg) scale(.5);transition-duration:.65s;transition-delay:calc((var(--r) + var(--f)) * 28ms)}@media (width<=600px){.cube-scene{transform:scale(.75)}.opening-board{width:min(78vw,360px)}.opening-caption{top:calc(50% + min(39vw,180px) + 24px)}.opening-tile:nth-child(43) .opening-mark{font-size:clamp(38px,12vw,60px)}}@media (height<=500px){.opening-board{width:52vh}.opening-caption{top:80%}.opening-caption strong{margin-top:8px;font-size:22px}.cube-scene{transform:scale(.65)}}@media (prefers-reduced-motion:reduce){.cube-intro{display:none!important}html.intro-on{overflow:auto}}html.intro-on .cube-intro{--opening-bg:#160a0c;--opening-fg:#ffe3e7;--opening-muted:#e3bfc4;--opening-paper:#ffe3e7;--opening-dark:#5a1622;--opening-copper:#ff8a98;--opening-line:#6b3a42;--opening-mark:#160a0c;--opening-shadow:#160a0c;background:var(--opening-bg);transition:background .7s,opacity .45s}html.intro-on[data-theme=light] .cube-intro{--opening-bg:#fff5f5;--opening-fg:#2b0a0e;--opening-muted:#7d4a50;--opening-paper:#ffe0e4;--opening-dark:#d9475c;--opening-copper:#c4122c;--opening-line:#e8b8bd;--opening-mark:#2b0a0e;--opening-shadow:#fff5f5}.cube-intro:before{display:none}.intro-skip{border:1px solid var(--opening-line);min-width:88px;min-height:44px;color:var(--opening-fg);font:400 13px var(--body);text-transform:none;letter-spacing:0;background:0 0;border-radius:0;padding:12px 18px;top:30px;right:40px}.intro-skip:hover{background:var(--opening-fg);border-color:var(--opening-fg);color:var(--opening-bg)}.intro-skip:focus-visible{outline:2px solid var(--opening-fg);outline-offset:5px;color:var(--opening-fg);background:0 0}.cube-scene{top:48%;left:69%;transform:scale(.86)}.opening-board{width:min(31vw,420px);top:50%;left:69%;transform:translate(-50%,-50%)rotateX(14deg)rotate(-7deg)}.opening-tile.light{background:var(--opening-paper)}.opening-tile.dark{background:var(--opening-dark)}.opening-tile.lit{box-shadow:none}.opening-tile.lit:after{background:var(--opening-copper);width:13%;height:13%;box-shadow:none}.opening-mark{font:500 clamp(12px,1.8vw,19px) var(--body);color:var(--opening-mark)}.opening-mark svg{width:19px;height:19px}.opening-tile:nth-child(43) .opening-mark{color:var(--opening-copper);text-shadow:1px 1px 0 var(--opening-shadow),2px 4px 3px #0005;font-size:clamp(40px,5vw,68px)}.opening-caption{text-align:left;opacity:1;width:42%;top:50%;left:max(56px,50vw - 604px);transform:translateY(-50%)}.opening-caption .opening-eyebrow{font:500 13px var(--body);letter-spacing:.02em;text-transform:none;color:var(--opening-muted);margin-bottom:28px;display:block}.opening-caption strong{font:400 clamp(48px,5.5vw,84px)/1.06 var(--display);letter-spacing:-.04em;color:var(--opening-fg);margin:0}.opening-caption strong em{font-family:var(--display);color:var(--opening-copper);font-weight:300}.opening-caption .opening-note{font:400 14px/1.6 var(--body);letter-spacing:0;color:var(--opening-muted);margin-top:28px;display:block}.tile-reveal .opening-caption{opacity:0;transition:opacity .45s}@media (width<=760px){.intro-skip{top:20px;right:24px}.opening-caption{width:calc(100% - 48px);top:112px;left:24px;transform:none}.opening-caption .opening-eyebrow{margin-bottom:18px;font-size:12px}.opening-caption strong{font-size:clamp(45px,13vw,66px);line-height:1.04}.opening-caption .opening-note{margin-top:18px;font-size:13px}.cube-scene{top:65%;left:50%;transform:scale(.66)}.opening-board{width:min(67vw,340px);top:66%;left:50%;transform:translate(-50%,-50%)rotateX(14deg)rotate(-7deg)}.opening-tile:nth-child(43) .opening-mark{font-size:clamp(34px,10vw,48px)}.opening-mark{font-size:11px}.opening-mark svg{width:15px;height:15px}}@media (height<=550px) and (width>=761px){.opening-caption strong{font-size:48px}.opening-board{width:52vh}.cube-scene{transform:scale(.6)}}@media (height<=700px) and (width<=760px){.opening-caption{top:88px}.opening-caption .opening-eyebrow{margin-bottom:12px}.opening-caption strong{font-size:42px}.opening-caption .opening-note{margin-top:12px}.opening-board{width:56vw;top:69%}.cube-scene{top:67%;transform:scale(.55)}}.tile-reveal .opening-tile{transition-duration:.4s;transition-delay:calc((var(--r) + var(--f)) * 16ms);transform:translateY(12px)scale(.96)}.tile-reveal .intro-skip{visibility:hidden;pointer-events:none}.tile-reveal .opening-caption{visibility:hidden}.footer a.social-link:not(.brand-mark){border:1px solid var(--line);width:44px;height:44px;min-height:44px;color:var(--slate);transition:transform .5s var(--ease),border-color .35s,color .35s,background .35s,box-shadow .5s var(--ease);border-radius:50%;justify-content:center;position:relative}.social-link svg{transition:transform .6s var(--ease)}.social-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.social-link:focus-visible{outline:3px solid var(--jade);outline-offset:4px}.cursor-follower{border:1px solid var(--copper);pointer-events:none;z-index:90;opacity:0;width:34px;height:34px;transition:opacity .3s,width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s;will-change:transform;border-radius:50%;margin:-17px 0 0 -17px;position:fixed;top:0;left:0}.cursor-follower.on{opacity:.55}.cursor-follower.active{background:color-mix(in srgb,var(--copper) 10%,transparent);opacity:.7;width:52px;height:52px;margin:-26px 0 0 -26px}@media (hover:hover) and (pointer:fine){.playbook-row>*,.article>div,.article>.article-number,.video>div,.video>.play{transition:transform .8s var(--ease),color .5s var(--ease)}.playbook-row:hover>*{transform:translate(8px)}.playbook-row:hover h3{color:var(--copper)}.playbook-row h3{transition:color .5s var(--ease)}.article:hover>div,.article:hover>.article-number,.video:hover>div{transform:translate(10px)}.video:hover .play{transform:scale(1.15)}.video:hover{border-color:var(--hov)}.footer a.social-link:not(.brand-mark):hover{color:var(--copper);border-color:var(--copper);background:color-mix(in srgb,var(--copper) 8%,transparent);transform:translateY(-4px);box-shadow:0 12px 24px #0000004d}.social-link:hover svg{transform:scale(1.12)rotate(-8deg)}.recognition a,.text-link{transition:letter-spacing .5s var(--ease),color .3s}}.cursor-follower.touch{opacity:.6;background:color-mix(in srgb,var(--copper) 12%,transparent);width:46px;height:46px;transition:opacity .15s,width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s;margin:-23px 0 0 -23px}.cursor-follower.touch.active{width:58px;height:58px;margin:-29px 0 0 -29px}@media (hover:none) and (pointer:coarse) and (prefers-reduced-motion:no-preference){.playbook-row>*,.article>div,.article>.article-number,.video>div,.video>.play{transition:transform .6s var(--ease)}.playbook-row:active>*{transform:translate(6px)}.article:active>div,.article:active>.article-number,.video:active>div{transform:translate(8px)}.video:active .play{transform:scale(1.1)}.project:active{border-color:var(--hov);transform:translateY(-3px);box-shadow:0 18px 36px #00000040}.footer a.social-link:not(.brand-mark):active{color:var(--copper);border-color:var(--copper);background:color-mix(in srgb,var(--copper) 8%,transparent);transform:scale(.92)}.social-link:active svg{transform:scale(1.12)rotate(-8deg)}}@media (width<=480px){.footer .social{gap:10px}}@media (width<=360px){.footer .social{grid-template-columns:repeat(3,44px);gap:12px;display:grid}}@media (prefers-reduced-motion:reduce){.cursor-follower{display:none}.playbook-row:hover>*,.article:hover>div,.article:hover>.article-number,.video:hover>div,.video:hover .play,.social-link:hover,.social-link:hover svg{transform:none!important}}.cube-intro{--ink:#160a0c;--ivory:#ffecee;--copper:#ff6b7d;--line:#3b1f24;--slate:#d4b3b8;--muted:#bf9499}:root[data-theme=light]{--ink:#fff5f5;--ivory:#2b0a0e;--copper:#c4122c;--slate:#5e3a40;--jade:#0b8a63;--panel:#fff;--line:#efcfd2;--muted:#7d4a50;--surf1:#fdeaec;--surf2:#fbe0e3;--bpa:#fff;--artbg:#fff0f1;--artline:#efcfd2;--arttx:#5e3a40;--frame:#e8b8bd;--frameo:#d28d96;--frames:#e9c0c5;--sql:#ffe0e4;--sqd:#d9475c;--sqlt:#8a2a3a;--sqdt:#fff0f2;--hov:#d8979f;--ca:#ffe4e7;--cb:#fff0f1;--band:#ffe6e9;color-scheme:light}.header-end{align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--line);width:44px;min-width:44px;height:44px;color:var(--ivory);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease);background:0 0;border-radius:0;place-items:center;padding:0;display:inline-grid}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.theme-toggle .i-sun{display:none}.theme-toggle[data-mode=dark] .i-sun{display:block}.theme-toggle[data-mode=dark] .i-moon{display:none}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--copper);border-color:var(--copper);color:var(--ink)}.theme-toggle:active{transform:scale(.94)}html.theme-anim,html.theme-anim *{transition:background-color .35s,color .35s,border-color .35s!important}@media (width<=400px){nav{gap:14px}.header{gap:12px}}@media (prefers-reduced-motion:reduce){html.theme-anim,html.theme-anim *{transition:none!important}}
