@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/93183b47530b2cc4-s.07pab5tjqgrgt.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8c0d9f2c4c4d982a-s.24-aljatl3op_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c5bca4b73401f535-s.p.0i0-2mskdia64.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gloock Fallback;src:local(Times New Roman);ascent-override:84.82%;descent-override:19.57%;line-gap-override:0.0%;size-adjust:114.95%}._6sfVEG_className{font-family:Gloock,Gloock Fallback;font-style:normal;font-weight:400}._6sfVEG_variable{--font-display:"Gloock", "Gloock Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.Tt_21G_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.Tt_21G_variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.Y2qwsG_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.Y2qwsG_variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#f4f4f1;--ink:#121212;--grey:#6a6a66;--rule:#d6d6d0;--cyan:#00a0e3;--cyan-0:#00a0e300;--magenta:#e4007c;--display:var(--font-display), Georgia, serif;--sans:var(--font-sans), Helvetica, Arial, sans-serif;--mono:var(--font-mono), "Courier New", monospace;--gutter:clamp(16px, 4vw, 48px);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);background-image:linear-gradient(90deg,#00a0e30f 1px,#0000 1px),linear-gradient(#00a0e30f 1px,#0000 1px);background-size:32px 32px;margin:0;font-size:17px;line-height:1.55}a{color:inherit}a:hover{color:var(--magenta)}a:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}img{max-width:100%;display:block}.mono{font-family:var(--mono);letter-spacing:.02em;font-size:13px}.small{font-size:13px}::selection{background:var(--magenta);color:#fff}.topbar{z-index:10;padding:12px var(--gutter);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);background:#f4f4f1eb;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.monogram{width:36px;height:36px}.monogram .guide{fill:none;stroke:var(--cyan);stroke-width:.8px}.monogram text{font-family:var(--display);fill:var(--ink);font-size:17px}.topbar nav{font-family:var(--mono);gap:20px;font-size:13px;display:flex}.topbar nav a{text-decoration:none}.topbar .resume{color:var(--magenta)}@media (max-width:720px){.brand span{display:none}.topbar nav{gap:14px}.topbar nav a:not(.resume):nth-child(2){display:none}}.hero{max-width:var(--max);padding:48px var(--gutter) 64px;margin:0 auto;position:relative}.sheet-label{font-family:var(--mono);color:var(--grey);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 32px;padding-top:10px;font-size:12px;display:flex}.regmark{fill:none;width:18px;height:18px;stroke:var(--ink);stroke-width:1px}.corner{position:absolute;top:18px}.corner.tl{left:calc(var(--gutter) - 26px)}.corner.tr{right:calc(var(--gutter) - 26px)}@media (max-width:720px){.corner{display:none}}.name-wrap{position:relative}.name{z-index:1;font-family:var(--display);letter-spacing:-.02em;background-image:linear-gradient(to bottom, var(--cyan-0) .12em, var(--cyan) .12em, var(--cyan) calc(.12em + 1px), var(--cyan-0) calc(.12em + 1px), var(--cyan-0) .88em, var(--cyan) .88em, var(--cyan) calc(.88em + 1px), var(--cyan-0) calc(.88em + 1px));background-repeat:repeat-y;background-size:0% 1em;margin:0;font-size:clamp(64px,15vw,200px);font-weight:400;line-height:1;animation:1.1s ease-out .15s forwards draw-guides;position:relative}@keyframes draw-guides{to{background-size:100% 1em}}.note{z-index:2;font-family:var(--mono);color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;opacity:0;font-size:11px;animation:.4s ease-out 1.1s forwards fade-in;position:absolute;right:0}.note-cap{top:calc(clamp(64px,15vw,200px)/8.33333 - 16px)}.note-base{top:calc(clamp(64px,15vw,200px)/1.13636 + 4px)}.construction{z-index:0;fill:none;width:clamp(150px,26vw,340px);height:auto;stroke:var(--cyan);stroke-width:.6px;position:absolute;top:-4%;right:9%}.construction circle,.construction path{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.4s ease-in-out .5s forwards draw-line}.construction circle:nth-child(2){stroke:var(--magenta);animation-delay:.8s}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}.hero-text{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px 48px;margin-top:40px;padding-top:24px;display:grid}.role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:14px}.intro{max-width:30ch;margin:0;font-size:clamp(20px,2.2vw,26px);line-height:1.4}.contact-row{font-family:var(--mono);flex-wrap:wrap;grid-column:2;gap:8px 24px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.contact-row a{-webkit-text-decoration-color:var(--magenta);text-decoration-color:var(--magenta);text-underline-offset:4px}.status{font-family:var(--mono);color:var(--grey);grid-column:2;margin:0;font-size:13px}.dot{background:var(--magenta);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}@media (max-width:720px){.hero-text{grid-template-columns:1fr}.contact-row,.status{grid-column:1}.note{display:none}}.section{max-width:var(--max);padding:72px var(--gutter);margin:0 auto}.section-title{border-top:1px solid var(--ink);font-family:var(--display);align-items:baseline;gap:16px;margin:0 0 12px;padding-top:12px;font-size:clamp(44px,7vw,88px);font-weight:400;line-height:1;display:flex}.section-title .mono{color:var(--magenta);font-size:13px}.section-lead{max-width:56ch;color:var(--grey);margin:0 0 48px;font-size:18px}.sheet{border-top:1px solid var(--rule);padding:28px 0 56px}.sheet-head{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.sheet-no{font-family:var(--display);color:var(--magenta);font-size:40px;line-height:1}.sheet-body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.sheet.flip .shot{order:2}@media (max-width:860px){.sheet-body{grid-template-columns:1fr;gap:28px}.sheet.flip .shot{order:0}}.shot{margin:0}.shot figcaption{color:var(--cyan);margin-bottom:10px}.crop{border:1px solid var(--rule);background:#fff;padding:14px;display:block;position:relative}.crop:before,.crop:after{content:"";pointer-events:none;width:22px;height:22px;position:absolute}.crop:before{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);top:-12px;left:-12px}.crop:after{border-left:1px solid var(--ink);border-top:1px solid var(--ink);bottom:-12px;right:-12px}.crop img{object-fit:cover;object-position:top;width:100%;max-height:560px}.crop:hover{border-color:var(--magenta)}.specs h3{font-family:var(--display);margin:0 0 12px;font-size:clamp(30px,3.4vw,42px);font-weight:400;line-height:1.05}.one-line{margin:0 0 24px;font-size:19px}.specs dl{border-top:1px solid var(--rule);grid-template-columns:96px 1fr;gap:12px 16px;margin:0;padding-top:16px;display:grid}.specs dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey);padding-top:3px;font-size:12px}.specs dd{margin:0;font-size:15px}.specs dd ul{margin:0;padding-left:18px}.specs dd li+li{margin-top:6px}.links{flex-wrap:wrap;gap:12px;margin:28px 0 0;display:flex}.links a{font-family:var(--mono);border:1px solid var(--ink);padding:10px 16px;font-size:14px;text-decoration:none}.links a:first-child{background:var(--ink);color:var(--paper)}.links a:hover{background:var(--magenta);border-color:var(--magenta);color:#fff}.wip{border:1px dashed var(--grey);max-width:640px;padding:20px 24px}.wip .mono{color:var(--magenta);text-transform:uppercase}.wip h3{font-family:var(--display);margin:6px 0;font-size:28px;font-weight:400}.wip p{color:var(--grey);margin:0}.stats{flex-wrap:wrap;gap:0;margin:0 0 40px;padding:0;list-style:none;display:flex}.stats li{border-right:1px solid var(--rule);margin-right:32px;padding:0 32px 0 0}.stats li:last-child{border-right:0}.stats strong{font-family:var(--display);font-size:56px;font-weight:400;line-height:1;display:block}.stats .mono{color:var(--grey);text-transform:uppercase}@media (max-width:720px){.stats{grid-template-columns:repeat(3,1fr);display:grid}.stats li{margin-right:8px;padding:0 8px 0 0}.stats strong{font-size:38px}.stats .mono{font-size:11px}}.logo-grid{border-top:1px solid var(--cyan);border-left:1px solid var(--cyan);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.logo-grid li{aspect-ratio:1;border-right:1px solid var(--cyan);border-bottom:1px solid var(--cyan);background:#fff9;place-items:center;padding:36px;display:grid;position:relative}.logo-grid img{object-fit:contain;max-width:80%;max-height:70%}.logo-grid .mono{color:var(--grey);font-size:11px;position:absolute;bottom:8px;left:10px}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;display:grid}@media (max-width:860px){.about-grid{grid-template-columns:1fr}}.about-text p{max-width:46ch;margin:0 0 20px;font-size:19px}.skills{margin:32px 0 0}.skills div{border-top:1px solid var(--rule);grid-template-columns:80px 1fr;gap:16px;padding:10px 0;display:grid}.skills dt{color:var(--magenta);text-transform:uppercase}.skills dd{margin:0;font-size:15px}.ruler{border-left:1px solid var(--ink);background-image:repeating-linear-gradient(to bottom, var(--ink) 0 1px, transparent 1px 8px);background-repeat:no-repeat;background-size:8px 100%;margin:0;padding:0 0 0 28px;list-style:none;position:relative}.ruler li{padding:0 0 28px;position:relative}.ruler li:before{content:"";background:var(--magenta);width:20px;height:1px;position:absolute;top:14px;left:-28px}.ruler .year{font-family:var(--display);font-size:32px;line-height:1;display:block}.ruler .step{color:var(--grey);max-width:42ch;margin-top:6px;font-size:15px;display:block}.big-mail{font-family:var(--display);word-break:break-all;border-bottom:3px solid var(--magenta);margin-bottom:20px;font-size:clamp(30px,6.4vw,80px);line-height:1.1;text-decoration:none;display:inline-block}.footer{border-top:1px solid var(--rule);color:var(--grey);align-items:center;gap:12px;margin-top:96px;padding-top:16px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-delay:0s!important}html{scroll-behavior:auto}}
