@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-vietnamese-wght-normal.0da2o5sn3utep.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-ext-wght-normal.0ww4yqxbk72bj.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-wght-normal.092gko6h6levo.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#0b0d12;--surface:#11141c;--surface-raised:#171b25;--line:#242a37;--text:#eff1f7;--muted:#a1a9b9;--accent:#97aaff;--accent-strong:#718bff;--mono:"IBM Plex Mono", monospace;--font:"Space Grotesk Variable", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default}::selection{color:#080b17;background:#8096ff}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:focus-visible{outline-offset:3px}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button{border:0}section[id]{scroll-margin-top:95px}.section-shell{width:min(1240px,100% - 112px);margin-inline:auto}.eyebrow{font-family:var(--mono);letter-spacing:1.4px;color:var(--accent);align-items:center;gap:9px;font-size:10px;font-weight:400;display:flex}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.skip-link{z-index:100;background:var(--accent);color:var(--bg);border-radius:4px;padding:12px 18px;position:fixed;top:-70px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:#0b0d12e8;height:88px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:30px;width:min(1240px,100% - 112px);height:100%;margin:auto;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{letter-spacing:-2.5px;font-size:34px;font-weight:650;line-height:1}.brand-mark>span{color:var(--accent)}.brand-name{font-family:var(--mono);letter-spacing:1.2px;border-left:1px solid #313747;padding-left:14px;font-size:10px}.brand-name>span{color:var(--muted);letter-spacing:2px;margin-top:5px;font-size:8px;display:block}.site-nav{color:#c1c7d4;gap:30px;font-size:12px;display:flex}.site-nav a{transition:color .2s}.site-nav a:hover{color:var(--accent)}.header-actions{align-items:center;gap:25px;display:flex}.terminal-trigger{color:var(--muted);background:0 0;align-items:center;gap:8px;padding:10px 0;display:flex}.terminal-trigger kbd{font-family:var(--mono);border:1px solid var(--line);border-radius:4px;padding:3px 5px;font-size:9px}.terminal-trigger:hover{color:var(--accent)}.header-contact{background:#1a1e2b;border:1px solid #31384a;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;font-size:11px;display:flex}.header-contact:hover{background:#252d42}.menu-toggle,.mobile-contact{display:none}.hero{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:26px 65px;padding-top:83px;display:grid;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#5364cd0c 0,#0000 65%);width:min(800px,100%);height:850px;position:absolute;top:-100px;right:0}.hero-copy{animation:.7s both enter}.hero-eyebrow{font-size:10px;font-family:var(--mono);letter-spacing:1.45px;color:#c0c6d6;align-items:center;gap:9px;margin-bottom:30px;display:flex}.hero-dot,.contact-note>span{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #6d83ff60}.hero h1{letter-spacing:-4.8px;font-size:clamp(55px,5.8vw,83px);font-weight:500;line-height:1.035}.hero h1>span:not(.hero-period),.hero-period{color:var(--accent)}.hero-copy>p{max-width:510px;color:var(--muted);margin-top:28px;font-size:14px;line-height:1.95}.hero-actions{gap:12px;margin-top:32px;display:flex}.button{border-radius:6px;justify-content:center;align-items:center;gap:16px;min-height:47px;padding:0 20px;font-size:12px;transition:background .2s,transform .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#101426;border:1px solid var(--accent);font-weight:600}.button-primary:hover{background:#b3c1ff;border-color:#b3c1ff}.button-secondary{color:#d5d9e5;background:#10131c;border:1px solid #373d4c}.button-secondary:hover{background:#1b2030;border-color:#54618a}.hero-system{align-self:center;padding-top:15px;animation:.9s .1s both enter}.visual-footnote{font-family:var(--mono);letter-spacing:1px;color:#8c96ae;justify-content:center;align-items:center;gap:7px;margin-top:19px;font-size:8px;display:flex}.hero-bottom{font-family:var(--mono);letter-spacing:1.05px;color:#bbc2d1;border-bottom:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:15px;padding:43px 0 27px;font-size:9px;display:flex}.hero-bottom>span .mono{margin-right:15px}.hero-bottom>a{color:var(--muted);align-items:center;gap:10px;font-size:8px;display:flex}.system-visual{background:linear-gradient(145deg,#161b298a,#0e121de6);border:1px solid #30384c;border-radius:12px;overflow:hidden;box-shadow:0 0 80px #4766ee06,0 22px 80px #0003}.system-top{font:8px var(--mono);letter-spacing:1.2px;color:#aab6d2;border-bottom:1px solid #262e42;justify-content:space-between;align-items:center;padding:17px 19px;display:flex}.system-top>span:first-child{align-items:center;gap:8px;display:flex}.system-top i{background:#88a0ff;border-radius:50%;width:5px;height:5px}.system-diagram{background:radial-gradient(#5a72ea16,#0000 65%);height:300px;position:relative;overflow:hidden}.diagram-grid{background-image:linear-gradient(#5c70bd0a 1px,#0000 1px),linear-gradient(90deg,#5c70bd0a 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.architecture-cube{filter:drop-shadow(0 0 15px #7186ff28);width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.system-visual:hover .architecture-cube{transform:translateY(-4px)}.diagram-label{color:#cbd3ef;font:8px var(--mono);letter-spacing:1px;background:#101521cf;border:1px solid #364363;border-radius:4px;padding:7px 9px;line-height:1.6;transition:border-color .2s;position:absolute}.diagram-label>span{color:#8c98b9;letter-spacing:0;font-size:7px;display:block}.label-client{top:82px;left:16px}.label-server{top:127px;right:15px}.label-data{bottom:14px;left:calc(50% - 58px)}.layer-0 .label-client,.layer-1 .label-server,.layer-2 .label-data{border-color:var(--accent);box-shadow:0 0 18px #718bff10}.system-switcher{gap:4px;padding:0 17px;display:flex}.system-switcher button{color:#aeb8cf;background:#111725;border:1px solid #29324a;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:35px;font-size:10px;display:flex}.system-switcher button[aria-pressed=true]{color:#c1ceff;background:#23304c;border-color:#5671bc}.system-switcher button:hover{border-color:#8196d9}.system-description{color:#b0bdd7;min-height:73px;padding:15px 19px;font-size:11px;line-height:1.7}.system-console{color:#98aade;font:8px var(--mono);background:#101520;border-top:1px solid #273148;align-items:center;gap:8px;padding:13px 17px;display:flex}.projects-section,.expertise-section,.lab-section{padding-top:96px;padding-bottom:80px}.section-heading{justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:35px;display:flex}.section-heading h2,.about-copy h2{letter-spacing:-2px;margin-top:20px;font-size:clamp(34px,3.5vw,50px);font-weight:500;line-height:1.12}.section-heading h2>span,.about-copy h2>span{color:#8993a9}.section-heading>p{max-width:343px;color:var(--muted);padding-bottom:4px;font-size:12px;line-height:1.85}.project-filters{gap:7px;margin-bottom:27px;display:flex}.project-filters button{color:#aeb6c8;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:11px;min-height:36px;padding:9px 13px;font-size:10px;display:flex}.project-filters button>span{font:9px var(--mono);color:#929db5}.project-filters button[aria-pressed=true]{color:var(--text);background:#1b2130;border-color:#363f52}.project-filters button:hover{background:#181e2a}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.project-card{background:#11151e;border:1px solid #2a303f;border-radius:9px;flex-direction:column;transition:transform .25s,border-color .25s;display:flex;overflow:hidden}.project-card:hover{border-color:#596987;transform:translateY(-5px)}.project-card:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.project-card:last-child:nth-child(odd) .project-visual{border:0;height:100%;min-height:270px}.project-card-copy{flex-direction:column;flex:1;padding:23px 22px;display:flex}.project-meta{font:7px var(--mono);letter-spacing:.75px;justify-content:space-between;align-items:center;gap:12px;line-height:1.6;display:flex}.project-meta>span:first-child{color:#a2adc3;flex-shrink:1}.project-status{color:#b6bfce;letter-spacing:0;font-family:var(--mono);white-space:nowrap;background:#1d2431;border:1px solid #3b4252;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:8px;display:flex}.project-status.live{color:#aed4c5;background:#1b2927;border-color:#3e6156}.project-status.live i{background:#9ad7bf;border-radius:50%;width:4px;height:4px}.project-card h3{letter-spacing:-.8px;justify-content:space-between;align-items:center;margin-top:18px;font-size:26px;font-weight:500;display:flex}.project-card h3 svg{color:#a5b2cd;transition:transform .2s}.project-card:hover h3 svg{color:var(--accent);transform:translate(3px,-3px)}.project-card-copy>p{color:var(--muted);margin:12px 0 18px;font-size:11px;line-height:1.8}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags>span{font-family:var(--mono);color:#b1bdd2;background:#141b2a;border:1px solid #2d364a;border-radius:3px;padding:4px 6px;font-size:7px}.project-read{color:#c9d1e4;align-items:center;gap:8px;margin-top:auto;padding-top:24px;font-size:10px;display:flex}.project-visual{border-bottom:1px solid #ffffff0d;place-items:center;height:230px;display:grid;position:relative;overflow:hidden}.visual-caption{font-family:var(--mono);letter-spacing:1.2px;color:#bfced1aa;font-size:6px;position:absolute;bottom:13px;left:17px}.visual-documents{background:#192b29}.preview-orbit{border:1px solid #a1d8c122;border-radius:50%;width:285px;height:285px;position:absolute;top:25px;box-shadow:0 0 0 40px #acd8c505,0 0 0 80px #acd8c503}.mini-document{color:#2a423b;background:#fbfcf9;border-radius:6px;width:225px;padding:11px 14px;transition:transform .3s;position:relative;transform:rotate(-5deg);box-shadow:0 15px 40px #06100c60}.project-card:hover .mini-document{transform:rotate(-2deg)translateY(-2px)}.mini-logo{letter-spacing:-.4px;font-size:11px;font-weight:600}.mini-logo>span{color:#4a806d;margin-left:3px}.document-transform{justify-content:center;align-items:center;gap:11px;margin:11px 0;display:flex}.document-source{color:#929e96;background:#eef3ef;border:1px solid #d4ddd7;border-radius:2px;width:59px;height:89px;padding:9px 8px}.document-source svg{margin-bottom:7px}.document-source i,.document-result i{background:#b4c1b8;width:100%;height:2px;margin-bottom:5px;display:block}.document-source i:nth-last-child(2){width:70%}.transform-arrow{color:#648571;font-size:17px}.document-result{background:#fff;border:1px solid #e2e8e1;border-top:3px solid #588c79;width:90px;padding:8px 9px;box-shadow:0 4px 8px #2438280a}.document-result>span{letter-spacing:.4px;font-size:5px;font-weight:600;display:block}.document-result>b{letter-spacing:.6px;margin:2px 0 6px;font-size:3px;display:block}.document-result i{background:#ccd6ce;height:1px;margin-bottom:3px}.document-result small{letter-spacing:.3px;color:#62917b;margin:6px 0 3px;font-size:3.5px;display:block}.preview-status{color:#57725f;align-items:center;gap:3px;font-size:6px;display:flex}.visual-restaurant{background:#30251c}.restaurant-shape{border:1px solid #e5a96e2a;border-radius:50%;width:350px;height:350px;position:absolute;top:-125px;right:-60px;box-shadow:0 0 0 33px #e5a96e05,0 0 0 67px #e5a96e05}.restaurant-card{background:#3c2e22;border:1px solid #72533e;border-radius:6px;width:238px;padding:15px;transition:transform .3s;position:relative;transform:rotate(4deg);box-shadow:0 15px 40px #10070250}.project-card:hover .restaurant-card{transform:rotate(1deg)}.restaurant-top{color:#eec9a4;justify-content:space-between;align-items:center;display:flex}.restaurant-top>span{letter-spacing:-.7px;font-size:15px;font-weight:600}.restaurant-top>span>span{color:#ff9d61}.restaurant-card p{letter-spacing:-.7px;color:#eee2d3;margin-top:12px;font-size:21px;line-height:1.1}.restaurant-card strong{color:#e2b080;font-weight:500}.restaurant-blocks{gap:5px;margin-top:14px;display:flex}.restaurant-blocks>div{background:#2b2119;border:1px solid #6c4d37;border-radius:3px;flex:1;padding:8px 5px}.restaurant-blocks span{font:5px var(--mono);color:#b48a64;display:block}.restaurant-blocks b{color:#e9d8c0;margin-top:3px;font-size:6px;font-weight:400;display:block}.restaurant-line{font:5px var(--mono);letter-spacing:.7px;color:#c5a381;justify-content:space-between;align-items:center;margin-top:11px;display:flex}.visual-game{background:#1b2336}.project-gallery-page{min-height:calc(100dvh - 170px);padding-block:54px 88px}.gallery-page-heading{justify-content:space-between;align-items:end;gap:24px;margin:40px 0 36px;display:flex}.gallery-page-heading h1{letter-spacing:-2px;margin:12px 0;font-size:clamp(38px,6vw,72px);line-height:1.1}.gallery-page-heading h1>span{color:var(--accent)}.gallery-page-heading p,.gallery-empty p,.project-gallery-entry p{color:var(--muted);font-size:12px;line-height:1.8}.gallery-count{white-space:nowrap;color:var(--muted);font:11px var(--mono);align-items:center;gap:8px;display:inline-flex}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.gallery-grid-single{grid-template-columns:minmax(0,1fr);max-width:900px}.gallery-item{text-align:left;border:1px solid var(--line);min-width:0;color:var(--text);cursor:zoom-in;background:#10151f;border-radius:9px;display:block;overflow:hidden}.gallery-item:hover{border-color:var(--accent)}.gallery-thumbnail{background:#151a25;display:block;position:relative}.gallery-thumbnail img{object-fit:contain}.gallery-expand{color:#f0f2f8;background:#10151fe8;border:1px solid #ffffff30;border-radius:5px;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:12px;right:12px}.gallery-item-copy{gap:7px;padding:20px;display:grid}.gallery-item-copy strong{font-size:17px;font-weight:500}.gallery-item-copy>span{color:var(--muted);font-size:11px;line-height:1.7}.gallery-empty{text-align:center;background:#111722;border:1px dashed #4a5369;border-radius:10px;padding:64px 24px}.gallery-empty>svg{color:#9eaee0;margin:0 auto 22px}.gallery-empty h2{margin-bottom:12px;font-size:25px;font-weight:500}.gallery-empty p{max-width:400px;margin:0 auto 25px}.project-gallery-entry{background:#141a26;border:1px solid #3b455c;border-radius:8px;align-items:center;gap:20px;margin-top:32px;padding:25px;display:flex}.project-gallery-entry>svg{color:var(--accent);flex-shrink:0}.project-gallery-entry>svg:last-child{margin-left:auto}.project-gallery-entry h2{margin-bottom:5px;font-size:20px;font-weight:500}.project-gallery-entry:hover{border-color:var(--accent)}.gallery-dialog{color:#edf0f8;background:#10151f;border:1px solid #48526b;border-radius:10px;width:min(1200px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0}.gallery-dialog::backdrop{background:#05070ced}body:has(.gallery-dialog[open]){overflow:hidden}.gallery-dialog-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;font-size:13px;display:flex}.gallery-dialog button{width:44px;height:44px;color:inherit;cursor:pointer;background:#1b2232;border:1px solid #47516a;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.gallery-dialog button:hover{background:#2d3750}.gallery-full-image{background:#0b0e15;height:min(68dvh,720px);position:relative}.gallery-full-image img{object-fit:contain}.gallery-dialog-bottom{justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.gallery-dialog-bottom p{color:#b4bed2;font-size:11px;line-height:1.7}.gallery-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.gallery-controls span{font:10px var(--mono)}@media (max-width:600px){.project-gallery-page{padding-block:34px 50px}.gallery-page-heading{flex-direction:column;align-items:start;gap:18px;margin-block:32px}.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-item-copy{padding:16px}.gallery-item-copy strong{font-size:15px}.gallery-expand{min-height:36px;padding:6px 9px;bottom:8px;right:8px}.gallery-empty{padding:40px 20px}.gallery-empty h2{font-size:21px}.project-gallery-entry{gap:13px;padding:18px}.project-gallery-entry h2{font-size:17px}.project-gallery-entry p{font-size:11px}.gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.gallery-dialog-bar{gap:10px;padding:8px 12px;font-size:12px}.gallery-full-image{height:54dvh}.gallery-dialog-bottom{flex-direction:column;align-items:start;gap:12px;padding:12px}}.visual-city{background:#252338}.city-orbit{border:1px solid #a39cdb20;border-radius:50%;width:310px;height:310px;position:absolute;box-shadow:0 0 0 36px #a39cdb05,0 0 0 72px #a39cdb04}.city-workbench{background:#302d48;border:1px solid #746a9b;border-radius:6px;width:248px;max-width:calc(100% - 36px);padding:13px 15px 11px;transition:transform .3s;position:relative;transform:rotate(-4deg);box-shadow:0 15px 40px #0e0b2250}.project-card:hover .city-workbench{transform:rotate(-1deg)}.city-heading>span{color:#e0d8f3;font-size:15px;font-weight:600}.city-heading small{font:5px var(--mono);letter-spacing:.8px;color:#b5a7d3;margin-top:3px;display:block}.city-model{width:100%;height:114px;display:block;overflow:visible}.city-settings{justify-content:space-between;gap:5px;margin-top:8px;display:flex}.city-settings span{text-align:center;font:6px var(--mono);color:#d0c1e6;background:#28243c;border:1px solid #786b9c80;border-radius:3px;flex:1;padding:6px 3px}@media (max-width:600px){.city-workbench{margin-bottom:16px;padding:10px 14px 8px}.city-model{height:96px}}@media (prefers-reduced-motion:reduce){.city-workbench{transition:none}.project-card:hover .city-workbench{transform:rotate(-4deg)}}.about-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr .9fr;gap:110px;padding-block:88px;display:grid}.about-copy>p{color:var(--muted);max-width:480px;margin-top:19px;font-size:12px;line-height:1.9}.about-copy blockquote{letter-spacing:-.25px;color:#cbd2e1;border-left:2px solid #667bbc;max-width:440px;margin:27px 0;padding-left:18px;font-size:17px;line-height:1.65}.text-link{color:var(--accent);align-items:center;gap:10px;font-size:10px;display:flex}.timeline{padding-top:3px}.timeline-item{gap:23px;min-height:104px;display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:#30394c;width:1px;position:absolute;top:38px;bottom:-1px;left:18px}.timeline-marker{color:#b1c2ee;width:37px;height:37px;font:10px var(--mono);background:#141b29;border:1px solid #3c4864;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.timeline-marker.school{color:var(--accent);background:#1a2541;border-color:#7186c3;font-size:14px;font-weight:600}.timeline-item h3{margin-top:7px;font-size:15px;font-weight:500}.timeline-item p{color:var(--muted);max-width:335px;margin-top:8px;padding-bottom:26px;font-size:10px;line-height:1.8}.expertise-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;display:grid;overflow:hidden}.expertise-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:linear-gradient(145deg,#14182180,#0e1119);gap:14px;padding:27px 23px;display:flex;position:relative}.expertise-card:nth-child(3n){border-right:0}.expertise-card:nth-child(n+4){border-bottom:0}.expertise-number{font:9px var(--mono);color:#7586b2;line-height:1.3}.domain-label{font:8px var(--mono);letter-spacing:1.1px;color:var(--accent);display:block}.expertise-card h3{letter-spacing:-.3px;margin-top:14px;font-size:17px;font-weight:500;line-height:1.3}.expertise-card p{color:var(--muted);margin-top:11px;font-size:10px;line-height:1.85}.expertise-card ul{flex-wrap:wrap;gap:5px;margin:19px 0 0;padding:0;list-style:none;display:flex}.expertise-card li{color:#bac3d5;background:#1c2230;border:1px solid #2a3448;border-radius:3px;padding:4px 6px;font-size:8px}.method-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:75px}.method-intro h2{letter-spacing:-1.5px;margin-top:19px;font-size:36px;font-weight:500}.method-intro>p{color:var(--muted);margin-top:13px;font-size:12px;line-height:1.8}.method-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin-top:40px;display:grid}.method-grid article>span{font:11px var(--mono);color:#91a4dd;border-top:1px solid #465471;justify-content:space-between;padding-top:13px;display:flex}.method-grid h3{margin-top:20px;font-size:18px;font-weight:500}.method-grid p{color:var(--muted);max-width:235px;margin-top:10px;font-size:10px;line-height:1.9}.school-panel{background:#151b29;border:1px solid #323e57;border-radius:8px;gap:40px;margin-top:48px;padding:30px 33px;display:flex}.school-symbol{letter-spacing:-5px;color:#a9baff;flex-shrink:0;width:180px;font-size:67px;font-weight:600;line-height:1}.school-symbol>span{font:7px var(--mono);letter-spacing:1.2px;color:#a5b2d0;margin-top:13px;line-height:1.8;display:block}.school-panel h3{letter-spacing:-.5px;font-size:20px;font-weight:500}.school-panel p{color:#aebad0;margin-top:10px;font-size:11px;line-height:1.9}.school-tags{flex-wrap:wrap;gap:17px;margin-top:17px;display:flex}.school-tags>span{color:#c2ceea;align-items:center;gap:5px;font-size:9px;display:flex}.school-tags svg{color:#92a7eb}.lab-section{padding-bottom:91px}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px;display:grid}.lab-card{background:#10151e;border:1px solid #2a3446;border-radius:7px;padding:22px 23px}.lab-card-top{font:8px var(--mono);letter-spacing:1px;color:#8595b4;justify-content:space-between;align-items:center;display:flex}.lab-card-top svg{color:#6a83c5}.lab-line-art{color:#93abec;justify-content:center;align-items:center;gap:13px;height:135px;display:flex;position:relative}.lab-frame{background:#1c2b4550;border:1px solid #617caf;border-radius:5px;width:110px;height:73px;position:absolute;transform:rotate(-8deg)}.lab-frame:before{content:"";background:#6d8cd04a;height:1px;position:absolute;top:12px;left:10px;right:10px}.lab-frame.second{background:0 0;border-color:#6a86bf40;transform:translate(15px,5px)rotate(-2deg)}.lab-frame.third{background:0 0;border-color:#6a86bf20;transform:translate(30px,10px)rotate(4deg)}.lab-code{font:12px var(--mono);color:#91a3c9;line-height:2}.lab-code>b{color:#b4c9ff;font-weight:400}.lab-line-art>i{background:#7d98dc20;border:1px solid #9badde;border-radius:50%;width:15px;height:15px;position:relative;box-shadow:0 0 13px #658bda10}.lab-line-art>i:after{content:"";background:#6082bf;width:15px;height:1px;position:absolute;top:6px;left:14px}.lab-line-art>i:nth-child(2){transform:translateY(-24px)}.lab-line-art>i:nth-child(3){transform:translateY(20px)}.lab-line-art>i:nth-child(4){transform:translateY(-10px)}.lab-line-art>i:last-child:after{display:none}.lab-card h3{letter-spacing:-.4px;margin:11px 0 10px;font-size:19px;font-weight:500}.lab-card p{color:var(--muted);font-size:10px;line-height:1.8}.github-strip{background:#151c28;border:1px solid #303c51;border-radius:7px;align-items:center;gap:18px;margin-top:22px;padding:23px;display:flex}.github-strip-icon{color:#afc2ee;background:#212d41;border:1px solid #37465f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.github-strip h3{font-size:15px;font-weight:500}.github-strip p{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.8}.github-strip a{color:#b7c8f6;white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:10px;display:flex}.contact-section{border-top:1px solid #414c65;border-bottom:1px solid var(--line);padding-block:48px 40px;position:relative}.contact-section:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 100% 100%,#6373c510,#0000 65%);position:absolute;inset:0}.contact-top{justify-content:space-between;gap:25px;display:flex}.contact-note{font:7px var(--mono);letter-spacing:1px;color:#a5b0c8;align-items:center;gap:8px;display:flex}.contact-section h2{letter-spacing:-2.5px;margin-top:39px;font-size:clamp(42px,4.7vw,66px);font-weight:500;line-height:1.14;position:relative}.contact-section h2>span{color:var(--accent)}.contact-arrow{color:#7187c0;stroke-width:1px;width:90px;height:90px;position:absolute;top:27px;right:12px}.contact-bottom{justify-content:space-between;align-items:flex-end;gap:40px;margin-top:39px;display:flex}.contact-mail{letter-spacing:-.4px;flex-wrap:wrap;align-items:center;gap:12px;font-size:19px;display:flex}.contact-mail:hover{color:var(--accent)}.contact-mail>svg:first-child{color:#97a9d7}.copy-email{color:#aab6ce;background:0 0;align-items:center;gap:7px;min-height:36px;margin-top:3px;padding:10px 0;font-size:9px;display:flex}.copy-email:hover{color:var(--accent)}.contact-socials{gap:11px;display:flex}.contact-socials a{background:#141925;border:1px solid #394257;border-radius:5px;align-items:center;gap:8px;min-height:43px;padding:12px 14px;font-size:10px;display:flex}.contact-socials a:hover{border-color:#8a9fdf}.site-footer{justify-content:space-between;align-items:center;padding-block:30px 35px;display:flex}.site-footer>div{align-items:center;gap:15px;display:flex}.footer-brand{letter-spacing:-2px;color:var(--accent);font-size:28px}.site-footer>div>span:last-child{color:#bdc7d9;font-size:9px;line-height:1.8}.footer-location{color:#919db4;font-size:8px;display:block}.site-footer>a{color:#a9b8d4;align-items:center;gap:8px;font-size:9px;display:flex}.terminal-dialog{color:#c7d1ea;background:#111723;border:1px solid #4f608b;border-radius:10px;width:min(660px,100% - 32px);max-height:calc(100vh - 48px);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 40px 120px #0009}.terminal-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05070fb5}.terminal-bar{font:11px var(--mono);background:#1d2638;border-bottom:1px solid #3a4868;justify-content:space-between;align-items:center;padding:10px 17px;display:flex}.terminal-bar>span{align-items:center;gap:8px;display:flex}.terminal-bar button{color:#c7d1ea;background:0 0;border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.terminal-bar button:hover{background:#314161}.terminal-output{height:310px;max-height:45vh;font:11px var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;scrollbar-color:#4e628b #111723;padding:22px;line-height:1.9;overflow-y:auto}.terminal-output>p{color:#94a4c8}.terminal-output .terminal-welcome{color:#c2d1ff}.terminal-entry{margin-top:17px}.terminal-entry>p:first-child{color:#d8e3ff;margin-bottom:5px}.prompt{color:#98b1ff}.terminal-input{border-top:1px solid #384664;align-items:center;gap:12px;padding:13px 20px;display:flex}.terminal-input input{width:100%;min-width:0;font:12px var(--mono);color:#d9e3fc;background:0 0;border:0;outline:0;min-height:32px}.terminal-input input:focus-visible{outline-offset:4px;border-radius:3px;outline:1px solid #718bcc}.terminal-input button{color:#d4e2ff;background:#2b3a56;border-radius:5px;place-items:center;min-width:36px;min-height:36px;display:grid}.terminal-bottom{color:#9cadd0;font:7px var(--mono);letter-spacing:.5px;background:#182131;flex-wrap:wrap;justify-content:space-between;gap:15px;padding:13px 20px;display:flex}.terminal-bottom a{color:#cfdbfb}.project-detail{padding-block:55px 75px}.back-link{color:#adb9d0;align-items:center;gap:9px;font-size:11px;display:inline-flex}.back-link:hover{color:var(--accent)}.detail-header{justify-content:space-between;align-items:flex-end;gap:60px;margin:53px 0 38px;display:flex}.detail-header h1{letter-spacing:-5px;margin-top:20px;font-size:90px;font-weight:500;line-height:1.1}.detail-header h1>span{color:var(--accent)}.detail-headline{color:#b7c3d9;letter-spacing:-.3px;max-width:560px;margin:22px 0;font-size:21px;line-height:1.6}.detail-header .project-tags>span{padding:6px 9px;font-size:9px}.detail-state{flex-direction:column;align-items:flex-end;gap:18px;display:flex}.detail-state .project-status{padding:7px 10px;font-size:10px}.project-detail>.project-visual{border:1px solid #3b4454;border-radius:10px;height:405px}.project-detail .mini-document{width:320px;padding:20px;transform:rotate(-3deg)}.project-detail .mini-logo{font-size:18px}.project-detail .document-transform{gap:22px;margin:20px 0}.project-detail .document-source{width:80px;height:123px}.project-detail .document-result{width:125px;height:150px;padding:12px}.project-detail .document-result>span{font-size:8px}.project-detail .document-result>b{margin-top:5px;font-size:5px}.project-detail .document-result small{margin-top:10px;font-size:5px}.project-detail .document-result i{height:2px;margin-top:4px}.project-detail .preview-status{font-size:9px}.project-detail .restaurant-card{width:330px;padding:25px}.project-detail .restaurant-top>span{font-size:24px}.project-detail .restaurant-card p{margin-top:18px;font-size:33px}.project-detail .restaurant-blocks b{font-size:9px}.project-detail .restaurant-blocks span{font-size:8px}.project-detail .restaurant-line{font-size:7px}.project-detail .visual-caption{font-size:8px;bottom:20px;left:25px}.detail-story{margin-top:60px}.detail-story article{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:60px;padding:36px 0;display:grid}.detail-story article>.eyebrow{align-self:start;margin-top:7px}.detail-story h2{letter-spacing:-.7px;font-size:28px;font-weight:500}.detail-story p{color:var(--muted);max-width:730px;margin-top:15px;font-size:13px;line-height:1.95}.detail-focus{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px;display:grid}.detail-focus-four{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-focus article{background:#141a26;border:1px solid #323e55;border-radius:7px;padding:24px}.detail-focus article>span{font:10px var(--mono);color:var(--accent)}.detail-focus h3{letter-spacing:-.4px;margin:18px 0 12px;font-size:18px;font-weight:500;line-height:1.4}.detail-focus p{color:var(--muted);font-size:11px;line-height:1.9}.detail-next{border-top:1px solid var(--line);align-items:center;gap:40px;margin-top:50px;padding-top:35px;display:flex}.detail-next a{color:#c7d2ec;align-items:center;gap:20px;font-size:22px;display:flex}.detail-next a:hover{color:var(--accent)}.detail-next>.eyebrow{margin-right:auto}.not-found{padding-block:140px}.not-found h1{letter-spacing:-3px;margin-top:25px;font-size:65px;line-height:1.1}.not-found p{color:var(--muted);margin-block:22px}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){.hero h1{font-size:88px}.hero{grid-template-columns:1.35fr 1fr;gap:75px;padding-top:100px}.system-diagram{height:340px}.hero-copy>p{font-size:15px}}@media (max-width:1100px){.section-shell,.header-inner{width:calc(100% - 72px)}.site-nav{gap:21px}.header-actions{gap:18px}.hero{gap:35px;padding-top:65px}.hero h1{letter-spacing:-3.5px;font-size:64px}.system-diagram{height:250px}.system-switcher{padding-inline:10px}.system-switcher button{gap:4px;font-size:9px}.system-switcher button>svg:last-child{display:none}.system-description{padding:14px 15px;font-size:10px}.system-console{padding:13px;font-size:7px}.project-meta{flex-wrap:wrap;gap:9px}.project-card-copy{padding:19px}.about-section{gap:65px}.expertise-card{gap:10px;padding:24px 17px}.expertise-card h3{font-size:15px}.project-visual{height:210px}.restaurant-card{width:205px}.mini-document{width:200px}.method-grid{gap:25px}}@media (max-width:850px){.header-contact{display:none}.site-header{height:75px}.site-nav{gap:22px}.hero{grid-template-columns:1fr;gap:35px;padding-top:60px}.hero h1{letter-spacing:-4px;font-size:76px}.hero-copy>p{max-width:590px;font-size:14px}.hero-system{justify-self:end;width:min(470px,100%);padding-top:0}.system-diagram{height:300px}.hero-bottom{margin-top:0;padding-top:20px}.section-heading{align-items:flex-start;gap:40px}.section-heading h2,.about-copy h2{font-size:38px}.section-heading>p{max-width:270px;margin-top:35px;font-size:11px}.projects-grid{grid-template-columns:1fr 1fr}.project-card-copy{padding:24px}.project-visual{height:230px}.project-meta{flex-wrap:nowrap;font-size:7px}.about-section{grid-template-columns:1fr;gap:50px;padding-block:65px}.about-copy>p{max-width:620px}.timeline{max-width:600px}.timeline-item p{max-width:480px}.expertise-grid{grid-template-columns:1fr 1fr}.expertise-card:nth-child(3n){border-right:1px solid var(--line)}.expertise-card:nth-child(2n){border-right:0}.expertise-card:nth-child(n+4){border-bottom:1px solid var(--line)}.expertise-card:nth-child(n+5){border-bottom:0}.expertise-card{gap:15px;padding:25px}.method-grid{grid-template-columns:1fr 1fr;gap:35px}.school-panel{gap:25px;padding:27px}.school-symbol{width:140px}.school-panel h3{font-size:18px}.lab-grid{grid-template-columns:1fr}.lab-card{grid-template-columns:180px 1fr;column-gap:25px;padding:23px;display:grid}.lab-card-top{grid-column:1/-1}.lab-line-art{grid-area:2/1/5}.lab-card .domain-label{margin-top:25px}.lab-card p{max-width:400px;padding-bottom:25px}.github-strip a{font-size:9px}.contact-note{display:none}.contact-section h2{font-size:55px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:22px}.contact-arrow{width:65px;height:65px;right:0}.detail-header h1{font-size:73px}.detail-headline{font-size:18px}.detail-story article{grid-template-columns:1fr;gap:18px}.detail-focus{grid-template-columns:1fr}.detail-next{flex-wrap:wrap;gap:25px}.detail-next>.eyebrow{width:100%}}@media (max-width:600px){.section-shell,.header-inner{width:calc(100% - 40px)}.site-header{height:72px}.brand-mark{font-size:33px}.brand-name{letter-spacing:.8px;padding-left:10px;font-size:8px;display:block}.brand-name>span{letter-spacing:1.6px;font-size:6px}.brand{gap:10px}.header-actions{gap:15px}.terminal-trigger kbd{display:none}.terminal-trigger{justify-content:center;min-width:36px;min-height:40px}.menu-toggle{color:#ced7ed;background:0 0;justify-content:center;align-items:center;min-width:42px;min-height:42px;padding:8px;display:flex}.site-nav{background:#131a27;border-bottom:1px solid #3d4b69;gap:4px;padding:18px 20px;display:none;position:absolute;top:71px;left:0;right:0;box-shadow:0 30px 45px #0005}.site-nav.is-open{flex-direction:column;display:flex}.site-nav a{border-radius:4px;justify-content:space-between;align-items:center;min-height:44px;padding:12px 15px;font-size:13px;display:flex}.site-nav a:hover{background:#202b41}.site-nav .mobile-contact{color:var(--accent);border-top:1px solid #35435f;margin-top:6px;padding-top:17px;display:flex}.hero{gap:36px;padding-top:42px}.hero-eyebrow{letter-spacing:1px;margin-bottom:25px;font-size:8px}.hero h1{letter-spacing:-2.6px;font-size:clamp(42px,10.9vw,64px);line-height:1.08}.hero-copy>p{margin-top:23px;font-size:12px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:25px}.button{gap:9px;min-height:46px;padding-inline:14px;font-size:10px}.hero-system{justify-self:center;width:100%}.system-diagram{height:265px}.system-description{min-height:67px;font-size:11px}.system-switcher button{min-height:39px;font-size:10px}.system-switcher button>svg:last-child{display:block}.system-console{font-size:7px;line-height:1.6}.visual-footnote{letter-spacing:.65px;font-size:7px}.hero-bottom{letter-spacing:.5px;align-items:flex-start;gap:15px;padding-block:14px 25px}.hero-bottom>span{max-width:225px;font-size:7px;line-height:1.8}.hero-bottom>span .mono{margin-right:5px}.hero-bottom>a{white-space:nowrap;gap:6px;min-height:30px;font-size:7px}.projects-section,.expertise-section,.lab-section{padding-top:65px;padding-bottom:55px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:27px}.section-heading h2,.about-copy h2{letter-spacing:-1.5px;margin-top:18px;font-size:35px}.section-heading>p{max-width:100%;margin:0;font-size:12px}.eyebrow{letter-spacing:1px;font-size:8px}.project-filters{justify-content:space-between;gap:3px;margin-bottom:20px}.project-filters button{gap:6px;min-height:42px;padding:10px 7px;font-size:9px}.project-filters button>span{font-size:7px}.projects-grid{grid-template-columns:1fr;gap:22px}.project-card:last-child:nth-child(odd){grid-column:auto;display:flex}.project-card:last-child:nth-child(odd) .project-visual{height:230px;min-height:0}.project-card-copy{padding:24px}.project-meta{gap:9px;font-size:7px}.project-card h3{font-size:28px}.project-card-copy>p{font-size:12px;line-height:1.8}.project-tags>span{font-size:8px}.project-read{padding-top:23px;font-size:11px}.project-visual{height:230px}.mini-document,.restaurant-card{width:235px}.visual-caption{letter-spacing:.7px;font-size:7px}.about-section{gap:35px;padding-block:59px}.about-copy>p{font-size:12px}.about-copy blockquote{font-size:16px;line-height:1.75}.text-link{min-height:38px;font-size:11px}.timeline-item{gap:19px;min-height:111px}.timeline-item h3{font-size:15px}.timeline-item p{font-size:11px}.expertise-grid{grid-template-columns:1fr;margin-top:30px}.expertise-card{gap:17px;padding:27px 20px}.expertise-card:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.expertise-card:last-child{border-bottom:0}.expertise-card h3{font-size:20px}.expertise-card p{font-size:12px}.expertise-card li{padding:5px 7px;font-size:10px}.domain-label{font-size:9px}.expertise-number{font-size:10px}.method-section{padding-block:57px}.method-intro h2{font-size:32px}.method-intro>p{font-size:12px}.method-grid{gap:30px 20px;margin-top:31px}.method-grid h3{font-size:16px}.method-grid p{font-size:11px;line-height:1.85}.school-panel{flex-direction:column;gap:25px;margin-top:37px;padding:26px 23px}.school-symbol{align-items:center;gap:30px;width:auto;font-size:67px;display:flex}.school-symbol>span{margin:0;font-size:7px}.school-panel h3{font-size:20px;line-height:1.5}.school-panel p{font-size:12px}.school-tags{gap:12px}.school-tags>span{font-size:10px}.lab-grid{gap:16px}.lab-card{padding:23px;display:block}.lab-card .domain-label{margin-top:0}.lab-card h3{font-size:22px}.lab-card p{padding:0;font-size:12px}.lab-line-art{height:150px}.github-strip{flex-wrap:wrap;align-items:flex-start;gap:15px;padding:21px}.github-strip-icon{width:40px;height:40px}.github-strip>div:nth-child(2){flex:1;min-width:190px}.github-strip h3{font-size:15px;line-height:1.5}.github-strip p{font-size:11px}.github-strip a{min-height:36px;margin:4px 0 0 55px;font-size:11px}.contact-section{padding-block:38px 30px}.contact-section h2{letter-spacing:-1.7px;margin-top:28px;font-size:clamp(32px,8.7vw,50px);line-height:1.18}.contact-arrow{opacity:.45;width:42px;height:42px;top:74px;right:0}.contact-bottom{gap:20px;margin-top:27px}.contact-mail{letter-spacing:-.5px;gap:8px;font-size:clamp(13px,4.2vw,18px)}.contact-mail>svg{width:17px}.contact-socials a{padding:13px 17px;font-size:11px}.copy-email{min-height:42px;font-size:10px}.site-footer{padding-block:24px}.site-footer>a{font-size:8px}.footer-brand{font-size:25px}.site-footer>div{gap:11px}.site-footer>div>span:last-child{font-size:8px}.footer-location{font-size:7px}.terminal-output{padding:18px;font-size:10px}.terminal-bottom{padding:11px 16px;font-size:6px;line-height:1.7}.terminal-bar{font-size:10px}.detail-header{flex-direction:column;align-items:flex-start;gap:26px;margin-top:37px}.detail-header h1{letter-spacing:-3px;margin-top:18px;font-size:64px}.detail-headline{margin-top:15px;font-size:18px;line-height:1.7}.detail-state{flex-flow:wrap;align-items:center;gap:15px}.detail-state .button{white-space:nowrap;flex-shrink:0}.detail-state .project-status{font-size:8px}.project-detail{padding-block:34px 50px}.project-detail>.project-visual{height:310px}.project-detail .mini-document{width:255px;padding:15px}.project-detail .document-transform{gap:17px;margin:15px 0}.project-detail .document-result{height:130px}.project-detail .restaurant-card{width:255px;padding:19px}.project-detail .restaurant-card p{font-size:29px}.project-detail .restaurant-top>span{font-size:20px}.project-detail .visual-caption{font-size:6px;left:18px}.detail-story{margin-top:40px}.detail-story article{gap:17px;padding:30px 0}.detail-story h2{font-size:25px}.detail-story p{font-size:12px}.detail-next{gap:24px;margin-top:34px}.detail-next a{font-size:20px}.not-found{padding-block:90px}.not-found h1{letter-spacing:-2px;font-size:45px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.project-card:hover,.system-visual:hover .architecture-cube{transform:none}}.visual-security{background:radial-gradient(at 90% 0,#24453f,#0000 70%),#13252a}.security-diagram{width:min(100%,450px);padding:28px}.security-label{font:8px var(--mono);letter-spacing:1.2px;color:#a0cabb}.security-diagram p{color:#e9f6f0;letter-spacing:-.7px;margin:14px 0 20px;font-size:clamp(20px,2.3vw,28px);font-weight:500;line-height:1.2}.security-diagram strong{color:#a7d9bf;font-weight:inherit}.security-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.security-steps>span{font:9px var(--mono);color:#c2dfd2;border:1px solid #709f8d40;border-radius:6px;flex-direction:column;align-items:center;gap:9px;padding:12px 4px;display:flex}.project-detail .security-diagram p{font-size:clamp(24px,3.3vw,38px)}@media (max-width:600px){.security-diagram{padding:22px}.security-diagram p{font-size:21px}}.game-cover{object-fit:cover;object-position:center 45%;transition:transform .5s}.project-card:hover .game-cover{transform:scale(1.035)}.game-cover-shade{pointer-events:none;background:linear-gradient(#0000 55%,#0a1021c9);position:absolute;inset:0}.game-cover-label{font:8px var(--mono);letter-spacing:1.1px;color:#f1f4ff;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.game-cover-label>span{letter-spacing:1.5px;font-size:12px;font-weight:600}.project-image-credit{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin-top:12px;font-size:11px;line-height:1.8;display:flex}.project-image-credit a{color:var(--accent);text-underline-offset:4px;align-items:center;gap:5px;display:inline-flex}.project-image-credit a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.project-card:hover .game-cover{transform:none}}.visual-football{background:radial-gradient(at 80% 0,#731f32,#0000 65%),linear-gradient(120deg,#291321,#191322)}.football-pitch{border:1px solid #fbc7d025;width:220px;height:150px;position:absolute;top:30px;right:-45px;transform:rotate(-16deg)}.football-pitch:before{content:"";background:#fbc7d025;width:1px;position:absolute;top:0;bottom:0;left:50%}.football-pitch i{border:1px solid #fbc7d025;border-radius:50%;width:60px;height:60px;position:absolute;top:calc(50% - 30px);left:calc(50% - 30px)}.football-pitch span{border:1px solid #fbc7d025;width:32px;height:70px;position:absolute;top:calc(50% - 35px);right:0}.watch-eat-identity{align-items:center;gap:24px;max-width:100%;padding:24px;display:flex;position:relative}.watch-eat-identity>div{min-width:0}.watch-eat-logo{border-radius:12px;flex-shrink:0;width:72px;height:auto;box-shadow:0 12px 40px #05030c55}.watch-eat-name{color:#edb9c5;font:10px var(--mono);letter-spacing:1px}.watch-eat-identity p{letter-spacing:-.8px;color:#fff5f8;margin-top:10px;font-size:25px;font-weight:500;line-height:1.14}.watch-eat-identity strong{color:#efa5b8;font-weight:inherit}.visual-football .visual-caption{color:#e5becacc}.project-detail .watch-eat-logo{width:100px}.project-detail .watch-eat-identity p{font-size:clamp(27px,4vw,46px)}.project-references{background:#121823;border:1px solid #303c51;border-radius:7px;margin-top:32px;padding:24px}.project-references ul{margin:12px 0 0;padding:0;list-style:none}.project-references a{color:#c9d4ed;align-items:center;gap:12px;min-height:44px;font-size:12px;line-height:1.7;display:inline-flex}.project-references a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}@media (max-width:600px){.watch-eat-identity{gap:16px;padding:20px}.watch-eat-logo{width:60px}.watch-eat-identity p{font-size:22px}.project-detail .watch-eat-logo{width:70px}.project-references{padding:20px}}.project-highlights{background:linear-gradient(120deg,#172136,#111723);border:1px solid #3b4867;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 35px;padding:28px;display:grid}.project-highlights>div{flex-direction:column-reverse;gap:8px;display:flex}.project-highlights dt{color:var(--muted);font-size:11px;line-height:1.7}.project-highlights dd{letter-spacing:-.8px;color:#c6d3ff;margin:0;font-size:clamp(20px,2.4vw,32px);font-weight:500}@media (max-width:600px){.project-highlights{grid-template-columns:1fr;gap:22px;padding:23px}.project-highlights dd{font-size:27px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
