@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_231f96{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_231f96{--font-body:"DM Sans","DM Sans Fallback"}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/1d4eaed977255102-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f3f7e95f2dbc4fe4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_ac70e9{font-family:Sora,Sora Fallback;font-style:normal}.__variable_ac70e9{--font-display:"Sora","Sora Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.overline{text-decoration-line:overline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#141a17;--surface:#1b221e;--soft:#202922;--ink:#e9eee7;--muted:#a0ada1;--line:#303b32;--accent:#bad5b0;--accent-soft:#283729;--shadow:0 14px 42px -26px #000b;--ease:cubic-bezier(.22,1,.36,1);--reading-progress:0;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:38px}body{background:var(--bg);color:var(--ink);font-family:var(--font-body),sans-serif;-webkit-font-smoothing:antialiased;margin:0;transition:background-color .3s,color .3s}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer;border:0}a,button,summary{-webkit-tap-highlight-color:transparent}button,h1,h2,h3,p{margin:0}button:disabled{cursor:default}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{color:var(--bg);background:var(--accent)}.skip-link{opacity:0;pointer-events:none;z-index:100;background:var(--ink);color:var(--bg);border-radius:7px;padding:12px 18px;position:fixed;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{opacity:1;pointer-events:auto;transform:none}.reading-progress{z-index:30;background:var(--accent);height:2px;transform:scaleX(var(--reading-progress));transform-origin:0;position:fixed;top:0;left:0;right:0}.page-ambience{z-index:-1;pointer-events:none;background-image:radial-gradient(var(--line) .8px,transparent .8px);opacity:.7;background-size:13px 13px;height:490px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.portfolio{width:min(100% - 64px,900px);margin:0 auto}.page-header{border-bottom:1px solid var(--line);justify-content:space-between;height:97px}.header-brand,.page-header{align-items:center;display:flex}.header-brand{gap:11px;font-size:12px;font-weight:500}.brand-symbol{border:1px solid var(--line);width:29px;height:29px;font-family:var(--font-display),sans-serif;letter-spacing:-.13em;background:var(--surface);border-radius:9px;place-items:center;padding-right:3px;font-size:18px;font-weight:600;display:grid}.brand-slash{color:var(--muted);margin-inline:2px}.header-right{align-items:center;gap:19px;display:flex}.header-edition{color:var(--muted);letter-spacing:.12em;font-size:9px}.icon-button{border:1px solid var(--line);min-width:36px;height:36px;transition:background .2s,transform .3s var(--ease);background:0 0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:var(--accent-soft);transform:rotate(-7deg)}.intro{grid-template-columns:1fr 198px;align-items:center;gap:70px;padding:59px 0 40px;display:grid}.intro-eyebrow{letter-spacing:.1em;color:var(--accent);animation:intro-enter .65s var(--ease) both;align-items:center;gap:8px;font-size:9px;font-weight:550;display:flex}.intro-eyebrow>span{background:var(--accent);width:5px;height:5px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;display:block}.intro h1{font-family:var(--font-display),sans-serif;letter-spacing:-.065em;margin-top:21px;font-size:48px;font-weight:450;line-height:1.12}.intro h1>span{letter-spacing:-.05em;animation:intro-enter .85s 60ms var(--ease) both;font-size:.65em;display:inline-block}.intro h1 strong{animation:name-enter 1s .1s var(--ease) both;font-size:1.38em;font-weight:600;display:inline-block}.name-dot{color:var(--accent)}.intro-description{color:var(--muted);animation:intro-enter .85s .2s var(--ease) both;margin-top:21px;font-size:15px;line-height:1.85}.intro-actions{animation:intro-enter .85s .28s var(--ease) both;align-items:center;gap:23px;margin-top:26px;display:flex}.button-primary{color:var(--bg);background:var(--ink);transition:transform .35s var(--ease),background .25s;border-radius:8px;justify-content:center;align-items:center;gap:27px;padding:13px 17px;font-size:12px;font-weight:500;display:inline-flex}.button-primary:hover{background:var(--accent);transform:translateY(-3px)}.button-primary svg,.github-link>svg:last-child{transition:transform .35s var(--ease)}.button-primary:hover svg,.github-link:hover>svg:last-child{transform:translate(2px,-2px)}.github-link{align-items:center;gap:9px;min-height:44px;font-size:12px;display:flex}.github-link>svg:last-child{color:var(--muted);margin-left:5px}.intro-location{color:var(--muted);animation:intro-enter .85s .34s var(--ease) both;align-items:center;gap:6px;margin-top:22px;font-size:10px;display:flex}.profile-emblem{aspect-ratio:1;width:198px;animation:emblem-enter 1.25s .1s var(--ease) both;margin-top:-12px;position:relative}.emblem-core{color:#e8efdd;font-family:var(--font-display),sans-serif;letter-spacing:-.15em;transition:transform .7s var(--ease);background:#2d3b30;border-radius:38px;justify-content:center;align-items:center;padding-right:8px;font-size:75px;font-weight:550;line-height:1;display:flex;position:absolute;inset:25px;overflow:hidden;transform:rotate(-7deg);box-shadow:0 16px 32px -20px #25372990,inset 0 0 0 1px #ffffff18}.emblem-core:before{content:"";opacity:.15;background-image:radial-gradient(#e8efdd 1px,#0000 0);background-size:7px 7px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 70%);mask-image:linear-gradient(135deg,#000,#0000 70%)}.emblem-core>span{position:relative}.emblem-core>span:nth-child(2){color:#a7bea0}.emblem-core i{background:#ffffff0b;width:160px;height:40px;animation:emblem-light 9s ease-in-out infinite;position:absolute;top:0;left:-60px;transform:rotate(-45deg)}.emblem-orbit{border:1px solid var(--line);border-radius:50%;position:absolute;inset:3px;transform:rotate(-22deg)scaleY(.81)}.orbit-two{transform:rotate(48deg)scaleY(.91)}.emblem-star{width:43px;height:43px;color:var(--accent);background:var(--bg);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:30px;animation:star-turn 25s linear infinite;display:grid;position:absolute;top:12px;right:4px}.profile-emblem:hover .emblem-core{transform:rotate(1deg)translateY(-5px)}.current-work{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px}.experience-disclosure>summary{cursor:pointer;align-items:center;gap:17px;padding:20px 23px;list-style:none;display:flex}.experience-disclosure>summary::-webkit-details-marker{display:none}.experience-logo{color:#fff1d8;border-radius:13px;flex-shrink:0;place-items:center;width:50px;height:50px;padding-right:5px;font:italic 800 35px/1 Georgia,serif;display:grid}.experience-title{flex:1;display:block}.small-label{letter-spacing:.09em;color:var(--muted);font-size:8px;font-weight:550;display:block}.experience-title h2{font-family:var(--font-display),sans-serif;letter-spacing:-.035em;align-items:center;gap:8px;margin-block:4px;font-size:17px;font-weight:550;display:flex}.experience-title h2 svg{color:var(--muted);width:11px;height:11px}.experience-title>span:last-child{color:var(--muted);font-size:11px}.experience-status{color:var(--accent);background:var(--accent-soft);border-radius:5px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;display:flex}.status-dot{background:#678f63;border-radius:50%;width:5px;height:5px;display:inline-block}.disclosure-plus{text-align:center;width:20px;color:var(--muted);transition:transform .3s var(--ease);margin-left:6px;font-size:21px;font-weight:300}.experience-disclosure[open] .disclosure-plus{transform:rotate(45deg)}.experience-disclosure[open] .experience-description{animation:intro-enter .4s var(--ease)}.experience-description{padding:0 70px 23px 90px}.experience-description p{color:var(--muted);max-width:66ch;font-size:13px;line-height:1.8}.experience-description a{color:var(--accent);align-items:center;gap:12px;min-height:30px;margin-top:12px;font-size:11px;display:inline-flex}.stack-section{padding:30px 0 0}.tech-list{flex-wrap:wrap;gap:9px 8px;margin-top:13px;display:flex}.tech-list li{border:1px solid var(--line);background:var(--surface);transition:transform .3s var(--ease),border-color .3s;border-radius:6px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;display:inline-flex}.tech-list li:hover{border-color:var(--accent);transform:translateY(-3px)}.tech-icon{width:17px;height:16px;color:var(--muted);place-items:center;font-size:10px;font-weight:700;display:inline-grid}.tech-typescript{color:#3175b5;font-size:9px}.tech-react{color:#398e9f;font-size:19px}.tech-nodejs{color:#528143;font-size:20px}.tech-firebase{color:#b98618;font-size:18px}.tech-java{color:#bb6650}.section-block{margin-top:67px}.section-top{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.section-index{letter-spacing:.12em;color:var(--muted);margin-bottom:13px;font-size:8px;font-weight:500}.section-top h2{font-family:var(--font-display),sans-serif;letter-spacing:-.055em;font-size:28px;font-weight:500;line-height:1.22}.section-top h2>span{color:var(--accent)}.section-aside{color:var(--muted);padding-bottom:4px;font-size:10px}.project-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.project-filters{background:var(--soft);border:1px solid var(--line);border-radius:8px;gap:4px;padding:4px;display:flex}.project-filters button{color:var(--muted);background:0 0;border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:10px;transition:color .25s,background .25s,box-shadow .25s;display:flex}.project-filters button>span{opacity:.6;font-size:8px}.project-filters button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #0000000a}.result-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);animation:card-enter .65s calc(var(--card-order,0) * 55ms) var(--ease) both;transition:box-shadow .4s var(--ease),border-color .3s;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.project-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}}.artwork-link{aspect-ratio:1.65;flex-shrink:0;display:block;position:relative;overflow:hidden}.artwork-arrow{color:#20251e;opacity:0;width:28px;height:28px;transition:opacity .25s,transform .35s var(--ease);background:#fffd;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translate(-5px,5px)}.artwork-link:focus-visible .artwork-arrow,.artwork-link:hover .artwork-arrow{opacity:1;transform:none}.project-card-content{flex-direction:column;flex:1;padding:20px 18px 17px;display:flex}.project-type{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:9px;display:flex}.project-card-content h3{font-family:var(--font-display),sans-serif;letter-spacing:-.04em;margin-bottom:10px;font-size:18px;font-weight:550}.project-card-content h3 a:hover{color:var(--accent)}.project-card-content>p{color:var(--muted);margin-bottom:18px;font-size:12px;line-height:1.8}.project-stack{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.project-stack li{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:4px 6px;font-size:8px}.project-actions{border-top:1px solid var(--line);gap:17px;margin-top:17px;padding-top:11px;display:flex}.project-actions a{align-items:center;gap:6px;min-height:28px;font-size:10px;transition:color .25s;display:flex}.project-actions a:hover{color:var(--accent)}.project-actions a svg{transition:transform .3s var(--ease)}.project-actions a:hover svg{transform:translateY(-2px)}.featured-project{grid-column:1/-1;grid-template-columns:.94fr 1fr;display:grid}.featured-project .artwork-link{aspect-ratio:auto;min-height:280px}.featured-project .project-card-content{padding:29px 31px}.featured-project .project-type{color:var(--accent);margin-bottom:12px}.featured-project h3{font-size:26px}.featured-project .project-card-content>p{font-size:13px}.featured-project .project-actions a{font-size:11px}.project-footnote{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:20px;font-size:10px;display:flex}.project-footnote a{color:var(--ink);align-items:center;gap:6px;padding-block:6px;display:inline-flex}.project-footnote a:hover{text-underline-offset:4px;text-decoration:underline}.project-art{position:absolute;inset:0;overflow:hidden}.artwork-afetum:before{content:"";border:1px solid #ffffff19;border-radius:50%;width:480px;height:480px;position:absolute;top:-150px;left:-50px;box-shadow:0 0 0 28px #ffffff06,0 0 0 60px #ffffff05}.artwork-caption{letter-spacing:.12em;font-size:7px;position:absolute;top:24px;left:24px}.afetum-paper{aspect-ratio:.82;width:37%;transition:transform .75s var(--ease);z-index:2;background:#f9eedb;border:1px solid #e7d5bf;padding:9px 10px 16px;position:absolute;top:16%;left:36%;transform:rotate(8deg);box-shadow:7px 9px #62143235}.afetum-paper img{object-fit:contain;width:100%;height:90%;display:block}.afetum-paper>span{text-align:center;color:#ac0044;font-size:8px;display:block;position:absolute;bottom:10px;left:0;right:0}.afetum-paper:before{content:"";background:#ffffff65;width:44px;height:18px;position:absolute;top:-9px;left:calc(50% - 22px);transform:rotate(-3deg)}.afetum-envelope{aspect-ratio:1.5;width:43%;transition:transform .7s var(--ease);background:#ecd8b9;border:1px solid #dbc5a8;position:absolute;top:42%;left:17%;transform:rotate(-13deg);box-shadow:0 12px 17px -12px #400023b0}.afetum-envelope>span{z-index:2;color:#b50048;font:italic 700 25px Georgia,serif;position:absolute;bottom:7px;right:12px}.afetum-envelope i{clip-path:polygon(0 0,100% 0,50% 100%);background:#f8e9d3;width:100%;height:68%;display:block}.artwork-signature{font-family:var(--font-display),sans-serif;letter-spacing:-.06em;font-size:23px;font-weight:650;position:absolute;bottom:20px;left:24px}.artwork-signature>span{vertical-align:super;margin-left:3px;font-size:10px}.artwork-link:hover .afetum-paper{transform:rotate(3deg)translateY(-8px)}.artwork-link:hover .afetum-envelope{transform:rotate(-17deg)translate(-8px,2px)}.artwork-xiru{background:#070909}.event-ticket{width:37%;height:80%;transition:transform .7s var(--ease);padding:10px;position:absolute;top:14%;box-shadow:0 8px 15px -10px #000b}.back-ticket{color:#080a0b;background:#d6ad58;left:22%;transform:rotate(-13deg)}.event-ticket>span{letter-spacing:.04em;font-size:5px}.back-ticket strong{text-align:center;font-size:55px;line-height:1.6;display:block}.front-ticket{color:#fff4df;background:#181919;border:1px solid #d6ad5870;top:13%;left:45%;transform:rotate(10deg)}.front-ticket strong{font-family:var(--font-display),sans-serif;letter-spacing:-.07em;margin-top:10px;font-size:36px;line-height:.9;display:block}.front-ticket strong>span{letter-spacing:-.07em;font:italic 32px/.9 Georgia,serif;display:block}.front-ticket>i{background:repeating-linear-gradient(90deg,#d6ad58 0 1px,#0000 1px 3px,#d6ad58 3px 5px,#0000 5px 7px);height:9px;position:absolute;bottom:10px;left:10px;right:10px}.artwork-link:hover .back-ticket{transform:rotate(-18deg)translate(-5px)}.artwork-link:hover .front-ticket{transform:rotate(4deg)translateY(-3px)}.artwork-know{background:#0a0f0d}.know-window{z-index:2;width:49%;height:87%;transition:transform .7s var(--ease);background:#16241e;border:1px solid #55cb9638;padding:11px;position:absolute;top:10%;left:26%;transform:rotate(-8deg);box-shadow:7px 7px #146e5160}.know-window>span{letter-spacing:.04em;color:#7c9993;font-size:5px}.know-window strong{letter-spacing:-.075em;color:#f0f4f2;margin-top:2px;font-size:37px;line-height:1;display:block}.know-window strong>span{color:#55cb96}.know-sun{width:56px;height:56px;transition:transform .7s var(--ease);background:#55cb96;border-radius:50%;top:15%;left:17%}.door,.know-sun{position:absolute}.door{perspective:180px;width:45%;height:41%;bottom:8px;left:29%}.door i{transform-origin:0;transition:transform .65s var(--ease);background:#146e51;border:1px solid #55cb96;border-radius:40px 40px 0 0;position:absolute;inset:0}.door i:nth-child(2){background:#55cb96;transform:rotateY(-35deg)}.door i:nth-child(3){background:#7c9993;transform:rotateY(-66deg)}.artwork-link:hover .know-window{transform:rotate(-3deg)translateY(-4px)}.artwork-link:hover .door i:nth-child(3){transform:rotateY(-80deg)}.artwork-link:hover .know-sun{transform:translate(-6px,4px)}.artwork-playground{color:#f9e84d;background:#05030e}.artwork-playground:before{content:"";background-image:linear-gradient(#9d5cff14 1px,#0000 0),linear-gradient(90deg,#9d5cff14 1px,#0000 0);background-size:19px 19px;position:absolute;inset:0}.game-label{color:#d8e0ff;letter-spacing:.07em;font-size:6px;position:absolute;top:15px;left:18px}.artwork-playground strong{font-family:var(--font-display),sans-serif;letter-spacing:-.055em;font-size:31px;line-height:.95;position:absolute;top:38px;left:26px}.artwork-playground strong>span{color:#00f5c4}.pixel{clip-path:polygon(20% 0,80% 0,80% 20%,100% 20%,100% 80%,80% 80%,80% 100%,60% 100%,60% 80%,40% 80%,40% 100%,20% 100%,20% 80%,0 80%,0 20%,20% 20%);width:16px;height:18px;transition:transform .6s var(--ease);position:absolute}.pixel-one{background:#ff2d78;bottom:53px;right:52px}.pixel-two{background:#00f5c4;bottom:30px;right:23px}.pixel-ground{background:#9d5cff;width:41px;height:3px;position:absolute;bottom:46px;right:44px;box-shadow:30px 24px #9d5cff}.artwork-link:hover .pixel-one{transform:translate(-6px,-14px)}.artwork-link:hover .pixel-two{transform:translate(-12px,-16px)}.wide-project{grid-column:1/-1;grid-template-columns:1fr .94fr;display:grid}.wide-project .artwork-link{aspect-ratio:auto;order:2;min-height:236px}.artwork-insound{color:#f4f4f1;background:#0b0c0c;flex-direction:column;justify-content:center;gap:20px;padding-inline:12%;display:flex}.artwork-insound:before{content:"";aspect-ratio:1;background:radial-gradient(circle,#ff6a3d2e,#0000 68%);border-radius:50%;width:62%;position:absolute;top:-30%;left:-12%}.insound-label{letter-spacing:.12em;color:#9a9d98;font-size:6px;position:relative}.insound-track{align-items:center;gap:16px;display:flex;position:relative}.insound-cover{aspect-ratio:1;width:72px;transition:transform .7s var(--ease);background:radial-gradient(circle at 72% 26%,#ffd166 0 17%,#0000 18%),linear-gradient(140deg,#ff6a3d,#c2255c 58%,#5f3dc4);border-radius:9px;flex-shrink:0;transform:rotate(-5deg);box-shadow:0 12px 20px -12px #000}.insound-track strong{font-family:var(--font-display),sans-serif;letter-spacing:-.06em;font-size:30px;font-weight:600}.insound-track strong>span{color:#9a9d98;font-weight:400}.insound-wave{align-items:center;gap:3px;height:34px;display:flex;position:relative}.insound-wave i{min-width:0;height:var(--bar);transition:transform .6s var(--ease);background:#3a3d3a;border-radius:2px;flex:1}.insound-wave i:nth-child(-n+13){background:#f4f4f1}.artwork-link:hover .insound-cover{transform:rotate(2deg)translateY(-4px)}.artwork-link:hover .insound-wave i:nth-child(odd){transform:scaleY(1.25)}.artwork-link:hover .insound-wave i:nth-child(2n){transform:scaleY(.8)}.numbers-section{border-top:1px solid var(--line);padding-top:39px}.numbers-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.number-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px}.number-tile dd{font-family:var(--font-display),sans-serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:550}.number-tile dt{color:var(--muted);margin-top:5px;font-size:10px}.numbers-grid>div{flex-direction:column-reverse;display:flex}.numbers-note{color:var(--muted);max-width:88ch;margin-top:16px;font-size:10px;line-height:1.8}.languages-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:20px 18px}.languages-card h3{font-size:11px;font-weight:550}.languages-card h3>span{color:var(--muted);font-weight:400}.languages-bar{gap:2px;height:9px;margin-block:15px 14px;display:flex}.languages-bar i{flex:var(--share) 0 0;background:var(--lang);border-radius:2px}.languages-bar i:first-child{border-radius:5px 2px 2px 5px}.languages-bar i:last-child{border-radius:2px 5px 5px 2px}.languages-legend{flex-wrap:wrap;gap:8px 20px;display:flex}.languages-legend li{align-items:center;gap:7px;font-size:10px;display:flex}.languages-legend li:before{content:"";background:var(--lang);border-radius:50%;width:7px;height:7px}.languages-legend li>span{color:var(--muted);font-variant-numeric:tabular-nums}@media (max-width:700px){.numbers-section{padding-top:28px}.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.number-tile{padding:15px 14px 13px}.number-tile dd{font-size:22px}.languages-card{padding:17px 14px}.languages-legend{gap:7px 15px}}.about-section{border-top:1px solid var(--line);padding-top:40px}.about-spark{color:var(--accent);transition:transform .65s var(--ease);font-size:32px;line-height:1}.about-section:hover .about-spark{transform:rotate(90deg)}.about-grid{grid-template-columns:1.4fr 1fr;gap:64px;display:grid}.about-copy>p{color:var(--muted);font-size:13px;line-height:1.85}.about-copy>p+p{margin-top:14px}.about-copy a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px}.about-copy a:hover{color:var(--accent)}.about-notes{gap:19px;padding-top:2px;display:grid}.about-notes>div{align-items:center;gap:14px;display:flex}.about-notes>div>svg{color:var(--accent)}.about-notes>div>span{font-size:12px;font-weight:500}.about-notes small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.contact-section{border:1px solid var(--line);background:var(--soft);isolation:isolate;border-radius:16px;margin-top:60px;padding:33px;position:relative;overflow:hidden}.contact-orbit{z-index:-1;border:1px solid var(--line);width:320px;height:320px;box-shadow:0 0 0 24px var(--soft),0 0 0 25px var(--line),0 0 0 49px var(--soft),0 0 0 50px var(--line);opacity:.55;border-radius:50%;position:absolute;top:-60px;right:-30px}.contact-heading{justify-content:space-between;align-items:center;gap:25px;display:flex}.contact-heading h2{font-family:var(--font-display),sans-serif;letter-spacing:-.05em;font-size:32px;font-weight:500;line-height:1.25}.contact-heading h2>span{color:var(--accent);transition:transform .4s var(--ease);margin-left:9px;font-weight:400;display:inline-block}.contact-heading>div>p{color:var(--muted);margin-top:14px;font-size:12px}.contact-round{background:var(--ink);width:66px;height:66px;color:var(--bg);transition:transform .5s var(--ease),background .3s;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.contact-round:hover{background:var(--accent);transform:rotate(6deg)scale(1.06)}.contact-section:has(.contact-round:hover) h2>span{transform:translate(3px,-3px)}.contact-links{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:29px;padding-top:20px}.contact-links,.email-row{align-items:center;display:flex}.email-row{gap:12px;font-size:12px}.email-row>a{padding-block:9px}.email-row>a:hover{color:var(--accent)}.copy-email{position:relative}.copy-email .icon-button{border:0;min-width:30px;height:30px}.copy-feedback{opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);width:max-content;max-width:200px;transition:opacity .2s,transform .25s var(--ease);border-radius:6px;padding:8px 12px;font-size:10px;position:absolute;bottom:40px;right:0;transform:translateY(5px)}.copy-feedback.visible{opacity:1;transform:none}.social-links{gap:21px;font-size:10px;display:flex}.social-links a{align-items:center;gap:6px;min-height:36px;display:flex}.social-links a:hover{color:var(--accent)}.page-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:25px 0 119px;font-size:9px;display:flex}.page-footer a{padding-block:10px}.page-footer a:hover{color:var(--ink)}.floating-nav{z-index:40;border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:3px;padding:7px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.floating-nav{background:color-mix(in srgb,var(--surface) 88%,transparent)}}.floating-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 30px -12px #14251830}.dock-link{height:41px;color:var(--muted);transition:color .25s,background .25s,transform .3s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:flex}.dock-link>span{font-size:10px}.dock-link[aria-current]{background:var(--accent-soft);color:var(--accent)}.dock-link:hover{background:var(--soft);color:var(--ink);transform:translateY(-3px)}.dock-divider{background:var(--line);width:1px;height:23px;margin-inline:4px}.dock-motion{min-width:34px;height:41px;color:var(--muted);background:0 0;border-radius:10px;place-items:center;transition:background .25s;display:grid}.dock-motion:hover{background:var(--soft)}.dock-motion:disabled{opacity:.5}.motion-ready [data-reveal]{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(17px)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}@keyframes intro-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes name-enter{0%{opacity:0;letter-spacing:-.08em;filter:blur(4px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:none}}@keyframes emblem-enter{0%{opacity:0;transform:rotate(-9deg)scale(.88)}to{opacity:1;transform:none}}@keyframes emblem-light{0%,35%{transform:translate(-40px,-50px)rotate(-45deg)}70%,to{transform:translate(160px,200px)rotate(-45deg)}}@keyframes star-turn{to{transform:rotate(1turn)}}@keyframes card-enter{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@media (min-width:1300px){.intro{padding-top:66px}}@media (max-width:900px){.intro{grid-template-columns:1fr 155px;gap:35px}.profile-emblem{width:155px}.emblem-core{border-radius:30px;font-size:58px;inset:19px}.emblem-star{width:36px;height:36px;font-size:25px}.intro-description{font-size:14px}.project-card-content{padding-inline:15px}.project-card-content h3{font-size:16px}.featured-project h3{font-size:24px}.front-ticket strong{font-size:29px}.front-ticket strong>span{font-size:26px}.back-ticket strong{font-size:43px}.event-ticket{padding:8px}.event-ticket>span{font-size:4px}.know-window{padding:9px}.know-window strong{font-size:30px}.know-window>span{font-size:4px}.artwork-playground strong{font-size:27px;top:30px;left:20px}.game-label{font-size:5px;top:12px;left:16px}.pixel-one{bottom:42px;right:41px}.pixel-two{bottom:23px;right:19px}.pixel-ground{width:34px;bottom:36px;right:34px;box-shadow:24px 20px #9d5cff}.about-grid{gap:35px}}@media (max-width:700px){.portfolio{width:calc(100% - 44px)}.page-header{height:78px}.intro{grid-template-columns:1fr 120px;gap:18px;padding-top:43px}.intro h1{font-size:41px}.intro h1 strong{font-size:1.36em}.intro-description{font-size:13px}.desktop-break{display:none}.profile-emblem{width:120px;margin-top:-72px}.emblem-core{border-radius:24px;font-size:45px;inset:16px}.emblem-star{width:29px;height:29px;font-size:19px;top:5px;right:-2px}.intro-actions{gap:18px}.button-primary{gap:14px;padding:12px 13px;font-size:11px}.github-link{gap:6px;font-size:11px}.github-link>svg:first-child{width:16px;height:16px}.github-link>svg:last-child{margin-left:1px}.intro-eyebrow{font-size:7px}.intro-location{font-size:9px}.experience-disclosure>summary{gap:13px;padding:17px}.experience-logo{border-radius:11px;width:43px;height:43px;font-size:31px}.experience-title h2{font-size:15px}.experience-title>span:last-child{font-size:10px}.experience-title .small-label{font-size:6px}.experience-status{padding:4px 7px;font-size:9px}.disclosure-plus{margin-left:0}.experience-description{padding:0 20px 20px 73px}.experience-description p{font-size:12px}.tech-list{gap:7px}.tech-list li{padding:6px 9px;font-size:10px}.section-block{margin-top:49px}.section-top{gap:15px;margin-bottom:23px}.section-top h2{font-size:25px}.section-aside{display:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.featured-project{grid-template-columns:1fr 1fr}.featured-project .project-card-content{padding:23px 21px}.featured-project .artwork-link{min-height:290px}.featured-project .project-card-content>p{font-size:12px}.featured-project .project-stack li{padding:4px 5px;font-size:7px}.afetum-paper{width:53%;top:24%;left:32%}.afetum-envelope{width:61%;top:48%;left:9%}.artwork-caption{font-size:6px;top:20px;left:17px}.artwork-signature{font-size:19px;bottom:19px;left:17px}.wide-project{grid-column:auto;display:flex}.wide-project .artwork-link{aspect-ratio:1.65;order:0;min-height:0}.front-ticket strong{font-size:34px}.front-ticket strong>span{font-size:30px}.back-ticket strong{font-size:51px}.event-ticket>span{font-size:5px}.know-window strong{font-size:34px}.about-section{padding-top:33px}.about-grid{grid-template-columns:1fr;gap:25px}.about-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.about-notes>div{display:block}.about-notes>div>svg{margin-bottom:8px}.about-notes>div>span{font-size:11px;display:block}.about-notes small{font-size:9px;line-height:1.6}.contact-section{margin-top:42px;padding:26px}.contact-heading h2{font-size:28px}.contact-heading>div>p{max-width:32ch;font-size:11px;line-height:1.7}.contact-round{width:52px;height:52px}.contact-round svg{width:23px;height:23px}.contact-links{flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:15px}.social-links{margin-left:auto}.email-row{gap:6px;font-size:11px}}@media (max-width:450px){.portfolio{width:calc(100% - 38px)}.page-header{height:71px}.header-brand{gap:8px;font-size:11px}.header-edition{letter-spacing:.07em;font-size:7px}.header-right{gap:13px}.brand-symbol{border-radius:8px;width:26px;height:26px;font-size:16px}.icon-button{min-width:32px;height:32px}.intro{padding:35px 0 31px;display:block;position:relative}.intro h1{margin-top:19px;font-size:40px}.intro h1 strong{font-size:1.45em}.profile-emblem{width:106px;margin:0;position:absolute;top:77px;right:0}.emblem-core{border-radius:20px;font-size:39px;inset:15px}.emblem-star{width:26px;height:26px;font-size:18px}.intro-description{max-width:35ch;margin-top:24px;font-size:13px}.intro-actions{gap:22px;margin-top:22px}.button-primary{gap:24px;font-size:11px}.intro-location{margin-top:19px}.experience-disclosure>summary{gap:11px;padding:16px 13px}.experience-logo{width:40px;height:40px;font-size:29px}.experience-title .small-label{letter-spacing:.05em;font-size:6px}.experience-title h2{margin-block:3px;font-size:15px}.experience-title>span:last-child{font-size:9px}.experience-status{gap:4px;font-size:8px}.disclosure-plus{width:15px;font-size:19px}.experience-description{padding:0 15px 18px}.stack-section{padding-top:27px}.small-label{font-size:7px}.tech-list li{gap:5px;padding:6px 8px;font-size:10px}.tech-icon{width:15px}.section-top h2{font-size:24px}.section-index{margin-bottom:10px;font-size:7px}.project-toolbar{gap:10px;margin-bottom:16px}.project-filters{gap:1px;padding:3px}.project-filters button{gap:5px;padding:8px;font-size:9px}.project-filters button>span{font-size:7px}.result-count{font-size:8px}.project-grid{gap:15px}.featured-project{display:flex}.featured-project .artwork-link{aspect-ratio:1.65;min-height:0}.featured-project .project-card-content{padding:22px}.featured-project h3{font-size:23px}.featured-project .project-card-content>p{font-size:13px}.featured-project .project-stack li{font-size:8px}.afetum-paper{width:35%;top:15%;left:38%}.afetum-envelope{width:43%;top:44%;left:17%}.artwork-signature{font-size:21px;bottom:17px;left:20px}.artwork-caption{font-size:6px;top:18px;left:20px}.project-card:not(.featured-project){grid-column:1/-1;grid-template-columns:113px minmax(0,1fr);display:grid}.project-card:not(.featured-project) .artwork-link{aspect-ratio:auto}.project-card-content{padding:17px 14px}.project-card-content h3{margin-bottom:8px;font-size:17px}.project-card-content>p{margin-bottom:13px;font-size:11px;line-height:1.75}.project-type{margin-bottom:7px;font-size:7px}.project-stack{gap:4px}.project-stack li{padding:3px 4px;font-size:7px}.project-actions{gap:15px;margin-top:13px;padding-top:7px}.project-actions a{gap:4px;min-height:30px;font-size:9px}.project-actions a svg{width:11px;height:11px}.event-ticket{width:62%;height:112px;padding:8px;top:calc(50% - 56px)}.front-ticket{left:32%}.back-ticket{left:5%}.front-ticket strong{font-size:29px}.front-ticket strong>span{font-size:26px}.back-ticket strong{font-size:42px}.event-ticket>span{font-size:4px}.front-ticket>i{height:7px}.know-window{width:84%;height:132px;padding:9px;top:calc(50% - 66px);left:18%}.know-window strong{font-size:32px}.know-window>span{font-size:4px}.know-sun{width:53px;height:53px;top:calc(50% - 76px);left:-15px}.artwork-playground strong{font-size:25px;top:calc(50% - 41px);left:12px}.game-label{display:none}.pixel-one{bottom:39px;right:48px}.pixel-one,.pixel-two{width:12px;height:14px}.pixel-two{bottom:20px;right:18px}.pixel-ground{width:28px;bottom:33px;right:43px}.insound-label,.insound-track strong{display:none}.artwork-insound{gap:16px;padding-inline:14px}.insound-track{justify-content:center}.insound-cover{width:62px}.insound-wave{gap:2px;height:26px}.insound-wave i:nth-child(2n){display:none}.artwork-arrow{width:24px;height:24px;top:9px;right:9px}.artwork-arrow svg{width:13px;height:13px}.project-footnote{margin-top:16px;font-size:9px;line-height:1.7}.about-copy>p{font-size:13px}.about-notes{gap:13px}.about-notes>div>span{font-size:10px;line-height:1.55}.about-notes small{font-size:9px;line-height:1.6}.contact-section{border-radius:13px;padding:23px 20px}.contact-heading{gap:12px}.contact-heading h2{font-size:23px}.contact-heading h2>span{margin-left:5px}.contact-heading>div>p{max-width:28ch;font-size:11px}.contact-round{width:40px;height:40px}.contact-round svg{width:20px;height:20px}.contact-links{display:block}.email-row{justify-content:space-between;font-size:11px}.social-links{justify-content:flex-start;gap:24px;margin-top:9px}.page-footer{padding-bottom:108px;font-size:8px}.floating-nav{border-radius:14px;gap:1px;width:max-content;max-width:calc(100% - 24px);padding:6px;bottom:15px}.dock-link{border-radius:8px;flex-direction:column;gap:3px;width:60px;height:44px;padding:5px 9px}.dock-link>svg{width:16px;height:16px}.dock-link>span{font-size:8px}.dock-divider{height:27px;margin-inline:3px}.dock-motion{border-radius:8px;min-width:30px;height:44px}}@media (max-width:360px){.header-edition{display:none}.profile-emblem{width:86px;top:87px}.emblem-core{border-radius:17px;font-size:31px}.intro h1{font-size:37px}.intro-eyebrow{font-size:6px}.experience-status{display:none}.project-card:not(.featured-project){grid-template-columns:91px minmax(0,1fr)}.project-card-content{padding-inline:12px}.project-card-content h3{font-size:16px}.project-actions{gap:9px}.dock-link{width:51px}.contact-heading h2{font-size:20px}.contact-heading h2>span{display:none}}.intro{grid-template-columns:minmax(0,1fr) 260px;gap:48px}.hero-object{width:290px;animation:emblem-enter 1.1s .12s var(--ease) both;justify-self:end;position:relative}.depth-artwork{aspect-ratio:1;position:relative}.asset-canvas,.asset-poster{transition:opacity .35s}.asset-canvas{opacity:0;width:100%;height:100%;display:block;position:absolute;inset:0}.depth-artwork[data-renderer=webgl] .asset-canvas{opacity:1}.depth-artwork[data-renderer=webgl] .asset-poster{opacity:0}.depth-artwork img{-webkit-user-select:none;user-select:none;object-fit:contain;width:100%;height:auto;display:block}.object-note{color:var(--muted);letter-spacing:.01em;justify-content:center;align-items:center;gap:7px;margin-top:-15px;font-size:9px;display:flex}.object-note i{background:var(--accent);border-radius:50%;width:4px;height:4px}.experience-disclosure>summary{gap:20px;padding:18px 23px}.experience-logo{background:#b60049;border-radius:10px;width:98px;height:69px;padding:10px 8px;position:relative;overflow:hidden}.experience-logo img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.experience-logo:after{content:"";transition:transform .75s var(--ease);background:linear-gradient(110deg,#0000 30%,#fff2 49%,#0000 65%);position:absolute;inset:0;transform:translate(-110%)}.experience-disclosure>summary:hover .experience-logo:after{transform:translate(110%)}.experience-disclosure>summary:hover .experience-logo img{transform:rotate(-4deg)scale(1.04)}.experience-description{padding-left:141px}.tech-list li{gap:8px;min-height:37px;padding:8px 11px;line-height:1}.tech-list li>span:last-child{line-height:20px;display:block}.tech-list .tech-icon{flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:0;line-height:0;display:grid}.tech-icon img{object-fit:contain;transform-origin:50%;width:18px;height:18px;transition:transform .45s var(--ease);display:block}.tech-list li:hover img{transform:scale(1.13)}.tech-nextjs img{filter:invert()}.motion-ready .stack-section:not(.is-visible) .tech-list li{opacity:0;transform:translateY(10px)scale(.97)}.motion-ready .stack-section.is-visible .tech-list li{animation:tech-enter .55s calc(var(--tech-order) * 45ms) var(--ease) both}.artwork-afetum{color:#8b354f;background:#f5e8e4}.artwork-afetum:before{border-color:#b5004810;width:280px;height:280px;top:12%;left:12%;box-shadow:0 0 0 28px #b5004803,0 0 0 55px #b5004802}.afetum-object{aspect-ratio:1;width:auto;height:calc(100% - 42px);position:absolute;top:17px;left:50%;transform:translate(-50%)}.afetum-art-note{text-align:center;color:#93536a;font-size:9px;position:absolute;bottom:18px;left:0;right:0}.capabilities-section,.process-section{border-top:1px solid var(--line);padding-top:39px}.capabilities-layout{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:55px;display:grid}.capabilities-visual{text-align:center}.capabilities-visual .depth-artwork{width:220px;margin:-10px auto -4px}.capabilities-visual p{color:var(--muted);font-size:11px;line-height:1.8}.capabilities-list{min-width:0}.capability-row{grid-template-columns:22px minmax(0,1fr) 22px;gap:14px;padding:22px 0;display:grid;position:relative}.capability-row:first-child{padding-top:4px}.capability-row:not(:last-child):after{content:"";background:var(--line);transform-origin:0;height:1px;transition:transform .9s var(--ease);position:absolute;bottom:0;left:0;right:0}.motion-ready .capability-row:not(.is-visible):after{transform:scaleX(0)}.capability-index{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:3px;font-size:9px}.capability-row h3{letter-spacing:-.015em;font-size:14px;font-weight:550;line-height:1.4}.capability-row p{color:var(--muted);max-width:51ch;margin-top:8px;font-size:12px;line-height:1.75}.capability-tags{color:var(--accent);margin-top:10px;font-size:9px;display:block}.capability-row>svg{color:var(--accent);transition:transform .5s var(--ease);margin-top:2px}.capability-row:hover>svg{transform:translateY(-3px)rotate(-8deg)}.process-layout{grid-template-columns:200px minmax(0,1fr);gap:32px;display:grid}.process-tabs{flex-direction:column;align-self:start;gap:5px;padding-left:14px;display:flex;position:relative}.process-tabs button{color:var(--muted);text-align:left;background:0 0;border-radius:7px;align-items:center;gap:15px;min-height:50px;padding:17px 15px;font-size:12px;transition:background .3s,color .3s;display:flex;position:relative}.process-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--ink)}.process-tabs button>svg{opacity:0;transition:opacity .3s,transform .45s var(--ease);margin-left:auto;transform:translate(-4px,4px)}.process-tabs button[aria-selected=true]>svg{opacity:1;transform:none}.process-tabs button:hover{color:var(--ink);background:var(--soft)}.process-number{color:var(--accent);font-variant-numeric:tabular-nums;font-size:9px}.process-track{background:var(--line);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:0}.process-track i{background:var(--accent);border-radius:inherit;width:100%;height:calc(25% - 3.75px);transform:translateY(calc(var(--active-step) * (100% + 5px)));transition:transform .55s var(--ease);display:block}.process-content{background:var(--soft);border:1px solid var(--line);border-radius:12px;min-width:0}.process-panel{min-height:233px;animation:process-enter .45s var(--ease) both;padding:27px 29px}.process-panel[hidden]{display:none}.process-panel-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.process-icon{border:1px solid var(--line);background:var(--surface);width:37px;height:37px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.process-panel h3{letter-spacing:-.035em;font-size:17px;font-weight:500;line-height:1.35}.process-panel p{color:var(--muted);max-width:58ch;margin-top:10px;font-size:12px;line-height:1.8}.process-result{color:var(--accent);align-items:center;gap:8px;margin-top:19px;font-size:10px;display:inline-flex}.process-result svg{animation:check-enter .5s .1s var(--ease) both}@keyframes tech-enter{0%{opacity:0;translate:0 9px}to{opacity:1;translate:0}}@keyframes process-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes check-enter{0%{opacity:0;transform:scale(.6)rotate(-20deg)}to{opacity:1;transform:none}}@media (max-width:900px){.intro{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.hero-object{width:235px}.capabilities-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}.capabilities-visual .depth-artwork{width:195px}}@media (max-width:700px){.intro{grid-template-columns:minmax(0,1fr) 130px}.hero-object{align-self:start;width:160px;margin-top:19px}.object-note{display:none}.experience-disclosure>summary{gap:15px;padding:17px}.experience-logo{width:82px;height:61px;padding:10px 7px}.experience-description{padding-left:114px}.tech-list li{gap:6px;padding:7px 9px;font-size:10px}.tech-list .tech-icon{flex-basis:18px;width:18px;height:20px}.tech-icon img{width:17px;height:17px}.capabilities-layout{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:20px}.capabilities-visual .depth-artwork{width:155px;margin-top:28px}.capability-row{grid-template-columns:19px minmax(0,1fr);gap:9px}.capability-row>svg{display:none}.capability-row h3{font-size:12px}.capability-row p{font-size:11px}.capability-tags{font-size:8px}.process-layout{grid-template-columns:1fr;gap:20px}.process-tabs{flex-direction:row;gap:4px;padding-bottom:10px;padding-left:0}.process-tabs button{flex:1;justify-content:center;gap:7px;min-height:43px;padding:13px 8px;font-size:11px}.process-tabs button>svg{display:none}.process-track{width:auto;height:2px;top:auto;right:0}.process-track i{width:calc(25% - 3px);height:100%;transform:translateX(calc(var(--active-step) * (100% + 4px)))}.process-panel{min-height:240px}}@media (max-width:450px){.intro{display:block}.hero-object{width:142px;margin:0;position:absolute;top:49px;right:-10px}.experience-disclosure>summary{gap:13px;padding:17px 14px}.experience-logo{width:75px;height:57px;padding:8px}.experience-status{display:none}.experience-title h2{margin:5px 0;font-size:16px}.experience-title>span:last-child{font-size:10px}.experience-description{padding:0 17px 20px}.tech-list li{gap:6px;padding:7px 8px}.tech-list{gap:7px 6px}.afetum-art-note{font-size:8px;bottom:15px}.capabilities-section,.process-section{padding-top:28px}.capabilities-layout{flex-direction:column;gap:15px;display:flex}.capabilities-visual{text-align:left;border:1px solid var(--line);background:var(--soft);border-radius:10px;align-items:center;gap:16px;width:100%;padding:3px 17px 3px 5px;display:flex}.capabilities-visual .depth-artwork{flex-shrink:0;width:108px;margin:0}.capabilities-visual p{font-size:10px}.capability-row{gap:13px;padding:21px 0}.capability-row:first-child{padding-top:12px}.capability-row h3{font-size:13px}.capability-row p{font-size:11px}.capability-tags{font-size:9px}.process-tabs button{flex-direction:column;gap:8px;padding:10px 3px;font-size:10px}.process-panel{min-height:266px;padding:22px}.process-panel-top{gap:13px;margin-bottom:21px}.process-panel-top .small-label{font-size:6px}.process-panel h3{max-width:22ch;font-size:17px}.process-panel p{font-size:12px}}@media (max-width:360px){.hero-object{width:108px;top:60px;right:-5px}.experience-logo{width:65px;height:53px}.experience-title>span:last-child{font-size:9px}.experience-disclosure>summary{gap:10px;padding:14px 11px}.process-panel{min-height:283px;padding:20px}}@media (hover:none){.artwork-arrow{opacity:1;transform:none}}html[data-motion=paused]{scroll-behavior:auto}html[data-motion=paused] *,html[data-motion=paused] :after,html[data-motion=paused] :before{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html[data-motion=paused] [data-reveal]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.motion-ready [data-reveal]{opacity:1;transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}