/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,: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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-5xl:3rem;--text-5xl--line-height:1;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@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(--font-body,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:normal;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-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,Fira Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}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}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.left-0{left:0}.isolate{isolation:isolate}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.aspect-square{aspect-ratio:1}.h-24{height:calc(var(--spacing) * 24)}.min-h-screen{min-height:100vh}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.rotate-0{rotate:0deg}.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}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b-\[18px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:18px}.border-editor-panel{border-color:rgb(var(--surface-raised) / 1)}.bg-editor-panel{background-color:rgb(var(--surface-raised) / 1)}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.text-editor-comment{color:rgb(var(--text-muted) / 1)}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--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-editor{--tw-shadow:0 2px 16px 0 var(--tw-shadow-color,rgb(var(--black) / .18));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}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}.block-1{block-size:var(--spacing)}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.focus-visible\:scale-105:focus-visible{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-accent-cyan:focus-visible{outline-color:rgb(var(--color-accent) / 1)}.\[role\=alert\]\:visible:is(){visibility:visible}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--moss-25:255 250 240;--moss-50:250 246 234;--moss-75:248 243 229;--moss-100:244 239 224;--moss-125:236 230 212;--moss-150:232 226 206;--moss-175:227 220 197;--moss-200:214 206 180;--moss-250:196 190 164;--moss-300:168 160 129;--moss-400:138 132 104;--moss-500:100 116 106;--moss-550:89 108 92;--moss-575:85 106 89;--moss-600:78 99 84;--moss-650:70 86 77;--moss-700:52 75 65;--moss-800:36 62 54;--moss-850:47 60 56;--moss-900:30 53 48;--moss-950:38 45 43;--teal-300:111 149 142;--teal-400:94 133 128;--teal-600:84 118 113;--teal-700:70 98 95;--sage-100:174 198 171;--sage-300:143 176 138;--sage-500:96 132 105;--sage-600:75 111 88;--sage-700:44 86 64;--sage-750:44 82 62;--sage-800:28 72 52;--sage-900:15 62 44;--slate-100:222 236 230;--slate-200:197 221 216;--slate-250:178 205 200;--slate-300:138 168 163;--slate-400:137 151 148;--slate-450:116 146 141;--slate-500:109 128 125;--slate-600:97 118 115;--slate-800:59 73 71;--slate-850:52 66 65;--slate-900:57 78 76;--slate-950:40 48 47;--mint-700:46 78 68;--sky-600:30 105 100;--sky-700:30 85 81;--clay-100:230 205 189;--clay-300:207 143 89;--clay-500:176 72 40;--clay-600:148 91 55;--clay-700:105 63 37;--clay-800:107 67 43;--clay-900:87 54 35;--wheat-50:244 231 161;--wheat-100:246 236 200;--wheat-200:244 223 185;--wheat-300:220 188 140;--wheat-400:138 106 68;--wheat-500:98 70 38;--wheat-600:128 88 30;--wheat-700:110 78 30;--wheat-800:90 62 20;--lilac-650:82 78 91;--lilac-700:83 73 102;--stone-700:76 67 55;--grey-100:245 243 237;--grey-200:212 211 205;--grey-500:89 94 90;--grey-950:34 39 38;--black:0 0 0;--white:255 255 255;--color-surface:var(--moss-100);--color-surface-raised:var(--moss-150);--color-surface-sunken:var(--moss-50);--color-panel:var(--moss-175);--color-text:var(--moss-950);--color-text-muted:var(--moss-650);--color-text-soft:var(--moss-800);--color-text-inverse:var(--moss-100);--color-border:var(--moss-300);--color-hairline:var(--moss-400);--color-accent:var(--teal-700);--color-accent-soft:var(--teal-600);--color-focus:var(--wheat-800);--color-danger:var(--clay-500);--color-danger-surface:var(--clay-100);--color-warning:var(--wheat-700);--color-warning-surface:var(--wheat-100);--color-success:var(--sky-700);--color-shadow:var(--moss-950);--color-highlight:var(--white);--color-button:var(--wheat-300);--color-button-hover:var(--wheat-200);--color-button-text:var(--moss-950);--color-frame:var(--slate-300);--color-desk:var(--teal-300);--color-desk-shade:var(--teal-400);--color-window:var(--moss-100);--color-band:var(--moss-175);--color-band-deep:var(--moss-200);--color-bevel-light:var(--moss-25);--color-bevel-shade:var(--moss-400);--color-band-shade:var(--moss-300);--color-titlebar:var(--teal-700);--color-titlebar-text:var(--moss-100);--color-kicker:var(--wheat-500);--color-tooltip:var(--wheat-50);--color-button-light:var(--wheat-200);--color-button-shade:var(--wheat-400);--color-heading-shadow:var(--wheat-300);--bevel-window:inset 2px 2px 0 rgb(var(--color-bevel-light)), inset -2px -2px 0 rgb(var(--color-bevel-shade));--bevel-band:inset 2px 2px 0 rgb(var(--color-bevel-light)), inset -2px -2px 0 rgb(var(--color-band-shade));--bevel-button:inset 2px 2px 0 rgb(var(--color-button-light)), inset -2px -2px 0 rgb(var(--color-button-shade));--bevel-pressed:inset 2px 2px 0 rgb(var(--color-button-shade)), inset -2px -2px 0 rgb(var(--color-button-light));--bevel-titlebar:inset 2px 2px 0 rgb(var(--color-desk)), inset -2px -2px 0 rgb(var(--color-text));--edge-width:2px;--window-edge:var(--edge-width) solid rgb(var(--color-text));--rule-top:inset 0 var(--edge-width) 0 rgb(var(--color-text));--rule-bottom:inset 0 calc(-1 * var(--edge-width)) 0 rgb(var(--color-text));--press-offset:1px;--underline-offset:3px;--drop-shadow:4px 4px 0 rgb(var(--color-text) / .35);--drop-shadow-small:2px 2px 0 rgb(var(--color-text) / .35);--desk-checker:repeating-conic-gradient(rgb(var(--color-desk-shade)) 0 25%, rgb(var(--color-desk)) 0 50%) 0 0 / 4px 4px;--color-exhibit-ink:var(--moss-900);--color-exhibit-mid:var(--sage-300);--color-exhibit-warm:var(--clay-300);--color-exhibit-paper:var(--moss-100);--chapter-about:var(--sage-750);--chapter-projects:var(--lilac-700);--chapter-athletics:var(--clay-800);--chapter-contact:var(--slate-900);--paper-slate:url(/assets/paper/fine-stock-v2.webp);--paper-ivory:var(--paper-slate);--paper-sage:url(/assets/paper/button-sage.jpg);--paper-lavender:url(/assets/paper/button-lavender.jpg);--paper-night:linear-gradient(rgb(var(--moss-100) / .925), rgb(var(--moss-100) / .925)), url(/assets/paper/fine-stock-v2.webp) center/640px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--window-gap:var(--space-5);--window-pad:var(--space-7);--icon-size:16px;--icon-size-large:calc(var(--icon-size) * 2);--icon-size-desktop:calc(var(--icon-size) * 4);--control-height:44px;--control-height-compact:32px;--control-height-small:36px;--control-gap:8px;--control-pad:12px;--menu-row-height:48px;--disclosure-pad:var(--content-gap);--disclosure-gap:var(--content-gap);--section-gap:var(--space-6);--content-gap:var(--space-4);--menu-travel:.5rem;--menu-settle:.98;--menu-motion:.18s ease;--bar-height:28px;--bar-line:14px;--card-min:300px;--card-pad:clamp(16px, 1.6vw, 22px);--type-hero:90px;--type-title:60px;--type-section:45px;--type-item:30px;--type-action:20px;--type-label:15px;--type-caps:16px;--type-lead:18px;--type-body:16px;--type-small:14px;--title-shadow:3px 3px 0 rgb(var(--color-heading-shadow));--font-display:"Jersey 15", "Silkscreen", system-ui, sans-serif;--font-ui:"Silkscreen", "IBM Plex Mono", ui-monospace, monospace;--font-body:"IBM Plex Mono", ui-monospace, monospace;--surface:var(--color-surface);--surface-raised:var(--color-surface-raised);--surface-overlay:var(--color-panel);--text:var(--color-text);--text-muted:var(--color-text-muted);--border:var(--color-border);--accent-primary:var(--color-accent);--accent-success:var(--color-success);--accent-warm:var(--wheat-600);--exhibit-button-bg:rgb(var(--color-button));--exhibit-button-hover:rgb(var(--color-button-hover));--exhibit-button-text:rgb(var(--color-button-text))}@media (width<=719px),(width<=1000px) and (pointer:coarse){:root{--window-pad:18px;--type-hero:60px;--type-title:45px;--type-section:30px;--type-item:24px}}@container page (width<=719px){.route-content>*,.os-window__page>*{--window-pad:18px;--type-hero:60px;--type-title:45px;--type-section:30px;--type-item:24px}}@font-face{font-family:"Jersey 15";src:url(/assets/jersey-15-latin-C8Nlw5JP.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Silkscreen;src:url(/assets/silkscreen-latin-CtPo2yA5.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-400-DMJ8VG8y.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-500-DSY6xOcd.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/jetbrains-mono-latin-Db4Uuiha.woff2)format("woff2");font-style:normal;font-weight:400 500;font-display:swap}:root{font-synthesis:none;text-rendering:optimizelegibility}:where(html,body,#root,#root *){touch-action:pan-x pan-y}html{scrollbar-gutter:stable;background:rgb(var(--surface));max-width:100%;overflow:clip auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;color:rgb(var(--text));background:radial-gradient(circle at 80% 0%, rgb(var(--accent-primary) / .05), transparent 34rem), rgb(var(--surface));font-family:var(--font-body);margin:0;overflow-x:clip}body:before{z-index:100;pointer-events:none;content:"";opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");position:fixed;inset:0}#root{min-height:100dvh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgb(var(--surface))}::-webkit-scrollbar-thumb{border:2px solid rgb(var(--surface));background:rgb(var(--text-muted) / .45);border-radius:999px}*{scrollbar-width:thin;scrollbar-color:rgb(var(--text-muted) / .45) rgb(var(--surface))}h1,h2,h3,h4,h5,h6{color:rgb(var(--text));font-family:var(--font-display);letter-spacing:0;text-wrap:balance}p{text-wrap:pretty}a,button{-webkit-tap-highlight-color:transparent}a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}code,.code,.json-syntax,.comment,.section-comment,.markdown-heading,.markdown-subheading{font-family:JetBrains Mono,ui-monospace,monospace}code,.code,.json-syntax{color:rgb(var(--accent-primary));background:rgb(var(--surface-raised));border-radius:.3rem}.comment,.section-comment{color:rgb(var(--text-muted))}.syntax-key,.syntax-boolean{color:rgb(var(--accent-primary))}.syntax-string{color:rgb(var(--accent-success))}.syntax-number,.syntax-null{color:rgb(var(--accent-warm))}.container{width:min(100%,90rem);margin-inline:auto;padding-inline:clamp(1.25rem,3vw,3rem)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;border-bottom:1px solid rgb(var(--border) / .55);background:rgb(var(--surface) / .9);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);position:sticky;top:0}.site-header--scene{background:linear-gradient(to bottom, rgb(var(--surface) / .88), transparent);-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;border-bottom-color:#0000;position:relative}.site-header__inner{width:100%;height:var(--header-height);padding-inline:var(--portfolio-gutter);justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:relative}.site-header__inner>*{pointer-events:auto}.site-brand{min-width:2.75rem;min-height:2.75rem;color:rgb(var(--text));align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.site-brand__mark{border:1px solid rgb(var(--accent-primary) / .55);width:2.25rem;height:2.25rem;color:rgb(var(--accent-primary));background:rgb(var(--surface-raised) / .72);box-shadow:inset 0 1px 0 rgb(var(--color-highlight) / .08);font-family:JetBrains Mono,monospace;font-size:var(--type-small);letter-spacing:-.08em;border-radius:.6rem;place-items:center;font-weight:500;display:grid}.site-brand__logo{flex:none;width:2.25rem;height:2.25rem;display:block}.site-brand__copy{line-height:1.15;display:grid}.site-brand__copy strong{font-family:var(--font-display);font-size:var(--type-item);letter-spacing:-.02em;font-weight:600}.site-brand__copy span{color:rgb(var(--text-muted));font-family:JetBrains Mono,monospace;font-size:var(--type-small);letter-spacing:.04em;text-transform:uppercase;margin-top:.2rem}.site-header__desktop-links{align-items:center;gap:.45rem;display:flex}.site-icon-link,.site-menu-button{width:2.5rem;height:2.5rem;color:rgb(var(--text-muted));border:1px solid #0000;border-radius:.65rem;place-items:center;transition:all .18s;display:grid}.site-resume-link{border:1px solid rgb(var(--border) / .8);height:2.5rem;color:rgb(var(--text));background:rgb(var(--surface-raised) / .72);font-size:var(--type-label);border-radius:.65rem;align-items:center;gap:.45rem;margin-left:.35rem;padding-inline:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.site-menu-button,.site-mobile-menu{display:none}.site-mobile-menu{border:1px solid rgb(var(--border) / .85);opacity:0;background:rgb(var(--surface-raised) / .98);width:min(18rem,100vw - 2rem);box-shadow:0 1.5rem 4rem rgb(var(--black) / .45);transform:translateY(calc(var(--menu-travel) * -1)) scale(var(--menu-settle));transform-origin:100% 0;transition:var(--menu-motion);visibility:hidden;border-radius:.9rem;padding:.45rem;transition-property:opacity,transform,visibility;position:absolute;top:calc(100% + .5rem);right:1rem}.site-mobile-menu.is-open{opacity:1;visibility:visible;transition-property:opacity,transform;transform:none}.site-mobile-menu a{color:rgb(var(--text));border-radius:.6rem;grid-template-columns:1.25rem 1fr auto;align-items:center;gap:.75rem;padding:.8rem .85rem;text-decoration:none;display:grid}.site-mobile-menu a:hover{background:rgb(var(--surface-overlay))}.skip-link{z-index:120;border:1px solid rgb(var(--accent-primary));color:rgb(var(--surface));opacity:0;background:rgb(var(--accent-primary));font-size:var(--type-body);pointer-events:none;border-radius:.5rem;padding:.7rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 2rem))}.skip-link:focus{opacity:1;pointer-events:auto;transform:none}.site-footer{border-top:1px solid rgb(var(--border) / .6);background:rgb(var(--surface))}.site-footer__inner{width:calc(min(100%, var(--portfolio-frame)) - 2 * var(--portfolio-gutter));min-height:6rem;color:rgb(var(--text-muted));font-family:JetBrains Mono,monospace;font-size:var(--type-small);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.site-footer__inner p{margin:0}.site-footer__links{align-items:center;gap:1.2rem;display:flex}.site-footer__links a{color:rgb(var(--text-muted))}.not-found-page{min-height:clamp(30rem,100vh - 13rem,52rem);padding:clamp(2rem, 6vw, 5rem) var(--portfolio-gutter);place-items:center;display:grid}.not-found-content{width:min(100%,44rem);box-shadow:var(--bevel-window), var(--drop-shadow)}.not-found-body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,28px);padding:clamp(24px,4vw,40px) clamp(20px,4vw,40px) 8px;display:grid}.not-found-icon{border:var(--window-edge);width:56px;height:56px;color:rgb(var(--color-text));background:rgb(var(--color-tooltip));box-shadow:inset -3px -3px 0 rgb(var(--color-button)), 3px 3px 0 rgb(var(--color-text) / .6);font:var(--type-section) / 1 var(--font-display);place-items:center;display:grid}.not-found-kicker{color:rgb(var(--wheat-600));font:var(--type-caps) / 1.5 var(--font-ui);text-transform:uppercase;margin:0 0 12px}.not-found-content h1{color:rgb(var(--color-text));font:400 var(--type-title) / .9 var(--font-display);letter-spacing:0;text-shadow:var(--title-shadow);margin:0}.not-found-content h1 span{color:rgb(var(--color-accent));display:block}.not-found-copy{max-width:34rem;color:rgb(var(--color-text));font-size:var(--type-lead);margin:20px 0 0;line-height:1.7}.not-found-path{border:var(--window-edge);max-width:100%;color:rgb(var(--color-text-muted));background:rgb(var(--color-surface-sunken));box-shadow:inset 2px 2px 0 rgb(var(--color-band-shade));font:var(--type-small) / 1.4 var(--font-body);overflow-wrap:anywhere;margin-top:18px;padding:8px 12px;display:block;overflow:hidden}.not-found-actions{justify-content:flex-end;padding:20px clamp(20px,4vw,40px) clamp(20px,3vw,28px);display:flex}.not-found-action{min-height:44px}@media (width<=519px){.not-found-body{grid-template-columns:minmax(0,1fr)}.not-found-icon{width:44px;height:44px}.not-found-action{width:100%}}@media (width<=719px){html{scrollbar-gutter:auto}.site-header__inner{padding-inline:var(--portfolio-gutter)}.site-footer__inner{flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem;min-height:7rem}.site-footer__links{flex-direction:column;align-items:flex-start;gap:.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.static-chapter-links{display:none}.architecture-foot a{text-underline-offset:.2em;margin-inline-start:1rem;text-decoration:underline}.architecture-nav a,.architecture-primary{align-items:center;text-decoration:none;display:inline-flex}#update-notice{z-index:200;background:rgb(var(--color-panel));color:rgb(var(--moss-900));border:1px solid rgb(var(--sage-750));padding:1rem;position:fixed;inset:auto 1rem 1rem}#update-notice a{text-decoration:underline}@media (forced-colors:active){:is(a,button,input):focus-visible{outline:2px solid highlight}:is(button,input){border:1px solid buttontext}.blob-pet{display:none!important}}@media print{html,body,#root,#main-content{background:rgb(var(--white))!important;height:auto!important;color:rgb(var(--black))!important;overflow:visible!important}.site-header,.architecture-exhibit,.architecture-dock,.project-diorama,.architecture-controls,.case-study__next,.blob-pet{display:none!important}.case-study,.case-study__hero,.architecture-page,.architecture-layout,.world-carousel__viewport,.world-carousel__slide[data-active=true]{width:auto!important;height:auto!important;display:block!important;overflow:visible!important}p,h1,h2,h3,a,li{color:rgb(var(--black))!important}h1,h2,h3{break-after:avoid}img{max-width:100%}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}body :is(button,[role=button]:not(.blob-pet),select,summary,.correspondence-button,.cv-download,.site-resume-link,.ascii-upload-button,.vision-upload){transition:transform .18s,translate .18s,scale .12s!important}@media (hover:hover){body :is(button,[role=button]:not(.blob-pet),.correspondence-button,.cv-download,.site-resume-link,.ascii-upload-button,.vision-upload):not(:disabled):not([aria-disabled=true]):not([role=tab],.expandable-media):hover{translate:0 -1px}body button.expandable-media:hover{filter:brightness(1.04)}}body :is(button,[role=button]:not(.blob-pet),.correspondence-button,.cv-download,.site-resume-link,.ascii-upload-button,.vision-upload):not(:disabled):not([aria-disabled=true]):not([role=tab],.expandable-media):active{translate:0 1px;scale:.975}body button.expandable-media:active{scale:.995}body :is(button,[role=button]:not(.blob-pet),select,summary):focus-visible{outline:2px dashed rgb(var(--color-text));outline-offset:2px}body details:not(.animated-details)>summary{list-style:none}body details:not(.animated-details)>summary::-webkit-details-marker{display:none}body details:not(.animated-details)>summary::marker{content:""}body details:not(.animated-details)>summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;margin:0 12px 2px 2px;transition:rotate .18s;display:inline-block;rotate:-45deg}body details:is([data-motion-open=true],[open]:not([data-motion-open=false]))>summary:before{rotate:45deg}@supports (appearance:base-select){body select:not([multiple]):not([size]),body select:not([multiple])[size="1"]{appearance:base-select}body select::picker(select){appearance:base-select}body select:not([multiple]):not([size]),body select:not([multiple])[size="1"]{justify-content:space-between;align-items:center;gap:10px;display:inline-flex}body select::picker(select){background:rgb(var(--color-window));color:rgb(var(--color-text));border:var(--window-edge);box-shadow:var(--drop-shadow);opacity:0;max-width:calc(100vw - 24px);max-height:none;transition:opacity .18s ease, translate .18s ease, display .18s allow-discrete, overlay .18s allow-discrete;border-radius:0;padding:2px;translate:0 -5px}body select:open::picker(select){opacity:1;translate:0}@starting-style{body select:open::picker(select){opacity:0;translate:0 -5px}}body select::picker-icon{color:rgb(var(--color-text));transition:rotate .18s}body select:open::picker-icon{rotate:180deg}body select option{border-radius:0;min-height:42px;padding:9px 12px;transition:background-color .14s,color .14s}body select option:is(:hover,:focus-visible){background:rgb(var(--color-button-hover));color:rgb(var(--color-text));outline:none}body select option:checked{background:rgb(var(--color-titlebar));color:rgb(var(--color-titlebar-text))}}@media (prefers-reduced-motion:reduce){body :is(button,[role=button]:not(.blob-pet),select,summary,.correspondence-button,.cv-download,.site-resume-link,.ascii-upload-button,.vision-upload),body details>summary:before,body select option{transition:none!important}body select::picker(select){transition:none!important}body select::picker-icon{transition:none!important}body :is(button,[role=button]:not(.blob-pet),.correspondence-button,.cv-download,.site-resume-link,.ascii-upload-button,.vision-upload):is(:hover,:active){translate:none;scale:none}}.desk-window,.desk-card,.studies-page .studio-workspace .studio-controls{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-window));box-shadow:var(--bevel-window)}.desk-window__body{padding:var(--window-pad)}.studies-page .studio-workspace .studio-controls{padding:var(--content-gap)}.desk-panel{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:var(--bevel-band)}.desk-sunken{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-surface-sunken));box-shadow:inset 2px 2px 0 rgb(var(--color-bevel-shade) / .5)}.pixel-icon{flex:none;display:block}.pixel-icon--small{width:var(--icon-size);height:var(--icon-size)}.pixel-icon--large{width:var(--icon-size-large);height:var(--icon-size-large)}.pixel-icon--desktop{width:var(--icon-size-desktop);height:var(--icon-size-desktop)}.pixel-icon__ink{fill:rgb(var(--color-exhibit-ink))}.pixel-icon__mid{fill:rgb(var(--color-exhibit-mid))}.pixel-icon__warm{fill:rgb(var(--color-exhibit-warm))}.pixel-icon__paper{fill:rgb(var(--moss-25))}.pixel-icon__butter{fill:rgb(var(--color-tooltip))}.pixel-icon__teal{fill:rgb(var(--color-titlebar))}.pixel-icon__red{fill:rgb(var(--clay-500))}.pixel-icon__gold{fill:rgb(var(--wheat-300))}.pixel-icon__brown{fill:rgb(var(--clay-700))}.pixel-icon__lilac{fill:rgb(var(--lilac-700))}.pixel-icon__sky{fill:rgb(var(--slate-250))}.pixel-icon__leaf{fill:rgb(var(--sage-500))}.pixel-icon__grey{fill:rgb(var(--grey-200))}.pixel-icon__shade{fill:rgb(var(--moss-200))}.pet-controls{flex:none;align-items:center;gap:4px;display:none}.pet-controls--header{gap:var(--control-gap)}.pet-controls--menu{flex-direction:column;align-items:stretch;gap:0}.site-icon-link.pet-control{cursor:pointer}html:has(.pet-customizer[open]){overflow:hidden}.pet-customizer{--pet-kicker:rgb(var(--wheat-600));--pet-rule:rgb(var(--color-hairline) / .55);border:var(--window-edge);background:rgb(var(--color-window));width:min(760px,100vw - 48px);max-height:calc(100dvh - 48px);color:rgb(var(--color-text));box-shadow:var(--bevel-window), 6px 6px 0 rgb(var(--color-text) / .45);font:400 var(--type-body)/1.55 var(--font-body);border-radius:0;margin:auto;padding:0;overflow:auto}.pet-customizer:before{content:"pet_setup.exe";content:"pet_setup.exe" / "";border-bottom:var(--window-edge);height:36px;color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));align-items:center;padding:0 52px 0 12px;display:flex}.pet-customizer::backdrop{background:repeating-conic-gradient(rgb(var(--color-text) / .4) 0 25%, transparent 0 50%) 0 0 / 4px 4px}.pet-customizer[open]{animation:.18s ease-out both pet-customizer-in}.pet-customizer__content{padding:var(--window-pad)}.pet-customizer__header p{color:var(--pet-kicker);font:var(--type-caps)/1.5 var(--font-ui);text-transform:uppercase;margin:0 0 6px}.pet-customizer__header h2{color:rgb(var(--color-text));font:400 var(--type-section)/1 var(--font-display);letter-spacing:0;text-shadow:var(--title-shadow);margin:0}.pet-customizer button{font:inherit;cursor:pointer}.pet-customizer :is(button,[tabindex]):focus-visible{outline:2px dashed rgb(var(--color-text));outline-offset:2px}.pet-customizer__close{border:var(--window-edge);background:rgb(var(--color-band));width:28px;height:28px;box-shadow:var(--bevel-band);color:rgb(var(--color-text));border-radius:0;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.pet-customizer__close:active{box-shadow:var(--bevel-pressed)}.pet-customizer .pet-customizer__close:focus-visible{outline-color:rgb(var(--color-titlebar-text));outline-offset:1px}.pet-customizer__close svg{stroke-width:3px;width:18px;height:18px}.pet-customizer__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch;gap:24px;margin-block:22px 18px;display:grid}.pet-customizer__preview{border:var(--window-edge);background:var(--desk-checker);min-height:360px;box-shadow:inset 2px 2px 0 rgb(var(--color-text) / .35);align-content:center;justify-items:center;display:grid;position:relative}.pet-customizer__preview-art{z-index:1;transform-origin:50% 88%;width:min(100%,215px);height:230px;filter:url(#desk-dither) drop-shadow(var(--drop-shadow-small));animation:.65s both pet-preview-hop}.pet-customizer__shadow{background:rgb(var(--color-text) / .3);width:84px;height:8px;margin-top:-7px}.pet-customizer__preview p{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-tooltip));box-shadow:3px 3px 0 rgb(var(--color-text) / .6);font:var(--type-caps)/1.5 var(--font-ui);text-transform:uppercase;margin:18px 0 0;padding:3px 10px}.pet-customizer__preview-caption{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));font:var(--type-caps)/1.5 var(--font-ui);text-transform:uppercase;padding:2px 8px;position:absolute;top:10px;left:10px}.pet-customizer__settings{min-width:0}.pet-customizer__tabs{border-bottom:var(--window-edge);gap:4px;margin-bottom:18px;display:flex}.pet-customizer__tabs button{position:relative;bottom:-2px}.pet-customizer__tabs button[aria-selected=true]{z-index:1}.pet-customizer__panel{min-height:332px}.pet-customizer__choices,.pet-customizer__colors{border:0;min-width:0;margin:0;padding:0}.pet-customizer__choices legend,.pet-customizer__colors legend{color:rgb(var(--color-text));font:var(--type-caps)/1.5 var(--font-ui);text-transform:uppercase;margin-bottom:10px;padding:0}.pet-customizer__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;display:grid}.pet-customizer__option{text-align:center;font-size:var(--type-small);color:rgb(var(--color-text-muted));cursor:pointer;gap:5px;display:grid;position:relative}.pet-customizer__option input{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.pet-customizer__swatch{border:var(--window-edge);background:rgb(var(--color-surface-sunken));height:64px;box-shadow:var(--bevel-window);place-items:center;transition:background .14s;display:grid;position:relative}.pet-customizer__swatch .blob-pet__art{width:57px;height:61px}.pet-customizer__option:hover .pet-customizer__swatch{background:rgb(var(--color-band))}.pet-customizer__option:has(:checked){color:rgb(var(--color-text))}.pet-customizer__option:has(:checked) .pet-customizer__swatch{background:rgb(var(--color-tooltip));box-shadow:inset 2px 2px 0 rgb(var(--color-button-shade)), inset -2px -2px 0 rgb(var(--color-bevel-light))}.pet-customizer__option:has(:focus-visible) .pet-customizer__swatch{outline:2px dashed rgb(var(--color-text));outline-offset:2px}.pet-customizer__check{width:13px;height:13px;color:rgb(var(--color-text));opacity:0;position:absolute;top:4px;right:4px}.pet-customizer__option:has(:checked) .pet-customizer__check{opacity:1}.pet-customizer__choices--eyeStyle .pet-customizer__options{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-customizer__choices--eyeStyle .pet-customizer__swatch{height:52px;overflow:hidden}.pet-customizer__choices--eyeStyle .blob-pet__art{clip-path:inset(29% 18% 23%);width:88px;height:95px;margin-top:-25px}.pet-customizer__choices+.pet-customizer__colors{margin-top:22px}.pet-customizer__color-options{flex-wrap:wrap;gap:10px;display:flex}.pet-customizer__color{color:rgb(var(--color-text-muted));font-size:var(--type-small);cursor:pointer;justify-items:center;gap:5px;display:grid;position:relative}.pet-customizer__color input{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.pet-customizer__color-chip{border:2px solid #0000;place-items:center;width:44px;height:44px;padding:4px;display:grid}.pet-customizer__color-chip:before{content:"";border:var(--window-edge);background:var(--pet-swatch);width:100%;height:100%;box-shadow:inset 2px 2px 0 rgb(var(--color-highlight) / .35), inset -2px -2px 0 rgb(var(--color-text) / .2);grid-area:1/1}.pet-customizer__color-chip svg{width:14px;height:14px;color:rgb(var(--white));filter:drop-shadow(1px 1px 0 rgb(var(--black)));opacity:0;grid-area:1/1}.pet-customizer__color:hover .pet-customizer__color-chip{border-color:rgb(var(--color-hairline))}.pet-customizer__color:has(:checked){color:rgb(var(--color-text))}.pet-customizer__color:has(:checked) .pet-customizer__color-chip{border-color:rgb(var(--color-text));background:rgb(var(--color-tooltip))}.pet-customizer__color:has(:checked) svg{opacity:1}.pet-customizer__color:has(:focus-visible) .pet-customizer__color-chip{outline:2px dashed rgb(var(--color-text));outline-offset:2px}.pet-customizer__colors:disabled{opacity:.45}.pet-customizer__colors:disabled label{cursor:default}.pet-customizer__hint{color:rgb(var(--color-text-muted));font-size:var(--type-small);margin:14px 0 0}.pet-customizer__panel#pet-panel-Color .pet-customizer__color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:10px;display:grid}.pet-customizer__panel#pet-panel-Color .pet-customizer__color{font-size:var(--type-small)}.pet-customizer__panel#pet-panel-Color .pet-customizer__color-chip{width:62px;height:62px;padding:5px}.pet-customizer__footer{justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding-top:18px;display:flex}.pet-customizer__footer p{color:rgb(var(--color-text-muted));font-size:var(--type-small);margin:0}.pet-customizer__footer button svg{width:16px;height:16px}@keyframes pet-customizer-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pet-preview-hop{0%,to{transform:translateY(0)scale(1)}16%{transform:translateY(0)scale(1.06,.9)}45%{transform:translateY(-15px)scale(.96,1.05)}75%{transform:translateY(0)scale(1.04,.94)}}@media (width>=720px) and (any-hover:hover) and (any-pointer:fine) and (prefers-reduced-motion:no-preference){.pet-controls{display:flex}}@media (prefers-reduced-motion:reduce){.pet-customizer,.pet-customizer__preview-art,.pet-customizer__preview-art [data-part=hat]{animation:none!important}}@media print{.pet-customizer{display:none!important}}.portfolio-navigation-shell{flex:none;width:100%;container:section-band/inline-size}.portfolio-navigation-row{min-width:0;position:relative}.portfolio-navigation{min-height:var(--nav-height);flex-wrap:nowrap;align-items:center;min-width:0;display:flex}.portfolio-navigation.architecture-nav>a{flex:none}.typewriter-text__word{vertical-align:baseline;max-width:100%;display:inline-block;position:relative}.typewriter-text__visual{white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:absolute;inset:0;overflow:clip}.typewriter-text[data-typing] .typewriter-text__word[data-pending=true]>.typewriter-text__source{opacity:0}.typewriter-text[data-typing] .typewriter-text__word[data-pending=true]>.typewriter-text__visual{display:block}@media (prefers-reduced-motion:reduce),print{.typewriter-text .typewriter-text__word>.typewriter-text__source{opacity:1!important}.typewriter-text .typewriter-text__word>.typewriter-text__visual{display:none!important}}.animated-details__panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1),opacity .22s;display:grid}.animated-details[data-open=true]>.animated-details__panel,.animated-details[open]:not([data-enhanced])>.animated-details__panel{opacity:1;grid-template-rows:1fr}.animated-details__inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.animated-details__panel{transition:none}}.ui-link-list{margin:0;padding:0;list-style:none;display:block}.ui-link-list__item{margin:0;padding:0}.ui-link-list__item+.ui-link-list__item{border-top:1px dashed rgb(var(--color-text) / .3)}.ui-link-list__link{grid-template-columns:var(--icon-size-large) minmax(0, 1fr);align-items:center;gap:var(--control-pad);min-width:0;min-height:var(--menu-row-height);padding:var(--control-pad) var(--content-gap);color:rgb(var(--color-text));overflow-wrap:anywhere;text-decoration:none;display:grid}.ui-link-list__link:is(:hover,:focus-visible){color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.ui-link-list__link:focus-visible{outline:var(--window-edge);outline-offset:calc(-1 * var(--space-1))}.ui-link-list__copy{min-width:0}.ui-link-list__label{font:var(--type-action)/1.2 var(--font-display);display:block}.ui-link-list__detail{color:rgb(var(--color-text-muted));font:var(--type-small)/1.4 var(--font-body);display:block}.ui-link-list__link:is(:hover,:focus-visible) .ui-link-list__detail{color:inherit}.project-cover{width:100%;height:100%;min-height:8rem;color:rgb(var(--color-text));background:var(--desk-checker);isolation:isolate;display:block;position:relative;overflow:hidden}.project-cover__grid,.project-cover__orbit{display:none}.project-cover__window{z-index:2;border:var(--window-edge);background:rgb(var(--color-window));box-shadow:var(--bevel-window), var(--drop-shadow);grid-template-rows:auto 1fr;display:grid;position:absolute;inset:9% 8% calc(12% + 22px);overflow:hidden;transform:none}.project-cover__toolbar{min-height:var(--bar-height);border-bottom:var(--window-edge);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));font:var(--type-caps)/1 var(--font-ui);text-transform:uppercase;align-items:center;gap:4px;padding-inline:8px 4px;display:flex}.project-cover__toolbar>span{border:1px solid rgb(var(--color-text));background:rgb(var(--color-band));width:12px;height:12px;box-shadow:inset 1px 1px 0 rgb(var(--color-bevel-light));flex:none;order:2}.project-cover__toolbar b{overflow-wrap:anywhere;order:1;min-width:0;margin-right:auto;font-weight:400}.project-cover__canvas{background:rgb(var(--color-surface-sunken));place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.project-cover__canvas img{object-fit:contain;object-position:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:block;position:absolute;inset:0}.project-cover__meta{z-index:3;border-top:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:var(--bevel-band);font:var(--type-caps)/1.3 var(--font-ui);text-transform:uppercase;justify-content:space-between;gap:1rem;padding:4px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.project-cover__meta>span{overflow-wrap:anywhere;min-width:0}.project-cover__meta>span:last-child{flex:none}.exhibit-story{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid}.exhibit-story.is-project-story{grid-template-rows:30px minmax(0,1fr);padding-top:15px}.exhibit-back{color:rgb(var(--color-text-soft));font:var(--type-action) var(--font-display);align-self:center;width:max-content}.exhibit-back:hover{color:rgb(var(--white))}.architecture-view.is-object-exhibit:not(.has-exhibit-controls) .architecture-canvas{bottom:60px}.architecture-view.has-exhibit-controls .architecture-canvas{bottom:166px}.architecture-view.has-exhibit-controls.is-expanded .architecture-canvas{bottom:188px}.exhibit-console{border-top:1px solid rgb(var(--color-hairline) / .188);z-index:3;padding:10px 6px 0;position:absolute;inset:auto 8px 60px}.exhibit-console__inputs{justify-content:center;align-items:center;gap:10px 18px;display:flex}.exhibit-slider{min-width:0;max-width:260px;color:rgb(var(--moss-900));font:var(--type-label) var(--font-display);flex:140px;gap:4px;display:grid}.exhibit-slider input{cursor:ew-resize;width:100%;height:26px;accent-color:rgb(var(--color-accent-soft));margin:0;padding:0}.exhibit-console button,.exhibit-console a{white-space:nowrap}.exhibit-console button:disabled{opacity:.5}.exhibit-readout{text-align:center;color:rgb(var(--color-text-muted));font:var(--type-small)/1.5 var(--font-body);min-height:15px;margin:7px 0 0}.exhibit-choices{flex-shrink:0;gap:3px;display:flex}.exhibit-choices button{padding-inline:8px}.architecture-view.is-expanded .exhibit-console{bottom:82px;left:24px;right:24px}.architecture-canvas{touch-action:pan-y}.architecture-view.is-expanded .architecture-canvas{touch-action:none}@media (width<=719px){.exhibit-story.is-project-story{grid-template-rows:23px minmax(0,1fr);padding-top:5px}.architecture-view.has-exhibit-controls .architecture-canvas{bottom:132px}.architecture-view.is-object-exhibit:not(.has-exhibit-controls) .architecture-canvas{bottom:44px}.exhibit-console{padding-top:5px;inset:auto 0 45px}.exhibit-console__inputs{gap:7px}.exhibit-slider{gap:0}.exhibit-choices{gap:2px}.exhibit-choices button{padding:5px}.exhibit-readout{margin-top:3px}.architecture-case.case-study .project-diorama{height:390px}}@media (height<=640px) and (width<=719px){.architecture-page.is-section .architecture-layout{grid-template-rows:minmax(130px,.85fr) minmax(200px,1.15fr)}}.architecture-view.is-object-exhibit.has-exhibit-controls{grid-template-rows:minmax(0,1fr) auto 60px;display:grid}.architecture-view.is-object-exhibit.has-exhibit-controls .architecture-canvas{grid-row:1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.architecture-view.is-object-exhibit.has-exhibit-controls:not(.has-unified-controls) .exhibit-console{grid-row:2;margin:0 8px;padding-bottom:8px;position:relative;inset:auto}.architecture-view.is-object-exhibit.has-exhibit-controls.is-expanded{grid-template-rows:65px minmax(0,1fr) auto 78px}.architecture-view.is-object-exhibit.has-exhibit-controls.is-expanded .architecture-canvas{grid-row:2}.architecture-view.is-object-exhibit.has-exhibit-controls:not(.has-unified-controls).is-expanded .exhibit-console{grid-row:3;margin-inline:24px}@media (width<=719px){.architecture-view.is-object-exhibit.has-exhibit-controls{grid-template-rows:minmax(0,1fr) auto 44px}.architecture-view.is-object-exhibit.has-exhibit-controls:not(.has-unified-controls) .exhibit-console{margin-inline:0;padding-bottom:7px}.architecture-view.is-object-exhibit.has-exhibit-controls.is-expanded{grid-template-rows:65px minmax(0,1fr) auto 78px}}@media (prefers-reduced-motion:reduce){.architecture-page .world-carousel__slide[data-active=true]{animation:none}}@media (height<=500px) and (width>=720px){.architecture-page{grid-template-rows:minmax(0,1fr) auto 24px}.architecture-exhibit{grid-template-rows:24px minmax(0,1fr)}.architecture-view.is-object-exhibit.has-exhibit-controls{grid-template-rows:minmax(0,1fr) auto 44px}.architecture-view.is-object-exhibit.has-exhibit-controls:not(.has-unified-controls) .exhibit-console{padding-top:4px;padding-bottom:5px}.exhibit-slider{gap:0}.exhibit-slider input{height:23px}.exhibit-readout{margin-top:3px}.architecture-view.has-exhibit-controls .architecture-controls{padding-top:4px;bottom:2px}.architecture-view.is-object-exhibit.has-exhibit-controls.is-expanded{grid-template-rows:50px minmax(0,1fr) auto 48px}}.paper-stage .world-carousel .orbit-project-card{min-height:270px;color:inherit;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:36px;padding:0;display:grid;height:auto!important}.world-carousel .orbit-project-card:hover{transform:none}.paper-stage .world-carousel .orbit-project-card__media{width:100%;height:290px;margin:0;transform:none}.paper-stage .world-carousel .orbit-project-card__content{flex-direction:column;gap:0;min-width:0;padding:0;display:flex}.world-carousel .orbit-project-card__heading{gap:16px;margin:10px 0 0}.paper-stage .world-carousel .orbit-project-card__heading strong{font-size:var(--type-item);letter-spacing:0;color:rgb(var(--color-text));line-height:1.06}.world-carousel .orbit-project-card__heading>span{flex:none;width:40px;height:40px}.world-carousel .orbit-project-card__tier{font:var(--type-caps) var(--font-ui);color:rgb(var(--slate-800))}.paper-stage .world-carousel .orbit-project-card__description{font-size:var(--type-body);color:rgb(var(--slate-800));margin-top:22px;line-height:1.75;display:block}.paper-stage .world-carousel .orbit-project-card__tech{border-top:1px solid rgb(var(--slate-500) / .333);font-size:var(--type-small);color:rgb(var(--slate-900));margin-top:28px;padding-top:16px;line-height:1.7}.world-carousel .project-cover{background:rgb(var(--slate-100))!important}.world-carousel .project-cover__window{grid-template-rows:1fr;inset:0;box-shadow:none!important;border:0!important;transform:none!important}.world-carousel .project-cover__toolbar,.world-carousel .project-cover__meta{display:none}.paper-stage.is-projects[data-journey=departing] .world-carousel{pointer-events:none}.paper-stage.is-projects[data-journey=departing] .world-carousel__viewport{opacity:0;transition:opacity .25s,transform .45s;transform:translateY(-16px)}@container page (width<=759px){.paper-stage .world-carousel .orbit-project-card{grid-template-columns:1fr;gap:24px}.paper-stage .world-carousel .orbit-project-card__media{aspect-ratio:16/10;height:auto}.paper-stage .world-carousel .orbit-project-card__description{margin-top:16px}.paper-stage .world-carousel .orbit-project-card__tech{margin-top:20px}}.paper-stage.is-docked:not(.is-sun) .world-carousel{-webkit-user-select:text;user-select:text;align-self:start;width:min(100%,1120px);margin:30px 0 72px;padding:0;display:block}.world-carousel__header{justify-content:space-between;align-items:center;gap:24px;padding:0 0 22px;display:flex}.world-carousel__heading :is(h1,h2){color:rgb(var(--grey-950));font-size:var(--type-title);letter-spacing:0;margin:0;line-height:1.1}.world-carousel__heading p{font-size:var(--type-lead);color:rgb(var(--slate-800));margin:8px 0 0}.paper-stage .world-carousel .space-stepper{flex-shrink:0;gap:8px;width:auto;margin:0;padding:0;display:flex;position:static;inset:auto;transform:none}.paper-stage .world-carousel .space-stepper__status{text-align:left;min-width:70px;padding-right:12px}.paper-stage .world-carousel .space-stepper__status b{font-size:inherit;color:rgb(var(--slate-950));font-weight:400}.paper-stage .world-carousel .space-stepper__status b span{color:rgb(var(--slate-600))}.paper-stage .world-carousel .space-stepper button{place-items:center;width:48px;transition:background-color .18s,color .18s,border-color .18s;display:grid}.paper-stage .world-carousel .space-stepper button svg{width:20px;height:20px}.world-carousel__tabs{overscroll-behavior-x:contain;scrollbar-width:none;border-bottom:1px solid rgb(var(--slate-500) / .4);gap:4px;width:100%;padding:0 0 1px;display:flex;position:relative;overflow-x:auto}.world-carousel__tabs button{white-space:nowrap;flex:none;align-items:center;gap:12px;transition:color .18s,background-color .18s;display:flex}.world-carousel__tabs button>span{font:inherit;opacity:.7}.world-carousel button:focus-visible,.world-carousel a:focus-visible{outline:2px solid var(--world-accent);outline-offset:-4px}.world-carousel__viewport{height:var(--slide-height,420px);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;margin-top:16px;padding:0;transition:height .28s cubic-bezier(.2,.7,.2,1);position:relative;overflow:clip;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3px calc(100% - 3px),#0000);mask-image:linear-gradient(90deg,#0000,#000 3px calc(100% - 3px),#0000)}.world-carousel__viewport:active{cursor:grabbing}.world-carousel__slide{border:1px solid rgb(var(--slate-500) / .439);border-bottom:3px solid rgb(var(--moss-500) / .533);background:var(--paper-slate) center/640px;width:100%;height:auto;min-height:350px;box-shadow:none;will-change:transform;visibility:hidden;position:absolute;inset:0 auto auto 0;transform:translate(110%)}.world-carousel__slide:before{display:none}.world-carousel__slide[data-active=true]{visibility:visible;border-color:rgb(var(--slate-500) / .439);border-bottom-color:var(--world-accent);box-shadow:none;transform:none}.paper-stage .world-carousel .space-station-card{max-height:none;padding:0;overflow:visible}.world-carousel .station-title{font-size:var(--type-section);letter-spacing:0;margin:0;line-height:1.05}.world-carousel .station-subtitle{font-size:var(--type-section);letter-spacing:0;line-height:1.15}.world-carousel .station-eyebrow{color:var(--world-accent);font:var(--type-caps) var(--font-ui);margin-bottom:24px}.world-carousel .station-lede{max-width:43ch;font-size:var(--type-lead);margin-top:22px;line-height:1.7}.world-carousel .station-footnote{color:rgb(var(--slate-800));font-size:var(--type-small);margin-top:32px}.world-carousel .space-station-card>p:not([class*=station-]){max-width:65ch;font-size:var(--type-body);margin-top:24px;line-height:1.8}.world-carousel .station-bio__top{grid-template-columns:180px 1fr;align-items:center;gap:32px;display:grid}.world-carousel .station-bio__portrait{border:0;border-radius:0;width:180px;height:180px}.world-carousel .station-bio__copy{font-size:var(--type-body);max-width:44ch;line-height:1.75}.world-carousel .station-bio__skills{gap:0;margin-top:32px;padding-top:16px}.world-carousel .station-bio__skills>li{color:rgb(var(--moss-850));font-size:var(--type-small);background:0 0;border:0;border-radius:0;margin-right:14px;padding:7px 14px 7px 0}.world-carousel .trophy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:26px;display:grid}.world-carousel .trophy-list li{font-size:var(--type-body);background:0 0;border:0;border-radius:0;align-items:baseline;gap:16px;padding:17px 0;line-height:1.6;display:flex}.world-carousel .trophy-list__number{font:var(--type-caps) var(--font-ui);color:var(--world-accent);flex:none}.world-carousel details{border:0;border-bottom:1px solid rgb(var(--slate-500) / .4);background:0 0;border-radius:0}.world-carousel details summary{color:rgb(var(--slate-950))}.world-carousel details[open] summary{color:var(--world-accent)}.world-carousel details p{font-size:var(--type-body);max-width:72ch}.world-carousel .lesson-accordion__item>summary{justify-content:space-between;align-items:center;gap:var(--disclosure-gap);font:var(--type-label)/1.5 var(--font-display);list-style:none;display:flex}.lesson-accordion__item>summary::-webkit-details-marker{display:none}.lesson-accordion__chevron{width:18px;height:18px;color:var(--world-accent);flex:none;transition:transform .34s cubic-bezier(.22,1,.36,1)}.lesson-accordion__item[data-open=true] .lesson-accordion__chevron,.lesson-accordion__item[open]:not([data-enhanced]) .lesson-accordion__chevron{transform:rotate(180deg)}.lesson-accordion__panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1),opacity .22s;display:grid}.lesson-accordion__item[data-open=true] .lesson-accordion__panel,.lesson-accordion__item[open]:not([data-enhanced]) .lesson-accordion__panel{opacity:1;grid-template-rows:1fr}.lesson-accordion__panel-inner{min-height:0;overflow:clip}.world-carousel .lesson-accordion__body{gap:var(--disclosure-gap);display:grid}.world-carousel .lesson-accordion__body>p{font-size:var(--type-body);margin:0;padding:0;line-height:1.8}@media (prefers-reduced-motion:reduce){.lesson-accordion__panel,.lesson-accordion__chevron{transition:none}}.world-carousel .photo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.world-carousel .photo-wall button{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.world-carousel .photo-wall img{aspect-ratio:4/3}@container page (width<=759px){.paper-stage.is-docked:not(.is-sun) .world-carousel{margin:24px 0 40px}.world-carousel__header{align-items:start;gap:12px;padding:0 4px 20px}.world-carousel__heading p{max-width:24ch;line-height:1.6}.paper-stage .world-carousel .space-stepper{flex-wrap:wrap;gap:6px;width:98px}.paper-stage .world-carousel .space-stepper button{width:44px}.paper-stage .world-carousel .space-stepper__status{text-align:right;width:100%;min-width:0;padding:0 6px 4px 0}.world-carousel__tabs button{gap:8px}.world-carousel__slide{min-height:340px}.world-carousel .station-bio__top{grid-template-columns:1fr;gap:22px}.world-carousel .station-bio__portrait{width:144px;height:144px}.world-carousel .trophy-list{grid-template-columns:1fr}.world-carousel .trophy-list li{padding:14px 0}.world-carousel .photo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-carousel .photo-wall img{aspect-ratio:1}}@media (prefers-reduced-motion:reduce){.world-carousel__viewport{transition:none}.world-carousel__slide{will-change:auto}}.paper-stage.is-docked:not(.is-sun) .world-carousel{margin-top:10px}.world-carousel__slide{background-size:480px;border-bottom-width:2px;min-height:280px}.world-carousel__viewport{margin-top:12px}@container page (width<=759px){.paper-stage.is-docked:not(.is-sun) .world-carousel{margin-top:8px}.world-carousel__header{align-items:center;padding-bottom:12px}.paper-stage .world-carousel .space-stepper{flex-wrap:nowrap;gap:4px;width:auto}.paper-stage .world-carousel .space-stepper__status{width:auto;padding-right:6px}.world-carousel__heading p{max-width:22ch;margin-top:5px}.world-carousel__slide{min-height:260px}.world-carousel .station-eyebrow{margin-bottom:16px}.paper-stage .world-carousel .orbit-project-card{flex-direction:column;align-items:stretch;gap:22px;display:flex}.paper-stage .world-carousel .orbit-project-card__content{order:-1;display:contents}.paper-stage .world-carousel .orbit-project-card__tier{order:-4;margin-bottom:-15px}.paper-stage .world-carousel .orbit-project-card__heading{order:-3;margin:0}.paper-stage .world-carousel .orbit-project-card__media{order:-2}.paper-stage .world-carousel .orbit-project-card__description,.paper-stage .world-carousel .orbit-project-card__tech{margin-top:0}}.paper-stage.is-docked:not(.is-sun) .world-carousel{grid-template-rows:auto auto minmax(0,1fr);align-self:center;height:100%;min-height:0;max-height:460px;margin:0;padding:8px 0 12px;display:grid}.world-carousel__header{padding-bottom:8px}.world-carousel__heading p{margin-top:4px}.world-carousel__viewport{height:auto;min-height:0;margin:8px 0 0;transition:none;overflow:clip;container-type:size}.world-carousel__slide,.world-carousel__slide[data-active=true]{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgb(var(--slate-600) / .502) transparent;touch-action:pan-y;height:100%;min-height:0;position:absolute;inset:0;overflow:hidden auto}.world-carousel .station-eyebrow{margin-bottom:14px}.world-carousel .station-lede{margin-top:14px;line-height:1.6}.world-carousel .station-footnote{margin-top:20px}.world-carousel .station-bio__top{grid-template-columns:116px 1fr;gap:24px}.world-carousel .station-bio__portrait{width:116px;height:116px}.world-carousel .station-bio__copy{line-height:1.6}.world-carousel .station-bio__skills{margin-top:16px;padding-top:10px}.world-carousel .trophy-list{margin-top:12px}.world-carousel .trophy-list li{padding:10px 0}.world-carousel .photo-wall{gap:10px;margin-top:12px}.paper-stage .world-carousel .orbit-project-card{align-items:center;gap:28px;min-height:0}.paper-stage .world-carousel .orbit-project-card__media{height:clamp(100px,100cqh - 42px,300px)}.paper-stage .world-carousel .orbit-project-card__heading strong{font-size:var(--type-item);letter-spacing:0}.paper-stage .world-carousel .orbit-project-card__description{font-size:var(--type-body);margin-top:14px;line-height:1.6}.paper-stage .world-carousel .orbit-project-card__tech{margin-top:16px;padding-top:12px}@container page (width<=759px){.paper-stage.is-docked:not(.is-sun) .world-carousel{padding:2px 0 8px}.world-carousel__heading p{max-width:none}.world-carousel__header{gap:8px;padding:0 0 6px}.world-carousel__tabs button{gap:6px}.world-carousel .station-bio__top{grid-template-columns:76px 1fr;gap:14px}.world-carousel .station-bio__portrait{width:76px;height:96px}.world-carousel .station-bio__copy{line-height:1.5}.world-carousel .station-bio__skills>li{margin-right:6px;padding:4px 8px 4px 0}.world-carousel .photo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.world-carousel .trophy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.world-carousel .trophy-list li{border:0;border-bottom:1px solid rgb(var(--slate-500) / .376);border-radius:0;gap:8px;line-height:1.45}.paper-stage .world-carousel .orbit-project-card{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;display:grid}.paper-stage .world-carousel .orbit-project-card__content{order:initial;display:flex}.paper-stage .world-carousel .orbit-project-card__media{order:initial;aspect-ratio:auto;height:clamp(110px,100cqh - 34px,220px)}.paper-stage .world-carousel .orbit-project-card__tier{order:initial;margin:0}.paper-stage .world-carousel .orbit-project-card__heading{order:initial;gap:6px;margin:6px 0 0}.paper-stage .world-carousel .orbit-project-card__heading>span{width:28px;height:28px}.paper-stage .world-carousel .orbit-project-card__description{margin-top:10px;line-height:1.55}.paper-stage .world-carousel .orbit-project-card__tech{margin-top:10px;padding-top:8px}}.world-carousel .space-station-card--bio>.station-subtitle{margin-bottom:1.5rem}.world-carousel .about-skill-groups{gap:1.5rem;margin-top:1.75rem;display:grid}.world-carousel .about-skill-group{min-width:0;padding-top:1rem}.world-carousel .about-skill-group h3{font:var(--type-caps) var(--font-ui);color:var(--paper-sage,rgb(var(--color-accent-soft)));margin:0 0 .75rem}.world-carousel .about-skill-group ul{flex-wrap:wrap;gap:.6rem 1.2rem;margin:0;padding:0;list-style:none;display:flex}.world-carousel .about-skill-group li{color:rgb(var(--moss-850));font-size:var(--type-body);line-height:1.65}.world-carousel .about-skill-group p{color:rgb(var(--color-text-muted));font-size:var(--type-body);margin:0;line-height:1.75}.space-station-card{height:auto;max-height:var(--space-card-h,none);overscroll-behavior:contain;border:1px solid rgb(var(--border) / .72);background:linear-gradient(145deg, rgb(var(--white) / .035), transparent 35%), rgb(var(--surface-raised));box-shadow:inset 0 1px 0 rgb(var(--color-highlight) / .06), 0 1.5rem 5rem rgb(var(--black) / .28);scrollbar-width:none;border-radius:1rem;padding:1.4rem;position:relative;overflow-y:auto}.space-station-card::-webkit-scrollbar{display:none}.space-station-card h2:focus-visible{box-shadow:-3px 0 0 rgb(var(--accent-primary));outline:none}.space-station:focus-visible{outline:2px solid rgb(var(--accent-primary));outline-offset:.35rem}.space-stage.is-docked .space-road-sprite{opacity:.68}.space-station-card--echo{height:var(--space-card-h,22.5rem);background:linear-gradient(145deg, rgb(var(--accent-primary) / .11), transparent 42%), rgb(var(--surface-raised));align-content:end;display:grid;overflow:hidden}.space-station-card--echo:before{border:1px solid rgb(var(--border) / .55);content:"";border-radius:.55rem;position:absolute;inset:1.25rem}.space-station-card--echo span,.space-station-card--echo strong{z-index:1;position:relative}.space-station-card--echo span{color:rgb(var(--accent-primary));font:var(--type-caps) var(--font-ui)}.space-station-card--echo strong{font-family:var(--font-display);font-size:var(--type-item);letter-spacing:0;margin-top:.45rem;font-weight:500}.space-station-card--echo i{border:1px solid rgb(var(--accent-primary) / .24);width:7rem;height:7rem;box-shadow:0 0 0 1.75rem rgb(var(--accent-primary) / .035);border-radius:50%;position:absolute;top:2rem;right:2rem}.station-title{font-family:var(--font-display);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:500;line-height:.98}.station-subtitle{color:rgb(var(--text));font-family:var(--font-display);font-size:var(--type-section);letter-spacing:0;margin:0;font-weight:500}.station-lede{max-width:32ch;color:rgb(var(--text-muted));font-size:var(--type-lead);margin-top:1rem;line-height:1.5}.station-footnote{color:rgb(var(--text-muted));font-family:var(--font-body);font-size:var(--type-small);line-height:1.5}.orbit-project-card{border:1px solid rgb(var(--border) / .7);min-width:0;min-height:13.5rem;color:rgb(var(--text));background:rgb(var(--surface-overlay) / .68);border-radius:.75rem;grid-template-columns:42% 1fr;text-decoration:none;transition:border-color .18s,transform .18s;display:grid;overflow:hidden}.space-station-card--project{height:var(--space-card-h,auto)}.space-station-card--project:not(.has-heading) .orbit-project-card{height:100%}.space-station-card--project.has-heading .orbit-project-card{height:calc(100% - 4.25rem)}.orbit-project-card:hover{border-color:rgb(var(--accent-primary) / .75);transform:translateY(-2px)}.orbit-project-card__media{background:rgb(var(--slate-100));min-height:100%;position:relative;overflow:hidden}.orbit-project-card__media .project-cover{min-height:100%}.orbit-project-card__number{z-index:1;color:rgb(var(--slate-950) / .72);font:var(--type-caps) var(--font-ui);position:absolute;top:.75rem;left:.75rem}.orbit-project-card__content{flex-direction:column;min-width:0;padding:1.15rem;display:flex}.orbit-project-card__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.orbit-project-card__tier{color:rgb(var(--accent-primary));font:var(--type-caps) var(--font-ui);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem}.orbit-project-card__heading strong{font-family:var(--font-display);font-size:var(--type-item);letter-spacing:0;font-weight:500}.orbit-project-card__description{color:rgb(var(--text-muted));font-size:var(--type-body);margin-top:.65rem;line-height:1.55}.orbit-project-card__tech{color:rgb(var(--accent-primary));font-family:var(--font-body);font-size:var(--type-small);margin-top:auto;padding-top:1rem;line-height:1.5}.photo-wall{grid-template-columns:repeat(var(--photo-columns), minmax(0, 1fr))}.trophy-list{grid-template-columns:repeat(2,minmax(0,1fr))}:is(html:has(.architecture-page),body:has(.architecture-page)){overflow:hidden}body{background:var(--paper-night)}.is-scene-shell #main-content{flex-direction:column;min-height:0;display:flex}.site-header{border-bottom:1px solid rgb(var(--color-hairline) / .188);background:0 0;flex-shrink:0}.site-header__inner{max-width:var(--portfolio-frame);margin:auto}.site-brand__mark{transform:none!important}.architecture-page{height:calc(100dvh - var(--header-height) - var(--nav-height));width:100%;max-width:1680px;min-height:0;padding:0 var(--portfolio-gutter);color:rgb(var(--color-text));flex:1;grid-template-rows:minmax(0,1fr) auto 42px;margin:0 auto;display:grid}.architecture-nav{border-bottom:1px solid rgb(var(--color-hairline) / .188);align-items:stretch;gap:clamp(12px,2.3vw,34px);display:flex}.architecture-nav :is(button,a){min-height:44px;color:rgb(var(--color-text-muted));font-size:var(--type-label);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:0 3px;transition:color .16s;display:flex;position:relative}.architecture-nav :is(button,a):first-child{margin-right:auto}.architecture-nav :is(button,a)[aria-current]{color:rgb(var(--sage-900))}.architecture-nav :is(button,a)[aria-current]:after{content:"";bottom:-1px;background:rgb(var(--color-accent));height:2px;position:absolute;inset-inline:0}.architecture-nav :is(button,a):hover{color:rgb(var(--color-text))}.architecture-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(24px,4vw,64px);min-height:0;display:grid}.architecture-intro{align-self:center;min-width:0;padding:28px 0}.architecture-eyebrow{font:var(--type-caps)/1.8 var(--font-ui);color:rgb(var(--moss-700));align-items:center;gap:10px;display:flex}.architecture-eyebrow i{background:rgb(var(--color-accent));width:5px;height:5px;box-shadow:0 0 12px rgb(var(--sage-750) / .251);border-radius:50%;flex:none}.architecture-intro :is(h1,h2){font-family:var(--font-display);font-size:var(--type-hero);letter-spacing:0;text-wrap:pretty;max-width:10.5ch;color:rgb(var(--color-text));margin:24px 0 25px;font-weight:500;line-height:1.07}.architecture-intro__body{font-size:var(--type-lead);max-width:43ch;color:rgb(var(--color-text-muted));margin:0;line-height:1.9}.architecture-primary{background:var(--paper-sage) center/100% 100%;color:rgb(var(--moss-200));font-size:var(--type-action);cursor:pointer;border:0;border-radius:2px;justify-content:space-between;align-items:center;gap:28px;min-height:48px;margin-top:30px;padding:16px 21px;transition:transform .18s,filter .18s;display:inline-flex}.architecture-primary:active{transform:translateY(1px)}.architecture-exhibit{background:0 0;grid-template-rows:50px minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.architecture-exhibit__caption{font:var(--type-label) var(--font-display);letter-spacing:0;color:rgb(var(--moss-575));justify-content:space-between;align-items:center;padding:0 5px;display:flex}.architecture-view{isolation:isolate;width:100%;height:100%;min-height:0;position:relative}.architecture-canvas{touch-action:pan-y;cursor:grab;outline-offset:-5px;position:absolute;inset:0 0 64px}.architecture-canvas:active{cursor:grabbing}.architecture-canvas canvas{width:100%;height:100%;display:block}.architecture-labels{pointer-events:none;position:absolute;inset:0 0 64px;overflow:hidden}.architecture-labels button{pointer-events:auto;white-space:nowrap;align-items:center;gap:9px;display:flex;position:absolute;top:0;left:0}.is-loading .architecture-labels{visibility:hidden}.architecture-canvas:is([data-intro=blueprint],[data-intro=building])~.architecture-labels button{visibility:hidden;opacity:0;pointer-events:none}.architecture-canvas[data-intro=blueprint]~.architecture-loading{opacity:0;animation:none}.architecture-controls{border-top:1px solid rgb(var(--color-hairline) / .188);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;padding-top:10px;display:flex;position:absolute;bottom:10px;left:0;right:0}.architecture-controls button{place-items:center;width:36px;display:grid}.architecture-controls svg{width:15px;height:15px}.architecture-gesture{color:rgb(var(--moss-500));font:var(--type-caps) var(--font-ui);margin-right:auto}.architecture-loading,.architecture-status{font-size:var(--type-small);color:rgb(var(--color-text-muted));text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.architecture-loading{animation:1.2s ease-in-out infinite building-load}.architecture-status button{color:rgb(var(--color-text-soft));text-decoration:underline}@keyframes building-load{50%{opacity:.4}}.architecture-foot{border-top:1px solid rgb(var(--color-hairline) / .188);color:rgb(var(--moss-500));font:var(--type-small) var(--font-body);justify-content:space-between;align-items:center;gap:12px;display:flex}.architecture-page .world-carousel{grid-template-rows:48px 44px minmax(0,1fr);align-self:stretch;width:100%;height:100%;min-height:0;padding:24px 0 20px;display:grid}.architecture-page .world-carousel__header{gap:8px;padding:0 0 10px}.architecture-page .world-carousel__heading :is(h1,h2){font-size:var(--type-title);color:rgb(var(--color-text))}.architecture-page .world-carousel__heading p{font-size:var(--type-small);color:rgb(var(--color-text-muted))}.architecture-page .space-stepper{align-items:center;gap:4px;display:flex}.architecture-page .space-stepper__status{white-space:nowrap;font:var(--type-caps) var(--font-ui);color:rgb(var(--moss-700));margin-right:8px}.architecture-page .space-stepper__status b{font-weight:400}.architecture-page .space-stepper button{place-items:center;width:32px;display:grid}.architecture-page .world-carousel__tabs{border-color:rgb(var(--moss-550) / .247)}.architecture-page .world-carousel__tabs button{gap:7px}.architecture-page .world-carousel__viewport{cursor:auto;height:auto;min-height:0;margin:20px 0 0;-webkit-mask-image:none;mask-image:none}.architecture-page .world-carousel__slide,.architecture-page .world-carousel__slide[data-active=true]{box-shadow:none;scrollbar-gutter:stable;scrollbar-color:rgb(var(--sage-600) / .376) transparent;background:0 0;border:0;overflow:auto;transform:none}.architecture-page .space-station-card{overscroll-behavior:auto;background:0 0;min-height:0;padding:0;overflow:visible}.architecture-page .station-title{font-size:var(--type-section);color:rgb(var(--color-text))}.architecture-page .station-subtitle{font-size:var(--type-item);color:rgb(var(--color-text))}.architecture-page .station-lede{font-size:var(--type-lead);color:rgb(var(--moss-700));margin-top:22px;line-height:1.8}.architecture-page .station-footnote{color:rgb(var(--moss-500));font-size:var(--type-small)}.architecture-page .station-eyebrow{font:var(--type-caps) var(--font-ui);color:rgb(var(--sage-750))}.architecture-page .world-carousel .station-bio__top{grid-template-columns:96px 1fr;gap:20px}.architecture-page .world-carousel .station-bio__portrait{object-fit:cover;border-radius:2px;width:96px;height:125px}.architecture-page .world-carousel .station-bio__copy{font-size:var(--type-body)}.architecture-page .world-carousel .trophy-list{grid-template-columns:1fr}.architecture-page .world-carousel .trophy-list li{font-size:var(--type-body);border-color:rgb(var(--moss-500) / .251);background:0 0}.architecture-page .world-carousel .trophy-list strong{color:rgb(var(--moss-900))}.architecture-page .orbit-project-card{color:inherit;flex-direction:column;gap:20px;height:auto;display:flex}.architecture-page .orbit-project-card__media{flex:none;width:100%;height:clamp(130px,23dvh,260px);display:block;position:relative}.architecture-page .orbit-project-card__media .project-cover{aspect-ratio:auto;border:1px solid rgb(var(--moss-550) / .314);height:100%;min-height:0;background:rgb(var(--moss-175))!important}.architecture-page .orbit-project-card__number{display:none}.architecture-page .orbit-project-card__content{flex-direction:column;gap:0;display:flex}.architecture-page .orbit-project-card__tier{font:var(--type-small) var(--font-body);color:rgb(var(--moss-600))}.architecture-page .orbit-project-card__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.architecture-page .orbit-project-card__heading strong{font:500 var(--type-item)/1.1 var(--font-display);letter-spacing:0;color:rgb(var(--moss-900))}.architecture-page .orbit-project-card__heading>span{background:var(--paper-sage) center/cover;color:rgb(var(--sage-100));border-radius:2px;place-items:center;display:grid}.architecture-page .orbit-project-card__description{font-size:var(--type-body);color:rgb(var(--color-text-muted));margin-top:14px;line-height:1.8;display:block}.architecture-page .orbit-project-card__tech{font:var(--type-small)/1.8 var(--font-body);color:rgb(var(--moss-550));border-top:1px solid rgb(var(--moss-550) / .247);margin-top:16px;padding-top:12px}.case-study__hero:before{background:0 0}.case-study .project-diorama{height:440px;min-height:0}.case-study .project-diorama .architecture-view{height:100%}.case-study__hero-grid>.project-diorama{background:0 0}.case-study__all-projects,.case-study__links a{transform:none!important}@container page (width>=1700px){.architecture-layout{gap:70px}}@container page (width<=1000px){.architecture-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px}.architecture-labels button{gap:5px}.architecture-labels button>span:first-child{display:none}}@media (width<=719px){.architecture-page{height:calc(100dvh - 116px);padding-inline:var(--portfolio-gutter);grid-template-rows:minmax(0,1fr) auto 30px}.architecture-nav{justify-content:space-between;gap:0}.architecture-nav :is(button,a){gap:4px;padding:0 4px}.architecture-nav :is(button,a):first-child{margin-right:0}.architecture-layout{grid-template-rows:minmax(0,.92fr) minmax(0,1.08fr);grid-template-columns:1fr;gap:0}.architecture-intro{align-self:center;padding:14px 0 4px}.architecture-eyebrow{gap:7px}.architecture-intro :is(h1,h2){max-width:17ch;margin:12px 0 13px;line-height:1.08}.architecture-intro__body{max-width:48ch;line-height:1.8}.architecture-primary{gap:30px;min-height:40px;margin-top:16px;padding:10px 14px}.architecture-exhibit{grid-template-rows:24px minmax(0,1fr)}.architecture-canvas,.architecture-labels{bottom:46px}.architecture-controls{gap:3px;padding-top:5px;bottom:3px}.architecture-controls button{width:34px}.architecture-labels button{gap:5px}.architecture-foot span:last-child{text-align:right;max-width:60%}.architecture-page .world-carousel{grid-template-rows:36px 36px minmax(0,1fr);padding:12px 0 8px}.architecture-page .world-carousel__heading p{display:none}.architecture-page .world-carousel__viewport,.architecture-page .station-lede{margin-top:10px}.architecture-page .orbit-project-card{grid-template-columns:.85fr 1.15fr;align-items:center;gap:14px;display:grid}.architecture-page .orbit-project-card__media{height:clamp(110px,19dvh,170px)}.architecture-page .orbit-project-card__heading>span{width:28px;height:28px}.architecture-page .orbit-project-card__description{margin-top:8px;line-height:1.6}.architecture-page .orbit-project-card__tech{margin-top:9px;padding-top:7px}.architecture-page .world-carousel .station-bio__top{grid-template-columns:64px 1fr;gap:14px}.architecture-page .world-carousel .station-bio__portrait{width:64px;height:85px}.architecture-page .world-carousel .trophy-list li{padding:8px 0}.architecture-page .world-carousel .photo-wall{grid-template-columns:repeat(4,1fr)}.case-study .project-diorama{height:360px}}@media (height<=720px) and (width>=720px){.architecture-intro :is(h1,h2){margin-block:18px}.architecture-primary{margin-top:20px}.architecture-page .world-carousel{padding-block:16px}.architecture-page .orbit-project-card__media{height:140px}}@media (height<=720px) and (width<=719px){.architecture-page{grid-template-rows:minmax(0,1fr) auto 24px}.architecture-intro :is(h1,h2){margin-block:10px}.architecture-primary{min-height:34px;margin-top:10px;padding-block:8px}.architecture-layout{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.architecture-page *{transition:none!important;animation:none!important}}.architecture-page .space-station-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0}.architecture-page .world-carousel .station-bio__skills{gap:6px}.architecture-page .world-carousel .station-bio__skills li{font-size:var(--type-small)}.architecture-page .world-carousel .orbit-project-card{box-shadow:none;background:0 0;border:0;border-radius:0;min-height:0;overflow:visible}.architecture-page .world-carousel .orbit-project-card__content{padding:0}.architecture-page .world-carousel .orbit-project-card__media{background:0 0;min-height:0}.architecture-case.case-study .case-study__hero:before,.architecture-case.case-study .case-study__hero{background:0 0}.architecture-case.case-study .project-diorama{height:440px}@media (width<=719px){.architecture-intro__body{line-height:1.75}.architecture-case.case-study .project-diorama{height:330px}}.architecture-view.is-expanded{z-index:80;background:var(--paper-night);width:100vw;height:100dvh;padding:0;position:fixed;inset:0}.architecture-view.is-expanded .architecture-canvas,.architecture-view.is-expanded .architecture-labels{inset:65px 24px 78px}.architecture-view.is-expanded .architecture-controls{bottom:20px;left:24px;right:24px}.architecture-close{z-index:2;color:rgb(var(--moss-900));background:rgb(var(--color-panel));border:1px solid rgb(var(--sage-600) / .4);font:var(--type-label) var(--font-display);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;top:18px;right:24px}.architecture-controls .architecture-expand{border-color:rgb(var(--sage-600) / .267);margin-right:5px}@media (width<=719px){.architecture-view.is-expanded .architecture-canvas,.architecture-view.is-expanded .architecture-labels{inset:70px 8px 78px}}@media (height<=480px) and (width>=720px){.architecture-intro{padding:8px 0}.architecture-intro :is(h1,h2){max-width:18ch;margin:8px 0}.architecture-intro__body{line-height:1.6}.architecture-primary{min-height:32px;margin-top:12px;padding:7px 12px}.architecture-exhibit{grid-template-rows:28px minmax(0,1fr)}.architecture-page .world-carousel{grid-template-rows:36px 36px minmax(0,1fr);padding-block:8px}}@media (height<=640px) and (width<=719px){.architecture-page.is-home .architecture-layout{grid-template-rows:230px minmax(0,1fr)}.architecture-intro{padding-block:8px}}.architecture-details-link{z-index:2;border-bottom:1px solid rgb(var(--sage-750) / .4);font:var(--type-label) var(--font-display);color:rgb(var(--color-accent-soft));align-items:center;gap:20px;padding:8px 0;display:flex;position:absolute;top:8px;right:4px}.architecture-details-link:hover{color:rgb(var(--color-text))}.architecture-view.is-expanded .architecture-details-link{top:22px;left:24px;right:auto}.architecture-actions{display:contents}.architecture-controls button:has(span){gap:7px;width:auto}.architecture-controls button span{font:500 var(--type-label) var(--font-display);white-space:nowrap}@media (width<=600px){.architecture-controls .architecture-gesture{display:none}}.architecture-view:not(.is-courtyard) .architecture-canvas{bottom:110px}.architecture-view.is-expanded:not(.is-courtyard) .architecture-canvas{bottom:118px}@media (width<=600px){.architecture-view:not(.is-courtyard) .architecture-canvas{bottom:87px}}@media (height<=500px){.architecture-view:not(.is-courtyard) .architecture-canvas{bottom:80px}}.architecture-controls button:has(span){flex-direction:row;justify-content:center;align-items:center;gap:8px;display:inline-flex}.architecture-controls button:has(span) svg{flex:0 0 15px;width:15px}@media (width<=600px){.architecture-controls button:has(span){gap:6px}}.site-header .site-brand__copy strong{font-size:var(--type-item)}.site-header .site-brand__copy span{font-size:var(--type-small)}.site-header .site-mobile-menu{background:rgb(var(--color-surface-raised));border:1px solid rgb(var(--color-border));box-shadow:0 12px 28px rgb(var(--color-shadow) / .314);border-radius:6px;padding:8px}.site-header .site-mobile-menu a{min-height:48px;font-size:var(--type-label);border-radius:3px}.site-header .site-mobile-menu a:hover,.site-header .site-mobile-menu a:focus-visible{color:rgb(var(--color-text));background:rgb(var(--moss-250))}.site-header .site-mobile-menu a:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:-2px}.architecture-page .architecture-intro__body{font-size:var(--type-lead);line-height:1.75}.architecture-page .world-carousel .station-bio__copy,.architecture-page .world-carousel .trophy-list li,.architecture-page .project-preview__description{font-size:var(--type-body);line-height:1.75}.architecture-page .architecture-primary,.architecture-page .project-preview__visit{font-size:var(--type-action)}.architecture-page .architecture-eyebrow,.architecture-page .station-eyebrow,.architecture-page .space-stepper__status{font-size:var(--type-caps)}.architecture-page .architecture-foot,.architecture-page .world-carousel .station-bio__skills li,.architecture-page .station-footnote,.architecture-page .project-preview__tier,.architecture-page .project-preview__tech{font-size:var(--type-small)}.architecture-page .world-carousel__heading :is(h1,h2),.architecture-page .project-collection header :is(h1,h2){font-family:var(--font-display);font-size:var(--type-title);letter-spacing:0;color:rgb(var(--color-text));margin:0;font-weight:500;line-height:1.1}.architecture-page .project-collection{padding-top:24px}.architecture-page .world-carousel__header{align-items:flex-start}.architecture-page .project-collection header p{margin:12px 0 24px}.architecture-page .station-lede{font-size:var(--type-lead)}.architecture-page .world-carousel .station-bio__top{grid-template-columns:128px minmax(0,1fr)}.architecture-page .world-carousel .station-bio__portrait{width:128px;height:164px}.architecture-page .world-carousel .photo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.architecture-page .project-collection header p{font-size:var(--type-lead)}.architecture-page .project-collection__toggle small{font-size:var(--type-small)}.architecture-page .project-collection__toggle strong{font-size:var(--type-item)}.architecture-page .project-preview__media{max-height:none}.architecture-view .exhibit-console button,.architecture-view .exhibit-console a,.architecture-view .exhibit-slider,.architecture-view .architecture-controls button span{font-size:var(--type-label)}.architecture-view .exhibit-readout{font-size:var(--type-small)}.architecture-view .architecture-gesture{font-size:var(--type-caps)}.architecture-view:not(.is-expanded) .architecture-canvas{touch-action:pan-y}.architecture-dock{border-top:1px solid rgb(var(--color-hairline) / .188);gap:6px;padding:10px 0;display:grid}.architecture-dock:empty{display:none}.architecture-dock .exhibit-console,.architecture-dock .architecture-controls{border-top:0;width:100%;margin:0;padding:0;position:static;inset:auto}.architecture-dock .architecture-controls{min-height:40px}.architecture-view.has-unified-controls:not(.has-docked-controls){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);row-gap:8px;display:grid}.architecture-view.has-unified-controls:not(.has-docked-controls)>.architecture-canvas{grid-area:1/1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.architecture-view.has-unified-controls:not(.has-docked-controls)>.architecture-labels{grid-area:1/1;inset:0}.architecture-view.has-unified-controls:not(.has-docked-controls)>.architecture-controls{grid-area:2/1;min-height:48px;margin:0;padding:8px 0;position:relative;inset:auto}.architecture-view.has-unified-controls.is-expanded:not(.has-docked-controls){padding:8px clamp(18px, 2vw, 24px) max(12px, env(safe-area-inset-bottom));grid-template-rows:54px minmax(0,1fr) auto}.architecture-view.has-unified-controls.is-expanded:not(.has-docked-controls)>.architecture-canvas,.architecture-view.has-unified-controls.is-expanded:not(.has-docked-controls)>.architecture-labels{grid-area:2/1}.architecture-view.has-unified-controls.is-expanded:not(.has-docked-controls)>.architecture-controls{grid-area:3/1}.architecture-dock .exhibit-slider,.architecture-dock .exhibit-console button,.architecture-dock .exhibit-console a,.architecture-dock .architecture-controls button span{font-size:var(--type-label)}.architecture-dock .architecture-gesture{font-size:var(--type-caps)}.architecture-dock .exhibit-readout{font-size:var(--type-small)}.architecture-page .architecture-view.has-docked-controls,.architecture-case .architecture-view.has-docked-controls{display:block}.architecture-page .architecture-view.has-docked-controls .architecture-canvas,.architecture-case .architecture-view.has-docked-controls .architecture-canvas{width:100%;height:100%;position:absolute;inset:0}.architecture-page .architecture-view.has-docked-controls .architecture-labels{inset:0}.architecture-case.case-study .architecture-view.is-expanded .architecture-canvas{inset:auto}.architecture-page[data-layout=desktop]{--exhibit-heading-row:72px;--exhibit-navigation-row:44px;--exhibit-heading-inset:24px;--exhibit-content-gap:20px}.architecture-page[data-layout=desktop] .architecture-layout{grid-template-rows:var(--exhibit-heading-row) var(--exhibit-navigation-row) minmax(0, 1fr);row-gap:0}.architecture-page[data-layout=desktop] .exhibit-story,.architecture-page[data-layout=desktop] .world-carousel,.architecture-page[data-layout=desktop] .architecture-layout>.architecture-exhibit{display:contents}.architecture-page[data-layout=desktop] .architecture-intro,.architecture-page[data-layout=desktop] .project-collection{grid-area:1/1/4/2}.architecture-page[data-layout=desktop] .project-collection{padding-top:var(--exhibit-heading-inset)}.architecture-page[data-layout=desktop] .world-carousel__header{padding:var(--exhibit-heading-inset) 0 0;grid-area:1/1}.architecture-page[data-layout=desktop] .world-carousel__tabs{grid-area:2/1/3/-1;justify-self:start;width:max-content;max-width:100%;overflow:visible}.architecture-page[data-layout=desktop] .world-carousel__viewport{margin:var(--exhibit-content-gap) 0;grid-area:3/1}.architecture-page[data-layout=desktop] .architecture-layout .architecture-exhibit__caption{padding-top:var(--exhibit-heading-inset);grid-area:1/2;align-items:flex-start}.architecture-page[data-layout=desktop] .architecture-layout .architecture-view:not(.is-expanded){height:auto;margin-top:var(--exhibit-content-gap);grid-area:3/2}@media (width>=720px) and (height<=500px){.architecture-page[data-layout=desktop]{--exhibit-heading-row:44px;--exhibit-heading-inset:8px;--exhibit-content-gap:8px;grid-template-rows:minmax(0,1fr) auto 28px}.architecture-dock{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-block:8px}.architecture-dock .architecture-controls{grid-column:2;width:auto}.architecture-dock .architecture-controls:only-child{grid-column:1/-1;width:100%}.architecture-dock .architecture-gesture{display:none}.architecture-dock .exhibit-console__inputs{gap:8px}}@media (width<=719px),(width<=1000px) and (pointer:coarse){.architecture-dock{display:none}html:has(.architecture-page){overflow:clip auto}body:has(.architecture-page){overflow:visible}.is-scene-shell{height:auto;min-height:100svh;overflow:visible}.architecture-page{height:auto;min-height:calc(100svh - 116px);padding-inline:var(--portfolio-gutter);grid-template-rows:1fr auto auto;grid-template-columns:minmax(0,1fr)}.architecture-nav{justify-content:space-between;gap:0;min-height:48px}.architecture-page .architecture-nav :is(button,a){padding-inline:3px}.architecture-nav :is(button,a):first-child{margin-right:0}.architecture-page .architecture-layout{flex-direction:column;gap:24px;min-width:0;display:flex}.architecture-page .architecture-intro{align-self:stretch;padding:32px 0 8px}.architecture-page .architecture-intro :is(h1,h2){margin-block:16px}.architecture-page .architecture-primary{min-height:44px;margin-top:24px}.architecture-page .architecture-exhibit{grid-template-rows:var(--bar-height) clamp(400px, 110vw, 560px);flex:none;margin-bottom:20px}.architecture-exhibit__caption{min-height:var(--bar-height);gap:12px}.architecture-page .architecture-exhibit__caption span:last-child{text-align:right}.architecture-exhibit>.architecture-view:not(.is-expanded){height:clamp(400px,110vw,560px)}.architecture-page .architecture-view{grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);row-gap:8px;display:grid}.architecture-page .architecture-view .architecture-canvas{grid-area:1/1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.architecture-page .architecture-view .architecture-labels{grid-area:1/1;inset:0}.architecture-page .architecture-view .exhibit-console{flex-wrap:wrap;grid-area:2/1;margin:0;padding:8px 0;position:relative;inset:auto}.architecture-page .architecture-view .architecture-controls{flex-wrap:wrap;grid-area:3/1;min-height:48px;padding:8px 0;position:relative;inset:auto}.architecture-page .architecture-view.is-expanded{padding:8px 18px max(12px, env(safe-area-inset-bottom));grid-template-rows:54px minmax(0,1fr) auto auto}.architecture-page .architecture-view.is-expanded .architecture-canvas,.architecture-page .architecture-view.is-expanded .architecture-labels{grid-area:2/1}.architecture-page .architecture-view.is-expanded .architecture-canvas{inset:auto}.architecture-page .architecture-view.is-expanded .exhibit-console{grid-area:3/1}.architecture-page .architecture-view.is-expanded .architecture-controls{grid-area:4/1}.project-collection__panel-inner>.architecture-exhibit{margin:0 0 24px}.architecture-foot{min-height:44px;padding-block:12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.architecture-page .exhibit-story,.architecture-page .world-carousel,.architecture-page .project-collection{height:auto;max-height:none;padding-block:24px 0;display:block;overflow:visible}.architecture-page .world-carousel__header{margin-bottom:12px}.architecture-page .exhibit-story .world-carousel{padding-top:0}.architecture-page .world-carousel__viewport{height:auto;overflow:visible;container-type:normal}.architecture-page .world-carousel__slide{display:none}.architecture-page .world-carousel__slide[data-active=true]{overscroll-behavior:auto;height:auto;display:block;position:relative;inset:auto;overflow:visible}.architecture-page .space-station-card,.architecture-page .project-collection ol{overscroll-behavior:auto;max-height:none;overflow:visible}.architecture-page .world-carousel__tabs{flex-wrap:wrap;gap:0 12px;width:fit-content;max-width:100%;overflow:visible}.architecture-page .world-carousel__tabs button{white-space:normal;text-align:left;max-width:100%}.architecture-page .world-carousel .station-bio__top{grid-template-columns:1fr;gap:20px}.architecture-page .project-collection__toggle{min-height:72px}.architecture-page .project-preview{padding:8px 0 24px;display:block}.architecture-page .project-preview__media{aspect-ratio:auto;height:auto}.architecture-page .project-preview__tier{margin-top:16px}.architecture-page .project-preview__description{margin-top:8px}.architecture-page .project-preview__tech{margin-top:12px}.architecture-view .exhibit-console__inputs{flex-wrap:wrap}}.architecture-controls.architecture-controls--unified{gap:10px}.architecture-controls__actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:8px;min-width:0;display:flex}.architecture-controls__actions:empty{display:none}.architecture-controls__actions:has(.exhibit-console){flex:1;container:exhibit-actions/inline-size}.architecture-controls__navigation{flex:none;align-items:center;gap:5px;display:flex}.architecture-controls.architecture-controls--unified .exhibit-console{border:0;flex:100%;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 18px;width:auto;min-width:0;margin:0;padding:0;display:grid;position:static;inset:auto}.architecture-controls--unified .exhibit-console__inputs{flex-wrap:wrap;justify-content:flex-start;gap:12px;min-width:0}.architecture-controls--unified .exhibit-slider{width:clamp(120px,12vw,180px);min-width:100px;max-width:180px;font-size:var(--type-label);flex:120px}.architecture-controls--unified .exhibit-console button,.architecture-controls--unified .exhibit-console a{width:auto}.architecture-controls--unified .exhibit-readout{white-space:nowrap;scrollbar-width:none;font-variant-numeric:tabular-nums;text-align:left;width:100%;min-width:0;max-width:none;min-height:0;font-size:var(--type-small);margin:0;overflow-x:auto}.architecture-controls--unified .exhibit-readout::-webkit-scrollbar{display:none}@container exhibit-actions (width<=640px){.architecture-controls.architecture-controls--unified .exhibit-console{grid-template-columns:minmax(0,1fr);gap:4px}}@media (width<=719px),(width<=1000px) and (pointer:coarse){.architecture-controls--unified .architecture-controls__actions{flex:100%;order:-1;justify-content:center}.architecture-controls--unified .architecture-controls__navigation{margin-left:auto}.architecture-controls.architecture-controls--unified .exhibit-console{flex:100%;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px}.architecture-controls--unified .exhibit-console__inputs{justify-content:center;width:100%}.architecture-controls--unified .exhibit-slider{max-width:none}.architecture-controls--unified .exhibit-readout{text-align:center;max-width:none}}.architecture-toolkit-link{color:inherit;font-size:var(--type-action);text-underline-offset:5px;margin-top:16px;display:block}.projects-page{width:100%;max-width:var(--portfolio-frame);padding:clamp(20px, 3vw, 36px) var(--portfolio-gutter) 48px;margin:0 auto}.projects-header{gap:12px;max-width:62ch;margin-bottom:clamp(24px,3vw,36px);display:grid}.projects-header h1{color:rgb(var(--color-text));font:var(--type-title)/.9 var(--font-display);letter-spacing:0;text-shadow:var(--title-shadow);margin:0}.projects-header__intro{color:rgb(var(--color-text));font-size:var(--type-lead);margin:0;line-height:1.65}.projects-filter{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.project-cards{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--card-min)), 1fr));gap:clamp(16px,2vw,28px);margin:0;padding:0;list-style:none;display:grid}.project-cards>li{min-width:0;display:flex}.project-card{flex-direction:column;width:100%;display:flex;position:relative}.project-card__bar{min-height:var(--bar-height);border-bottom:var(--window-edge);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));font:var(--type-caps)/1 var(--font-ui);text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;padding:0 10px;display:flex}.project-card[data-category=work] .project-card__bar{color:rgb(var(--color-text));background:rgb(var(--color-button))}.project-card__screen{aspect-ratio:16/9;border:var(--window-edge);background:rgb(var(--color-exhibit-ink));box-shadow:inset 2px 2px 0 rgb(var(--color-bevel-shade)), inset -2px -2px 0 rgb(var(--color-bevel-light));margin:12px 12px 0;overflow:hidden}.project-card__screen--blank{text-align:center;color:rgb(var(--color-exhibit-paper));background:repeating-conic-gradient(rgb(var(--color-exhibit-ink)) 0 25%, rgb(var(--teal-700)) 0 50%) 0 0 / 4px 4px;place-content:center;gap:6px;display:grid}.project-card__screen--blank span{font:var(--type-item)/1 var(--font-display);text-shadow:3px 3px 0 rgb(var(--color-exhibit-ink))}.project-card__screen--blank small{color:rgb(var(--color-tooltip));font:var(--type-caps) var(--font-ui);text-transform:uppercase}.project-card__screen img{object-fit:cover;width:100%;height:100%;display:block}.project-card__body{flex-direction:column;flex:1;gap:10px;padding:14px 14px 16px;display:flex}.project-card__title{font:var(--type-item)/.95 var(--font-display);letter-spacing:0;margin:0}.project-card__link{color:rgb(var(--color-text));text-decoration:none}.project-card__link:after{content:"";position:absolute;inset:0}.project-card__link:focus-visible{outline:none}.project-card:has(.project-card__link:focus-visible){outline:2px dashed rgb(var(--color-text));outline-offset:3px}.project-card__meta{color:rgb(var(--color-kicker));font:var(--type-small)/1.5 var(--font-body);margin:0}.project-card__summary{color:rgb(var(--color-text));font-size:var(--type-body);margin:0;line-height:1.6}.project-card__tech{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.project-card__tech li{border:1px solid rgb(var(--color-text));color:rgb(var(--color-text));background:rgb(var(--color-band));font-size:var(--type-small);padding:2px 6px}.project-card__open{color:rgb(var(--color-accent));font:var(--type-label) var(--font-display);text-underline-offset:var(--underline-offset);margin-top:auto;padding-top:6px;text-decoration:underline}.project-card:hover .project-card__open{color:rgb(var(--color-text))}@media (prefers-reduced-motion:reduce){.project-card{transition:none}}.os-desktop{--os-snap-motion:.2s cubic-bezier(.2, 0, 0, 1);--os-icon-width:108px;--os-icon-height:116px;--os-grip:8px;--os-glyph:8px;--os-edge:var(--control-gap);--os-layer-taskbar:1000;--os-layer-header:1001;--os-layer-full-screen:1002;--os-layer-drag:999;--os-bar-grab:var(--control-height);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:clip}.os-desktop>.site-header{z-index:var(--os-layer-header);position:relative}.os-desktop:has(.architecture-view.is-expanded)>.os-desktop__area{z-index:var(--os-layer-full-screen)}.os-desktop>.site-header .site-header__inner{max-width:none;padding-inline:var(--os-edge)}:is(html:has(.os-desktop),body:has(.os-desktop)){height:100%;overflow:hidden}html:has(.os-desktop){scrollbar-gutter:auto}.os-desktop__area{min-height:0;position:relative;overflow:clip}.os-icons{position:absolute;inset:0}.os-icons ul{grid-auto-flow:column;grid-template-rows:repeat(auto-fill, var(--os-icon-height));grid-auto-columns:var(--os-icon-width);align-content:start;gap:var(--control-gap);width:max-content;height:100%;padding:var(--window-gap);margin:0;list-style:none;display:grid}.os-icon{width:var(--os-icon-width);justify-items:center;gap:calc(var(--control-gap) / 2);padding:calc(var(--control-gap) / 2);color:rgb(var(--color-text));text-align:center;cursor:default;background:0 0;border:0;text-decoration:none;display:grid}.os-icon>span{padding:var(--edge-width) calc(var(--control-gap) - var(--edge-width));background:rgb(var(--color-window));box-shadow:var(--drop-shadow-small)}.os-icon[aria-pressed=true]>span,.os-icon:focus-visible>span{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.os-desktop__windows{pointer-events:none;position:absolute;inset:0}.os-window{border:var(--window-edge);background:rgb(var(--color-window));min-width:0;box-shadow:var(--bevel-window), var(--drop-shadow);pointer-events:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;position:absolute}.os-window[data-minimized]{visibility:hidden;clip-path:inset(50%);pointer-events:none}.os-window[data-state=default]{top:var(--window-gap);bottom:var(--window-gap);left:calc(var(--os-icon-width) + 2 * var(--window-gap));right:var(--window-gap)}.os-window[data-state=maximized]{box-shadow:var(--bevel-window);inset:0}.os-window__bar{min-height:var(--bar-height);align-items:center;gap:var(--control-gap);padding:0 calc(var(--control-gap) / 2) 0 var(--control-gap);border-bottom:var(--window-edge);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));touch-action:none;-webkit-user-select:none;user-select:none;display:flex}.os-window[data-state=placed] .os-window__bar{cursor:grab}.os-window:not([data-focused]) .os-window__bar{color:rgb(var(--color-text));background:rgb(var(--color-band-deep))}.os-desktop .os-window__title{min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-shadow:none;padding-block:calc((var(--bar-height) - var(--edge-width) - var(--bar-line)) / 2);line-height:var(--bar-line);overflow-wrap:anywhere;flex:0 auto;margin:0}.os-window__bar>.pixel-icon{background:rgb(var(--color-window));box-shadow:0 0 0 var(--edge-width) rgb(var(--color-window))}.os-window__controls{gap:var(--edge-width);display:flex}.os-window__controls button{width:calc(var(--bar-height) - 3 * var(--edge-width));height:calc(var(--bar-height) - 4 * var(--edge-width));border:calc(var(--edge-width) / 2) solid rgb(var(--color-text));color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:var(--bevel-band);cursor:pointer;place-items:center;padding:0;display:grid}.os-window__controls button:active{box-shadow:var(--bevel-pressed)}.os-window__controls svg{width:var(--os-glyph);height:var(--os-glyph);fill:currentColor}.os-window__body{--header-height:0px;--nav-height:0px;overscroll-behavior:contain;background:rgb(var(--color-window));scrollbar-color:rgb(var(--color-titlebar)) rgb(var(--color-band-deep));min-height:0;overflow:auto;container:window page/size}@media (prefers-reduced-motion:no-preference){.os-window__body{scroll-behavior:smooth}}.os-window__body .architecture-page[data-layout=desktop]{--footer-height:0px}.os-window__loading{min-height:100%}.os-window__grip{touch-action:none;position:absolute}.os-window__grip--n,.os-window__grip--s{left:var(--os-grip);right:var(--os-grip);height:var(--os-grip);cursor:ns-resize}.os-window__grip--e,.os-window__grip--w{top:var(--os-grip);bottom:var(--os-grip);width:var(--os-grip);cursor:ew-resize}.os-window__grip--n{top:calc(var(--os-grip) / -2)}.os-window__grip--s{bottom:calc(var(--os-grip) / -2)}.os-window__grip--e{right:calc(var(--os-grip) / -2)}.os-window__grip--w{left:calc(var(--os-grip) / -2)}.os-window__grip--ne,.os-window__grip--se,.os-window__grip--sw,.os-window__grip--nw{width:calc(var(--os-grip) * 2);height:calc(var(--os-grip) * 2)}.os-window__grip--ne{top:calc(var(--os-grip) / -2);right:calc(var(--os-grip) / -2);cursor:nesw-resize}.os-window__grip--sw{bottom:calc(var(--os-grip) / -2);left:calc(var(--os-grip) / -2);cursor:nesw-resize}.os-window__grip--nw{top:calc(var(--os-grip) / -2);left:calc(var(--os-grip) / -2);cursor:nwse-resize}.os-window__grip--se{bottom:calc(var(--os-grip) / -2);right:calc(var(--os-grip) / -2);cursor:nwse-resize}.os-taskbar{z-index:var(--os-layer-taskbar);align-items:center;gap:var(--control-gap);padding:var(--control-gap) var(--os-edge);padding-bottom:max(var(--control-gap), env(safe-area-inset-bottom));border-top:var(--window-edge);background:rgb(var(--color-band));box-shadow:inset 0 var(--edge-width) 0 rgb(var(--color-button-light));display:flex;position:relative}.os-start{height:var(--control-height);align-items:center;gap:var(--control-gap);padding:0 var(--control-pad) 0 calc(var(--control-gap) / 2);border:var(--window-edge);color:rgb(var(--color-button-text));background:rgb(var(--color-button));box-shadow:var(--bevel-button);cursor:pointer;flex:none;display:inline-flex}.os-start__logo{width:var(--icon-size-large);height:var(--icon-size-large);filter:url(#desk-dither)}.os-tasks{gap:var(--control-gap);flex:1;min-width:0;display:flex}.os-task{min-width:0;height:var(--control-height);align-items:center;gap:var(--control-gap);padding:0 var(--control-pad) 0 var(--control-gap);border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:var(--bevel-band);text-align:left;cursor:pointer;display:inline-flex}.os-task[aria-pressed=true],.os-task[aria-pressed=true]:hover{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));box-shadow:var(--bevel-titlebar)}.os-task[aria-pressed=true]>.pixel-icon{background:rgb(var(--color-window));box-shadow:0 0 0 var(--edge-width) rgb(var(--color-window))}.os-task{flex:none}.os-tasks:is([data-fit=compact],[data-fit=tight],[data-fit=rows]) .os-task:not([aria-pressed=true])>span,.os-tasks:is([data-fit=tight],[data-fit=rows]) .os-task>span{display:none}.os-tasks[data-fit=rows]{flex-wrap:wrap}.os-window:not([data-focused]) :is(.os-window__body,.os-window__bar button,.os-window__tab){pointer-events:none}.os-tray{min-height:var(--control-height);align-items:center;gap:var(--control-gap);padding:0 var(--control-pad);border:var(--window-edge);background:rgb(var(--color-surface-sunken));box-shadow:inset var(--edge-width) var(--edge-width) 0 rgb(var(--color-band-shade));flex:none;display:flex}.os-tray .pet-controls--tray{gap:calc(var(--control-gap) / 2)}.os-tray .site-icon-link.pet-control{align-items:center;gap:calc(var(--control-gap) / 2);height:var(--control-height);padding:0 var(--control-gap) 0 0;border:var(--edge-width) solid transparent;color:rgb(var(--color-text));background:0 0;display:inline-flex}.os-start-menu{bottom:100%;left:var(--os-edge);grid-template-columns:var(--bar-height) minmax(0, 1fr);min-width:var(--card-min);border:var(--window-edge);opacity:0;background:rgb(var(--color-window));box-shadow:var(--bevel-window), var(--drop-shadow);transform:translateY(var(--menu-travel)) scale(var(--menu-settle));transform-origin:0 100%;transition:var(--menu-motion);visibility:hidden;transition-property:opacity,transform,visibility;display:grid;position:absolute}.os-start-menu.is-open{opacity:1;visibility:visible;transition-property:opacity,transform;transform:none}.os-start-menu__rail{padding:var(--control-gap) 0;color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));font:var(--type-label) / var(--bar-height) var(--font-display);writing-mode:vertical-rl;text-align:end;margin:0;rotate:180deg}.os-start-menu__items{padding:calc(var(--control-gap) / 2);display:grid}.os-start-menu__item{min-height:var(--control-height);align-items:center;gap:var(--control-pad);padding:var(--edge-width) var(--control-pad) var(--edge-width) calc(var(--control-gap) / 2);color:rgb(var(--color-text));text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.os-start-menu__item:hover,.os-start-menu__item:focus-visible{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.os-start-menu__item--quiet{min-height:calc(var(--control-height) - var(--control-gap));padding-left:var(--control-pad)}.os-start-menu hr{width:100%;margin:calc(var(--control-gap) / 2) 0;border:0;border-top:var(--edge-width) solid rgb(var(--color-bevel-shade))}.os-start-menu__note{margin:calc(var(--control-gap) / 2) var(--control-pad) var(--control-gap);color:rgb(var(--color-text-muted))}.os-genie{z-index:var(--os-layer-drag);pointer-events:none;position:fixed;inset:0}.os-genie__strip{transform-origin:0 0;will-change:transform, clip-path;position:fixed;overflow:hidden}.os-desktop:has(.os-genie)>.os-desktop__area{z-index:var(--os-layer-full-screen)}#main-content .os-window__body :is(.projects-page,.studies-page,.cv-page,.privacy-page,.correspondence-page,.case-study,.not-found-page,.architecture-page){--portfolio-gutter:0px;gap:0;width:100%;max-width:none;margin:0;padding:0}#main-content .os-window__body :is(.desk-window,.collection-heading,.study-live:not(.studio-workspace),.study-examples,.study-method,.studies-footnote,.study-orbital-hero,.study-detail-heading,.architecture-exhibit,.world-carousel){box-shadow:var(--rule-bottom);border:0;margin:0}#main-content .os-window__body :is(.desk-window,.world-carousel,.world-carousel__chrome,.study-detail-heading,.toolkit-install,.toolkit-assistance)>.desk-window__bar,#main-content .os-window__body .architecture-exhibit__caption,#main-content .os-window__body .collection-heading__caption,#main-content .os-window__body .world-carousel__chrome:before,#main-content .os-window__body .world-carousel.desk-window:after,#main-content .os-window__body .studies-page :is(.collection-heading,.study-live:not(.studio-workspace),.study-examples,.study-method,.studies-footnote,.study-orbital-hero,.studio-entry__loading):before,#main-content .os-window__body .studies-page section[aria-labelledby=vision-projects]:before{display:none}#main-content .os-window__body .studies-page :is(.collection-heading,.study-live:not(.studio-workspace),.study-examples,.study-method,.studies-footnote,.study-orbital-hero,.study-detail-heading,section[aria-labelledby=vision-projects]){padding-top:var(--window-pad)}#main-content .os-window__body .architecture-exhibit{grid-template-rows:minmax(0,1fr)}#main-content .os-window__body :is(.studies-collection,.project-cards,.study-filters,.studio-group){margin:var(--window-pad)}#main-content .os-window__body :is(.studio-group,.desk-window__body) :is(.studies-collection,.project-cards){margin:0}#main-content .os-window__body .desk-panel{box-shadow:var(--rule-bottom);border:0;margin:0}#main-content .os-window__body :is(.toolkit-install,.toolkit-assistance){padding-top:var(--window-pad);box-shadow:var(--rule-bottom);border:0;margin:0}#main-content .os-window__body :is(.toolkit-facts,.study-detail-meta){box-shadow:var(--rule-top), var(--rule-bottom);border-top:0}#main-content .os-window__body .contact-layout{gap:0}#main-content .os-window__body .contact-layout>.desk-window{box-shadow:none}@container page (width>=761px){#main-content .os-window__body .contact-intro{border-right:var(--window-edge)}}@container page (width<=760px){#main-content .os-window__body .contact-intro{border-bottom:var(--window-edge)}}#main-content .os-window__body :is(.contact-window__body,.inbox-window__body){padding-inline:var(--window-pad)}#main-content .os-window__page>*>:is(.desk-window,.collection-heading,.study-live:not(.studio-workspace),.study-examples,.study-method,.studies-footnote,.study-orbital-hero,.study-detail-heading,.toolkit-install,.toolkit-assistance):last-child{box-shadow:none}#main-content .os-window__body .studies-page{--sticky-top:var(--window-gap)}#main-content .os-window__body .study-bottom-nav{padding:var(--window-pad)}#main-content .os-window__body :is(.cv-hero__body,.cv-section__body),#main-content .os-window__body .case-study__shell{padding-inline:var(--window-pad)}#main-content .os-window__body .case-study__back{margin-top:var(--window-pad)}#main-content .os-window__body :is(.case-study__hero-grid,.case-study__body-grid)>.desk-window{box-shadow:none}#main-content .os-window__body :is(.case-study__hero,.case-study__body){border-bottom:var(--window-edge)}#main-content .os-window__body .case-study__shell .desk-window>.desk-window__body{padding-inline:0}#main-content .os-window__body .case-study__shell.case-study__body-grid{column-gap:0;padding-inline:0}#main-content .os-window__body .case-study__body-grid .desk-window>.desk-window__body{padding-inline:var(--window-pad)}@container page (width>=901px){#main-content .os-window__body .case-study__shell .case-study__meta>.desk-window__body{padding-right:var(--window-pad)}#main-content .os-window__body .case-study__story{border-left:var(--window-edge);align-self:stretch}#main-content .os-window__body .case-study__shell .case-study__story>.desk-window__body{padding-left:var(--window-pad)}}@container page (width<=900px){#main-content .os-window__body .case-study__meta{border-bottom:var(--window-edge)}}#main-content .os-window__body .case-study__stack>p{margin-inline:calc(-1 * var(--window-pad));padding-inline:var(--window-pad)}#main-content .os-window__body .case-study>.case-study__next{padding-block:var(--window-pad)}#main-content .os-window__body .case-study__media-wrap{width:100%}#main-content .os-window__body .case-study__hero-media{max-width:var(--portfolio-frame);padding:var(--window-pad);margin-inline:auto}#main-content .os-window__body .case-study__controls{margin-inline:calc(-1 * var(--window-pad))}#main-content .os-window__body .case-study__controls .architecture-controls--unified{box-shadow:var(--rule-top);border:0}#main-content .os-window__body .architecture-page[data-layout=desktop]{--stage-height:calc(100cqh - var(--bottom-stack));min-height:100cqh}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-layout{grid-template-rows:auto;column-gap:0}#main-content .os-window__body .architecture-page[data-layout=desktop] :is(.world-carousel.desk-window,.architecture-home){box-shadow:none;grid-area:1/1;margin:0}#main-content .os-window__body .architecture-page[data-layout=desktop] .world-carousel__chrome{box-shadow:none;top:0}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-home{grid-template-columns:minmax(0,1fr);align-content:center;display:grid}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-intro{box-shadow:none;border:0;justify-self:start;margin:0}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-layout>.architecture-exhibit{box-shadow:inset var(--edge-width) 0 0 rgb(var(--color-text));border:0;grid-area:1/2;margin:0;top:0}#main-content .os-window__body .architecture-page.is-home[data-layout=desktop] .architecture-layout>.architecture-exhibit{height:var(--stage-height);align-self:start;min-height:0}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-bottom{background:0 0;padding:0}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-bottom :is(.architecture-dock,.architecture-controls--unified){box-shadow:var(--rule-top);border:0;margin:0}@container window (width<=719px){#main-content .os-window__body .architecture-page[data-layout=desktop]{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr)}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-layout{display:contents}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-bottom{grid-area:2/1;align-self:start;position:static}#main-content .os-window__body .architecture-page[data-layout=desktop] .architecture-bottom :is(.architecture-dock,.architecture-controls--unified){box-shadow:var(--rule-top), var(--rule-bottom)}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified{flex-wrap:wrap}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-gesture{display:none}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified>.architecture-expand{margin-right:auto}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified :is(button,.exhibit-console__inputs,.exhibit-readout){order:2}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified>.architecture-expand{order:0}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls__navigation{order:1}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified .exhibit-console__inputs:has(.exhibit-slider){flex-basis:100%}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified .exhibit-readout{order:3}#main-content .os-window__body :is(.architecture-page[data-layout=desktop] .architecture-bottom,.case-study__controls) .architecture-controls--unified .exhibit-slider{flex:100%;width:100%;max-width:none}#main-content .os-window__body :is(.architecture-page,.architecture-page.is-home)[data-layout=desktop] .architecture-layout>.architecture-exhibit{height:calc(var(--stage-height) / 2);min-height:0;box-shadow:none;grid-area:1/1;align-self:stretch;position:relative}#main-content .os-window__body .architecture-page[data-layout=desktop] :is(.world-carousel.desk-window,.architecture-home){grid-area:3/1;min-height:0}#main-content .os-window__body .architecture-labels button{min-height:0;padding:var(--edge-width) calc(var(--control-gap) - var(--edge-width))}}.os-window__tabs{min-width:0;margin-right:var(--os-bar-grab);align-self:stretch;align-items:flex-end;gap:var(--edge-width);padding-top:var(--edge-width);flex:0 auto;display:flex}.os-window__tab{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:inset var(--edge-width) var(--edge-width) 0 rgb(var(--color-bevel-light));touch-action:none;border-bottom:0;flex:none;align-items:center;display:flex}.os-window__tab[data-selected]{z-index:1;margin-bottom:calc(-1 * var(--edge-width));padding-bottom:var(--edge-width);background:rgb(var(--color-window));position:relative}.os-window__tab-select{align-items:center;gap:var(--control-gap);padding:calc(var(--edge-width) * 2) var(--control-gap);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:default;background:0 0;border:0;flex:none;display:flex}.os-window__tab-close{width:calc(var(--bar-height) - 4 * var(--edge-width));height:calc(var(--bar-height) - 4 * var(--edge-width));margin-right:var(--edge-width);color:inherit;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.os-window__tab-close svg{width:var(--os-glyph);height:var(--os-glyph);fill:currentColor}.os-window__controls{flex:none;order:1;margin-left:auto}.os-window__tabs:is([data-fit=compact],[data-fit=tight],[data-fit=rows]) .os-window__tab:not([data-selected]) .os-window__tab-select>span,.os-window__tabs:is([data-fit=tight],[data-fit=rows]) .os-window__tab .os-window__tab-select>span,.os-window__tabs:is([data-fit=compact],[data-fit=tight],[data-fit=rows]) .os-window__tab:not([data-selected]) .os-window__tab-close{display:none}.os-window__tabs[data-fit=rows]{row-gap:var(--edge-width);flex-wrap:wrap}.os-drag-chip{z-index:var(--os-layer-drag);gap:var(--control-gap);padding:calc(var(--edge-width) * 2) var(--control-gap);border-bottom:var(--window-edge);white-space:nowrap;box-shadow:inset var(--edge-width) var(--edge-width) 0 rgb(var(--color-bevel-light)), var(--drop-shadow-small);pointer-events:none;position:absolute}.os-snap-preview{z-index:calc(var(--os-layer-drag) - 2);border:var(--window-edge);background:rgb(var(--color-titlebar) / .3);pointer-events:none;transition:var(--os-snap-motion);border-style:dashed;transition-property:left,top,width,height;position:absolute}@media (prefers-reduced-motion:reduce){.os-snap-preview{transition:none}}.os-drag-outline{z-index:calc(var(--os-layer-drag) - 1);border:var(--edge-width) dashed rgb(var(--color-text));pointer-events:none;position:absolute}.os-drag-outline__bar{min-height:var(--bar-height);padding:0 var(--control-gap);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));overflow-wrap:anywhere;align-items:center;display:flex}.os-window[data-drop-target]{outline:var(--edge-width) dashed rgb(var(--color-text));outline-offset:var(--edge-width)}.os-window[data-drop-target] .os-window__bar{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.os-window__bar[data-drop-label]:after{margin:var(--edge-width) 0 0 var(--edge-width);padding:0 var(--control-gap);border:var(--edge-width) dashed rgb(var(--color-titlebar-text));color:rgb(var(--color-titlebar-text));content:attr(data-drop-label);white-space:nowrap;border-bottom:0;align-self:stretch;align-items:center;display:flex}.blob-pet{z-index:110;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;opacity:0;width:64px;height:69px;transition:var(--menu-motion);contain:layout style;will-change:transform;transform-origin:0 0;filter:url(#desk-dither) drop-shadow(var(--drop-shadow-small));transition-property:opacity,visibility;display:none;position:fixed;top:0;left:0}.blob-pet *{pointer-events:none}.blob-pet[data-visible=true]{opacity:1}.blob-pet[data-visible=true] .blob-pet__art *{pointer-events:visiblePainted}.blob-pet[data-state=held]{cursor:grabbing}.blob-pet,.blob-pet:focus-visible{outline:none}body:has([aria-modal=true],.site-mobile-menu.is-open,.os-start-menu.is-open) .blob-pet{opacity:0;visibility:hidden}.blob-pet__art{transform-origin:50% 85%;width:100%;height:100%;display:block;overflow:visible}.blob-pet[data-state=resting] .blob-pet__art{animation:3.6s ease-in-out infinite blob-pet-breathe}@keyframes blob-pet-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018,.982)}}@media (any-hover:hover) and (any-pointer:fine) and (prefers-reduced-motion:no-preference){.blob-pet{display:block}}.blob-pet[data-exhibit-rendered=true] .blob-pet__art{opacity:0;pointer-events:none}.blob-pet[data-exhibit-rendered=true] .blob-pet__art *{pointer-events:none}:root{--portfolio-frame:1680px;--portfolio-gutter:clamp(40px, 5.5vw, 88px);--header-height:56px;--nav-height:48px}@media (width<=719px),(width<=1000px) and (pointer:coarse){:root{--portfolio-gutter:clamp(20px, 6vw, 24px);--header-height:64px}:root:not(:has(.site-header[data-sections=row])){--nav-height:0px}}:root:has(.site-header[data-sections=menu]){--nav-height:0px}.route-content{width:100%;min-width:0;container:page/inline-size}.is-scene-shell .route-content{flex-direction:column;flex:1;min-height:0;display:flex}@media print{.portfolio-navigation-shell{display:none!important}}html{background:rgb(var(--color-desk))}:is(body,body:has(.architecture-page)){background:var(--desk-checker);font-family:var(--font-body);background-attachment:fixed}:where(h1,h2,h3){font-family:var(--font-display);letter-spacing:0;font-weight:400}::selection{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.desk-window__bar{min-height:var(--bar-height);border-bottom:var(--window-edge);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));flex:none;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0 12px;display:flex}@container page (width<=719px){.desk-window__bar>:not(:first-child){display:none}}.desk-window__bar>*{min-width:0;padding-block:calc((var(--bar-height) - var(--edge-width) - var(--bar-line)) / 2);line-height:var(--bar-line);overflow-wrap:anywhere}.desk-dither-defs{width:0;height:0;position:absolute;overflow:hidden}.desk-card{transition:transform .12s,box-shadow .12s}a.desk-card:hover{box-shadow:var(--bevel-window), var(--drop-shadow);transform:translate(-2px,-2px)}.desk-card:has(a:hover){box-shadow:var(--bevel-window), var(--drop-shadow);transform:translate(-2px,-2px)}.desk-link{color:rgb(var(--color-accent));font:var(--type-label) var(--font-display);text-underline-offset:var(--underline-offset);text-decoration:underline}.desk-link:hover{color:rgb(var(--color-text))}.desk-kicker{color:rgb(var(--color-kicker));font:var(--type-caps) / 1.5 var(--font-ui);text-transform:uppercase;margin:0}.desk-tooltip{border:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-tooltip));box-shadow:3px 3px 0 rgb(var(--color-text) / .6);font:var(--type-caps) var(--font-ui);text-transform:uppercase}:where(a,button,summary,[tabindex]):focus-visible{outline:2px dashed rgb(var(--color-text));outline-offset:2px}#main-content a:has(>:is(svg,.pixel-icon,[aria-hidden=true])){text-decoration:none}#main-content a:has(>:is(svg,.pixel-icon,[aria-hidden=true])):hover{text-decoration:none}.site-header,.site-header--scene{background:rgb(var(--color-band));box-shadow:var(--rule-bottom);-webkit-backdrop-filter:none;backdrop-filter:none;border:0}.site-header .site-brand__copy strong{font-family:var(--font-display);font-size:var(--type-item);letter-spacing:0;text-shadow:var(--title-shadow);font-weight:400;line-height:1}.site-brand__copy span{display:none}.site-icon-link,.site-menu-button,.site-resume-link,.skip-link,.architecture-nav :is(button,a),.site-mobile-menu :is(a,.pet-control),.site-mobile-menu__label,.site-footer__inner,.site-footer a,.os-start,.os-task,.os-tray,.os-icon,.os-start-menu__item,.os-start-menu__note,.os-window__bar,.os-drag-chip,.os-drag-outline__bar,.desk-window__bar,.pet-customizer:before,.media-viewer__header p,.media-viewer[role=dialog] .media-viewer__close,.media-viewer__count{font:var(--type-label) / 1.2 var(--font-display);letter-spacing:0;text-transform:none}.site-brand__logo{filter:url(#desk-dither)}.site-icon-link,.site-menu-button{border:var(--edge-width) solid transparent;color:rgb(var(--color-text));border-radius:0}.site-header .site-icon-link{display:inline-flex}.site-header :is(.site-icon-link,.site-menu-button,.site-resume-link){align-items:center;gap:var(--control-gap);width:auto;min-width:0;height:var(--control-height);padding:0 var(--control-gap);white-space:nowrap;flex:none;transition:none}.site-resume-link,.architecture-primary{border:var(--window-edge);color:rgb(var(--color-button-text));background:rgb(var(--color-button));box-shadow:var(--bevel-button);font-family:var(--font-display);letter-spacing:0;border-radius:0;font-weight:400;text-decoration:none;transform:none}.site-resume-link{display:inline-flex}.site-resume-link:active,.architecture-primary:active{box-shadow:var(--bevel-pressed);transform:translate(var(--press-offset), var(--press-offset))}.site-header .site-mobile-menu{border:var(--window-edge);background:rgb(var(--color-window));box-shadow:var(--bevel-window), var(--drop-shadow);border-radius:0}.site-header .site-mobile-menu :is(a,.pet-control){grid-template-columns:var(--icon-size-large) minmax(0, 1fr) auto;place-items:center start;gap:var(--control-pad);width:100%;height:auto;min-height:var(--menu-row-height);padding:var(--control-gap) var(--control-pad);color:rgb(var(--color-text));box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;transition:none;display:grid}.site-header .site-mobile-menu :is(a,.pet-control):hover,.site-header .site-mobile-menu :is(a,.pet-control):focus-visible{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.portfolio-navigation-shell{max-width:none;padding-inline:max(var(--portfolio-gutter), calc((100% - var(--portfolio-frame)) / 2 + var(--portfolio-gutter)));background:rgb(var(--color-band-deep));box-shadow:var(--rule-top), var(--rule-bottom)}.architecture-nav{gap:clamp(var(--edge-width), .5vw, var(--control-gap));border-bottom:0}.architecture-nav :is(button,a){--control-inset:calc((var(--control-height-compact) - 2 * var(--edge-width) - var(--icon-size)) / 2);align-self:center;gap:var(--control-gap);min-height:var(--control-height-compact);padding:0 var(--control-pad) 0 var(--control-inset);border:var(--edge-width) solid transparent;color:rgb(var(--color-text));transition:none}.architecture-nav :is(button,a)[aria-current]{border-color:rgb(var(--color-text));color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));box-shadow:var(--bevel-titlebar)}.architecture-nav :is(button,a)[aria-current]:after{display:none}.site-footer{border:0;border-top:var(--window-edge);color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:none}.site-footer__inner,.site-footer a,.site-footer__links a{color:rgb(var(--color-text))}.site-footer__inner{min-height:var(--header-height);padding-block:var(--control-pad) max(var(--control-pad), env(safe-area-inset-bottom))}@media (width<=719px){.site-footer__inner{padding-block:var(--window-gap) max(var(--window-gap), env(safe-area-inset-bottom))}.site-footer__inner,.site-footer__links{gap:var(--control-gap)}}.site-footer__links a{text-underline-offset:var(--underline-offset);text-decoration:underline}.site-footer__links a:hover{color:rgb(var(--color-accent))}.site-header--scene .portfolio-navigation-shell{pointer-events:auto}.site-header__inner{z-index:2}.site-header .portfolio-navigation-shell{z-index:1;position:relative}.site-mobile-menu__label{margin:var(--control-gap) var(--control-pad) calc(var(--control-gap) / 2);color:rgb(var(--color-kicker))}.site-header .site-mobile-menu a[aria-current=page]{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.site-header__inner{column-gap:var(--window-gap)}.site-header .site-brand{white-space:nowrap;flex:none}.site-header__identity{align-items:center;gap:var(--control-gap);flex:none;display:flex}.site-header .site-menu-button{visibility:hidden;display:inline-flex;position:absolute;top:0;right:0}.site-header__desktop-links{gap:var(--control-gap);flex-wrap:nowrap}html:not(.has-js) .site-header__inner{height:auto;min-height:var(--header-height);flex-wrap:wrap}html:not(.has-js) :is(.site-header__desktop-links,.portfolio-navigation){flex-wrap:wrap}.site-header[data-links=menu] .site-header__desktop-links{visibility:hidden;width:0;height:0;position:absolute;overflow:clip}.site-header[data-sections=menu] .portfolio-navigation-shell{visibility:hidden;height:0;box-shadow:none;overflow:clip}.site-header:is([data-links=menu],[data-sections=menu]) .site-menu-button{visibility:visible;position:static}.site-header:is([data-links=menu],[data-sections=menu]) .site-mobile-menu{display:block}@media (width<=719px),(width<=1000px) and (pointer:coarse){.has-js .site-header:not([data-links]) .site-header__desktop-links{visibility:hidden;width:0;height:0;position:absolute;overflow:clip}.has-js .site-header:not([data-sections]) .portfolio-navigation-shell{visibility:hidden;height:0;box-shadow:none;overflow:clip}.has-js .site-header:not([data-links]) .site-menu-button{visibility:visible;position:static}.has-js .site-header:not([data-links]) .site-mobile-menu{display:block}}.architecture-page[data-layout=desktop] .architecture-home{min-height:0;margin-top:var(--window-gap);grid-area:1/1/4/2}.architecture-home{justify-content:center;gap:var(--window-gap);flex-direction:column;min-width:0;display:flex}.architecture-intro.desk-window{align-self:stretch;padding:0}.architecture-eyebrow{color:rgb(var(--color-kicker));font:var(--type-caps)/1.8 var(--font-ui);text-transform:uppercase}.architecture-eyebrow i{display:none}.architecture-intro :is(h1,h2){max-width:none;color:rgb(var(--color-text));font-family:var(--font-display);font-size:var(--type-hero);letter-spacing:0;text-shadow:var(--title-shadow);margin:10px 0 16px;font-weight:400;line-height:.9}.architecture-intro__body{color:rgb(var(--color-text));font-family:var(--font-body);font-size:var(--type-lead);line-height:1.65}.architecture-actions-row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px;display:flex}.architecture-page .architecture-primary{min-height:44px;font-size:var(--type-action);gap:14px;margin-top:0;padding:6px 18px}.architecture-toolkit-link{color:rgb(var(--color-accent));font:var(--type-action) var(--font-display);text-underline-offset:var(--underline-offset);text-decoration:underline}.architecture-toolkit-link:hover{color:rgb(var(--color-text))}.architecture-exhibit{border:var(--window-edge);background:rgb(var(--color-window));box-shadow:var(--bevel-window);grid-template-rows:var(--bar-height) minmax(0, 1fr);overflow:hidden}.architecture-exhibit__caption{height:var(--bar-height);border-bottom:var(--window-edge);color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar));font:var(--type-label)/1 var(--font-display);letter-spacing:0;white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex;overflow:hidden}.architecture-page[data-layout=desktop] .architecture-layout>.architecture-exhibit{grid-area:1/2/4/3;align-self:stretch;margin-block:20px;display:grid}.architecture-page[data-layout=desktop] .architecture-layout .architecture-exhibit__caption{grid-area:auto;align-items:center;padding:0 12px}.architecture-page[data-layout=desktop] .architecture-layout .architecture-view:not(.is-expanded){grid-area:auto;margin-top:0}.architecture-labels button{border:var(--window-edge);min-height:30px;color:rgb(var(--color-text));background:rgb(var(--color-tooltip));box-shadow:3px 3px 0 rgb(var(--color-text) / .6);font:var(--type-label) var(--font-display);border-radius:0;gap:8px;padding:4px 8px}.architecture-labels button>span:first-child{font:inherit;color:rgb(var(--color-kicker))}.architecture-labels button:hover{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.architecture-labels button:hover>span:first-child{color:rgb(var(--color-tooltip))}.architecture-controls--unified,:is(.architecture-dock,.architecture-view) .architecture-controls.architecture-controls--unified{border:var(--window-edge);padding:var(--control-gap);background:rgb(var(--color-band));box-shadow:var(--bevel-band)}.architecture-gesture{color:rgb(var(--color-text));font:var(--type-caps) var(--font-ui);text-transform:uppercase}@media (width<=719px),(width<=1000px) and (pointer:coarse){.architecture-exhibit__caption>span+span{display:none}.architecture-labels button{min-height:26px;padding:2px 6px}}.exhibit-slider{color:rgb(var(--color-text));font:var(--type-label) var(--font-display)}.exhibit-slider input{accent-color:rgb(var(--color-titlebar))}.architecture-controls--unified .exhibit-slider{grid-template-columns:max-content minmax(calc(3 * var(--control-height-small)), 1fr);align-items:center;column-gap:var(--control-gap);white-space:nowrap;width:auto;min-width:auto;max-width:100%}.exhibit-readout,.architecture-controls--unified .exhibit-readout{color:rgb(var(--color-text));font-family:var(--font-body)}.architecture-controls--unified .exhibit-readout{white-space:normal;overflow-wrap:anywhere;overflow:visible}.architecture-controls.architecture-controls--unified{justify-content:flex-start;align-items:center;gap:var(--control-gap);flex-wrap:wrap}.architecture-controls.architecture-controls--unified :is(.architecture-controls__actions,.architecture-actions,.exhibit-console){display:contents}.architecture-controls--unified :is(.architecture-controls__navigation,.exhibit-console__inputs,.exhibit-choices){align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.architecture-controls--unified .exhibit-readout{flex:auto;width:auto;min-height:0;margin:0;display:block}.architecture-controls.architecture-controls--unified>.architecture-gesture{margin-right:0}.architecture-controls.architecture-controls--unified .architecture-controls__navigation{margin-left:auto}.architecture-controls.architecture-controls--unified :is(button,.exhibit-console a){justify-content:center;align-items:center;display:inline-flex}.architecture-controls .architecture-expand,.architecture-controls--unified .architecture-controls__navigation button{width:var(--control-height-small);margin:0}.architecture-view{container:exhibit-view/inline-size}@container exhibit-view (width<=620px){.architecture-labels button{gap:6px;min-height:26px;padding:2px 6px}.architecture-labels button>span:last-child{display:none}}.architecture-exhibit{container:exhibit-window/inline-size}@container exhibit-window (width<=620px){.architecture-exhibit__caption>span+span{display:none}}.architecture-view.is-expanded .architecture-close{gap:8px;top:16px;right:16px}.architecture-page .architecture-view.has-unified-controls.is-expanded>.architecture-controls.architecture-controls--unified,.architecture-case .architecture-view.has-unified-controls.is-expanded>.architecture-controls.architecture-controls--unified,.architecture-page .architecture-view .architecture-controls.architecture-controls--unified{padding:var(--control-gap)}.architecture-page .world-carousel.desk-window{padding:0}.architecture-page[data-layout=desktop] .world-carousel.desk-window{grid-area:1/1/4/2;grid-template-rows:auto minmax(0,1fr);margin-block:20px;display:grid}.world-carousel__chrome{background:rgb(var(--color-window))}.architecture-page .world-carousel__chrome>:is(.world-carousel__header,.world-carousel__tabs){grid-area:auto;margin:0;padding-inline:clamp(18px,2.2vw,30px)}.architecture-page .world-carousel__chrome>.world-carousel__header,.architecture-page[data-layout=desktop] .world-carousel__chrome>.world-carousel__header{padding-top:18px;padding-bottom:16px}.architecture-page .world-carousel.desk-window>.world-carousel__viewport{margin:0;padding:0}.architecture-page[data-layout=desktop] .world-carousel.desk-window>.world-carousel__viewport{grid-area:2/1}.world-carousel__heading :is(h1,h2),.architecture-page .world-carousel__heading :is(h1,h2){color:rgb(var(--color-text));font:var(--type-title)/.95 var(--font-display);letter-spacing:0;text-shadow:var(--title-shadow);margin:0}.architecture-page .space-stepper__status,.space-stepper__status{color:rgb(var(--color-kicker));font:var(--type-caps) var(--font-ui)}.architecture-page .space-stepper__status span{color:rgb(var(--color-text-muted))}.architecture-page .world-carousel__tabs,.world-carousel__tabs{border:0;border-bottom:var(--window-edge);gap:4px}.architecture-page .world-carousel__tabs button,.world-carousel__tabs button{position:relative;bottom:-2px}.architecture-page .world-carousel__tabs button>span,.world-carousel__tabs button>span{color:rgb(var(--color-kicker))}.architecture-page .world-carousel__tabs button[aria-selected=true],.world-carousel__tabs button[aria-selected=true]{z-index:1}.world-carousel .station-eyebrow,.architecture-page .station-eyebrow{color:rgb(var(--color-kicker));font:var(--type-caps)/1.8 var(--font-ui);letter-spacing:.02em;text-transform:uppercase}.world-carousel .station-title,.architecture-page .station-title,.paper-content .station-title{color:rgb(var(--color-text));font:var(--type-section)/1 var(--font-display);letter-spacing:0;text-shadow:none}.world-carousel .station-subtitle,.architecture-page .station-subtitle,.paper-content .station-subtitle{color:rgb(var(--color-text));font:var(--type-section)/1 var(--font-display);letter-spacing:0}.architecture-page .station-lede,.architecture-page .station-footnote,.world-carousel .station-lede{color:rgb(var(--color-text));font-family:var(--font-body)}.architecture-page .station-footnote{color:rgb(var(--color-text-muted))}.paper-content .skill-chip,.paper-content .station-bio__skills>span{border:1px solid rgb(var(--color-text));color:rgb(var(--color-text));background:rgb(var(--color-band));box-shadow:none;font-family:var(--font-body);border-radius:0}.architecture-page[data-layout=desktop] .world-carousel.desk-window{min-width:0;height:auto}.architecture-page .world-carousel.desk-window>*{min-width:0}.architecture-page .world-carousel__tabs,.world-carousel__tabs{background:linear-gradient(rgb(var(--color-text)), rgb(var(--color-text))) left bottom / 100% 2px no-repeat;scrollbar-width:none;border-bottom:0;flex-wrap:nowrap;align-items:flex-end;padding-bottom:0;overflow:auto hidden}.world-carousel__tabs::-webkit-scrollbar{display:none}.architecture-page .world-carousel__tabs button,.world-carousel__tabs button{white-space:nowrap;flex:none;margin-bottom:2px;bottom:0}.architecture-page .world-carousel__tabs button[aria-selected=true],.world-carousel__tabs button[aria-selected=true]{margin-bottom:0}.architecture-page .world-carousel__chrome>.world-carousel__tabs{justify-self:stretch;width:auto;max-width:none;overflow:auto hidden}.architecture-page .world-carousel.desk-window{container:story/inline-size}@container story (width<=520px){.world-carousel__tabs button>span{display:none}}.architecture-page .world-carousel .station-bio__top,.world-carousel .station-bio__top{grid-template-columns:minmax(0,1fr);justify-items:start;gap:16px}.architecture-page .world-carousel .station-bio__portrait,.world-carousel .station-bio__portrait{aspect-ratio:4/5;object-fit:cover;width:min(100%,200px);height:auto}.architecture-page .world-carousel .station-bio__copy{max-width:62ch;font-size:var(--type-body);line-height:1.65}.architecture-page .world-carousel__header{column-gap:var(--control-pad);row-gap:var(--control-gap);flex-wrap:wrap;min-width:0}.architecture-page .world-carousel__header>.space-stepper{margin-inline-start:auto}.about-skill-group h3,.about-skill-group h4,.world-carousel .about-skill-group :is(h3,h4,p:first-child){color:rgb(var(--color-kicker));font:var(--type-caps) var(--font-ui);text-transform:uppercase}.station-bio__portrait,.world-carousel .photo-wall img,.world-carousel .photo-wall button{border-radius:0!important}.station-bio__portrait{box-shadow:var(--drop-shadow);border:var(--window-edge)!important}.world-carousel .photo-wall button{border:var(--window-edge);box-shadow:var(--drop-shadow)}@media (width<=719px),(width<=1000px) and (pointer:coarse){.architecture-page .world-carousel__chrome>:is(.world-carousel__header,.world-carousel__tabs){padding-inline:16px}.architecture-page .world-carousel__chrome>.world-carousel__header{padding-top:14px}}.architecture-page .world-carousel .station-subtitle{margin:0 0 16px}.architecture-page .world-carousel :is(.trophy-list,.lesson-accordion){border:var(--window-edge);background:rgb(var(--color-surface-sunken));box-shadow:inset 2px 2px 0 rgb(var(--color-bevel-shade) / .5);margin:0;padding:0;list-style:none;display:block}.architecture-page .world-carousel :is(.trophy-list>li,.lesson-accordion__item),.paper-content :is(.trophy-list>li,details){border:0;border-top:1px dashed rgb(var(--color-text) / .3);box-shadow:none;background:0 0;margin:0;border-radius:0!important}.architecture-page .world-carousel :is(.trophy-list>li,.lesson-accordion__item):first-child{border-top:0}.architecture-page .world-carousel .trophy-list>li{color:rgb(var(--color-text));font:var(--type-body)/1.55 var(--font-body);grid-template-columns:2.5em minmax(0,1fr);align-items:baseline;gap:0 12px;padding:12px 16px;display:grid}.architecture-page .world-carousel .trophy-list__number{color:rgb(var(--color-kicker));font:var(--type-caps) var(--font-ui)}.architecture-page .world-carousel .lesson-accordion__item>summary{color:rgb(var(--color-text));justify-content:space-between}.architecture-page .world-carousel .lesson-accordion__item[data-open=true]>summary,.architecture-page .world-carousel .lesson-accordion__item[open]:not([data-enhanced])>summary{color:rgb(var(--color-titlebar-text));background:rgb(var(--color-titlebar))}.architecture-page .world-carousel .lesson-accordion__chevron{color:inherit;flex:none}.architecture-page .world-carousel .lesson-accordion__body{color:rgb(var(--color-text));font:var(--type-body)/1.65 var(--font-body)}.architecture-page .world-carousel :is(.station-title,.station-subtitle),.paper-content :is(.station-title,.station-subtitle){color:rgb(var(--color-text));font:var(--type-section)/1 var(--font-display);letter-spacing:0;text-shadow:none;margin:0 0 16px}.architecture-page .world-carousel .lesson-accordion__item:is([data-open=true],[open]:not([data-enhanced]))>summary *{color:inherit}html:has(.architecture-page){overflow:clip auto}body:has(.architecture-page){overflow:visible}.is-scene-shell{height:auto;min-height:100dvh;overflow:visible}.site-header--scene{z-index:50;pointer-events:auto;position:sticky;top:0}.architecture-page[data-layout=desktop]{--pinned-top:calc(var(--header-height) + var(--nav-height));--bottom-stack:94px;--footer-height:58px;--stage-height:calc(100dvh - var(--pinned-top) - var(--window-gap) - var(--footer-height) - var(--bottom-stack));height:auto;min-height:calc(100dvh - var(--pinned-top) - var(--footer-height));grid-template-rows:auto}.architecture-page[data-layout=desktop] .architecture-layout{padding-bottom:var(--bottom-stack);grid-area:1/1;grid-template-rows:auto auto auto;align-items:start}.architecture-page[data-layout=desktop] .world-carousel.desk-window{grid-template-rows:auto 1fr}.architecture-page[data-layout=desktop] .architecture-layout>.architecture-exhibit{top:calc(var(--pinned-top) + var(--window-gap));height:var(--stage-height);align-self:start;margin-bottom:0;position:sticky}.architecture-page.is-home[data-layout=desktop] .architecture-layout>.architecture-exhibit{height:auto;min-height:var(--stage-height);align-self:stretch}.architecture-page[data-layout=desktop] :is(.world-carousel.desk-window,.architecture-home){min-height:var(--stage-height);margin-bottom:0}.architecture-page[data-layout=desktop] .world-carousel__chrome{top:calc(var(--pinned-top) + var(--window-gap));z-index:2;box-shadow:0 -2px 0 rgb(var(--color-text));position:sticky}.architecture-page[data-layout=desktop] .world-carousel__chrome:before{height:var(--window-gap);content:"";background:var(--desk-checker);background-attachment:fixed;position:absolute;bottom:calc(100% + 2px);left:-2px;right:-2px}.architecture-page[data-layout=desktop] .world-carousel.desk-window:after{bottom:calc(var(--footer-height) + var(--bottom-stack));z-index:2;content:"";background:rgb(var(--color-text));height:2px;margin-bottom:-2px;display:block;position:sticky}.architecture-page[data-layout=desktop] .world-carousel__viewport{height:auto;overflow:visible;container-type:normal}.architecture-page[data-layout=desktop] .world-carousel__slide{display:none}.architecture-page[data-layout=desktop] .world-carousel__slide[data-active=true]{height:auto;display:block;position:relative;inset:auto;overflow:visible}.architecture-page[data-layout=desktop] .architecture-bottom{bottom:var(--footer-height);z-index:3;padding:var(--window-gap) 0;background:var(--desk-checker);background-attachment:fixed;grid-area:1/1;align-self:end;position:sticky}.architecture-page[data-layout=desktop] .architecture-bottom>.architecture-dock{border:0;margin:0;padding:0}.is-scene-shell:has(.architecture-page[data-layout=desktop]) .site-footer{z-index:4;position:sticky;bottom:0}@media (height<=619px){.architecture-page[data-layout=desktop] .architecture-layout>.architecture-exhibit{height:max(var(--stage-height), 420px);position:relative;top:auto}.architecture-page[data-layout=desktop] :is(.world-carousel.desk-window,.architecture-home){min-height:0}.architecture-page[data-layout=desktop] .world-carousel__chrome,.architecture-page[data-layout=desktop] .architecture-bottom{position:relative;top:auto;bottom:auto}.is-scene-shell:has(.architecture-page[data-layout=desktop]) .site-footer{position:relative;top:auto;bottom:auto}.architecture-page[data-layout=desktop] .world-carousel__chrome:before,.architecture-page[data-layout=desktop] .world-carousel.desk-window:after{display:none}}.architecture-page .architecture-exhibit:has(.architecture-view.is-expanded){z-index:90}#main-content :is(.projects-page,.studies-page,.cv-page,.privacy-page,.correspondence-page,.case-study,.not-found-page){padding-top:var(--window-gap);padding-bottom:var(--window-gap);gap:var(--window-gap)}#main-content :is(.project-cards,.studies-collection,.experiments-collection,.studio-entry__content,.contact-layout,.case-study__hero-grid,.case-study__body-grid,.case-study__next .case-study__shell,.architecture-home){gap:var(--window-gap)}#main-content .studio-group+.studio-group{margin-top:0}#main-content .case-study{flex-direction:column;display:flex}#main-content .case-study>*{padding-top:0;padding-bottom:0}#main-content .case-study__hero .case-study__shell{gap:var(--window-gap);display:grid}#main-content .case-study__back{justify-self:start;margin:0}#main-content .not-found-page{align-content:start;min-height:0}#main-content .architecture-page[data-layout=desktop] .architecture-layout{column-gap:var(--window-gap)}#main-content .architecture-page[data-layout=mobile] .architecture-layout{gap:var(--window-gap);padding-top:var(--window-gap)}#main-content .architecture-page[data-layout=mobile] .architecture-layout>:first-child,#main-content .architecture-page[data-layout=mobile] .world-carousel{margin-top:0}#main-content .architecture-page[data-layout=mobile] .architecture-home{padding-block:0}#main-content .architecture-page[data-layout=mobile] .exhibit-story{padding-top:0}@media screen{#main-content h1{font-size:var(--type-title);letter-spacing:0;text-shadow:var(--title-shadow);line-height:.95}#main-content .architecture-intro h1{font-size:var(--type-hero)}}#main-content :is(.study-live:not(.studio-workspace),.study-method,.study-examples,.collection-heading,.studies-footnote,.study-detail-heading,.toolkit-install,.toolkit-assistance,.toolkit-workflows){padding-inline:var(--window-pad);padding-bottom:var(--window-pad)}#main-content .study-section-heading{justify-content:start;gap:8px;margin:0;display:grid}#main-content .study-section-heading:not(.ui-stack>*){margin-bottom:var(--window-gap)}#main-content .study-section-heading>p{max-width:72ch;margin:0}#main-content .lab-editor{gap:var(--window-gap);grid-template-columns:minmax(240px,300px) minmax(0,1fr);width:100%;max-width:none;margin:0}@container (width<=820px){#main-content .lab-editor{grid-template-columns:minmax(0,1fr)}}@container page (width<=900px){#main-content .lab-editor{grid-template-columns:minmax(0,1fr)}#main-content .lab-editor>:is(.graphics-lab__result,.experiment-lab__stage){order:-1;position:static}#main-content .lab-editor>:is(.graphics-lab__controls,.experiment-lab__controls){position:static}}#main-content :is(.study-method,.studies-footnote){display:block}#main-content :is(.study-method,.studies-footnote)>h2{margin:0 0 16px}#main-content :is(.study-method,.studies-footnote)>:not(h2){max-width:76ch}#main-content .study-detail-heading:has(>:is(.study-detail-meta,.toolkit-facts):last-child){padding-bottom:0}#main-content :is(.project-card__tech li,.cv-entry__date,.case-study__tech li,.case-study__meta li,.case-study__section-heading>span,.hs-ready-badge,.mm-node-label){padding:var(--control-gap) var(--control-pad);line-height:1.2}#main-content code{padding-inline:12px}#main-content .meaning-map .mm-node-label{text-overflow:clip;white-space:normal;max-width:18ch;overflow:visible}#main-content .meaning-map .mm-detail+*,#main-content .meaning-map .mm-detail~h3{margin-top:16px}#main-content .studio-group>h2{padding:8px 14px}#main-content figure>figcaption{margin-top:10px}:is(.site-icon-link:not(.site-mobile-menu *),.site-menu-button:not([aria-expanded=true]),.site-resume-link,.architecture-primary,.desk-button,.architecture-nav :is(button,a):not([aria-current]),.space-stepper button,.architecture-controls button:not([aria-pressed=true]),.exhibit-console :is(button,a):not([aria-pressed=true]),.architecture-controls.architecture-controls--unified :is(button,.exhibit-console a):not([aria-pressed=true]),.architecture-view.is-expanded .architecture-close,.os-start:not([aria-expanded=true]),.os-task:not([aria-pressed=true]),.os-window__controls button,.os-window__tab-close,.pet-customizer__close,.pet-customizer__footer button:not(.pet-customizer__reset),.correspondence-page .correspondence-button:not(:disabled),.inbox-device button,.inbox-filters>div button:not([aria-pressed=true]),.study-filters button:not([aria-pressed=true]),.studies-page .study-bottom-nav a,.toolkit-page button:not([aria-pressed=true]),.media-viewer[role=dialog] :is(.media-viewer__button,.media-viewer__close):not(:disabled)):hover{border-color:rgb(var(--color-text));color:rgb(var(--color-button-text));background:rgb(var(--color-button-hover));box-shadow:var(--bevel-band);filter:none}:is(.site-icon-link:not(.site-mobile-menu *),.site-menu-button:not([aria-expanded=true]),.site-resume-link,.architecture-primary,.desk-button,.architecture-nav :is(button,a):not([aria-current]),.space-stepper button,.architecture-controls button:not([aria-pressed=true]),.exhibit-console :is(button,a):not([aria-pressed=true]),.architecture-controls.architecture-controls--unified :is(button,.exhibit-console a):not([aria-pressed=true]),.architecture-view.is-expanded .architecture-close,.os-start:not([aria-expanded=true]),.os-task:not([aria-pressed=true]),.os-window__controls button,.os-window__tab-close,.pet-customizer__close,.pet-customizer__footer button:not(.pet-customizer__reset),.correspondence-page .correspondence-button:not(:disabled),.inbox-device button,.inbox-filters>div button:not([aria-pressed=true]),.study-filters button:not([aria-pressed=true]),.studies-page .study-bottom-nav a,.toolkit-page button:not([aria-pressed=true]),.media-viewer[role=dialog] :is(.media-viewer__button,.media-viewer__close):not(:disabled)):hover:active{box-shadow:var(--bevel-pressed)}:is(.site-menu-button,.os-start)[aria-expanded=true]{border-color:rgb(var(--color-text));color:rgb(var(--color-button-text));background:rgb(var(--color-button-hover));box-shadow:var(--bevel-pressed)}:is(.world-carousel__tabs button:not([aria-selected=true]),.pet-customizer__tabs button:not([aria-selected=true]),.os-window__tab:not([data-selected]),.architecture-page .world-carousel .lesson-accordion__item:not([data-open=true],[open]:not([data-enhanced]))>summary,.inbox-message-row:not([aria-current=true])):hover{background:rgb(var(--color-button-hover))}
