@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-latin-700.woff2)format("woff2")}:root{color:#161616;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--font-display:"Space Grotesk", "Trebuchet MS", sans-serif;--header-height:86px;--screen-height:calc(100svh - var(--header-height));--paper:#f9f9f6;--ink:#161616;--blue:#2449ec;--yellow:#fbe75c;--pink:#f5b9d4;--line:2px solid var(--ink);--shadow:5px 5px 0 var(--ink);background:#f9f9f6;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{min-width:320px;margin:0}a{color:inherit;text-underline-offset:5px}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.04}h1,h2,h3,.wordmark,.running-text-group>span{font-family:var(--font-display);font-weight:700}p{line-height:1.75}img{max-width:100%;display:block}::selection{color:var(--ink);background:var(--yellow)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--yellow);border:var(--line);padding:16px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}}@media (width<=760px){:root{--header-height:72px}}:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-slab-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Duo";--fa-font-slab-press-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Press Duo";--fa-font-pixel-regular:normal 400 1em/1 "Font Awesome 7 Pixel";--fa-font-mosaic-solid:normal 900 1em/1 "Font Awesome 7 Mosaic";--fa-font-vellum-solid:normal 900 1em/1 "Font Awesome 7 Vellum";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip-360{animation-name:fa-flip-360;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz{animation-name:fa-buzz;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello{animation-name:fa-jello;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-flip-360,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-buzz,.fa-float,.fa-jello,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}45%{transform:scale(calc(1.22 * var(--fa-beat-scale,1.22)))}65%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06), var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94), var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(-1 * var(--fa-bounce-height,.5em)));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height,.5em) * 1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06), var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .7)) rotate(.2deg)}30%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px) * .7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(-.4 * var(--fa-float-height,6px))) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(-1 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98), var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(-.92 * var(--fa-float-height,6px))) translateX(calc(-.5 * var(--fa-float-drift,1px))) rotate(calc(-.5 * var(--fa-float-tilt,1deg))) scale(.995, 1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(-.3 * var(--fa-float-height,6px))) translateX(calc(-1 * var(--fa-float-drift,1px))) rotate(calc(-1 * var(--fa-float-tilt,1deg))) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(.05 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15), calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)), var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(1 + (var(--fa-jello-scale-x,1.15) - 1) * .5), calc(2 - (1 + (var(--fa-jello-scale-x,1.15) - 1) * .5)));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(2 - (1 + (var(--fa-jello-scale-y,1.12) - 1) * .3)), calc(1 + (var(--fa-jello-scale-y,1.12) - 1) * .3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}.container{width:min(1180px,100% - 80px);margin-inline:auto}.site-header{border-bottom:var(--line);background:var(--paper);z-index:20;position:sticky;top:0}.header-inner{min-height:calc(var(--header-height) - 2px);justify-content:space-between;align-items:center;display:flex}.wordmark{border:var(--line);background:var(--yellow);box-shadow:4px 4px 0 var(--ink);letter-spacing:-.04em;white-space:nowrap;padding:12px 16px;font-size:18px;font-weight:700;line-height:1;text-decoration:none}.navigation{align-items:center;gap:36px;display:flex}.navigation a{padding-block:12px;font-size:14px;font-weight:700;text-decoration:none}.navigation a:hover{text-decoration:underline}.navigation .nav-social{border-left:var(--line);padding-left:30px}.nav-social span{margin-left:12px}.menu-toggle{background:var(--yellow);border:var(--line);padding:9px 14px;display:none}.hero{min-height:var(--screen-height);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr);align-items:center;gap:20px 40px;padding-block:24px 0;display:grid}.hello{align-items:center;gap:12px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.hello-mark{color:var(--blue);font-size:28px}h1{font-size:clamp(44px,min(5.7vw,9svh),76px);font-weight:700;line-height:.99}.outlined-text{color:var(--blue)}.hero-description{color:#464646;max-width:450px;margin-block:20px;font-size:16px}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.button{border:var(--line);background:var(--paper);min-height:52px;box-shadow:var(--shadow);justify-content:center;align-items:center;gap:25px;padding:17px 22px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s;display:inline-flex}.button-yellow{background:var(--yellow)}.button:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}.text-link{align-items:center;gap:16px;padding-block:10px;font-size:14px;font-weight:700;display:inline-flex}.hero-art{margin-top:0;padding:0 18px 34px;position:relative}.identity-card{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:#fff;animation:.8s cubic-bezier(.16,1,.3,1) .18s both card-enter;transform:rotate(4deg)}.card-bar{border-bottom:var(--line);justify-content:space-between;padding:14px 18px;font-size:12px;display:flex}.card-bar span:last-child{letter-spacing:4px;font-size:8px}.portrait-stage{background:var(--blue);background-image:linear-gradient(#ffffff16 1px,#0000 1px),linear-gradient(90deg,#ffffff16 1px,#0000 1px);background-size:32px 32px;place-items:center;height:clamp(180px,39svh,360px);display:grid;position:relative;overflow:hidden}.portrait-stage:before{content:"";aspect-ratio:1;border:3px solid var(--ink);background:var(--yellow);width:68%;box-shadow:6px 6px 0 var(--ink);border-radius:50%;position:absolute;top:14%;left:16%}.hero-portrait{z-index:1;object-fit:contain;object-position:center top;width:100%;max-width:none;height:130%;position:absolute;top:0;left:0}.portrait-note{--note-angle:-8deg;z-index:2;border:var(--line);background:var(--paper);box-shadow:4px 4px 0 var(--ink);font-family:var(--font-display);transform:rotate(var(--note-angle));padding:10px 14px;font-size:20px;font-weight:700;animation:5s ease-in-out infinite alternate portrait-note-float;position:absolute}.portrait-note-code{top:42%;left:6%}.portrait-note-flow{--note-angle:7deg;background:var(--pink);animation-delay:-2.5s;bottom:18%;right:6%}@keyframes portrait-note-float{to{transform:translateY(-8px) rotate(var(--note-angle))}}@keyframes portrait-star-turn{to{transform:rotate(375deg)}}.art-star{z-index:2;color:#fff;font-size:66px;animation:20s linear infinite portrait-star-turn;position:absolute;top:12px;right:12px;transform:rotate(15deg)}.identity-caption{letter-spacing:-.04em;justify-content:space-between;padding:16px 20px;font-size:22px;font-weight:900;display:flex}.orbit-label{z-index:1;background:var(--paper);border:var(--line);width:fit-content;margin-bottom:34px;padding:10px 18px;font-size:13px;font-weight:700;position:relative;transform:rotate(-7deg)}.art-sticker{background:var(--yellow);border:var(--line);box-shadow:4px 4px 0 var(--ink);padding:18px 22px;font-size:18px;position:absolute;bottom:5px;right:0;transform:rotate(-8deg)}.hero-bottom{border-top:var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:0;padding:18px 0;font-size:12px;display:flex}.hero-bottom a{text-decoration:none}.hero-bottom a span{padding-left:24px}.section{padding-block:clamp(56px,7vw,96px)}.section-label{margin-bottom:18px;font-size:13px;font-weight:700}h2{font-size:clamp(38px,4.5vw,58px);font-weight:700}.about{grid-template-columns:1fr 1.2fr;align-items:center;gap:90px;display:grid}.hand-note{color:var(--blue);width:fit-content;margin-top:36px;font-size:17px;font-style:italic;transform:rotate(-6deg)}.hand-note span{margin-left:15px;font-size:40px;display:inline-block}.about-content{padding-top:0}.large-copy{letter-spacing:-.025em;margin-bottom:20px;font-size:23px;font-weight:700;line-height:1.5}.about-content>p:not(.large-copy){color:#464646;margin-bottom:12px;font-size:15px}.work-section{border-block:var(--line);background:#eeeeea}.work-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px;display:flex}.work-heading>p{color:#464646;font-size:14px}.heading-dot{color:var(--blue)}.project-filters{flex-wrap:wrap;gap:10px;display:flex}.filter-button{background:var(--paper);border:var(--line);min-height:44px;padding:11px 20px;font-size:13px;transition:background .15s,transform .15s}.filter-button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--blue)}.filter-button:hover{transform:translateY(-2px)}.result-count{color:#464646;margin:0;font-size:12px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.project-card{background:var(--paper);border:var(--line);box-shadow:var(--shadow)}.project-art{border-bottom:var(--line);padding:24px}.bg-blue{background:#a4b5ff}.bg-yellow{background:var(--yellow)}.bg-pink{background:var(--pink)}.image-frame{aspect-ratio:3/2;width:100%;position:relative}.image-frame img{object-fit:contain;width:100%;height:100%;transition:opacity .2s}.image-loading{opacity:0}.image-loaded{opacity:1}.image-error{place-content:center;height:100%;padding:20px;font-size:13px;display:grid}.project-copy{padding:24px}.project-copy h3{margin:0 0 16px;font-size:24px}.project-copy>p{color:#464646;font-size:13px}.project-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.project-link{gap:10px;min-height:44px;padding:10px 14px;font-size:12px}details{border-top:var(--line);padding-top:15px}summary{cursor:pointer;min-height:44px;padding-block:7px;font-size:12px;font-weight:700}summary span{float:right}details p{margin-top:14px;font-size:12px}.work-footnote{color:#464646;max-width:70ch;margin-top:16px;font-size:12px}.gallery-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.skeleton{background:#d8d8d2;animation:1.4s ease-in-out infinite alternate skeleton-pulse}.skeleton-toolbar{width:250px;height:44px;margin-bottom:18px}.skeleton-card{border:var(--line);height:330px}.load-error{border:var(--line);background:var(--paper);padding:30px}.load-error p{margin-bottom:22px}.contact-section{background:var(--blue);color:#fff;border-block:var(--line)}.contact-content{padding-block:clamp(48px,6vw,72px)}.contact-content h2{max-width:1000px;font-size:clamp(38px,5.1vw,64px);position:relative}.contact-content h2>span{color:var(--yellow);vertical-align:middle;margin-left:30px;font-size:1em;display:inline-block}.contact-bottom{justify-content:space-between;align-items:center;gap:24px;margin-top:28px;display:flex}.contact-links{flex-wrap:wrap;gap:16px;display:flex}.contact-links .button{gap:12px}.contact-bottom p{font-size:14px}.contact-bottom .button{color:var(--ink)}.contact-section a:focus-visible{outline-color:var(--yellow)}.site-footer{text-align:center;padding-block:24px;font-size:13px}.reveal{opacity:0;transition:opacity .55s,transform .55s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.reveal[data-visible=true],.reveal:focus-within{opacity:1;transform:none}@keyframes skeleton-pulse{0%{opacity:.55}to{opacity:1}}@keyframes card-enter{0%{opacity:0;transform:rotate(-3deg)translateY(20px)scale(.96)}to{opacity:1;transform:rotate(4deg)}}@keyframes project-enter{0%{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=1000px){.hero{column-gap:24px}.hero-art{padding-inline:10px}.hero-actions{gap:20px}.about{gap:45px}.projects-grid{gap:18px}.project-copy{padding:18px}.project-copy h3{font-size:23px}}@media (width<=760px){.container{width:calc(100% - 40px)}.menu-toggle{display:block}.navigation{top:calc(var(--header-height) - 2px);border-bottom:var(--line);background:var(--paper);gap:6px;padding:20px;display:none;position:absolute;left:0;right:0}.navigation.is-open{flex-direction:column;align-items:stretch;display:flex}.navigation a{padding:12px}.navigation .nav-social{border-left:0;border-top:var(--line);padding-left:12px}.hero{grid-template-rows:auto auto auto;grid-template-columns:1fr;align-content:center;gap:16px;padding-top:16px}h1{font-size:clamp(36px,10vw,48px)}.hello{margin-bottom:12px;font-size:14px}.hero-description{max-width:46ch;margin-block:12px;font-size:14px;line-height:1.6}.hero-art{width:min(400px,100% - 10px);margin:4px auto 0;padding:0 8px 28px}.portrait-stage{height:clamp(210px,27svh,290px)}.hero-bottom{gap:18px;margin-top:0;padding-block:12px;font-size:10px}.section{padding-block:40px}.about{grid-template-columns:1fr;gap:30px}.about-content{padding-top:0}.hand-note{display:none}.large-copy{font-size:22px}.work-heading{flex-direction:column;align-items:flex-start;gap:20px}.desktop-break{display:none}.projects-grid{grid-template-columns:1fr;gap:24px}.project-copy{padding:24px}.project-copy h3{font-size:28px}.skeleton-card:not(:first-child){display:none}.contact-content{padding-block:40px}.contact-content h2>span{margin-left:12px;font-size:.7em}.contact-bottom{flex-direction:column;align-items:flex-start}}.about-facts{border-top:var(--line);flex-direction:column;gap:10px;margin-top:20px;padding-top:22px;font-size:13px;display:flex}.journey-columns{grid-template-columns:1.2fr 1fr;gap:90px;display:grid}.subheading{margin-bottom:20px;font-size:27px}.timeline{border-left:var(--line);margin:0;padding:0 0 0 25px;list-style:none}.timeline li{padding:0 0 22px 15px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--yellow);border:var(--line);width:14px;height:14px;position:absolute;top:5px;left:-33px}.timeline h4,.education-list h4{letter-spacing:-.03em;margin:8px 0;font-size:20px}.timeline p,.education-list p{font-size:13px}.timeline .organization{margin-bottom:12px;font-weight:700}.timeline-period{color:#555;font-size:11px!important}.education-list{gap:20px;display:grid}.education-list article{border:var(--line);box-shadow:3px 3px 0 var(--ink);padding:20px}.skills-block{margin-top:28px}.skill-list{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.skill-list li{border:var(--line);background:var(--yellow);padding:9px 12px;font-size:12px}.achievements-section{border-top:var(--line);background:#f5e9f1}.award-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-block:28px;display:grid}.award{border:var(--line);background:var(--paper);box-shadow:var(--shadow);padding:26px}.award h3{margin-bottom:18px;font-size:23px;line-height:1.2}.award p{font-size:13px}.award-icon{color:var(--blue);margin-bottom:20px;font-size:40px;display:block}.award-date{color:#555;margin-top:12px}.certifications{border:var(--line);background:var(--paper);padding:20px 24px}.certifications summary{font-size:15px;list-style:none}.certifications summary::-webkit-details-marker{display:none}.certifications summary .icon{transition:transform .18s}.certifications[open] summary .icon{transform:rotate(180deg)}.certifications ul{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 0;padding:0;list-style:none;display:grid}.certifications li{border-top:1px solid #bcbcb5;padding-top:20px}.certifications h3{letter-spacing:-.02em;font-size:17px;line-height:1.3}.certifications p{margin-top:8px;font-size:12px}@media (width<=1000px){.journey-columns{gap:45px}.navigation{gap:24px}}@media (width<=760px){.journey-columns,.award-grid,.certifications ul{grid-template-columns:1fr}.journey-columns{gap:45px}.navigation{gap:6px}.award-grid{gap:24px}}@media (width>=761px){.project-art .image-frame{aspect-ratio:auto;height:clamp(160px,20svh,220px)}.work-heading h2{font-size:clamp(38px,6svh,54px)}.section-label{margin-bottom:12px}.timeline p{line-height:1.6}.journey-section .work-heading,.journey-section .subheading{margin-bottom:16px}.journey-section .timeline li{padding-bottom:20px}.journey-section .timeline li:last-child{padding-bottom:0}}@media (width<=760px){.hero-actions{gap:12px}.hero-actions .button{gap:14px;min-height:48px;padding:12px 16px}.portrait-note{padding:7px 10px;font-size:15px}.portrait-stage:before{width:76%;top:12%;left:12%}.hero-art .card-bar{padding:8px 12px;font-size:10px}.hero-art .identity-caption{padding:10px 12px;font-size:16px}.hero-art .orbit-label{margin-bottom:24px;padding:6px 10px;font-size:10px}.hero-art .art-sticker{padding:8px 12px;font-size:12px}.hero-art .art-star{font-size:36px}.hero-bottom span{max-width:26ch}.hero-bottom a{white-space:nowrap}.hero-bottom a span{padding-left:6px}.gallery-toolbar{flex-direction:column;align-items:flex-start}.about{align-content:center}}.running-text{border-block:3px solid var(--ink);background:var(--yellow);overflow:hidden}.running-text-track{width:max-content;animation:26s linear infinite running-text;display:flex}.running-text-group{flex-shrink:0;justify-content:space-around;align-items:center;gap:48px;min-width:100vw;padding:18px 24px;display:flex}.running-text-group>span{white-space:nowrap;letter-spacing:-.04em;align-items:center;gap:48px;font-size:clamp(20px,2.2vw,30px);font-weight:700;display:flex}.running-text-group b{color:var(--blue);font-size:1.4em;line-height:1}@keyframes running-text{to{transform:translate(-50%)}}.award-toolbar,.certificate-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.preview-button,.modal-close{border:var(--line);background:var(--yellow);width:44px;height:44px;box-shadow:3px 3px 0 var(--ink);flex-shrink:0;place-items:center;transition:transform .15s,box-shadow .15s;display:grid}.preview-button:hover,.modal-close:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.modal{background:0 0;border:0;width:min(880px,100% - 40px);max-height:calc(100svh - 40px);padding:0;overflow:visible}.modal::backdrop{background:#161616b3}.modal-panel{border:3px solid var(--ink);background:var(--paper);max-height:calc(100svh - 40px);box-shadow:7px 7px 0 var(--ink);animation:.18s ease-out project-enter;overflow:auto}.modal-header{border-bottom:var(--line);background:var(--yellow);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.modal-header h2{letter-spacing:-.035em;font-size:clamp(20px,3vw,28px);line-height:1.2}.modal-close{background:var(--paper);font-size:30px}.modal-content{padding:24px}.modal-content .image-frame{aspect-ratio:auto;height:min(58svh,540px)}.preview-caption{color:#464646;margin-top:18px;font-size:13px}.preview-unavailable{text-align:center;background:#eeeeea;border:2px dashed #aaa;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:220px;padding:24px;display:flex}.preview-unavailable>span{color:var(--blue);font-size:46px}.preview-unavailable p{font-size:14px}@media (width<=760px){.modal-header,.modal-content{padding:16px}.certificate-heading{gap:12px}}.hero-line{animation:.68s cubic-bezier(.16,1,.3,1) both text-enter;display:block}.hero-line:nth-child(2){animation-delay:90ms}.hero-line:nth-child(3){animation-delay:.18s}.hero-copy .hello{animation:.5s ease-out both project-enter}.hero-description{animation:.6s ease-out .24s both project-enter}.hero-actions{animation:.6s ease-out .32s both project-enter}.hero-actions:focus-within{animation:none}@keyframes text-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.reveal[data-stagger]{opacity:1;transition:none;transform:none}.reveal[data-stagger]>*{transition:opacity .55s,transform .65s cubic-bezier(.16,1,.3,1)}.reveal[data-stagger][data-visible=false]>*{opacity:0;transform:translateY(18px)}.reveal[data-stagger]>:nth-child(2),.projects-grid>.reveal:nth-child(2),.award-grid>.reveal:nth-child(2){transition-delay:80ms}.reveal[data-stagger]>:nth-child(n+3),.projects-grid>.reveal:nth-child(3),.award-grid>.reveal:nth-child(3){transition-delay:.16s}.reveal:focus-within,.reveal[data-stagger]:focus-within>*{opacity:1;transition:none;transform:none}@media (prefers-reduced-motion:reduce){.reveal[data-stagger]>*{opacity:1!important;transform:none!important}}.about .section-intro h2{clip-path:inset(-6px -12px -16px -6px);transition:clip-path .8s steps(24,end) .1s}.about .section-intro[data-visible=false] h2{clip-path:inset(-6px 100% -16px -6px)}.about .section-intro:focus-within h2{clip-path:none;transition:none}.timeline>.reveal[data-visible=false],.education-list>.reveal[data-visible=false]{transform:translate(-18px)}.timeline>.reveal:before{transition:transform .45s cubic-bezier(.16,1,.3,1) .18s;transform:scale(1)}.timeline>.reveal[data-visible=false]:before{transform:scale(0)}.skills-block[data-visible=true] .skill-list li{animation:.45s cubic-bezier(.16,1,.3,1) both badge-settle;animation-delay:calc(var(--skill-order) * 40ms)}@keyframes badge-settle{0%{opacity:0;transform:translateY(12px)rotate(-3deg)scale(.94)}to{opacity:1;transform:none}}.award.reveal[data-visible=false]{transform:translateY(18px)rotate(-2deg)scale(.96)}.award.reveal:nth-child(2n)[data-visible=false]{transform:translateY(18px)rotate(2deg)scale(.96)}.award.reveal[data-visible=true] .award-icon{animation:.65s cubic-bezier(.16,1,.3,1) both award-stamp}@keyframes award-stamp{0%{transform:rotate(-60deg)scale(.65)}to{transform:none}}.certifications[open]>ul{animation:.3s ease-out project-enter}.contact-content[data-visible=true] h2>span{animation:.7s cubic-bezier(.16,1,.3,1) .2s both award-stamp}@media (width<=760px){.about .section-intro h2{transition-duration:.65s}}@media (prefers-reduced-motion:reduce){.about .section-intro h2{clip-path:none!important}.timeline>.reveal:before{transform:none!important}}.reveal[data-visible=true] #work-title{animation:.65s cubic-bezier(.16,1,.3,1) both section-slide}.reveal[data-visible=true] #journey-title{animation:.65s cubic-bezier(.16,1,.3,1) both text-enter}.reveal[data-visible=true] #awards-title{transform-origin:0;animation:.65s cubic-bezier(.16,1,.3,1) both section-pin}.reveal[data-visible=true] #contact-title{transform-origin:0;animation:.7s cubic-bezier(.16,1,.3,1) both section-expand}@keyframes section-slide{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}@keyframes section-pin{0%{opacity:0;transform:rotate(-3deg)scale(.96)}to{opacity:1;transform:none}}@keyframes section-expand{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.reveal:focus-within h2{animation:none}.icon{flex-shrink:0}.menu-toggle .icon{margin-left:6px}.button>.icon,.preview-button .icon{font-size:18px}.about-facts .icon{margin-right:6px}.card-bar .icon{font-size:16px}
