@font-face{font-family:Manrope;src:url('/assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{--paper:#f4f2ec;--ink:#22221f;--orange:#d94420;--line:#d2d0c9;--muted:#66655f;--gutter:clamp(24px,5.3vw,88px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:light;scroll-behavior:smooth;scroll-padding-top:30px;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;font-synthesis:none;scrollbar-color:var(--orange) var(--paper)}
*{box-sizing:border-box}body{margin:0}::selection{background:var(--orange);color:var(--paper)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit}a{color:inherit;text-decoration:none;text-underline-offset:5px}button:disabled{cursor:default;opacity:.5}:is(a,button,summary,input,canvas):focus-visible{outline:2px solid var(--orange);outline-offset:6px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:10px;left:15px;z-index:10;background:var(--ink);color:var(--paper);padding:15px;transform:translateY(-200%)}.skip:focus{transform:none}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-weight:600;letter-spacing:-.04em}p{line-height:1.75}em{font-style:normal}button,a,input,summary{transition:color .2s,background .2s,border-color .2s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.04em}
.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:33px;font-weight:600;letter-spacing:-.04em;line-height:1}.brand svg{width:30px;height:30px;margin-right:12px;color:var(--orange);stroke-width:4}.brand>span{color:var(--orange)}nav{display:flex;gap:36px;font-size:13px}nav a:hover,.footer a:hover{color:var(--orange)}.command-trigger{background:none;display:flex;align-items:center;gap:16px;font-size:12px;padding:10px 0 10px 14px}kbd{font-family:inherit;font-size:11px;border:1px solid var(--line);padding:5px 8px;border-radius:4px;color:var(--muted)}
.hero-main{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;min-height:610px;position:relative}.hero-copy{z-index:1;padding:50px 0 45px}.hero h1{font-size:clamp(64px,7.4vw,96px);line-height:1.05;white-space:nowrap}.hero h1 em{color:var(--orange);font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.035em}.hero-description{margin-top:28px;font-size:16px;line-height:1.8;color:#55554f}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:51px;padding:14px 23px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:600;background:transparent}.button:hover{background:#e5e2d9;border-color:var(--ink)}.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button.primary:hover{background:var(--orange);border-color:var(--orange)}.hero .button{margin-top:30px}.button svg{width:18px;height:18px}.hero-art{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:30px;min-width:0}.sculpture-stage{position:absolute;inset:0 -34px 74px -45px}.sculpture-stage:after{content:'';position:absolute;bottom:38px;left:27%;width:45%;height:13px;border-radius:50%;background:#5a321620;filter:blur(13px);pointer-events:none}#sculpture{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y}#sculpture:active{cursor:grabbing}.specimen-label{position:absolute;top:35px;right:0;font-size:11px;color:var(--muted)}.sculpture-controls{display:flex;align-items:center;justify-content:center;gap:12px;z-index:1}.shape-switch{display:flex;border:1px solid var(--line);border-radius:100px;padding:4px;background:var(--paper)}.shape-switch button{font-size:11px;padding:9px 18px;border-radius:100px;background:none;min-height:34px}.shape-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.shape-switch button:hover:not([aria-pressed=true]){background:#e8e5dc}.icon-button{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:var(--paper)}.icon-button svg{width:17px;height:17px}.icon-button:hover{border-color:var(--ink)}.art-help{text-align:center;font-size:11px;margin-top:13px;color:var(--muted)}.art-help span{margin-left:12px;color:var(--ink)}.hero-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;min-height:74px;font-size:11px;color:var(--muted)}.role-note{display:flex;gap:10px;align-items:center}.status-dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0}.hero-foot>a{display:grid;place-items:center;width:40px;height:44px;color:var(--ink)}.hero-foot svg{height:19px}
.work{padding-top:100px;padding-bottom:108px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px}h2{font-size:clamp(40px,4.3vw,65px);line-height:1.12}.work-intro>p,.section-heading>p{color:var(--muted);font-size:14px;line-height:1.7}.work-intro>p{margin-bottom:24px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{padding:10px 15px;background:none;border:1px solid var(--line);border-radius:99px;font-size:11px;min-height:38px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filters button span{margin-left:8px;opacity:.75}.filters button:hover:not([aria-pressed=true]){border-color:var(--ink)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.project-featured{grid-column:1/-1}.project-image{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:350px;padding:28px 30px;transition:filter .3s}.project-image:hover{filter:brightness(1.07)}.project-featured .project-image{min-height:410px}.preview-top,.preview-bottom{display:flex;justify-content:space-between;position:relative;z-index:1;align-items:center}.preview-top>span:first-child{font-size:16px;font-weight:600;letter-spacing:-.03em}.preview-top>span+span{font-size:11px;opacity:.85}.preview-bottom{position:absolute;bottom:30px;left:30px;right:30px;align-items:flex-end}.preview-bottom>span:first-child{font-size:29px;line-height:1.15;letter-spacing:-.03em}.round-arrow{width:43px;height:43px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;transition:transform .25s var(--ease)}.project-image:hover .round-arrow{transform:rotate(45deg)}.jev-preview{background:#242624;color:#f0f0e7}.orange{color:#fa7756}.jev-preview .preview-top>span:first-child{font-size:28px}.jev-preview .preview-bottom>span:first-child{font-size:34px}.jev-art{position:absolute;left:35%;right:10%;top:-40px;bottom:-40px;display:grid;place-items:center;transform:rotate(-20deg)}.orbit-track{position:absolute;width:70%;height:62%;border:1px solid #929f8959;border-radius:50%;transform:rotateX(30deg)}.track-two{transform:rotate(65deg) rotateX(30deg);width:52%;height:94%}.track-three{transform:rotate(-60deg) rotateX(30deg);width:52%;height:94%}.core{height:140px;width:140px;background:#d4e5bc;border-radius:50%;display:grid;place-items:center;box-shadow:12px 20px 46px #050c0944}.core svg{color:#35482c;width:73px;height:73px;stroke-width:1.4}.orbit-node{position:absolute;border:1px solid #646e5b;padding:10px 16px;background:#2c322b;border-radius:99px;font-size:11px;transform:rotate(20deg)}.node-a{top:18%;left:31%}.node-b{top:46%;right:5%}.node-c{bottom:20%;left:15%}.data-point{position:absolute;width:10px;height:10px;border-radius:50%;background:#c4d4ae}.point-a{top:28%;right:22%}.point-b{bottom:22%;right:38%;width:6px;height:6px}.project-info{display:flex;justify-content:space-between;gap:20px;margin-top:21px;align-items:flex-start}.project-info h3{font-size:20px;font-weight:600;letter-spacing:-.025em}.project-info p{font-size:12px;margin-top:6px;color:var(--muted)}.project-type{font-size:11px;color:var(--muted);padding-top:7px;white-space:nowrap}.project-details{display:flex;align-items:center;gap:50px;justify-content:space-between;border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.project-details p{font-size:13px;max-width:65ch;color:var(--muted)}.project-details a{font-size:12px;display:flex;gap:15px;align-items:center;white-space:nowrap}.project-details a:hover{color:var(--orange)}.project-details svg{width:17px}
.traffic-preview{background:#dee4d8;color:#263d32}.traffic-preview .round-arrow{border-color:#263d3260}.traffic-art{position:absolute;inset:14px 0 55px;perspective:600px}.road-loop{position:absolute;left:21%;top:15%;width:61%;height:72%;border:26px solid #3b5145;border-radius:50%;transform:rotateX(57deg) rotateZ(-25deg);box-shadow:0 10px 0 #22382e,0 18px 0 #bec9b8,0 28px 28px #59715335}.road-loop:after{content:'';position:absolute;inset:-14px;border:1px dashed #c7d5bf;border-radius:50%}.car{position:absolute;z-index:1;width:22px;height:11px;background:#ecf0de;border-radius:3px;box-shadow:0 3px 0 #9eb4a0}.c1{top:-18px;left:43%;transform:rotate(4deg)}.c2{top:-11px;left:16%;transform:rotate(-25deg)}.c3{top:26%;left:-19px;transform:rotate(-75deg);background:#e38657}.c4{top:60%;left:-15px;transform:rotate(67deg);background:#e38657}.c5{bottom:-13px;left:17%;transform:rotate(26deg);background:#e38657}.c6{bottom:-20px;left:46%}.c7{bottom:-8px;right:6%;transform:rotate(-27deg)}.c8{top:43%;right:-22px;transform:rotate(90deg)}.c9{top:-6px;right:7%;transform:rotate(30deg)}.race-preview{background:#b6311e;color:#ffead7}.race-preview .preview-top>span:first-child{font-size:13px;letter-spacing:.03em}.race-art{position:absolute;inset:33px -25px 33px;transform:rotate(-12deg)}.race-art svg{width:100%;height:100%;stroke-linecap:round;stroke-linejoin:round}.circuit-edge{stroke:#7f281d;stroke-width:36}.circuit-line{stroke:#ef7f5d;stroke-width:1;stroke-dasharray:4 5}.racing-dot{stroke:#ffe6b9;stroke-width:8;stroke-dasharray:12 1130;stroke-dashoffset:-160}
.about{background:#e8e6dd;padding:100px 0 104px}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12%}.about h2{font-size:clamp(35px,3.2vw,49px)}.about-star{width:135px;height:135px;stroke-width:2;color:var(--orange);margin-top:80px;transform:rotate(15deg)}.large-copy{font-size:25px;line-height:1.5;letter-spacing:-.025em}.about-body>p:not(.large-copy){font-size:14px;color:#5e5d55;max-width:65ch;margin-top:21px}.skills-list{margin-top:34px}.skills-list>div{padding:17px 0;border-top:1px solid #c8c6bc}.skills-list h3{font-size:13px;font-weight:600}.skills-list p{font-size:11px;color:var(--muted);margin-top:5px}
.playground{padding-top:103px;padding-bottom:105px}.lab{display:grid;grid-template-columns:1.6fr 1fr;min-height:490px;background:#222724;color:#edece1}.lab-visual{position:relative;overflow:hidden;min-height:430px;border-right:1px solid #51564e}#field{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.lab-stamp{position:absolute;top:24px;left:26px;font-size:11px;letter-spacing:.06em;color:#b6c4b8}.lab-hint{position:absolute;bottom:24px;left:26px;font-size:11px;color:#b6c4b8}.lab-panel{padding:40px 34px}.lab-panel h3{font-size:35px;line-height:1.2;letter-spacing:-.035em;font-weight:400}.lab-panel>p{font-size:13px;color:#c0c5ba;margin:20px 0 28px;line-height:1.8}.lab-panel label{display:flex;justify-content:space-between;font-size:12px}output{font-variant-numeric:tabular-nums}.lab-panel input{width:100%;accent-color:#dce6b4;height:25px;margin:10px 0 3px;cursor:pointer}.control-help{font-size:11px;color:#b9c0b0}.lab-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px}.lab-actions .button{font-size:11px;min-height:44px;color:#e6ead9;border-color:#616a5a;padding:10px 17px;gap:13px}.lab-actions .button:hover{background:#3d4639}.text-button{padding:12px 2px;font-size:11px;background:none;text-decoration:underline;text-underline-offset:4px}.source{border-top:1px solid #51564e;margin-top:24px;padding-top:17px}.source summary{cursor:pointer;font-size:11px;list-style:none;display:flex;justify-content:space-between;min-height:24px}.source summary::-webkit-details-marker{display:none}.source pre{font-size:11px;line-height:1.8;padding:15px 0;overflow:auto;color:#dce6b4}.source p{font-size:12px;color:#c0c5ba}
.closing{position:relative;padding-top:65px;padding-bottom:95px;border-top:1px solid var(--line);overflow:hidden}.closing h2{max-width:950px;font-size:clamp(36px,4.6vw,68px);position:relative;z-index:1}.closing .button{margin-top:30px}.closing-star{position:absolute;right:var(--gutter);bottom:75px;width:95px;height:95px;color:var(--orange);stroke-width:2;transform:rotate(-12deg)}.footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font-size:11px}.footer .brand{font-size:26px}.footer>span{color:var(--muted)}.footer>a:last-child{display:flex;align-items:center;gap:10px}.footer svg{width:15px;height:15px}
.fallback-art{position:absolute;inset:15% 18%;transform:rotate(-25deg);display:grid;place-items:center}.fallback-art i{position:absolute;width:78%;height:60%;border:30px solid var(--orange);border-radius:50%;transform:rotate(60deg)}.fallback-art i:nth-child(2){transform:rotate(-60deg)}.fallback-art i:nth-child(3){transform:rotate(0deg)}.webgl-ready .fallback-art{display:none}
dialog{background:var(--paper);color:var(--ink);border:0;border-radius:15px;width:min(560px,calc(100% - 36px));padding:28px;box-shadow:0 24px 90px #18181540}dialog::backdrop{background:#22221f80}.command-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.command-top h2{font-size:27px}#command-search{border:1px solid var(--line);background:#fffdf7;width:100%;padding:15px;font-size:12px;border-radius:5px;caret-color:var(--orange)}#command-results{margin-top:15px;display:grid;gap:4px}#command-results a{display:flex;justify-content:space-between;padding:14px;border-radius:4px;font-size:13px}#command-results a:hover,#command-results a:focus{background:#e7e3d9}#command-results span{color:var(--muted);font-size:11px}#command-results>p{font-size:12px;padding:15px}.command-help{font-size:11px;color:var(--muted);margin-top:18px}
@media(min-width:1500px){.hero-main{min-height:680px}.sculpture-stage{inset:-10px -34px 64px -60px}}
@media(max-width:1100px){.hero-main{min-height:570px}.hero h1{font-size:76px}.hero-description{font-size:14px}.sculpture-stage{inset:20px -25px 85px -40px}.project-info{flex-direction:column;gap:5px}.project-type{padding-top:0}.about-grid{gap:7%}.lab{grid-template-columns:1.2fr 1fr}.lab-panel{padding:30px 24px}.preview-top>span+span{display:none}.jev-art{left:30%;right:2%}.closing-star{width:65px;height:65px;bottom:60px}}
@media(max-width:800px) and (min-width:701px){.hero h1{font-size:62px}.hero-description{font-size:13px}.hero-description br.desktop-br{display:none}.art-help span{display:none}.location-note{display:none}}
@media(max-width:700px){:root{--gutter:23px;scroll-padding-top:15px}.header{height:83px}.brand{font-size:28px}.brand svg{width:23px;height:23px;margin-right:8px}nav{gap:20px;font-size:11px}.command-trigger{padding:8px}.command-trigger>span{display:none}.command-trigger kbd{font-size:11px;padding:5px}.hero-main{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding:43px 0 0}.hero h1{font-size:clamp(59px,12.7vw,86px);line-height:1.03}.hero-description{margin-top:23px;font-size:14px;line-height:1.8}.desktop-br{display:none}.hero .button{margin-top:22px;min-height:46px;font-size:12px}.hero-art{height:375px;padding-bottom:22px;margin-top:3px}.sculpture-stage{inset:-20px 0 60px}.specimen-label{display:none}.sculpture-controls{gap:8px}.shape-switch button{padding:7px 15px;min-height:32px;font-size:11px}.icon-button{width:42px;height:42px}.art-help{font-size:11px;margin-top:11px}.art-help span{display:none}.hero-foot{min-height:62px;font-size:11px}.location-note{display:none}.hero-foot>a{width:25px}.work{padding-top:64px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}h2{font-size:44px}.work-intro{margin-top:23px}.work-intro>p{font-size:13px;margin-bottom:18px}.work-intro>p br{display:none}.filters button{font-size:11px;padding:10px 14px}.projects{grid-template-columns:1fr;gap:35px}.project-featured{grid-column:auto}.project-image,.project-featured .project-image{min-height:310px;padding:22px}.preview-top>span+span{display:none}.preview-top>span:first-child{font-size:14px}.jev-preview .preview-top>span:first-child{font-size:23px}.preview-bottom{left:22px;right:22px;bottom:22px}.preview-bottom>span:first-child,.jev-preview .preview-bottom>span:first-child{font-size:24px}.round-arrow{width:37px;height:37px}.jev-art{left:15%;right:-22%;top:-20px;bottom:0}.core{width:100px;height:100px}.core svg{width:54px;height:54px}.orbit-node{font-size:11px;padding:8px 11px}.node-c{left:10%;bottom:30%}.project-info{margin-top:17px;gap:6px}.project-info h3{font-size:20px}.project-info p{font-size:12px}.project-type{font-size:11px}.project-details{display:block;margin-top:18px;padding-top:15px}.project-details p{font-size:13px}.project-details a{margin-top:15px}.traffic-art{inset:8px 0 45px}.road-loop{left:18%;width:66%;height:72%}.about{padding:62px 0}.about-grid{display:block}.about-heading{position:relative}.about h2{font-size:35px}.about-star{position:absolute;right:0;top:115px;width:45px;height:45px;margin:0}.about-body{margin-top:43px}.large-copy{font-size:22px;max-width:85%}.about-body>p:not(.large-copy){font-size:14px}.skills-list{margin-top:28px}.playground{padding-top:62px;padding-bottom:62px}.section-heading>p{margin-top:20px;font-size:13px}.lab{grid-template-columns:1fr}.lab-visual{min-height:350px;border-right:0;border-bottom:1px solid #51564e}.lab-panel{padding:29px 25px}.lab-panel h3 br{display:none}.lab-panel h3{font-size:29px}.lab-panel>p{font-size:13px}.lab-panel label{font-size:12px}.lab-actions .button{font-size:11px}.lab-hint,.lab-stamp{font-size:11px;left:22px}.closing{padding-top:47px;padding-bottom:64px}.closing h2{font-size:38px;max-width:90%}.closing h2 br{display:none}.closing .button{font-size:11px}.closing-star{width:44px;height:44px;right:22px;bottom:67px}.footer{min-height:115px;flex-wrap:wrap;gap:12px;padding-top:24px;padding-bottom:24px}.footer .brand{font-size:25px}.footer>span{font-size:11px;order:3;width:100%}.footer>a:last-child{font-size:11px}}
@media(max-width:370px){nav{gap:12px}.command-trigger{display:none}.hero h1{font-size:58px}.hero-art{height:330px}.closing-star{display:none}.hero-foot{font-size:10px}.filters{gap:5px}.filters button{padding-inline:10px}.lab-panel{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Kinetic opening: typography itself is the interactive artifact. */
.kinetic-header{height:86px;max-width:none;background:#171916;color:#eae9dc;border-color:#383c33;padding-inline:max(var(--gutter),calc((100vw - 1440px)/2));}
.kinetic-header .brand{font-size:30px}.kinetic-header .brand svg{color:#f66a3d}.kinetic-header nav a:hover{color:#ffad8e}.kinetic-header kbd{color:#b4b8a9;border-color:#52574b}
.kinetic-hero{--stage-ink:#171916;--stage-paper:#eae9dc;background:var(--stage-ink);color:var(--stage-paper);padding-inline:max(var(--gutter),calc((100vw - 1440px)/2));padding-bottom:0;overflow:hidden}
.kinetic-intro{display:flex;justify-content:space-between;align-items:center;padding:28px 0 5px;font-size:12px;line-height:1.65}.kinetic-intro>p{color:#c4c7b9}.intro-right{display:flex;align-items:center;gap:9px;color:#b4b8a9;font-size:11px}.live-mark{width:5px;height:5px;background:#f66a3d;border-radius:50%}
.type-stage{height:clamp(315px,38vw,548px);position:relative;margin-top:8px}
#type-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}
.type-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Manrope,sans-serif;font-weight:600;font-size:clamp(66px,15.3vw,222px);line-height:.99;letter-spacing:-.04em;white-space:nowrap;pointer-events:none;margin:0}
.type-fallback>span:last-child{color:#f66a3d}.type-ready .type-fallback{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:normal}.type-period{color:#f66a3d}
.type-cross{position:absolute;width:13px;height:13px;pointer-events:none;opacity:.6}.type-cross:before,.type-cross:after{content:'';position:absolute;background:#c4c7b9}.type-cross:before{width:13px;height:1px;top:6px}.type-cross:after{height:13px;width:1px;left:6px}.cross-left{left:0;top:45%}.cross-right{right:0;top:45%}
.type-stamp{position:absolute;right:-4px;top:12px;display:flex;align-items:center;gap:10px;transform:rotate(7deg);color:#c4c7b9;pointer-events:none}.type-stamp svg{height:33px;width:33px;color:#f66a3d}.type-stamp span{font-size:9px;line-height:1.6;letter-spacing:.055em}
.type-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:7px 0 28px;border-bottom:1px solid #383c33}.type-hint{display:flex;align-items:center;gap:14px}.type-cursor{height:40px;width:40px;border:1px solid #52574b;border-radius:50%;display:grid;place-items:center;transform:rotate(-8deg)}.type-cursor svg{height:18px;width:18px}.type-hint p{font-size:13px;line-height:1.4}.type-hint p>span{display:block;color:#adb3a1;font-size:11px;margin-top:5px}.type-actions{display:flex;gap:10px;align-items:center}.type-actions button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:1px solid #52574b;color:#eae9dc;border-radius:50%}.type-actions button:first-child{gap:12px;border-radius:99px;padding:0 20px;background:#eae9dc;color:#171916;font-size:12px;border-color:#eae9dc}.type-actions button:first-child:hover{background:#f66a3d;border-color:#f66a3d}.type-actions button:not(:first-child):hover{background:#34392e;border-color:#c4c7b9}.type-actions svg{width:18px;height:18px}
.kinetic-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0 35px}.kinetic-footer>p{font-size:14px;color:#c4c7b9;line-height:1.8}.kinetic-footer em{font-family:Georgia,serif;font-style:italic;color:#eae9dc}.kinetic-cta{display:flex;align-items:center;gap:20px;font-size:13px}.cta-disc{height:58px;width:58px;border-radius:50%;display:grid;place-items:center;background:#f66a3d;color:#171916;transition:transform .3s var(--ease),background .3s}.kinetic-cta:hover .cta-disc{transform:translateY(4px);background:#ff9871}
.kinetic-hero :focus-visible,.kinetic-header :focus-visible{outline-color:#ffad8e}.kinetic-header ::selection,.kinetic-hero ::selection{color:#171916;background:#f66a3d}
@media(min-width:1800px){.type-stage{height:590px}.type-fallback{font-size:240px}}
@media(max-width:800px){.kinetic-intro{font-size:11px}.intro-right{font-size:10px}.type-stage{height:360px}.type-stamp{top:0}.type-stamp span{font-size:9px}.type-toolbar{gap:18px}.type-hint p>span{max-width:220px}.type-actions button:first-child{padding-inline:15px}.kinetic-footer>p{font-size:12px}}
@media(max-width:700px){.kinetic-header{height:78px}.kinetic-header .brand{font-size:25px}.kinetic-header .brand svg{width:23px;height:23px}.kinetic-header nav{gap:18px}.kinetic-header .command-trigger{padding:0}.kinetic-header .command-trigger kbd{font-size:10px}.kinetic-intro{padding-top:22px;align-items:flex-start;gap:30px}.intro-right{max-width:135px;align-items:flex-start;line-height:1.6;text-align:right}.live-mark{margin-top:5px}.type-stage{height:330px;margin-top:0;margin-inline:-7px}.type-fallback{font-size:clamp(64px,16vw,110px)}.type-stamp{right:7px;top:23px;gap:6px}.type-stamp svg{width:24px;height:24px}.type-stamp span{font-size:8px}.type-cross{display:none}.type-toolbar{align-items:flex-start;flex-direction:column;gap:21px;padding-top:0;padding-bottom:25px}.type-hint{gap:12px}.type-hint p{font-size:13px}.type-hint p>span{font-size:11px;max-width:none}.type-cursor{width:33px;height:33px}.type-actions{width:100%}.type-actions button:first-child{margin-right:auto;padding-inline:20px}.kinetic-footer{padding:27px 0 30px;gap:25px;align-items:flex-start;flex-direction:column}.kinetic-footer>p{font-size:13px}.kinetic-cta{justify-content:space-between;width:100%;font-size:13px}.cta-disc{height:46px;width:46px}}
@media(max-width:370px){.kinetic-header nav{gap:12px}.kinetic-intro{gap:15px}.intro-right{font-size:9px;max-width:110px}.type-stage{height:280px}.type-stamp{top:15px}.type-hint p>span{font-size:10px}.kinetic-footer>p{font-size:12px}}

/* Make the artwork personal. */
@media(max-width:1050px){.route-map .street-label{font-size:21px}}
@media(max-width:700px){.route-map .street-label{font-size:28px}}
.kinetic-hero{background:var(--remix-background,#171916);color:var(--remix-ink,#eae9dc)}.type-fallback>span:last-child{color:var(--remix-accent,#f66a3d)}.kinetic-hero .cta-disc{background:var(--remix-accent,#f66a3d)}.remix-studio{border-bottom:1px solid #52574b;padding:0 0 2px}.remix-studio>summary{display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;list-style:none;min-height:67px;font-size:13px}.remix-studio>summary::-webkit-details-marker{display:none}.remix-studio>summary>span{display:flex;align-items:center;gap:12px}.remix-studio summary svg{width:18px;height:18px}.remix-summary-note{font-size:11px;color:#b9bfaf}.remix-summary-note svg{margin-left:18px}.remix-studio[open] .remix-summary-note svg{transform:rotate(45deg)}.remix-form{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:34px;padding:13px 0 19px}.remix-form label,.remix-form legend{font-size:11px;color:#c6ccbb}.remix-words{display:grid;grid-template-columns:1fr 1fr;gap:14px}.remix-form label{display:flex;flex-direction:column;gap:10px}.remix-form input:not([type=radio]),.remix-form select,#remix-link-fallback{width:100%;min-width:0;min-height:44px;border:1px solid #67705d;background:#262d23;color:#f2f4e8;padding:11px 12px;border-radius:4px;font-size:12px;caret-color:var(--remix-accent,#f66a3d)}.remix-limit{grid-column:1/-1;font-size:11px;color:#b9bfaf;line-height:1.65}.remix-options{display:grid;gap:20px}.remix-options fieldset{margin:0;padding:0;border:0;min-width:0}.palette-options{display:flex;flex-wrap:wrap;gap:13px;margin-top:11px}.palette-options label{display:flex;flex-direction:row;align-items:center;gap:6px;cursor:pointer;min-height:30px}.palette-options input{margin:0;accent-color:#eae9dc}.swatch{width:11px;height:11px;border-radius:50%}.swatch.ember{background:#f66a3d}.swatch.ocean{background:#73cbd7}.swatch.acid{background:#d2ed75}.remix-buttons{display:grid;gap:9px;align-content:start}.remix-buttons button{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:none;color:#eae9dc;border:1px solid #67705d;border-radius:4px;font-size:11px}.remix-buttons button:hover{background:#36412e}.remix-buttons .remix-apply{background:var(--remix-accent,#f66a3d);color:#171916;border-color:transparent}.remix-buttons .remix-apply:hover{background:#eae9dc}.remix-buttons svg{width:16px;height:16px}.remix-buttons #remix-default{border:0;justify-content:center;color:#bdc5b3;text-decoration:underline;text-underline-offset:4px}.remix-feedback{font-size:11px;color:#bdc5b3;line-height:1.7;margin:0 0 20px;max-width:75ch}#remix-link-fallback{margin:0 0 20px}
.engineering-notes{margin-top:21px;border-top:1px solid var(--line);padding-top:6px}.engineering-notes>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:12px;min-height:44px}.engineering-notes>summary::-webkit-details-marker{display:none}.engineering-notes>summary>span{font-size:20px;font-weight:400}.engineering-notes[open]>summary>span{transform:rotate(45deg)}.notes-body{padding:15px 0 7px;max-width:78ch}.notes-body h4{margin:0 0 9px;font-size:15px;font-weight:600}.notes-body p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.notes-body a{display:inline-flex;gap:12px;align-items:center;font-size:12px;text-decoration:underline}.notes-body a svg{width:16px;height:16px}.architecture-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0 25px;font-size:11px}.architecture-strip span{padding:9px 13px;background:#e4e7da;border-radius:4px}.architecture-strip b{font-weight:400;color:var(--muted)}
/* A playable, inspectable routing problem. */
.street-label,.street-label-bg{stroke:none}
.route-section{padding-top:95px;padding-bottom:20px}.route-lab{display:grid;grid-template-columns:1.65fr 1fr;background:#e8eddf;align-items:stretch}.route-map-panel{padding:27px 28px 22px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.route-map-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#4a5b48}.route-map-top>span:first-child{display:flex;align-items:center;gap:7px}.route-map-top svg{width:15px;height:15px;transform:rotate(45deg);margin:0 5px}.route-map-top>span+span{font-size:10px}.route-map{position:relative;aspect-ratio:720/450;margin:17px 0 30px}.route-map>svg,#route-nodes{position:absolute;inset:0;width:100%;height:100%}.street{stroke:#a8b49e;stroke-width:3;stroke-linecap:round}.street.congested{stroke:#aa7956;stroke-dasharray:7 6}.street.chosen{stroke:#cf4b24;stroke-width:6;stroke-dasharray:none}.best-street{stroke:#214c42;stroke-width:3;stroke-dasharray:9 6;stroke-linecap:round}.street-label-bg{fill:#e8eddf}.street-label{font:600 14px Manrope,sans-serif;fill:#43563e}.street-label.is-busy{fill:#89371c}.route-node{position:absolute;width:44px;height:44px;border:1px solid #829077;border-radius:50%;background:#e8eddf;color:#3c5036;transform:translate(-50%,-50%);font-size:14px;font-weight:600;z-index:1;padding:0}.route-node:active{transform:translate(-50%,-50%)}.route-node small{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:400;background:#e8eddf;padding:2px 4px;line-height:1.3;color:#4a5b48}.route-node.available{border:2px solid #527145;background:#f7f9f1}.route-node.available:hover{background:#cddac1}.route-node.visited{background:#d44e26;color:#fff5ec;border-color:#d44e26}.route-node.current{outline:2px solid #d44e26;outline-offset:5px}.route-node:focus-visible{outline:3px solid #253e55;outline-offset:5px}.route-legend{display:flex;align-items:center;gap:20px;color:#4a5b48;font-size:11px}.route-legend>span{display:flex;align-items:center;gap:8px}.route-legend>span:last-child{margin-left:auto;font-size:10px}.route-legend i{width:17px;height:0;border-top:3px solid #cf4b24}.route-legend .legend-best{border-color:#214c42;border-top-style:dashed}
.route-desk{border-left:1px solid #bcc8b0;padding:34px 32px;min-width:0}.route-desk h3{font-size:27px;font-weight:600;letter-spacing:-.035em;line-height:1.15}.route-desk>p{font-size:13px;color:#4a5b48;line-height:1.8;margin-top:15px}.route-readout{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:26px;padding:15px 0;border-block:1px solid #b4c1a7;gap:9px}.route-readout>span{font-size:11px;color:#4a5b48}.route-readout strong{font-size:30px;font-weight:400;line-height:1}.route-readout strong small{font-size:12px}.route-readout>p{grid-column:1/-1;font-size:12px;color:#4a5b48;font-variant-numeric:tabular-nums}.traffic-control{display:flex;gap:9px;align-items:center;font-size:12px;margin:20px 0;cursor:pointer}.traffic-control input{accent-color:#d44e26;width:16px;height:16px;margin:0}.route-main-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.route-main-actions .button{font-size:12px;gap:16px;min-height:45px;padding:11px 17px}.route-small-button{background:none;font-size:11px;padding:12px;text-decoration:underline;text-underline-offset:4px}.route-result{min-height:85px;padding-top:18px}.route-result p{font-size:12px;line-height:1.8;color:#3e5338}#route-answer{font-weight:600;margin-top:9px}.route-secondary-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid #b4c1a7;padding-top:15px}.route-secondary-actions button{background:none;font-size:11px;padding:8px 0;display:flex;align-items:center;gap:7px}.route-secondary-actions button:hover{color:#b33515;text-decoration:underline}.route-secondary-actions svg{width:16px;height:16px}.route-footnote{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:20px}.route-footnote p{font-size:11px;color:var(--muted)}.route-footnote a{font-size:12px;display:flex;gap:10px;align-items:center;white-space:nowrap}.route-footnote a:hover{color:var(--orange)}.route-footnote svg{width:17px;height:17px}
@media(max-width:1050px){.remix-form{grid-template-columns:1fr 1fr;gap:24px}.remix-buttons{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.route-lab{grid-template-columns:1.3fr 1fr}.route-desk{padding:27px 22px}.route-map-panel{padding:23px 17px}.route-map-top>span+span{display:none}.route-legend{gap:12px;font-size:10px}.route-legend>span:last-child{display:none}.route-node{width:36px;height:36px;font-size:12px}.route-node small{font-size:9px}}
@media(max-width:700px){.remix-summary-note{font-size:0;gap:0}.remix-summary-note svg{font-size:11px;margin-left:0}.remix-studio>summary{min-height:61px}.remix-form{display:flex;flex-direction:column;gap:24px;padding-top:8px}.remix-words{gap:12px}.remix-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.remix-limit{font-size:11px}.remix-options{gap:19px}.palette-options{gap:22px}.remix-feedback{font-size:11px}.engineering-notes{margin-top:16px}.notes-body p{font-size:13px}.architecture-strip{gap:7px}.architecture-strip span{padding:8px}.route-section{padding-top:62px}.route-lab{grid-template-columns:1fr}.route-map-panel{padding:22px 16px 21px}.route-map-top{font-size:11px}.route-map-top>span+span{display:block;font-size:9px;max-width:73px;text-align:right}.route-map{margin:31px 0 39px;aspect-ratio:720/450}.route-map>svg{height:100%}.route-node{width:34px;height:34px;font-size:12px}.route-node small{font-size:9px;top:calc(100% + 4px)}.route-legend{gap:16px;font-size:10px}.route-desk{border-left:0;border-top:1px solid #bcc8b0;padding:27px 23px}.route-desk h3{font-size:26px}.route-readout{margin-top:22px}.route-result{min-height:75px}.route-main-actions .button{min-height:45px}.route-footnote{display:block}.route-footnote a{margin-top:15px;font-size:11px}.route-footnote p{font-size:11px}}
