*,:before,:after{--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: rgb(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: rgb(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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:JetBrains Mono,monospace;letter-spacing:-.025em}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}body{font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .3s ease,color .3s ease;background:#0a0a0a;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.08) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(37,99,235,.05) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(30,58,138,.03) 0%,transparent 60%);pointer-events:none;z-index:-1}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-\[-10\%\]{bottom:-10%}.left-0{left:0}.left-\[-10\%\]{left:-10%}.right-\[-10\%\]{right:-10%}.top-0{top:0}.top-\[-10\%\]{top:-10%}.z-\[-1\]{z-index:-1}.z-\[100\]{z-index:100}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-24{height:6rem}.h-5{height:1.25rem}.h-full{height:100%}.w-24{width:6rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-\[0\.2em\]{width:.2em}.w-\[40\%\]{width:40%}.w-\[50\%\]{width:50%}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.grow{flex-grow:1}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-\[0\.2em\]{gap:.2em}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-background-light{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-background-light{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:#2563eb1a}.bg-primary\/20{background-color:#2563eb33}.bg-purple-500\/10{background-color:#a855f71a}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-primary{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tighter{letter-spacing:-.05em}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-text-light{--tw-text-opacity: 1;color:rgb(10 10 10 / var(--tw-text-opacity, 1))}.text-text-light\/50{color:#0a0a0a80}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(37\,99\,235\,0\.5\)\]{--tw-shadow: 0 0 10px rgba(37,99,235,.5);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur-3xl{--tw-blur: blur(64px);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)}.blur-\[100px\]{--tw-blur: blur(100px);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)}.blur-\[120px\]{--tw-blur: blur(120px);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)}.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-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.animate-spin-slow{animation:spin-slow 8s linear infinite}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}::-moz-selection{background-color:#2563eb4d;--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}::selection{background-color:#2563eb4d;--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#2563eb}:root{color-scheme:dark;--studio-bg: #090B0C;--studio-paper: #F4F5F4;--studio-muted: #92999B;--studio-accent: #D7FC70;--studio-surface: #171A1C;--studio-blue: #79AFFF;--studio-line: #363a33}body{background:var(--studio-bg);color:var(--studio-paper);font-family:system-ui,sans-serif}body:before{content:none}h1,h2,h3,h4{font-family:inherit}main section[id]{scroll-margin-top:5.25rem}.section-container{padding-block:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:110;transform:translateY(-160%);padding:.75rem;background:var(--studio-accent);color:#151811}.skip-link:focus{transform:none}.studio-wrap{width:min(1120px,100% - 3rem);margin-inline:auto}.studio-nav{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--studio-line);background:var(--studio-bg)}.studio-nav nav,.studio-links,.studio-mark,.studio-actions{display:flex;align-items:center}.studio-nav nav{min-height:64px;justify-content:space-between;gap:1rem}.studio-links,.studio-actions{gap:clamp(.8rem,3vw,2rem)}.studio-mark{gap:.75rem;white-space:nowrap}.studio-mark span{display:grid;place-items:center;width:33px;height:33px;background:var(--studio-accent);color:#090b0c;font:700 .78rem ui-monospace,monospace}.studio-links a,.studio-textlink{color:var(--studio-muted);font-weight:600;font-size:.88rem}.studio-links a:hover,.studio-textlink:hover{color:var(--studio-accent)}.studio-hero{min-height:min(650px,80svh);display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:2rem;padding-block:3.75rem}.studio-kicker{color:var(--studio-accent);font:600 .74rem/1.5 ui-monospace,monospace;letter-spacing:.1em}.studio-kicker>span{display:inline-block;width:.5rem;height:.5rem;margin-right:.35rem;background:var(--studio-accent);border-radius:50%}.studio-hero h1{margin:1rem 0;font-size:clamp(5.2rem,13vw,10rem);line-height:.8;letter-spacing:-.095em;font-weight:780}.studio-hero h1 em{font-style:normal}.studio-hero h1 span{color:var(--studio-accent)}.studio-lede{color:var(--studio-muted);max-width:33ch;margin-block:1.65rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.studio-primary{display:inline-flex;gap:1.25rem;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1rem;color:#171b12;background:var(--studio-accent);font-weight:750;border-radius:3px}.studio-primary:hover{background:#e6ffa4}.studio-primary:disabled{opacity:.65;cursor:wait}.studio-portrait{justify-self:center;width:min(100%,350px);margin:0}.studio-portrait img{width:100%;height:auto;display:block;border-radius:4px 4px 0 0}.studio-portrait figcaption{display:flex;justify-content:space-between;gap:.5rem;color:var(--studio-muted);border:1px solid var(--studio-line);padding:.85rem;font:.67rem ui-monospace,monospace}.studio-section{border-top:1px solid var(--studio-line);padding-block:clamp(2.75rem,7vw,5.5rem)}.studio-section-head{margin-bottom:2rem}.studio-section-head h2{margin-block:.45rem;font-size:clamp(2.7rem,6vw,5.1rem);letter-spacing:-.075em;font-weight:760;line-height:1.02}.studio-section-head>p:last-child,.studio-project-body>p:not(.studio-kicker),.studio-details p{color:var(--studio-muted)}.studio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.studio-project{min-width:0;border:1px solid var(--studio-line);background:var(--studio-surface);border-radius:5px;overflow:clip}.studio-project:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr}.studio-project-art{background:#222821;padding:clamp(.8rem,3vw,2rem);display:grid;align-content:center}.studio-project:nth-child(2) .studio-project-art{background:#303923}.studio-project:nth-child(3) .studio-project-art{background:#272830}.studio-window{display:flex;align-items:center;gap:.35rem;padding:.65rem;background:#131512;border-radius:5px 5px 0 0;color:var(--studio-muted);font:.68rem ui-monospace,monospace}.studio-window i{width:.36rem;height:.36rem;background:#74796c;border-radius:50%}.studio-window span{margin-inline-start:.25rem}.studio-project-art img{display:block;width:100%;aspect-ratio:16/9;-o-object-fit:contain;object-fit:contain;background:#111311}.studio-project-body{display:grid;align-content:center;gap:.7rem;padding:clamp(1.15rem,4vw,2.4rem)}.studio-project h3{font-size:clamp(1.65rem,3vw,2.55rem);font-weight:750;letter-spacing:-.045em;line-height:1.08}.studio-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-block:.3rem}.studio-tags li{font:.69rem ui-monospace,monospace;color:var(--studio-muted);border:1px solid var(--studio-line);padding:.32rem .45rem}.studio-project-links{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;font-weight:650;color:var(--studio-accent)}.studio-project-links a:hover{text-decoration:underline}.studio-details{border-top:1px solid var(--studio-line);margin-top:.45rem}.studio-details summary{cursor:pointer;padding-block:.65rem;font-size:.875rem;font-weight:650}.studio-details p+p{margin-top:.6rem}.studio-archive{margin-top:1rem}.studio-archive summary span{color:var(--studio-muted);margin-left:.35rem}.studio-archive>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.studio-archive>ul>li{border:1px solid var(--studio-line);padding:1rem}.studio-archive h3{font-weight:700}.studio-archive .studio-project-links{margin-top:.5rem}.studio-skills-panel{border:1px solid var(--studio-line);padding:clamp(1rem,4vw,2.25rem);background:var(--studio-surface);border-radius:5px}@media (max-width: 680px){.studio-wrap{width:calc(100% - 2rem)}.studio-desktop,.studio-mark strong{display:none}.studio-hero{grid-template-columns:1fr;min-height:0;padding-block:2.75rem;gap:1.75rem}.studio-hero h1{font-size:clamp(4.75rem,15.5vw,7rem)}.studio-portrait{justify-self:start}.studio-project-grid,.studio-project:first-child,.studio-archive>ul{grid-template-columns:1fr}}.studio-rows{border-top:1px solid var(--studio-line)}.studio-rows>li{display:grid;grid-template-columns:minmax(8rem,.65fr) 1fr 2fr;gap:1rem;padding-block:1.25rem;border-bottom:1px solid var(--studio-line)}.studio-rows h3,.studio-track strong{color:var(--studio-paper);font-size:1.1rem;font-weight:750}.studio-rows p:not(.studio-kicker),.studio-track p{color:var(--studio-muted)}.studio-filters{display:flex;flex-wrap:wrap;gap:.5rem}.studio-filters button{border:1px solid var(--studio-line);padding:.55rem .8rem;border-radius:3px}.studio-filters button[aria-pressed=true]{background:var(--studio-accent);color:#171b12;font-weight:700}.studio-track{margin-top:1rem}.studio-track ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.studio-track li{padding-top:.65rem;border-top:1px solid var(--studio-line)}.studio-track a{display:inline-block;color:var(--studio-accent);margin-top:.45rem}.studio-credentials ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:1rem;column-gap:1rem}.studio-credentials li{border-bottom:1px solid var(--studio-line)}.studio-credentials a{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem 0}.studio-credentials a:hover{color:var(--studio-accent)}@media (max-width: 680px){.studio-rows>li,.studio-track ul,.studio-credentials ul{grid-template-columns:1fr}.studio-rows>li{gap:.4rem}}.studio-github{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;padding-block:1rem;border-top:1px solid var(--studio-line);color:var(--studio-muted);font-size:.875rem}.studio-github a,.studio-github button{color:var(--studio-accent)}.studio-github button:hover,.studio-github a:hover{text-decoration:underline}.studio-archive img{width:100%;aspect-ratio:16/9;-o-object-fit:contain;object-fit:contain;background:#111311;margin-top:.75rem}.studio-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.studio-contact-card{display:grid;grid-template-rows:auto auto 1fr auto;justify-items:start;gap:.55rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--studio-line);border-radius:12px;background:var(--studio-surface);transition:background-color .18s ease,border-color .18s ease}.studio-contact-card:hover,.studio-contact-card:focus-visible{border-color:var(--studio-accent);background:#1b2020}.studio-contact-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:.25rem;border-radius:8px;color:var(--studio-accent);background:#d7fc7014}.studio-contact-icon svg{width:22px;height:22px}.studio-contact-card-email .studio-contact-icon{color:var(--studio-blue);background:#79afff1a}.studio-contact-card h3{font-size:1.2rem;font-weight:700}.studio-contact-card p{color:var(--studio-muted);overflow-wrap:anywhere}.studio-contact-action{display:inline-flex;align-items:center;gap:.45rem;margin-top:.5rem;color:var(--studio-accent);font-size:.9rem;font-weight:700}.studio-contact-card:hover .studio-contact-action,.studio-contact-card:focus-visible .studio-contact-action{text-decoration:underline;text-underline-offset:.2em}@media (prefers-reduced-motion: reduce){.studio-contact-card{transition:none}}.studio-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:var(--studio-muted);margin-top:3.5rem;padding-top:1rem;border-top:1px solid var(--studio-line);font-size:.875rem}@media (max-width: 680px){.studio-contact{grid-template-columns:1fr}}.studio-wrap{width:min(1220px,100% - 4rem)}.studio-nav nav{min-height:67px}.studio-links{gap:clamp(.75rem,2vw,1.65rem)}.studio-links a{position:relative;display:inline-flex;align-items:center;min-height:42px}.studio-links a[aria-current]{color:var(--studio-paper)}.studio-links a:after{content:"";position:absolute;inset:auto 0 3px;height:2px;background:var(--studio-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.studio-links a[aria-current]:after{transform:scaleX(1)}.studio-links a:last-child,.studio-menu-toggle{border:1px solid var(--studio-line);border-radius:8px;padding-inline:.8rem;color:var(--studio-paper)}.studio-links a:last-child:after{inset-inline:.8rem}.studio-menu-toggle{display:none;min-height:42px}.studio-primary,.studio-secondary{border-radius:8px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.studio-primary:active,.studio-secondary:active{transform:translateY(1px)}.studio-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .85rem;color:var(--studio-paper);border:1px solid var(--studio-line);font-size:.875rem;font-weight:650}.studio-secondary:hover{background:var(--studio-surface);border-color:var(--studio-blue)}.studio-secondary:disabled{opacity:.55}:focus-visible{outline:2px solid var(--studio-blue);outline-offset:4px}.studio-hero{position:relative;isolation:isolate;min-height:0;grid-template-columns:minmax(0,1.6fr) minmax(0,.78fr) minmax(0,.72fr);gap:clamp(1.1rem,2.7vw,2.4rem);padding-block:clamp(3rem,7vw,6.5rem)}.studio-hero:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 68% 45%,#152339 0,transparent 61%);pointer-events:none}.studio-hero h1{font-size:clamp(2.8rem,5.9vw,5.5rem);margin:.65rem 0 .45rem;line-height:1.03;letter-spacing:-.065em}.studio-role{font-size:clamp(1.22rem,2.45vw,2rem);letter-spacing:-.03em;line-height:1.25;font-weight:680}.studio-role em{font-style:normal;color:var(--studio-blue)}.studio-lede{max-width:45ch;margin:.85rem 0 1.35rem}.studio-actions{gap:.6rem;flex-wrap:wrap}.studio-actions a{white-space:nowrap}.studio-hero-tags{margin-top:1.15rem}.studio-tags li{border-radius:5px}.studio-portrait{width:min(100%,290px);border:1px solid #506175;border-radius:13px;overflow:hidden}.studio-portrait img{border-radius:0}.studio-portrait figcaption{border:0;border-top:1px solid var(--studio-line);background:var(--studio-surface)}.studio-terminal{border:1px solid var(--studio-line);border-radius:12px;overflow:hidden;background:#111416}.studio-terminal .studio-window{background:#1c2125;border-bottom:1px solid var(--studio-line)}.studio-terminal .studio-window i:nth-child(1){background:#ff7975}.studio-terminal .studio-window i:nth-child(2){background:#ecc46c}.studio-terminal .studio-window i:nth-child(3){background:#a8d783}.studio-terminal dl{display:grid;gap:.65rem;padding:.9rem;font:.73rem/1.4 ui-monospace,monospace}.studio-terminal dl div{display:grid;grid-template-columns:3.2rem 1fr;gap:.35rem}.studio-terminal dt{color:var(--studio-blue)}.studio-terminal dd{color:var(--studio-paper)}.studio-section{padding-block:clamp(2.75rem,5.8vw,5rem)}.studio-section-head h2{font-size:clamp(2rem,4.5vw,3.6rem);letter-spacing:-.055em}.studio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-project{border-radius:12px;display:grid;grid-template-rows:auto 1fr}.studio-project:first-child{grid-template-columns:1.3fr 1fr;grid-template-rows:auto;background:linear-gradient(140deg,#161e25,var(--studio-surface))}.studio-project-body{align-content:start}.studio-project:first-child .studio-project-body{align-content:center}.studio-project-art,.studio-project:nth-child(n) .studio-project-art{background:#101519;margin:0}.studio-project-art img{border-radius:7px}.studio-project:not(:first-child) .studio-project-art{padding:0;overflow:hidden}.studio-project:not(:first-child) .studio-project-art img{border-radius:0}.studio-showcase{position:relative;overflow:hidden;align-content:center;padding:0}.studio-showcase img{width:150%;max-width:none;margin-inline-start:-50%;background:none}.studio-showcase figcaption{position:absolute;inset:auto .65rem .6rem;width:-moz-fit-content;width:fit-content;color:var(--studio-paper);background:#101519;border-radius:5px;padding:.3rem .55rem;font-size:.73rem}.studio-rows{border-top:0}.studio-rows>li{position:relative;border-bottom:0;border-left:1px solid var(--studio-line);padding-left:1.1rem}.studio-rows>li:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--studio-accent);top:1.65rem;left:-4px}.studio-rows .studio-tags{margin-top:.7rem}.studio-cert-grid{display:grid;gap:1rem}.studio-cert-grid li{display:flex;min-width:0}.studio-cert-grid button{display:grid;grid-template-rows:auto 1fr;width:100%;overflow:hidden;border:1px solid var(--studio-line);border-radius:12px;background:var(--studio-surface);text-align:left}.studio-cert-grid img{width:100%;aspect-ratio:4/3;-o-object-fit:contain;object-fit:contain;background:#101519;padding:.75rem}.studio-cert-grid button>div{display:grid;align-content:start;gap:.22rem;padding:1rem}.studio-cert-grid button>div>:not(strong){font-size:.82rem;color:var(--studio-muted)}.studio-cert-grid .studio-cert-action{margin-top:.45rem;color:var(--studio-accent)}.studio-cert-more{margin-top:1rem}.studio-cert-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(940px,100% - 1.5rem);max-height:92dvh;overflow:auto;color:var(--studio-paper);background:var(--studio-surface);border:1px solid var(--studio-line);border-radius:14px;padding:.85rem}.studio-cert-dialog::backdrop{background:#000000c7}.studio-cert-dialog header,.studio-cert-dialog footer{display:flex;gap:.5rem;align-items:center;justify-content:space-between}.studio-cert-dialog h3{font-weight:700}.studio-cert-image{overflow:auto;margin-block:.7rem;background:#101519}.studio-cert-image img{width:100%;max-height:68dvh;-o-object-fit:contain;object-fit:contain}.studio-cert-image[data-zoom=true]{max-height:68dvh}.studio-cert-image[data-zoom=true] img{width:180%;max-width:none;max-height:none}@keyframes studio-enter{0%{opacity:.68;transform:translateY(9px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){.studio-intro,.studio-portrait,.studio-terminal{animation:studio-enter .38s ease-out both}.studio-portrait{animation-delay:65ms}.studio-terminal{animation-delay:.11s}.studio-cert-dialog[open]{animation:studio-enter .19s ease-out}.studio-project,.studio-cert-grid button{transition:transform .2s ease,border-color .2s ease}.studio-project-art img{transition:transform .25s ease}}@media (hover: hover) and (prefers-reduced-motion: no-preference){.studio-project:hover,.studio-cert-grid button:hover{transform:translateY(-3px);border-color:#536477}.studio-project:hover .studio-project-art img{transform:scale(1.02)}}@media (max-width: 1050px){.studio-hero{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}.studio-terminal{grid-column:1 / -1;justify-self:start}.studio-terminal dl{display:flex;flex-wrap:wrap}.studio-terminal dl div{grid-template-columns:auto 1fr}}@media (max-width: 880px){.studio-menu-toggle{display:inline-grid;place-items:center}.studio-links{display:none;position:absolute;inset:100% 0 auto;padding:.75rem 2rem 1.25rem;background:var(--studio-bg);border-bottom:1px solid var(--studio-line);gap:.15rem;max-height:calc(100dvh - 68px);overflow:auto}.studio-links[data-open=true]{display:grid}.studio-links a{width:-moz-fit-content;width:fit-content}.studio-links a:last-child{margin-top:.4rem}}@media (max-width: 740px){.studio-wrap{width:calc(100% - 2rem)}.studio-hero,.studio-project:first-child,.studio-project-grid{grid-template-columns:1fr}.studio-hero{padding-block:2.5rem;gap:1.25rem}.studio-hero h1{font-size:clamp(2.6rem,10vw,4.5rem)}.studio-portrait{width:min(100%,255px);justify-self:start}.studio-mark strong{display:inline}.studio-terminal{width:100%}.studio-terminal dl{display:grid}.studio-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 430px){.studio-actions .studio-primary{flex-basis:100%;justify-content:space-between}.studio-cert-grid{grid-template-columns:1fr}.studio-cert-dialog header{align-items:start}.studio-cert-dialog footer{flex-wrap:wrap}}#experience,#tech,#certificates,#contact{content-visibility:auto;contain-intrinsic-size:auto 540px}@media (max-width: 740px){#experience{contain-intrinsic-size:auto 960px}#certificates{contain-intrinsic-size:auto 1000px}}.hover\:bg-primary\/90:hover{background-color:#2563ebe6}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:border-background-dark:is(.dark *){--tw-border-opacity: 1;border-color:rgb(10 10 10 / var(--tw-border-opacity, 1))}.dark\:bg-background-dark:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:text-text-dark:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.dark\:text-text-dark\/50:is(.dark *){color:#fafafa80}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width: 1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}
