*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-jetbrains),monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-bottom-1\.5{bottom:-.375rem}.bottom-10{bottom:2.5rem}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.top-0{top:0}.top-1\/2{top:50%}.-z-10{z-index:-10}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[999\]{z-index:999}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-10{margin-top:2.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-40{height:10rem}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-28{width:7rem}.w-40{width:10rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.text-balance{text-wrap:balance}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-brass\/40{border-color:rgba(217,161,91,.4)}.border-brass\/60{border-color:rgba(217,161,91,.6)}.border-offwhite\/10{border-color:hsla(42,22%,91%,.1)}.border-teal\/40{border-color:rgba(79,184,174,.4)}.bg-brass{--tw-bg-opacity:1;background-color:rgb(217 161 91/var(--tw-bg-opacity,1))}.bg-ink{--tw-bg-opacity:1;background-color:rgb(10 13 18/var(--tw-bg-opacity,1))}.bg-offwhite\/10{background-color:hsla(42,22%,91%,.1)}.bg-panel{--tw-bg-opacity:1;background-color:rgb(26 31 43/var(--tw-bg-opacity,1))}.bg-panel\/70{background-color:rgba(26,31,43,.7)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-brass{--tw-gradient-from:#d9a15b var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,161,91,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-teal{--tw-gradient-to:#4fb8ae var(--tw-gradient-to-position)}.p-7{padding:1.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.font-body{font-family:var(--font-inter),sans-serif}.font-display{font-family:var(--font-space-grotesk),sans-serif}.font-mono{font-family:var(--font-jetbrains),monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.leading-\[1\.05\]{line-height:1.05}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wide{letter-spacing:.025em}.text-brass{--tw-text-opacity:1;color:rgb(217 161 91/var(--tw-text-opacity,1))}.text-offwhite{--tw-text-opacity:1;color:rgb(237 234 227/var(--tw-text-opacity,1))}.text-offwhite\/35{color:hsla(42,22%,91%,.35)}.text-offwhite\/40{color:hsla(42,22%,91%,.4)}.text-offwhite\/50{color:hsla(42,22%,91%,.5)}.text-offwhite\/60{color:hsla(42,22%,91%,.6)}.text-offwhite\/65{color:hsla(42,22%,91%,.65)}.text-offwhite\/70{color:hsla(42,22%,91%,.7)}.text-offwhite\/75{color:hsla(42,22%,91%,.75)}.text-offwhite\/80{color:hsla(42,22%,91%,.8)}.text-teal{--tw-text-opacity:1;color:rgb(79 184 174/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.page-flip{position:absolute;top:0;bottom:0;width:50%;z-index:5;transform-style:preserve-3d;will-change:transform}.page-flip.forward{left:50%;transform-origin:left center}.page-flip.backward{left:0;transform-origin:right center}.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-face .sketch-page{width:100%;height:100%;border-radius:0}.flip-back,.page-flip.forward .flip-back{transform:rotateY(180deg)}.page-flip.backward .flip-back{transform:rotateY(-180deg)}.page-flip:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.22),transparent 32%,rgba(0,0,0,.28));opacity:.45;pointer-events:none;backface-visibility:hidden}.sketchbook>:not(.background-boxes):not(.background-boxes-mask){position:relative;z-index:30}.sketchbook{position:relative;isolation:isolate;background-color:#0f172a!important;background-image:none!important;color:var(--cream)}.sketchbook .badge{color:var(--ink)}.sketchbook-content{position:relative;z-index:30}.sketchbook .section-top,.sketchbook h2,.sketchbook-controls,.sketchbook-heading,.sketchbook-heading>p,.sketchbook-kicker{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.9)}.sketchbook h2 em{color:#60a5fa!important}.sketchbook-controls{font-weight:800}.background-boxes{position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-auto-rows:46px;overflow:hidden;pointer-events:auto}.background-boxes-mask{position:absolute;inset:0;z-index:20;pointer-events:none;background:rgba(15,23,42,.12)}.background-box{border:1px solid;cursor:crosshair}.background-box.accent{box-shadow:0 0 16px currentColor}.sketchbook .book-arrow{background:var(--cream);color:var(--ink)}.sketchbook-controls .page-dots button{border-color:var(--cream)}.sketchbook-controls .page-dots button.active{background:#60a5fa}.sketchbook .sketch-left{background:#101010;color:var(--cream)}.screen-frame{position:absolute;inset:0;overflow:hidden}.screen-frame img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:transparent}.sketch-left .margin-note{font-size:7px;letter-spacing:-.3px}.sketch-right h3{font-size:clamp(21px,3.3vw,44px);margin-top:21%}.sketch-right>p{font-size:10px;line-height:1.45}.page-dots{gap:6px}.page-dots button{width:10px;height:10px}.book-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:9% 10%;border:3px solid var(--cream);background:linear-gradient(135deg,#8f0714,#e32636 55%,#71000d);color:#fff;box-shadow:14px 15px 0 rgba(0,0,0,.45);transform-origin:left center}.book-cover:before{content:"";position:absolute;inset:18px;border:2px solid hsla(0,0%,100%,.55);pointer-events:none}.book-cover small,.book-cover span,.book-cover strong{position:relative;z-index:1}.book-cover span{font:900 clamp(35px,7vw,82px)/1 Arial;color:var(--acid)}.book-cover strong{font:900 clamp(24px,5vw,60px)/.88 Arial;letter-spacing:-2px}.book-cover small{font:700 11px monospace;letter-spacing:2px}.sketchbook-book.is-closed{max-width:50%;margin:auto}.book-arrow-placeholder{display:block;width:45px;height:55px}.sketchbook .sketch-left{border-radius:14px 0 0 14px}.page-flip.forward .flip-face .sketch-page,.sketchbook .sketch-right{border-radius:0 14px 14px 0}.page-flip.backward .flip-face .sketch-page{border-radius:14px 0 0 14px}.sketchbook .section-top span:last-child,.sketchbook .sketchbook-kicker{color:#fff!important}.sketchbook-controls .page-dots button{border-color:#fff!important;background:transparent}.sketchbook-controls .page-dots button.active{background:#fff!important}.sketchbook-controls>span:first-child{color:#fff!important}.sketchbook .sketch-page{box-shadow:inset 0 0 18px rgba(33,25,13,.12)}.sketchbook .sketch-page:before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.16;background:url(/sketchbook/crumpled-paper.png) 50%/cover;mix-blend-mode:multiply}.sketchbook .sketch-left:before{opacity:.07}.sketchbook .sketch-right:before{opacity:.18}.sketchbook .sketch-page{background-color:#fffefb;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 22px,rgba(112,153,190,.2) 23px,transparent 24px);border-color:#d9d9d9}.sketchbook .sketch-left{background-color:#fffefb}.notebook-rings{z-index:12;top:5%;bottom:5%;width:34px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.notebook-rings,.notebook-rings:before{position:absolute;left:50%;transform:translateX(-50%)}.notebook-rings:before{content:"";top:0;bottom:0;width:8px;background:linear-gradient(90deg,#6f5421,#f4d887 35%,#7a5b25 65%,#ead18a);box-shadow:0 0 3px rgba(0,0,0,.45)}.notebook-rings span{position:relative;z-index:1;display:block;width:34px;height:11px;border:3px solid #9b7b39;border-radius:9px;background:linear-gradient(#f8e6a9,#9d7a35);box-shadow:0 2px 2px rgba(0,0,0,.35)}.notebook-rings span:after{content:"";position:absolute;inset:2px 3px;border-radius:5px;background:#fffefb}.sketchbook .screen-frame{inset:8% 7% 8%;z-index:1}.sketchbook .screen-frame img{border-radius:5px}.sketchbook .section-top,.sketchbook h2,.sketchbook-controls,.sketchbook-heading,.sketchbook-heading>p,.sketchbook-kicker{color:#000!important;text-shadow:none}.sketchbook h2 em{color:#000!important}.sketchbook-controls .page-dots button{border-color:#000}.sketchbook-controls .page-dots button.active{background:#000}.sketchbook h2 em{color:#f5ff2f!important;-webkit-text-stroke:2px #000;text-shadow:4px 4px 0 #2563eb}.sketchbook h2{color:#000!important;-webkit-text-stroke:2px #fff;text-shadow:3px 3px 0 #000!important}.sketchbook .page-number,.sketchbook .page-stamp,.sketchbook .sketch-page,.sketchbook .sketch-page h3,.sketchbook .sketch-page p{color:#000!important;text-shadow:none}.sketchbook .page-stamp{border-color:#000;background:var(--acid)}:root{--cream:#f6f4ea;--ink:#101010;--green:#47ff68;--acid:#f5ff2f;--red:#ff4e56}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.paper{background-color:var(--cream);background-image:linear-gradient(#d6d4c9 1px,transparent 0),linear-gradient(90deg,#d6d4c9 1px,transparent 0);background-size:22px 22px}.dark{background:#111;color:var(--cream)}.site-header{position:absolute;inset:18px 5.5% auto;z-index:5;height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;font-size:10px}.badge,.brand,.site-header{border:2px solid var(--ink);background:var(--cream);font-family:monospace;font-weight:700}.badge,.brand{padding:3px 5px;font-size:9px}.site-header nav{display:flex;gap:21px}.site-header nav a:hover{text-decoration:underline;text-decoration-thickness:2px}.nav-cta{background:var(--acid);padding:3px 10px;border:1px solid var(--ink)}.hero{min-height:690px;position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:3px solid var(--ink)}.ticker{position:absolute;top:70px;left:0;width:100%;white-space:nowrap;border-block:2px solid var(--ink);background:#72a8eb;padding:5px 0;font:700 10px monospace;letter-spacing:.6px}.hero-copy{text-align:center;z-index:1}.kicker{margin:0 0 12px;font:700 10px monospace}.contact h2,.experience h2,.hero h1,.stack h2,.work h2{margin:0;font-weight:900;letter-spacing:-5px;line-height:.82;font-size:clamp(57px,10vw,138px)}.hero h1 span{color:transparent;-webkit-text-stroke:2px var(--ink)}.intro{font:700 11px monospace;margin:18px auto;max-width:350px;background:var(--acid);border:2px solid var(--ink);padding:7px 12px}.hero-actions,.inline-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.button{border:2px solid var(--ink);background:var(--cream);padding:10px 13px;display:inline-block;font:700 9px monospace;box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s}.button:hover{transform:translate(3px,3px);box-shadow:none}.button.solid{color:var(--cream);background:var(--ink)}.button.green{background:var(--green)}.shape{position:absolute;border:2px solid var(--ink)}.square{width:17px;height:17px;background:#5489f5;left:9%;top:49%}.circle{width:28px;height:28px;border-radius:50%;background:#ed7ca9;right:9%}.side-label{position:absolute;bottom:25px;font:700 9px monospace}.about,.experience{padding:58px 7% 78px}.section-top{display:flex;justify-content:space-between;align-items:center;font:700 9px monospace;margin-bottom:24px}.badge.light{border-color:var(--cream);color:var(--ink)}.about-card{max-width:820px;margin:auto;display:grid;grid-template-columns:165px 1fr;gap:30px;padding:25px}.brutal-card{background:var(--cream);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.avatar{height:225px;overflow:hidden;background:#111;border:2px solid var(--ink)}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 42%;object-position:center 42%;transition:transform .25s}.about-card:hover .avatar img{transform:scale(1.08)}.avatar i,.project-art i{position:absolute;right:8px;top:6px;font-style:normal}.about h2,.experience h2,.stack h2,.work h2{font-size:clamp(36px,6vw,75px);letter-spacing:-3px}.about h2{margin:0 0 12px}.about li,.about p,.project-card p,.role p{font:11px/1.5 monospace}.about ul{padding-left:15px;margin:12px 0}.inline-actions{justify-content:flex-start;margin-top:18px}.stack{padding:62px 7% 75px}.experience h2,.stack h2{color:var(--cream);margin-bottom:27px}.contact em,.experience em,.stack em{color:var(--green);font-style:normal}.skill-grid{display:grid;grid-template-columns:repeat(7,1fr);border:2px solid #555}.skill-grid div{min-height:57px;display:grid;place-items:center;border:1px solid #555;font:700 9px monospace}.skill-grid .active,.skill-grid div:hover{color:var(--ink);background:var(--acid)}.experience h2{color:var(--ink)}.experience h2 em{color:var(--red)}.timeline{max-width:900px;border-left:3px solid var(--ink);padding-left:25px;display:grid;gap:18px}.role{padding:17px 21px;position:relative;box-shadow:5px 5px 0 var(--ink)}.role:before{content:"";position:absolute;width:8px;height:8px;background:var(--acid);border:2px solid var(--ink);left:-32px;top:18px}.role:nth-child(2):before{background:#f48bad}.role h3{margin:12px 0 7px;font-size:13px}.date{float:right;background:var(--ink);color:var(--cream);font:8px monospace;padding:4px 6px}.work{padding:64px 7% 76px;background:var(--acid)}.work h2{margin-bottom:31px;color:transparent;-webkit-text-stroke:2px var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px;max-width:940px;margin:auto}.project-card{background:var(--cream);border:3px solid var(--ink);padding:9px;box-shadow:5px 5px 0 var(--ink)}.project-art{height:180px;display:grid;place-items:center;position:relative;overflow:hidden;border:2px solid var(--ink);color:#fff;font:900 80px Arial}.project-art:before{content:"";position:absolute;inset:20px;border:2px solid hsla(0,0%,100%,.8);transform:rotate(-12deg)}.project-art span{z-index:1}.heat{background:linear-gradient(135deg,#cc250d,#ffbb38)}.vows{background:linear-gradient(135deg,#153b6d,#8de6ff)}.phis{background:radial-gradient(circle at 50% 45%,#4cedf0,#06468c 62%,#031229)}.stock{background:linear-gradient(135deg,#182b3e,#4d6687)}.project-info{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.project-info h3{margin:0;font-size:15px}.project-info p{margin:3px 0}.project-info a{font-size:23px;background:var(--green);border:2px solid var(--ink);width:25px;height:25px;text-align:center;line-height:20px}.project-card>p{margin:12px 0}.tags{display:flex;gap:4px;flex-wrap:wrap}.tags span{font:8px monospace;background:var(--ink);color:var(--cream);padding:3px 5px}.work-button{display:table;margin:38px auto 0}.contact{padding:82px 7% 30px;min-height:650px}.contact-panel{position:relative;max-width:1120px;min-height:540px;margin:auto;padding:72px 48px;display:grid;grid-template-columns:330px 1fr;gap:72px;background:#fff;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--ink)}.contact-sticker{position:absolute;top:-22px;left:30px;transform:rotate(-3deg);background:var(--acid);border:2px solid var(--ink);padding:9px 17px;font:700 13px monospace}.contact-copy h2{margin:0 0 24px;font-size:48px;line-height:1.02;letter-spacing:-2px}.contact-copy p{max-width:290px;margin:0 0 28px;font:16px/1.5 monospace}.contact-email,.location{display:table;border:2px solid var(--ink);padding:12px 15px;font:700 14px monospace}.contact-email{margin-bottom:14px;color:var(--cream);background:var(--ink)}.location{background:#fff}.contact-form{display:grid;gap:9px;align-content:start}.contact-form label{margin-top:2px;font:12px monospace;color:#596077}.contact-form input,.contact-form textarea{width:100%;border:2px solid var(--ink);border-radius:0;padding:14px 15px;color:var(--ink);background:#fff;outline:none;font:16px monospace}.contact-form textarea{height:130px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{box-shadow:4px 4px 0 var(--acid)}.contact-form button{margin-top:19px;border:2px solid var(--ink);border-radius:0;padding:16px;background:#4169ee;color:#fff;box-shadow:5px 5px 0 var(--ink);cursor:pointer;font:700 14px monospace;transition:transform .15s,box-shadow .15s}.contact-form button:hover{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink)}.footer-note{text-align:center;font:9px monospace;margin-top:62px;color:#666}@media (max-width:700px){.site-header{inset:10px 12px auto}.site-header nav{display:none}.hero{min-height:600px}.hero h1{letter-spacing:-3px}.about-card{grid-template-columns:1fr;gap:18px}.avatar{height:120px}.skill-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:1fr}.project-art{height:160px}.section-top{gap:12px}.about,.experience,.stack,.work{padding-inline:5%}.contact{padding:66px 5% 25px}.contact-panel{grid-template-columns:1fr;gap:38px;padding:58px 23px 30px;box-shadow:7px 7px 0 var(--ink)}.contact-copy h2{font-size:43px}.contact-copy p{font-size:14px}.contact-email,.location{font-size:12px}.contact-form input,.contact-form textarea{font-size:14px}}.note{background:linear-gradient(135deg,#29224d,#be91ff)}.care{background:linear-gradient(135deg,#245f42,#9ae39e)}.portfolio{background:linear-gradient(135deg,#242424,#717171)}.site-header{inset:22px 5.5% auto;height:54px;border-width:3px;padding:0 10px;font-size:12px}.badge,.brand{padding:5px 7px;font-size:10px}.site-header nav{gap:30px}.site-header nav a:hover{text-decoration-thickness:3px}.nav-cta{padding:7px 14px;border-width:2px}.hero{min-height:790px}.ticker{top:88px;padding:6px 0}.hero-copy{z-index:2}.hero-actions{gap:22px}.shape{z-index:1;border-width:3px;animation:float 3.6s ease-in-out infinite;transition:transform .2s}.hero-sticker:hover,.shape:hover{animation-play-state:paused;transform:scale(1.13) rotate(6deg)}.square{width:66px;height:66px;left:7%;top:47%}.circle{width:88px;height:88px;right:7%;top:59%;animation-delay:-1.7s}.hero-sticker{position:absolute;z-index:1;-o-object-fit:contain;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(4px 5px 0 rgba(16,16,16,.18));animation:float 4s ease-in-out infinite;transition:transform .2s,filter .2s}.programmer-sticker{width:220px;left:6%;bottom:45px;transform:rotate(-8deg)}.designer-sticker{width:205px;right:5%;top:145px;transform:rotate(7deg);animation-delay:-1.2s}.coffee-sticker{width:180px;right:13%;bottom:45px;transform:rotate(-5deg);animation-delay:-2.4s}@keyframes float{0%,to{translate:0 0}50%{translate:0 -14px}}.ticker{overflow:hidden;padding:7px 0}.ticker-track{display:flex;width:-moz-max-content;width:max-content;animation:ticker-run 24s linear infinite}.ticker-track span{display:block;flex:none;padding-right:76px;font:700 11px monospace;letter-spacing:1.2px}.ticker-track b{display:inline-block;margin:0 18px;color:#fff;font-size:13px}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker-run{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.section-ticker{width:100vw;overflow:hidden;margin:-58px 0 52px;position:relative;left:50%;transform:translateX(-50%);border-block:2px solid var(--ink);background:#72a8eb;padding:7px 0;white-space:nowrap}.section-ticker .ticker-track{display:flex;width:-moz-max-content;width:max-content;animation:ticker-run 24s linear infinite}.section-ticker span{display:block;flex:none;padding-right:76px;font:700 11px monospace;letter-spacing:1.2px}.section-ticker b{display:inline-block;margin:0 18px;color:#fff;font-size:13px}.section-ticker:hover .ticker-track{animation-play-state:paused}.hero-actions .button{padding:19px 31px;font-size:13px;box-shadow:6px 6px 0 var(--ink)}.hero-actions .button:hover{transform:translate(6px,6px)}.skill-grid div{font-size:10px;transition:transform .18s,background .18s,color .18s}.skill-grid div:hover{color:var(--ink);transform:translateY(-7px) rotate(-2deg);outline:2px solid var(--ink)}.skill-grid div:first-child:hover{background:#61dafb}.skill-grid div:nth-child(2):hover{background:#fff}.skill-grid div:nth-child(3):hover{background:#3178c6;color:#fff}.skill-grid div:nth-child(4):hover{background:#87c66c}.skill-grid div:nth-child(5):hover{background:#38bdf8}.skill-grid div:nth-child(6):hover{background:#f59e0b}.skill-grid div:nth-child(7):hover{background:#f16529}.skill-grid div:nth-child(8):hover{background:#f05033}.skill-grid div:nth-child(9):hover{background:#e535ab}.skill-grid div:nth-child(10):hover{background:#a371f7}.skill-grid div:nth-child(11):hover{background:#ef4a4a}.skill-grid div:nth-child(12):hover{background:#8a5bdb;color:#fff}.skill-grid div:nth-child(13):hover{background:#fb503b}.skill-grid div:nth-child(14):hover{background:#5fd1e8}.timeline{gap:21px}.role{padding:23px 26px;transition:transform .18s,box-shadow .18s,background .18s}.role:hover{transform:translate(-5px,-5px) rotate(-.5deg);box-shadow:11px 11px 0 var(--ink);background:var(--acid)}.role h3{margin:14px 0 9px;font-size:18px}.role p{font-size:13px}.date{font-size:9px;padding:5px 7px}.project-card{transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translate(-6px,-6px) rotate(-1deg);box-shadow:12px 12px 0 var(--ink)}.project-art{transition:filter .2s,transform .2s}.project-card:hover .project-art{filter:saturate(1.35);transform:scale(.98)}.project-info h3{font-size:20px;font-weight:900}.project-art img{position:relative;z-index:1;width:78%;height:78%;-o-object-fit:contain;object-fit:contain;mix-blend-mode:screen}.certificates{padding:64px 7% 76px;background:#080808;font-family:Arial,Helvetica,sans-serif}.certificates h2{margin:0 0 31px;font-size:clamp(36px,6vw,75px);font-weight:900;letter-spacing:-3px;color:var(--cream)}.certificates h2 em{color:var(--green);font-style:normal}.certificate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1280px;margin:auto}.certificate-card{overflow:hidden;border:1px solid #383838;border-radius:17px;background:#111;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s,border-color .2s}.certificate-card:hover{transform:translateY(-5px);border-color:var(--green)}.certificate-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid #303030}.certificate-bar span{width:9px;height:9px;border-radius:50%;background:#f1635e}.certificate-bar span:nth-child(2){background:#e8b94d}.certificate-bar span:nth-child(3){background:#62c582}.certificate-content{min-height:104px;padding:17px 16px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.certificate-content h3{margin:0 0 8px;color:var(--cream);font:700 14px/1.15 Arial,Helvetica,sans-serif}.certificate-content p{margin:0;color:#c8a668;font:9px monospace;letter-spacing:.2px;line-height:1.35}.certificate-content time{color:#eeb03f;font:10px monospace;white-space:nowrap}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 7%;background:var(--ink);color:var(--cream);border-top:3px solid var(--cream);font:10px monospace}.site-footer .brand{background:var(--cream);color:var(--ink)}.site-footer p{margin:0}.site-footer div{display:flex;gap:16px}.site-footer div a:hover{color:var(--green)}@media (max-width:700px){.site-header{height:47px}.hero{min-height:720px}.hero-actions{gap:15px}.hero-sticker{opacity:.83}.programmer-sticker{width:128px;left:1%;bottom:52px}.designer-sticker{width:120px;right:0;top:128px}.coffee-sticker{width:105px;right:5%;bottom:102px}.square{width:42px;height:42px;left:6%;top:43%}.circle{width:58px;height:58px;right:6%;top:62%}.site-footer{align-items:flex-start;flex-direction:column}.site-footer div{gap:13px}}@media (max-width:480px){html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.site-header{inset:10px 10px auto;height:44px;padding:0 6px;font-size:10px}.brand,.nav-cta{font-size:9px}.nav-cta{padding:6px 8px}.hero{min-height:675px;padding:112px 18px 88px;place-items:start center}.ticker{top:64px}.hero-copy{width:100%;align-self:center}.hero h1{font-size:clamp(48px,15vw,64px);letter-spacing:-3px}.intro{max-width:100%;font-size:10px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,280px);margin:auto}.hero-actions .button{width:100%;padding:14px 12px;font-size:11px;text-align:center;box-shadow:4px 4px 0 var(--ink)}.coffee-sticker,.designer-sticker{display:none}.programmer-sticker{width:112px;left:7px;bottom:26px}.square{width:31px;height:31px;top:43%}.circle{width:44px;height:44px;top:68%}.side-label{bottom:18px;font-size:8px}.about,.experience,.stack,.work{padding:48px 18px 58px}.section-ticker{margin:-48px 0 40px;padding:6px 0}.section-ticker span{font-size:10px}.section-top{align-items:flex-start;margin-bottom:18px}.section-top span:last-child{max-width:132px;text-align:right;line-height:1.35}.about-card{padding:17px;gap:15px;box-shadow:5px 5px 0 var(--ink)}.avatar{height:112px}.about h2,.experience h2,.stack h2,.work h2{font-size:clamp(34px,11vw,48px);letter-spacing:-2px}.inline-actions .button{flex:1;text-align:center;padding-inline:8px}.skill-grid{grid-template-columns:repeat(2,1fr)}.skill-grid div{min-height:52px;font-size:10px}.timeline{padding-left:18px;gap:16px}.role{padding:18px 16px}.role:before{left:-25px}.role h3{font-size:16px;line-height:1.1}.role p{font-size:11px}.date{float:none;display:table;margin-bottom:10px;font-size:8px}.project-grid{gap:20px}.project-card{padding:8px;box-shadow:4px 4px 0 var(--ink)}.project-art{height:135px}.project-info{align-items:flex-start;gap:10px}.project-info h3{font-size:17px;line-height:1.05}.project-info p{font-size:9px;line-height:1.35}.project-info a{flex:0 0 25px}.project-card>p{font-size:10px;line-height:1.55}.tags span{font-size:7px}.certificates{padding:48px 18px 58px}.certificates h2{font-size:clamp(34px,11vw,48px);letter-spacing:-2px;margin-bottom:22px}.certificate-grid{grid-template-columns:1fr;gap:14px}.certificate-card{border-radius:18px}.certificate-content{min-height:112px;padding:20px 18px;gap:12px}.certificate-content h3{font-size:15px;line-height:1.15}.certificate-content p{font-size:9px;line-height:1.4}.certificate-content time{font-size:10px}.contact{min-height:0;padding:58px 18px 24px}.contact-panel{min-height:0;padding:52px 17px 25px;gap:30px;box-shadow:6px 6px 0 var(--ink)}.contact-sticker{left:14px;padding:7px 10px;font-size:10px}.contact-copy h2{font-size:39px}.contact-copy p{font-size:12px}.contact-email,.location{max-width:100%;font-size:10px;padding:10px;overflow-wrap:anywhere}.contact-form input,.contact-form textarea{padding:12px;font-size:13px}.contact-form button{padding:14px;font-size:12px}.footer-note{margin-top:40px}.site-footer{padding:24px 18px}.site-footer p{font-size:9px;line-height:1.45}.site-footer div{flex-wrap:wrap;font-size:9px}}.sketchbook{padding:64px 7% 76px;overflow:hidden}.sketchbook-heading{max-width:1040px;margin:0 auto 35px;display:flex;justify-content:space-between;align-items:end;gap:25px}.sketchbook-kicker{margin:0 0 8px;font:700 10px monospace;letter-spacing:1px}.sketchbook h2{margin:0;font-size:clamp(43px,7vw,84px);font-weight:900;line-height:.85;letter-spacing:-4px}.sketchbook h2 em{font-style:normal;color:#4169ee}.sketchbook-heading>p{max-width:255px;margin:0;font:12px/1.5 monospace}.sketchbook-stage{max-width:1040px;margin:auto;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:15px;perspective:1800px}.book-arrow{width:45px;height:55px;border:2px solid var(--ink);background:var(--cream);box-shadow:3px 3px 0 var(--ink);font:900 36px/35px Georgia,serif;cursor:pointer;transition:transform .15s,box-shadow .15s}.book-arrow:hover{transform:translate(3px,3px);box-shadow:none}.sketchbook-book{position:relative;aspect-ratio:16/8.7;filter:drop-shadow(12px 17px 9px rgba(16,16,16,.22));perspective:1800px}.book-spread{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;transform-style:preserve-3d;transform-origin:center}.sketch-page{position:relative;overflow:hidden;background:#fffdf4;border:2px solid var(--ink);padding:28px;min-height:0}.sketch-left{border-radius:7px 0 0 7px;border-right-width:1px;background-color:#f8f1df;background-image:linear-gradient(#d8d0bb 1px,transparent 0),linear-gradient(90deg,#d8d0bb 1px,transparent 0);background-size:20px 20px}.sketch-right{border-radius:0 7px 7px 0;border-left-width:1px;background:linear-gradient(90deg,#efe8d5,#fffdf4 9%)}.sketch-left:after{content:"";position:absolute;right:-3px;top:0;height:100%;width:9px;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent);z-index:2}.page-number{position:absolute;top:17px;font:700 11px monospace}.sketch-left .page-number{left:19px}.sketch-right .page-number{right:19px;color:#777}.page-mark{position:absolute;inset:20% 22%;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;font:900 clamp(70px,12vw,155px)/1 Arial;color:var(--cream);background:#111;transform:rotate(-8deg)}.page-mark:after{content:"";position:absolute;width:130%;height:22%;border:3px solid;border-radius:50%;transform:rotate(-25deg)}.sketch-left.blue .page-mark{background:#4169ee}.sketch-left.yellow .page-mark{background:#f0cf28;color:#111}.sketch-left.pink .page-mark{background:#e94791}.scribble{position:absolute;border:3px solid var(--ink);z-index:1}.scribble-one{width:40%;height:24%;left:8%;bottom:13%;border-radius:50%;transform:rotate(-24deg)}.scribble-two{width:22%;height:16%;right:8%;top:17%;background:var(--green);transform:rotate(17deg)}.margin-note{position:absolute;bottom:13px;left:20px;margin:0;font:8px monospace;z-index:3}.sketch-right h3{margin:25% 0 14px;font:900 clamp(24px,4vw,52px)/.86 Arial;letter-spacing:-2px}.sketch-right h3 span{display:block}.sketch-right>p{max-width:255px;margin:0;font:11px/1.5 monospace}.pencil-line{width:64%;border-top:3px solid var(--ink);margin:17px 0 12px;transform:rotate(-2deg)}.page-stamp{position:absolute;right:25px;bottom:23px;border:2px solid var(--ink);padding:5px 7px;font:700 8px monospace;transform:rotate(-5deg);background:var(--acid)}.sketchbook-controls{max-width:745px;margin:24px auto 0;display:flex;align-items:center;justify-content:space-between;font:700 9px monospace;letter-spacing:.7px}.page-dots{display:flex;gap:8px}.page-dots button{width:11px;height:11px;border:2px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;padding:0}.page-dots button.active{background:#4169ee}@media (max-width:700px){.sketchbook{padding:48px 5% 58px}.sketchbook-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}.book-arrow{width:34px;height:46px}.sketch-page{padding:16px}.page-mark{inset:24% 19%}.margin-note{left:11px;bottom:8px;font-size:6px}.page-number{top:10px}.sketch-left .page-number{left:11px}.sketch-right .page-number{right:11px}.sketch-right h3{margin-top:27%;letter-spacing:-1px}.page-stamp{right:11px;bottom:10px;font-size:6px}.sketchbook-controls{padding:0 45px}.sketchbook-heading{align-items:start;flex-direction:column}.sketchbook-heading>p{max-width:340px}}.hover\:bg-brass:hover{--tw-bg-opacity:1;background-color:rgb(217 161 91/var(--tw-bg-opacity,1))}.hover\:text-brass:hover{--tw-text-opacity:1;color:rgb(217 161 91/var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(10 13 18/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:text-8xl{font-size:6rem;line-height:1}}