@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}*,: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: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{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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.-bottom-1{bottom:-.25rem}.-right-px{right:-1px}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.-top-3\.5{top:-.875rem}.-top-px{top:-1px}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-4{left:1rem}.left-\[12\%\]{left:12%}.right-0{right:0}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-2{top:.5rem}.top-4{top:1rem}.top-\[14\%\]{top:14%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-\[var\(--gap\)\]{margin-top:var(--gap);margin-bottom:var(--gap)}.-ml-1{margin-left:-.25rem}.-mt-1{margin-top:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[1\/1\.05\]{aspect-ratio:1/1.05}.aspect-\[1\/1\.15\]{aspect-ratio:1/1.15}.aspect-\[2\/1\]{aspect-ratio:2/1}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[22px\]{height:22px}.h-\[26px\]{height:26px}.h-\[78px\]{height:78px}.h-px{height:1px}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.min-h-\[92vh\]{min-height:92vh}.w-1\.5{width:.375rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[22px\]{width:22px}.w-\[26px\]{width:26px}.w-\[280px\]{width:280px}.w-\[88px\]{width:88px}.w-\[min\(640px\,100\%\)\]{width:min(640px,100%)}.w-full{width:100%}.max-w-\[26em\]{max-width:26em}.max-w-\[360px\]{max-width:360px}.max-w-\[38ch\]{max-width:38ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[420px\]{max-width:420px}.max-w-\[42ch\]{max-width:42ch}.max-w-\[460px\]{max-width:460px}.max-w-\[480px\]{max-width:480px}.max-w-\[60ch\]{max-width:60ch}.max-w-\[680px\]{max-width:680px}.flex-1{flex:1 1 0%}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;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))}.translate-x-2{--tw-translate-x: .5rem;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))}.-rotate-1{--tw-rotate: -1deg;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))}.-rotate-\[0\.4deg\]{--tw-rotate: -.4deg;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))}.-rotate-\[0\.6deg\]{--tw-rotate: -.6deg;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))}.-rotate-\[1\.2deg\]{--tw-rotate: -1.2deg;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))}.-rotate-\[1\.5deg\]{--tw-rotate: -1.5deg;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))}.-rotate-\[3deg\]{--tw-rotate: -3deg;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))}.rotate-\[-0\.5deg\]{--tw-rotate: -.5deg;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))}.rotate-\[0\.8deg\]{--tw-rotate: .8deg;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))}.rotate-\[6deg\]{--tw-rotate: 6deg;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))}.transform{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 bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animate-bob{animation:bob 4s ease-in-out infinite}@keyframes fade{0%{opacity:0}to{opacity:1}}.animate-fade{animation:fade .25s ease}@keyframes pcIn{0%{transform:rotate(-1.2deg) translateY(20px) scale(.96);opacity:0}to{transform:rotate(-1.2deg) translateY(0) scale(1);opacity:1}}.animate-pc-in{animation:pcIn .35s cubic-bezier(.2,.9,.3,1.2)}@keyframes pulse{50%{opacity:.5}0%{r:6;opacity:.55}to{r:22;opacity:0}}.animate-pulse{animation:pulse 2.4s ease-out infinite}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-2\.5{row-gap:.625rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-\[1\.5px\]{border-bottom-width:1.5px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-black\/10{border-color:#0000001a}.border-black\/20{border-color:#0003}.border-current{border-color:currentColor}.border-white\/60{border-color:#fff9}.bg-\[\#fff8e0\]{--tw-bg-opacity: 1;background-color:rgb(255 248 224 / var(--tw-bg-opacity, 1))}.bg-accent{background-color:var(--accent)}.bg-black\/45{background-color:#00000073}.bg-black\/5{background-color:#0000000d}.bg-paper{background-color:var(--paper)}.bg-paper-2{background-color:var(--paper-2)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/80{background-color:#fffc}.bg-\[linear-gradient\(to_right\,transparent\,var\(--ink-soft\)_30\%\,var\(--ink-soft\)_70\%\,transparent\)\]{background-image:linear-gradient(to right,transparent,var(--ink-soft) 30%,var(--ink-soft) 70%,transparent)}.bg-\[linear-gradient\(transparent_calc\(1\.6em_-_1px\)\,var\(--ink-soft\,rgba\(0\,0\,0\,0\.12\)\)_calc\(1\.6em_-_1px\)\,var\(--ink-soft\,rgba\(0\,0\,0\,0\.12\)\)_1\.6em\,transparent_1\.6em\)\]{background-image:linear-gradient(transparent calc(1.6em - 1px),var(--ink-soft,rgba(0,0,0,.12)) calc(1.6em - 1px),var(--ink-soft,rgba(0,0,0,.12)) 1.6em,transparent 1.6em)}.bg-\[length\:100\%_1\.6em\]{background-size:100% 1.6em}.bg-contain{background-size:contain}.bg-no-repeat{background-repeat:no-repeat}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}.pb-3\.5{padding-bottom:.875rem}.pb-\[calc\(var\(--gap\)\*1\.4\)\]{padding-bottom:calc(var(--gap) * 1.4)}.pb-px{padding-bottom:1px}.pt-4{padding-top:1rem}.pt-\[110px\]{padding-top:110px}.pt-\[120px\]{padding-top:120px}.text-center{text-align:center}.text-right{text-align:right}.font-hand{font-family:var(--font-hand)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[1\.1em\]{font-size:1.1em}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[clamp\(1\.7rem\,3\.3vw\,2\.4rem\)\]{font-size:clamp(1.7rem,3.3vw,2.4rem)}.text-\[clamp\(2\.4rem\,5vw\,3\.8rem\)\]{font-size:clamp(2.4rem,5vw,3.8rem)}.text-\[clamp\(2rem\,4\.5vw\,3rem\)\]{font-size:clamp(2rem,4.5vw,3rem)}.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}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.-tracking-\[0\.01em\]{letter-spacing:-.01em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-accent{color:var(--accent)}.text-accent-2{color:var(--accent-2)}.text-ink{color:var(--ink)}.text-ink-faint{color:var(--ink-faint)}.text-ink-soft{color:var(--ink-soft)}.text-paper{color:var(--paper)}.underline{text-decoration-line:underline}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-85{opacity:.85}.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_10px_30px_var\(--paper-shadow\)\,inset_0_0_60px_rgba\(139\,111\,71\,0\.18\)\]{--tw-shadow: 0 10px 30px var(--paper-shadow),inset 0 0 60px rgba(139,111,71,.18);--tw-shadow-colored: 0 10px 30px var(--tw-shadow-color), inset 0 0 60px 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_4px_0_color-mix\(in_srgb\,var\(--accent\)_50\%\,black\)\]{--tw-shadow: 0 4px 0 color-mix(in srgb,var(--accent) 50%,black);--tw-shadow-colored: 0 4px 0 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_4px_14px_var\(--paper-shadow\)\]{--tw-shadow: 0 4px 14px var(--paper-shadow);--tw-shadow-colored: 0 4px 14px 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_6px_18px_var\(--paper-shadow\)\,inset_0_0_0_4px_var\(--paper-2\)\]{--tw-shadow: 0 6px 18px var(--paper-shadow),inset 0 0 0 4px var(--paper-2);--tw-shadow-colored: 0 6px 18px var(--tw-shadow-color), inset 0 0 0 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)}.shadow-\[0_6px_18px_var\(--paper-shadow\)\]{--tw-shadow: 0 6px 18px var(--paper-shadow);--tw-shadow-colored: 0 6px 18px 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_8px_24px_var\(--paper-shadow\)\,inset_0_0_0_4px_var\(--paper\)\]{--tw-shadow: 0 8px 24px var(--paper-shadow),inset 0 0 0 4px var(--paper);--tw-shadow-colored: 0 8px 24px var(--tw-shadow-color), inset 0 0 0 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)}.shadow-\[1px_2px_0_rgba\(60\,40\,20\,0\.06\)\]{--tw-shadow: 1px 2px 0 rgba(60,40,20,.06);--tw-shadow-colored: 1px 2px 0 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-\[2px_4px_0_rgba\(60\,40\,20\,0\.06\)\]{--tw-shadow: 2px 4px 0 rgba(60,40,20,.06);--tw-shadow-colored: 2px 4px 0 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-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.5\)\,0_1px_0_var\(--paper-shadow\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.5),0 1px 0 var(--paper-shadow);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 1px 0 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-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.\[direction\:ltr\]{direction:ltr}.\[text-wrap\:balance\]{text-wrap:balance}.\[transform\:translateY\(-2px\)_scale\(1\.08\)\]{transform:translateY(-2px) scale(1.08)}:root{--paper: #f6f4ee;--paper-2: #eeece5;--ink: #242521;--ink-soft: #62645e;--ink-faint: #72756c;--accent: #304dc9;--line: #dcded4;--sidebar: #232620;--font-body: "IBM Plex Sans", Arial, sans-serif;--font-display: "IBM Plex Sans", Arial, sans-serif;--font-hand: "IBM Plex Mono", monospace;--mono: "IBM Plex Mono", monospace;--sidebar-width: 254px;--image-radius: clamp(16px, 2vw, 24px);font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;min-width:320px;font-size:15px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500}.resume-sheet h3{font-family:var(--font-body)}svg{flex-shrink:0}::-moz-selection{color:#fff;background:var(--accent)}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.mono{font-family:var(--mono);font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.055em}.reading-progress{position:fixed;z-index:100;top:0;left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left}.skip-link{position:fixed;left:20px;top:-100px;z-index:200;background:var(--paper);padding:12px 24px}.skip-link:focus{top:16px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:var(--sidebar-width);padding:39px 27px 22px;background:var(--sidebar);color:#f2f1e9;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:baseline;position:relative;font-family:var(--mono);font-size:57px;line-height:1;letter-spacing:-.07em;font-weight:500;width:100%;padding-bottom:38px}.brand>span:first-child{color:#afbda0}.brand .brand-star{font-size:27px;line-height:1;letter-spacing:0;margin-left:auto;color:#b9c9a7;align-self:flex-start;margin-top:6px}.sidebar-identity p{font-size:18px;font-weight:500;letter-spacing:-.025em;margin-bottom:7px}.sidebar-identity>span{font-size:12px;line-height:1.9;color:#b1b6a9}.availability{display:flex;align-items:center;gap:7px;font-size:10px;margin-top:21px;color:#c1c9b7;white-space:nowrap}.status-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#a8c789;display:inline-block;box-shadow:0 0 0 4px #a8c7890a}.nav-label{margin:45px 0 15px;color:#919888;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.sidebar nav{border-top:1px solid #ffffff13}.sidebar-link{display:flex;align-items:center;gap:16px;height:49px;color:#aeb5a6;border-bottom:1px solid #ffffff13;font-size:12px;transition:color .2s,background .2s;position:relative}.nav-number{font-family:var(--mono);font-size:9px;color:#89937e}.sidebar-link>svg{margin-left:auto;opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .2s}.sidebar-link.active,.sidebar-link:hover{color:#fff}.sidebar-link.active .nav-number{color:#c4d8ad}.sidebar-link.active>svg,.sidebar-link:hover>svg{opacity:1;transform:none}.sidebar-link.active:before{content:"";position:absolute;left:-27px;width:3px;height:19px;background:#bdcfa8}.sidebar-resume{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:13px 15px;border:1px solid #666c5c;margin-top:23px;transition:background .2s,border-color .2s}.sidebar-resume:hover{background:#ffffff0c;border-color:#c8cdbf}.sidebar-bottom{margin-top:auto;padding-top:48px}.sidebar-note{color:#b3baa7;font-size:14px;line-height:1.65}.sidebar-socials{display:flex;gap:22px;font-size:11px;margin:23px 0 25px}.sidebar-socials a{display:inline-flex;align-items:center;gap:5px;color:#d0d4c8}.sidebar-socials a:hover{color:#fff}.sidebar-clock{font-size:8px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff17;padding-top:17px;color:#adb5a1}.sidebar-clock time{display:flex;align-items:center;gap:7px}.clock-dot{display:inline-block;width:5px;height:5px;border:1px solid #b1b99f;border-radius:50%}.mobile-header,.menu-scrim{display:none}.portfolio-main{margin-left:var(--sidebar-width);padding:0 clamp(32px,4.5vw,80px);max-width:1480px;outline:none}.intro-section{position:relative}.hero-layout{display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(28px,4vw,64px);padding:54px 0 45px;align-items:start}.hero-eyebrow{display:flex;gap:9px;align-items:center;font-size:9px;color:#64695b;letter-spacing:.12em;margin-bottom:28px}.hero-eyebrow>span{width:5px;height:5px;background:var(--accent)}.hero-copy h1{font-family:var(--mono);font-size:clamp(72px,6.8vw,110px);line-height:1.02;font-weight:500;letter-spacing:-.065em}.hero-surname{white-space:nowrap}.hero-period{color:var(--accent)}.hero-statement{font-size:clamp(25px,2.2vw,34px);line-height:1.25;font-weight:450;letter-spacing:-.03em;margin-top:30px}.hero-statement em{font-style:normal;font-weight:500;color:var(--accent)}.hero-description{font-size:14px;line-height:1.85;color:var(--ink-soft);max-width:345px;margin:20px 0 26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 19px;min-height:47px;border:1px solid transparent;font-size:11px;font-weight:500;border-radius:2px;transition:background .2s,color .2s,transform .2s}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover{background:#243dae;transform:translateY(-2px)}.button-light{background:#f7f6ef;color:var(--ink)}.button-light:hover{background:#fff;transform:translateY(-2px)}.hero-aside{padding-top:43px}.workbench-image{position:relative;aspect-ratio:1.04;overflow:hidden;background:#e1d8c8}.workbench-image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:53% center;object-position:53% center;filter:saturate(.55);transition:transform 1s cubic-bezier(.2,.6,.2,1)}.workbench-image:hover img{transform:scale(1.025)}.image-index{position:absolute;bottom:15px;left:16px;color:#fff;font-size:7px;letter-spacing:.16em;text-shadow:0 1px 10px #0009}.workbench-figure figcaption{margin-top:23px;display:flex;align-items:center;gap:16px}.image-spark{color:var(--accent);font-size:54px;line-height:1}.workbench-figure figcaption p{font-size:12px;line-height:1.8;color:#66685f}.workbench-figure figcaption em{font-style:normal;font-size:13px;color:#3f4236}.hero-location{display:flex;align-items:center;gap:8px;color:#74776b;font-size:8px;border-top:1px solid var(--line);padding-top:21px;margin-top:22px;letter-spacing:.07em}.location-dot{margin-left:auto;width:5px;height:5px;border:1px solid #7b8b6e;border-radius:50%}.hero-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.hero-foot-note{font-size:8px;color:#6f7367;letter-spacing:.05em}.hero-stats{display:flex;gap:30px;align-items:center}.hero-stats>span{display:flex;gap:9px;align-items:center}.hero-stats strong{font-family:var(--mono);font-size:26px;font-weight:400;line-height:1;letter-spacing:-.06em}.hero-stats strong small{font-size:16px;margin-left:2px;vertical-align:top}.hero-stats>span>span{font-size:10px;color:#717468}.scroll-circle{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cdd0c3;border-radius:50%;transition:background .2s}.scroll-circle:hover{background:#e8ebe0}.content-section{padding-top:96px}.section-heading{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid #cdd1c3;padding-bottom:21px}.section-number{color:var(--accent);font-size:10px}.section-heading h2{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.035em;line-height:1.2}.section-meta{font-size:8px;margin-left:auto;color:#74786b;text-align:right}.section-intro{color:#71746a;font-size:13px;margin-top:17px}.timeline{margin-top:42px;position:relative}.timeline:before{content:"";position:absolute;top:12px;bottom:30px;left:76px;width:1px;background:#d9ddce}.chapter{position:relative;display:grid;grid-template-columns:58px 1fr .86fr;gap:34px;align-items:center;padding-bottom:47px}.chapter:last-child{padding-bottom:30px}.chapter-marker{position:relative;align-self:start;padding-top:0;font-family:var(--mono);font-size:17px;line-height:1.6;letter-spacing:-.07em;color:#6c7560}.chapter-marker>i{position:absolute;width:7px;height:7px;left:73px;top:10px;background:var(--paper);border:1px solid #9eac8c;border-radius:50%}.chapter-marker>i.current-marker{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--paper)}.chapter-marker:has(.current-marker){color:var(--accent)}.chapter-marker small{display:block;font-size:8px;letter-spacing:.07em;margin-top:5px}.chapter-content{padding-left:13px}.chapter-place{text-transform:uppercase;font-size:8px;color:#707665;letter-spacing:.075em;margin-bottom:12px}.chapter-content h3{white-space:pre-line;font-size:clamp(24px,2.1vw,32px);line-height:1.2;letter-spacing:-.025em;font-weight:500}.chapter-body{font-size:13px;line-height:1.85;color:#6b7062;margin:16px 0 18px;max-width:380px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags>span{font-size:8px;color:#6a735e;border:1px solid #d8decc;padding:3px 7px;border-radius:2px}.journey-visual{min-width:0;position:relative;overflow:hidden;aspect-ratio:1.45;align-self:start;padding:22px;font-family:var(--mono)}.visual-caption{font-size:7px;letter-spacing:.075em;display:block;position:relative}.journey-independent{background:#e4e9dc;color:#536246}.independent-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#75856813 1px,transparent 1px),linear-gradient(90deg,#75856813 1px,transparent 1px);background-size:25px 25px}.independent-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-53%);font-family:Arial,sans-serif;font-size:136px;line-height:1;font-weight:400;color:#6b7f5d}.independent-footer{position:absolute;left:22px;bottom:18px;right:22px;display:flex;justify-content:space-between;align-items:flex-end;font-size:7px;line-height:1.7;letter-spacing:.04em}.independent-footer>span:last-child{font-family:var(--font-body);font-size:23px;letter-spacing:-.065em}.journey-systems{background:#e5e8ee;color:#4c607e}.system-diagram{position:absolute;top:46px;right:23px;bottom:32px;left:23px;display:flex;align-items:center;justify-content:space-between;gap:32px}.system-core{background:#d3dae5;border:1px solid #aab8cc;padding:14px;font-size:11px;position:relative}.system-core>span{display:block;font-family:Arial,sans-serif;font-size:23px}.system-core:after{content:"";width:40px;position:absolute;top:50%;height:1px;background:#a0b1ca;left:100%}.system-nodes{display:grid;gap:7px;flex:1;max-width:140px;border-left:1px solid #9aabc4;padding-left:14px}.system-nodes>span{display:flex;gap:7px;align-items:center;font-size:7px;background:#f3f4f7;border:1px solid #ccd3df;padding:4px 6px}.system-nodes i,.systems-footer i{width:4px;height:4px;background:#7f90ab;display:inline-block;border-radius:50%}.systems-footer{font-size:7px;position:absolute;left:22px;bottom:17px}.systems-footer i{margin-right:5px}.journey-startup{background:#eae4d9;color:#87745a}.startup-graph{position:absolute;left:22px;right:22px;top:49px;bottom:45px}.startup-graph svg{width:100%;height:100%;overflow:visible}.startup-footer{position:absolute;bottom:17px;left:22px;right:22px;display:flex;align-items:baseline;justify-content:space-between}.startup-footer strong{font-size:23px;font-weight:400}.startup-footer>span{font-size:6px}.journey-hardware{background:#e5e7df;color:#73796a;background-image:radial-gradient(#aab29d55 .8px,transparent .8px);background-size:13px 13px}.chip{position:absolute;width:85px;height:85px;border:5px solid #686e61;background:#454d3d;color:#d7decb;display:grid;place-items:center;left:50%;top:50%;transform:translate(-50%,-43%) rotate(-9deg);box-shadow:5px 8px 10px #3a413122}.chip>span{font-size:12px;letter-spacing:.05em}.chip>i{position:absolute;width:63px;height:8px;background:repeating-linear-gradient(90deg,#949b8a 0 4px,transparent 4px 8px)}.chip>i:nth-of-type(1){top:-13px}.chip>i:nth-of-type(2){bottom:-13px}.chip>i:nth-of-type(3){left:-40px;transform:rotate(90deg)}.chip>i:nth-of-type(4){right:-40px;transform:rotate(90deg)}.hardware-footer{position:absolute;bottom:17px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:6px}.journey-end{display:flex;align-items:center;gap:15px;padding-left:72px;color:#707b62}.end-dot{border:1px solid #acb99d;border-radius:50%;width:9px;height:9px}.journey-end .mono{font-size:8px}.journey-end>span:last-child{margin-left:auto;font-size:19px;color:#80936a}.journey-editor{padding:20px 0 0 103px}.text-button{display:inline-flex;align-items:center;gap:8px;font-size:11px;background:transparent;border:0;padding:5px 0;color:var(--ink-soft)}.text-button:hover{color:var(--accent)}.editor-badge{font-size:7px;padding:2px 4px;border:1px solid var(--line);color:#797d72}.editor-status{font-size:11px;color:var(--ink-soft)}.chapter-form{margin:18px 0;padding:22px;border:1px solid var(--line)}.chapter-form>p{font-size:12px;margin-bottom:16px;color:var(--ink-soft)}.chapter-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;margin-bottom:14px}.chapter-form input,.chapter-form textarea{padding:9px 11px;background:#fffdf7;border:1px solid #cbd1bf;min-width:0;border-radius:2px;color:var(--ink);width:100%}.form-pair{display:grid;grid-template-columns:1fr 2fr;gap:15px}.section-subline{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.count-label{color:#7b8270;font-size:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px;margin-top:33px}.project-card{text-align:left;background:none;border:0;padding:0;display:flex;flex-direction:column;min-width:0;border-radius:1px}.project-image-wrap{position:relative;overflow:hidden;width:100%}.project-visual{aspect-ratio:1.48;width:100%;position:relative;overflow:hidden;transition:transform .55s cubic-bezier(.2,.6,.2,1);container-type:inline-size}.project-card:hover .project-visual{transform:scale(1.025)}.project-open{position:absolute;right:13px;bottom:13px;width:31px;height:31px;border-radius:50%;color:#51584a;background:#f7f8f1d9;display:grid;place-items:center;transition:color .2s,background .2s,transform .2s}.project-card:hover .project-open{background:var(--accent);color:#fff;transform:rotate(45deg)}.preview-corner{position:absolute;left:22px;top:17px;font-family:var(--mono);font-size:7px;letter-spacing:.08em;z-index:1}.project-meta{display:flex;justify-content:space-between;color:#6f775f;font-size:8px;text-transform:uppercase;margin:18px 0 6px;width:100%}.project-meta>span:first-child{color:var(--accent)}.project-card>h3{font-size:25px;line-height:1.3;letter-spacing:-.025em;margin-bottom:7px;transition:color .2s}.project-card:hover>h3{color:var(--accent)}.project-card>p{color:#6c7262;font-size:14px;line-height:1.8;max-width:340px;margin-bottom:12px}.project-link{display:flex;align-items:center;gap:10px;font-size:10px;color:#3f54a8;margin-top:auto}.visual-ledger{background:#dedfd7;color:#717668}.terminal-window{position:absolute;top:17%;left:8%;width:84%;background:#282e27;color:#d3dbc9;border-radius:6px;box-shadow:0 13px 28px #34413022;transform:rotate(-2deg);font-family:var(--mono);font-size:2.1cqw}.window-top{display:flex;gap:5px;align-items:center;padding:11px 13px;border-bottom:1px solid #ffffff10}.window-top i{width:5px;height:5px;background:#798470;border-radius:50%}.window-top i:first-child{background:#b6937f}.window-top i:nth-child(2){background:#b8ac7d}.window-top>span{color:#8d9983;margin-left:auto;font-size:1.6cqw;margin-right:5px}.terminal-body{padding:13px 19px 14px;line-height:1.7}.terminal-body em{color:#bbd69b;font-style:normal}.terminal-dim{color:#94a987;font-size:1.9cqw}.terminal-table{display:grid;grid-template-columns:1fr auto;gap:3px;margin:10px 0 8px}.terminal-table span:nth-child(-n+2){color:#7e8c72;font-size:1.7cqw}.terminal-table b{font-weight:400;color:#becfac}.terminal-total{border-top:1px solid #ffffff15;padding:8px 0;font-size:1.8cqw;color:#a6b39a;display:flex;justify-content:space-between}.terminal-cursor{display:inline-block;height:9px;width:5px;background:#aec496;vertical-align:middle}.visual-draftsman{background:#e9e3d7;color:#8a7d66}.drafts-window{position:absolute;top:19%;left:8%;width:92%;height:89%;background:#fffdf6;border:1px solid #d3cdbc;border-radius:5px;box-shadow:-6px 12px 20px #70654e19;transform:rotate(2deg);display:grid;grid-template-columns:31% 1fr;overflow:hidden}.drafts-sidebar{background:#f3f0e6;padding:7% 13%;border-right:1px solid #e4dfd2}.drafts-sidebar>b{color:#605f4d;font-size:8cqw;line-height:1;letter-spacing:-.08em;font-weight:500;display:block;margin:4px 0 23px}.drafts-sidebar>span{font-family:var(--mono);font-size:1.4cqw;letter-spacing:.03em;display:block;margin-bottom:13px}.drafts-sidebar>p{display:flex;justify-content:space-between;font-size:1.8cqw;margin-bottom:8px}.drafts-sidebar>p>i{font-style:normal;font-size:1.5cqw}.drafts-sidebar>small{font-size:1.7cqw;display:block;margin-top:25px}.drafts-document{padding:12% 11%}.drafts-document>span:first-child{font-family:var(--mono);font-size:1.5cqw;letter-spacing:.04em}.drafts-document h4{font-family:Georgia,serif;color:#4f5244;font-size:7cqw;letter-spacing:-.035em;line-height:1.1;margin:17px 0 12px}.drafts-document>p{font-family:Georgia,serif;font-size:2.2cqw;color:#92917b;line-height:1.6;margin-bottom:16px}.document-rule{width:100%;height:3px;background:#edeadf;margin:6px 0}.document-rule.short{width:80%}.document-link{font-family:Georgia,serif;font-size:2cqw;color:#8b937a;display:block;margin-top:17px}.visual-tinyqueue{background:#e2e6ef;color:#697b9c}.queue-diagram{position:absolute;top:26%;right:10%;bottom:8%;left:10%;display:flex;align-content:center;align-items:center;justify-content:center;flex-wrap:wrap;-moz-column-gap:16px;column-gap:16px;font-family:var(--mono)}.queue-source,.queue-destination{display:flex;align-items:center;gap:16px;font-size:3cqw}.queue-source>span,.queue-destination>span{font-size:5cqw;font-weight:300;color:#99a7c1}.queue-stack{display:flex;position:relative;height:26cqw;width:27cqw;align-items:center}.queue-stack span{width:15cqw;height:18cqw;display:grid;place-items:center;border:1px solid #a6b3cc;border-radius:4px;background:#f2f4f9;position:absolute;box-shadow:2px 4px 7px #61769911;font-size:4cqw}.queue-stack span:first-child{left:0;top:0;color:#97a4bd}.queue-stack span:nth-child(2){left:6cqw;top:4cqw;color:#8294b7}.queue-stack span:last-child{left:12cqw;top:8cqw;color:#4a68a2}.queue-destination b{font-size:5cqw;font-weight:400;width:9cqw;height:9cqw;background:#ccd7ce;border:1px solid #b5c5b6;border-radius:50%;display:grid;place-items:center;color:#68846a}.queue-diagram p{flex-basis:100%;text-align:center;margin-top:22px;font-size:2.5cqw;letter-spacing:-.025em}.queue-diagram small{font-size:1.45cqw;margin-top:5px;letter-spacing:.05em}.visual-sensor{background:#e2e5dc;color:#6d7862;background-image:radial-gradient(#89967b35 .6px,transparent .6px);background-size:12px 12px}.sensor-scene{position:absolute;top:13%;right:10%;bottom:5%;left:10%}.sensor-board{width:42cqw;background:#4c5b4a;margin:0 auto;padding:11px 15px 9px;border-radius:7px;border:3px solid #a6af9b;box-shadow:8px 12px 14px #34432d20,inset 0 0 0 1px #3f4b3c;position:relative;transform:rotate(-6deg);font-family:var(--mono)}.board-label{color:#c2ccb5;font-size:1.6cqw;margin-bottom:8px;display:block}.sensor-screen{background:#d7dfbe;padding:11px;border:5px solid #354133;border-radius:2px;color:#48543a;line-height:1.3}.sensor-screen>small{font-size:1.25cqw;letter-spacing:.06em;display:block}.sensor-screen>strong{font-size:7cqw;font-weight:400;letter-spacing:-.05em;display:block;margin:6px 0}.sensor-screen>strong>span{font-size:3cqw;margin-left:4px}.sensor-screen>p{font-size:3cqw}.sensor-screen>p>span{font-size:1.8cqw;margin-right:10px}.sensor-screen>p small{font-size:1.5cqw}.sensor-sparkline{font-size:2cqw;margin-top:10px;letter-spacing:.07em;white-space:nowrap;overflow:hidden}.board-status{font-size:1.2cqw;color:#c3cfb8;display:flex;gap:5px;align-items:center;margin-top:10px}.board-status>i{background:#c2e08b;width:4px;height:4px;border-radius:50%;box-shadow:0 0 4px #d1e99b}.sensor-screws i{position:absolute;width:4px;height:4px;border-radius:50%;background:#35452e;border:1px solid #bdc2a8}.sensor-screws i:nth-child(1){left:4px;top:4px}.sensor-screws i:nth-child(2){right:4px;top:4px}.sensor-screws i:nth-child(3){left:4px;bottom:4px}.sensor-screws i:nth-child(4){right:4px;bottom:4px}.sensor-cable{width:21cqw;height:24cqw;border:4px solid #8c9982;border-radius:0 0 50% 50%;position:absolute;left:53%;top:35%;transform:rotate(-45deg)}.sensor-caption{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:2.6cqw;margin-top:15px}.writing-list{margin-top:33px;border-top:1px solid var(--line)}.writing-row{border-bottom:1px solid var(--line)}.writing-row h3>button{border:0;padding:25px 0;width:100%;display:flex;gap:26px;text-align:left;align-items:center;background:none;transition:color .2s}.note-index{color:#8b927d;font-size:9px;align-self:center}.note-main{display:flex;flex-direction:column;gap:6px}.note-meta{text-transform:uppercase;font-size:7px;color:#818775;letter-spacing:.07em}.note-meta>span{margin:0 8px;color:#afb3a5}.note-title{font-size:clamp(21px,2vw,27px);letter-spacing:-.025em;font-weight:500;line-height:1.35}.note-toggle{margin-left:auto;width:29px;height:29px;display:grid;place-items:center;color:#879078}.note-toggle svg{transition:transform .2s}.writing-row.is-expanded .note-toggle svg{transform:rotate(45deg)}.writing-row h3>button:hover,.writing-row.is-expanded h3>button{color:var(--accent)}.note-excerpt{margin:0 45px;padding-bottom:27px;max-width:650px;animation:fade-in .2s ease}.note-excerpt>span{color:var(--accent);font-size:8px}.note-excerpt>p{margin-top:10px;font-size:14px;color:#646e58;line-height:1.8}.archive-link{margin-top:18px;font-size:10px}.resume-banner{position:relative;overflow:hidden;background:#e9ecdf;border:1px solid #dce1cf;margin-top:77px;padding:33px 30px;display:flex;align-items:center;gap:25px}.resume-paper{flex:0 0 57px;width:57px;height:80px;background:#fffef6;border:1px solid #d4dac7;padding:7px 9px;transform:rotate(-9deg);box-shadow:3px 4px #d9decd}.resume-paper>span{font-family:var(--mono);font-size:15px;color:#62714f;font-weight:400;line-height:1;letter-spacing:-.08em;margin-bottom:7px;display:block}.resume-paper i{display:block;width:100%;height:1px;background:#d0d5c6;margin-bottom:3px}.resume-paper i:nth-child(3n){width:80%}.resume-paper b{display:block;height:2px;background:#a3af94;margin:6px 0 5px;width:60%}.resume-banner-copy>span{font-size:7px;letter-spacing:.1em;color:#758267}.resume-banner h2{font-size:28px;letter-spacing:-.025em;font-weight:500;line-height:1.25;margin:5px 0}.resume-banner p{font-size:11px;color:#6a765d;max-width:290px}.resume-banner .button{margin-left:auto;flex-shrink:0}.contact-section{margin-top:95px}.contact-top{display:flex;align-items:center;justify-content:space-between;color:#788368;font-size:8px;margin-bottom:32px}.contact-top>span:last-child{display:flex;align-items:center;gap:9px}.contact-section h2{font-size:clamp(40px,4.2vw,65px);font-weight:500;letter-spacing:-.04em;line-height:1.1;position:relative}.contact-section h2 em{font-style:normal;color:var(--accent)}.contact-star{position:absolute;right:5%;top:-6px;font-size:87px;color:#9ba98b;line-height:1}.contact-section>p{color:#747d68;font-size:13px;line-height:1.8;margin-top:24px}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:29px 0 75px}.contact-email{display:flex;align-items:center;gap:20px;border-bottom:1px solid #9eafc9;font-size:clamp(15px,2.05vw,27px);padding-bottom:8px;letter-spacing:-.035em;transition:color .2s}.contact-email:hover{color:var(--accent)}.copy-button{border:1px solid #d0d6c6;background:transparent;border-radius:3px;width:34px;height:34px;display:grid;place-items:center;color:#869576;align-self:flex-start}.copy-button:hover{color:var(--accent);border-color:var(--accent)}.copy-status{font-size:10px;color:var(--ink-soft)}.portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0 30px;border-top:1px solid var(--line);font-size:7px;color:#7b8570}.portfolio-footer>a{display:inline-flex;align-items:center;gap:12px}.portfolio-footer>a:hover{color:var(--accent)}.icon-button{border:1px solid var(--line);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink)}.project-dialog{position:fixed;padding:0;margin:auto;border:1px solid #c9d0bf;border-radius:5px;width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 60px);color:var(--ink);background:var(--paper);overscroll-behavior:contain}.project-dialog::backdrop{background:#1b2216a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{position:relative}.dialog-close{position:absolute;top:12px;right:12px;z-index:2}.dialog-close:hover{background:#fff}.dialog-content>.project-visual{aspect-ratio:1.8}.dialog-copy{padding:28px 35px 35px}.dialog-copy>.mono{color:#6d7e5a;font-size:9px;text-transform:uppercase}.dialog-copy h2{font-size:44px;letter-spacing:-.025em;line-height:1.15;margin:5px 0 10px}.dialog-description{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:16px}.dialog-copy .tags>span{font-size:10px}.project-principle{border-top:1px solid var(--line);margin:25px 0;padding-top:20px}.project-principle>span{color:var(--accent);font-size:8px}.project-principle p{color:var(--ink-soft);font-size:13px;line-height:1.8;margin-top:10px}.resume-page{padding:35px 0 60px}.resume-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.resume-sheet{max-width:940px;margin:0 auto;padding:38px;border:1px solid var(--line);background:#fdfcf7;box-shadow:0 4px 24px #414b3210}.resume-sheet>header{display:flex;justify-content:space-between;gap:22px;padding-bottom:23px;border-bottom:2px solid var(--ink)}.resume-sheet header .mono{font-size:7px;color:#7d886e}.resume-sheet h1{font-size:clamp(36px,3.6vw,52px);letter-spacing:-.035em;line-height:1.2;margin:8px 0}.resume-sheet h1>span{color:var(--accent)}.resume-summary{font-size:11px;color:#6b765d}.resume-contact{display:flex;flex-direction:column;justify-content:center;font-size:11px;gap:5px;color:#6b765d}.resume-contact a:hover{color:var(--accent)}.resume-sheet section>h2{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 18px;font-size:21px;letter-spacing:-.035em}.resume-sheet section>h2>span{font-family:var(--mono);font-size:7px;color:#889479;letter-spacing:.04em}.resume-entry{display:grid;grid-template-columns:46px 1fr;gap:16px;margin-bottom:20px}.resume-entry>span{color:var(--accent);font-size:10px}.resume-entry h3{font-size:13px;font-weight:550;line-height:1.4}.resume-place{font-size:10px;color:#758365}.resume-entry p,.resume-projects p{font-size:12px;line-height:1.65;color:#67735a;margin-top:5px}.resume-projects{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}.resume-projects h3{display:flex;align-items:baseline;gap:12px;font-size:13px}.resume-projects h3>span{font-size:10px;color:#7a866b;font-weight:400}.resume-sheet>footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:30px;font-size:8px;color:#7d8a6d}.not-found{padding:100px 0}.not-found>.mono{color:var(--accent)}.not-found h1{font-size:130px;line-height:1.4;letter-spacing:-.09em}.not-found h1>span{color:var(--accent)}.not-found h2{font-size:30px;letter-spacing:-.04em}.not-found>p:not(.mono){margin:15px 0 28px;color:var(--ink-soft)}.page-loading{padding:100px 0;color:var(--ink-soft);font-family:var(--mono);font-size:12px}.spread{padding:70px 0}.eyebrow{font-family:var(--mono);color:var(--accent);font-size:10px;letter-spacing:.08em;margin-bottom:20px}.hand{font-family:var(--mono)}.prose-cozy{color:var(--ink-soft)}.prose-cozy p{margin-bottom:20px}.prose-cozy a{text-decoration:underline}.font-hand{font-family:var(--mono)}.font-display{font-family:var(--font-display)}.spread .italic{font-style:normal}.spread .underline{text-decoration:none}@keyframes fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (min-width: 1700px){.portfolio-main{margin-right:auto;padding-left:88px;padding-right:88px}.hero-layout{padding-top:70px}.hero-copy h1{font-size:118px}.hero-description{font-size:15px;max-width:390px}.hero-eyebrow{font-size:10px}.chapter-body{font-size:14px}.project-card>p{font-size:14px}}@media (max-height: 780px) and (min-width: 901px){.sidebar{padding-top:28px}.brand{font-size:52px;padding-bottom:27px}.nav-label{margin-top:29px}.sidebar-link{height:43px}.sidebar-bottom{padding-top:30px}.sidebar-note{font-size:12px}.sidebar-socials{margin:15px 0 20px}}@media (max-width: 1150px){:root{--sidebar-width: 224px}.sidebar{padding-left:23px;padding-right:23px}.sidebar-link.active:before{left:-23px}.availability{font-size:9px}.hero-layout{gap:26px}.hero-copy h1{font-size:76px}.hero-eyebrow{font-size:7px;letter-spacing:.07em}.hero-aside{padding-top:39px}.hero-stats{gap:19px}.hero-foot-note{max-width:130px;line-height:1.9}.section-meta{font-size:7px}.chapter{grid-template-columns:48px 1fr .8fr;gap:23px}.timeline:before{left:59px}.chapter-marker>i{left:56px}.chapter-marker{font-size:15px}.chapter-content{padding-left:7px}.chapter-content h3{font-size:25px}.chapter-body{font-size:12px;margin:12px 0}.journey-visual{aspect-ratio:1.12;padding:17px}.visual-caption{font-size:6px}.independent-symbol{font-size:120px}.system-diagram{top:44px;right:17px;bottom:29px;left:17px;gap:15px}.system-core{padding:9px}.system-nodes{padding-left:9px}.system-core:after{width:22px}.journey-end{padding-left:55px}.journey-editor{padding-left:78px}.project-grid{gap:32px 24px}.contact-star{font-size:67px;right:0}.resume-banner{padding:28px 22px;gap:18px}.resume-banner h2{font-size:24px}.resume-banner .button{padding:11px 14px;gap:14px}.resume-paper{flex-basis:47px;width:47px;height:74px}.queue-diagram{-moz-column-gap:9px;column-gap:9px}.queue-source,.queue-destination{gap:9px}}@media (max-width: 900px){:root{--sidebar-width: 0px}.mobile-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 27px;background:#f6f4eef5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:70}.mobile-brand{display:flex;align-items:baseline;font-family:var(--mono);font-size:28px;letter-spacing:-.065em;font-weight:500}.mobile-brand>span:first-child{color:var(--accent)}.mobile-name{font-family:var(--font-body);font-style:normal;font-size:11px;letter-spacing:-.01em;margin-left:15px;font-weight:400}.mobile-header .icon-button{background:transparent;border:none;width:44px;height:44px}.sidebar{inset:68px 0 0 auto;width:280px;padding:25px 28px;transform:translate(100%);visibility:hidden;transition:transform .25s,visibility .25s}.sidebar.is-open{transform:none;visibility:visible}.sidebar .brand{display:none}.sidebar-identity p{font-size:21px}.sidebar-identity>span{font-size:13px}.availability{font-size:10px}.sidebar-link{height:48px}.nav-label{margin-top:25px}.sidebar-bottom{padding-top:25px}.sidebar-note{display:none}.sidebar-socials{margin:0 0 15px}.menu-scrim{display:block;position:fixed;top:68px;right:0;bottom:0;left:0;background:#1d251764;border:0;z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reading-progress{z-index:80}.portfolio-main{padding:0 40px}.hero-layout{padding-top:40px;gap:40px}.hero-copy h1{font-size:clamp(64px,10vw,90px)}.hero-eyebrow{font-size:7px}.hero-description{font-size:14px}.hero-statement{font-size:29px}.hero-aside{padding-top:40px}.hero-foot-note{max-width:none}.content-section{padding-top:75px}.section-heading h2{font-size:32px}.chapter{grid-template-columns:48px 1fr .85fr;gap:24px}.chapter-content h3{font-size:27px}.chapter-body{font-size:13px}.journey-visual{aspect-ratio:1.25}.journey-end{padding-left:55px}.contact-section h2{font-size:53px}.contact-star{right:2%;font-size:75px}.contact-email{font-size:24px}html{scroll-padding-top:88px}}@media (max-width: 650px){.portfolio-main{padding:0 24px}.hero-layout{grid-template-columns:1fr;gap:35px;padding:34px 0 30px}.hero-eyebrow{font-size:8px;margin-bottom:24px}.hero-copy h1{font-size:clamp(64px,20vw,108px)}.hero-statement{font-size:29px;margin-top:26px}.hero-description{font-size:14px;max-width:400px;margin-top:15px}.button{font-size:12px;min-height:48px}.hero-aside{padding-top:0}.workbench-image{aspect-ratio:1.45}.workbench-figure figcaption{margin-top:17px;gap:15px}.image-spark{font-size:42px}.workbench-figure figcaption p{font-size:11px}.workbench-figure figcaption em{font-size:15px}.hero-location{margin-top:18px;padding-top:16px;font-size:8px}.hero-foot{gap:12px;padding:17px 0}.hero-foot-note{max-width:105px;font-size:6px;line-height:1.8}.hero-stats{gap:18px}.hero-stats>span{flex-direction:column;align-items:start;gap:3px}.hero-stats strong{font-size:25px}.hero-stats>span>span{font-size:8px}.scroll-circle{width:30px;height:30px;margin-left:0}.content-section{padding-top:62px}.section-heading{gap:11px;padding-bottom:17px;flex-wrap:wrap}.section-heading h2{font-size:clamp(27px,6.7vw,35px)}.section-number{font-size:9px}.section-meta{font-size:6px;letter-spacing:.04em}.projects-section .section-meta{display:none}.section-intro{font-size:12px;line-height:1.75}.section-subline{display:block}.count-label{font-size:7px;margin-top:10px;display:block}.timeline{margin-top:30px}.timeline:before{left:6px;bottom:30px;top:15px}.chapter{grid-template-columns:1fr;gap:0;padding-left:27px;padding-bottom:37px}.chapter-marker{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}.chapter-marker>i{left:-24px;top:7px}.chapter-marker small{margin:0;font-size:7px}.chapter-content{padding-left:0}.chapter-place{font-size:7px;margin-bottom:10px}.chapter-content h3{font-size:25px}.chapter-body{margin:13px 0 16px;max-width:100%;font-size:13px}.tags>span{font-size:8px;padding:4px 8px}.journey-visual{margin-top:22px;aspect-ratio:1.6;padding:19px}.visual-caption{font-size:7px}.independent-symbol{font-size:128px}.system-diagram{top:39px;right:28px;bottom:29px;left:28px;gap:38px}.system-core{padding:10px 15px;font-size:10px}.system-core:after{width:45px}.system-nodes{padding-left:15px;gap:5px}.system-nodes>span{font-size:7px;padding:3px 6px}.systems-footer{font-size:6px;bottom:12px}.chip{width:72px;height:72px}.chip>span{font-size:10px}.chip>i{width:54px}.chip>i:nth-of-type(3){left:-36px}.chip>i:nth-of-type(4){right:-36px}.journey-end{padding-left:2px;gap:15px}.journey-end .mono{font-size:7px}.journey-editor{padding-left:27px}.editor-badge{font-size:6px}.chapter-form{padding:17px}.form-pair{grid-template-columns:1fr;gap:0}.project-grid{grid-template-columns:1fr;gap:33px;margin-top:23px}.project-visual{aspect-ratio:1.45}.project-meta{font-size:8px;margin-top:16px}.project-card>h3{font-size:28px}.project-card>p{font-size:13px;max-width:100%}.project-link{font-size:11px}.preview-corner{font-size:7px}.queue-diagram{-moz-column-gap:16px;column-gap:16px}.queue-source,.queue-destination{gap:16px}.writing-list{margin-top:25px}.writing-row h3>button{gap:15px;padding:22px 0}.note-title{font-size:23px}.note-index{font-size:8px}.note-meta{font-size:6px}.note-main{gap:8px}.note-meta>span{margin:0 4px}.note-excerpt{margin:0 0 0 29px}.note-excerpt>p{font-size:13px}.archive-link{font-size:9px}.resume-banner{flex-wrap:wrap;margin-top:53px;padding:27px 22px;gap:22px}.resume-paper{flex-basis:45px}.resume-banner-copy{flex:1}.resume-banner h2{font-size:25px;line-height:1.25;margin:8px 0}.resume-banner p{font-size:11px}.resume-banner .button{width:100%;margin-left:0;padding:13px 17px}.contact-section{margin-top:64px}.contact-top{font-size:7px;margin-bottom:24px}.contact-section h2{font-size:clamp(34px,8.7vw,52px)}.contact-star{display:none}.contact-section>p{font-size:12px;margin-top:21px}.desktop-break{display:none}.contact-actions{margin:22px 0 47px;gap:12px}.contact-email{font-size:clamp(16px,4.3vw,23px);gap:12px}.contact-email svg{width:18px}.copy-button{width:30px;height:30px}.portfolio-footer{flex-wrap:wrap;font-size:6px;gap:15px;padding-bottom:25px}.portfolio-footer>span:nth-child(2){display:none}.portfolio-footer>a{gap:7px}.project-dialog{max-height:calc(100dvh - 30px)}.dialog-content>.project-visual{aspect-ratio:1.4}.dialog-copy{padding:25px}.dialog-copy h2{font-size:35px}.dialog-description{font-size:14px}.resume-page{padding:25px 0}.resume-toolbar .button{font-size:9px;gap:10px;padding:11px}.resume-toolbar .text-button{font-size:10px}.resume-sheet{padding:24px 20px}.resume-sheet>header{flex-direction:column;gap:16px}.resume-sheet h1{font-size:35px}.resume-contact{font-size:10px}.resume-sheet section>h2{font-size:22px}.resume-entry{grid-template-columns:35px 1fr;gap:10px}.resume-entry p{font-size:11px}.resume-entry h3{font-size:14px}.resume-projects{grid-template-columns:1fr;gap:19px}.resume-projects p{font-size:11px}.resume-sheet>footer{flex-direction:column}.not-found{padding:60px 0}.not-found h1{font-size:100px}.not-found h2{font-size:25px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{@page{size:A4;margin:12mm}html,body,:root{background:#fff;color:#222;font-size:10pt}.sidebar,.mobile-header,.reading-progress,.skip-link,.resume-toolbar,.menu-scrim{display:none!important}.portfolio-main{margin:0;padding:0;max-width:none}.resume-page{padding:0}.resume-sheet{padding:0;border:0;box-shadow:none;background:#fff}.resume-sheet>header{flex-direction:row;padding-bottom:15px}.resume-sheet h1{font-size:32px}.resume-summary{font-size:11px}.resume-sheet header .mono{font-size:8px}.resume-contact{font-size:9px}.resume-sheet section>h2{font-size:19px;margin:18px 0 14px}.resume-entry{grid-template-columns:40px 1fr;gap:16px;margin-bottom:13px;-moz-column-break-inside:avoid;break-inside:avoid}.resume-entry h3{font-size:13px}.resume-entry p,.resume-projects p{font-size:10px;line-height:1.5;color:#444}.resume-place{font-size:9px}.resume-projects{grid-template-columns:1fr 1fr;gap:13px 24px}.resume-projects>div{-moz-column-break-inside:avoid;break-inside:avoid}.resume-projects h3{font-size:13px}.resume-sheet>footer{flex-direction:row;padding-top:12px;margin-top:20px}}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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))}.hover\:-translate-y-px:hover{--tw-translate-y: -1px;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))}.hover\:translate-y-0\.5:hover{--tw-translate-y: .125rem;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))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-paper:hover{color:var(--paper)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_2px_0_color-mix\(in_srgb\,var\(--accent\)_50\%\,black\)\]:hover{--tw-shadow: 0 2px 0 color-mix(in srgb,var(--accent) 50%,black);--tw-shadow-colored: 0 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_8px_22px_var\(--paper-shadow\)\]:hover{--tw-shadow: 0 8px 22px var(--paper-shadow);--tw-shadow-colored: 0 8px 22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:\[transform\:translateY\(-2px\)_scale\(1\.08\)\]:hover{transform:translateY(-2px) scale(1.08)}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:bg-paper:focus{background-color:var(--paper)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:\[transform\:translateY\(-2px\)_scale\(1\.08\)\]:focus{transform:translateY(-2px) scale(1.08)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}.group:hover .group-hover\:text-accent{color:var(--accent)}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.sm\:gap-6{gap:1.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.lg\:grid-cols-\[1fr_1\.15fr\]{grid-template-columns:1fr 1.15fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.05fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}.lg\:gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.lg\:\[direction\:rtl\]{direction:rtl}}.workbench-image,.journey-photo-button,.journey-product-media,.side-project-art,.career-visual{border-radius:var(--image-radius)}.hero-community-image img{-o-object-position:64% center;object-position:64% center;filter:none}.hero-community-image .image-index{background:#172016aa;padding:5px 8px;bottom:14px;left:14px}.chapter{align-items:start}.chapter-content{padding-top:0}.chapter-period{font-size:10px;color:#728064;margin-top:12px;letter-spacing:.005em}.chapter-period+.chapter-body{margin-top:10px}.journey-product{display:block;width:100%;min-width:0;align-self:start}.journey-product-media{position:relative;aspect-ratio:1.05;overflow:hidden;background:#eaf7fa}.journey-product-logo{position:absolute;width:34%;height:auto;left:7%;top:7%}.journey-product-art{position:absolute;width:86%;height:86%;-o-object-fit:contain;object-fit:contain;bottom:-1%;right:0;transition:transform .5s ease}.journey-product-phone .journey-product-media{width:100%;aspect-ratio:.92;max-height:360px;background:#f1e8ee}.journey-product-phone .journey-product-art{top:7%;right:7%;bottom:auto}.journey-product:hover .journey-product-art{transform:translateY(-3px)}.journey-product-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:11px;color:var(--accent)}.journey-artwork{display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:1.5;padding:12px;border:1px solid var(--line);border-radius:var(--image-radius);overflow:hidden;background:#fff}.journey-artwork img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain}@media (max-width: 650px){.chapter>.journey-artwork{margin-top:22px}}.journey-photographs{width:100%;min-width:0}.journey-photo-button{display:block;width:100%;padding:0;border:0;position:relative;overflow:hidden;background:#e5e7df;text-align:left}.journey-photo-button>img{display:block;width:100%;height:auto;transition:transform .5s ease}.journey-photo-button:hover>img{transform:scale(1.02)}.photo-enlarge{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;background:#f6f4eef0;color:var(--ink);border-radius:50%;transition:color .2s,background .2s}.journey-photo-button:hover .photo-enlarge{background:var(--accent);color:#fff}.journey-photo-caption{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:11px 0 0;color:#727c65}.journey-photo-caption>.mono{font-size:8px;line-height:1.7;letter-spacing:.035em}.journey-photo-caption .photo-count{flex-shrink:0;color:#929a86;font-size:6px;padding-top:2px}.journey-photo-extras{margin-top:17px}.journey-photo-extras>button{display:flex;width:100%;align-items:center;gap:12px;padding:10px;border:1px solid #d9dece;border-radius:12px;background:#eeeee6;text-align:left;transition:background .2s}.journey-photo-extras>button:hover{background:#e6e9df}.journey-photo-extras img{width:46px;height:46px;border-radius:6px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.journey-photo-extras>button>span{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#69785b}.journey-photo-extras .mono{font-size:6px;color:#889578;letter-spacing:.05em}.journey-photo-extras svg{margin-left:auto;color:#728c58}.career-visual{position:relative;overflow:hidden;width:100%;aspect-ratio:1.35;padding:22px;background:#e5e9dc;color:#586f47;container-type:inline-size}.career-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#6472510b 1px,transparent 1px),linear-gradient(90deg,#6472510b 1px,transparent 1px);background-size:23px 23px;pointer-events:none}.career-visual-eyebrow{font-size:2.1cqw;position:relative;display:block;letter-spacing:.11em}.career-visual-name{position:absolute;left:22px;bottom:29%;font-family:var(--font-display);font-size:9cqw;line-height:1.1;font-weight:500;letter-spacing:-.025em;white-space:pre-line}.career-visual-subtitle{position:absolute;bottom:16%;left:22px;font-size:2.8cqw;color:#667b56}.career-visual-foot{position:absolute;bottom:16px;left:22px;right:22px;font-size:1.9cqw;border-top:1px solid #64725125;padding-top:9px}.career-visual-mark{position:absolute;top:16%;right:-5px;font-size:26cqw;letter-spacing:-.08em;font-weight:500;line-height:1;opacity:.1}.career-sago{background:#e9e8d2;color:#6d7542}.career-sago .career-visual-mark{font-size:27cqw;right:-6%;top:19%;transform:rotate(-12deg)}.career-truluv{background:#eae1df;color:#8b625f}.career-truluv .career-visual-subtitle{color:#9b7974}.career-truluv .career-visual-mark{font-size:51cqw;top:14%;right:2%}.career-vr{background:#e0e5ee;color:#536a98}.career-vr .career-visual-subtitle{color:#6a7da1}.career-vr .career-visual-mark{font-size:49cqw;right:-2%;top:4%}.career-community .career-visual-mark{font-size:80cqw;top:-12%;right:-4%}.career-community .career-visual-name{font-size:8.2cqw}.career-origins{background:#e9e2d9;color:#8b735c}.career-origins .career-visual-subtitle{color:#958268}.career-origins .career-visual-mark{font-size:47cqw}.project-visual>.career-visual{height:100%;aspect-ratio:auto}.project-photo{background:#282823}.project-photo img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-visual .career-visual-name{font-size:8.5cqw}.projects-section .section-heading h2{font-size:clamp(26px,2.5vw,38px)}.project-meta{gap:10px;flex-wrap:wrap}.side-project-list{display:grid;gap:32px;margin-top:32px}.side-project{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(25px,3vw,44px);align-items:center;padding-bottom:34px;border-bottom:1px solid var(--line)}.side-project-art{display:block;min-width:0;overflow:hidden;background:#0c101b}.side-project-art .project-visual{aspect-ratio:1200 / 630}.side-project-art .project-photo img{-o-object-fit:contain;object-fit:contain}.side-project-art:hover .project-visual{transform:scale(1.025)}.side-project-copy{min-width:0}.side-project-kind{font-size:8px;text-transform:uppercase;color:var(--accent)}.side-project-copy h3{font-size:clamp(28px,2.8vw,40px);line-height:1.2;letter-spacing:-.035em;margin:12px 0}.side-project-description{font-size:14px;line-height:1.8;color:var(--ink-soft)}.side-project-copy .tags{margin-top:17px}.side-project-copy .button{margin-top:24px}@media (max-width: 650px){.journey-product{margin-top:22px}.side-project{grid-template-columns:1fr;gap:25px;padding-bottom:28px}.side-project-list{margin-top:24px}.side-project-copy h3{font-size:30px}.side-project-copy .button{width:100%}}.photo-viewer{padding:0;margin:auto;background:#20241f;color:#f3f4eb;border:1px solid #505947;border-radius:var(--image-radius);width:min(1080px,calc(100% - 48px));max-height:calc(100dvh - 48px);overscroll-behavior:contain}.photo-viewer::backdrop{background:#151a14cf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.photo-viewer-content{padding:18px 24px 15px}.photo-viewer-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.photo-viewer-top .mono{color:#b9c2ad;font-size:9px}.photo-viewer-top .icon-button{background:transparent;color:#e8eddf;border-color:#67735b}.photo-viewer-top .icon-button:hover{background:#ffffff10}.photo-viewer-image{width:100%;max-height:calc(100dvh - 234px);display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:calc(var(--image-radius) - 8px);background:#161b15}.photo-viewer-image img{display:block;max-width:100%;max-height:calc(100dvh - 234px);width:auto;height:auto;border-radius:calc(var(--image-radius) - 8px);-o-object-fit:contain;object-fit:contain}.photo-viewer figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;font-size:12px;color:#e0e6d7}.photo-viewer figcaption>.mono{flex-shrink:0;font-size:9px;color:#b2bfa4}.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:11px;border-top:1px solid #a9b89528}.photo-viewer-controls>.mono{font-size:7px;color:#899d76}.photo-viewer-controls .text-button{color:#d8e1cc;min-height:34px}.photo-viewer-controls .text-button:hover{color:#fff}.resume-career-sheet .resume-summary{max-width:470px;line-height:1.7}.resume-career-sheet>header{align-items:start}.resume-career-sheet .resume-contact{flex-shrink:0;padding-top:4px}.resume-role{padding:0 0 20px;margin-bottom:19px;border-bottom:1px solid #dfe4d6;-moz-column-break-inside:avoid;break-inside:avoid}.resume-role:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.resume-role-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.resume-role-heading h3{font-size:16px;line-height:1.35;font-weight:550;letter-spacing:-.025em}.resume-role-heading>span{font-size:10px;color:#758463;flex-shrink:0}.resume-role-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 14px;margin-top:5px;font-size:11px}.resume-role-meta>strong{font-weight:500;color:#4c60a5}.resume-role-meta>span{color:#7c8970}.resume-role>p{font-size:12px;line-height:1.75;color:#667559;margin-top:9px}.resume-additional{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid #bfc9b1;margin-top:25px}.resume-additional section{-moz-column-break-inside:avoid;break-inside:avoid}.resume-additional section>h2{font-size:19px;margin:24px 0 15px}.resume-milestones{list-style:none;padding:0;margin:0;display:grid;gap:12px}.resume-milestones li{display:flex;flex-direction:column;gap:3px;font-size:11px}.resume-milestones strong{font-weight:550}.resume-milestones li>span{color:#6d7c60}.resume-education{margin-bottom:14px}.resume-education h3{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:12px;font-weight:550}.resume-education h3>span{font-weight:400;font-size:10px;color:#7d8b6f}.resume-education p{font-size:11px;color:#68785b;margin-top:4px}.resume-education small{font-size:9px;color:#859378;display:block;margin-top:3px}.resume-detail-text,.resume-languages{font-size:11px;color:#667559;line-height:1.9}.resume-languages{list-style:none;padding:0;margin:0}@media (max-width: 1150px){.career-visual{padding:17px;aspect-ratio:1.2}.career-visual-name,.career-visual-subtitle{left:17px}.career-visual-foot{left:17px;right:17px}.journey-photo-caption>.mono{font-size:7px}.journey-photo-caption .photo-count{display:none}.resume-career-sheet>header{flex-direction:column;gap:15px}}@media (max-width: 650px){.hero-community-image{aspect-ratio:1.45}.chapter-period{font-size:10px}.journey-photographs,.chapter>.career-visual{margin-top:22px}.career-visual{aspect-ratio:1.5;padding:20px}.career-visual-name,.career-visual-subtitle{left:20px}.career-visual-foot{left:20px;right:20px}.career-visual-name{font-size:9cqw}.career-visual-subtitle{font-size:2.7cqw;bottom:17%}.career-visual-foot{font-size:1.9cqw;bottom:13px}.journey-photo-caption>.mono{font-size:8px}.journey-photo-extras>button>span{font-size:11px}.journey-photo-extras .mono{font-size:7px}.projects-section .section-heading h2{font-size:clamp(25px,6.3vw,34px)}.photo-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.photo-viewer-content{padding:12px}.photo-viewer-top .mono{font-size:7px}.photo-viewer-top{margin-bottom:12px}.photo-viewer figcaption{font-size:11px;line-height:1.7}.photo-viewer-controls .text-button{font-size:10px}.photo-viewer-controls>.mono{display:none}.photo-viewer-image,.photo-viewer-image img{max-height:calc(100dvh - 215px)}.photo-viewer figcaption>.mono{font-size:8px}.resume-role-heading{flex-direction:column;gap:6px}.resume-role-heading h3{font-size:17px}.resume-role-meta{flex-direction:column;gap:3px}.resume-role>p{font-size:12px}.resume-additional{grid-template-columns:1fr;gap:0}.resume-additional section>h2{font-size:21px}.resume-detail-text,.resume-languages,.resume-milestones li{font-size:12px}}@media (prefers-reduced-motion: reduce){.journey-photo-button>img,.photo-enlarge{transition:none}}@media print{.resume-career-sheet>header{flex-direction:row}.resume-career-sheet .resume-summary{font-size:10px}.resume-career-sheet .resume-contact{font-size:9px}.resume-role{padding-bottom:10px;margin-bottom:10px}.resume-role-heading{flex-direction:row;gap:14px}.resume-role-heading h3{font-size:12px}.resume-role-heading>span{font-size:8px}.resume-role-meta{flex-direction:row;gap:10px;font-size:9px;margin-top:3px}.resume-role>p{font-size:10px;line-height:1.5;margin-top:5px;color:#444}.resume-additional{-moz-column-break-before:page;break-before:page;grid-template-columns:1fr 1fr;border:0;margin-top:0;-moz-column-gap:32px;column-gap:32px}.resume-additional section>h2{font-size:17px}.resume-detail-text,.resume-languages,.resume-milestones li,.resume-education p{font-size:10px}}.portfolio-shell{--section-space: 88px;--section-gutter: 36px}.content-section{padding-top:0;margin-top:var(--section-space)}.section-heading{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding-bottom:20px}.section-heading h2{font-size:clamp(28px,2.6vw,40px);line-height:1.2}.section-number{font-size:10px}.section-meta{margin:0;font-size:8px;line-height:1.7;letter-spacing:.04em}.content-section>.section-intro{margin-left:var(--section-gutter)}.section-intro{font-size:13px;line-height:1.8}.section-subline{padding-left:var(--section-gutter);gap:20px}.count-label{flex-shrink:0;font-size:8px}.hero-copy,.hero-aside{min-width:0}.hero-eyebrow{font-size:9px;letter-spacing:.06em}.hero-aside{padding-top:48px}.workbench-figure figcaption{gap:14px;align-items:center;margin-top:20px}.image-spark{display:flex;width:32px;height:32px;flex-shrink:0}.image-spark svg{display:block;width:100%;height:100%}.brand-star svg,.contact-star svg{display:block;width:1em;height:1em}.workbench-figure figcaption p{font-size:12px;line-height:1.7}.workbench-figure figcaption em{font-size:13px}.hero-stats>span{align-items:baseline}.hero-stats strong{font-variant-numeric:tabular-nums}.button{border-radius:8px;min-height:48px;font-size:12px;padding:12px 18px;gap:22px}.sidebar-resume{border-radius:8px;min-height:44px}.tags{gap:6px;align-items:start}.tags>span{border-radius:6px;font-size:9px;line-height:1.5;padding:4px 8px}.chapter-content{min-width:0}.chapter-place{font-size:9px;line-height:1.7;letter-spacing:.04em;margin-bottom:12px}.chapter-content h3{line-height:1.22;text-wrap:pretty}.chapter-body{line-height:1.85}.chapter-period{margin-top:12px;font-size:11px}.chapter-event-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;color:var(--accent)}.journey-photo-caption{gap:10px;padding-top:12px}.journey-photo-caption>.mono{font-size:9px;line-height:1.7}.journey-photo-caption .photo-count{display:none}.journey-product-link{margin-top:12px;min-height:32px;padding-bottom:10px}.side-project{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(24px,2.8vw,40px);padding:24px;border:1px solid var(--line);border-radius:calc(var(--image-radius) + 8px);background:#fbfaf6}.side-project-art{display:grid;min-height:260px;background:#0e1320}.side-project-art .project-visual{height:100%;aspect-ratio:auto}.side-project-art .project-photo{background:#0d111c}.side-project-copy{display:flex;flex-direction:column;align-items:start;padding:4px 0}.side-project-kind{font-size:9px;line-height:1.7;letter-spacing:.04em}.side-project-copy h3{margin:12px 0 14px}.side-project-description{font-size:14px;line-height:1.8}.side-project-copy .tags{margin:18px 0 24px}.side-project-copy .button{margin-top:auto}.side-project-art .project-video{background:#24292a}.side-project-art:hover .project-video{transform:none}.project-video video,.project-video>img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.project-video-control{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #ffffff35;border-radius:10px;background:#171b20e8;color:#f6f4ee;font-size:10px}.project-video-control:hover{background:#0f1318}.project-video-control:focus-visible{outline-color:#f6f4ee;outline-offset:3px}.game-jams{margin-top:52px;padding-top:36px;border-top:1px solid var(--line)}.game-jams-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.game-jams-eyebrow{font-size:8px;line-height:1.7;color:var(--accent);letter-spacing:.05em;margin-bottom:10px}.game-jams-heading h3{font-size:clamp(26px,2.5vw,34px);line-height:1.2;letter-spacing:-.025em}.game-jams-profile{display:inline-flex;align-items:center;gap:10px;min-height:44px;flex-shrink:0;color:var(--accent)}.game-jams-intro{margin-top:16px;max-width:560px;color:var(--ink-soft);font-size:13px;line-height:1.8}.game-jam-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;margin-top:28px}.game-jam-card{min-width:0}.game-jam-card>a{display:flex;flex-direction:column;align-items:start;height:100%;border-radius:var(--image-radius)}.game-jam-cover{width:100%;aspect-ratio:315 / 250;overflow:hidden;border-radius:var(--image-radius);background:#e5e7df}.game-jam-cover img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.game-jam-event{margin-top:16px;color:var(--accent);font-size:8px;line-height:1.7;letter-spacing:.025em}.game-jam-card h4{margin-top:7px;font-size:20px;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}.game-jam-description{margin-top:10px;margin-bottom:20px;color:var(--ink-soft);font-size:12px;line-height:1.8}.game-jam-link{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-top:auto;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--accent)}.game-jam-card>a:hover h4{color:var(--accent)}.game-jam-card>a:hover .game-jam-link{border-color:var(--accent)}@media (max-width: 1200px){.game-jam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 650px){.game-jams{margin-top:36px;padding-top:28px}.game-jams-heading{display:block}.game-jams-profile,.game-jams-intro{margin-top:8px}.game-jam-grid{gap:30px 20px}}@media (max-width: 520px){.game-jam-grid{grid-template-columns:minmax(0,1fr)}}.running-feature{margin:52px 0 0 var(--section-gutter);padding-top:32px;border-top:1px solid var(--line)}.running-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:end}.running-eyebrow{margin-bottom:10px;color:var(--accent);font-size:8px;letter-spacing:.06em}.running-heading h3{font-size:clamp(24px,2.3vw,32px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.running-description{color:var(--ink-soft);font-size:13px;line-height:1.8;max-width:460px}.running-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:24px;margin-top:24px}.running-photos>figure{min-width:0}.running-photos .journey-photo-button:hover>img{transform:none}@media (max-width: 650px){.running-feature{margin-top:36px;padding-top:28px}.running-heading,.running-photos{grid-template-columns:minmax(0,1fr);gap:20px}.running-heading{gap:12px}.running-heading h3{font-size:26px}}.beyond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;margin:32px 0 0 var(--section-gutter)}.beyond-card{min-width:0;padding-bottom:28px;border-bottom:1px solid var(--line)}.beyond-media{min-width:0}.beyond-media .journey-photo-button{aspect-ratio:3 / 2;background:#e7e6dd}.beyond-media .journey-photo-button>img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform:none}.beyond-copy{padding-top:20px;min-width:0}.beyond-meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-size:9px;line-height:1.7;letter-spacing:.025em}.beyond-meta>span:first-child{color:var(--accent)}.beyond-meta>span:last-child{color:var(--ink-soft)}.beyond-copy h3{margin-top:10px;font-size:clamp(24px,2.3vw,31px);line-height:1.25;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}.beyond-description{margin-top:14px;color:var(--ink-soft);font-size:14px;line-height:1.8}.beyond-event-link{display:inline-flex;align-items:center;gap:12px;margin-top:18px;min-height:44px;color:var(--accent)}.beyond-card-featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:calc(var(--image-radius) + 8px);background:#fbfaf6}.beyond-card-featured .journey-photo-button{aspect-ratio:4 / 3}.beyond-card-featured .beyond-copy{padding-top:0}.beyond-extra{display:flex;align-items:center;gap:12px;width:100%;margin-top:20px;padding:10px;text-align:left;background:#eeeee6;border:1px solid var(--line);border-radius:12px}.beyond-extra>img{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;border-radius:6px;flex-shrink:0}.beyond-extra>span{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;color:var(--ink-soft)}.beyond-extra .mono{font-size:8px;color:var(--accent)}.beyond-extra>svg{flex-shrink:0;margin-left:auto;color:var(--accent)}.beyond-extra:hover{background:#e6e9df}.resume-banner{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:24px;padding:28px;margin-top:var(--section-space);border-radius:var(--image-radius)}.resume-paper{width:48px;height:76px}.resume-banner-copy{min-width:0}.resume-banner h2{margin:8px 0;line-height:1.25}.resume-banner p{line-height:1.75}.resume-banner .button{margin:0;padding:12px 18px}.contact-section{margin-top:var(--section-space)}.contact-actions{display:grid;grid-template-columns:minmax(0,max-content) 40px;gap:8px 14px;align-items:center}.contact-email{min-width:0;min-height:44px;gap:14px;overflow-wrap:anywhere}.copy-button{width:40px;height:40px;border-radius:10px;align-self:center}.copy-status{grid-column:1 / -1}.copy-status:empty{display:none}@media (max-width: 1150px) and (min-width: 901px){.hero-eyebrow,.chapter-place{font-size:8px}.chapter-body{font-size:13px}.side-project{padding:20px;gap:24px}}@media (max-width: 900px){.portfolio-shell{--section-space: 76px}.section-heading{grid-template-columns:24px minmax(0,1fr)}.section-meta{grid-column:2;text-align:left}.hero-eyebrow{font-size:8px}.hero-foot-note{max-width:180px}}@media (max-width: 650px){.portfolio-shell{--section-space: 64px;--section-gutter: 30px}.section-heading{grid-template-columns:18px minmax(0,1fr);gap:8px 12px;padding-bottom:18px}.section-heading h2{font-size:clamp(27px,6.7vw,35px)}.projects-section .section-meta,.section-subline{display:block}.count-label{margin-top:8px}.hero-aside{padding-top:0}.hero-stats>span{align-items:start}.hero-foot{display:grid;grid-template-columns:1fr;gap:16px}.hero-foot-note{max-width:none;font-size:8px}.hero-stats{display:grid;grid-template-columns:1fr 1fr auto;gap:16px}.hero-stats>span>span{font-size:10px}.hero-stats .scroll-circle{width:36px;height:36px}.chapter-place{font-size:8px}.chapter{padding-bottom:44px}.side-project{grid-template-columns:minmax(0,1fr);padding:16px;gap:24px}.side-project-art{min-height:0;aspect-ratio:1200 / 630}.side-project-art .project-visual{aspect-ratio:1200 / 630;height:auto}.side-project-copy{padding:0 2px 2px}.side-project-copy h3{font-size:30px;margin:10px 0 12px}.side-project-copy .button{width:100%}.beyond-grid{grid-template-columns:minmax(0,1fr);margin-top:28px;gap:28px}.beyond-card-featured{grid-template-columns:minmax(0,1fr);padding:16px;gap:20px}.beyond-card{padding-bottom:24px}.beyond-meta{font-size:8px;gap:5px 12px}.beyond-copy h3{font-size:25px}.beyond-description{font-size:13px}.resume-banner{grid-template-columns:40px minmax(0,1fr);gap:20px;padding:22px}.resume-paper{width:40px;height:70px}.resume-banner .button{grid-column:1 / -1;width:100%}.contact-actions{grid-template-columns:minmax(0,1fr) 36px;gap:8px 10px}.contact-email{font-size:clamp(14px,3.8vw,22px);gap:8px}.contact-email svg{width:16px}.copy-button{width:36px;height:36px}.portfolio-footer{font-size:7px}}
