:root{--bg:#f1ead9;--card:#fdfaf1;--ink:#121212;--accent:#f0431b;--soft:color-mix(in srgb, var(--ink) 80%, var(--bg));--dim:color-mix(in srgb, var(--ink) 68%, var(--bg));--line:color-mix(in srgb, var(--ink) 18%, transparent);--line2:color-mix(in srgb, var(--ink) 42%, transparent);--shadow:#281e0a33;--display:"Sofia Sans Condensed", "Arial Narrow", sans-serif;--serif:"Instrument Serif", Georgia, serif;--sans:"Inter Tight", system-ui, sans-serif;--mono:ui-monospace, Menlo, monospace;--hand:"Caveat", "Bradley Hand", cursive}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}::selection{background:var(--ink);color:var(--bg)}.top{z-index:30;text-align:left;padding:clamp(.9rem,2.6vh,1.5rem) clamp(1rem,4vw,3rem);position:absolute;inset:0 0 auto}.mark{font-family:"Mr Dafoe", var(--hand);color:var(--accent);font-size:clamp(1.9rem,3vw,2.6rem);line-height:1;text-decoration:none;display:inline-block;rotate:-6deg}.nav{z-index:60;font-family:var(--display);text-transform:uppercase;gap:.15rem;padding:.4rem .45rem;font-size:1rem;font-weight:800;display:flex;position:absolute;top:clamp(.9rem,2.6vh,1.5rem);left:50%;translate:-50%}.nav a{z-index:1;color:var(--ink);padding:.4rem .75rem .3rem;text-decoration:none;transition:color .3s;position:relative}.nav a.on{color:var(--card)}.nav__goo{filter:url(#goo);pointer-events:none;position:absolute;inset:0}.nav__goo i{top:.4rem;bottom:.4rem;left:var(--l,0);width:var(--w,0);background:var(--ink);scale:var(--s,0);border-radius:99px;transition:left .38s cubic-bezier(.3,1.3,.5,1),width .38s cubic-bezier(.3,1.3,.5,1),scale .3s;position:absolute}.nav__goo i+i{transition-duration:.62s,.62s,.3s}.nav__goo b{left:var(--px);background:var(--ink);border-radius:50%;width:.6rem;height:.6rem;margin:-.3rem;animation:.65s ease-out forwards pop;position:absolute;top:50%}@keyframes pop{to{translate:var(--dx) var(--dy);scale:0}}@media (prefers-reduced-motion:reduce){.nav__goo i{transition:none}.nav__goo b{display:none}}.hero{text-align:center;place-content:center;justify-items:center;height:100svh;display:grid;position:relative;overflow:hidden}.lead{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 clamp(.8rem,2.5vh,1.6rem);font-size:clamp(1.3rem,2.5vw,2.3rem);line-height:1.02}.hero h1{font-family:var(--display);text-transform:uppercase;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(3.4rem,11.5vw,11.5rem);font-weight:900;line-height:.84}.hero h1 span{display:inline-block}.go{font-family:var(--serif);color:inherit;align-items:center;gap:.7rem;margin-top:clamp(1.4rem,4vh,2.4rem);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1;text-decoration:none;display:inline-flex}.go span{position:relative}.go svg{width:108%;height:.6em;position:absolute;bottom:-.62em;left:-4%;overflow:visible}.go path{fill:none;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round}.go i{background:var(--accent);width:1.45em;height:1.45em;color:var(--card);font:600 .75em var(--sans);place-content:center;transition:translate .45s cubic-bezier(.2,.9,.3,1);display:grid}.go:hover i{translate:0 .3em}.role{font-family:var(--sans);color:var(--ink);margin:0;font-size:clamp(.85rem,1.1vw,1rem);font-weight:500;position:absolute;bottom:clamp(1rem,4vh,2rem);left:0;right:0}@media (width<=699.98px){.nav{font-size:.88rem;left:auto;right:1rem;translate:none}.nav a{padding:.35rem .5rem .25rem}.hero h1{font-size:21vw}}.stickers{pointer-events:none;font-size:clamp(.62rem,.95vw,.9rem);position:absolute;inset:0}.st{left:var(--x);top:var(--y);rotate:var(--r);pointer-events:auto;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px var(--line);white-space:nowrap;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:.55em;padding:.55em .75em;line-height:1;transition:scale .7s cubic-bezier(.2,.9,.3,1),filter .5s,box-shadow .5s;position:absolute}.st.lifted{z-index:5;cursor:grabbing;scale:1.14}.st.cut{box-shadow:none;filter:url(#cut);background:0 0;border-radius:0;padding:0;font-size:1.3em}.st-br{--x:82%;--y:17%;--r:5deg;background:var(--ink);color:var(--card);font-family:var(--mono);letter-spacing:.04em;padding:.7em .9em;font-size:1.05em}.st-bug{--x:6%;--y:66%;--r:4deg;text-align:left;gap:.25em;padding:.6em .7em;display:grid}.st-bug small{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72em}.st-bug b{font-family:var(--display);text-transform:uppercase;font-size:2.4em;font-weight:900;line-height:.8}.st-bug em{font:normal .68em var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--card);padding:.35em .5em}.st-cur{--x:84%;--y:57%;--r:-8deg;box-shadow:none;background:0 0;padding:0}.st-cur svg{width:3.2em;height:3.2em;display:block}.st-cur path{fill:var(--ink);stroke:var(--card);stroke-width:2.4px;stroke-linejoin:round;paint-order:stroke}.st-tsu{--x:76%;--y:74%;--r:9deg;width:4.6em;height:4.6em;color:var(--accent);box-shadow:inset 0 0 0 .18em var(--accent);writing-mode:vertical-rl;letter-spacing:.05em;border-radius:50%;place-content:center;padding:0;font-family:Yuji Syuku,serif;font-size:1.1em;display:grid}.st svg{fill:var(--ink);display:block}.st svg .c{fill:var(--card);stroke:var(--ink);stroke-width:1.6px;stroke-linejoin:round}.st svg .r{fill:var(--accent);stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round}.st svg .o{fill:none;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.st-pop{--x:27%;--y:12%;--r:6deg}.st-pop svg{width:3.8em}.st-bird{--x:63%;--y:13%;--r:-6deg}.st-bird svg{width:4.2em}.st-hat{--x:4%;--y:43%;--r:-9deg}.st-hat svg{width:4.6em}.st-specs{--x:87%;--y:33%;--r:7deg}.st-specs svg{width:4.4em}@media (width<=699.98px){.stickers{font-size:.62rem}.st-br{--x:62%;--y:19%}.st-tsu{--x:70%;--y:72%}.st-bug{--x:7%;--y:70%}.st-hat{--x:40%;--y:82%}.st-specs{--x:38%;--y:12%}.st-cur,.st-pop,.st-bird{display:none}}.swirl{z-index:99;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.swirl path{fill:none;stroke:var(--ink);stroke-width:44px;stroke-linecap:round;stroke-dasharray:.42 1;stroke-dashoffset:.42px}.play .swirl path{stroke-dashoffset:.36px;animation:1.6s cubic-bezier(.35,0,.25,1) forwards swirl}.swirl path+path{stroke:var(--accent);stroke-width:9px}.play .swirl path+path{animation-delay:.12s}@keyframes swirl{to{stroke-dashoffset:-1px}}html:not(.no-intro):not(.play) :is(.hero>*,.nav){opacity:0}.play .nav{animation:.8s 1.1s both fade}@keyframes fade{0%{opacity:0}}.play .hero>*{animation:.9s cubic-bezier(.2,.9,.3,1) .7s both rise}.play .hero>h1{animation-delay:.8s}.play .hero>.go{animation-delay:.95s}.play .hero>.role{animation-delay:1.1s}.play .hero>.stickers{animation-delay:1.25s}@keyframes rise{0%{opacity:0;translate:0 26px}}.no-intro .swirl{display:none}.no-intro :is(.hero>*,.nav){animation:none}.badge{--ink:#141414;--paper:#ece7dc;--dim:#8a867d;--bg:#0d0d0e;--w:160px;--h:224px;width:var(--w);margin-left:calc(var(--w) / -2);color:inherit;transform-origin:calc(var(--w) / 2) 0;z-index:2;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;perspective:900px;font:inherit;background:0 0;border:0;padding:0;position:absolute;top:0;left:0}.badge.dragging{cursor:grabbing}.badge:focus-visible{outline:none}.badge:focus-visible .face{box-shadow:0 0 0 2px var(--paper), 0 18px 40px #0000008c}.clips{z-index:2;justify-content:center;height:20px;margin-bottom:-7px;display:flex;position:relative}.clips.two{justify-content:space-between;padding:0 22px}.clips i{background:linear-gradient(90deg,#ffffff59,#0000 60%);border:2.5px solid #a9a7a1;border-radius:6px 6px 7px 7px;width:13px;height:22px;box-shadow:0 1px 2px #00000080}.card{width:var(--w);height:var(--h);transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.9,.3,1);display:block;position:relative}.badge.flipped .card{transform:rotateY(180deg)}.face{color:var(--ink);backface-visibility:hidden;text-align:left;background:#fff;border-radius:9px;line-height:1.1;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 40px #0000008c,inset 0 0 0 1px #00000014}.face *{display:block}.face i.h{background:#0d0d0e;border-radius:50%;width:9px;height:9px;position:absolute;top:7px}.face i.h.l{left:20px}.face i.h.r{right:20px}.face i.h.c{border-radius:3px;width:14px;height:6px;left:calc(50% - 7px)}.sleeve .front{background-clip:padding-box;border:5px solid #ebeef08c;border-top-width:14px;border-radius:6px}.back{background:var(--paper);flex-direction:column;padding:22px 13px 12px;display:flex;transform:rotateY(180deg)}.back p{font-family:var(--serif);margin:0;font-size:18px;line-height:1.12}.back span{font-family:var(--mono);letter-spacing:.08em;color:#5f5b53;text-transform:uppercase;border-top:1px dashed #c6bfb0;margin-top:auto;padding-top:7px;font-size:8px}.qr{background:#fff}.qr svg{width:100%;height:100%}.gfd{color:#5f6368;font-size:8.5px;font-weight:500}.gfd b{font-weight:600;display:inline}.gfd b:first-child,.gfd b:nth-child(4){color:#4285f4}.gfd b:nth-child(2),.gfd b:nth-child(6){color:#ea4335}.gfd b:nth-child(3){color:#fbbc04}.gfd b:nth-child(5){color:#34a853}.b-aiday .gfd{margin:26px 12px 0}.b-aiday .t{letter-spacing:-.02em;margin:5px 12px 0;font-size:19px;font-weight:800;line-height:1.02}.b-aiday .n{text-align:center;color:#333;border:1px solid #e3e3e3;margin:12px 9px 0;padding:8px 6px;font-size:14px;font-weight:600}.b-aiday .n small{color:#555;margin-top:2px;font-size:12px;font-weight:500}.b-aiday .bar{color:#fff;text-align:center;background:#34a853;padding:6px;font-size:13px;font-weight:600;position:absolute;inset:auto 0 0}.b-bwai .front{background:#dcebcf}.b-bwai .t{letter-spacing:-.03em;justify-content:center;align-items:center;gap:4px;margin:22px 8px 0;font-size:23px;font-weight:800;line-height:.98;display:flex}.b-bwai .t b{color:#f5a700;letter-spacing:0;font-size:50px;font-weight:500;line-height:.8;transform:translateY(-4px)}.b-bwai .s{margin:5px 12px 0;font-size:15px;font-weight:800;line-height:1}.b-bwai .n{background:#fff;border:1.5px solid #222;border-radius:6px;margin:7px 12px 0;padding:7px 8px;font-size:14px;font-weight:800;line-height:1}.b-bwai .n small{color:#555;margin-top:4px;font-size:9px;font-weight:500}.b-bwai .a{text-align:center;background:#fff;border:1.5px solid #222;border-radius:0 0 6px 6px;width:62px;margin:-1px 12px 0 auto;padding:3px 0;font-size:9px;font-weight:600}.b-bwai .gfd{text-align:center;position:absolute;inset:auto 0 8px}.b-aws .hd{color:#fff;letter-spacing:.06em;background:linear-gradient(#f6a4c8,#f6a4c8) 112px 14px/9px 9px no-repeat,linear-gradient(#c58be6,#c58be6) 126px 26px/9px 9px no-repeat,linear-gradient(#f6a4c8,#f6a4c8) 138px 12px/9px 9px no-repeat,linear-gradient(#9d7be0,#9d7be0) 102px 30px/9px 9px no-repeat,linear-gradient(#f9c7d8,#f9c7d8) 140px 42px/9px 9px no-repeat,linear-gradient(#7d63c9,#7d63c9) 118px 48px/9px 9px no-repeat,linear-gradient(135deg,#1a1c4a,#3d2a70);height:78px;padding:30px 12px 0;font-size:11px;font-weight:800}.b-aws .hd small{letter-spacing:.14em;opacity:.85;font-size:7px;font-weight:500}.b-aws .n{letter-spacing:-.02em;margin:16px 12px 0;font-size:24px;font-weight:500;line-height:1}.b-aws .n small{color:#444;letter-spacing:0;margin-top:5px;font-size:10px}.b-aws .bar{color:#fff;background:#111;padding:6px 12px;font-size:10px;font-weight:800;position:absolute;inset:auto 0 0}.b-mcp .hd{color:#fff;background:#0e1b33;height:62px;padding:12px 10px 0 40px;font-size:15px;font-weight:800;line-height:1;position:relative}.b-mcp .hd:before{content:"";border:2px solid #5fd3e6;border-radius:5px;width:20px;height:20px;position:absolute;top:12px;left:10px;transform:rotate(45deg)scale(.8)}.b-mcp .hd small{font-size:11px;font-weight:500}.b-mcp .hd small b{color:#4fd1e8;font-weight:600;display:inline}.b-mcp .n{text-align:center;letter-spacing:.02em;margin:9px 0 0;font-size:15px;font-weight:500;line-height:1.1}.b-mcp .n small{color:#333;margin-top:2px;font-size:11px}.b-mcp .qr{width:30px;height:30px;position:absolute;top:124px;left:62px}.b-mcp .dot{color:#fff;text-align:center;background:#1fb24f;border-radius:50%;width:34px;height:34px;font-size:7px;font-weight:800;line-height:34px;position:absolute;top:120px;left:12px}.b-mcp .bar{color:#0e1b33;text-align:center;letter-spacing:.05em;background:#35c4dc;padding:4px;font-size:11px;font-weight:800;position:absolute;inset:auto 0 26px}.b-mcp .ft{color:#fff;background:#0e1b33 linear-gradient(90deg,#0000 34px,#fff 34px 62px,#0000 62px 66px,#fff 66px 94px,#0000 94px 98px,#fff 98px 126px,#0000 126px) 0 4px/100% 18px no-repeat;height:26px;padding:9px 0 0 5px;font-size:5.5px;position:absolute;inset:auto 0 0}.b-ropar .front{text-align:center;background:linear-gradient(135deg,#2a4f9e 0 11%,#0000 11%),linear-gradient(315deg,#1f7d74 0 12%,#3aa692 12% 17%,#0000 17%),linear-gradient(#fff 61%,#cfe6c0 61% 80%,#fff 80%)}.b-ropar .tag{color:#fff;background:#1b2c57;border-radius:3px;width:62px;margin:12px auto 0;padding:3px 0;font-size:7px;font-weight:800;line-height:1.15}.b-ropar .w{color:#a32020;margin:9px 0 0;font-family:Georgia,serif;font-size:8px;font-weight:700}.b-ropar .t{color:#1b2c57;margin:1px 9px 0;font-family:Georgia,serif;font-size:8px;font-weight:700;line-height:1.2}.b-ropar .d{color:#a32020;margin:2px 0 0;font-family:Georgia,serif;font-size:7.5px;font-weight:700}.b-ropar .f{text-align:left;white-space:nowrap;border-bottom:1px solid #222;margin:9px 11px 0;font-family:Georgia,serif;font-size:7.5px;font-weight:700}.b-ropar .f b{font-family:var(--hand);margin-left:5px;font-size:15px;font-weight:600;display:inline}.b-ropar .ft{font-family:Georgia,serif;font-size:8.5px;line-height:1.3;position:absolute;inset:auto 0 12px}.b-swift{--h:160px}.b-swift .front{color:#fff;text-align:center;background:linear-gradient(140deg,#24443a,#17302a)}.b-swift .e{margin:44px 0 0;font-size:11px;font-weight:800}.b-swift .t{letter-spacing:-.02em;margin:5px 0 0;font-size:22px;font-weight:600}.b-swift .s{color:#9ec9f0;letter-spacing:.04em;margin:3px 0 0;font-size:9px}.b-swift .n{font-size:11px;font-weight:600;position:absolute;inset:auto 0 12px}.b-swift .n small{color:#9fb8ae;font-weight:500;display:inline}.b-apex .front{color:#fff;background:#121212;border:4px solid #1f1f1f}.b-apex .ic{width:44px;height:44px;margin:44px auto 0}.b-apex .o{text-align:center;color:#ee4b34;letter-spacing:.12em;margin:14px 0 0;font-size:21px;font-weight:600}.b-apex .a{text-align:center;letter-spacing:.1em;margin:2px 0 0;font-size:12px;font-weight:500}.b-apex .n{text-align:center;border-top:1px solid #3a3a3a;padding-top:7px;font-size:12px;font-weight:600;position:absolute;inset:auto 12px 14px}.b-apex .n small{color:#9a9a9a;margin-top:2px;font-size:8px;font-weight:500}.b-gift .front{background:linear-gradient(90deg,#e9622b 0 14px,#0000 14px calc(100% - 14px),#e9622b calc(100% - 14px)),linear-gradient(#e9622b 0 64px,#fff 64px calc(100% - 12px),#e9622b calc(100% - 12px))}.b-gift .g{color:#fff;letter-spacing:-.01em;margin:14px 0 0 20px;font-size:15px;font-weight:800}.b-gift .g b{font-weight:500;display:inline}.b-gift .hk{color:#e9622b;letter-spacing:.04em;background:#fff;width:86px;margin:6px 0 0 20px;padding:3px 6px;font-size:9px;font-weight:800}.b-gift .st{background:#45b7df;border-radius:50%;width:30px;height:30px;position:absolute;top:40px;right:22px}.b-gift .n{font-family:var(--hand);border-bottom:1.5px solid #222;margin:44px 26px 0;font-size:23px;line-height:1.1}.b-gift .n2{font-family:var(--hand);color:#333;border-bottom:1.5px solid #222;margin:12px 26px 0;font-size:17px;line-height:1.2}.b-odoo .front{color:#fff;text-align:center;background:radial-gradient(circle at 20% 10%,#3a2d6b,#0000 55%),radial-gradient(circle at 90% 60%,#51306e,#0000 50%),#1a1538}.b-odoo .o{letter-spacing:-.02em;margin:20px 0 0;font-size:26px;font-weight:800;line-height:.9}.b-odoo .x{letter-spacing:.34em;color:#cfc4ee;font-size:6.5px}.b-odoo .qr{border-radius:4px;width:70px;height:70px;margin:8px auto 0;padding:4px}.b-odoo .n{margin:9px 0 0;font-size:14px;font-weight:800}.b-odoo .bar{background:#17a99a;padding:6px;font-size:13px;font-weight:800;position:absolute;inset:auto 0 0}.b-kcd .front{color:#fff;background:repeating-linear-gradient(45deg,#ffffff0f 0 6px,#0000 6px 12px),#4b3fc4}.b-kcd .p{color:#222;text-align:center;background:radial-gradient(circle at 0 84%,#0000 0 9px,#b9b0f2 9px 10px,#0000 10px 15px,#b9b0f2 15px 16px,#0000 16px),radial-gradient(circle at 100% 84%,#0000 0 9px,#b9b0f2 9px 10px,#0000 10px 15px,#b9b0f2 15px 16px,#0000 16px),#fff;border-radius:8px;height:150px;margin:22px 13px 0;padding:8px 0 0}.b-kcd .k{color:#2b63d9;font-size:14px;font-weight:800;line-height:1}.b-kcd .k small{color:#2a8a43;font-size:7px;font-weight:800}.b-kcd .m{letter-spacing:.14em;color:#444;margin:3px 0 0;font-size:4.6px;font-weight:800}.b-kcd .qr{width:52px;height:52px;margin:6px auto 0}.b-kcd .n{margin:6px 0 0;font-size:14px;font-weight:800}.b-kcd .n small{color:#3d59c9;margin-top:2px;font-size:10px;font-weight:500}.b-kcd .bar{text-align:center;letter-spacing:-.01em;font-size:22px;font-weight:800;position:absolute;inset:auto 0 9px}.b-awscd .front{color:#fff;background:linear-gradient(#1b2360,#0e1233 70%),#0e1233}.b-awscd .hd{letter-spacing:.03em;justify-content:space-between;margin:24px 11px 0;font-size:6.5px;font-weight:800;line-height:1.15;display:flex}.b-awscd .hd span:last-child{text-align:right;font-size:8px}.b-awscd .hd small{color:#b6bbe6;font-size:5.5px;font-weight:500}.b-awscd .p{color:#111;text-align:center;background:#fff;border-radius:6px;margin:8px 13px 0;padding:8px 8px 9px}.b-awscd .qr{width:62px;height:62px;margin:0 auto}.b-awscd .n{margin:6px 0 0;font-size:15px;font-weight:800}.b-awscd .n small{color:#555;margin-top:2px;font-size:9px;font-weight:500}.b-awscd .ft{text-align:center;letter-spacing:.16em;color:#d6c9ff;background:linear-gradient(90deg,#ff9d2e 0 14%,#0000 14% 20%,#ff5fa2 20% 30%,#0000 30% 38%,#3aa3ff 38% 52%,#0000 52% 60%,#ff9d2e 60% 68%,#0000 68% 76%,#ff5fa2 76% 100%) 0 100%/100% 5px no-repeat;height:32px;padding:6px 0 0;font-size:5.5px;position:absolute;inset:auto 0 0}.b-fbc .front{color:#fff;font-family:var(--mono);background:linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/100% 28px,linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/28px 100%,linear-gradient(150deg,#24564f,#173b38)}.b-fbc .a{margin:26px 13px 0;font-size:7px}.b-fbc .t{color:#f1b35c;margin:5px 13px 0;font-size:19px;line-height:1.02}.b-fbc .sq{background:linear-gradient(135deg,#49c8f0,#5b8df5) 0 0/30px 30px no-repeat,linear-gradient(135deg,#3fd0e8,#6f7df0) 30px 30px/32px 32px no-repeat,linear-gradient(135deg,#7fa0f5,#4bb7ee) 0 34px/16px 16px no-repeat;width:62px;height:62px;position:absolute;top:112px;right:16px}.b-fbc .p{font-size:11px;position:absolute;top:124px;left:13px}.b-fbc .n{font-size:10px;position:absolute;bottom:13px;left:13px}.b-fbc .n small{color:#9cc5bd;letter-spacing:.1em;margin-top:2px;font-size:6.5px}.b-devfest .t{text-align:center;letter-spacing:-.03em;margin:24px 0 0;font-size:21px;font-weight:800;line-height:1}.b-devfest .t b{color:#f5a700;font-weight:500;display:inline}.b-devfest .pl{text-align:center;border:1.5px solid #222;border-radius:9px;width:76px;margin:2px auto 0;font-size:8px;font-weight:600;line-height:1.5}.b-devfest .n{margin:9px 13px 0;font-size:15px;font-weight:800}.b-devfest .n small{color:#444;margin-top:3px;font-size:7.5px;font-weight:500;line-height:1.25}.b-devfest .n small b{color:#111;font-weight:800}.b-devfest .qr{border:1px dashed #555;width:46px;height:46px;padding:3px;position:absolute;top:76px;right:13px}.b-devfest .at{letter-spacing:-.01em;font-size:13px;font-weight:800;position:absolute;bottom:30px;left:13px}.b-devfest .at small{color:#555;letter-spacing:.02em;font-size:5.5px;font-weight:500}.b-devfest .tr{background:repeating-linear-gradient(90deg,#f1f1f1 0 5px,#b7402e 5px 9px,#f1f1f1 9px 14px,#29427f 14px 18px) 6px 6px/148px 9px no-repeat,linear-gradient(#333,#333) 0 17px/100% 1px no-repeat;border-top:1px solid #333;height:22px;position:absolute;inset:auto 0 0}.b-next .front{background:var(--paper)}.b-next .t{border:1.5px dashed var(--accent);color:var(--accent);border-radius:5px;margin:30px 14px 0;padding:9px;font-size:15px;font-weight:800}.b-next .j{color:var(--accent);margin:12px 14px 0;font-family:Yuji Syuku,serif;font-size:34px;line-height:1}.b-next .n{font-family:var(--mono);letter-spacing:.18em;color:#77736a;font-size:7.5px;position:absolute;inset:auto 14px 16px}.b-next .n b{border-bottom:1.5px dashed #b9b3a6;height:20px}body{font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.section{max-width:1600px;margin:0 auto;padding:clamp(4rem,12vh,8rem) clamp(1rem,4vw,3rem) 0}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(1.5rem,4vh,2.5rem);padding-bottom:1.1rem;display:flex;position:relative}.section__head:after{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.section__head :is(h1,h2){font-family:var(--display);text-transform:uppercase;margin:0;font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:.86}.section__head p,.label{font-family:var(--sans);color:var(--dim);margin:0;font-size:.82rem;font-weight:500}.section h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:600}.sub{margin:clamp(2.5rem,7vh,4rem) 0 1.2rem}.scatter{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:2.4rem 1.4rem;margin:0;padding:0;list-style:none;display:grid}.pin[data-month]:before{content:attr(data-month);z-index:-1;pointer-events:none;font-family:var(--sans);letter-spacing:-.05em;color:#0000;-webkit-text-stroke:1px var(--line);text-transform:uppercase;white-space:nowrap;font-size:clamp(4.5rem,10vw,8.5rem);font-weight:800;line-height:.8;position:absolute;top:-.62em;left:-.12em}.pin{z-index:1;margin-top:var(--mt,0);rotate:var(--r,0deg);transition:rotate .45s cubic-bezier(.2,.9,.3,1),scale .45s cubic-bezier(.2,.9,.3,1);position:relative}.pin:hover{z-index:5;rotate:0deg;scale:1.03}.pin__meta{font-family:var(--sans);color:var(--dim);margin-top:.7rem;font-size:.82rem;font-weight:500;display:block}.pin__cap{font-family:var(--serif);color:var(--soft);max-width:26ch;margin:.9rem 0 0;font-size:1.05rem;line-height:1.22}.pin__cap b{font-family:var(--sans);color:var(--ink);margin-bottom:.2rem;font-size:.95rem;font-weight:600;display:block}.more{font-family:var(--display);text-transform:uppercase;margin-top:clamp(2.5rem,7vh,4rem);font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:700;text-decoration:none;display:inline-block}.more span{transition:translate .45s cubic-bezier(.2,.9,.3,1);display:inline-block}.more:hover{color:var(--accent)}.more:hover span{translate:.35em}[data-page] .section{padding-top:clamp(6rem,16vh,9rem)}.polaroid:before,.note:before{content:"";background:color-mix(in srgb, var(--accent) 30%, transparent);border-left:1px dashed var(--bg);border-right:1px dashed var(--bg);width:74px;height:22px;margin-left:-37px;position:absolute;top:-11px;left:50%;rotate:-3deg}.polaroid{background:var(--card);color:var(--ink);box-shadow:0 18px 40px var(--shadow);border-radius:3px;margin:0;padding:10px 10px 14px;position:relative}.wide .polaroid__img{aspect-ratio:4/3}.polaroid__img{aspect-ratio:3/4;background:#1b1b1e;display:block;position:relative;overflow:hidden}.polaroid__img img{object-fit:cover;filter:grayscale(.25)contrast(1.05);width:100%;height:100%;display:block}.polaroid__img em{display:none}.polaroid__img.is-empty{background:repeating-linear-gradient(135deg,#1b1b1e 0 10px,#222226 10px 20px)}.polaroid__img.is-empty em{text-align:center;font-style:normal;font-family:var(--sans);color:var(--dim);place-content:center;padding:1rem;font-size:.82rem;font-weight:500;display:grid;position:absolute;inset:0}.polaroid figcaption{font-family:var(--hand);margin-top:10px;font-size:1.3rem;line-height:1.05}.polaroid figcaption b{font-family:var(--sans);margin-bottom:3px;font-size:.8rem;font-weight:600;display:block}.mini{width:160px;display:block}.mini__straps{justify-content:center;height:54px;margin-bottom:-6px;display:flex}.mini__straps.two{justify-content:space-between;padding:0 21px}.mini__straps i{background:var(--c);border-radius:2px 2px 0 0;width:15px;box-shadow:inset 0 6px 6px -4px #000000b3}.mini .badge{cursor:default;touch-action:auto;pointer-events:none;margin:0;position:relative}.mini--small{zoom:.5;position:absolute;top:-40px;right:-4%;rotate:7deg}.note{background:var(--card);color:var(--ink);font-family:var(--serif);box-shadow:0 14px 30px var(--shadow);border-radius:2px;margin:0;padding:1.3rem 1.2rem 1.4rem;font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.14;position:relative}.note--dark{background:var(--ink);color:var(--bg)}.stub{border:1px dashed var(--line2);border-radius:6px;margin:0;padding:.7rem .8rem .75rem 2.6rem;position:relative}.stub i{border-right:1px dashed var(--line2);width:2rem;font-style:normal;font-family:var(--sans);color:var(--dim);place-content:center;font-size:.82rem;font-weight:500;display:grid;position:absolute;top:0;bottom:0;left:0}.stub b{font-size:.9rem;font-weight:600;line-height:1.2;display:block}.stub span{font-family:var(--sans);color:var(--dim);margin-top:.3rem;font-size:.82rem;font-weight:500;display:block}.next{border:1.5px dashed var(--accent);color:var(--accent);border-radius:8px;margin:0;padding:1.4rem 1.2rem}.next span{font-size:1rem;font-weight:600;display:block}.next strong{font-family:var(--serif);color:var(--ink);margin-top:.25rem;font-size:1.5rem;font-weight:400;line-height:1.05;display:block}.next b{margin-top:.6rem;font-family:Yuji Syuku,serif;font-size:2.6rem;font-weight:400;line-height:1;display:block}.job{border-bottom:1px solid var(--line);interpolate-size:allow-keywords;position:relative}.job:before{content:"";background:var(--accent);transform-origin:top;width:5px;transition:transform .5s cubic-bezier(.2,.9,.3,1);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.job[open]:before,.job:hover:before{transform:scaleY(1)}.job summary{cursor:pointer;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:.2rem 1rem;padding:1.5rem 0 1.4rem;list-style:none;transition:padding .45s cubic-bezier(.2,.9,.3,1),color .3s;display:grid}.job summary::-webkit-details-marker{display:none}.job[open] summary,.job summary:hover{padding-left:1.4rem}.job summary:hover h3{color:var(--accent)}.job summary i{font-style:normal;font-family:var(--sans);color:var(--dim);font-size:.82rem;font-weight:500}.job summary h3{font-family:var(--display);letter-spacing:0;text-transform:uppercase;font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:700;line-height:.9;transition:color .3s}.job summary em{font-family:var(--serif);color:var(--soft);grid-column:2;font-size:clamp(1.05rem,1.5vw,1.25rem)}.job summary span{font-family:var(--sans);color:var(--dim);white-space:nowrap;grid-area:1/3;font-size:.82rem;font-weight:500}.job summary small{max-width:60ch;font:400 1rem/1.4 var(--sans);color:var(--soft);grid-column:2;margin-top:.35rem}.job::details-content{block-size:0;transition:block-size .5s cubic-bezier(.2, .9, .3, 1), content-visibility .5s allow-discrete;overflow:hidden}.job[open]::details-content{block-size:auto}.job__body{padding:0 0 1.8rem 4.6rem}.job ul,.proj ul{max-width:62ch;margin:.8rem 0 0;padding:0;list-style:none}.job li,.proj li{color:var(--soft);margin-top:.45rem;padding-left:1.1rem;line-height:1.45;position:relative}.job li:before,.proj li:before{content:"";background:var(--dim);width:6px;height:1.5px;position:absolute;top:.62em;left:0}.projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.5rem;display:grid}.proj{background:var(--card);box-shadow:0 18px 40px var(--shadow);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-radius:12px;flex-direction:column;padding:1.75rem 1.5rem 1.5rem;transition:transform .3s ease-out;display:flex}.proj img{aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:6px;width:100%;margin-bottom:1.25rem;display:block}.proj h3{font-family:var(--display);letter-spacing:0;text-transform:uppercase;margin-top:.5rem;font-size:clamp(2.2rem,4.2vw,3.2rem);font-weight:700;line-height:.86}.proj__tag{font-family:var(--serif);margin:.75rem 0 0;font-size:1.25rem;line-height:1.12}.proj ul{margin-bottom:1.5rem}.proj__meta{border-top:1px solid var(--line);font:500 .82rem var(--sans);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin:auto 0 0;padding-top:1rem;display:flex}.proj__meta a{color:var(--ink)}.proj a:hover,.job a:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){.job::details-content{transition:none}.proj{transform:none}}@media (width>=900px){.portrait{position:sticky;top:5.5rem}}.about{grid-template-columns:minmax(0,17rem) minmax(0,1fr);align-items:start;gap:2.5rem clamp(2rem,6vw,5rem);display:grid}.portrait{max-width:17rem;rotate:-2.5deg}.about__facts{margin-top:2.5rem}.about__text p{font-family:var(--serif);margin:0 0 1em;font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.25}.about__facts h3{font-family:var(--sans);color:var(--dim);margin:2rem 0 .6rem;font-size:.82rem;font-weight:500}.about__facts h3:first-child{margin-top:0}.about__facts p{max-width:60ch;color:var(--soft);margin:0 0 .75em;line-height:1.5}dl{margin:0}dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1rem;padding:.6rem 0;display:grid}dt{font-weight:600}dd{color:var(--soft);margin:0;line-height:1.4}.contact{margin:0;padding:0;list-style:none}.contact li{border-bottom:1px solid var(--line);align-items:baseline;gap:1.5rem;padding:1rem 0;display:flex}.contact span{width:6rem;font-family:var(--sans);color:var(--dim);flex:none;font-size:.82rem;font-weight:500}.contact a{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.1rem,2.4vw,1.7rem);font-weight:600;text-decoration:none;transition:translate .5s cubic-bezier(.2,.9,.3,1),color .3s;display:inline-block}.contact a:hover{color:var(--accent)}.foot{max-width:1600px;font-family:var(--sans);color:var(--dim);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 auto;padding:clamp(3rem,9vh,6rem) clamp(1rem,4vw,3rem) 2.5rem;font-size:.82rem;font-weight:500;display:flex}.foot b{letter-spacing:0;color:var(--accent);font-family:Yuji Syuku,serif;font-size:1.6rem;font-weight:400}.reveal{opacity:0;transition:opacity .5s ease var(--d,0s)}.reveal.in{opacity:1}.proj.reveal{transition:opacity .5s ease var(--d,0s), transform .3s ease-out}.pin.reveal{transition:opacity .5s ease var(--d,0s), rotate .45s cubic-bezier(.2, .9, .3, 1), scale .45s cubic-bezier(.2, .9, .3, 1)}@media (width<=760px){.scatter{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.pin{margin-top:calc(var(--mt,0px) * .5);grid-column:auto!important}.pin--photo,.pin--note{max-width:88%;grid-column:1/-1!important}.pin--note:nth-of-type(2n),.pin--photo:nth-of-type(2n){justify-self:end}.pin--badge .mini{zoom:.92}.pin[data-month]{margin-top:2.2rem}.about{grid-template-columns:minmax(0,1fr)}.portrait{max-width:13rem}.pin--photo:not(.wide){max-width:68%}main{overflow-x:clip}.job summary span{grid-area:auto/2}.job__body{padding-left:1.4rem}dl>div{grid-template-columns:minmax(0,1fr);gap:.15rem}.contact li{flex-direction:column;gap:.3rem}}
