@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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-leading:initial;--tw-font-weight:initial;--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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:forwards;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-atkinson),system-ui,sans-serif;--default-mono-font-family:var(--font-plex-mono),"Courier New",monospace}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}*{box-sizing:border-box}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.min-h-\[100dvh\]{min-height:100dvh}.w-fit{width:fit-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.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}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-6{gap:calc(var(--spacing)*6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 6px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.font-sans{font-family:var(--font-atkinson),system-ui,sans-serif}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:forwards}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f8fb;--foreground:#081327;--card:#fff;--card-foreground:#081327;--popover:#fff;--popover-foreground:#081327;--primary:#1465e8;--primary-foreground:#fff;--secondary:#00abc8;--secondary-foreground:#03151a;--muted:#e6edf3;--muted-foreground:#46556c;--accent:#c8f35a;--accent-foreground:#102003;--destructive:#bd1e3c;--destructive-foreground:#fff;--border:#aebaca;--input:#aebaca;--ring:#1465e8;--chart-1:#1465e8;--chart-2:#00abc8;--chart-3:#7457d6;--chart-4:#f25f4b;--chart-5:#6c7b35;--radius:.45rem;--sidebar:#fff;--sidebar-foreground:#081327;--sidebar-primary:#1465e8;--sidebar-primary-foreground:#fff;--sidebar-accent:#e6edf3;--sidebar-accent-foreground:#081327;--sidebar-border:#aebaca;--sidebar-ring:#1465e8;--ease-out:cubic-bezier(.16,1,.3,1);--ease-snap:cubic-bezier(.34,1.56,.64,1);--ink:#07111f;--paper:#f4f8fb;--cyan:#18cdf7;--lime:#c8f35a;--day-surface:#e8f0f6;--day-surface-raised:#f8fbfd;--day-border:#9db0c3;--day-muted:#3e526b}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#07111f;--foreground:#f2f7ff;--card:#0e1b2e;--card-foreground:#f2f7ff;--popover:#0e1b2e;--popover-foreground:#f2f7ff;--primary:#52d7ff;--primary-foreground:#04121d;--secondary:#9cedff;--secondary-foreground:#04121d;--muted:#14243a;--muted-foreground:#b4c2d6;--accent:#c8f35a;--accent-foreground:#111d03;--destructive:#ff6b82;--destructive-foreground:#25030a;--border:#344860;--input:#4b6079;--ring:#52d7ff;--chart-1:#52d7ff;--chart-2:#c8f35a;--chart-3:#a88cff;--chart-4:#ff7e67;--chart-5:#8da8c8;--sidebar:#0e1b2e;--sidebar-foreground:#f2f7ff;--sidebar-primary:#52d7ff;--sidebar-primary-foreground:#04121d;--sidebar-accent:#14243a;--sidebar-accent-foreground:#f2f7ff;--sidebar-border:#344860;--sidebar-ring:#52d7ff;--day-surface:#0a1628;--day-surface-raised:#0e1b2e;--day-border:#344860;--day-muted:#b4c2d6}html{scroll-behavior:smooth;scroll-padding-top:68px}body{background:var(--background);min-width:0;color:var(--foreground);font-feature-settings:"rlig" 1,"calt" 1;text-rendering:optimizelegibility;margin:0;overflow-x:clip}::selection{background:var(--accent);color:var(--accent-foreground)}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--ring);outline-offset:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-frame{width:min(100% - 3rem,92rem);margin-inline:auto}.skip-link{z-index:100;border:2px solid var(--foreground);background:var(--accent);color:var(--accent-foreground);transition:translate .16s var(--ease-out);padding:.75rem 1rem;font-weight:700;position:fixed;top:.7rem;left:.7rem;translate:0 -180%}.skip-link:focus-visible{translate:0}.page-progress{z-index:80;transform-origin:0;background:linear-gradient(90deg,var(--primary),var(--accent));pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.site-header{z-index:60;border-bottom:1px solid var(--border);height:68px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--border)75%,transparent)}}.site-header{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--background)88%,transparent)}}.site-header{-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%)}.site-nav{justify-content:space-between;align-items:center;gap:1.5rem;height:68px;display:flex}.site-brand{align-items:center;gap:.8rem;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.site-brand>span{border:1px solid var(--foreground);background:var(--foreground);width:2.3rem;height:2.3rem;color:var(--background);font-family:var(--font-plex-mono),monospace;box-shadow:4px 4px 0 var(--primary);transition:translate .18s var(--ease-snap),box-shadow .18s var(--ease-snap);place-items:center;font-size:.67rem;font-weight:600;display:grid}.site-brand strong{font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.02em;font-size:1.06rem}.site-nav__actions,.site-nav__links{align-items:center;display:flex}.site-nav__actions{gap:.7rem}.site-nav__links{gap:.15rem;margin:0;padding:0;list-style:none}.site-nav__links a{min-height:44px;color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;align-items:center;padding-inline:.9rem;font-size:.73rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.site-nav__links a:after{content:"";transform-origin:100%;background:var(--primary);height:2px;transition:transform .18s var(--ease-out);position:absolute;inset:auto .9rem .52rem;transform:scaleX(0)}.site-nav__links a[data-active=true]{color:var(--foreground)}.site-nav__links a[data-active=true]:after{transform-origin:0;transform:scaleX(1)}.theme-toggle{border:1px solid var(--border);background:var(--card);width:44px;height:44px;color:var(--foreground);cursor:pointer;transition:transform .16s var(--ease-snap),border-color .18s ease,background-color .18s ease;border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.theme-toggle svg{stroke-width:1.8px;width:1rem;height:1rem}.theme-toggle:active{transform:scale(.94)}.portfolio-shell{overflow:clip}.section-label{color:var(--primary);font-family:var(--font-plex-mono),monospace;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.hero-section{border-bottom:1px solid var(--border);isolation:isolate;min-height:max(48rem,100svh - 68px);position:relative;overflow:hidden}.hero-section:before,.hero-section:after{content:"";pointer-events:none;position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-section:before{background-image:linear-gradient(color-mix(in srgb,var(--foreground)8%,transparent)1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--foreground)8%,transparent)1px,transparent 1px)}}.hero-section:after{z-index:-1;background:radial-gradient(circle,var(--primary),transparent 68%);border-radius:50%;width:40rem;height:40rem;bottom:-15rem;right:-8rem}@supports (color:color-mix(in lab, red, red)){.hero-section:after{background:radial-gradient(circle,color-mix(in srgb,var(--primary)24%,transparent),transparent 68%)}}.hero-section:after{filter:blur(16px)}.hero-layout{min-height:max(48rem,100svh - 68px);padding-block:clamp(2.5rem,5vw,5.5rem);position:relative}.hero-intro{z-index:5;color:var(--primary);margin:0;font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:700;position:absolute;top:clamp(2.8rem,7vh,5.5rem);left:0}.hero-title{z-index:4;width:100%;font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.065em;text-wrap:balance;pointer-events:none;margin:0;font-size:clamp(4rem,8.6vw,8.9rem);font-weight:400;line-height:.84;position:absolute;top:clamp(8rem,20vh,12.5rem);left:0}.hero-title span{width:fit-content;max-width:100%;display:block}.hero-title span:last-child{color:var(--primary);text-shadow:.035em .035em 0 var(--accent);margin-top:.12em;margin-left:clamp(1.5rem,8vw,8rem)}@supports (color:color-mix(in lab, red, red)){.hero-title span:last-child{text-shadow:.035em .035em 0 color-mix(in srgb,var(--accent)80%,transparent)}}.hero-details{z-index:6;border-left:4px solid var(--accent);width:min(34rem,44%);padding-left:1.25rem;position:absolute;bottom:clamp(3rem,8vh,6rem);left:0}.hero-summary{color:var(--muted-foreground);margin:0;font-size:clamp(1.05rem,1.4vw,1.24rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.55rem;display:flex}.button{min-height:48px;transition:transform .16s var(--ease-snap),box-shadow .16s var(--ease-snap),background-color .18s ease,color .18s ease;border:1px solid #0000;border-radius:.15rem;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1.2rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative}.button svg{stroke-width:2px;width:1rem;height:1rem}.button--primary{border-color:var(--foreground);background:var(--foreground);color:var(--background);box-shadow:5px 5px 0 var(--primary)}.button--quiet{border-color:var(--border);background:var(--card);color:var(--foreground)}.button:active{box-shadow:2px 2px 0 var(--primary);transform:translate(2px,2px)}.hero-portrait-motion{z-index:2;transform-origin:50%;width:clamp(23rem,35vw,34rem);height:min(76vh,44rem);position:absolute;top:clamp(2.2rem,7vh,5.5rem);right:1.5%}.hero-portrait{background:var(--primary);clip-path:polygon(8% 5%,100% 0,95% 93%,14% 100%,0 20%);filter:drop-shadow(18px 20px 0 var(--accent));margin:0;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-portrait{filter:drop-shadow(18px 20px 0 color-mix(in srgb,var(--accent)75%,transparent))}}.hero-portrait{overflow:hidden}.hero-portrait:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 62%,#030b1733),repeating-linear-gradient(0deg,#0000 0 3px,#ffffff06 3px 4px);position:absolute;inset:0}.hero-portrait__image{object-fit:cover;object-position:center 24%;scale:1.015}.hero-pixel-field{z-index:5;pointer-events:none;width:9rem;height:7rem;position:absolute;bottom:3rem;right:0}.hero-pixel-field span{background:var(--primary);width:.65rem;height:.65rem;box-shadow:0 0 1.2rem var(--primary);position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-pixel-field span{box-shadow:0 0 1.2rem color-mix(in srgb,var(--primary)70%,transparent)}}.hero-pixel-field span:first-child{top:0;left:48%}.hero-pixel-field span:nth-child(2){width:.36rem;height:.36rem;top:28%;left:18%}.hero-pixel-field span:nth-child(3){background:var(--accent);top:44%;right:8%}.hero-pixel-field span:nth-child(4){width:.42rem;height:.42rem;bottom:4%;left:40%}.hero-pixel-field span:nth-child(5){background:var(--accent);width:.28rem;height:.28rem;bottom:26%;right:38%}.approach-section{background:var(--ink);color:#f3f8ff;border-bottom:1px solid #26374d;padding-block:clamp(6rem,11vw,11rem);position:relative;overflow:hidden}.approach-section:after{content:"";pointer-events:none;border:1px solid #52d7ff40;border-radius:50%;width:24rem;height:24rem;position:absolute;top:7rem;right:-7rem;box-shadow:0 0 0 3rem #52d7ff06,0 0 0 6rem #c8f35a05}.approach-section .section-label{color:var(--lime)}.approach-layout{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:end;gap:clamp(3rem,10vw,10rem);margin-top:1.5rem;display:grid;position:relative}.approach-intro h2,.work-heading h2,.tools-heading h2,.experience-heading h2,.contact-intro h2{font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.055em;margin:0;font-weight:400}.approach-copy{color:#becbdd;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}.approach-copy p{margin:0}.capability-list{z-index:2;background:#344860;border:1px solid #344860;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:clamp(5rem,9vw,9rem);display:grid;position:relative}.capability-item{min-height:18rem;transition:translate .26s var(--ease-snap),background-color .22s ease,box-shadow .22s ease;background:#0c192a;padding:clamp(1.5rem,2.7vw,2.6rem);position:relative;overflow:hidden}.capability-item:before{content:"";background:var(--cyan);width:4rem;height:.28rem;box-shadow:4rem 0 0 var(--lime);position:absolute;top:0;left:0}.capability-item__number{color:#6e829e;font-family:var(--font-plex-mono),monospace;font-size:.68rem}.capability-item h3{max-width:9ch;font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.04em;margin:4rem 0 0;font-size:clamp(1.7rem,2.5vw,2.7rem);font-weight:400;line-height:.96}.capability-item p{color:#aebdd1;margin:1.2rem 0 0;line-height:1.58}.capability-item>svg{width:1.3rem;height:1.3rem;color:var(--cyan);transition:transform .22s var(--ease-snap);position:absolute;bottom:1.5rem;right:1.5rem}.work-heading{grid-template-columns:minmax(8rem,.25fr) minmax(0,1fr) minmax(18rem,.45fr);align-items:end;gap:clamp(2rem,5vw,5rem);margin-bottom:clamp(6rem,10vw,10rem);display:grid}.work-heading h2{font-size:clamp(4rem,7.5vw,8.2rem);line-height:.86}.work-heading__copy{color:var(--muted-foreground);margin:0;font-size:clamp(1.04rem,1.35vw,1.2rem);line-height:1.65}.project-reel{grid-template-columns:minmax(0,1.18fr) minmax(22rem,.82fr);gap:clamp(3rem,7vw,8rem);display:grid}.project-reel__stage{position:relative}.project-stage{perspective:1200px;min-height:42rem;padding-top:7rem;position:sticky;top:5.5rem}.project-stage__cartridge{z-index:1;aspect-ratio:33/35;width:min(36%,13rem);position:absolute;top:0;left:50%;translate:-50%}.project-stage__replay,.project-chapter__mobile-console{display:none}.project-cartridge{margin:0;position:absolute;inset:-20% -26%}.project-cartridge__viewport{touch-action:pan-y;position:absolute;inset:0}.project-cartridge__viewport canvas{width:100%;height:100%;position:absolute;inset:0}.project-cartridge__fallback{border:2px solid var(--cartridge-accent);background:var(--cartridge-shell);color:var(--cartridge-ink);isolation:isolate;transform-origin:50%;transform-style:preserve-3d;border-radius:.25rem;flex-direction:column;padding:.7rem;transition:opacity .16s;display:flex;position:absolute;inset:19% 22%;overflow:hidden;box-shadow:.45rem .55rem #02081240}.project-cartridge__fallback:before{content:"";z-index:0;background:var(--cartridge-label);border-radius:.12rem;position:absolute;inset:.65rem}.project-cartridge__fallback>*{z-index:1;position:relative}.project-cartridge__viewport[data-static=true] .project-cartridge__fallback{animation:1.75s linear both fallback-cartridge-insert}.project-cartridge__fallback-category{color:var(--cartridge-ink);font-family:var(--font-plex-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.42rem}.project-cartridge__fallback strong{font-family:var(--font-atkinson),system-ui,sans-serif;margin-top:.4rem;font-size:clamp(.76rem,1.1vw,1.05rem);line-height:.98}.project-cartridge__fallback>span:last-child{font-family:var(--font-plex-mono),monospace;margin-top:auto;font-size:.62rem}.project-cartridge__viewport.is-ready .project-cartridge__fallback{opacity:0}@keyframes fallback-cartridge-insert{0%,5%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:translateY(-2rem)rotateX(-2deg)rotateY(0)}58%{transform:translateY(-2rem)rotateX(-2deg)rotateY(360deg)}68%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:translateY(-2rem)rotateX(0)rotateY(360deg)}91%,to{transform:translateY(.65rem)rotateX(0)rotateY(360deg)}}.handheld{z-index:2;filter:drop-shadow(0 2rem 2.2rem #030a1638);width:min(100%,44rem);margin-inline:auto;position:relative}.handheld__lid,.handheld__base{background:linear-gradient(145deg,#ffffff1a,#0000 38%),#16243a;border:1px solid #020711;position:relative;box-shadow:inset 0 0 0 1px #ffffff12,inset 0 -.6rem 1.2rem #0000002e}.handheld__lid{border-radius:1.3rem 1.3rem .7rem .7rem;padding:clamp(1.7rem,4vw,3.1rem) clamp(2.8rem,6vw,5.3rem)}.handheld__slot{z-index:3;background:#020711;border:1px solid #020711;border-radius:0 0 .4rem .4rem;width:36%;height:.46rem;position:absolute;top:-.28rem;left:50%;translate:-50%;box-shadow:inset 0 2px 3px #000}.handheld__top-screen,.handheld__bottom-screen{aspect-ratio:4/3;isolation:isolate;background:#02050a;border:clamp(.45rem,1.2vw,.78rem) solid #03070d;position:relative;overflow:hidden;box-shadow:inset 0 0 2.8rem #000000b8,0 0 0 1px #ffffff0f}.handheld__top-screen{transition:box-shadow .26s}.handheld__top-screen.is-ready{box-shadow:inset 0 0 2.2rem #0000008f,0 0 0 1px #ffffff0f,0 0 1.1rem var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.handheld__top-screen.is-ready{box-shadow:inset 0 0 2.2rem #0000008f,0 0 0 1px #ffffff0f,0 0 1.1rem color-mix(in srgb,var(--project-accent)22%,transparent)}}.handheld__speaker{opacity:.72;background:radial-gradient(circle,#020711 0 2px,#0000 2.3px) 0 0/.6rem .6rem;width:1.2rem;height:4.8rem;position:absolute;top:50%;translate:0 -50%}.handheld__speaker--left{left:.95rem}.handheld__speaker--right{right:.95rem}.handheld__hinge{z-index:4;justify-content:space-between;height:.78rem;margin-block:-.14rem;padding-inline:8%;display:flex;position:relative}.handheld__hinge span{background:#0a1424;border:1px solid #020711;border-radius:999px;width:24%;box-shadow:inset 0 2px #ffffff14}.handheld__base{border-radius:.7rem .7rem 2rem 2rem;grid-template-columns:minmax(3.2rem,.25fr) minmax(0,1fr) minmax(3.2rem,.25fr);align-items:center;gap:clamp(.8rem,2vw,1.5rem);padding:clamp(1.4rem,3.5vw,2.6rem);display:grid}.handheld__bottom-screen{background:linear-gradient(135deg,var(--project-shell),#07101e),#07101e;border-width:clamp(.35rem,.8vw,.55rem)}@supports (color:color-mix(in lab, red, red)){.handheld__bottom-screen{background:linear-gradient(135deg,color-mix(in srgb,var(--project-shell)85%,#000),#07101e),#07101e}}.handheld__bottom-screen:before{content:"";z-index:0;background:linear-gradient(var(--project-accent)1px,transparent 1px),linear-gradient(90deg,var(--project-accent)1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.handheld__bottom-screen:before{background:linear-gradient(color-mix(in srgb,var(--project-accent)18%,transparent)1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--project-accent)18%,transparent)1px,transparent 1px)}}.handheld__bottom-screen:before{background-size:10px 10px}.handheld__bottom-screen>div{z-index:1;color:#f5f8ff;flex-direction:column;justify-content:flex-end;padding:clamp(.8rem,2vw,1.4rem);display:flex;position:absolute;inset:0}.handheld__bottom-screen span{color:var(--project-secondary);font-family:var(--font-plex-mono),monospace;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.48rem,.75vw,.64rem)}.handheld__bottom-screen strong{max-width:16ch;font-family:var(--font-atkinson),system-ui,sans-serif;margin-top:.38rem;font-size:clamp(1rem,2.1vw,1.7rem);line-height:.98}.handheld__bottom-screen p{color:#aabbd2;margin:.45rem 0 0;font-size:clamp(.57rem,.8vw,.72rem);line-height:1.35}.handheld__dpad{aspect-ratio:1;justify-self:center;width:clamp(2.7rem,5vw,4.3rem);position:relative}.handheld__dpad:before,.handheld__dpad:after{content:"";background:#050a13;border:1px solid #000;border-radius:.2rem;position:absolute;box-shadow:inset 0 2px #ffffff14,0 3px 4px #0000004d}.handheld__dpad:before{inset:34% 0}.handheld__dpad:after{inset:0 34%}.handheld__dpad span{z-index:2;background:#111a28;border-radius:50%;position:absolute;inset:40%}.handheld__buttons{aspect-ratio:1;justify-self:center;width:clamp(3.2rem,6vw,5rem);position:relative}.handheld__buttons span{aspect-ratio:1;background:var(--project-accent);border:1px solid #020711;border-radius:50%;width:32%;position:absolute}@supports (color:color-mix(in lab, red, red)){.handheld__buttons span{background:color-mix(in srgb,var(--project-accent)72%,#15243a)}}.handheld__buttons span{box-shadow:inset 0 2px #ffffff38,0 3px 4px #00000052}.handheld__buttons span:first-child{top:0;left:34%}.handheld__buttons span:nth-child(2){top:34%;right:0}.handheld__buttons span:nth-child(3){bottom:0;left:34%}.handheld__buttons span:nth-child(4){top:34%;left:0}.handheld__status{gap:.26rem;display:flex;position:absolute;bottom:.55rem;left:50%;translate:-50%}.handheld__status span{width:.32rem;height:.32rem;transition:scale .18s var(--ease-snap),background-color .18s ease,box-shadow .18s ease;background:#42526a;border-radius:50%}.handheld__status span.is-active{background:var(--project-secondary);box-shadow:0 0 .7rem var(--project-secondary);scale:1.35}.project-visual{background:#07101e;margin:0;position:absolute;inset:0;overflow:hidden}.project-visual__image{object-fit:cover;filter:saturate(.88)contrast(1.05);transition:filter .26s ease,transform .42s var(--ease-out)}.project-visual__image--contain{object-fit:contain}.screen-standby{z-index:3;background:radial-gradient(circle at 50% 50%,var(--project-accent),transparent 42%),#02050a;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.screen-standby{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--project-accent)8%,transparent),transparent 42%),#02050a}}.screen-standby:after{content:"";background:var(--project-accent);width:18%;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.screen-standby:after{background:color-mix(in srgb,var(--project-accent)72%,white)}}.screen-standby:after{box-shadow:0 0 .7rem var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.screen-standby:after{box-shadow:0 0 .7rem color-mix(in srgb,var(--project-accent)64%,transparent)}}.screen-standby:after{opacity:.5;animation:.76s ease-in-out infinite alternate screen-standby-pulse}@keyframes screen-standby-pulse{0%{opacity:.28;transform:translate(-50%,-50%)scaleX(.72)}to{opacity:.72;transform:translate(-50%,-50%)scaleX(1)}}.screen-static,.screen-scanlines,.project-chapter__static,.project-chapter__ink{z-index:4;pointer-events:none;position:absolute;inset:0}.screen-static,.project-chapter__static{mix-blend-mode:hard-light;background:repeating-radial-gradient(circle at 18% 38%,#fff 0 1px,#0000 1px 3px) 0 0/7px 7px,repeating-linear-gradient(108deg,#ffffffe6 0 1px,#000000d9 1px 3px) 0 0/5px 5px}.screen-scanlines{z-index:5;background:repeating-linear-gradient(0deg,#0000 0 3px,#01050c2e 3px 4px);box-shadow:inset 0 0 3rem #0000006b}.project-reel__chapters{min-width:0}.project-chapter{border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;min-height:96vh;padding-block:clamp(4rem,9vh,7rem);transition:opacity .32s;display:flex;position:relative}.project-chapter:first-child{border-top:1px solid var(--foreground)}.project-chapter--featured{min-height:122vh}.project-chapter__inner{border-left:3px solid var(--project-accent);transition:opacity .56s var(--ease-out),transform .68s var(--ease-out);padding-left:clamp(1.3rem,2.5vw,2.25rem);position:relative}.project-chapter__inner:before{content:"";background:var(--project-secondary);width:3px;height:4.5rem;box-shadow:0 0 1.1rem var(--project-secondary);position:absolute;top:0;left:-3px}@supports (color:color-mix(in lab, red, red)){.project-chapter__inner:before{box-shadow:0 0 1.1rem color-mix(in srgb,var(--project-secondary)75%,transparent)}}.project-chapter__mobile-visual{aspect-ratio:4/3;border:1px solid var(--foreground);background:#07101e;margin-bottom:2rem;display:none;position:relative;overflow:hidden}.project-chapter__static{opacity:0}.project-chapter__ink{z-index:3;mix-blend-mode:multiply;opacity:0;background:radial-gradient(circle at 50% 45%,#0000 0 38%,#0209142e 75%),repeating-linear-gradient(118deg,#0000 0 6px,#01081238 6px 7px);transition:opacity .18s .26s}.project-chapter__meta{color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.project-chapter__meta span:first-child{color:var(--project-accent)}.project-chapter h3{font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.055em;margin:1rem 0 0;font-size:clamp(2.7rem,4.4vw,4.8rem);font-weight:400;line-height:.92}.project-chapter__description{color:var(--muted-foreground);margin:1.35rem 0 0;font-size:1.05rem;line-height:1.62}.project-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.4rem;margin:2rem 0 0;display:grid}.project-highlights div{border-top:2px solid var(--project-accent);padding-top:.75rem}.project-highlights dt{font-weight:700}.project-highlights dd{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.9rem;line-height:1.5}.project-tags{color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;flex-wrap:wrap;gap:.45rem .7rem;margin:1.8rem 0 0;padding:0;font-size:.7rem;list-style:none;display:flex}.project-tags li:not(:last-child):after{content:"+";color:var(--project-accent);margin-left:.7rem}.text-link{border-bottom:2px solid var(--project-accent);width:fit-content;min-height:44px;transition:gap .18s var(--ease-snap),color .18s ease;align-items:center;gap:.45rem;margin-top:1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{width:1rem;height:1rem}.docs-poster{color:#effffb;background:linear-gradient(135deg,#0000 49.5%,#24d5b538 50%,#0000 50.5%),#0b201e;grid-template-columns:minmax(2rem,.28fr) minmax(0,1fr) minmax(2rem,.28fr);align-items:center;gap:clamp(.8rem,3vw,2.6rem);padding:clamp(1rem,3.5vw,3rem);display:grid;position:absolute;inset:0}.docs-poster>div{text-align:center;justify-self:stretch;min-width:0}.docs-poster__brace{color:#24d5b5;font-family:var(--font-plex-mono),monospace;font-size:clamp(2rem,6vw,6rem)}.docs-poster strong{color:#e3f65b;font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.05em;font-size:clamp(1.8rem,4vw,4rem);display:block}.docs-poster p{max-width:22rem;margin:.55rem auto .8rem;font-size:clamp(.7rem,1.3vw,1rem)}.docs-poster div>span{color:#a9d9ce;font-family:var(--font-plex-mono),monospace;font-size:.62rem}.tools-section{color:#f2f7ff;background:#0a1628;border-block:1px solid #26374d;padding-block:clamp(6rem,10vw,10rem);overflow:hidden}.tools-heading{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.55fr);align-items:end;gap:clamp(3rem,8vw,8rem);display:grid}.tools-heading h2{margin-top:.5rem;font-size:clamp(3.8rem,7vw,7.5rem);line-height:.88}.tools-heading>p{color:#aebdd1;margin:0;font-size:1.08rem;line-height:1.65}.tools-section .section-label{color:var(--lime)}.tech-marquee{background:#07111f;border-block:1px solid #344860;width:100vw;margin-top:clamp(4rem,7vw,7rem);margin-left:calc(50% - 50vw);overflow:hidden}.tech-marquee__track{width:max-content;animation:42s linear infinite tech-scroll;display:flex}.tech-mark{background:#0b192b;border-right:1px solid #344860;align-items:center;gap:.9rem;min-width:11.5rem;min-height:7rem;padding:1.15rem;transition:background-color .18s,color .18s,box-shadow .2s;display:flex}.tech-mark img{object-fit:contain;width:2.25rem;height:2.25rem;transition:transform .22s var(--ease-snap),filter .18s ease;background:#f7fbff;border-radius:.25rem;padding:.25rem}.tech-mark span{font-family:var(--font-plex-mono),monospace;white-space:nowrap;font-size:.72rem}@keyframes tech-scroll{to{transform:translate(-50%)}}.skill-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem clamp(3rem,8vw,8rem);margin-top:clamp(5rem,9vw,9rem);display:grid}.skill-group{border-top:1px solid #58708d;padding-top:1.25rem}.skill-group h3{color:#f3f7ff;font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2.2vw,2.15rem)}.skill-group ul{color:#aebdd1;flex-wrap:wrap;gap:.55rem 1rem;margin:1.25rem 0 0;padding:0;line-height:1.45;list-style:none;display:flex}.skill-group li:before{content:"";background:var(--cyan);vertical-align:.08em;width:.38rem;height:.38rem;margin-right:.5rem;display:inline-block;box-shadow:0 0 .6rem #18cdf78c}.experience-section{padding-block:clamp(6rem,10vw,10rem)}.experience-heading{grid-template-columns:minmax(8rem,.25fr) minmax(0,1fr) minmax(18rem,.45fr);align-items:end;gap:clamp(2rem,5vw,5rem);margin-bottom:clamp(5rem,9vw,9rem);display:grid}.experience-heading h2{font-size:clamp(3.8rem,7vw,7.5rem);line-height:.88}.experience-heading>p:last-child{color:var(--muted-foreground);margin:0;font-size:1.06rem;line-height:1.65}.experience-layout{grid-template-columns:minmax(17rem,.43fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,8vw,9rem);display:grid}.sprite-stage{position:sticky;top:6.5rem}.sprite-stage__screen{aspect-ratio:4/5;border:1px solid var(--foreground);box-shadow:10px 10px 0 var(--primary);background:#0a1628;position:relative;overflow:hidden}.sprite-stage__grid{background-image:linear-gradient(#52d7ff1f 1px,#0000 1px),linear-gradient(90deg,#52d7ff1f 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 8%,#000 70%);mask-image:linear-gradient(#0000 8%,#000 70%)}.sprite-stage__character{object-fit:contain;object-position:center bottom;width:86%;height:97%;image-rendering:pixelated;transform-origin:bottom;animation:2.6s steps(2,end) infinite sprite-idle;position:absolute;inset:3% 7% 0}.sprite-stage__pixel{background:var(--cyan);width:.65rem;height:.65rem;animation:2.2s steps(4,end) infinite pixel-orbit;position:absolute;box-shadow:0 0 1rem #18cdf7cc}.sprite-stage__pixel--one{top:19%;right:12%}.sprite-stage__pixel--two{width:.35rem;height:.35rem;animation-delay:-.8s;top:27%;right:20%}@keyframes sprite-idle{50%{transform:translateY(-5px)}}@keyframes pixel-orbit{50%{opacity:.55;translate:-7px 7px}}.experience-list>div:first-child .experience-item{border-top:1px solid var(--foreground)}.experience-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(9.5rem,.32fr) minmax(0,1fr);gap:2rem;padding-block:2.25rem;display:grid}.experience-item__date{color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;flex-direction:column;gap:.45rem;font-size:.7rem;line-height:1.45;display:flex}.experience-item h3{font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,2.5vw,2.55rem);font-weight:400;line-height:.98}.experience-item__company{color:var(--primary);margin:.6rem 0 0;font-weight:700;line-height:1.45}.experience-item ul{color:var(--muted-foreground);margin:1.25rem 0 0;padding:0;list-style:none}.experience-item li{padding-left:1.1rem;line-height:1.58;position:relative}.experience-item li+li{margin-top:.6rem}.experience-item li:before{content:"";background:var(--primary);width:.45rem;height:2px;position:absolute;top:.72em;left:0}.contact-section{padding-block:clamp(6rem,10vw,10rem)}.contact-layout{border-block:2px solid var(--foreground);grid-template-columns:minmax(0,1.1fr) minmax(22rem,.9fr);align-items:stretch;display:grid;position:relative;overflow:hidden}.contact-intro,.contact-details{z-index:1;padding:clamp(2rem,5vw,5rem);position:relative}.contact-intro{border-right:1px solid var(--border)}.contact-intro h2{max-width:9ch;margin-top:1rem;font-size:clamp(4rem,7.5vw,8rem);line-height:.84}.contact-intro>p:not(.section-label){max-width:36rem;color:var(--muted-foreground);margin:1.7rem 0 2rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.62}.contact-details{background:var(--card);align-content:center;align-self:stretch;display:grid}@supports (color:color-mix(in lab, red, red)){.contact-details{background:color-mix(in srgb,var(--card)90%,transparent)}}.contact-details h3{font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,2.6vw,2.7rem)}.availability-list{color:var(--muted-foreground);grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem;margin:1.35rem 0 2.25rem;padding:0;list-style:none;display:grid}.availability-list li{border-left:2px solid var(--primary);padding-left:.75rem;line-height:1.4}.social-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.social-grid a{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:.45rem;min-width:0;min-height:7.2rem;padding:.9rem;text-decoration:none;transition:background-color .18s,color .18s;display:flex;position:relative}.social-grid a>span{color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.social-grid strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.social-grid svg{width:.95rem;height:.95rem;transition:transform .18s var(--ease-snap);position:absolute;top:.8rem;right:.8rem}.site-footer{color:#f2f7ff;background:#07111f;border-top:1px solid #2d4058}.site-footer__layout{justify-content:space-between;align-items:flex-end;gap:3rem;padding-block:4rem 3rem;display:flex}.site-footer__name{font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.05em;font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;line-height:.9;display:block}.site-footer__layout p{color:#aebdd1;max-width:32rem;margin:1rem 0 0}.site-footer__links{flex-wrap:wrap;justify-content:flex-end;gap:.45rem 1rem;display:flex}.site-footer__links a{color:#dce8f7;min-height:44px;font-family:var(--font-plex-mono),monospace;border-bottom:1px solid #526985;align-items:center;gap:.35rem;font-size:.7rem;text-decoration:none;display:inline-flex}.site-footer__links svg{width:.85rem;height:.85rem}.site-footer__base{color:#8395ad;font-family:var(--font-plex-mono),monospace;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #2d4058;justify-content:space-between;gap:1rem;padding-block:1.2rem;font-size:.64rem;display:flex}@media (hover:hover) and (pointer:fine){.site-brand:hover>span{box-shadow:7px 7px 0 var(--primary);translate:-2px -2px}.site-nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.theme-toggle:hover{border-color:var(--primary);transform:rotate(8deg)}.button:hover{transform:translate(-2px,-2px)}.button--primary:hover{box-shadow:8px 8px 0 var(--primary)}.button--quiet:hover{border-color:var(--primary);color:var(--primary)}.capability-item:hover{z-index:2;background:#11243d;translate:0 -.55rem;box-shadow:0 1.2rem 3.2rem #18cdf726}.capability-item:hover>svg{transform:translate(.25rem,-.25rem)rotate(-6deg)}.project-chapter__mobile-visual:hover .project-chapter__static{animation:.42s steps(2,end) both static-burst}.project-chapter__mobile-visual:hover .project-chapter__ink{opacity:.72}.project-chapter__mobile-visual:hover .project-visual__image{filter:grayscale(.7)contrast(1.45)saturate(.7);transform:scale(1.025)}.text-link:hover{color:var(--project-accent);gap:.75rem}.tech-marquee:hover .tech-marquee__track{animation-play-state:paused}.tech-mark:hover{z-index:2;color:var(--lime);box-shadow:inset 0 0 0 1px var(--cyan),0 0 2rem #18cdf738;background:#112943;position:relative}.tech-mark:hover img{filter:drop-shadow(0 0 .55rem #52d7ffb8);transform:translateY(-4px)rotate(-5deg)scale(1.08)}.social-grid a:hover{background:var(--foreground);color:var(--background)}.social-grid a:hover>span{color:var(--background)}@supports (color:color-mix(in lab, red, red)){.social-grid a:hover>span{color:color-mix(in srgb,var(--background)70%,transparent)}}.social-grid a:hover svg{transform:translate(.2rem,-.2rem)}.site-footer__links a:hover{border-color:var(--lime);color:var(--lime)}}@keyframes static-burst{0%{opacity:0;background-position:0 0,0 0}18%{opacity:.95}40%{background-position:13px -8px,-7px 11px}74%{opacity:.72;background-position:-9px 17px,12px -5px}to{opacity:0}}@media (max-width:1180px){.page-frame{width:min(100% - 2.5rem,92rem)}.hero-title{font-size:clamp(4rem,9.2vw,7.6rem)}.hero-portrait-motion{width:clamp(22rem,40vw,31rem);right:-2%}.work-heading,.experience-heading{grid-template-columns:minmax(0,1fr) minmax(18rem,.45fr)}.work-heading .section-label,.experience-heading .section-label{grid-column:1/-1}.project-reel{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);gap:3rem}.project-stage{min-height:36rem}}@media (max-width:960px){.hero-section,.hero-layout{min-height:58rem}.hero-title{top:8.4rem}.hero-portrait-motion{width:min(48vw,27rem);height:34rem;top:17rem;right:-2rem}.hero-details{width:min(27rem,48%)}.approach-layout{grid-template-columns:1fr;gap:2.5rem}.approach-intro h2{max-width:12ch}.approach-copy{max-width:42rem}.capability-list{grid-template-columns:1fr}.capability-item{min-height:auto}.capability-item h3{margin-top:2.5rem}.work-heading,.experience-heading,.tools-heading{grid-template-columns:1fr;gap:1.5rem}.project-reel{display:block}.project-reel__stage{display:none}.project-chapter__mobile-console{margin:0 0 2.75rem;display:block}.project-stage--compact{perspective:950px;min-height:auto;padding-top:clamp(4.25rem,13vw,6rem);position:relative;top:auto}.project-stage--compact .project-stage__cartridge{z-index:1;width:min(27%,7.6rem);top:0}.project-stage--compact .handheld{filter:drop-shadow(0 1.35rem 1.5rem #030a1633);width:min(100%,34rem)}.project-stage__replay{z-index:8;border:1px solid var(--foreground);background:var(--background);width:44px;height:44px;color:var(--project-accent);box-shadow:4px 4px 0 var(--project-secondary);transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),background-color .16s ease;border-radius:.2rem;place-items:center;display:grid;position:absolute;top:.65rem;right:.65rem}.project-stage__replay:active{box-shadow:1px 1px 0 var(--project-secondary);transform:translate(2px,2px)scale(.97)}.project-stage__replay svg{width:1.15rem;height:1.15rem}.project-chapter,.project-chapter--featured{min-height:auto;padding-block:5rem}.project-chapter__inner{opacity:1!important;transform:none!important}.experience-layout{grid-template-columns:1fr}.sprite-stage{width:min(100%,28rem);margin-inline:auto;position:relative;top:auto}.contact-layout{grid-template-columns:1fr}.contact-intro{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:720px){html{scroll-padding-top:64px}.page-frame{width:min(100% - 1.5rem,92rem)}.site-header,.site-nav{height:64px}.site-brand strong{display:none}.site-nav__actions{gap:.25rem}.site-nav__links a{padding-inline:.58rem;font-size:.64rem}.site-nav__links a:after{inset-inline:.58rem}.theme-toggle{flex-basis:42px;width:42px;height:42px}.hero-section,.hero-layout{min-height:auto}.hero-layout{flex-direction:column;padding-block:3rem 4.5rem;display:flex}.hero-intro,.hero-title,.hero-details,.hero-portrait-motion{position:relative;inset:auto}.hero-intro{order:1}.hero-title{order:2;margin-top:2.2rem;font-size:clamp(3.5rem,16.5vw,6.2rem)}.hero-title span:last-child{margin-left:0}.hero-portrait-motion{order:3;width:min(86vw,28rem);height:min(111vw,36rem);margin:2.5rem auto 0}.hero-details{order:4;width:100%;margin-top:3rem}.hero-pixel-field{display:none}.approach-intro h2,.work-heading h2,.tools-heading h2,.experience-heading h2,.contact-intro h2{font-size:clamp(3.2rem,14vw,5.2rem)}.project-chapter h3{font-size:clamp(2.7rem,12.5vw,4.2rem)}.project-highlights,.skill-ledger{grid-template-columns:1fr}.project-chapter__inner{padding-left:1rem}.project-stage--compact{padding-top:4.2rem}.project-stage--compact .project-stage__cartridge{width:min(30%,6.6rem)}.project-stage--compact .handheld{width:min(100%,22rem)}.project-stage--compact .handheld__lid{border-radius:.85rem .85rem .45rem .45rem;padding-inline:2.4rem}.project-stage--compact .handheld__base{border-radius:.45rem .45rem 1.3rem 1.3rem;grid-template-columns:minmax(2.45rem,.23fr) minmax(0,1fr) minmax(2.45rem,.23fr);padding:1rem .8rem 1.35rem}.project-stage--compact .handheld__speaker{background-size:.45rem .45rem;width:.85rem;height:3.2rem}.project-stage--compact .handheld__speaker--left{left:.7rem}.project-stage--compact .handheld__speaker--right{right:.7rem}.project-stage--compact .handheld__dpad{width:2.55rem}.project-stage--compact .handheld__buttons{width:2.8rem}.project-stage--compact .handheld__bottom-screen>div{padding:.65rem}.project-stage--compact .handheld__bottom-screen strong{font-size:clamp(.82rem,4vw,1.15rem)}.project-stage--compact .handheld__bottom-screen p{display:none}.experience-item{grid-template-columns:1fr;gap:1.2rem}.availability-list,.social-grid{grid-template-columns:1fr}.social-grid a{min-height:5.4rem}.contact-intro,.contact-details{padding:2rem 1.2rem}.site-footer__layout{flex-direction:column;align-items:flex-start}.site-footer__links{justify-content:flex-start}}@media (max-width:420px){.site-nav__links a{padding-inline:.42rem;font-size:.6rem}.theme-toggle{flex-basis:40px;width:40px;height:40px}.hero-actions .button{width:100%}.site-footer__base{flex-direction:column}}.hero-section{background:var(--background);min-height:max(44rem,100dvh - 68px)}@supports (color:color-mix(in lab, red, red)){.hero-section{background:color-mix(in srgb,var(--background)96%,var(--primary))}}.hero-section{overflow:clip}.hero-section:before{z-index:-2;background-image:radial-gradient(var(--foreground)1px,transparent 1.5px);inset:0 0 0 54%}@supports (color:color-mix(in lab, red, red)){.hero-section:before{background-image:radial-gradient(color-mix(in srgb,var(--foreground)16%,transparent)1px,transparent 1.5px)}}.hero-section:before{background-size:13px 13px;-webkit-mask-image:linear-gradient(135deg,#0000 4%,#000 34% 72%,#0000 96%);mask-image:linear-gradient(135deg,#0000 4%,#000 34% 72%,#0000 96%)}.hero-section:after{background:var(--primary);border-radius:0;width:47%;height:78%;top:9%;bottom:auto;right:-10%}@supports (color:color-mix(in lab, red, red)){.hero-section:after{background:color-mix(in srgb,var(--primary)14%,transparent)}}.hero-section:after{filter:none;transform:skewY(-6deg)}.hero-layout{grid-template-columns:minmax(0,1.25fr) minmax(23rem,.75fr);align-items:start;gap:clamp(2.5rem,5vw,6rem);min-height:max(44rem,100dvh - 68px);padding-block:clamp(4rem,8vh,6.5rem) clamp(2.75rem,5vh,4.5rem);display:grid}.hero-copy{z-index:5;min-width:0;padding-top:clamp(.5rem,2.5vh,2rem);position:relative}.hero-intro,.hero-title,.hero-details,.hero-portrait-motion{position:relative;inset:auto}.hero-intro{align-items:center;gap:.7rem;margin:0;font-size:clamp(1.05rem,1.25vw,1.25rem);display:inline-flex}.hero-intro:before{content:"";aspect-ratio:1;background:var(--accent);width:.68rem;box-shadow:.28rem .28rem 0 var(--primary);transform:rotate(8deg)}.hero-title{letter-spacing:-.06em;pointer-events:auto;width:auto;margin:clamp(1.5rem,3.5vh,2.5rem) 0 0;font-size:clamp(4rem,5.25vw,5.8rem);line-height:.9}.hero-title span{width:fit-content;display:block}.hero-title span:last-child{color:var(--primary);text-shadow:none;margin:.12em 0 0 clamp(1.25rem,3.7vw,4.25rem)}.hero-details{border-left:0;width:min(35rem,86%);margin-top:clamp(2rem,4vh,3.25rem);padding:0}.hero-summary{max-width:34rem}.hero-portrait-motion{z-index:2;transform-origin:50%;width:100%;height:min(74dvh,46rem)}.hero-portrait-composition{width:100%;height:100%;position:relative}.hero-portrait-composition:before{content:"";border:1px solid var(--foreground);position:absolute;inset:5.5% -.7rem 1.5% 4.5%}@supports (color:color-mix(in lab, red, red)){.hero-portrait-composition:before{border:1px solid color-mix(in srgb,var(--foreground)44%,transparent)}}.hero-portrait-composition:before{transform:translate(1.15rem,1.15rem)}.hero-portrait-composition:after{content:"01";z-index:5;aspect-ratio:1;border:2px solid var(--foreground);background:var(--background);width:2.7rem;color:var(--foreground);font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;place-items:center;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:1.4rem;left:-.85rem}.hero-portrait{border:3px solid var(--foreground);background:var(--primary);clip-path:none;filter:none;box-shadow:-14px 14px 0 var(--primary);inset:3% 0 4% 9%}@supports (color:color-mix(in lab, red, red)){.hero-portrait{box-shadow:-14px 14px 0 color-mix(in srgb,var(--primary)82%,var(--foreground))}}.hero-portrait:after{opacity:.72;background:linear-gradient(#0000 58%,#030b1738),radial-gradient(circle,#ffffff17 0 1px,#0000 1.4px) 0 0/8px 8px}.hero-portrait__image{object-position:center 30%;scale:1}.hero-portrait-detail{z-index:3;border:3px solid var(--foreground);background:var(--background);width:22%;height:43%;box-shadow:8px 8px 0 var(--accent);margin:0;position:absolute;top:18%;left:-6%;overflow:hidden;transform:rotate(-2.5deg)}.hero-portrait-detail__image{object-fit:cover;object-position:57% 83%;scale:2.15}.hero-portrait-frame{z-index:4;height:.72rem;display:block;position:absolute}.hero-portrait-frame--top{background:var(--accent);width:32%;top:0;right:-1.5rem}.hero-portrait-frame--bottom{background:var(--primary);width:48%;bottom:0;right:5%}.hero-pixel-field{display:none}.project-reel--console{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr);align-items:start;gap:0 clamp(2.5rem,5.5vw,6.5rem);display:grid}.project-reel--console .project-reel__stage{grid-area:1/1/span 2;min-width:0;position:sticky;top:5.25rem}.project-sound-toggle{z-index:8;border:1px solid var(--foreground);align-items:center;gap:.55rem;min-height:2.75rem;display:inline-flex;position:absolute;top:.75rem;right:.75rem}@supports (color:color-mix(in lab, red, red)){.project-sound-toggle{border:1px solid color-mix(in srgb,var(--foreground)28%,transparent)}}.project-sound-toggle{background:var(--background);border-radius:.35rem}@supports (color:color-mix(in lab, red, red)){.project-sound-toggle{background:color-mix(in srgb,var(--background)92%,transparent)}}.project-sound-toggle{color:var(--foreground);box-shadow:.28rem .32rem 0 var(--foreground);padding:.62rem .78rem}@supports (color:color-mix(in lab, red, red)){.project-sound-toggle{box-shadow:.28rem .32rem 0 color-mix(in srgb,var(--foreground)12%,transparent)}}.project-sound-toggle{font-family:var(--font-plex-mono),monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .16s var(--ease-out),border-color .16s ease,box-shadow .16s var(--ease-out);font-size:.68rem;font-weight:600}.project-sound-toggle svg{width:1rem;height:1rem}.project-sound-toggle[aria-pressed=true]{border-color:var(--project-accent,var(--primary));box-shadow:.28rem .32rem 0 var(--project-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.project-sound-toggle[aria-pressed=true]{box-shadow:.28rem .32rem 0 color-mix(in srgb,var(--project-accent,var(--primary))32%,transparent)}}.project-sound-toggle:active{transform:translateY(1px)scale(.97)}.project-sound-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:.25rem}.project-stage--singular{perspective:1400px;isolation:isolate;width:100%;max-width:100%;min-height:min(clamp(39rem,55vw,51rem),100svh - 4.5rem);padding-top:clamp(6.5rem,10vw,9rem);position:relative;top:auto}.project-stage__atmosphere{z-index:-1;background:radial-gradient(circle at 50% 42%,var(--project-accent),transparent 48%),linear-gradient(145deg,transparent 22%,var(--project-secondary)22% 58%,transparent 58%);position:absolute;inset:9% -4% 2%}@supports (color:color-mix(in lab, red, red)){.project-stage__atmosphere{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--project-accent)15%,transparent),transparent 48%),linear-gradient(145deg,transparent 22%,color-mix(in srgb,var(--project-secondary)7%,transparent)22% 58%,transparent 58%)}}.project-stage__atmosphere{clip-path:polygon(7% 0,100% 4%,94% 100%,0 92%)}.project-console__parallax{transform-style:preserve-3d;transform-origin:50% 55%;will-change:transform;width:100%;max-width:100%;position:relative}.project-stage--singular .project-stage__cartridge{z-index:1;width:min(30%,12rem,16svh);top:clamp(-9rem,-10vw,-6.5rem)}.project-stage--singular .handheld{width:min(100%,58svh,44rem);transform-style:preserve-3d}.handheld__lid-motion{z-index:3;transform-origin:50% 100%;transform-style:preserve-3d;will-change:transform;transition:transform .68s cubic-bezier(.16,1,.3,1),filter .68s;position:relative;transform:perspective(1200px)rotateX(-83deg)}.handheld.is-open .handheld__lid-motion{transform:perspective(1200px)rotateX(0)}.handheld.is-closed .handheld__lid-motion{filter:brightness(.76)}.project-reel__controls{grid-area:2/2;min-width:0}.cartridge-carousel{grid-area:1/2;min-width:0;margin-bottom:clamp(3rem,6vw,5rem)}.cartridge-carousel__header{min-height:2.75rem;font-family:var(--font-plex-mono),monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.55rem;display:flex}.cartridge-carousel__header>div:first-child{align-items:baseline;gap:.75rem;min-width:0;display:flex}.cartridge-carousel__header span{letter-spacing:.08em;font-size:.72rem;font-weight:700}.cartridge-carousel__header small{color:var(--muted-foreground);letter-spacing:.06em;font-size:.62rem}.cartridge-carousel__controls{flex:none;align-items:center;gap:.5rem;display:flex}.cartridge-carousel__controls button{border:1px solid var(--foreground);place-items:center;width:2.75rem;height:2.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.cartridge-carousel__controls button{border:1px solid color-mix(in srgb,var(--foreground)28%,transparent)}}.cartridge-carousel__controls button{background:var(--background);color:var(--foreground);cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s var(--ease-out);border-radius:.3rem}.cartridge-carousel__controls button svg{width:1.1rem;height:1.1rem}.cartridge-carousel__controls button:active{transform:scale(.94)}.cartridge-carousel__controls button:focus-visible{outline:3px solid var(--primary);outline-offset:.2rem}.cartridge-carousel__controls>span{min-width:4.2rem;color:var(--muted-foreground);text-align:center;font-size:.64rem}.cartridge-carousel__viewport{width:100%;min-width:0;position:relative}.cartridge-carousel__viewport:before,.cartridge-carousel__viewport:after{z-index:2;pointer-events:none;content:"";width:.65rem;position:absolute;top:0;bottom:.55rem}.cartridge-carousel__viewport:before{background:linear-gradient(90deg,var(--background),transparent);left:0}.cartridge-carousel__viewport:after{background:linear-gradient(-90deg,var(--background),transparent);right:0}.cartridge-library{--cartridge-width:clamp(9.25rem,44%,12rem);--cartridge-edge:clamp(.75rem,1.5vw,1.15rem);grid-auto-flow:column;grid-auto-columns:var(--cartridge-width);padding:1rem var(--cartridge-edge)1.35rem;overscroll-behavior-inline:contain;scroll-padding-inline:var(--cartridge-edge);scroll-snap-type:inline mandatory;scrollbar-color:var(--project-accent,var(--primary))transparent;gap:clamp(.8rem,1.4vw,1.1rem);display:grid;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.cartridge-library{scrollbar-color:color-mix(in srgb,var(--project-accent,var(--primary))62%,transparent)transparent}}.cartridge-library{scrollbar-width:thin;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch}.cartridge-library[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}.cartridge-choice{min-width:0;color:inherit;text-align:left;cursor:pointer;perspective:900px;scroll-snap-align:center;scroll-snap-stop:always;background:0 0;border:0;padding:0;position:relative}.cartridge-choice__shell{aspect-ratio:33/35;border:1px solid var(--project-shell);display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__shell{border:1px solid color-mix(in srgb,var(--project-shell)65%,var(--foreground))}}.cartridge-choice__shell{background:linear-gradient(145deg,#ffffff24,transparent 34%),var(--project-shell);box-shadow:.5rem .62rem 0 var(--foreground);border-radius:.35rem .35rem .55rem .55rem}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__shell{box-shadow:.5rem .62rem 0 color-mix(in srgb,var(--foreground)16%,transparent)}}.cartridge-choice__shell{clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,0 8%);transform-origin:50% 100%;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .18s ease;transform:translate(0)rotateX(0)}.cartridge-choice__notch{aspect-ratio:1;border-right:1px solid var(--project-shell);width:13%;position:absolute;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__notch{border-right:1px solid color-mix(in srgb,var(--project-shell)55%,var(--foreground))}}.cartridge-choice__notch{border-bottom:1px solid var(--project-shell)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__notch{border-bottom:1px solid color-mix(in srgb,var(--project-shell)55%,var(--foreground))}}.cartridge-choice__label{border:1px solid var(--project-ink);flex-direction:column;display:flex;position:absolute;inset:11% 9% 17%}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label{border:1px solid color-mix(in srgb,var(--project-ink)28%,transparent)}}.cartridge-choice__label{border-left:.42rem solid var(--project-accent);background:var(--project-label);color:var(--project-ink);isolation:isolate;border-radius:.12rem;padding:clamp(.58rem,1.2vw,.9rem);overflow:hidden}.cartridge-choice__category,.cartridge-choice__label strong{z-index:2;position:relative}.cartridge-choice__category{font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.43rem,.62vw,.58rem);font-weight:700}.cartridge-choice__label strong{max-width:11ch;font-family:var(--font-atkinson),system-ui,sans-serif;margin-top:.5rem;font-size:clamp(.82rem,1.25vw,1.15rem);line-height:.98}.cartridge-choice__motif{z-index:1;opacity:.42;position:absolute;inset:0}.cartridge-choice__label[data-motif="0"] .cartridge-choice__motif{background:linear-gradient(90deg,transparent 58%,var(--project-accent)58% 66%,transparent 66%),repeating-linear-gradient(0deg,transparent 0 13px,var(--project-ink)13px 14px)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="0"] .cartridge-choice__motif{background:linear-gradient(90deg,transparent 58%,var(--project-accent)58% 66%,transparent 66%),repeating-linear-gradient(0deg,transparent 0 13px,color-mix(in srgb,var(--project-ink)18%,transparent)13px 14px)}}.cartridge-choice__label[data-motif="1"] .cartridge-choice__motif{background:radial-gradient(circle at 78% 66%,transparent 0 22%,var(--project-accent)22% 24%,transparent 24% 34%,var(--project-secondary)34% 36%,transparent 36%),linear-gradient(132deg,transparent 58%,var(--project-ink)58% 60%,transparent 60%)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="1"] .cartridge-choice__motif{background:radial-gradient(circle at 78% 66%,transparent 0 22%,var(--project-accent)22% 24%,transparent 24% 34%,var(--project-secondary)34% 36%,transparent 36%),linear-gradient(132deg,transparent 58%,color-mix(in srgb,var(--project-ink)20%,transparent)58% 60%,transparent 60%)}}.cartridge-choice__label[data-motif="2"] .cartridge-choice__motif{background:repeating-linear-gradient(90deg,transparent 0 14px,var(--project-accent)14px 24px),repeating-linear-gradient(0deg,transparent 0 14px,var(--project-secondary)14px 24px)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="2"] .cartridge-choice__motif{background:repeating-linear-gradient(90deg,transparent 0 14px,color-mix(in srgb,var(--project-accent)35%,transparent)14px 24px),repeating-linear-gradient(0deg,transparent 0 14px,color-mix(in srgb,var(--project-secondary)25%,transparent)14px 24px)}}.cartridge-choice__label[data-motif="2"] .cartridge-choice__motif{mix-blend-mode:multiply}.cartridge-choice__label[data-motif="3"] .cartridge-choice__motif{background:linear-gradient(90deg,transparent 46%,var(--project-accent)46% 88%,transparent 88%)0 35%/100% 8% no-repeat,linear-gradient(90deg,transparent 58%,var(--project-ink)58% 88%,transparent 88%)0 52%/100% 5% no-repeat,linear-gradient(90deg,transparent 52%,var(--project-ink)52% 80%,transparent 80%)0 64%/100% 5% no-repeat}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="3"] .cartridge-choice__motif{background:linear-gradient(90deg,transparent 46%,color-mix(in srgb,var(--project-accent)35%,transparent)46% 88%,transparent 88%)0 35%/100% 8% no-repeat,linear-gradient(90deg,transparent 58%,color-mix(in srgb,var(--project-ink)22%,transparent)58% 88%,transparent 88%)0 52%/100% 5% no-repeat,linear-gradient(90deg,transparent 52%,color-mix(in srgb,var(--project-ink)16%,transparent)52% 80%,transparent 80%)0 64%/100% 5% no-repeat}}.cartridge-choice__label[data-motif="4"] .cartridge-choice__motif{background:repeating-radial-gradient(ellipse at 78% 67%,transparent 0 9px,var(--project-accent)10px 12px)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="4"] .cartridge-choice__motif{background:repeating-radial-gradient(ellipse at 78% 67%,transparent 0 9px,color-mix(in srgb,var(--project-accent)42%,transparent)10px 12px)}}.cartridge-choice__label[data-motif="4"] .cartridge-choice__motif{transform:rotate(-12deg)scale(1.25)}.cartridge-choice__label[data-motif="5"] .cartridge-choice__motif{background:repeating-linear-gradient(90deg,transparent 0 8px,var(--project-accent)8px 12px,transparent 12px 18px)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="5"] .cartridge-choice__motif{background:repeating-linear-gradient(90deg,transparent 0 8px,color-mix(in srgb,var(--project-accent)58%,transparent)8px 12px,transparent 12px 18px)}}.cartridge-choice__label[data-motif="5"] .cartridge-choice__motif{clip-path:polygon(43% 48%,48% 30%,53% 66%,58% 22%,63% 78%,68% 38%,73% 62%,78% 45%,84% 52%,84% 82%,43% 82%)}.cartridge-choice__label[data-motif="6"] .cartridge-choice__motif{background:radial-gradient(circle at 52% 80%,var(--project-secondary)0 4px,transparent 5px),radial-gradient(circle at 78% 38%,var(--project-accent)0 4px,transparent 5px),linear-gradient(128deg,transparent 56%,var(--project-accent)56% 58%,transparent 58%)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="6"] .cartridge-choice__motif{background:radial-gradient(circle at 52% 80%,var(--project-secondary)0 4px,transparent 5px),radial-gradient(circle at 78% 38%,var(--project-accent)0 4px,transparent 5px),linear-gradient(128deg,transparent 56%,color-mix(in srgb,var(--project-accent)55%,transparent)56% 58%,transparent 58%)}}.cartridge-choice__label[data-motif="7"] .cartridge-choice__motif{background:radial-gradient(circle at 76% 58%,var(--project-accent)0 18%,transparent 19%),repeating-linear-gradient(0deg,transparent 0 16px,var(--project-ink)16px 19px)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__label[data-motif="7"] .cartridge-choice__motif{background:radial-gradient(circle at 76% 58%,color-mix(in srgb,var(--project-accent)42%,transparent)0 18%,transparent 19%),repeating-linear-gradient(0deg,transparent 0 16px,color-mix(in srgb,var(--project-ink)16%,transparent)16px 19px)}}.cartridge-choice__grooves{opacity:.58;background:repeating-linear-gradient(90deg,#090d14 0 3px,#0000 3px 8px);height:6%;position:absolute;bottom:5%;left:11%;right:11%}.cartridge-choice__edition{color:var(--project-label);position:absolute;bottom:5%;left:11%}@supports (color:color-mix(in lab, red, red)){.cartridge-choice__edition{color:color-mix(in srgb,var(--project-label)58%,white)}}.cartridge-choice__edition{font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;font-size:clamp(.46rem,.72vw,.62rem);font-weight:700}.cartridge-choice[data-motif="1"] .cartridge-choice__label,.cartridge-choice[data-motif="6"] .cartridge-choice__label{border-left-width:.18rem;border-bottom:.42rem solid var(--project-secondary)}.cartridge-choice[data-motif="2"] .cartridge-choice__label{border-left-color:var(--project-secondary);box-shadow:inset 0 0 0 .22rem var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice[data-motif="2"] .cartridge-choice__label{box-shadow:inset 0 0 0 .22rem color-mix(in srgb,var(--project-accent)16%,transparent)}}.cartridge-choice[data-motif="3"] .cartridge-choice__label,.cartridge-choice[data-motif="7"] .cartridge-choice__label{border-top:.34rem solid var(--project-accent);border-left-color:var(--project-ink)}.cartridge-choice[data-motif="4"] .cartridge-choice__label{border-left-width:.38rem;border-left-color:var(--project-secondary)}.cartridge-choice[data-motif="5"] .cartridge-choice__label{border-right:.34rem solid var(--project-accent);border-left-color:var(--project-secondary)}.cartridge-choice.is-active .cartridge-choice__shell{border-color:var(--project-accent);box-shadow:.5rem .62rem 0 var(--project-secondary),inset 0 0 0 2px var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice.is-active .cartridge-choice__shell{box-shadow:.5rem .62rem 0 color-mix(in srgb,var(--project-secondary)50%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--project-accent)42%,transparent)}}.cartridge-choice.is-active .cartridge-choice__shell{transform:translateY(-.38rem)rotateX(2deg)}.cartridge-choice:focus-visible{outline:3px solid var(--project-accent);outline-offset:.45rem}.project-selection{border-top:4px solid var(--project-accent);min-height:24rem;padding-top:clamp(1.6rem,3vw,2.4rem)}.project-selection__meta{color:var(--muted-foreground);font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.7rem;display:flex}.project-selection__meta span:first-child{color:var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.project-selection__meta span:first-child{color:color-mix(in srgb,var(--project-accent)56%,var(--foreground))}}.project-selection h3{max-width:12ch;font-family:var(--font-archivo-black),Impact,sans-serif;letter-spacing:-.055em;margin:1.25rem 0 0;font-size:clamp(2.6rem,4.6vw,5rem);font-weight:400;line-height:.9}.project-selection__description{max-width:58ch;color:var(--muted-foreground);margin:1.5rem 0 0;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65}.project-selection .project-highlights{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.project-selection .project-tags{margin-top:2rem}.project-selection .text-link{margin-top:2.2rem}@media (hover:hover) and (pointer:fine){.project-sound-toggle:hover{border-color:var(--project-accent,var(--primary));transform:translateY(-2px)}.cartridge-choice:hover .cartridge-choice__shell{border-color:var(--project-accent);box-shadow:.72rem .82rem 0 var(--project-accent)}@supports (color:color-mix(in lab, red, red)){.cartridge-choice:hover .cartridge-choice__shell{box-shadow:.72rem .82rem 0 color-mix(in srgb,var(--project-accent)26%,transparent)}}.cartridge-choice:hover .cartridge-choice__shell{transform:translateY(-.5rem)rotateX(3deg)rotateY(-2deg)}.cartridge-carousel__controls button:hover{border-color:var(--project-accent,var(--primary));background:var(--project-accent,var(--primary));color:var(--background);transform:translateY(-2px)}}@media (max-width:1100px){.hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:2.5rem}.hero-title{font-size:clamp(3.7rem,5.8vw,5rem)}.project-reel--console{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:2.5rem}}@media (max-width:960px){.work-heading h2{max-width:11ch;font-size:clamp(3.4rem,8vw,4.8rem)}.project-reel--console{flex-direction:column;display:flex}.project-reel--console .project-reel__stage{order:2;width:100%;display:block;position:relative;top:auto}.project-sound-toggle{top:.5rem;right:.5rem}.project-reel__controls{order:3;width:100%}.project-stage--singular{min-height:clamp(33rem,108vw,47rem);padding-top:clamp(5.5rem,16vw,8rem)}.project-stage--singular .handheld{width:min(100%,39rem)}.cartridge-carousel{order:1;align-self:center;width:100vw;max-width:100vw;margin:0 calc(50% - 50vw) 3rem}.cartridge-carousel__header{padding-inline:max(1.25rem,50vw + min(100% - 2.5rem,92rem)/-2)}.cartridge-library{--cartridge-width:clamp(8.8rem,28vw,11.5rem)}}@media (max-width:900px){.hero-section,.hero-layout{min-height:auto}.hero-layout{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem 4.5rem;display:grid}.hero-title{margin-top:1.75rem;font-size:clamp(3.7rem,10.8vw,6.2rem)}.hero-details{width:min(35rem,100%);margin-top:2.25rem}.hero-portrait-motion{width:min(88vw,34rem);height:min(108vw,40rem);margin:0 auto}}@media (max-width:620px){.hero-layout{padding-block:2.75rem 4rem}.hero-title{font-size:clamp(3.1rem,14.2vw,4.35rem);line-height:.9}.work-heading h2{font-size:clamp(3rem,13vw,4rem)}.hero-actions{align-items:stretch}.hero-actions .button{flex:auto;justify-content:center}.hero-portrait-motion{width:min(91vw,29rem);height:min(116vw,35rem)}.hero-portrait{box-shadow:-9px 10px 0 var(--primary);inset:2% 0 5% 7%}@supports (color:color-mix(in lab, red, red)){.hero-portrait{box-shadow:-9px 10px 0 color-mix(in srgb,var(--primary)82%,var(--foreground))}}.hero-portrait-detail{width:23%;height:40%;box-shadow:6px 6px 0 var(--accent);border-width:2px;left:-1%}.project-stage--singular{min-height:min(clamp(27rem,118vw,34rem),100svh - 4.5rem);padding-top:5.4rem}.project-sound-toggle{min-height:2.5rem;padding:.5rem .62rem;font-size:.62rem;top:.25rem;right:.25rem}.project-stage--singular .project-stage__cartridge{width:min(31%,7rem);top:-5.4rem}.project-stage--singular .handheld{width:min(100%,23rem)}.project-stage--singular .handheld__lid{border-radius:.9rem .9rem .5rem .5rem;padding-inline:2.4rem}.project-stage--singular .handheld__base{border-radius:.5rem .5rem 1.35rem 1.35rem;grid-template-columns:minmax(2.45rem,.23fr) minmax(0,1fr) minmax(2.45rem,.23fr);padding:1rem .8rem 1.35rem}.project-stage--singular .handheld__speaker{background-size:.45rem .45rem;width:.85rem;height:3.2rem}.project-stage--singular .handheld__speaker--left{left:.7rem}.project-stage--singular .handheld__speaker--right{right:.7rem}.project-stage--singular .handheld__dpad{width:2.55rem}.project-stage--singular .handheld__buttons{width:2.8rem}.project-stage--singular .handheld__bottom-screen>div{padding:.65rem}.project-stage--singular .handheld__bottom-screen strong{font-size:clamp(.82rem,4vw,1.15rem)}.project-stage--singular .handheld__bottom-screen p{display:none}.cartridge-library{--cartridge-width:clamp(8.4rem,42vw,10.75rem)}.cartridge-carousel__header small{display:none}.cartridge-carousel__controls{gap:.35rem}.cartridge-carousel__controls>span{min-width:3.7rem}.cartridge-carousel__controls button{width:2.65rem;height:2.65rem}.project-selection h3{font-size:clamp(2.65rem,13vw,4.2rem)}.project-selection .project-highlights{grid-template-columns:1fr}}@media (max-width:420px){.cartridge-carousel__header{padding-inline:1rem}.cartridge-carousel__controls>span{display:none}}.hero-section.hero-section--rpg{color:#f3f8ff;background:#07111f;border-bottom-color:#26374d;min-height:max(40rem,100dvh - 68px);overflow:hidden}.hero-section--rpg:before,.hero-section--rpg:after{display:none}.hero-world{isolation:isolate;min-height:max(40rem,100dvh - 68px);position:relative;overflow:hidden}.hero-world__scroll-layer,.hero-world__map,.hero-world__shade,.hero-world__scanlines{position:absolute;inset:0}.hero-world__scroll-layer{z-index:-4;will-change:transform;inset:-6rem -2.5rem}.hero-world__map{will-change:transform}.hero-world__map-image{object-fit:cover;object-position:center 47%;image-rendering:pixelated;filter:saturate(.92)contrast(1.06)brightness(.82);scale:1.04}.hero-world__shade{z-index:-3;pointer-events:none;background:linear-gradient(90deg,#050d1bfa 0%,#050d1beb 30%,#050d1b94 54%,#050d1b1f 78%),linear-gradient(#07111f3d 0%,#07111f14 55%,#07111fc7 100%)}.hero-world__scanlines{z-index:8;mix-blend-mode:screen;opacity:.5;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#91e0ff09 3px 4px)}.hero-world__content{z-index:4;will-change:transform,opacity;min-height:max(40rem,100dvh - 68px);position:relative}.hero-section--rpg .hero-layout{min-height:max(40rem,100dvh - 68px);padding-block:clamp(3.1rem,7vh,5.6rem) clamp(3rem,7vh,5rem);display:block}.hero-section--rpg .hero-copy{width:min(61rem,78%);padding:0}.hero-section--rpg .hero-intro{color:#91e8ff;text-shadow:0 2px #07111f}.hero-section--rpg .hero-intro:before{background:#c8f35a;box-shadow:.28rem .28rem #18cdf7}.hero-section--rpg .hero-title{color:#f4f8ff;text-shadow:0 .035em #07111f,.035em .035em #07111f;max-width:none;margin-top:clamp(1.5rem,3.5vh,2.4rem);font-size:clamp(4.4rem,6.65vw,7.2rem);line-height:.87}.hero-section--rpg .hero-title span:last-child{color:#52d7ff;text-shadow:.045em .045em #0b3562;margin-left:clamp(1rem,4vw,4.5rem)}.hero-section--rpg .hero-summary{color:#d1dceb;text-wrap:pretty;text-shadow:0 1px #07111f;font-size:clamp(1.02rem,1.3vw,1.2rem)}.hero-section--rpg .button--primary{color:#111d03;background:#c8f35a;border-color:#c8f35a;box-shadow:5px 5px #18cdf7}.hero-section--rpg .button--quiet{color:#f3f8ff;background:#07111fd6;border-color:#91e8ffa3;box-shadow:inset 0 0 0 1px #07111f47}.hero-world__portrait{z-index:3;aspect-ratio:4/5;width:clamp(10.5rem,14vw,14.5rem);box-shadow:none;filter:drop-shadow(0 1.1rem 1.5rem #02081357);will-change:transform;background:0 0;border:0;margin:0;position:absolute;bottom:clamp(2.4rem,6vh,4.8rem);right:clamp(1.5rem,4vw,4.5rem);overflow:hidden;transform:none;-webkit-mask-image:linear-gradient(#000 0 84%,#0000 100%);mask-image:linear-gradient(#000 0 84%,#0000 100%)}.hero-world__portrait:after{display:none}.hero-world__portrait-image{object-fit:cover;object-position:center 29%}@media (hover:hover) and (pointer:fine){.hero-section--rpg .button--quiet:hover{background:#0c1f34f5;border-color:#52d7ff}}@media (max-width:1040px){.hero-section--rpg .hero-copy{width:min(53rem,76%)}.hero-section--rpg .hero-title{font-size:clamp(4rem,7.4vw,6.2rem)}}@media (max-width:760px){.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:max(48rem,100dvh - 64px)}.hero-world__map-image{object-position:63% center;scale:1.08}.hero-world__shade{background:linear-gradient(#050d1bfa 0%,#050d1be6 42%,#050d1b57 68%,#050d1bb8 100%),linear-gradient(90deg,#050d1bc2,#0000 86%)}.hero-section--rpg .hero-layout{padding-block:2.8rem 2rem}.hero-section--rpg .hero-copy{width:100%}.hero-section--rpg .hero-title{max-width:10ch;font-size:clamp(3.6rem,11.6vw,5.1rem)}.hero-section--rpg .hero-details{width:min(33rem,82%);margin-top:1.75rem}.hero-world__portrait{width:clamp(7rem,22vw,9rem);bottom:2rem;right:1.5rem}}@media (max-width:520px){.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:max(49rem,100dvh - 64px)}.hero-section--rpg .hero-layout{padding-block:2.2rem 1.5rem}.hero-section--rpg .hero-intro{font-size:1rem}.hero-section--rpg .hero-title{margin-top:1.25rem;font-size:clamp(3.15rem,14.6vw,4.25rem);line-height:.88}.hero-section--rpg .hero-title span:last-child{margin-left:.55rem}.hero-section--rpg .hero-details{width:100%;margin-top:1.45rem}.hero-section--rpg .hero-summary{max-width:31ch;font-size:.98rem;line-height:1.46}.hero-section--rpg .hero-actions{width:min(20.5rem,100%);margin-top:1.15rem}.hero-section--rpg .hero-actions .button{flex:1 1 0;width:auto;min-height:44px;padding-inline:.85rem}.hero-world__portrait{width:6.1rem;bottom:1.2rem;right:1rem}}@media (prefers-reduced-motion:reduce){.hero-world__scroll-layer,.hero-world__map,.hero-world__portrait,.hero-world__content{animation:none!important;transform:none!important}}@media (max-width:960px) and (max-height:620px) and (orientation:landscape){.project-stage--singular{min-height:calc(100svh - 4rem);padding-top:4.25rem}.project-stage--singular .project-stage__cartridge{width:min(24%,6.5rem);top:-4.35rem}.project-stage--singular .handheld{width:min(100%,58svh,24rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tech-marquee__track{flex-wrap:wrap;width:auto;transform:none!important}.tech-mark[aria-hidden=true]{display:none}.sprite-stage__character{transform:none!important}}@media (forced-colors:active){.hero-portrait,.capability-item,.handheld__lid,.handheld__base,.sprite-stage__screen{forced-color-adjust:auto}}.approach-section{background:#07111f;padding-block:clamp(4.5rem,7vw,7rem);overflow:clip}.approach-section:after{display:none}.approach-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,7vw,7rem);margin-top:0;display:grid}.approach-lead{min-width:0}.approach-section .section-label{margin-bottom:1.35rem;display:block}.approach-intro h2{text-wrap:balance;max-width:9.5ch;font-size:clamp(3.4rem,5.4vw,5.9rem);line-height:.9}.approach-copy{color:#c8d4e5;border-left:1px solid #58708d;margin-top:clamp(2rem,3.5vw,3rem);padding-left:clamp(1rem,2.2vw,1.75rem)}.approach-copy p+p{margin-top:1rem}.capability-list{background:0 0;border:0;border-left:1px dashed #58708d;margin-top:0;padding-left:clamp(1.6rem,3.5vw,3rem);display:block}.capability-list>div{margin:0}.capability-item{min-height:0;box-shadow:none;border:0;border-top:1px solid #344860;grid-template-columns:minmax(9.5rem,.72fr) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,2.5vw,2.4rem);padding:clamp(1.8rem,3.2vw,2.8rem) 0;display:grid;position:relative;overflow:visible;translate:none;background:0 0!important}.capability-list>div:last-child .capability-item{border-bottom:1px solid #344860}.capability-item:before{width:.72rem;height:.72rem;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,scale .18s var(--ease-out);background:#07111f;border:2px solid #91e8ff;top:clamp(2rem,3.2vw,3rem);left:calc(0rem - clamp(2rem,3.5vw,3.4rem));rotate:45deg}.capability-item h3{max-width:none;transition:color .18s ease,transform .22s var(--ease-out);margin:0;font-size:clamp(1.8rem,2.5vw,2.75rem)}.capability-item p{color:#b8c6d9;margin:.2rem 0 0;font-size:clamp(.98rem,1.05vw,1.08rem)}.work-section{padding-block:clamp(5rem,7vw,7rem)}.work-heading,.tools-heading,.experience-heading{max-width:68rem;display:block}.work-console-anchor{scroll-margin-top:.75rem}.work-heading .section-label,.experience-heading .section-label{margin-bottom:1.15rem;display:block}.work-heading h2{text-wrap:balance;max-width:12ch;font-size:clamp(3.8rem,6.4vw,7rem);line-height:.88}.experience-heading h2{max-width:10ch}.project-reel--console{grid-template-columns:minmax(0,1.32fr) minmax(20rem,.68fr);column-gap:clamp(2.5rem,4.5vw,5rem)}.project-reel--console .project-reel__stage{top:4.25rem}.project-stage--singular{min-height:min(clamp(41rem,55vw,50rem),100svh - 4.25rem);padding-top:clamp(6rem,8vw,7rem)}.project-stage--singular .handheld{width:min(100%,58svh,46rem)}.project-stage--singular .handheld__lid{padding:clamp(1.7rem,3vw,2.5rem) clamp(2.1rem,4vw,3.8rem)}.project-stage--singular .handheld__base{grid-template-columns:minmax(2.8rem,.18fr) minmax(0,1.35fr) minmax(2.8rem,.18fr);gap:clamp(.65rem,1.35vw,1rem);padding:clamp(1.2rem,2.4vw,2rem)}.project-stage--singular .project-stage__cartridge{width:min(31%,12.5rem,17svh);top:clamp(-7rem,-8vw,-5.75rem)}.handheld__lid-motion{transition:transform .52s cubic-bezier(.16,1,.3,1),filter .52s}.project-cartridge__viewport[data-static=true] .project-cartridge__fallback{animation-duration:1.45s}.project-cartridge__fallback strong,.cartridge-choice__label strong{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:pretty;max-width:100%}.cartridge-choice__category{overflow-wrap:anywhere;max-width:100%;line-height:1.15}.cartridge-choice__label strong{font-size:clamp(.76rem,1.08vw,1.05rem);line-height:1.02}.cartridge-choice[data-title-size=medium] .cartridge-choice__label strong{font-size:clamp(.72rem,.94vw,.92rem);line-height:1.12}.cartridge-choice[data-title-size=long] .cartridge-choice__label strong{font-size:clamp(.66rem,.82vw,.82rem);line-height:1.05}.cartridge-choice,.cartridge-carousel__controls button,.project-sound-toggle{touch-action:manipulation}.site-nav__links a{justify-content:center;min-width:44px}.theme-toggle{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px}.project-sound-toggle{min-height:44px}.tools-section{padding-block:clamp(5rem,7vw,7rem)}.tools-heading{max-width:64rem}.tools-heading h2{text-wrap:balance;max-width:none;margin-top:.45rem;font-size:clamp(3.7rem,6vw,6.4rem);line-height:.9}.tech-marquee{margin-top:clamp(3rem,5vw,4.5rem)}.tech-mark{min-height:5.5rem}.skill-inventory{background:#07111f;border:1px solid #58708d;margin-top:clamp(3.5rem,6vw,5rem);box-shadow:.65rem .7rem #03091275}.skill-inventory__header{color:#dce7f6;min-height:3.2rem;font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #58708d;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:.7rem;font-weight:700;display:flex}.skill-inventory__header span:last-child{color:#91e8ff}.skill-inventory__grid{background:#344860;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.inventory-group{background:#0b192b;min-width:0;padding:clamp(1rem,2.2vw,1.65rem)}.inventory-group h3{color:#f3f7ff;font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.025em;align-items:baseline;gap:.7rem;margin:0 0 1rem;font-size:clamp(1.15rem,1.7vw,1.55rem);display:flex}.inventory-group h3>span{color:#91e8ff;font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;font-size:.62rem}.inventory-slots{grid-template-columns:repeat(auto-fit,minmax(8.6rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.inventory-slot{color:#c9d5e5;min-width:0;min-height:3.35rem;font-family:var(--font-plex-mono),monospace;transition:transform .18s var(--ease-out),border-color .18s ease,background-color .18s ease;background:#0e2036;border:1px solid #344860;align-items:center;gap:.65rem;padding:.5rem .62rem;font-size:.7rem;line-height:1.25;display:flex}.inventory-slot>span:last-child{overflow-wrap:anywhere;min-width:0}.inventory-slot__icon{color:#0a1628;background:#f4f8ff;border:1px solid #58708d;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;font-size:.58rem;font-weight:800;display:grid}.inventory-slot__icon img{object-fit:contain;width:1.35rem;height:1.35rem}@media (hover:hover) and (pointer:fine){.capability-item:hover{box-shadow:none;background:0 0;translate:none}.capability-item:hover:before{background:#c8f35a;border-color:#c8f35a;scale:1.18}.capability-item:hover h3{color:#91e8ff;transform:translate(.3rem)}.inventory-slot:hover{background:#102944;border-color:#91e8ff;transform:translateY(-2px)}}@media (max-width:1100px){.project-reel--console{grid-template-columns:minmax(0,1.18fr) minmax(20rem,.82fr)}}@media (max-width:900px){.approach-layout{grid-template-columns:1fr;gap:3.5rem}.approach-lead,.capability-list{grid-column:1}.approach-lead{max-width:42rem}.capability-list{padding-left:1.5rem}.skill-inventory__grid{grid-template-columns:1fr}}@media (max-width:620px){.approach-section,.work-section,.tools-section{padding-block:4rem}.approach-layout{gap:2.75rem}.approach-intro h2,.tools-heading h2{font-size:clamp(3rem,13vw,4rem)}.capability-item{grid-template-columns:1fr;gap:.65rem;padding-block:1.75rem}.capability-item:before{top:1.95rem;left:-1.88rem}.work-heading{margin-bottom:3rem}.work-heading h2{font-size:clamp(3rem,13vw,4.2rem)}.project-stage--singular{min-height:min(clamp(29rem,125vw,35rem),100svh - 4rem);padding-top:5.2rem}.project-stage--singular .handheld__lid{padding-inline:1.7rem}.project-stage--singular .handheld__base{grid-template-columns:minmax(2.35rem,.16fr) minmax(0,1.45fr) minmax(2.35rem,.16fr);gap:.45rem;padding:.85rem .55rem 1.2rem}.cartridge-choice__label{padding:.55rem}.cartridge-choice__label strong{margin-top:.38rem;font-size:clamp(.72rem,3.3vw,.94rem)}.cartridge-carousel__controls button{width:2.75rem;height:2.75rem}.tech-marquee{margin-top:2.75rem}.skill-inventory{margin-top:3rem;box-shadow:.4rem .45rem #03091275}.skill-inventory__header{padding-inline:.8rem}.inventory-group{padding:1rem}.inventory-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-slot{min-height:3.2rem;padding:.42rem .5rem;font-size:.65rem}.inventory-slot__icon{flex-basis:1.8rem;width:1.8rem;height:1.8rem}}@media (max-width:360px){.inventory-slots{grid-template-columns:1fr}}.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:min(49rem,max(42rem,100svh - 68px))}.hero-section--rpg .hero-layout{align-items:center;padding-block:clamp(2.75rem,6vh,4.5rem);display:flex}.hero-section--rpg .hero-copy{width:min(59rem,68%)}.hero-section--rpg .hero-title{margin-top:clamp(1.25rem,2.8vh,2rem);font-size:clamp(3.9rem,5.1vw,5.85rem);line-height:.91}.hero-section--rpg .hero-title span{white-space:nowrap;display:block}.hero-section--rpg .hero-title span:last-child{margin-left:0}.hero-section--rpg .hero-details{width:min(46rem,88%);margin-top:clamp(1.5rem,3.5vh,2.5rem)}.hero-world__portrait{aspect-ratio:2/3;width:clamp(15rem,19vw,20rem);box-shadow:none;border:0;bottom:clamp(2.4rem,6vh,4.75rem);right:clamp(2rem,5vw,6rem);overflow:hidden;rotate:none}.hero-world__portrait:before,.hero-world__portrait:after{z-index:2;content:"";pointer-events:none;display:block;position:absolute;inset:clamp(.3rem,.75vw,.55rem)}.hero-world__portrait:before{background:linear-gradient(var(--cyan),var(--cyan))0 0/clamp(1.7rem,3.5vw,2.8rem)2px no-repeat,linear-gradient(var(--cyan),var(--cyan))0 0/2px clamp(1.7rem,3.5vw,2.8rem)no-repeat}.hero-world__portrait:after{background:linear-gradient(var(--lime),var(--lime))100% 100%/clamp(1.7rem,3.5vw,2.8rem)2px no-repeat,linear-gradient(var(--lime),var(--lime))100% 100%/2px clamp(1.7rem,3.5vw,2.8rem)no-repeat}.hero-world__portrait-image{object-position:center 28%}.approach-section,.work-section,.tools-section,.experience-section{padding-block:clamp(4rem,6vw,5.75rem)}.approach-layout{gap:clamp(2.5rem,5vw,5rem)}.approach-intro h2{max-width:10ch;font-size:clamp(3rem,4.5vw,4.75rem);line-height:.94}.approach-copy{margin-top:clamp(1.5rem,2.5vw,2.25rem)}.work-heading,.experience-heading{max-width:60rem;display:block}.work-heading{margin-bottom:clamp(1.75rem,3vw,2.75rem)}.work-heading .section-label,.experience-heading .section-label{margin-bottom:.9rem}.work-heading h2,.experience-heading h2{max-width:13ch;font-size:clamp(3.1rem,4.8vw,5.35rem);line-height:.93}.work-heading__copy,.experience-heading>p:last-child{max-width:52ch;margin:1rem 0 0}.experience-heading{margin-bottom:clamp(2.5rem,4vw,4rem)}.experience-layout{margin-top:0}@media (max-width:1040px){.hero-section--rpg .hero-copy{width:min(46rem,70%)}.hero-section--rpg .hero-title{font-size:clamp(3.45rem,6vw,5rem)}.hero-world__portrait{width:clamp(13rem,21vw,17rem);right:2rem}}@media (max-width:820px){.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:min(47rem,max(43rem,100svh - 64px))}.hero-section--rpg .hero-layout{align-items:flex-start;padding-block:2.75rem 2rem}.hero-section--rpg .hero-copy{width:100%}.hero-section--rpg .hero-title{max-width:11ch;font-size:clamp(3.4rem,10vw,4.75rem)}.hero-section--rpg .hero-title span{white-space:normal}.hero-section--rpg .hero-details{width:min(34rem,74%)}.hero-world__portrait{width:clamp(8.5rem,24vw,11.5rem);bottom:2rem;right:1.5rem}.work-heading,.experience-heading{grid-template-columns:1fr;gap:1rem}.work-heading__copy,.experience-heading>p:last-child{max-width:48ch;margin:.9rem 0 0}}@media (max-width:520px){.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:min(45rem,max(41rem,100svh - 64px))}.hero-section--rpg .hero-layout{padding-top:2.1rem}.hero-section--rpg .hero-title{max-width:10ch;font-size:clamp(2.95rem,13.2vw,4rem)}.hero-section--rpg .hero-details{width:100%}.hero-section--rpg .hero-summary{max-width:29ch}.hero-world__portrait{width:7.5rem;bottom:1.7rem;right:1rem}.approach-section,.work-section,.tools-section,.experience-section{padding-block:3.5rem}.approach-intro h2,.work-heading h2,.experience-heading h2{font-size:clamp(2.7rem,12vw,3.65rem)}.work-heading{margin-bottom:1.75rem}}.tools-heading{max-width:54rem;display:block}.tools-heading .section-label{margin-bottom:1rem;display:block}.tools-heading h2{max-width:10ch;margin-top:0;font-size:clamp(3.1rem,4.8vw,5.35rem);line-height:.93}.tools-heading>p{max-width:46ch;margin:1.1rem 0 0}.tools-loadout{margin-top:clamp(1.8rem,3vw,2.6rem)}.loadout-menu{color:#f3f8ff;background:#07111f;border-block:1px solid #58708d}.loadout-menu__header{min-height:4.4rem;font-family:var(--font-plex-mono),monospace;text-transform:uppercase;border-bottom:1px solid #344860;justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 1rem;display:flex}.loadout-menu__header>div{align-items:baseline;gap:.9rem;min-width:0;display:flex}.loadout-menu__header span{color:#91e8ff;letter-spacing:.09em;font-size:.64rem;font-weight:600}.loadout-menu__header strong{color:#f3f8ff;letter-spacing:.05em;font-size:.8rem}.loadout-menu__body{grid-template-columns:minmax(13.5rem,.27fr) minmax(0,.73fr);min-height:27rem;display:grid}.loadout-tabs{border-right:1px solid #344860;flex-direction:column;display:flex}.loadout-tab{color:#aebdd0;text-align:left;touch-action:manipulation;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #263b55;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:5.5rem;padding:1rem;transition:background-color .18s,color .18s;display:grid;position:relative}.loadout-tab:before{content:"";opacity:0;width:.22rem;transition:opacity .18s ease,transform .22s var(--ease-out);background:#c8f35a;position:absolute;top:0;bottom:0;left:0;transform:scaleY(.3)}.loadout-tab>span{color:#6f86a2;font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;font-size:.63rem}.loadout-tab strong{font-size:.98rem;line-height:1.2}.loadout-tab[aria-selected=true]{color:#f3f8ff;background:linear-gradient(90deg,#1465e833,#1465e808)}.loadout-tab[aria-selected=true]:before{opacity:1;transform:scaleY(1)}.loadout-tab[aria-selected=true]>span{color:#c8f35a}.loadout-tab:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #91e8ff}.loadout-panel-wrap{min-width:0;overflow:hidden}.loadout-panel{min-height:100%;padding:clamp(1.5rem,3vw,2.75rem)}.loadout-panel__intro{border-bottom:1px solid #344860;grid-template-columns:5.5rem minmax(0,1fr);align-items:start;gap:1rem;padding-bottom:1.5rem;display:grid}.loadout-panel__intro>span{color:#91e8ff;font-family:var(--font-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;padding-top:.35rem;font-size:.62rem;font-weight:600}.loadout-panel__intro h3{color:#f3f8ff;font-family:var(--font-atkinson),system-ui,sans-serif;letter-spacing:-.035em;margin:0;font-size:clamp(1.6rem,2.6vw,2.45rem);line-height:1}.loadout-panel__intro p{color:#aebdd0;margin:.55rem 0 0;font-size:.96rem}.loadout-tools{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.1rem,2vw,2rem);margin:1rem 0 0;padding:0;list-style:none;display:grid}.loadout-tool{color:#d1dceb;min-width:0;min-height:4.25rem;font-family:var(--font-plex-mono),monospace;transition:color .18s ease,transform .18s var(--ease-out);border-bottom:1px dashed #344860;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.65rem .25rem;font-size:.72rem;line-height:1.25;display:grid}.loadout-tool>span:last-child{overflow-wrap:anywhere;min-width:0}.loadout-tool__icon{color:#91e8ff;letter-spacing:.04em;place-items:center;width:2.25rem;height:2.25rem;font-size:.62rem;font-weight:700;display:grid}.loadout-tool__icon img{object-fit:contain;width:1.75rem;height:1.75rem}.loadout-tool__icon svg{width:1.65rem;height:1.65rem;overflow:visible}.loadout-tool__icon[data-icon-kind=brand] svg{filter:drop-shadow(0 0 .45rem)}@supports (color:color-mix(in lab, red, red)){.loadout-tool__icon[data-icon-kind=brand] svg{filter:drop-shadow(0 0 .45rem color-mix(in srgb,currentColor 24%,transparent))}}.loadout-tool__icon[data-icon-kind=symbol] svg{color:#91e8ff}.loadout-tool__icon[data-adaptive=true] svg{color:#f3f8ff}.loadout-tool__icon[data-high-contrast=true] img{filter:brightness(0)invert()}@media (hover:hover) and (pointer:fine){.loadout-tab:hover{color:#f3f8ff;background:#91e8ff0f}.loadout-tool:hover{color:#c8f35a;transform:translate(.3rem)}}@media (min-width:961px){.project-reel--console{grid-template-columns:minmax(0,1.05fr) minmax(25rem,.95fr);gap:.75rem clamp(2rem,3.5vw,3.75rem)}.project-reel--console .project-reel__stage{top:4.5rem}.project-stage--singular{min-height:min(clamp(36rem,48vw,43rem),100svh - 5.75rem);padding-top:clamp(4.35rem,5vw,5.25rem)}.project-stage--singular .handheld{width:min(100%,56svh,42rem)}.project-stage--singular .handheld__base{grid-template-columns:minmax(3.25rem,.22fr) minmax(0,1.24fr) minmax(3.65rem,.26fr);column-gap:clamp(.95rem,1.7vw,1.4rem);padding-inline:clamp(1.45rem,2.8vw,2.35rem)}.project-stage--singular .handheld__buttons{width:clamp(2.9rem,4vw,3.9rem);translate:0}.cartridge-carousel{margin-bottom:0}.cartridge-carousel__header{min-height:2.65rem}.cartridge-library{--cartridge-width:clamp(7.1rem,30%,8.35rem);gap:.8rem;padding-block:.7rem .9rem}.project-selection{min-height:0;padding-top:clamp(.85rem,1.2vw,1.1rem)}.project-selection h3{max-width:100%;margin-top:.65rem;font-size:clamp(2.15rem,2.55vw,3.05rem);line-height:.94}.project-selection__description{margin-top:.65rem;font-size:clamp(.9rem,.94vw,1rem);line-height:1.42}.project-selection .project-highlights{gap:.55rem 1rem;margin-top:.8rem}.project-selection .project-highlights div{padding-top:.45rem}.project-selection .project-highlights dd{margin-top:.2rem;font-size:.76rem;line-height:1.34}.project-selection .project-tags{margin-top:.8rem}.project-selection .text-link{margin-top:.9rem}}@media (max-width:960px){.project-reel--console{gap:0}.project-reel--console .project-reel__stage{top:auto}.cartridge-carousel{align-self:stretch;width:100%;max-width:100%;margin:0 0 1rem}.cartridge-carousel__header{padding-inline:0}.project-stage--singular{min-height:0;padding-top:4.25rem}.project-stage--singular .handheld{width:min(100%,42rem)}.project-selection{min-height:0}.project-selection h3{font-size:clamp(2.6rem,8.5vw,4.25rem)}.portfolio-journey{display:none}html{scroll-padding-bottom:0}.site-footer{padding-bottom:0}}@media (min-width:701px) and (max-width:960px){.cartridge-carousel__header{min-height:2.7rem}.cartridge-library{--cartridge-width:clamp(7.4rem,22vw,8.75rem);gap:.85rem;padding-block:.75rem 1rem}.project-stage--singular{min-height:0;padding-top:4rem}.project-stage--singular .project-stage__cartridge{width:min(24%,6.8rem);top:-4rem}.project-stage--singular .handheld{width:min(92%,34rem,max(15rem,72.4638svh - 18.8406rem))}.project-stage--singular .handheld__buttons{translate:0}}@media (max-width:780px){.tools-heading{grid-template-columns:1fr;gap:1rem}.tools-heading>p{justify-self:start;max-width:48ch;margin:.9rem 0 0}.loadout-menu__body{min-height:0;display:block}.loadout-tabs{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-color:#52d7ff transparent;scrollbar-width:thin;border-bottom:1px solid #344860;border-right:0;grid-auto-columns:minmax(11rem,44%);grid-auto-flow:column;display:grid;overflow-x:auto}.loadout-tabs::-webkit-scrollbar{height:.24rem}.loadout-tabs::-webkit-scrollbar-track{background:0 0}.loadout-tabs::-webkit-scrollbar-thumb{background:#52d7ff;border-radius:999px}.loadout-tab{scroll-snap-align:start;border-bottom:0;border-right:1px solid #263b55;min-height:4.7rem}.loadout-tab:before{width:auto;height:.22rem;inset:auto 0 0;transform:scaleX(.3)}.loadout-tab[aria-selected=true]:before{transform:scaleX(1)}.loadout-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.tools-heading h2{font-size:clamp(2.7rem,12vw,3.65rem)}.loadout-menu__header{min-height:4rem;padding-inline:.75rem}.loadout-menu__header>div{gap:.2rem;display:grid}.loadout-menu__header>span:last-child{white-space:nowrap}.loadout-tabs{grid-auto-columns:minmax(12.5rem,80%)}.loadout-tab strong{text-wrap:balance;font-size:.9rem}.loadout-panel{padding:1.25rem .85rem 1.5rem}.loadout-panel__intro{grid-template-columns:1fr;gap:.55rem;padding-bottom:1.15rem}.loadout-panel__intro>span{padding-top:0}.project-sound-toggle{top:0;left:0;right:auto}.cartridge-carousel__header{flex-wrap:wrap}.cartridge-choice__category{overflow-wrap:anywhere;text-wrap:balance}.handheld__bottom-screen>div{justify-content:center;gap:.15rem;padding-inline:.85rem}.handheld__bottom-screen strong{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;max-width:none}.cartridge-choice__label strong{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:pretty}.project-selection h3{font-size:clamp(2.45rem,11.5vw,3.65rem)}}@media (max-width:390px){.handheld__bottom-screen[data-title-size=medium]>div,.handheld__bottom-screen[data-title-size=long]>div{padding-inline:.65rem}.handheld__bottom-screen[data-title-size=medium] strong,.handheld__bottom-screen[data-title-size=long] strong{letter-spacing:-.01em;overflow-wrap:normal;word-break:normal;font-size:.88rem}.loadout-tools{grid-template-columns:1fr}.loadout-tool{min-height:3.75rem}}@keyframes trainer-walk-steps{0%,24.99%{background-position:0 0}25%,49.99%{background-position:33.333% 0}50%,74.99%{background-position:66.666% 0}75%,to{background-position:100% 0}}@media (max-width:700px){.page-frame{width:min(100% - 2rem,92rem)}.hero-section.hero-section--rpg,.hero-world,.hero-world__content,.hero-section--rpg .hero-layout{min-height:0}.hero-world{flex-direction:column;display:flex}.hero-world__content{order:1;width:100%}.hero-section--rpg .hero-layout{align-items:flex-start;padding-block:clamp(2.15rem,7vw,2.8rem) .5rem}.hero-section--rpg .hero-copy,.hero-section--rpg .hero-details{width:100%}.hero-section--rpg .hero-title{max-width:none;margin-top:1.15rem;font-size:clamp(2.6rem,11vw,3.3rem);line-height:.94}.hero-section--rpg .hero-title span{white-space:normal}.hero-section--rpg .hero-title span:last-child{margin-left:0}.hero-section--rpg .hero-details{margin-top:1.35rem}.hero-section--rpg .hero-summary{max-width:36ch;font-size:.98rem;line-height:1.48}.hero-section--rpg .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;margin-top:1.15rem;display:grid}.hero-section--rpg .hero-actions .button{justify-content:center;width:100%;min-width:0;padding-inline:.75rem}.hero-world__portrait{order:2;align-self:flex-end;width:clamp(8.75rem,38vw,10.5rem);margin:-.25rem .5rem .5rem 0;position:relative;bottom:auto;right:auto}.approach-section,.work-section,.tools-section,.experience-section{padding-block:clamp(3.25rem,10vw,4rem)}.work-heading,.experience-heading,.tools-heading{gap:.85rem}.work-heading{margin-bottom:2rem}.approach-intro h2,.work-heading h2,.experience-heading h2,.tools-heading h2{max-width:12ch;font-size:clamp(2.65rem,11.4vw,3.35rem);line-height:.94}.work-heading__copy,.experience-heading>p:last-child,.tools-heading>p{max-width:38ch;font-size:.98rem;line-height:1.55}.cartridge-carousel{margin-bottom:.75rem}.cartridge-carousel__header{flex-wrap:nowrap;align-items:center;gap:.75rem;min-height:2.5rem;padding-inline:0}.cartridge-carousel__header>div:first-child{gap:.4rem}.cartridge-carousel__header small{display:none}.cartridge-library{--cartridge-width:clamp(7rem,34vw,8.4rem);--cartridge-edge:.5rem;gap:.7rem;padding-block:.65rem .9rem}.cartridge-choice{scroll-snap-align:start}.cartridge-choice__label strong{margin-top:.35rem;font-size:clamp(.72rem,3.2vw,.9rem)}.project-stage--singular{min-height:0;padding-top:3.9rem}.project-stage--singular .project-stage__cartridge{width:min(27%,6rem);top:-3.9rem}.project-stage--singular .handheld{width:min(100%,23rem,max(17rem,72.4638svh - 7.24638rem))}.project-stage--singular .handheld__base{grid-template-columns:2.25rem minmax(0,1fr) 2.45rem;gap:.35rem;padding:.85rem .55rem 1.15rem}.project-stage--singular .handheld__dpad{width:2.25rem}.project-stage--singular .handheld__buttons{width:2.35rem;translate:0}.project-stage--singular .handheld__bottom-screen>div{gap:.22rem;padding:.75rem}.project-stage--singular .handheld__bottom-screen strong,.project-stage--singular .handheld__bottom-screen[data-title-size=long] strong,.project-stage--singular .handheld__bottom-screen[data-title-size=medium] strong{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;max-width:100%;margin-top:.2rem;font-size:clamp(.88rem,4vw,1.05rem);line-height:1.02}.project-reel__controls{margin-top:1.5rem}.project-selection{min-height:0;padding-top:1.35rem}.project-selection h3{max-width:13ch;margin-top:1rem;font-size:clamp(2.45rem,10.5vw,3.15rem);line-height:.94}.project-selection__description{margin-top:1rem;font-size:1rem;line-height:1.55}}@media (max-width:390px){.hero-section--rpg .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-world__portrait{width:8.75rem}.cartridge-carousel__controls>span{display:none}.cartridge-library{--cartridge-width:clamp(6.5rem,34vw,7.4rem)}}@media (max-width:700px) and (max-height:740px){.cartridge-carousel{margin-bottom:.45rem}.cartridge-carousel__header{min-height:2.3rem}.cartridge-library{--cartridge-width:clamp(5.75rem,30vw,6.75rem);--cartridge-edge:.35rem;gap:.6rem;padding-block:.45rem .7rem}.cartridge-choice__label{padding:.6rem .55rem .5rem}.cartridge-choice__label strong{font-size:clamp(.65rem,2.8vw,.78rem);line-height:1.02}.project-stage--singular{padding-top:3.35rem}.project-stage--singular .project-stage__cartridge{width:min(24%,4.8rem);top:-3.35rem}.project-stage--singular .handheld{width:min(100%,19rem)}}@media (max-width:960px) and (max-height:620px) and (orientation:landscape){.project-stage--singular{padding-top:3.25rem}.project-stage--singular .project-stage__cartridge{width:min(22%,4.8rem);top:-3.25rem}.project-stage--singular .handheld{width:min(100%,48svh,21rem)}}@media (min-width:961px){.page-progress{display:none}.portfolio-journey{z-index:36;opacity:0;pointer-events:none;height:3.5rem;transition:opacity .26s,transform .22s;display:block;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(.45rem)}.portfolio-journey.is-active{opacity:1;transform:translateY(0)}.journey-route{height:2px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;position:absolute;bottom:.75rem;left:clamp(2.5rem,4vw,5rem);right:clamp(2.5rem,4vw,5rem)}.journey-route__track{width:100%;height:100%;margin:0;position:relative}.journey-route__track:before,.journey-route__fill{height:2px;position:absolute;inset:0}.journey-route__track:before{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.journey-route__track:before{background:color-mix(in srgb,var(--foreground)22%,transparent)}}.journey-route__track:before{content:""}.journey-route__fill{z-index:1;background:linear-gradient(90deg,var(--accent),var(--primary));transform-origin:0}.journey-stop{z-index:2;border:1px solid var(--foreground);width:.42rem;height:.42rem;position:absolute;top:50%}@supports (color:color-mix(in lab, red, red)){.journey-stop{border:1px solid color-mix(in srgb,var(--foreground)45%,transparent)}}.journey-stop{background:var(--background);border-radius:50%;transform:translate(-50%,-50%)}.journey-trainer-position{z-index:4;will-change:transform;width:100%;height:0;position:absolute;top:50%;left:0}.journey-trainer,.journey-trainer--side{aspect-ratio:2/3;filter:drop-shadow(0 .18rem #030912b3);width:2rem;image-rendering:pixelated;will-change:auto;background-image:url(/calvin-trainer-walk-side.webp);background-position:0 0;background-repeat:no-repeat;background-size:400% 100%;animation:none;display:block;position:absolute;top:0;left:0;transform:translate(-50%,-80%)}.journey-trainer.is-walking{animation:.42s linear infinite trainer-walk-steps}.journey-trainer.is-backward{transform:translate(-50%,-80%)scaleX(-1)}}.light .hero-section.hero-section--rpg{border-color:var(--day-border);background:var(--day-surface-raised);color:var(--foreground)}.light .hero-world__map-image{opacity:.5;filter:saturate(.68)contrast(.86)brightness(1.42)}.light .hero-world__shade{background:linear-gradient(90deg,#f4f8fbfa 0%,#f4f8fbf0 36%,#f4f8fbb8 68%,#f4f8fb6b 100%),linear-gradient(#f4f8fb2e,#f4f8fbb3)}.light .hero-world__scanlines{mix-blend-mode:multiply;opacity:.18}.light .hero-section--rpg .hero-intro{color:#075e86;text-shadow:none}.light .hero-section--rpg .hero-title{color:var(--foreground);text-shadow:none}.light .hero-section--rpg .hero-title span:last-child{color:#087fad;text-shadow:.035em .035em #1465e82e}.light .hero-section--rpg .hero-summary{color:var(--day-muted);text-shadow:none}.light .hero-section--rpg .button--quiet{border-color:var(--day-border);color:var(--foreground);background:#ffffffd6;box-shadow:inset 0 0 0 1px #ffffff9e}.light .hero-world__portrait{filter:drop-shadow(0 1rem 1.35rem #08132733)}.light .approach-section,.light .tools-section{border-color:var(--day-border);background:linear-gradient(145deg,var(--day-surface-raised),var(--day-surface));color:var(--foreground)}.light .approach-section .section-label,.light .tools-section .section-label{color:#075e86}.light .approach-copy{border-color:var(--day-border);color:var(--day-muted)}.light .capability-list,.light .capability-item,.light .capability-list>div:last-child .capability-item{border-color:var(--day-border)}.light .capability-item:before{background:var(--day-surface);border-color:#087fad}.light .capability-item h3{color:var(--foreground)}.light .capability-item p,.light .tools-heading>p{color:var(--day-muted)}.light .tech-marquee{border-color:var(--day-border);background:var(--day-surface-raised)}@supports (color:color-mix(in lab, red, red)){.light .tech-marquee{background:color-mix(in srgb,var(--day-surface-raised)92%,transparent)}}.light .tech-mark{border-color:var(--day-border);color:var(--foreground)}.light .loadout-menu{border-color:var(--day-border);background:var(--day-surface-raised);color:var(--foreground)}.light .loadout-menu__header,.light .loadout-tabs,.light .loadout-panel__intro{border-color:var(--day-border)}.light .loadout-menu__header span,.light .loadout-panel__intro>span{color:#075e86}.light .loadout-menu__header strong,.light .loadout-panel__intro h3{color:var(--foreground)}.light .loadout-tab{border-color:var(--day-border);color:var(--day-muted)}.light .loadout-tab>span{color:#596f87}.light .loadout-tab[aria-selected=true]{color:var(--foreground);background:linear-gradient(90deg,#1465e824,#1465e806)}.light .loadout-tab[aria-selected=true]>span{color:#527000}.light .loadout-panel__intro p{color:var(--day-muted)}.light .loadout-tool{border-color:var(--day-border);color:#263b55}.light .loadout-tool__icon[data-icon-kind=symbol] svg{color:#087fad}.light .loadout-tool__icon[data-adaptive=true] svg{color:#081327}.light .loadout-tool__icon[data-high-contrast=true] img{filter:none}.light .site-footer{background:#10233b;border-color:#263f5b}.light .site-footer__layout p,.light .site-footer__base{color:#c2d2e4}.light .site-footer__links a{color:#edf6ff;border-color:#6c89a8}@media (prefers-reduced-motion:reduce){.portfolio-journey{display:none}}@media print{.portfolio-journey{display: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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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}
