@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300;1,6..72,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Coral+Pixels&display=swap";:root{--accent-amber: rgb(240,178,44);--accent-coral: rgb(244,63,94);--accent-green: rgb(54,205,141);--black: rgb(0,0,0);--blue-500: rgb(46,92,255);--brand-blue: rgb(46,92,255);--brand-navy: rgb(3,14,53);--brand-white: rgb(255,255,255);--color-accent-amber: var(--accent-amber);--color-accent-blue: var(--blue-500);--color-accent-coral: var(--accent-coral);--color-accent-green-2: var(--green-400);--color-accent-green: var(--accent-green);--color-accent-red: var(--red-400);--color-accent-yellow: var(--yellow-400);--color-background-dark: var(--navy-900);--color-background-default: var(--brand-white);--color-background-light: var(--white);--color-background-surface: var(--neutral-gray-light);--color-border-accent: var(--green-400);--color-border-default: var(--neutral-gray-border);--color-border-on-dark: var(--white);--color-border-on-light: var(--navy-900);--color-border-strong: var(--neutral-gray-mid);--color-button-fill: var(--green-400);--color-button-label: var(--navy-900);--color-card-accent-line: var(--green-400);--color-milk: rgb(249,249,249);--color-primary-foreground: var(--brand-white);--color-primary: var(--brand-blue);--color-surface-card-light: var(--white);--color-text-accent: var(--green-400);--color-text-default: var(--neutral-black);--color-text-inverse: var(--brand-white);--color-text-on-accent: var(--brand-white);--color-text-on-dark: var(--white);--color-text-on-light: var(--navy-900);--color-text-on-yellow: var(--black);--color-text-secondary: var(--neutral-gray-mid);--color-void-blue: var(--blue-500);--font-size-2xl: 32;--font-size-3xl: 48;--font-size-4xl: 64;--font-size-5xl: 80;--font-size-base: 16;--font-size-lg: 18;--font-size-sm: 14;--font-size-xl: 24;--font-size-xs: 12;--font-weight-bold: 700;--font-weight-medium: 500;--font-weight-regular: 400;--font-weight-semibold: 600;--fontsize-body-geist: 12;--fontsize-body-copy: 16;--fontsize-body-regular: 12;--fontsize-body-small: 10;--fontsize-display-alpha-large: 30;--fontsize-display-alpha-small: 15;--fontsize-heading-card: 18;--fontsize-heading-display: 22;--fontsize-heading-section: 20;--fontsize-label-geist: 10;--fontsize-label-mono-bold: 10;--fontsize-label-mono-regular: 14;--gray-200: rgb(187,187,187);--gray-500: rgb(124,124,124);--gray-900: rgb(29,29,29);--green-400: rgb(54,205,141);--letter-spacing-normal: 0;--letter-spacing-tight: -.02;--letter-spacing-wide: .04;--letter-spacing-wider: .08;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-snug: 1.25;--line-height-tight: 1.1;--lineheight-body-geist: 18;--lineheight-body-copy: 24;--lineheight-body-regular: 18;--lineheight-body-small: 14;--lineheight-display-alpha-large: 41;--lineheight-display-alpha-small: 21;--lineheight-heading-card: 24;--lineheight-heading-display: 28;--lineheight-heading-section: 26;--lineheight-label-geist: 14;--lineheight-label-mono-bold: 14;--lineheight-label-mono-regular: 20;--navy-900: rgb(3,14,53);--neutral-black: rgb(29,29,29);--neutral-gray-light: rgb(187,187,187);--neutral-gray-border: rgb(203, 203, 203);--neutral-gray-mid: rgb(124,124,124);--radius-2xl: 24;--radius-full: 9999;--radius-lg: 12;--radius-md: 6;--radius-none: 0;--radius-sm: 4;--radius-xl: 16;--red-400: rgb(244,63,94);--spacing-10: 40;--spacing-12: 48;--spacing-16: 64;--spacing-1: 4;--spacing-20: 80;--spacing-24: 96;--spacing-2: 8;--spacing-3: 12;--spacing-4: 16;--spacing-5: 20;--spacing-6: 24;--spacing-8: 32;--white: rgb(255,255,255);--yellow-400: rgb(240,178,44);--v3-blue: rgb(46,92,255);--v3-coral: rgb(244,63,94);--v3-green: rgb(54,205,141);--v3-amber: rgb(240,178,44);--v3-background: rgb(249,249,249);--v3-text: rgb(29,29,29);--v3-muted: rgb(124,124,124);--v3-site-accent: var(--v3-blue);--v3-studio-dark-bg: rgb(6,7,13);--color-background-studio-dark: var(--v3-studio-dark-bg);--font-body: "ST Monochromic v.01", ui-monospace, monospace;--font-display: "Alpha Lyrae", serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}:root[data-theme=dark],.dark{--color-accent-amber: var(--accent-amber);--color-accent-coral: var(--accent-coral);--color-accent-green: var(--accent-green);--color-background-default: var(--brand-navy);--color-background-surface: var(--brand-navy);--color-border-default: var(--neutral-gray-mid);--color-border-strong: var(--neutral-gray-light);--color-primary-foreground: var(--brand-white);--color-primary: var(--brand-blue);--color-text-default: var(--brand-white);--color-text-inverse: var(--neutral-black);--color-text-on-accent: var(--brand-white);--color-text-secondary: var(--neutral-gray-light)}:root[data-mode=tablet]{--fontsize-body-geist: 12;--fontsize-body-copy: 18;--fontsize-body-regular: 12;--fontsize-body-small: 10;--fontsize-display-alpha-large: 26;--fontsize-display-alpha-small: 13;--fontsize-heading-card: 16;--fontsize-heading-display: 20;--fontsize-heading-section: 18;--fontsize-label-geist: 10;--fontsize-label-mono-bold: 9;--fontsize-label-mono-regular: 13;--lineheight-body-geist: 18;--lineheight-body-copy: 26;--lineheight-body-regular: 18;--lineheight-body-small: 14;--lineheight-display-alpha-large: 36;--lineheight-display-alpha-small: 18;--lineheight-heading-card: 22;--lineheight-heading-display: 26;--lineheight-heading-section: 24;--lineheight-label-geist: 14;--lineheight-label-mono-bold: 13;--lineheight-label-mono-regular: 18}:root[data-mode=mobile]{--fontsize-body-geist: 12;--fontsize-body-copy: 16;--fontsize-body-regular: 12;--fontsize-body-small: 10;--fontsize-display-alpha-large: 24;--fontsize-display-alpha-small: 12;--fontsize-heading-card: 14;--fontsize-heading-display: 18;--fontsize-heading-section: 16;--fontsize-label-geist: 9;--fontsize-label-mono-bold: 9;--fontsize-label-mono-regular: 12;--lineheight-body-geist: 18;--lineheight-body-copy: 22;--lineheight-body-regular: 18;--lineheight-body-small: 14;--lineheight-display-alpha-large: 32;--lineheight-display-alpha-small: 16;--lineheight-heading-card: 20;--lineheight-heading-display: 24;--lineheight-heading-section: 22;--lineheight-label-geist: 13;--lineheight-label-mono-bold: 13;--lineheight-label-mono-regular: 16}:root{--v3-studio-card-dark: rgb(9, 11, 20)}@font-face{font-family:Alpha Lyrae;src:url(/fonts/AlphaLyrae-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-Thin.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-ExtraLight.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"ST Monochromic v.01";src:url(/fonts/STMonochromicv.01-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#1a1a1a;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;overflow:hidden}html:has(body[data-site-variant=v3]),body[data-site-variant=v3]{background:var(--v3-background);color:var(--v3-text);height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}body[data-site-variant=v3] .site-shell{background:var(--v3-background);color:var(--v3-text);overflow:visible}.site-robot-chase{position:fixed;top:0;left:0;width:28px;height:24px;z-index:1200;color:var(--v3-site-accent, var(--v3-blue));filter:drop-shadow(0 1px 0 rgba(29,29,29,.2));pointer-events:none;transform:translate3d(-120px,-120px,0);transform-origin:center;will-change:transform}.site-robot-chase[data-robot-index="1"]{opacity:.82}.site-robot-chase[data-robot-index="2"]{opacity:.64}.site-robot-chase__svg{display:block;width:100%;height:100%;overflow:visible}.site-robot-chase__antenna,.site-robot-chase__eye,.site-robot-chase__mouth,.site-robot-chase__legs{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.site-robot-chase__head{fill:color-mix(in srgb,var(--v3-background, #f9f9f9) 86%,transparent);stroke:currentColor;stroke-width:1.8}:root[data-site-color-scheme=coral]{--v3-site-accent: var(--v3-coral)}:root[data-site-color-scheme=green]{--v3-site-accent: var(--v3-green)}:root[data-site-color-scheme=amber]{--v3-site-accent: var(--v3-amber)}:root[data-site-color-scheme=terminal]{--v3-background: rgb(3, 10, 8);--v3-text: rgb(218, 255, 229);--v3-muted: rgb(111, 164, 134);--v3-site-accent: var(--v3-green);--v3-control-surface: rgb(4, 16, 11);--v3-control-option-surface: rgb(6, 22, 15);--v3-control-border: rgba(54, 205, 141, .34);--color-accent-green: var(--v3-green)}:root[data-site-color-scheme=prism]{--v3-background: rgb(255, 250, 253);--v3-text: rgb(28, 22, 38);--v3-muted: rgb(112, 84, 116);--v3-site-accent: var(--v3-coral);--v3-prism-gradient: linear-gradient(135deg, var(--v3-blue) 0%, var(--v3-coral) 34%, var(--v3-amber) 66%, var(--v3-green) 100%);--v3-control-surface: rgba(255, 250, 253, .96);--v3-control-option-surface: rgb(255, 255, 255);--v3-control-border: rgba(244, 63, 94, .24)}:root[data-site-color-scheme=chrome]{--v3-background: rgb(11, 6, 26);--v3-text: rgb(250, 244, 255);--v3-muted: rgb(190, 162, 214);--v3-site-accent: rgb(0, 229, 255);--v3-chrome-gradient: linear-gradient(135deg, rgb(12, 6, 32) 0%, rgb(93, 19, 118) 36%, rgb(224, 35, 190) 63%, rgb(0, 229, 255) 100%);--v3-chrome-surface: linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 63, 209, .13) 42%, rgba(0, 229, 255, .08));--v3-control-surface: rgb(21, 9, 34);--v3-control-option-surface: rgb(32, 12, 49);--v3-control-border: rgba(0, 229, 255, .34)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .design-frame--v3:after{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;background:repeating-linear-gradient(0deg,#36cd8d17 0 1px,#030a0800 1px 4px),radial-gradient(circle at 18% 18%,rgba(54,205,141,.12),transparent 38%);mix-blend-mode:screen;opacity:.58}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .site-shell,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .design-frame--v3,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-content,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .modal-about-mini,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .modal-availability,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .modal-demo-reel,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .contact-modal-form{background:var(--v3-background);color:var(--v3-text)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .design-frame--v3>.site-datamosh-field,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .design-frame--v3>.site-datamosh-field[data-datamosh-variant=home]{opacity:.32;filter:brightness(.42) sepia(1) hue-rotate(78deg) saturate(1.6)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-home:before{background:repeating-linear-gradient(0deg,rgba(54,205,141,.07) 0,rgba(54,205,141,.07) 1px,transparent 1px,transparent 5px),linear-gradient(100deg,#030a08fa,#030a08e6 42%,#030a087a 64%,#030a0814 88%)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-home__copy>.v3-credit-line,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel>.v3-credit-line,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__nav a,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__nav button{color:#daffe5ad}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel{background:#01100a;color:var(--v3-text);border-right:1px solid rgba(54,205,141,.28)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel:before{background:repeating-linear-gradient(0deg,rgba(54,205,141,.12) 0,rgba(54,205,141,.12) 1px,transparent 1px,transparent 4px),linear-gradient(115deg,rgba(54,205,141,.18),transparent 62%)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel h1,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__copy p,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__brand,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__tags li,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__nav a:hover,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-interior-panel__nav button:hover{color:var(--v3-text)}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-home-card,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .sidebar-mini--panel{background:repeating-linear-gradient(0deg,rgba(218,255,229,.12) 0 1px,transparent 1px 5px),#051911;color:var(--v3-text);box-shadow:inset 0 0 0 1px #36cd8d7a,0 0 24px #36cd8d1f}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-home-card__thumb{background-color:#051911}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-modal-about__lists,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-modal-about__practice,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-modal-about__where,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-folio-project-nav__link,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-not-found a,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .modal__expanded{border-color:#36cd8d4d}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-modal-about__lists section,:root[data-site-color-scheme=terminal] body[data-site-variant=v3] .v3-modal-about__lists section:nth-child(2){background:#05120d}:root[data-site-color-scheme=terminal] body[data-site-variant=v3] #modal-control-panel .modal__titlebar{background:var(--v3-site-accent)!important;color:#030a08!important}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .site-shell,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .design-frame--v3{background:radial-gradient(circle at 20% 18%,rgba(46,92,255,.2),transparent 32%),radial-gradient(circle at 78% 28%,rgba(244,63,94,.22),transparent 34%),radial-gradient(circle at 52% 82%,rgba(54,205,141,.18),transparent 38%),var(--v3-background)}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-home:before{background:linear-gradient(100deg,#fffafdfa,#fffafde6 28%,#fffafd61 58%,#fffafd00 82%),var(--v3-prism-gradient)}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-home-card,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-interior-panel,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .sidebar-mini--panel,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-article-body blockquote,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-article-body blockquote.bq-m,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-article-body blockquote.bq-l,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-article-body blockquote.bq-s,:root[data-site-color-scheme=prism] body[data-site-variant=v3] #modal-control-panel .modal__titlebar{background:var(--v3-prism-gradient)!important}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-home-card__thumb{background-color:var(--v3-site-accent)}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-interior-panel:before{background:linear-gradient(100deg,rgba(255,255,255,.12),transparent 58%),var(--v3-prism-gradient);opacity:.92}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-filter__tab.is-active,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-filter__tab:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-card:hover .v3-folio-card__body h2,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-project-nav__link:hover strong,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-project-nav__index:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-word-year-group h2,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-word-row:hover span:nth-child(2),:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-word-row:hover span:last-child,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-not-found a:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .modal-availability__cta:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .modal-availability__cta:focus-visible,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-modal-about__lists h3,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-modal-about__links button:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-modal-about__links a:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .contact-modal-direct:hover{background:var(--v3-prism-gradient);background-clip:text;color:transparent;-webkit-background-clip:text}:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-not-found a:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .modal-availability__cta:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .modal-availability__cta:focus-visible,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-control-option:hover,:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-control-option[aria-pressed=true],:root[data-site-color-scheme=prism] body[data-site-variant=v3] .v3-folio-project-nav__link:hover{-o-border-image:var(--v3-prism-gradient) 1;border-image:var(--v3-prism-gradient) 1}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .site-shell,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .design-frame--v3,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-shell{background:radial-gradient(circle at 22% 18%,rgba(255,63,209,.22),transparent 35%),radial-gradient(circle at 82% 24%,rgba(0,229,255,.2),transparent 32%),var(--v3-chrome-gradient)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home:before{background:linear-gradient(100deg,#0b061afa,#0b061ae0 32%,#3c0d509e 58%,#00e5ff42),radial-gradient(circle at 80% 28%,rgba(0,229,255,.28),transparent 36%)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .design-frame--v3>.site-datamosh-field,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .design-frame--v3>.site-datamosh-field[data-datamosh-variant=home]{opacity:.44;filter:brightness(.58) saturate(1.35) hue-rotate(176deg)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-content,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .modal-about-mini,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .modal-availability,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .modal-demo-reel,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .contact-modal-form{background:linear-gradient(145deg,#ffffff14,#ff3fd10f 38%,#00e5ff0a),#0f0820;color:var(--v3-text)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home-card,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .sidebar-mini--panel,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .modal__expanded,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-folio-project-nav__link,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-modal-about__practice,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-modal-about__where,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-modal-about__lists section,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-control-option{background:var(--v3-chrome-surface);border-color:#00e5ff61;box-shadow:inset 0 1px #ffffff47,inset 0 -20px 50px #00e5ff0f,0 0 24px #ff3fd124}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home-card:after,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-folio-project-nav__link:after,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-control-option:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.06) 22%,transparent 46%);mix-blend-mode:screen}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-folio-project-nav__link{position:relative;overflow:hidden}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home-card__thumb{background-color:#150922}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel:before{background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 42%),linear-gradient(135deg,#ff3fd1b3,#00e5ff61)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel h1,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel__copy p,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel__brand,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel__tags li,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home-card,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home-card:hover{color:var(--v3-text)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-home__copy>.v3-credit-line,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel>.v3-credit-line,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel__nav a,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-interior-panel__nav button{color:#faf4ffb8}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-modal-about__lists,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-folio-filter,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-word-row,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-words-post__header,:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-folio-project-nav{border-color:#00e5ff33}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] .v3-modal-about__lists section:nth-child(2){background:linear-gradient(145deg,#00e5ff24,#ff3fd11a)}:root[data-site-color-scheme=chrome] body[data-site-variant=v3] #modal-control-panel .modal__titlebar{background:var(--v3-chrome-gradient)!important;color:var(--v3-text)!important}html.v3-interior-document,html.v3-interior-document body.v3-interior-page{height:100%;overflow:hidden}body.v3-interior-page .site-shell,body.v3-interior-page .design-frame--v3{height:100dvh;min-height:0;overflow:hidden}a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease,text-decoration-color .2s ease}a:hover{color:var(--color-accent-green, #36cd8d);text-decoration-color:var(--color-accent-green, #36cd8d)}.home-copy a,.modal__body a,.about-content a,.words-content a{text-decoration-color:#00000040}.home-copy a:hover,.modal__body a:hover,.about-content a:hover,.words-content a:hover{text-decoration-color:var(--color-accent-green, #36cd8d)}nav a,.nav-link,.sidebar-link,.mobile-nav-overlay a{text-decoration:none!important}img{display:block;max-width:100%}.site-shell{width:100%;min-height:100vh;overflow-x:hidden;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;background:#1a1a1a;font-family:"ST Monochromic v.01",ui-monospace,monospace}.design-frame{width:100%;min-height:100vh;position:relative;overflow:visible}.design-frame--paper .design-frame__backdrop,.design-frame--paper .design-frame__grid{position:absolute;inset:0;pointer-events:none}.design-frame__backdrop{z-index:0;background:var(--color-milk)}.design-frame__grid{z-index:2;background-image:radial-gradient(circle,rgba(5,14,37,.28) 1.2px,transparent 1.2px);background-size:28px 28px;opacity:.32}.design-frame>.notepad-page{position:relative;z-index:3}.design-frame--v3{position:relative;min-height:100vh;background:var(--v3-background);color:var(--v3-text);overflow:visible}[data-site-variant=v3] .design-frame--v3>.site-datamosh-field{z-index:0;background:var(--v3-background);opacity:.82}[data-site-variant=v3] .design-frame--v3>.site-datamosh-field[data-datamosh-variant=home]{opacity:.88}.v3-home{position:relative;min-height:100vh;overflow:hidden;background:transparent}.v3-home:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,var(--v3-background) 0%,color-mix(in srgb,var(--v3-background) 94%,transparent) 32%,color-mix(in srgb,var(--v3-background) 45%,transparent) 54%,transparent 72%);pointer-events:none}.v3-home__inner{position:relative;z-index:2;min-height:100vh;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:clamp(48px,7vw,120px);width:min(100%,1440px);margin:0 auto;padding:clamp(40px,6vw,88px) clamp(24px,5vw,72px)}.v3-home__copy{align-self:stretch;display:flex;flex-direction:column;max-width:560px}.v3-home__copy:before{content:"";margin-top:auto}.v3-interior-panel__brand{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-bottom:clamp(28px,5vw,72px);color:inherit;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;font-weight:600;text-decoration:none}.v3-home h1,.v3-interior-panel h1{margin:0;color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(32px,3.9vw,40px);font-weight:500;font-synthesis:none;line-height:1.16;letter-spacing:0}.v3-home__copy p,.v3-interior-panel__copy p{margin:20px 0 0;color:var(--v3-text);font-size:clamp(15px,1.5vw,18px);line-height:1.55}.v3-interior-panel__copy a{color:inherit;text-decoration-color:#f9f9f994;text-decoration-thickness:1px;text-underline-offset:.16em;transition:text-decoration-color .18s cubic-bezier(.2,.6,.2,1)}.v3-interior-panel__copy a:hover{text-decoration-color:var(--v3-background)}.v3-home__nav,.v3-interior-panel__nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}.v3-home__nav a,.v3-home__nav button,.v3-interior-panel__nav a,.v3-interior-panel__nav button{border:0;padding:0;background:transparent;color:inherit;font:700 12px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer}.v3-home__nav a,.v3-home__nav button{color:color-mix(in srgb,var(--v3-text) 74%,transparent)}.v3-credit-line{display:block}.v3-home__copy>.v3-credit-line{max-width:40ch;margin-top:auto;padding-top:18px;color:color-mix(in srgb,var(--v3-text) 52%,transparent);font:700 10px/1.45 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.08em}.v3-home__nav a,.v3-home__nav button,.v3-interior-panel__nav a,.v3-interior-panel__nav button{display:inline-flex;align-items:baseline;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;transform:translate(0);transition:color .18s cubic-bezier(.2,.6,.2,1),transform .18s cubic-bezier(.2,.6,.2,1)}.v3-home__nav a:before,.v3-home__nav button:before,.v3-interior-panel__nav a:before,.v3-interior-panel__nav button:before{content:"→ "}.v3-interior-panel__nav a.v3-interior-panel__nav-icon:before{content:none}.v3-interior-panel__nav-icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;line-height:1}.v3-interior-panel__nav-icon svg{display:block;width:18px;height:18px}.v3-site-control-link{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(249,249,249,.26);border-radius:999px;padding:0;background:transparent;color:#f9f9f9c7;cursor:pointer;text-decoration:none;transition:border-color .18s cubic-bezier(.2,.6,.2,1),color .18s cubic-bezier(.2,.6,.2,1),transform .18s cubic-bezier(.2,.6,.2,1)}.v3-interior-panel__control-link{position:absolute;right:clamp(38px,4.6vw,70px);bottom:clamp(96px,12vh,140px);z-index:3}.v3-home__control-link{position:absolute;top:clamp(24px,4vw,44px);right:clamp(22px,4.5vw,58px);z-index:4;color:#1d1d1db8;border-color:#1d1d1d38;background:#f9f9f961;backdrop-filter:blur(2px)}.v3-site-control-link svg{display:block;width:18px;height:18px;transform-origin:center;animation:v3-panel-control-idle 5.8s cubic-bezier(.2,.6,.2,1) infinite}.v3-site-control-link:hover{border-color:#f9f9f975;color:var(--v3-background);transform:translateY(-1px)}.v3-home__control-link:hover{border-color:color-mix(in srgb,var(--v3-site-accent) 54%,rgba(29,29,29,.22));color:var(--v3-site-accent)}@keyframes v3-panel-control-idle{0%,to{opacity:.78;transform:rotate(0) scale(1)}46%{opacity:1;transform:rotate(5deg) scale(1.04)}54%{opacity:.92;transform:rotate(-3deg) scale(1.02)}}@media (prefers-reduced-motion: reduce){.v3-site-control-link svg{animation:none}}.v3-home__nav a:hover,.v3-home__nav button:hover,.v3-interior-panel__nav a:hover,.v3-interior-panel__nav button:hover{color:var(--v3-text)}.v3-home__nav a:hover,.v3-home__nav button:hover{transform:translate(4px)}.v3-home__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);justify-self:end;width:min(100%,580px)}.v3-home-card{position:relative;display:block;min-width:0;aspect-ratio:1 / .78;padding:0;overflow:hidden;border:0;border-radius:0;background:var(--v3-site-accent);color:var(--v3-background);isolation:isolate;text-align:left;text-decoration:none;transition:transform .22s cubic-bezier(.2,.6,.2,1);cursor:pointer}.v3-home-card:before{content:"";position:absolute;z-index:2;inset:0;border:1px solid rgba(249,249,249,.22);pointer-events:none}.v3-home-card:hover{color:var(--v3-background);transform:translateY(-2px)}.v3-home-card__thumb{position:absolute;inset:0;z-index:0;overflow:hidden;background-color:var(--v3-site-accent);background-image:var(--card-thumb-bg, none);background-position:center;background-size:cover}.v3-interior-shell{height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(320px,38vw) minmax(0,1fr);background:var(--v3-background);overflow:hidden}.v3-interior-panel{position:relative;height:100dvh;min-height:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,4.2vw,60px);background:var(--v3-site-accent);color:var(--v3-background);isolation:isolate;overflow:hidden}.v3-interior-panel:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,color-mix(in srgb,var(--v3-site-accent) 64%,transparent),color-mix(in srgb,var(--v3-site-accent) 46%,transparent) 36%,color-mix(in srgb,var(--v3-site-accent) 22%,transparent) 66%,color-mix(in srgb,var(--v3-site-accent) 8%,transparent) 90%);pointer-events:none}.v3-interior-panel>:not(.site-datamosh-field){position:relative;z-index:2}.v3-interior-panel>.v3-interior-panel__control-link{position:absolute;z-index:3}.v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field{z-index:1;background:var(--v3-site-accent);opacity:.52;mix-blend-mode:multiply}.v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field[data-datamosh-variant=interior]{opacity:.68;mix-blend-mode:normal}.v3-interior-panel h1,.v3-interior-panel__copy p,.v3-interior-panel__brand{color:var(--v3-background)}.v3-interior-panel__copy{margin:auto 0}.v3-interior-panel__tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none}.v3-interior-panel__tags li{padding:5px 8px;border:1px solid rgba(249,249,249,.28);color:var(--v3-background);font:500 11px/1 var(--font-mono, "IBM Plex Mono", monospace)}.v3-interior-panel__nav{flex-direction:column;align-items:flex-start}.v3-interior-panel__menu-toggle{display:none;position:relative;z-index:5;width:36px;height:36px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(249,249,249,.52);background:color-mix(in srgb,var(--v3-site-accent) 22%,transparent);color:var(--v3-background);font:500 24px/1 var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);cursor:pointer}.v3-interior-panel__nav a,.v3-interior-panel__nav button{color:#f9f9f9bd}.v3-interior-panel>.v3-credit-line{max-width:42ch;margin-top:18px;color:#f9f9f9b8;font:500 10px/1.45 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.08em}.v3-interior-panel__nav a:hover,.v3-interior-panel__nav button:hover{color:var(--v3-background)}.v3-interior-panel__nav a:not(.v3-interior-panel__nav-icon):hover,.v3-interior-panel__nav button:hover{transform:translate(4px)}.v3-interior-content{--v3-background: rgb(249, 249, 249);--v3-text: rgb(29, 29, 29);--v3-muted: rgb(124, 124, 124);min-width:0;height:100dvh;min-height:0;padding:clamp(32px,5vw,72px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;color:var(--v3-text)}.v3-folio-pane{padding-top:clamp(36px,5vw,64px)}.v3-folio-index{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}.v3-folio-filter{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:18px;border-bottom:1px solid rgba(29,29,29,.14)}.v3-folio-filter__tab{border:0;padding:0;background:transparent;color:var(--v3-muted);font:500 12px/1 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase;cursor:pointer}.v3-folio-filter__tab.is-active,.v3-folio-filter__tab:hover{color:var(--v3-site-accent)}.v3-folio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,34px)}.v3-folio-card{display:flex;min-width:0;flex-direction:column;gap:14px;color:var(--v3-text);text-decoration:none}.v3-folio-card[hidden]{display:none}.v3-folio-card__thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background-color:#f2f2f2;background-image:var(--thumb);background-position:center;background-size:cover}.v3-folio-card__thumb:after{content:"";position:absolute;inset:0;border:1px solid rgba(29,29,29,.12);pointer-events:none}.v3-folio-card__thumb--empty{display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(29,29,29,.09) 0 1px,transparent 1px 10px),#f2f2f2}.v3-folio-card__thumb--empty span{color:var(--v3-muted);font:500 11px/1 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-folio-card__body{display:grid;gap:8px}.v3-folio-card__body p,.v3-folio-card__body span{margin:0;color:var(--v3-muted);font:500 11px/1.25 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-folio-card__body h2{margin:0;color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:17px;font-weight:500;font-synthesis:none;line-height:24px;letter-spacing:0}.v3-folio-card:hover .v3-folio-card__body h2{color:var(--v3-site-accent)}.v3-folio-detail-pane{padding-top:clamp(0px,.6vw,8px)}.v3-folio-detail{display:flex;width:min(100%,940px);flex-direction:column;gap:clamp(36px,5vw,64px)}.v3-folio-detail__dither{position:relative;height:clamp(18px,2.2vw,32px);max-width:920px;margin-bottom:calc(clamp(36px,5vw,64px)*-.95);overflow:hidden;opacity:.36;-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.56) 42%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.56) 42%,transparent 100%)}.v3-folio-detail__dither-field.site-datamosh-field{background:#fff}.v3-folio-article-body{max-width:920px;gap:28px;color:var(--v3-text);font-size:15px;line-height:28px}.v3-folio-article-body h1,.v3-folio-article-body h2,.v3-folio-article-body h3{color:var(--v3-text)}.v3-folio-article-body h1,.v3-folio-article-body h2{font-family:var(--font-display, "Alpha Lyrae", serif);font-weight:500;letter-spacing:0;text-transform:none}.v3-folio-article-body h1{font-size:clamp(32px,4vw,50px)}.v3-folio-article-body h2{font-size:clamp(28px,3.5vw,42px);line-height:1.08}.v3-folio-article-body h3{font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);font-size:clamp(18px,2vw,24px);line-height:1.25}.v3-folio-article-body a{text-decoration-color:var(--v3-site-accent)}.v3-folio-article-body a:hover{color:var(--v3-site-accent);text-decoration-color:var(--v3-site-accent)}.v3-folio-article-body hr{border-top-color:#1d1d1d29}.v3-folio-article-body img,.v3-folio-article-body video,.v3-folio-article-body iframe,.v3-folio-article-body .folio-embed-video{border-radius:0}.v3-folio-article-body img{border:1px solid rgba(29,29,29,.08)}.v3-folio-article-body blockquote,.v3-folio-article-body blockquote.bq-m,.v3-folio-article-body blockquote.bq-l,.v3-folio-article-body blockquote.bq-s{background:var(--v3-site-accent);color:var(--v3-background)}.v3-folio-article-body pre{background:var(--v3-text);color:var(--v3-background)}.v3-folio-article-body .pullquote{color:var(--v3-text)}.v3-folio-project-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:16px;padding-top:28px;border-top:1px solid rgba(29,29,29,.14)}.v3-folio-project-nav__link,.v3-folio-project-nav__index{color:var(--v3-text);text-decoration:none}.v3-folio-project-nav__link{display:grid;gap:8px;min-height:88px;padding:14px;border:1px solid rgba(29,29,29,.16)}.v3-folio-project-nav__link--next{text-align:right}.v3-folio-project-nav__link span,.v3-folio-project-nav__index{color:var(--v3-muted);font:500 11px/1 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-folio-project-nav__link strong{color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.05}.v3-folio-project-nav__link:hover strong,.v3-folio-project-nav__index:hover{color:var(--v3-site-accent)}.v3-folio-project-nav__index{align-self:center;white-space:nowrap}.v3-folio-project-nav__placeholder{min-height:88px}.v3-words-pane,.v3-words-post-pane{padding-top:clamp(38px,5vw,72px)}.v3-words-index{display:flex;width:min(100%,760px);flex-direction:column;gap:0}.v3-word-year-group{display:block;padding-top:0}.v3-word-year-group h2{margin:0;padding:30px 0 10px;border-bottom:1px solid rgba(29,29,29,.12);color:var(--v3-site-accent);font:700 10px/1 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.1em;text-transform:uppercase}.v3-word-year-group__entries{display:flex;min-width:0;flex-direction:column;border-top:0}.v3-word-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:baseline;gap:22px;min-height:0;padding:18px 0;border-bottom:1px solid rgba(29,29,29,.08);color:var(--v3-text);text-decoration:none}.v3-word-row time,.v3-word-row span:last-child{color:var(--v3-muted);font:500 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-word-row span:nth-child(2){display:block;min-width:0;color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:19px;font-weight:500;font-synthesis:none;line-height:27px;letter-spacing:0;transform:translate(0);transition:color .18s cubic-bezier(.2,.6,.2,1),transform .18s cubic-bezier(.2,.6,.2,1)}.v3-word-row:hover span:nth-child(2),.v3-word-row:hover span:last-child{color:var(--v3-site-accent)}.v3-word-row:hover span:nth-child(2){transform:translate(4px)}.v3-words-post{display:flex;width:min(100%,680px);flex-direction:column;gap:30px}.v3-words-post__header{display:flex;max-width:820px;flex-direction:column;gap:12px;padding-bottom:30px;border-bottom:1px solid rgba(29,29,29,.14)}.v3-words-post__header time{color:var(--v3-muted);font:500 12px/1.2 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-words-post__header h1{margin:0;color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(34px,4vw,38px);font-weight:500;font-synthesis:none;line-height:48px;letter-spacing:0}.v3-words-post__header p{max-width:680px;margin:0;color:var(--v3-muted);font-size:clamp(15px,1.45vw,18px);line-height:1.55}.v3-words-article-body{max-width:680px;gap:26px;font-size:16px;line-height:30px}.v3-words-article-body h1,.v3-words-article-body h2,.v3-words-article-body h3{max-width:720px}.v3-words-article-body h2{margin-top:clamp(10px,2vw,22px)}.v3-words-article-body p,.v3-words-article-body ul,.v3-words-article-body ol,.v3-words-article-body table{max-width:720px}.v3-words-article-body ul,.v3-words-article-body ol{margin:0;padding-left:1.25em}.v3-words-article-body li+li{margin-top:.45em}.v3-words-article-body figure,.v3-words-article-body .folio-layout-full,.v3-words-article-body .folio-layout-two-col,.v3-words-article-body .folio-layout-text-image,.v3-words-article-body .folio-embed-video,.v3-words-article-body table{width:min(100%,880px);max-width:880px}.v3-words-article-body blockquote,.v3-words-article-body blockquote.bq-m,.v3-words-article-body blockquote.bq-l,.v3-words-article-body blockquote.bq-s{max-width:760px;border-radius:0}.v3-words-post-nav{width:min(100%,880px)}.v3-404-pane{display:flex;align-items:flex-start;justify-content:flex-start}.v3-not-found{display:flex;max-width:560px;flex-direction:column;gap:22px;padding-top:30px}.v3-not-found__path{margin:0;color:var(--v3-muted);font:400 12px/1.4 var(--font-mono, "IBM Plex Mono", monospace)}.v3-not-found__path span{color:var(--v3-text)}.v3-not-found__path i{display:inline-block;width:8px;height:15px;margin-left:2px;vertical-align:-3px;background:var(--v3-green);animation:v3-cursor-blink 1s steps(1) infinite}.v3-not-found h1{margin:0;color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:60px;font-weight:500;line-height:62px}.v3-not-found p{margin:0;color:var(--v3-muted);font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:16px;line-height:28px}.v3-not-found a{align-self:flex-start;border:1px solid rgba(29,29,29,.2);background:none;padding:12px 18px;color:var(--v3-text);font:700 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.v3-not-found a:before{content:"→ "}.v3-not-found a:hover{border-color:var(--v3-site-accent);color:var(--v3-site-accent)}@keyframes v3-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.v3-studio{--studio-accent: var(--v3-blue);--studio-card-fill: rgba(12, 14, 22, .88);--studio-card-border: rgba(249, 249, 249, .18);position:relative;min-height:100vh;overflow:hidden;background:var(--v3-studio-dark-bg);color:var(--v3-background)}.v3-studio[data-accent=coral]{--studio-accent: var(--v3-coral)}.v3-studio[data-accent=green]{--studio-accent: var(--v3-green)}.v3-studio[data-accent=amber]{--studio-accent: var(--v3-amber)}.v3-studio[data-fill=clear]{--studio-card-fill: rgba(6, 7, 13, .28);--studio-card-border: rgba(249, 249, 249, .28)}.v3-studio__texture{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(130% 100% at 18% 8%,#06070df5,#06070dd1 55%,#06070d6b);opacity:1}.v3-studio__datamosh{z-index:0;background:var(--v3-studio-dark-bg);opacity:.8;mix-blend-mode:normal}.v3-studio[data-texture=scan] .v3-studio__datamosh{opacity:.16;filter:contrast(.82)}.v3-studio[data-texture=scan] .v3-studio__texture{background:radial-gradient(130% 100% at 18% 8%,#06070dd1,#06070d80 55%,#06070d26),repeating-linear-gradient(0deg,rgba(249,249,249,.1) 0 1px,transparent 1px 8px)}.v3-studio__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:clamp(40px,5vw,60px);min-height:100vh;padding:clamp(32px,5vw,60px)}.v3-studio__intro{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:40px}.v3-studio__brand,.v3-interior-panel__brand,.v3-studio__home{width:-moz-fit-content;width:fit-content;color:#f9f9f980;font:700 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:0;text-decoration:none;text-transform:uppercase}.v3-studio__brand,.v3-interior-panel__brand{display:inline-block;min-height:3.6em;max-width:min(100%,64ch);color:var(--v3-background);text-transform:none}.v3-studio__brand i,.v3-interior-panel__brand i{display:inline-block;width:8px;height:15px;margin-left:2px;vertical-align:-3px;background:var(--v3-green);animation:v3-cursor-blink 1s steps(1) infinite}.v3-studio__brand:hover,.v3-studio__home:hover{color:var(--v3-background)}.v3-studio__copy{display:flex;flex-direction:column;gap:20px}.v3-studio__copy h1{max-width:9ch;margin:0;color:var(--v3-background);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:38px;font-weight:500;font-synthesis:none;line-height:44px;letter-spacing:0}.v3-studio__copy p{max-width:40ch;margin:0;color:#f9f9f999;font-size:13px;line-height:1.85}.v3-studio__actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.v3-studio__intro>.v3-credit-line{max-width:40ch;color:#f9f9f999;font:500 10px/1.45 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:0}.v3-studio__grid{display:grid;grid-template-columns:repeat(var(--studio-columns, 3),minmax(0,1fr));gap:20px;align-content:start}.v3-studio[data-columns="2"] .v3-studio__grid{--studio-columns: 2}.v3-studio[data-columns="3"] .v3-studio__grid{--studio-columns: 3}.v3-studio[data-columns="4"] .v3-studio__grid{--studio-columns: 4}.v3-studio-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--studio-card-border);background:var(--studio-card-fill);color:var(--v3-background);text-align:left;text-decoration:none;transition:border-color .22s cubic-bezier(.2,.6,.2,1),transform .22s cubic-bezier(.2,.6,.2,1)}.v3-studio-card:hover{border-color:var(--studio-accent);color:var(--v3-background);transform:translateY(-2px)}.v3-studio-card__thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background-color:var(--v3-studio-card-dark);background-image:var(--card-thumb-bg, none);background-position:center,center,center;background-size:cover,auto,auto}.v3-studio-card__thumb:after{content:"";position:absolute;inset:0;border-bottom:1px solid var(--studio-card-border);pointer-events:none}.v3-studio-card__body{display:flex;flex-direction:column;gap:8px;padding:16px}.v3-studio-card__body h2,.v3-studio-card__body h3{margin:0;color:var(--v3-background);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:15px;font-weight:500;font-synthesis:none;line-height:21px;letter-spacing:0}.v3-studio-card__body p{margin:0;color:#f9f9f9a8;font:500 10px/1.3 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:0;text-transform:uppercase}:root[data-site-surface=dark]{--v3-muted: color-mix(in srgb, var(--v3-text) 58%, transparent)}:root[data-site-surface=dark] body[data-site-variant=v3] .modal-about-mini,:root[data-site-surface=dark] body[data-site-variant=v3] .modal-availability,:root[data-site-surface=dark] body[data-site-variant=v3] .modal-demo-reel,:root[data-site-surface=dark] body[data-site-variant=v3] .contact-modal-form{background:var(--v3-background);color:var(--v3-text)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel{background:var(--v3-background);color:var(--v3-text);border-right-color:color-mix(in srgb,var(--v3-text) 14%,transparent)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel:before{background:linear-gradient(100deg,color-mix(in srgb,var(--v3-site-accent) 18%,transparent) 0%,color-mix(in srgb,var(--v3-site-accent) 9%,transparent) 38%,transparent 74%)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field[data-datamosh-variant=interior]{background:var(--v3-background);opacity:.78;mix-blend-mode:normal}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel h1,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__copy p,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__copy a:hover,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__brand,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__tags li,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__nav a,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__nav button,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel>.v3-credit-line,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio__brand,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio__home,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio__copy h1,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio__copy p,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio__intro>.v3-credit-line,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-card,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-card:hover,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-card__body h2,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-card__body h3,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__back,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__home,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__back:hover,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__home:hover,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__panel h1,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__header h1,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body h1,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body h2,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body h3,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body a,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body .pullquote,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body blockquote,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body blockquote.bq-m,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body blockquote.bq-l,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body blockquote.bq-s,:root[data-site-surface=dark] body[data-site-variant=v3] .modal-availability__note,:root[data-site-surface=dark] body[data-site-variant=v3] .contact-modal-field input,:root[data-site-surface=dark] body[data-site-variant=v3] .contact-modal-field textarea,:root[data-site-surface=dark] body[data-site-variant=v3] #modal-control-panel .modal__titlebar{color:var(--v3-text)}:root[data-site-surface=dark] body[data-site-variant=v3] #modal-control-panel .modal__titlebar{color:var(--v3-text)!important}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-home:before{background:linear-gradient(100deg,var(--v3-background) 0%,color-mix(in srgb,var(--v3-background) 94%,transparent) 32%,color-mix(in srgb,var(--v3-background) 45%,transparent) 54%,transparent 72%)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-home__control-link{border-color:color-mix(in srgb,var(--v3-text) 22%,transparent);background:color-mix(in srgb,var(--v3-background) 38%,transparent);color:color-mix(in srgb,var(--v3-text) 72%,transparent)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-site-control-link:hover,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-home__control-link:hover{border-color:color-mix(in srgb,var(--v3-site-accent) 54%,var(--v3-text));color:var(--v3-text)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__copy a,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-interior-panel__copy a:hover{text-decoration-color:color-mix(in srgb,var(--v3-text) 58%,transparent)}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-modal-about__lists section:nth-child(2),:root[data-site-surface=dark] body[data-site-variant=v3] .contact-modal-field input,:root[data-site-surface=dark] body[data-site-variant=v3] .contact-modal-field textarea{background:color-mix(in srgb,var(--v3-text) 8%,var(--v3-background))}:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-card__body p,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__panel p,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__header p,:root[data-site-surface=dark] body[data-site-variant=v3] .v3-studio-entry__body{color:color-mix(in srgb,var(--v3-text) 72%,transparent)}.v3-studio-entry{min-height:100vh;display:grid;grid-template-columns:minmax(300px,34vw) minmax(0,1fr);background:var(--v3-studio-dark-bg);color:var(--v3-background)}.v3-studio-entry__panel{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(32px,5vw,60px);border-right:1px solid rgba(249,249,249,.12);background:#0c0e16}.v3-studio-entry__back,.v3-studio-entry__home{width:-moz-fit-content;width:fit-content;color:#f9f9f994;font:700 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:0;text-decoration:none;text-transform:uppercase}.v3-studio-entry__back:hover,.v3-studio-entry__home:hover{color:var(--v3-background)}.v3-studio-entry__panel div{display:flex;flex-direction:column;gap:18px}.v3-studio-entry__panel p{margin:0;color:#f9f9f99e;font-size:13px;line-height:1.65}.v3-studio-entry__panel p:first-child{color:var(--v3-green);font:600 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-studio-entry__panel h1{margin:0;color:var(--v3-background);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(34px,4vw,54px);font-weight:500;line-height:1.03;letter-spacing:0}.v3-studio-entry__content{min-width:0;min-height:100vh;padding:clamp(32px,5vw,72px);overflow:auto}.v3-studio-entry__article{display:flex;width:min(100%,900px);flex-direction:column;gap:clamp(36px,5vw,64px)}.v3-studio-entry__header{display:flex;flex-direction:column;gap:16px;padding-bottom:28px;border-bottom:1px solid rgba(249,249,249,.14)}.v3-studio-entry__header time{color:var(--v3-green);font:600 12px/1.2 var(--font-mono, "IBM Plex Mono", monospace);text-transform:uppercase}.v3-studio-entry__header h1{margin:0;color:var(--v3-background);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(40px,6vw,76px);font-weight:500;line-height:1;letter-spacing:0}.v3-studio-entry__header p{max-width:720px;margin:0;color:#f9f9f99e;font-size:clamp(15px,1.35vw,18px);line-height:1.65}.v3-studio-entry__body{max-width:820px;color:#f9f9f9d1}.v3-studio-entry__body h1,.v3-studio-entry__body h2,.v3-studio-entry__body h3,.v3-studio-entry__body a,.v3-studio-entry__body .pullquote{color:var(--v3-background)}.v3-studio-entry__body a{text-decoration-color:var(--v3-green)}.v3-studio-entry__body img{border-color:#f9f9f929}.v3-studio-entry__body blockquote,.v3-studio-entry__body blockquote.bq-m,.v3-studio-entry__body blockquote.bq-l,.v3-studio-entry__body blockquote.bq-s{background:#f9f9f914;color:var(--v3-background)}@media (max-width: 1179px){.design-frame--v3{overflow:auto}body.v3-interior-page .design-frame--v3{overflow:hidden}.v3-home__inner{grid-template-columns:minmax(0,1fr);align-items:start;gap:42px}.v3-home__cards{justify-self:start;width:min(100%,680px)}.v3-interior-shell{grid-template-columns:minmax(0,1fr)}body.v3-interior-page .v3-interior-shell{height:100dvh;grid-template-rows:minmax(320px,42dvh) minmax(0,1fr);overflow:hidden}.v3-interior-panel{position:relative;height:auto;min-height:430px}body.v3-interior-page .v3-interior-panel{min-height:0;z-index:3;overflow:visible}body.v3-interior-page .v3-interior-content{height:auto;min-height:0;position:relative;z-index:1;overflow-y:auto}.v3-folio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-word-year-group h2{position:static}.v3-studio__inner,.v3-studio-entry{grid-template-columns:minmax(0,1fr)}.v3-studio{overflow:auto}.v3-studio__intro,.v3-studio-entry__panel{position:relative;height:auto;min-height:0}.v3-studio__intro{min-height:360px}.v3-studio-entry__panel{border-right:0;border-bottom:1px solid rgba(249,249,249,.12)}.v3-studio[data-columns="4"] .v3-studio__grid{--studio-columns: 3}}@media (max-width: 640px){.v3-home__control-link,.v3-interior-panel>.v3-interior-panel__control-link,.v3-interior-panel__control-link,.v3-studio__control-link{position:fixed;top:calc(env(safe-area-inset-top,0px) + clamp(24px,4vw,44px));right:calc(env(safe-area-inset-right,0px) + clamp(22px,4.5vw,58px));bottom:auto;z-index:120;width:34px;height:34px}.v3-mobile-control-panel{display:block;position:fixed;z-index:110;top:calc(env(safe-area-inset-top,0px) + 72px);right:calc(env(safe-area-inset-right,0px) + 14px);left:calc(env(safe-area-inset-left,0px) + 14px);pointer-events:none}.v3-mobile-control-panel__panel{pointer-events:auto}.mobile-panel-control{overflow:hidden;border:1px solid var(--v3-control-border, rgba(29, 29, 29, .13));border-radius:5px;background:var(--v3-control-surface, rgba(247, 247, 245, .92));box-shadow:0 18px 38px #030e353d;color:var(--v3-text)}.mobile-panel-control__titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--v3-site-accent);color:var(--v3-background);font:500 11px/1.2 var(--font-mono, "IBM Plex Mono", monospace)}.mobile-panel-control .mobile-panel__close{position:static;flex:0 0 auto}.mobile-panel-control .v3-control-panel{width:100%;max-height:calc(100dvh - 122px);border:0;background:transparent;backdrop-filter:none}body[data-site-variant=v3] .mobile-panel-about,body[data-site-variant=v3] .mobile-panel-contact,body[data-site-variant=v3] .mobile-panel-reel{border-radius:0;font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace)}body[data-site-variant=v3] .mobile-panel-about{background:var(--v3-site-accent);color:var(--v3-background);border:0}body[data-site-variant=v3] .mobile-panel-contact{background:var(--v3-background);color:var(--v3-text);border-color:#1d1d1d2e}body[data-site-variant=v3] .mobile-panel-reel{background:var(--v3-text);color:var(--v3-background);border:1px solid rgba(249,249,249,.16)}body[data-site-variant=v3] .mobile-panel__heading,body[data-site-variant=v3] .mobile-panel__status,body[data-site-variant=v3] .mobile-panel__label{font-family:var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:0}body[data-site-variant=v3] .mobile-panel__heading{font-size:15px;line-height:1.35;color:inherit}body[data-site-variant=v3] .mobile-panel__body{font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);font-size:15px;line-height:1.55;color:inherit}body[data-site-variant=v3] .mobile-panel__close{border-radius:0;font-family:var(--font-mono, "IBM Plex Mono", monospace)}.v3-mobile-reel-sheet{position:fixed;inset:0;z-index:210;display:block;pointer-events:none}.v3-mobile-reel-sheet[hidden]{display:none}.v3-mobile-reel-sheet__backdrop{position:absolute;inset:0;border:0;padding:0;background:#00000075;opacity:0;transition:opacity .22s cubic-bezier(.2,.6,.2,1)}.v3-mobile-reel-sheet__panel{position:absolute;right:0;bottom:0;left:0;max-height:calc(100dvh - 56px);padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));transform:translateY(102%);transition:transform .22s cubic-bezier(.2,.6,.2,1)}.v3-mobile-reel-sheet[data-state=open]{pointer-events:auto}.v3-mobile-reel-sheet[data-state=open] .v3-mobile-reel-sheet__backdrop{opacity:1}.v3-mobile-reel-sheet[data-state=open] .v3-mobile-reel-sheet__panel{transform:translateY(0)}.v3-mobile-reel-sheet .mobile-panel-reel{margin:0;padding:16px;box-shadow:0 -18px 42px #00000038}.v3-home__inner{padding:28px 20px 36px}.v3-home-inline-panels{width:100%;margin-top:18px}.v3-home-inline-panel{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .24s cubic-bezier(.2,.6,.2,1)}.v3-home-inline-panel[data-state=open]{grid-template-rows:1fr}.v3-home-inline-panel__inner{min-height:0;overflow:hidden}.v3-home-inline-panel .mobile-panel-about,.v3-home-inline-panel .mobile-panel-contact{margin:0}.v3-home-inline-panel .mobile-panel-contact .contact-modal-form{width:100%;padding:16px 0 0}.v3-home-inline-panel+.v3-home-inline-panel{margin-top:8px}.v3-home__copy>.v3-credit-line{margin-top:18px}body.v3-interior-page .design-frame--v3{overflow:hidden}.v3-interior-panel__brand{margin-bottom:44px}[data-studio-brand-cycle]{max-width:calc(100vw - 112px - env(safe-area-inset-right,0px));overflow:visible;white-space:normal}[data-studio-brand-cycle] [data-studio-brand-text]{display:inline;overflow-wrap:normal}.v3-home__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v3-home-card{aspect-ratio:1 / 1}.v3-interior-panel,.v3-interior-content{padding:28px 20px}body.v3-interior-page .v3-interior-shell{--v3-interior-mobile-header-expanded-height: min(560px, calc(100dvh - 96px) );--v3-interior-mobile-header-collapsed-height: 92px;--v3-mobile-header-progress: 0;--v3-interior-mobile-header-height: calc(var(--v3-interior-mobile-header-expanded-height) - (var(--v3-mobile-header-progress) * (var(--v3-interior-mobile-header-expanded-height) - var(--v3-interior-mobile-header-collapsed-height))));height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane){--v3-folio-mobile-header-measured-expanded-height: 620px;--v3-folio-intro-expanded-height: 8.5rem;--v3-folio-tags-expanded-height: 7rem;--v3-interior-mobile-header-expanded-height: min(var(--v3-folio-mobile-header-measured-expanded-height), calc(100dvh - 8px) );--v3-interior-mobile-header-collapsed-height: 116px;--v3-folio-collapse-progress: 0;--v3-folio-content-pin-offset: 0px;--v3-folio-content-pin-offset-max: 0px;--v3-mobile-header-progress: var(--v3-folio-collapse-progress);--v3-folio-subcopy-space: clamp(0, calc((.4 - var(--v3-folio-collapse-progress)) * 2.5), 1);--v3-folio-panel-content-opacity: clamp(0, calc((.44 - var(--v3-folio-collapse-progress)) * 5), 1);--v3-folio-brand-overlay-opacity: clamp(0, calc((var(--v3-folio-collapse-progress) - .5) * 2), 1);--v3-folio-nav-reveal: clamp(0, calc((.24 - var(--v3-folio-collapse-progress)) * 4.167), 1);--v3-folio-nav-hidden: calc(1 - var(--v3-folio-nav-reveal))}body.v3-interior-page .v3-interior-panel{flex:0 0 var(--v3-interior-mobile-header-height);height:auto;min-height:0;overflow:hidden;justify-content:flex-start;cursor:pointer;background-color:color-mix(in srgb,var(--v3-site-accent) calc((1 - var(--v3-mobile-header-progress)) * 100%),#06070a);color:color-mix(in srgb,var(--v3-background) calc((1 - (var(--v3-mobile-header-progress) * .16)) * 100%),rgba(249,249,249,.84));padding-top:calc(28px - (var(--v3-mobile-header-progress) * 10px));padding-bottom:calc(28px - (var(--v3-mobile-header-progress) * 10px));transition:none}body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel{transition:flex-basis .22s cubic-bezier(.2,.6,.2,1),padding .22s cubic-bezier(.2,.6,.2,1),background-color .22s cubic-bezier(.2,.6,.2,1),color .18s cubic-bezier(.2,.6,.2,1)}body.v3-interior-page .v3-interior-panel:after{content:none}body.v3-interior-page .v3-interior-panel__mobile-header-toggle{position:fixed;top:calc(env(safe-area-inset-top,0px) + clamp(18px,4vw,24px));right:calc(env(safe-area-inset-right,0px) + 18px);z-index:125;display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:999px;padding:0;background:color-mix(in srgb,var(--v3-site-accent) 20%,transparent);color:#f9f9f9c7;cursor:pointer;transition:none}body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__mobile-header-toggle{transition:background-color .18s cubic-bezier(.2,.6,.2,1),border-color .18s cubic-bezier(.2,.6,.2,1),color .18s cubic-bezier(.2,.6,.2,1),transform .18s cubic-bezier(.2,.6,.2,1)}body.v3-interior-page .v3-interior-panel__mobile-header-toggle span{display:block;width:15px;height:15px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;transform:translateY(calc(4px - (var(--v3-mobile-header-progress) * 8px))) rotate(calc(45deg + (var(--v3-mobile-header-progress) * 180deg)));transition:none}body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__mobile-header-toggle span{transition:transform .22s cubic-bezier(.2,.6,.2,1)}body.v3-interior-page .v3-interior-panel__mobile-header-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}body.v3-interior-page .v3-interior-panel__control-link{display:none}body.v3-interior-page .v3-interior-panel__brand{position:relative;display:block;width:min(100%,calc(100vw - 112px - env(safe-area-inset-right,0px)));min-height:calc(3.6em + (var(--v3-mobile-header-progress) * 24px));margin-bottom:22px;color:#f9f9f9db;overflow:hidden;transition:none}body.v3-interior-page .v3-interior-panel__intro{margin:0 0 16px;font-size:15px;line-height:1.45}body.v3-interior-page .v3-interior-panel__tags{margin:0 0 16px}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel h1{display:-webkit-box;max-width:100%;max-height:3.24em;font-size:clamp(30px,9vw,38px);line-height:1.08;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;text-wrap:balance;-webkit-box-orient:vertical;-webkit-line-clamp:3}body.v3-interior-page .v3-interior-panel__mobile-header-toggle{background:#f9f9f905;color:#f9f9f9c7;border-color:#f9f9f961}.v3-interior-panel__copy{margin:0;min-height:0;opacity:calc(1 - var(--v3-mobile-header-progress));transform:translateY(calc(var(--v3-mobile-header-progress) * -72px));transition:none}body.v3-interior-page .v3-interior-panel>.v3-credit-line{margin-top:auto;padding-top:18px;opacity:calc(1 - var(--v3-mobile-header-progress));transition:none}body.v3-interior-page .v3-interior-panel__brand:before{content:"hafsah.xyz";position:absolute;top:0;left:0;display:block;color:#f9f9f980;font:700 clamp(15px,4.2vw,18px)/1.1 var(--font-mono, "IBM Plex Mono", monospace);opacity:var(--v3-mobile-header-progress);pointer-events:none}body.v3-interior-page .v3-interior-panel__brand i,body.v3-interior-page [data-studio-brand-cycle] [data-studio-brand-text]{opacity:calc(1 - var(--v3-mobile-header-progress));transition:none}body.v3-interior-page .v3-interior-panel__brand:after{content:"/ " attr(data-collapsed-title);position:absolute;top:1.32em;left:0;display:block;width:100%;min-width:0;max-height:2.2em;overflow:hidden;color:#f9f9f9db;font:700 clamp(12px,3.5vw,14px)/1.1 var(--font-mono, "IBM Plex Mono", monospace);opacity:var(--v3-mobile-header-progress);text-overflow:ellipsis;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;pointer-events:none}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__brand{min-height:80px;margin-bottom:0}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__brand:before,body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__brand:after{opacity:var(--v3-folio-brand-overlay-opacity);text-overflow:clip}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__brand i,body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) [data-studio-brand-cycle] [data-studio-brand-text]{opacity:var(--v3-folio-panel-content-opacity)}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__brand i{animation-name:v3-folio-mobile-cursor-progress-blink}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__copy{max-height:none;overflow:visible;flex:0 0 auto;opacity:var(--v3-folio-panel-content-opacity);transform:none;clip-path:none}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__intro{max-height:calc(var(--v3-folio-intro-expanded-height) * var(--v3-folio-subcopy-space));overflow:hidden;margin-bottom:calc(16px * var(--v3-folio-subcopy-space))}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__tags{max-height:calc(var(--v3-folio-tags-expanded-height) * var(--v3-folio-subcopy-space));overflow:hidden;flex:0 0 auto;margin-bottom:calc(22px * var(--v3-folio-subcopy-space))}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__tags,body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel__nav{opacity:var(--v3-folio-nav-reveal);transform:translateY(calc(var(--v3-folio-nav-hidden) * 10px))}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-panel>.v3-credit-line{display:none;opacity:var(--v3-folio-panel-content-opacity)}body.v3-interior-page .v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field{opacity:calc(.68 * (1 - var(--v3-mobile-header-progress)));transition:none}body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__brand,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__brand:before,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__brand:after,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__brand i,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling [data-studio-brand-cycle] [data-studio-brand-text],body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__copy,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__tags,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel__nav,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel>.v3-credit-line,body.v3-interior-page .v3-interior-shell.is-mobile-header-settling .v3-interior-panel>.v3-interior-panel__datamosh.site-datamosh-field{transition:opacity .18s cubic-bezier(.2,.6,.2,1),transform .22s cubic-bezier(.2,.6,.2,1),max-height .22s cubic-bezier(.2,.6,.2,1),margin-bottom .22s cubic-bezier(.2,.6,.2,1)}@keyframes v3-folio-mobile-cursor-progress-blink{0%,49%{opacity:var(--v3-folio-panel-content-opacity)}50%,to{opacity:0}}.v3-interior-panel>.v3-interior-panel__menu-toggle{display:none}.v3-interior-panel>.v3-interior-panel__nav{position:static;z-index:2;display:flex;flex:0 0 auto;gap:9px;min-width:0;max-height:none;margin-top:28px;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}body.v3-interior-page .v3-interior-content{flex:1 1 auto;height:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-content:is(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane){padding-bottom:calc(28px + var(--v3-folio-content-pin-offset-max))}body.v3-interior-page .v3-interior-shell:has(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane) .v3-interior-content:is(.v3-folio-detail-pane,.v3-folio-pane,.v3-words-pane,.v3-words-post-pane)>.v3-interior-content__pin-body{transform:translate3d(0,var(--v3-folio-content-pin-offset),0);will-change:transform}body.v3-interior-page .v3-folio-detail{min-height:calc(100dvh + 28px)}.v3-folio-grid,.v3-word-year-group,.v3-word-row{grid-template-columns:minmax(0,1fr)}.v3-word-year-group{gap:16px}.v3-word-row{gap:10px;min-height:0}.v3-word-row span:last-child{justify-self:start}.v3-studio__inner,.v3-studio-entry__panel,.v3-studio-entry__content{padding:28px 20px}.v3-studio__grid,.v3-studio[data-columns="2"] .v3-studio__grid,.v3-studio[data-columns="3"] .v3-studio__grid,.v3-studio[data-columns="4"] .v3-studio__grid{--studio-columns: 1}.v3-folio-project-nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:stretch;padding-top:18px}.v3-folio-project-nav__index{order:0;display:flex;align-items:center;align-self:stretch;font-size:9px}.v3-folio-project-nav__link{min-height:0;padding:8px;gap:5px}.v3-folio-project-nav__link--next{text-align:right}.v3-folio-project-nav__link span{font-size:9px;line-height:1.1}.v3-folio-project-nav__link strong{font-size:14px;line-height:1.12;overflow-wrap:anywhere}.v3-folio-project-nav__placeholder{min-height:0}}.notepad-window{position:relative;left:auto;top:auto;margin:clamp(40px,6vw,88px) auto;width:min(calc(100% - clamp(80px,20vw,440px)),900px);height:calc(100vh - clamp(80px,12vw,176px));background:#f9f9f9;border-radius:6px;box-shadow:inset 0 0 0 1px var(--color-border-default),0 62px 100px 14px #00000040;display:flex;flex-direction:column;overflow:hidden}.window-chrome{position:relative;height:40px;flex-shrink:0;display:flex;align-items:center;overflow:hidden}.window-chrome__title{position:absolute;left:50%;transform:translate(-50%);color:var(--brand-navy);font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-small) * 1px);font-weight:500;letter-spacing:.01em;white-space:nowrap}.window-divider{height:1px;background:var(--color-border-default);flex-shrink:0}.window-body{display:flex;flex-direction:row;gap:0;padding:0 0 30px;flex:1;overflow:hidden}.window-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 clamp(20px,4vw,48px) 24px clamp(16px,2.5vw,24px);position:relative}.window-content::-webkit-scrollbar{width:8px}.window-content::-webkit-scrollbar-track{background:transparent;border:0;border-radius:0}.window-content::-webkit-scrollbar-thumb{background:var(--brand-white);border:1px solid var(--color-border-default);border-radius:0}.window-content::-webkit-scrollbar-thumb:hover{background:#bbb}.window-footer{padding:0 30px 18px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;color:var(--color-border-default);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-display-alpha-small) * 1px);letter-spacing:.01em}.page-sidebar{width:92px;flex-shrink:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:22px 20px 0}.sidebar-divider{width:1px;background:var(--color-border-default);align-self:stretch;flex-shrink:0}.sidebar-links{width:54px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;margin-top:18px}.sidebar-link{font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-display-alpha-small) * 1px);font-weight:400;color:var(--brand-navy);letter-spacing:.01em;white-space:nowrap;opacity:.5}.sidebar-link.is-active{font-weight:700;text-decoration:underline;opacity:1}.sidebar-mini-tiles{display:flex;flex-direction:column;gap:10px;align-items:center}.page-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:calc(100% - 93px);height:100%;margin-left:93px;border-left:1px solid var(--color-border-default);font-family:"ST Monochromic v.01",ui-monospace,monospace}.page-tabs__link{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--color-border-default);color:var(--brand-navy);font-size:calc(var(--fontsize-body-copy) * 1px);font-weight:400;letter-spacing:0;line-height:1;text-decoration:none}.page-tabs__link.is-active{background:#030e3509;font-weight:700;text-decoration:underline;text-underline-offset:.18em}.sidebar-mini{width:52px;height:52px;border:0;border-radius:4px;padding:0;box-shadow:3px 4px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:default;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sidebar-mini__glyph,.sidebar-mini__label{font-family:"ST Monochromic v.01",ui-monospace,monospace;font-weight:500;line-height:1;text-align:center}.sidebar-mini__glyph{font-size:calc(var(--fontsize-body-copy) * 1px)}.sidebar-mini__label{font-size:8px}.sidebar-mini--tools{background:var(--accent-coral);color:var(--brand-white)}.sidebar-mini--skills{background:var(--accent-amber);color:var(--brand-navy)}.sidebar-mini--tools,.sidebar-mini--skills{transition:box-shadow .2s ease,transform .2s ease}.sidebar-mini--tools:hover,.sidebar-mini--skills:hover{transform:translateY(-4px);box-shadow:3px 3px #0003}.sidebar-mini--tools:active,.sidebar-mini--skills:active{transform:translateY(2px);box-shadow:6px 8px #00000042}.sidebar-mini__icon--tools svg,.sidebar-mini__icon--skills svg{display:block}.sidebar-mini--skills,.sidebar-mini__icon--skills svg{overflow:visible}.sidebar-mini__icon--tools svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.sidebar-mini--tools:hover .sidebar-mini__icon--tools svg{transform:scale(1.1)}.sidebar-mini__skills-bar{transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom}.sidebar-mini--skills:hover .sidebar-mini__skills-bar--1{transform:scaleY(1.4);transition-delay:0s}.sidebar-mini--skills:hover .sidebar-mini__skills-bar--2{transform:scaleY(1.4);transition-delay:.16s}.sidebar-mini--skills:hover .sidebar-mini__skills-bar--3{transform:scaleY(1.4);transition-delay:.32s}.sidebar-mini--panel{background:var(--v3-site-accent);color:var(--brand-white);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.sidebar-mini--panel:hover{transform:translateY(-4px);box-shadow:3px 3px #0003}.sidebar-mini--panel:active{transform:translateY(2px);box-shadow:6px 8px #00000042}.sidebar-mini__icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-mini__toggle-track{position:relative;display:block;width:39px;height:20px;border-radius:10px;background:#ffffff40}.sidebar-mini__toggle-knob{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--brand-white);transition:left .4s cubic-bezier(.34,1.56,.64,1)}.sidebar-mini--panel:hover .sidebar-mini__toggle-knob{left:20px}.sidebar-clock{text-align:center;padding:0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:calc(var(--fontsize-body-regular) * 1px);font-weight:400;color:var(--brand-navy);line-height:1.2}.sidebar-clock div{margin-bottom:1px}@media (min-width: 901px){.notepad-window{display:grid;grid-template-columns:92px 1px minmax(0,1fr);grid-template-rows:40px 1px minmax(0,1fr) auto}.window-chrome{grid-column:3;grid-row:1;min-width:0}.window-divider{grid-column:3;grid-row:2}.window-body{display:contents;padding-bottom:0}.page-sidebar{grid-column:1;grid-row:1 / 4;width:auto;min-height:0;padding-top:22px}.sidebar-divider{grid-column:2;grid-row:1 / 4;height:auto}.window-content{grid-column:3;grid-row:3;min-width:0;min-height:0;padding-bottom:54px}.window-footer{grid-column:1 / 4;grid-row:4}.page-tabs{width:100%;margin-left:0;border-left:0}.window-chrome__title,.page-sidebar .sidebar-links,.page-sidebar .sidebar-clock{display:none}}.notepad-inner-wrap{position:relative;width:min(calc(100% - clamp(80px,20vw,440px)),900px);margin:clamp(40px,6vw,88px) auto 0}.notepad-inner-wrap .notepad-window{margin:0;width:100%}.floating-widgets{display:block;position:absolute;inset:0;pointer-events:none}.mobile-nav-overlay{display:none}.floating-widget{position:absolute;width:80px;height:80px;border-radius:6px;box-shadow:5px 7px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.floating-widget--demo{left:-90px;top:243px;background:var(--brand-navy);box-shadow:inset 0 0 0 1px var(--brand-white),5px 7px #00000040}.floating-widget--about{left:-90px;top:350px;background:var(--accent-green)}.floating-widget--demo,.floating-widget--about{pointer-events:auto;transition:box-shadow .2s ease,transform .2s ease}.floating-widget--demo:hover,.floating-widget--about:hover{transform:translateY(-4px);box-shadow:3px 3px #0003}.floating-widget--demo:hover{box-shadow:inset 0 0 0 1px var(--brand-white),3px 3px #0003}.floating-widget--demo:active,.floating-widget--about:active{transform:translateY(2px);box-shadow:6px 8px #00000042}.floating-widget--demo:active{box-shadow:inset 0 0 0 1px var(--brand-white),6px 8px #00000042}.floating-widget--availability{left:-90px;top:455px;background:var(--brand-blue);gap:13px}.floating-widget__big,.floating-widget__small{font-family:"ST Monochromic v.01",ui-monospace,monospace;font-weight:500;line-height:1;text-align:center}.floating-widget__big{font-size:calc(var(--fontsize-display-alpha-large) * 1px)}.floating-widget__small{font-size:calc(var(--fontsize-display-alpha-small) * 1px)}.floating-widget__icon{display:inline-flex;align-items:center;justify-content:center}.floating-widget__icon svg{display:block}.floating-widget__icon--reel{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.floating-widget--demo:hover .floating-widget__icon--reel{transform:scale(1.32)}.floating-widget__icon--about{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.floating-widget--about:hover .floating-widget__icon--about{transform:translateY(-6px) rotate(-3deg)}.floating-widget--demo,.floating-widget--availability{color:var(--brand-white)}.floating-widget--about{color:var(--brand-navy)}.floating-widget__dot{width:33px;height:33px;border-radius:50%;background:var(--accent-coral)}#modal-demo-reel .modal__icon,#modal-about-mini .modal__icon,#modal-availability .modal__icon{transition:box-shadow .2s ease,transform .2s ease}#modal-demo-reel .modal__icon:hover,#modal-about-mini .modal__icon:hover,#modal-availability .modal__icon:hover{transform:translateY(-4px);box-shadow:3px 3px #0003}#modal-demo-reel .modal__icon:active,#modal-about-mini .modal__icon:active,#modal-availability .modal__icon:active{transform:translateY(2px);box-shadow:6px 8px #00000042}.modal__icon-svg{display:inline-flex;align-items:center;justify-content:center}.modal__icon-svg svg{display:block}.modal__icon-svg--reel{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}#modal-demo-reel .modal__icon:hover .modal__icon-svg--reel{transform:scale(1.13)}.modal__icon-svg--about{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}#modal-about-mini .modal__icon:hover .modal__icon-svg--about{transform:translateY(-6px) rotate(-3deg)}.modal__icon-svg--availability-badge{transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:17px 17px}#modal-availability .modal__icon:hover .modal__icon-svg--availability-badge{transform:scale(1.18)}.home-content{display:flex;flex-direction:column;gap:24px;padding-top:24px}.home-copy{right:37px;display:flex;flex-direction:column;gap:10px}.home-eyebrow{margin:0;color:var(--brand-navy);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:lowercase}.home-eyebrow:before{content:"❯ ";color:var(--accent-green)}.home-copy h1,.bits-block h2,.folio-intro h1,.word-group h2,.about-bio h1{margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-large) * 1px);font-weight:500;color:var(--brand-navy);line-height:calc(var(--lineheight-display-alpha-large) * 1px)}.home-copy p,.folio-intro p,.about-bio p,.studio-article__content p,.hello-block p,.studio-intro p{margin:0;color:#535353;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-body-copy) * 1px);font-weight:400;line-height:calc(var(--lineheight-body-copy) * 1px)}.home-divider{width:100%;height:1px;background:var(--color-border-default);flex-shrink:0}.bits-block{width:100%;display:flex;flex-direction:column;gap:12px}.bits-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase}.link-underline{color:inherit;text-decoration:underline;text-decoration-color:var(--accent-green);text-decoration-thickness:1px;text-underline-offset:4px}.link-underline:hover{color:var(--accent-green);text-decoration-color:var(--accent-green)}.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-feature-card{--card-accent: var(--accent-coral);display:flex;min-height:188px;flex-direction:column;overflow:hidden;border:1px solid rgba(3,14,53,.16);border-radius:8px;background:var(--brand-white)}.home-feature-card--coral{--card-accent: var(--accent-coral)}.home-feature-card--amber{--card-accent: var(--accent-amber)}.home-feature-card--blue{--card-accent: var(--brand-blue)}.home-feature-card__bar{height:7px;flex-shrink:0;background:var(--card-accent)}.home-feature-card__body{display:flex;min-height:0;flex:1;flex-direction:column;gap:10px;padding:17px 16px 16px}.home-feature-card__eyebrow,.home-feature-card__cta{margin:0;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;font-weight:700;line-height:1.2;text-transform:uppercase}.home-feature-card__eyebrow{color:#030e3594}.home-feature-card h2{margin:0;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:18px;font-weight:700;line-height:1.12}.home-feature-card__body>p:not(.home-feature-card__eyebrow){margin:0;color:#535353;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:12px;font-weight:400;line-height:1.38}.home-feature-card__cta{width:-moz-fit-content;width:fit-content;margin-top:auto;color:var(--accent-green)}.folio-content,.words-content,.about-content{display:flex;flex-direction:column;gap:24px;padding-top:24px}.folio-intro{display:flex;flex-direction:column;gap:8px;padding-right:37px;flex-shrink:0}.filter-block{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.filter-row{display:flex;gap:19px;align-items:center}.filter-tab{font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:16px;font-weight:400;color:var(--neutral-gray-mid)}.filter-tab.is-active{color:var(--brand-navy);font-weight:700;text-decoration:underline}.filter-divider{height:1px;background:var(--color-border-default)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{width:100%;height:181px;background:var(--brand-white);border-radius:8px;box-shadow:inset 0 0 0 1.4px var(--accent-green),3px 4px #0000001a;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;background-color:var(--brand-white);background-image:var(--card-thumb-bg, url(https://placehold.co/400x360/e0e0e0/ccc));background-size:cover;background-position:center;opacity:1;transition:opacity .25s ease}.project-card:hover:before{opacity:0}.project-card__inner{position:absolute;inset:17px 19px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;transition:opacity .25s ease 50ms;z-index:1}.project-card:hover .project-card__inner{opacity:1}.project-card h3{margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-body-copy) * 1px);font-weight:700;color:var(--brand-navy);line-height:calc(var(--lineheight-body-copy) * 1px)}.project-card__meta{display:flex;flex-direction:column;gap:5px}.project-card__studio-meta{display:none}.project-tag{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-bold) * 1px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-navy)}.project-line{height:1.4px;background:var(--accent-coral)}.project-card__blurb,.project-card__blurb p{margin:0;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-regular) * 1px);font-weight:400;color:var(--brand-navy);line-height:1.45}.project-card__blurb>:first-child{margin-top:0}.project-card__blurb>:last-child{margin-bottom:0}.word-groups{display:flex;flex-direction:column;gap:0}.word-group{display:flex;flex-direction:column;gap:60px}.word-row{display:flex;flex-direction:column;align-items:flex-start;gap:14px;color:inherit;text-decoration:none}.word-date{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;font-weight:400;color:var(--neutral-gray-mid);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.word-title{font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-large) * 1px);font-weight:500;color:var(--brand-navy);line-height:calc(var(--lineheight-display-alpha-large) * 1px);text-align:left}.about-content{gap:20px}.about-headshot{height:300px;overflow:hidden;border-radius:2px;flex-shrink:0;align-self:stretch}.about-headshot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.about-bio{display:flex;flex-direction:column;gap:6px;flex-shrink:0;margin-bottom:16px}.about-panels{display:flex;gap:20px;flex-shrink:0}.about-panel{flex:1;padding:14px 16px;border:1px solid var(--accent-green);border-radius:3px;display:flex;flex-direction:column;gap:6px}.about-panels .about-panel:last-child{border-color:var(--accent-coral)}.about-panel h2,.jobs-section h2{margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-large) * 1px);font-weight:500;color:var(--brand-navy);line-height:calc(var(--lineheight-display-alpha-large) * 1px)}.about-panel h2 span{color:var(--accent-coral)}.about-panel p{margin:0;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-regular) * 1px);font-weight:400;line-height:1.4;color:var(--brand-navy)}.jobs-section{display:flex;flex-direction:column;gap:11px;flex-shrink:0;width:100%}.jobs-section h2{margin-bottom:14px}.job-item{width:100%;border:1px solid var(--color-border-default);border-radius:4px;background:var(--brand-white);box-shadow:3px 4px #00000040}.job-row{display:grid;grid-template-columns:max-content minmax(210px,1.35fr) minmax(110px,.7fr) max-content 26px;align-items:center;gap:19px;padding:26px 28px;width:100%;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.job-status{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700;color:#000;letter-spacing:0;line-height:1;justify-self:start;min-width:50px;padding:6px 8px;border:1px solid rgb(0,0,0);background:var(--brand-white);text-align:center}.job-status--current{border-color:var(--accent-coral);background:var(--accent-coral);color:var(--brand-white)}.job-status--past{border-color:#000;background:var(--brand-white);color:#000}.job-company{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:22px;font-weight:700;color:var(--brand-navy);line-height:1.15;overflow-wrap:anywhere}.job-role,.job-dates{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:400;color:var(--neutral-gray-mid);line-height:1.35;white-space:nowrap}.job-role{justify-self:end;padding-right:22px;border-right:1px solid var(--color-border-default);white-space:normal;text-align:right}.job-toggle{width:18px;height:18px;border:1px solid rgb(0,0,0);background:transparent;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#000;line-height:1}.job-row:focus-visible{outline:none}.job-row:focus-visible .job-toggle{outline:2px solid var(--accent-green);outline-offset:2px}.job-detail{margin:0 29px 22px;padding:22px 26px 22px 32px;border-left:5px solid rgb(0,0,0);border-radius:2px;background:#f5f5f5;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:400;color:var(--neutral-gray-mid);line-height:1.6;display:grid;grid-template-rows:1fr;opacity:1;overflow:hidden;transition:grid-template-rows .18s ease,opacity .18s ease,padding-top .18s ease,padding-bottom .18s ease,margin-bottom .18s ease}.job-detail__inner{min-height:0;overflow:hidden}.job-detail[data-state=closed]{grid-template-rows:0fr;opacity:0;border-left-width:0;padding-top:0;padding-bottom:0;margin-bottom:0}.hello-block{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding-top:6px}.hello-block h2{margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-large) * 1px);font-weight:500;color:var(--brand-navy);line-height:calc(var(--lineheight-display-alpha-large) * 1px)}.about-contact-button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.about-contact-button:hover{background:var(--brand-white);color:var(--brand-navy);border-color:var(--brand-navy);box-shadow:2px 3px #0000002e;text-decoration:none;transform:translateY(-1px)}.about-contact-button:active{transform:translateY(1px);box-shadow:1px 2px #00000029}.about-contact-button{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;margin-top:14px;padding:9px 18px;border-radius:4px;background:var(--accent-green);box-shadow:3px 4px #00000040;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-regular) * 1px);font-weight:700;color:var(--brand-navy);letter-spacing:.03em;text-transform:uppercase;border:1px solid transparent;cursor:pointer}.contact-modal-form{width:min(420px,calc(100vw - 32px));padding:24px;background:var(--color-milk);color:var(--brand-navy);display:flex;flex-direction:column;align-items:center;gap:20px;font-family:"ST Monochromic v.01",ui-monospace,monospace}.contact-modal-form__header{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.contact-modal-form__header h2{margin:0;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:20px;font-weight:700;line-height:1.2}.contact-modal-form__header p{margin:0;color:#555;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:11px;line-height:1.4}.contact-modal-field{width:100%;display:flex;flex-direction:column;gap:6px;font-family:"ST Monochromic v.01",ui-monospace,monospace}.contact-modal-field span{color:#030e3599;font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1}.contact-modal-field input,.contact-modal-field textarea{width:100%;border:1.5px solid rgb(0,0,0);border-radius:6px;background:var(--brand-white);color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:13px;line-height:1.4;padding:10px 12px}.contact-modal-field textarea{min-height:110px;resize:vertical}.contact-modal-field input::-moz-placeholder,.contact-modal-field textarea::-moz-placeholder{color:#555;opacity:1}.contact-modal-field input::placeholder,.contact-modal-field textarea::placeholder{color:#555;opacity:1}.contact-modal-botcheck{position:absolute;left:-9999px}.contact-modal-status{min-height:18px;margin:-4px 0 0;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:12px;font-weight:700;line-height:1.4;text-align:center}.contact-modal-status[data-state=success]{color:var(--accent-green)}.contact-modal-status[data-state=error]{color:var(--accent-coral)}.contact-modal-submit{width:102px;min-height:44px;border:0;border-radius:6px;background:#000;color:var(--brand-white);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer}.contact-modal-submit:disabled{cursor:wait;opacity:.68}[data-site-variant=v3] .contact-modal-form,.mobile-panel-contact .contact-modal-form{width:min(470px,calc(100vw - 48px));align-items:stretch;gap:16px;padding:32px;background:var(--v3-background);color:var(--v3-text);font-family:var(--font-body, "ST Monochromic v.01", serif)}[data-site-variant=v3] .contact-modal-form__header,.mobile-panel-contact .contact-modal-form__header{align-items:flex-start;gap:8px;text-align:left}[data-site-variant=v3] .contact-modal-form__header h2,.mobile-panel-contact .contact-modal-form__header h2{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:26px;font-weight:500;line-height:34px;color:var(--v3-text)}[data-site-variant=v3] .contact-modal-form__header p,.mobile-panel-contact .contact-modal-form__header p{font-size:13px;line-height:22px;color:var(--v3-muted)}[data-site-variant=v3] .contact-modal-field span,.mobile-panel-contact .contact-modal-field span{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--v3-muted)}[data-site-variant=v3] .contact-modal-field input,[data-site-variant=v3] .contact-modal-field textarea,.mobile-panel-contact .contact-modal-field input,.mobile-panel-contact .contact-modal-field textarea{border:1px solid rgba(29,29,29,.18);border-radius:0;background:#fff;color:var(--v3-text);font-family:var(--font-body, "ST Monochromic v.01", serif)}[data-site-variant=v3] .contact-modal-status,.mobile-panel-contact .contact-modal-status{text-align:left;color:var(--v3-muted)}[data-site-variant=v3] .contact-modal-submit,.mobile-panel-contact .contact-modal-submit{width:auto;align-self:flex-start;border-radius:0;background:var(--v3-green);color:var(--brand-navy);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:13px 18px}[data-site-variant=v3] .contact-modal-submit:after,.mobile-panel-contact .contact-modal-submit:after{content:" →"}.studio-page{position:absolute;inset:0;overflow:hidden}.studio-page__bg,.studio-page__grid,.studio-page__bg-poster{position:absolute;inset:0}.studio-page__bg{background:var(--brand-navy)}.studio-page__bg:after{content:"";position:absolute;left:0;top:-305px;width:1470px;height:1794px;background:url(/assets/e85ab1fc03550892.png) center / cover no-repeat}.studio-page__grid{background-image:radial-gradient(circle,rgba(255,255,255,.25) 1.2px,transparent 1.2px);background-size:28px 28px;opacity:.32}.studio-page__bg-poster{display:none;z-index:0;background:url(/images/studio/bg-source-01-dithered-poster.png) center / cover no-repeat}@media (min-width: 768px){.studio-page__grid{display:none}.studio-page__bg-poster{display:block}}#modal-experiment-about .modal__expanded{width:min(352px,calc(100vw - 48px));border-radius:18px;background:var(--brand-white);box-shadow:0 18px 42px #030e353d}#modal-experiment-about .modal__titlebar,#modal-experiment-about .modal__body{background:var(--brand-white);color:#000}#modal-experiment-about .modal__titlebar{border-bottom:0;justify-content:flex-end;padding:14px 16px 0}#modal-experiment-about .modal__close{border-color:#00000042;color:#000}#modal-experiment-about .modal__body{padding:8px 28px 28px}.studio-intro{display:flex;flex-direction:column;gap:16px}.studio-intro:before{content:"";display:block;width:70px;height:8px;border-radius:999px;background:#000;margin-bottom:2px}.studio-intro h1{margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:46px;font-weight:700;color:#000;line-height:.95}.studio-intro p{margin:0;color:#00000094;font-size:13px;line-height:1.45}.studio-intro-nav{display:flex;flex-direction:column;gap:8px;padding-top:5px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase}.studio-intro-nav__link{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;color:#000;text-decoration:none;letter-spacing:0}.studio-intro-nav__link:hover{color:var(--accent-coral);text-decoration:none}.studio-intro-nav__link--placeholder{color:#0000006b;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.studio-intro-nav__link--placeholder:hover{color:#0000006b}.studio-card{position:absolute;z-index:2;width:200px;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.studio-card .project-card{box-shadow:inset 0 0 0 1.4px var(--accent-green),3px 4px #0000001a;transition:box-shadow .18s ease,transform .18s ease}.studio-card .project-card:hover{box-shadow:inset 0 0 0 1.4px var(--accent-green),1px 2px #00000029;transform:translateY(2px)}.studio-card .project-card:hover:before{opacity:1}.studio-card .project-card__inner,.studio-card .project-card:hover .project-card__inner{opacity:0;pointer-events:none}.studio-card .project-card__studio-meta{position:absolute;left:10px;bottom:9px;z-index:2;display:block;max-width:calc(100% - 20px);padding:0;border:0;background:transparent;color:var(--brand-white);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.1;opacity:0;pointer-events:none;text-transform:uppercase;transform:translateY(8px) scale(.98);transition:opacity .18s cubic-bezier(.4,0,1,1),transform .22s cubic-bezier(.4,0,1,1);will-change:opacity,transform}.studio-card .project-card:hover .project-card__studio-meta{opacity:1;transform:translateY(0) scale(1);transition:opacity .26s cubic-bezier(.34,1.56,.64,1),transform .34s cubic-bezier(.34,1.56,.64,1)}.studio-card--a{left:392px;top:120px}.studio-card--b{left:624px;top:120px}.studio-card--c{left:856px;top:120px}.studio-card--d{left:392px;top:333px}.studio-card--e{left:624px;top:333px}.studio-card--f{left:856px;top:333px}.studio-card--g{right:24px;top:64px}.studio-article{position:absolute;left:543px;top:273px;width:730px;height:751px;border-radius:6px;background:#000000e8;overflow:hidden;display:flex;flex-direction:column;z-index:250;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.studio-article[data-state=closed]{display:none}.studio-article[data-state=open]{display:flex}.studio-article__close{width:24px;height:26px;margin:20px 30px 20px auto;padding:0;border:1px solid var(--brand-white);border-radius:2px;background:transparent;display:flex;align-items:center;justify-content:center;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-body-regular) * 1px);color:var(--brand-white);line-height:1;cursor:pointer}.studio-article__content{flex:1;overflow:hidden;padding:0 25px 30px;display:flex;flex-direction:column;gap:20px}.studio-article__heading{width:605px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.studio-article__heading span{font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-body-regular) * 1px);font-weight:700;color:var(--accent-green)}.studio-article__heading h2{margin:0;width:605px;font-family:Alpha Lyrae,Georgia,serif;font-size:calc(var(--fontsize-display-alpha-large) * 1px);font-weight:500;color:var(--brand-white);line-height:calc(var(--lineheight-display-alpha-large) * 1px)}.studio-article__content p{width:605px;color:#b7b7b7}.studio-article__body{flex:1;overflow:auto;padding-right:16px;cursor:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text;touch-action:auto}.studio-article__body>*+*{margin-top:16px}.studio-article__body h2,.studio-article__body h3,.studio-article__body h4{width:605px;margin:24px 0 0;font-family:Alpha Lyrae,Georgia,serif;font-weight:700;color:var(--brand-white);line-height:1.1}.studio-article__body h2{font-size:28px}.studio-article__body h3,.studio-article__body h4{font-size:20px}.studio-article__body ul,.studio-article__body ol{width:605px;margin:0;padding-left:22px;color:#b7b7b7}.studio-article__body li+li{margin-top:8px}.studio-article__body blockquote{width:585px;margin:0;padding:14px 18px;border-left:2px solid var(--accent-green);background:#ffffff0f;color:#d7d7d7}.studio-article__body table{width:605px;border-collapse:collapse;color:#b7b7b7;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.studio-article__body th,.studio-article__body td{border:1px solid rgba(255,255,255,.22);padding:8px;text-align:left;vertical-align:top}.studio-article__body a{color:var(--accent-green)}.studio-article__body img{max-width:605px;height:auto}.article-divider{display:flex;align-items:center;gap:6px;flex-shrink:0}.article-divider div{flex:1;height:1px;background:var(--accent-green)}.article-divider span{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-bold) * 1px);font-weight:700;color:var(--accent-green);letter-spacing:.1em;white-space:nowrap}.article-quote{width:605px;margin:0;padding:14px 18px 14px 20px;border-radius:2px;background:var(--accent-green)}.article-quote p{width:auto;margin:0;font-family:Alpha Lyrae,Georgia,serif;font-size:22px;font-weight:700;color:var(--brand-navy);line-height:calc(var(--lineheight-heading-display) * 1px);white-space:normal}.article-quote footer{margin-top:8px;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-body-regular) * 1px);font-weight:400;color:#444;line-height:calc(var(--lineheight-body-regular) * 1px)}@media (max-width: 900px){.page-tabs,.home-page .floating-widgets,.home-page .notepad-page .sidebar-divider,.notepad-page .sidebar-divider{display:none}.home-page .notepad-page .window-body,.notepad-page .window-body{position:relative}.home-page .notepad-page .page-sidebar,.notepad-page .page-sidebar{display:flex!important;position:absolute;left:0;top:0;bottom:0;width:220px;min-height:0;z-index:20;background:#f9f9f9;border-right:1px solid var(--color-border-default);box-shadow:4px 0 20px #0000001f;transform:translate(-110%);transition:transform .28s ease;padding:10px 0 20px 10px;flex-direction:column;align-items:center;justify-content:space-between}.home-page .notepad-page .page-sidebar[data-state=open],.notepad-page .page-sidebar[data-state=open]{transform:translate(0)}.home-page .mobile-nav-toggle,.notepad-page .mobile-nav-toggle{display:inline-flex!important;position:absolute;right:20px;top:50%;transform:translateY(-50%);background:transparent;border:0;padding:0;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:28px;font-weight:500;line-height:1;cursor:pointer}@media (min-width: 768px) and (max-width: 900px){.home-page .mobile-nav-overlay,.notepad-page .mobile-nav-overlay{display:none!important}}.notepad-page .window-footer{padding-bottom:32px}}@media (max-width: 767px){html,body{height:auto;overflow:auto}.site-shell{height:auto;min-height:100vh;overflow-y:auto;overflow-x:hidden;align-items:flex-start}.design-frame{width:100vw;height:auto;min-height:100vh;min-height:100dvh;overflow:visible;transform:none!important}.notepad-page{position:relative;min-height:100vh;min-height:100dvh}.notepad-page .floating-widgets,.notepad-page .page-sidebar,.notepad-page .sidebar-divider,.notepad-page .sidebar-mini-tiles{display:none}.notepad-page .notepad-window{position:relative;left:0;top:0;width:calc(100% - 24px)!important;height:auto;min-height:calc(100vh - 12px);margin:12px auto calc(12px + env(safe-area-inset-bottom,0px))!important;border-radius:8px;box-shadow:inset 0 0 0 1px var(--color-border-default)}.notepad-inner-wrap{width:calc(100% - 24px)!important;margin:12px auto!important}.notepad-inner-wrap .notepad-window{width:100%!important;margin:0!important}.notepad-page .window-chrome{padding:0 20px}.mobile-nav-toggle{position:absolute;right:20px;top:50%;display:inline-flex!important;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:28px;font-weight:500;line-height:1;transform:translateY(-50%);cursor:pointer}.notepad-page .window-body{display:block;padding:0}.notepad-page .window-content{width:100%;padding:24px 20px}.notepad-page .window-footer{padding:0 20px calc(20px + env(safe-area-inset-bottom,0px))}.home-page .home-content{gap:24px;padding-top:18px}.home-page .home-copy,.home-page .home-divider,.home-page .home-feature-grid,.home-page .bits-block{width:100%}.home-page .home-feature-grid{grid-template-columns:1fr;gap:12px}.home-page .home-feature-card{min-height:0}.home-page .bits-row{gap:14px}.mobile-nav-overlay{display:flex;position:absolute;left:12px;top:12px;z-index:40;width:calc(100% - 24px);min-height:280px;padding:20px;background:var(--brand-navy);border-radius:8px;box-shadow:0 22px 44px #0000003d;color:var(--brand-white);visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-100%);transition:transform .28s ease,opacity .28s ease}.mobile-nav-overlay[data-state=open]{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}.mobile-nav-overlay__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:start;min-height:240px}.mobile-nav-overlay__left,.mobile-nav-overlay__right{display:flex;flex-direction:column;justify-content:space-between;height:100%}.mobile-nav-overlay__right{margin-left:auto}.mobile-nav-overlay__meta{display:flex;flex-direction:column;gap:6px;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:11px;font-weight:400;color:var(--brand-white);line-height:1.35}.mobile-nav-overlay__cta{display:flex;flex-direction:column;gap:10px}.mobile-nav-overlay__cta p,.mobile-nav-overlay__cta a{margin:0;font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:16px;line-height:1.35}.mobile-nav-overlay__cta a{color:var(--accent-green)}.mobile-nav-overlay__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.mobile-nav-link{display:block;width:100%;font-family:Alpha Lyrae,Georgia,serif;font-size:28px;font-weight:500;line-height:1.1;color:var(--brand-white)}.mobile-nav-link.is-active{color:var(--accent-green);text-decoration:underline;text-decoration-color:var(--accent-green);text-decoration-thickness:2px;text-underline-offset:6px}.mobile-nav-close{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:24px;align-items:center;justify-content:center;padding:9px 18px;border:1px solid transparent;border-radius:999px;background:var(--accent-green);box-shadow:3px 4px #00000040;color:var(--brand-navy);font-family:"ST Monochromic v.01",ui-monospace,monospace;font-size:calc(var(--fontsize-label-mono-regular) * 1px);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.folio-page .window-content{padding:24px}.folio-page .window-footer{padding:0 24px calc(20px + env(safe-area-inset-bottom,0px))}.folio-page .folio-content{gap:16px;padding-top:18px}.folio-page .folio-intro{gap:12px;padding-right:0}.folio-page .folio-intro h1{font-size:calc(var(--fontsize-display-alpha-large) * 1px);line-height:1.08}.folio-page .filter-block{gap:10px;margin-top:4px}.folio-page .filter-row{flex-wrap:wrap;gap:16px}.folio-page .filter-tab{font-size:calc(var(--fontsize-display-alpha-small) * 1px);line-height:1.2;text-transform:lowercase}.folio-page .project-grid{grid-template-columns:1fr;gap:16px;justify-items:stretch}.folio-page .project-card{width:100%;max-width:100%;height:auto;aspect-ratio:200 / 181}.folio-page .project-card__inner{inset:50px}.folio-page .project-card h3{font-size:calc(var(--fontsize-display-alpha-large) * 1px);line-height:1.02}.folio-page .project-tag{font-size:11px}.folio-page .project-card p{font-size:16px}.words-page .window-content{padding:24px}.words-page .window-footer{padding:0 24px calc(20px + env(safe-area-inset-bottom,0px))}.word-row{padding-right:0;align-items:flex-start;gap:10px}.word-date{font-size:calc(var(--fontsize-label-mono-regular) * 1px)}.word-title{font-size:calc(var(--fontsize-display-alpha-large) * 1px);line-height:calc(var(--lineheight-display-alpha-large) * 1px)}.about-page .window-content{padding:24px}.about-page .window-footer{padding:0 24px calc(20px + env(safe-area-inset-bottom,0px))}.about-headshot{height:240px}.about-panels{flex-direction:column;gap:12px}.about-panel h2,.jobs-section h2,.hello-block h2{font-size:24px;line-height:1.2}.jobs-section{gap:14px}.job-row{grid-template-columns:72px minmax(0,1fr) 26px;grid-template-rows:auto auto;gap:8px 14px;padding:18px 16px}.job-status{font-size:11px;min-width:0;padding:7px 8px}.job-company{font-size:20px}.job-role,.job-dates{font-size:calc(var(--fontsize-display-alpha-small) * 1px)}.job-role{grid-column:2 / 3;grid-row:2;justify-self:start;padding-right:0;border-right:0;text-align:left;white-space:normal}.job-dates{grid-column:2 / 3;grid-row:3;white-space:normal}.job-toggle{grid-column:3;grid-row:1;justify-self:end;width:22px;height:22px;font-size:13px}.job-detail{margin:0 16px 18px;padding:18px 18px 18px 24px;border-left-width:6px;font-size:13px}.studio-page{position:relative;min-height:100dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:20px 24px 40px;gap:16px}.studio-article{display:none}#modal-experiment-about{left:24px!important;top:24px!important}.studio-card{position:relative;left:auto;top:auto;width:100%}.studio-card--a,.studio-card--b,.studio-card--c,.studio-card--d,.studio-card--e,.studio-card--f,.studio-card--g{left:auto;right:auto;top:auto}.studio-card .project-card{width:100%;height:auto;aspect-ratio:200 / 181}.studio-card .project-card__inner{inset:50px}.studio-card .project-card h3{font-size:calc(var(--fontsize-display-alpha-large) * 1px);line-height:1.02}.studio-card .project-tag{font-size:11px}.studio-card .project-card p{font-size:16px}}@media (min-width: 901px){.home-page .floating-widgets{display:none}}@media (max-width: 767px){.modal{display:none!important}}.modal-demo-reel{background:#050e25;color:#f9f9f9;width:449px}.modal-demo-reel video{width:100%;max-height:298px;-o-object-fit:cover;object-fit:cover;display:block}.modal-demo-reel__footer{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px}.modal-about-mini{background:#4cd39a;color:#050e25;width:283px;padding:16px;font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:14px;line-height:1.5}[data-site-variant=v3] .modal-about-mini{width:min(470px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;background:var(--v3-background);color:var(--v3-text);padding:12px 40px 40px;display:flex;flex-direction:column;gap:22px;font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:14px;line-height:25px}[data-site-variant=v3] .modal-about-mini h2{margin:0;font-family:var(--font-display, "Alpha Lyrae", serif);font-size:34px;font-weight:500;line-height:42px;color:var(--v3-text)}[data-site-variant=v3] .modal-about-mini p{margin:0}.v3-modal-about__rule{width:92px;height:4px;background:var(--v3-text)}.v3-modal-about__headshot{width:100%;aspect-ratio:3 / 2;-o-object-fit:cover;object-fit:cover;border:1px solid rgba(29,29,29,.14);filter:contrast(1.06)}.v3-modal-about__notice{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;border:1px solid rgba(244,63,94,.4);background:#f43f5e0f;padding:7px 11px;color:inherit;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;line-height:1;letter-spacing:.04em;text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.v3-modal-about__notice span{width:8px;height:8px;border-radius:50%;background:var(--v3-coral);flex:0 0 auto}.v3-modal-about__practice,.v3-modal-about__lists{border:1px solid rgba(29,29,29,.14)}.v3-modal-about__practice .v3-modal-about__lists{border:0;border-top:1px solid rgba(29,29,29,.14)}.v3-modal-about__lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#1d1d1d24}.v3-modal-about__lists section{padding:18px;background:var(--v3-background);display:flex;flex-direction:column;gap:12px}.v3-modal-about__lists section:nth-child(2){background:#f2f2f2}.v3-modal-about__lists h3{margin:0;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--v3-site-accent)}.v3-modal-about__lists p{font-size:13px;line-height:20px}.v3-modal-about__lists section:nth-child(2) h3,.v3-modal-about__lists section:nth-child(2) p{color:var(--v3-muted)}.v3-modal-about__empty{color:var(--v3-muted);font-style:italic}.v3-modal-about__where{border:1px solid rgba(29,29,29,.14)}.v3-modal-about__practice summary,.v3-modal-about__where summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--v3-text);color:var(--v3-background);cursor:pointer;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;list-style:none}.v3-modal-about__practice summary::-webkit-details-marker,.v3-modal-about__where summary::-webkit-details-marker{display:none}.v3-modal-about__practice summary:after,.v3-modal-about__where summary:after{content:"+";margin-left:auto;color:#f9f9f99e}.v3-modal-about__practice[open] summary:after,.v3-modal-about__where[open] summary:after{content:"-"}.v3-modal-about__jobs article{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:baseline;padding:12px 16px;border-top:1px solid rgba(29,29,29,.1)}.v3-modal-about__job-dot{width:7px;height:7px;border-radius:50%;background:var(--v3-muted);margin-top:5px}.v3-modal-about__job-dot--current{background:var(--v3-green)}.v3-modal-about__jobs h4{margin:0;font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:14px;font-weight:500;color:var(--v3-text)}.v3-modal-about__jobs p,.v3-modal-about__jobs time{margin:0;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;letter-spacing:.04em;color:var(--v3-muted)}.v3-modal-about__links{display:flex;flex-direction:column;gap:10px;align-items:flex-start;border-top:1px solid rgba(29,29,29,.12);padding-top:18px}.v3-modal-about__links button,.v3-modal-about__links a,.contact-modal-direct{border:0;background:none;padding:0;cursor:pointer;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v3-text);text-decoration:none}.v3-modal-about__links button:before,.v3-modal-about__links a:before{content:"→ "}.v3-modal-about__links button:hover,.v3-modal-about__links a:hover,.contact-modal-direct:hover{color:var(--v3-site-accent)}.modal-availability{background:#2e5cff;color:#f9f9f9;width:283px;padding:16px;display:flex;flex-direction:column;gap:12px}.modal-availability__status{display:flex;align-items:center;gap:10px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4cd39a;margin:0}.modal-availability__status:before{content:"";width:9px;height:9px;border-radius:50%;background:#4cd39a;flex:0 0 auto}.modal-availability__heading{margin:0;font-family:var(--font-display, "Alpha Lyrae", serif);font-size:22px;font-weight:500;line-height:30px;color:inherit}.modal-availability__note{font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:13px;line-height:23px;margin:0}.modal-availability__cta{align-self:flex-start;border:1px solid rgba(249,249,249,.5);background:none;padding:11px 16px;cursor:pointer;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:inherit}[data-site-variant=v3] .modal-availability{width:min(420px,calc(100vw - 40px));background:var(--v3-background);color:var(--v3-text);padding:30px;gap:16px}[data-site-variant=v3] .modal-availability__status{color:var(--v3-muted)}[data-site-variant=v3] .modal-availability__status:before{background:var(--v3-coral)}[data-site-variant=v3] .modal-availability__heading{font-size:24px;line-height:32px;color:var(--v3-text)}[data-site-variant=v3] .modal-availability__note{color:#4b4741}[data-site-variant=v3] .modal-availability__cta{border-color:#1d1d1d33;color:var(--v3-text)}[data-site-variant=v3] .modal-availability__cta:hover,[data-site-variant=v3] .modal-availability__cta:focus-visible{border-color:var(--v3-site-accent);color:var(--v3-site-accent)}[data-site-variant=v3] .modal-demo-reel{width:min(1000px,calc(100vw - 80px));background:var(--v3-background);color:var(--v3-text)}[data-site-variant=v3] .modal-demo-reel .vimeo-embed-wrapper{width:100%;padding-bottom:56.25%;background:var(--v3-text)}[data-site-variant=v3] .modal-demo-reel__footer{padding:10px 12px;border-top:1px solid rgba(29,29,29,.12);color:var(--v3-muted)}.modal-tools,.modal-skillsets{position:relative;border-radius:5px;padding:16px;width:170px;box-shadow:3px 4px #00000040}.modal-tools{background:var(--accent-coral);color:var(--brand-white)}.modal-skillsets{background:var(--accent-amber);color:var(--brand-navy)}.sidebar-modal__title{font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:calc(var(--fontsize-body-copy) * 1px);font-weight:700;margin:0 0 12px;padding-right:24px;line-height:1.1}.sidebar-modal .sidebar-modal__close{position:absolute;top:10px;right:10px;background:none;border:1px solid currentColor;color:inherit;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer;border-radius:2px;padding:0;line-height:1}.modal-tools ul,.modal-skillsets ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.modal-tools li,.modal-skillsets li{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;color:#030e35db;border:1px solid rgba(3,14,53,.48);border-radius:2px;padding:3px 7px;white-space:nowrap}.modal-tools li{color:var(--brand-white, #F9F9F9);border-color:#f9f9f99e}#modal-demo-reel .modal__titlebar{background:#050e25;color:#f9f9f9;border-bottom:1px solid rgba(249,249,249,.15)}#modal-about-mini .modal__titlebar{background:#4cd39a;color:#050e25}#modal-availability .modal__titlebar{background:#2e5cff;color:#f9f9f9}[data-site-variant=v3] #modal-demo-reel .modal__titlebar,[data-site-variant=v3] #modal-about-mini .modal__titlebar,[data-site-variant=v3] #modal-availability .modal__titlebar,[data-site-variant=v3] #modal-contact-form .modal__titlebar{background:var(--v3-background);color:var(--v3-text);border-bottom:1px solid rgba(29,29,29,.12)}[data-site-variant=v3] .modal__expanded{border:1px solid rgba(29,29,29,.14);border-radius:0;box-shadow:0 30px 70px #1d1d1d42}[data-site-variant=v3] .modal__titlebar{padding:10px 12px;font-size:10px;letter-spacing:.04em}[data-site-variant=v3] .modal__close{width:24px;height:24px;border-color:#1d1d1d29;border-radius:0;font-size:11px}[data-site-variant=v3] .modal__backdrop{background:#1d1d1d4d;backdrop-filter:blur(3px) saturate(.92)}#modal-tools .modal__titlebar,#modal-skillsets .modal__titlebar{display:none}[id^=modal-project-credits-] .modal__titlebar,[id^=modal-word-notes-] .modal__titlebar{background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9);border-bottom:0;justify-content:flex-end!important;padding:10px 10px 6px!important}.vimeo-embed-wrapper{position:relative;width:449px;max-width:100%;height:0;padding-bottom:252.5625px;overflow:hidden;background:#000}.vimeo-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-lightbox{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center}.video-lightbox[aria-hidden=false]{display:flex}.video-lightbox__backdrop{position:absolute;inset:0;background:#000000e0}.video-lightbox__container{position:relative;z-index:1;width:min(90vw,1100px)}.video-lightbox__close{position:absolute;top:-36px;right:0;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border-radius:3px;padding:0}.video-lightbox__close:hover{border-color:#fff}.video-lightbox__ratio{position:relative;padding-bottom:56.25%;height:0;background:#000}.video-lightbox__ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%}.image-lightbox{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center}.image-lightbox[aria-hidden=false]{display:flex}.image-lightbox__backdrop{position:absolute;inset:0;background:#000000e0}.image-lightbox__container{position:relative;z-index:1;max-width:90vw;max-height:90vh}.image-lightbox__close{position:absolute;top:-36px;right:0;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border-radius:3px;padding:0}.image-lightbox__close:hover{border-color:#fff}.image-lightbox__img{display:block;max-width:90vw;max-height:90vh;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:3px}.mobile-modal-zone{display:none}@media (max-width: 767px){.mobile-modal-zone{display:block;width:100%}.mobile-modal-icons{display:flex;flex-direction:row;justify-content:flex-start;gap:8px;padding:16px 16px 8px;overflow-x:auto}.mobile-modal-icon{width:min(80px,22vw);min-width:70px;height:80px;border-radius:5px;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;box-shadow:3px 4px #0003;flex-shrink:0}.mobile-modal-icon--about{background:var(--accent-green);color:var(--brand-navy)}.mobile-modal-icon--availability,.mobile-modal-icon--reel{background:var(--brand-navy);color:var(--brand-white)}.mobile-modal-icon--contact{background:var(--accent-green);color:var(--brand-navy)}.mobile-modal-icon__letter{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:28px;line-height:1}.mobile-modal-icon__label{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.mobile-modal-icon__dot{width:28px;height:28px;border-radius:50%;background:var(--accent-coral);display:block}.mobile-modal-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;overflow:hidden}.mobile-modal-panel[data-state=open]{grid-template-rows:1fr}.mobile-modal-panel__inner{overflow:hidden;min-height:0}.mobile-panel-about{background:var(--accent-green);color:var(--brand-navy);padding:20px 16px;position:relative;margin:8px 16px;border-radius:5px}.mobile-panel-availability{background:#2e5cff;color:var(--brand-white);padding:20px 16px;position:relative;margin:8px 16px;border-radius:5px}.mobile-panel-reel{background:var(--brand-navy);color:var(--brand-white);padding:16px;position:relative;margin:8px 16px;border-radius:5px}.mobile-panel-contact{background:var(--v3-background, var(--color-milk));color:var(--v3-text, var(--brand-navy));padding:20px 16px;position:relative;margin:8px 16px;border:1px solid rgba(29,29,29,.14);border-radius:0}.mobile-panel-contact .contact-modal-form{width:100%;padding:16px 0 0}.mobile-panel__close{position:absolute;top:10px;right:10px;background:none;border:1px solid currentColor;color:inherit;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer;border-radius:2px;padding:0;line-height:1}.mobile-panel__heading{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:16px;font-weight:700;line-height:1.3;margin:0 0 12px;padding-right:24px}.mobile-panel__body{font-family:var(--font-body, "ST Monochromic v.01", serif);font-size:14px;line-height:1.6;margin:0}.mobile-panel__status{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:16px;font-weight:700;color:var(--accent-green);margin:0 0 8px}.mobile-panel__label{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;margin:0 0 8px;opacity:.7}.mobile-panel-reel .vimeo-embed-wrapper{width:100%;padding-bottom:56.25%}}.folio-article-content{display:flex;flex-direction:column;gap:40px;padding:40px 48px;overflow-y:auto;flex:1}.folio-article-header{display:flex;flex-direction:column;gap:12px;padding-bottom:28px;border-bottom:1px solid var(--color-border-default)}.folio-article-meta{display:flex;align-items:center;gap:12px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--neutral-gray-mid)}.folio-article-title{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:36px;line-height:1.1;margin:0;color:var(--brand-navy, #030E35)}.folio-article-tags{display:flex;flex-wrap:wrap;gap:8px}.folio-article-body{display:flex;flex-direction:column;gap:28px;font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:calc(var(--fontsize-body-copy, 20) * 1px);line-height:calc(var(--lineheight-body-copy, 30) * 1px);color:var(--brand-navy, #030E35)}.folio-article-body p{margin:0}.folio-article-body a{color:inherit;text-decoration:underline;text-underline-offset:3px}.folio-article-body a:hover{text-decoration-color:var(--accent-green, #4DD39A)}.folio-article-body h1,.folio-article-body h2,.folio-article-body h3{color:var(--brand-navy, #030E35);margin:0}.folio-article-body h1{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:30px;font-weight:500;line-height:1.15}.folio-article-body h2{font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:18px;font-weight:700;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}.folio-article-body h3{font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:16px;font-weight:700;line-height:1.45}.folio-article-body hr{margin:0;border:0;border-top:1px solid var(--neutral-gray-light, #DDE0ED)}.folio-article-body img{width:100%;height:auto;display:block;border-radius:3px;cursor:zoom-in}.folio-article-body pre{max-width:100%;max-height:400px;overflow-x:auto;overflow-y:auto;box-sizing:border-box;padding:18px 20px;margin:0;border-radius:3px;background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:13px;line-height:1.55}.folio-article-body pre code{font-family:inherit;color:inherit;white-space:pre}.folio-article-body pre.pre-collapsible:not(.pre-collapsed){max-height:none;overflow-y:visible}.folio-article-body pre+.folio-code-toggle{align-self:flex-start;margin-top:-18px}.folio-code-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-navy, #030E35);border-radius:999px;background:transparent;color:var(--brand-navy, #030E35);cursor:pointer;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;letter-spacing:.05em;line-height:1;padding:8px 12px;text-transform:uppercase}.folio-code-toggle:hover,.folio-code-toggle:focus-visible{background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9)}.folio-article-body figure{margin:0;display:flex;flex-direction:column;gap:8px}.folio-article-body figcaption{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;color:var(--neutral-gray-mid)}.folio-article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;border-spacing:0;font-size:15px;line-height:1.45}.folio-article-body th,.folio-article-body td{min-width:140px;padding:10px 12px;border:1px solid rgba(3,14,53,.18);text-align:left;vertical-align:top}.folio-article-body th{background:#030e3514;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.folio-article-body tbody tr:nth-child(2n) td{background:#030e3509}.folio-layout-full,.folio-layout-full img{width:100%}.folio-layout-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.folio-layout-two-col img{width:100%;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover;display:block;border-radius:3px}.folio-layout-text-image{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;font-family:var(--font-display, "Alpha Lyrae", serif);font-size:27px;line-height:1.28}.folio-layout-text-image img{width:100%;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover;display:block;border-radius:3px}.folio-text-image-copy{margin:0;color:inherit}.folio-text-image-copy p{margin:0}.folio-text-image-copy--display{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:27px;line-height:1.28}.folio-text-image-copy--body{font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:calc(var(--fontsize-body-copy, 20) * 1px);line-height:calc(var(--lineheight-body-copy, 30) * 1px)}.folio-ai-voice{box-sizing:border-box;width:100%;margin:0;padding:18px 20px;border:1px dashed rgba(3,14,53,.34);border-radius:0;background:repeating-linear-gradient(0deg,#030e350e 0 1px,#f9f9f92e 1px 4px),#030e3509;color:var(--brand-navy, #030E35);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:clamp(16px,1.12vw,19px);font-weight:500;letter-spacing:0;line-height:1.55}.folio-ai-voice[data-ai-voice-ready=true]{padding:0}.folio-ai-voice__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 30px 20px;color:#030e35ad;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:clamp(12px,.95vw,16px);font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.folio-ai-voice__prompt{display:inline-flex;align-items:center;gap:10px;min-width:0}.folio-ai-voice__prompt strong{color:var(--v3-blue, #2E5CFF);font:inherit}.folio-ai-voice__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;border:0;background:transparent;color:#030e359e;cursor:pointer;font:inherit;letter-spacing:inherit;line-height:1;padding:0;text-align:right;text-transform:uppercase}.folio-ai-voice__toggle:hover,.folio-ai-voice__toggle:focus-visible{color:var(--v3-blue, #2E5CFF)}.folio-ai-voice__toggle:focus-visible{outline:1px dashed currentColor;outline-offset:4px}.folio-ai-voice__body{box-sizing:border-box;overflow:hidden;padding:0 30px 30px;transition:max-height .26s cubic-bezier(.2,.6,.2,1),opacity .18s ease,padding .26s cubic-bezier(.2,.6,.2,1)}.folio-ai-voice[data-state=collapsed] .folio-ai-voice__body{padding-top:0;padding-bottom:0}.folio-ai-voice__body>p:first-child:first-line{color:#030e35eb;font-size:clamp(21px,1.8vw,30px);font-weight:800;line-height:1.2}.folio-ai-voice p{margin:0}.folio-ai-voice h3{margin:1.45em 0 .55em;color:#030e35f0;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:clamp(19px,1.35vw,24px);font-weight:800;letter-spacing:0;line-height:1.25}.folio-ai-voice h3:first-child{margin-top:0}.folio-ai-voice h3:before{content:"> ";color:var(--v3-blue, #2E5CFF)}.folio-ai-voice ul{margin:0;padding-left:1.15em}.folio-ai-voice li+li{margin-top:.25em}.folio-ai-voice p+p,.folio-ai-voice p+ul,.folio-ai-voice ul+p,.folio-ai-voice ul+ul{margin-top:.85em}@media (prefers-reduced-motion: reduce){.folio-ai-voice__body{transition:none}}.folio-aside{box-sizing:border-box;width:calc(100% - 40px);margin:0 20px;padding-left:14px;border-left:1px solid rgba(3,14,53,.18);color:var(--neutral-gray-mid, #7C7C7C);font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:15px;font-style:italic;line-height:1.6}.folio-article-nav{display:flex;align-items:center;justify-content:space-between;padding-top:32px;border-top:1px solid var(--color-border-default);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.folio-nav-link{color:inherit;text-decoration:none}.folio-nav-link:hover{text-decoration:underline;text-underline-offset:3px}.folio-nav-placeholder{display:inline-block;width:60px}.project-credits-body{display:flex;flex-direction:column;gap:0;padding:12px 18px 18px;background:var(--brand-navy, #030E35);min-width:220px;max-width:280px;color:var(--brand-white, #F9F9F9)}.project-credits-heading{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:22px;font-weight:400;line-height:1.2;color:var(--brand-white, #F9F9F9);margin:0 0 12px}.project-credits-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.project-credits-tag{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-green, #4CD39A);border:1px solid var(--accent-green, #4CD39A);border-radius:2px;padding:3px 7px;white-space:nowrap;overflow:hidden;max-width:2.5em;transition:max-width .6s ease-in-out;cursor:default}.project-credits-tag:hover{max-width:20em}.tag-abbr{flex:0 0 auto;max-width:2ch;overflow:hidden;text-align:center;transition:max-width .6s ease-in-out,opacity .6s ease-in-out}.project-credits-tag:hover .tag-abbr{opacity:0;max-width:0}.tag-full{flex-shrink:0;opacity:0;max-width:0;overflow:hidden;text-align:center;transition:max-width .6s ease-in-out,opacity .6s ease-in-out;white-space:nowrap}.project-credits-tag:hover .tag-full{opacity:1;max-width:20em}.project-credits-section{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:4px}.project-credits-label{display:block;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#f9f9f980}.project-credits-section p,.project-credits-markdown{margin:0;font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:13px;line-height:1.6;color:var(--brand-white, #F9F9F9)}.project-credits-markdown>:first-child{margin-top:0}.project-credits-markdown>:last-child{margin-bottom:0}.project-credits-markdown p,.project-credits-markdown ul,.project-credits-markdown ol{margin:0 0 .75em}.project-credits-markdown ul,.project-credits-markdown ol{padding-left:1.25em}.project-credits-markdown a{color:var(--brand-white, #F9F9F9);text-decoration:underline;text-underline-offset:.16em}.project-credits-back{display:block;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#f9f9f973;text-decoration:none;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:8px}.project-credits-back:hover{color:var(--brand-white, #F9F9F9)}a.project-card{display:block;text-decoration:none;color:inherit}a.project-card:hover{cursor:pointer}@media (max-width: 767px){.folio-layout-two-col,.folio-layout-text-image{grid-template-columns:1fr;gap:12px}.folio-ai-voice{width:100%;margin:0;padding:14px}.folio-ai-voice[data-ai-voice-ready=true]{padding:0}.folio-ai-voice__header{align-items:flex-start;flex-direction:column;gap:12px;padding:20px 18px 16px}.folio-ai-voice__body{padding:0 18px 22px}.folio-aside{width:100%;margin:0}.folio-article-body table{font-size:14px}.folio-article-body th,.folio-article-body td{min-width:120px;padding:9px 10px}.folio-article-content{padding:24px 16px 40px}.folio-article-title{font-size:28px}}.folio-article-body blockquote,.folio-article-body blockquote.bq-m{display:flex;flex-direction:column;gap:12px;background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9);padding:20px 24px;margin:0;border-radius:3px;border:none;font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:17px;line-height:1.5}.folio-article-body blockquote.bq-l{background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9);padding:24px 28px;margin:0;border-radius:3px;border:none;font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:22px;line-height:1.4}.folio-article-body blockquote.bq-s{background:var(--brand-navy, #030E35);color:var(--brand-white, #F9F9F9);padding:14px 18px;margin:0;border-radius:3px;border:none;font-family:var(--font-body, "STMonochromicv.01", sans-serif);font-size:13px;line-height:1.6}.folio-article-body blockquote p,.folio-article-body blockquote.bq-l p,.folio-article-body blockquote.bq-s p{margin:0;font-style:normal;color:inherit}.folio-article-body blockquote ul,.folio-article-body blockquote ol{margin:0;padding-left:1.35em;color:inherit}.folio-article-body blockquote ul{list-style:disc}.folio-article-body blockquote ol{list-style:decimal}.folio-article-body blockquote li+li{margin-top:.35em}.folio-article-body blockquote li>ul,.folio-article-body blockquote li>ol{margin-top:.35em}.pullquote{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:24px;line-height:1.3;color:var(--brand-navy, #030E35);margin:0;padding:0;background:none;border:none}.folio-embed-video{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:3px}.folio-embed-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:3px}.folio-card{display:block;text-decoration:none;color:inherit;width:100%;height:181px;border-radius:8px;box-shadow:inset 0 0 0 1.4px var(--accent-green),3px 4px #0000001a;position:relative;overflow:hidden;cursor:pointer}.folio-card__thumb{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--color-border-default, #dde0ed);transform:translateY(0);transition:transform .34s cubic-bezier(.4,0,.2,1)}.folio-card:hover .folio-card__thumb,.folio-card.is-hovered .folio-card__thumb{transform:translateY(-100%)}.folio-card__text{position:absolute;inset:0;background:var(--brand-white, #ffffff);transform:translateY(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 19px;gap:10px}.folio-card:hover .folio-card__text,.folio-card.is-hovered .folio-card__text{transform:translateY(0)}.folio-card__line{height:1px;width:0;background:var(--accent-green, #4DD39A);transition:width .28s ease;transition-delay:0ms}.folio-card:hover .folio-card__line,.folio-card.is-hovered .folio-card__line{width:48px;transition-delay:.2s}.folio-card__title{font-family:Alpha Lyrae,Georgia,serif;font-size:22px;font-weight:700;color:var(--brand-navy, #030E35);margin:0;line-height:1.2;min-height:1.2em}.folio-card.is-typing .folio-card__title:after{content:"|";font-family:IBM Plex Mono,monospace;font-weight:300;font-size:.85em;color:var(--accent-green, #4DD39A);animation:folio-cursor-blink .7s step-end infinite;margin-left:1px}@keyframes folio-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 767px){.folio-card__text,.folio-card__thumb{transition:transform .26s cubic-bezier(.4,0,.2,1)}}[data-site-variant=v3] .folio-article-body.v3-folio-article-body{color:var(--v3-text);font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);font-size:15px;line-height:28px}[data-site-variant=v3] .folio-article-body.v3-words-article-body{max-width:680px;font-size:16px;line-height:30px}[data-site-variant=v3] .folio-article-body.v3-words-article-body h2{color:var(--v3-text);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:clamp(26px,3vw,32px);font-weight:500;line-height:1.15;letter-spacing:0;text-transform:none}[data-site-variant=v3] .folio-article-body.v3-words-article-body blockquote,[data-site-variant=v3] .folio-article-body.v3-words-article-body blockquote.bq-m,[data-site-variant=v3] .folio-article-body.v3-words-article-body blockquote.bq-l,[data-site-variant=v3] .folio-article-body.v3-words-article-body blockquote.bq-s{max-width:760px;background:transparent;color:var(--v3-text);padding:2px 0 2px clamp(22px,3vw,30px);border-left:3px solid var(--v3-site-accent);border-radius:0;box-shadow:none}[data-site-variant=v3] .folio-article-body.v3-studio-entry__body,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body p,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body li{color:#f9f9f9d1}[data-site-variant=v3] .folio-article-body.v3-studio-entry__body h1,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body h2,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body h3,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body a,[data-site-variant=v3] .folio-article-body.v3-studio-entry__body .pullquote{color:var(--v3-background)}@media (max-width: 640px){.v3-studio__brand i,.v3-interior-panel__brand i{width:5px}.v3-mobile-sheet{position:fixed;inset:0;z-index:210;display:block;pointer-events:none}.v3-mobile-sheet[hidden]{display:none}.v3-mobile-sheet__backdrop{position:absolute;inset:0;border:0;padding:0;background:#00000075;opacity:0;transition:opacity .22s cubic-bezier(.2,.6,.2,1)}.v3-mobile-sheet__panel{position:absolute;right:0;bottom:0;left:0;max-height:calc(100dvh - 56px);overflow-y:auto;padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));transform:translateY(102%);transition:transform .22s cubic-bezier(.2,.6,.2,1)}.v3-mobile-sheet[data-state=open]{pointer-events:auto}.v3-mobile-sheet[data-state=open] .v3-mobile-sheet__backdrop{opacity:1}.v3-mobile-sheet[data-state=open] .v3-mobile-sheet__panel{transform:translateY(0)}.mobile-panel-about,.v3-mobile-sheet .mobile-panel-about,.v3-home-inline-panel .mobile-panel-about{display:flex;flex-direction:column;gap:18px;margin:0;padding:18px 16px 20px;border:1px solid rgba(29,29,29,.14);border-radius:0;background:var(--v3-background, #f7f7f5);color:var(--v3-text, #1d1d1d);font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);line-height:1.55}.mobile-modal-panel .mobile-panel-about{margin:8px 16px}.v3-mobile-sheet .mobile-panel-about,.v3-mobile-sheet .mobile-panel-availability,.v3-mobile-sheet .mobile-panel-contact{margin:0;box-shadow:0 -18px 42px #00000038}.mobile-panel-about h2{margin:0;padding-right:24px;color:var(--v3-text, #1d1d1d);font-family:var(--font-display, "Alpha Lyrae", serif);font-size:30px;font-weight:500;font-synthesis:none;line-height:1.14;letter-spacing:0}.mobile-panel-about .mobile-panel__body,.mobile-panel-about .v3-modal-about__links p{margin:0;color:inherit;font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace);font-size:14px;line-height:1.6}.mobile-panel-about .v3-modal-about__rule{width:76px;height:3px}.mobile-panel-about .v3-modal-about__headshot{aspect-ratio:4 / 3}.mobile-panel-about .v3-modal-about__lists{grid-template-columns:minmax(0,1fr)}.mobile-panel-about .v3-modal-about__lists section{padding:14px}.mobile-panel-about .v3-modal-about__jobs article{grid-template-columns:12px minmax(0,1fr);gap:8px 10px;padding:12px 14px}.mobile-panel-about .v3-modal-about__jobs time{grid-column:2}.mobile-panel-about .v3-modal-about__links{gap:9px}.mobile-panel-availability{margin:8px 16px;padding:20px 16px;border-radius:0;background:var(--v3-background, #f7f7f5);color:var(--v3-text, #1d1d1d);border:1px solid rgba(29,29,29,.14)}.mobile-panel-availability .modal-availability__heading{color:var(--v3-text, #1d1d1d);font-size:23px;line-height:1.22}.mobile-panel-availability .modal-availability__note{color:#1d1d1db8}.mobile-panel-availability .modal-availability__cta{color:var(--v3-text, #1d1d1d);border-color:#1d1d1d33}}.modal[data-astro-cid-qmzm2soj]{position:fixed;z-index:200;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.modal[data-astro-cid-qmzm2soj][data-ready=false]{visibility:hidden}.modal__backdrop[data-astro-cid-qmzm2soj]{display:none;position:fixed;inset:0;z-index:0;border:0;padding:0;background:#00000080;cursor:pointer}.modal__overlay-grid[data-astro-cid-qmzm2soj]{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,#1d1d1d1c 0 1px,#0000 1px 4px),repeating-linear-gradient(90deg,#1d1d1d1c 0 1px,#0000 1px 4px)}.modal[data-astro-cid-qmzm2soj]:active{cursor:grabbing}.modal__icon[data-astro-cid-qmzm2soj]{display:none;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;border-radius:6px;background:var(--icon-bg, #050E25);color:var(--icon-color, #F9F9F9);position:relative;z-index:1;gap:0;border:1px solid rgba(255,255,255,.9);box-shadow:3px 4px #00000040;overflow:hidden}.modal__icon-letter[data-astro-cid-qmzm2soj]{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:30px;line-height:1;color:var(--icon-glyph-color, var(--icon-color))}.modal__icon-label[data-astro-cid-qmzm2soj]{font-family:var(--font-display, "Alpha Lyrae", serif);font-size:13px;letter-spacing:0;text-transform:uppercase;margin-top:-4px;color:var(--icon-color)}.modal__expanded[data-astro-cid-qmzm2soj]{display:none;flex-direction:column;border-radius:5px;overflow:hidden;position:relative;z-index:1;box-shadow:3px 4px #00000040}.modal__titlebar[data-astro-cid-qmzm2soj]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px}.modal__close[data-astro-cid-qmzm2soj]{background:none;border:1px solid currentColor;color:inherit;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer;border-radius:2px;flex-shrink:0;padding:0}.modal__body[data-astro-cid-qmzm2soj]{-webkit-user-select:text;-moz-user-select:text;user-select:text}.modal[data-astro-cid-qmzm2soj][data-state=collapsed] .modal__icon[data-astro-cid-qmzm2soj]{display:flex}.modal[data-astro-cid-qmzm2soj][data-state=collapsed] .modal__expanded[data-astro-cid-qmzm2soj],.modal[data-astro-cid-qmzm2soj][data-state=open] .modal__icon[data-astro-cid-qmzm2soj]{display:none}.modal[data-astro-cid-qmzm2soj][data-state=open] .modal__expanded[data-astro-cid-qmzm2soj]{display:flex}.modal[data-astro-cid-qmzm2soj][data-state=open][data-overlay=true] .modal__backdrop[data-astro-cid-qmzm2soj],.modal[data-astro-cid-qmzm2soj][data-state=open][data-overlay=true] .modal__overlay-grid[data-astro-cid-qmzm2soj]{display:block}.modal[data-astro-cid-qmzm2soj][data-state=hidden] .modal__icon[data-astro-cid-qmzm2soj],.modal[data-astro-cid-qmzm2soj][data-state=hidden] .modal__expanded[data-astro-cid-qmzm2soj],.modal[data-astro-cid-qmzm2soj][data-state=hidden] .modal__backdrop[data-astro-cid-qmzm2soj],.modal[data-astro-cid-qmzm2soj][data-state=hidden] .modal__overlay-grid[data-astro-cid-qmzm2soj]{display:none}.modal[data-astro-cid-qmzm2soj]{transition:none}.modal__icon[data-astro-cid-qmzm2soj],.modal__expanded[data-astro-cid-qmzm2soj]{transition:opacity .18s ease,transform .18s ease}#modal-about-mini[data-astro-cid-qmzm2soj][data-state=hidden]{pointer-events:none}#modal-about-mini[data-astro-cid-qmzm2soj] .modal__expanded[data-astro-cid-qmzm2soj]{display:flex;opacity:0;pointer-events:none;transform:translate(-28px);transition:opacity .26s cubic-bezier(.2,.6,.2,1),transform .26s cubic-bezier(.2,.6,.2,1),visibility 0s linear .26s;visibility:hidden;will-change:opacity,transform}#modal-about-mini[data-astro-cid-qmzm2soj][data-state=open] .modal__expanded[data-astro-cid-qmzm2soj]{opacity:1;pointer-events:auto;transform:translate(0);transition:opacity .26s cubic-bezier(.2,.6,.2,1),transform .26s cubic-bezier(.2,.6,.2,1),visibility 0s;visibility:visible}.v3-control-panel[data-astro-cid-ibpy6b6a]{width:min(306px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 48px));overflow:auto;display:flex;flex-direction:column;padding:22px 22px 26px;background:var(--v3-control-surface, rgba(247, 247, 245, .86));color:var(--v3-text);border:1px solid var(--v3-control-border, rgba(29, 29, 29, .13));backdrop-filter:blur(14px);font-family:var(--font-body, "ST Monochromic v.01", ui-monospace, monospace)}.v3-control-panel__axis[data-astro-cid-ibpy6b6a],.v3-control-panel__slider[data-astro-cid-ibpy6b6a],.v3-control-panel__accent[data-astro-cid-ibpy6b6a]{display:flex;flex-direction:column;gap:9px;padding:15px 0;border-top:1px solid var(--v3-control-border, rgba(29, 29, 29, .13))}.v3-control-panel__axis[data-astro-cid-ibpy6b6a]:first-child{border-top:0;padding-top:0}.v3-control-panel__heading[data-astro-cid-ibpy6b6a]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.v3-control-panel[data-astro-cid-ibpy6b6a] h2[data-astro-cid-ibpy6b6a]{margin:0;color:inherit;font:700 9px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.14em;text-transform:uppercase;opacity:.55}.v3-control-panel__heading[data-astro-cid-ibpy6b6a] span[data-astro-cid-ibpy6b6a],.v3-control-panel__accent-controls[data-astro-cid-ibpy6b6a] span[data-astro-cid-ibpy6b6a]{color:var(--v3-site-accent);font:500 9px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.08em;text-transform:uppercase}.v3-control-panel__chips[data-astro-cid-ibpy6b6a]{display:flex;flex-wrap:wrap;gap:3px}.v3-control-chip[data-astro-cid-ibpy6b6a]{border:1px solid var(--v3-control-chip-border, rgba(29, 29, 29, .16));border-radius:0;padding:6px 9px;background:transparent;color:inherit;font:500 10px/1.1 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.v3-control-chip[data-astro-cid-ibpy6b6a]:hover,.v3-control-chip[data-astro-cid-ibpy6b6a][aria-pressed=true]{border-color:var(--v3-site-accent)}.v3-control-chip[data-astro-cid-ibpy6b6a][aria-pressed=true]{background:var(--v3-site-accent);color:#fff}.v3-control-panel__note[data-astro-cid-ibpy6b6a]{margin:0;color:inherit;font-size:11px;line-height:16px;opacity:.42}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=range]{width:100%;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;color:inherit;cursor:pointer}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=range]::-webkit-slider-runnable-track{height:1px;background:currentColor;opacity:.35}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=range]::-webkit-slider-thumb{width:9px;height:21px;margin-top:-10px;border:0;border-radius:0;background:currentColor;appearance:none;-webkit-appearance:none}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=range]::-moz-range-track{height:1px;background:currentColor;opacity:.35}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=range]::-moz-range-thumb{width:9px;height:21px;border:0;border-radius:0;background:currentColor}.v3-control-panel__accent[data-astro-cid-ibpy6b6a]{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.v3-control-panel__accent-controls[data-astro-cid-ibpy6b6a]{display:flex;align-items:center;gap:8px}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=color]{width:26px;height:26px;border:0;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;cursor:pointer}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=color]::-webkit-color-swatch-wrapper{padding:0}.v3-control-panel[data-astro-cid-ibpy6b6a] input[data-astro-cid-ibpy6b6a][type=color]::-webkit-color-swatch{border:1px solid rgba(128,128,128,.5);border-radius:0}.v3-control-panel__randomize[data-astro-cid-ibpy6b6a]{width:100%;margin-top:8px;border:1px solid var(--v3-site-accent);border-radius:0;padding:11px;background:transparent;color:var(--v3-site-accent);font:700 10px/1.2 var(--font-mono, "IBM Plex Mono", monospace);letter-spacing:.12em;cursor:pointer}@media (max-width: 640px){.v3-control-panel[data-astro-cid-ibpy6b6a]{width:calc(100vw - 28px);padding:18px}}.site-datamosh-field[data-astro-cid-4w2hwloe]{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;background:var(--v3-background, var(--color-milk));pointer-events:none}.site-datamosh-field[data-astro-cid-4w2hwloe][data-datamosh-surface-mode=dark]{background:#0c0d0e}@media (max-width: 767px){.site-datamosh-field[data-astro-cid-4w2hwloe]{display:none}}
