@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.1dtltwig2y3wh.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.1hmx3sz6swr8m.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.37b2k1x9f-55d.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3xvzy9_grgcx4.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.0-hru0xfwhnbp.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.1p_a2k8qd5zhp.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-vietnamese-wght-normal.2e8ypamius-z3.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-latin-ext-wght-normal.0u127c2ykgu-q.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-latin-wght-normal.0rbocftmutivq.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}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--font-mono);--color-red-700:#bf000f;--color-orange-50:#fff7ed;--color-orange-700:#c53c00;--color-amber-50:#fffbeb;--color-lime-400:#9de500;--color-green-700:#008138;--color-teal-600:#009588;--color-cyan-500:#00b7d7;--color-blue-200:#bedbff;--color-blue-900:#1c398e;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-gray-800:#1e2939;--color-gray-900:#101828;--color-white:#fff;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-700:lab(40.4273% 67.2623 53.7441);--color-orange-50:lab(97.7008% 1.53735 5.90649);--color-orange-700:lab(46.4615% 57.7275 70.8507);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-lime-400:lab(83.7876% -45.0447 88.4738);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-teal-600:lab(55.0223% -41.0774 -3.90277);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-900:lab(26.1542% 15.7545 -51.5504);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@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{.\@container{container-type:inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.list-item{display:list-item}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.overflow-clip{overflow:clip}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[xml\:lang\]{xml:lang}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Newsreader Variable", "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, Georgia, serif;--font-body:"Manrope Variable", "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--font-mono:"JetBrains Mono Variable", "Noto Sans Mono CJK SC", "PingFang SC", "Microsoft YaHei", monospace;--background:#f7f7f5;--foreground:#151614;--surface:#efefec;--surface-raised:#fff;--muted:#e6e6e1;--muted-foreground:#64655f;--border:#d7d7d1;--border-strong:#9a9b94;--accent:#dc4a32;--accent-foreground:#fff;--focus:#185bd7;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.5rem;--text-4xl:4rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:2px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 2px #15161414, 0 8px 24px #1516140a;--shadow-md:0 18px 60px #15161429;--duration-fast:.14s;--duration-base:.24s;--duration-slow:.52s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#111210;--foreground:#f1f1ed;--surface:#191a17;--surface-raised:#20211e;--muted:#282925;--muted-foreground:#a5a69f;--border:#343630;--border-strong:#686b62;--accent:#f0644a;--accent-foreground:#111210;--focus:#76a3ff;--shadow-sm:0 1px 2px #0003, 0 8px 24px #00000024;--shadow-md:0 18px 60px #0000005c}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;text-rendering:optimizelegibility;transition:background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);margin:0;line-height:1.65;overflow-x:clip}html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3{text-wrap:balance}html[lang=zh-CN] .portrait-study__copy h1{line-height:1}html[lang=zh-CN] .section-heading h2,html[lang=zh-CN] .page-header h1,html[lang=zh-CN] .contact-page h1,html[lang=zh-CN] .note-page__header h1,html[lang=zh-CN] .case-study__header h1{line-height:1.08}html[lang=zh-CN] .project-card__body h3{line-height:1.2}body:before{z-index:100;pointer-events:none;content:"";opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--accent);color:var(--accent-foreground)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.shell{width:min(100%,1440px);margin-inline:auto;padding-inline:48px}.skip-link{z-index:999;border-radius:var(--radius-md);background:var(--foreground);color:var(--background);transition:transform var(--duration-fast) var(--ease-standard);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{margin-bottom:var(--space-3);color:var(--muted-foreground);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0;font-weight:520;line-height:1.4}.site-header{z-index:50;border-bottom:1px solid var(--border);height:72px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent)}}.site-header{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--background) 88%, transparent)}}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header--home-v8{border-bottom-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.site-header--home-v8{border-bottom-color:color-mix(in srgb, var(--border) 46%, transparent)}}.site-header--home-v8{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header--home-v8{background:color-mix(in srgb, var(--background) 72%, transparent)}}.site-header__inner{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.wordmark{align-items:center;gap:10px;width:fit-content;min-height:44px;display:inline-flex}.wordmark__mark{border:1px solid var(--foreground);border-radius:var(--radius-sm);width:34px;height:34px;font-family:var(--font-mono);transition:background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);place-items:center;font-size:11px;font-weight:650;display:grid}.wordmark:hover .wordmark__mark{background:var(--foreground);color:var(--background)}.wordmark__label{font-size:var(--text-sm);font-weight:620}.wordmark__label--home-v8{font-weight:580}.desktop-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.desktop-nav a{min-height:44px;color:var(--muted-foreground);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-standard);align-items:center;padding:0 12px;display:flex;position:relative}.desktop-nav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform var(--duration-base) var(--ease-standard);position:absolute;bottom:7px;left:12px;right:12px;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--foreground)}.desktop-nav a[aria-current=page]:after,.desktop-nav a:hover:after{transform:scaleX(1)}.site-header__actions{justify-self:end;gap:6px;display:flex}.icon-button{width:44px;height:44px;color:var(--foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid}.icon-button svg{stroke-width:1.8px;width:18px;height:18px}.theme-toggle .theme-icon--light,.dark .theme-toggle .theme-icon--dark{display:none}.dark .theme-toggle .theme-icon--light{display:block}.icon-button:hover{border-color:var(--border);background:var(--surface)}.icon-button:active{transform:scale(.94)}.mobile-menu-trigger{display:none}.mobile-nav__overlay{z-index:80;animation:overlay-in var(--duration-base) var(--ease-standard);background:#0000006b;position:fixed;inset:0}.mobile-nav__content{z-index:90;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(420px,100vw - 16px);box-shadow:var(--shadow-md);animation:panel-in var(--duration-base) var(--ease-standard);flex-direction:column;padding:20px;display:flex;position:fixed;top:8px;bottom:8px;right:8px}.mobile-nav__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.mobile-nav__header h2{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;margin:0;font-weight:550}.mobile-nav__content nav{margin-top:24px}.mobile-nav__content ul{margin:0;padding:0;list-style:none}.mobile-nav__content li{border-bottom:1px solid var(--border)}.mobile-nav__content nav a{min-height:66px;font-family:var(--font-display);font-size:var(--text-2xl);grid-template-columns:36px 1fr;align-items:center;display:grid}.mobile-nav__content nav a span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.mobile-nav__content nav a[aria-current=page]{color:var(--accent)}.mobile-nav__note{color:var(--muted-foreground);font-size:var(--text-sm);margin-top:auto;margin-bottom:0}@keyframes overlay-in{0%{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}.action-link{border:1px solid var(--foreground);border-radius:var(--radius-md);min-height:48px;font-size:var(--text-sm);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);justify-content:space-between;align-items:center;gap:24px;padding:0 18px;font-weight:650;line-height:1;display:inline-flex}.action-link svg{stroke-width:1.8px;width:17px;height:17px;transition:transform var(--duration-base) var(--ease-standard)}.action-link:hover svg{transform:translate(3px)}.action-link:active{transform:translateY(1px)scale(.99)}.action-link--primary{background:var(--foreground);color:var(--background)}.action-link--primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.action-link--secondary{border-color:var(--border-strong);background:0 0}.action-link--secondary:hover{border-color:var(--foreground);background:var(--surface)}.action-link--text{border-color:#0000;min-height:44px;padding:0 2px}.action-link--text:hover{color:var(--accent)}.hero{grid-template-rows:1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px;min-height:calc(92svh - 72px);padding-top:72px;padding-bottom:28px;display:grid;position:relative}.hero__copy{z-index:1;grid-column:1/8;align-self:center;padding-bottom:32px}.hero__eyebrow{align-items:center;gap:12px;display:flex}.hero__eyebrow:before{content:"";background:var(--accent);width:28px;height:2px}.hero h1{max-width:880px;font-family:var(--font-display);font-variation-settings:"opsz" 72;margin-bottom:16px;font-size:76px;font-weight:420;line-height:.92}.hero h1 span{color:var(--accent)}.hero__role{font-size:var(--text-lg);margin-bottom:16px;font-weight:650}.hero__intro{max-width:650px;color:var(--muted-foreground);font-size:var(--text-lg);margin-bottom:30px;line-height:1.65}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero-instrument{aspect-ratio:1;perspective:900px;grid-column:8/13;align-self:center;max-height:590px;padding:7%}.hero-instrument__plane{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--surface);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);width:100%;height:100%;box-shadow:var(--shadow-sm);transform-style:preserve-3d;background-size:12.5% 12.5%;position:relative}.hero-instrument__axis{background:var(--border-strong);display:block;position:absolute}.hero-instrument__axis--x{height:1px;top:53%;left:6%;right:6%}.hero-instrument__axis--y{width:1px;top:6%;bottom:6%;left:46%}.hero-instrument__disc{border:1px solid var(--foreground);border-radius:50%;display:block;position:absolute;transform:translateZ(18px)}.hero-instrument__disc--large{aspect-ratio:1;width:50%;top:18%;left:16%}.hero-instrument__disc--small{aspect-ratio:1;border-color:#185bd7;width:28%;bottom:18%;right:16%}.hero-instrument__block{border:1px solid var(--foreground);background:var(--background);width:30%;height:16%;box-shadow:10px 14px 0 var(--foreground);position:absolute;top:36%;right:20%;transform:translateZ(34px)rotate(-8deg)}@supports (color:color-mix(in lab, red, red)){.hero-instrument__block{box-shadow:10px 14px 0 color-mix(in srgb, var(--foreground) 10%, transparent)}}.hero-instrument__signal{border-radius:var(--radius-sm);background:var(--accent);width:16%;height:16%;position:absolute;bottom:25%;left:18%;transform:translateZ(44px)}.hero-instrument__point{background:var(--foreground);width:8px;height:8px;box-shadow:0 0 0 5px var(--surface);border-radius:50%;position:absolute}.hero-instrument__point--one{top:21%;left:45%}.hero-instrument__point--two{background:#a8c431;bottom:46%;right:20%}.hero-instrument__label{font-family:var(--font-mono);text-transform:uppercase;font-size:9px;position:absolute}.hero-instrument__label--top{top:4%;left:4%}.hero-instrument__label--bottom{bottom:4%;right:4%}.hero__footnote{border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;padding-top:18px;font-size:10px;display:flex}.identity-band{border-block:1px solid var(--border);background:var(--surface)}.identity-band__grid{grid-template-columns:2fr 7fr 3fr;align-items:start;gap:24px;padding-top:54px;padding-bottom:54px;display:grid}.identity-band__statement{max-width:820px;font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:0;line-height:1.25}.identity-band__statement em{color:var(--accent);font-weight:430}.identity-band__status{color:var(--muted-foreground);font-size:var(--text-sm);gap:12px;padding-top:4px;display:flex}.identity-band__status p{margin:0}.status-dot{background:#6f8e34;border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px;box-shadow:0 0 0 4px #6f8e3429}.section{padding-top:var(--space-10);padding-bottom:var(--space-10)}.section--ruled{border-top:1px solid var(--border)}.section-heading{margin-bottom:var(--space-8);grid-template-columns:3fr 9fr;gap:24px;display:grid}.section-heading__content{max-width:850px}.section-heading h2{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:16px;font-weight:430;line-height:1.02}.section-heading__content>p{max-width:670px;color:var(--muted-foreground);font-size:var(--text-base);margin-bottom:0}.section-heading.section-heading--centered{grid-template-columns:repeat(12,minmax(0,1fr))}.section-heading--centered>.eyebrow{grid-area:1/1/auto/4}.section-heading--centered .section-heading__content{text-align:center;grid-area:1/1/auto/-1;width:min(850px,100%);margin-inline:auto}.section-heading--centered .section-heading__content>p{margin-inline:auto}.section-action{justify-content:flex-end;margin-top:48px;display:flex}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:68px 24px;display:grid}.project-card:nth-child(3n+1){grid-column:1/8}.project-card:nth-child(3n+2){grid-column:8/13;padding-top:88px}.project-card:nth-child(3n+3){grid-column:4/11}.project-card>a{display:block}.project-card__media{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);position:relative;overflow:hidden}.project-card__media:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1f}.project-card__image{object-fit:cover;width:100%;height:100%;transition:opacity .42s var(--ease-standard), transform .62s var(--ease-standard), filter .62s var(--ease-standard)}.project-card__image--reveal{opacity:0;position:absolute;inset:0}.project-card__result-reveal{--project-vision-radius:190px;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--project-vision-radius) at var(--project-mask-x,40%) var(--project-mask-y,38%), #000 0%, #000000fa 42%, #0000009e 70%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--project-vision-radius) at var(--project-mask-x,40%) var(--project-mask-y,38%), #000 0%, #000000fa 42%, #0000009e 70%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--project-vision-radius) at var(--project-mask-x,40%) var(--project-mask-y,38%), #000 0%, #000000fa 42%, #0000009e 70%, transparent 100%);mask-image:radial-gradient(circle var(--project-vision-radius) at var(--project-mask-x,40%) var(--project-mask-y,38%), #000 0%, #000000fa 42%, #0000009e 70%, transparent 100%);position:absolute;inset:0}.project-card--result .project-card__image--reveal{opacity:1}.project-card--result:focus-within .project-card__result-reveal{opacity:1!important}.project-card:hover .project-card__image,.project-card:focus-within .project-card__image{filter:saturate(1.05)contrast(1.02);transform:scale(1.025)}.project-card--crossfade:hover .project-card__image--reveal,.project-card--crossfade:focus-within .project-card__image--reveal{opacity:1}.project-card--crossfade:hover .project-card__image--base,.project-card--crossfade:focus-within .project-card__image--base{opacity:0}.project-card__index{border-radius:var(--radius-sm);color:#fff;width:36px;height:28px;font-family:var(--font-mono);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f100eb8;border:1px solid #ffffff59;place-items:center;font-size:10px;display:grid;position:absolute;top:12px;left:12px}.project-card__body{justify-content:space-between;align-items:start;gap:24px;padding-top:20px;display:flex}.project-card__body h3{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:0;font-weight:480;line-height:1.1}.project-card__english-title{color:var(--muted-foreground);font-family:var(--font-mono);margin:6px 0 0;font-size:10px;line-height:1.45}.project-card__body svg{width:20px;height:20px;transition:transform var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);flex:none;margin-top:6px}.project-card:hover .project-card__body svg,.project-card:focus-within .project-card__body svg{color:var(--accent);transform:translate(3px,-3px)}.project-card__summary{max-width:600px;color:var(--muted-foreground);font-size:var(--text-sm);margin-top:12px;margin-bottom:0}.timeline{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.timeline>li{border-bottom:1px solid var(--border);grid-template-columns:3fr 9fr;gap:24px;padding:30px 0 34px;display:grid}.timeline__period{color:var(--muted-foreground);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;margin-bottom:0}.timeline h3{font-size:var(--text-lg);margin-bottom:2px;font-weight:670}.timeline__summary{max-width:720px;color:var(--muted-foreground);margin-bottom:0}.timeline__highlights{border-top:1px solid var(--border);gap:8px;max-width:720px;margin:18px 0 0;padding:14px 0 0;list-style:none;display:grid}.timeline__highlights li{color:var(--foreground);font-family:var(--font-mono);padding-left:14px;font-size:11px;line-height:1.6;position:relative}.timeline__highlights li:before{content:"";background:var(--accent);width:4px;height:4px;position:absolute;top:.72em;left:0}.skill-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.skill-grid article{border-right:1px solid var(--border);min-height:340px;padding:32px 28px;position:relative}.skill-grid article:last-child{border-right:0}.skill-grid__index{color:var(--muted-foreground);font-family:var(--font-mono);margin-bottom:72px;font-size:10px;display:block}.skill-grid h3{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:10px;font-weight:480}.skill-grid p{min-height:52px;color:var(--muted-foreground);font-size:var(--text-sm)}.skill-grid ul{flex-wrap:wrap;gap:0;margin:28px 0 0;padding:0;list-style:none;display:flex}.skill-grid li{border:1px solid var(--border);font-family:var(--font-mono);margin:-1px 0 0 -1px;padding:6px 9px;font-size:10px}.note-list{border-top:1px solid var(--border)}.note-list article{border-bottom:1px solid var(--border)}.note-list a{transition:background-color var(--duration-base) var(--ease-standard), padding var(--duration-base) var(--ease-standard);grid-template-columns:56px minmax(0,1fr) 120px 24px;align-items:start;gap:24px;padding:28px 0;display:grid}.note-list a:hover{background:var(--surface);padding-inline:12px}.note-list__index,.note-list__date{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.note-list__main h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:6px;font-weight:500;line-height:1.2}.note-list__main>p:last-child{max-width:680px;color:var(--muted-foreground);font-size:var(--text-sm);margin-bottom:0}.note-list a>svg{width:18px;height:18px;transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-base) var(--ease-standard)}.note-list a:hover>svg{color:var(--accent);transform:translate(3px,-3px)}.contact-cta{background:var(--foreground);color:var(--background);margin-top:48px}.contact-cta__inner{grid-template-columns:2fr 6fr 2fr 2fr;align-items:end;gap:24px;padding-top:76px;padding-bottom:76px;display:grid}.contact-cta .eyebrow{color:var(--background)}@supports (color:color-mix(in lab, red, red)){.contact-cta .eyebrow{color:color-mix(in srgb, var(--background) 60%, transparent)}}.contact-cta h2{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:0;font-weight:430;line-height:1}.contact-cta__inner>p:not(.eyebrow){color:var(--background);margin-bottom:0}@supports (color:color-mix(in lab, red, red)){.contact-cta__inner>p:not(.eyebrow){color:color-mix(in srgb, var(--background) 68%, transparent)}}.contact-cta__inner>p:not(.eyebrow){font-size:var(--text-sm)}.contact-cta .action-link{border-color:var(--background);background:var(--background);color:var(--foreground)}.contact-cta .action-link:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.site-footer{border-top:1px solid var(--border)}.site-footer__grid{justify-content:flex-end;padding-top:28px;padding-bottom:28px;display:flex}.site-footer__meta{color:var(--muted-foreground);font-size:var(--text-xs);text-align:right;margin-bottom:0}.page{padding-top:88px;padding-bottom:120px}.page-header{border-bottom:1px solid var(--border);margin-bottom:88px;padding-bottom:64px}.page-header h1{max-width:980px;font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:0;font-weight:420;line-height:.98}.page-header__lede{max-width:680px;color:var(--muted-foreground);font-size:var(--text-lg);margin-bottom:0}.page-header--about{grid-template-columns:3fr 9fr;align-items:center;gap:18px 24px;margin-bottom:0;display:grid}.page-header--about>.eyebrow{grid-column:1/-1;margin-bottom:0}.page-header--about h1{grid-column:1}.page-header--about .page-header__lede{grid-column:2;margin:0}.page-header--index{grid-template-columns:8fr 4fr;align-items:end;gap:24px;display:grid}html[lang=zh-CN] .page-header--projects h1{text-wrap:pretty}.ruled-grid{border-block:1px solid var(--border)}.honors-list,.research-entry{border-top:1px solid var(--border)}.honors-group__period{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.campus-role h3,.honors-list h3{font-size:var(--text-lg);margin-bottom:0;font-weight:650}.research-entry__topics{color:var(--muted-foreground);font-family:var(--font-mono);flex-wrap:wrap;gap:4px 0;margin:10px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.research-entry__topics li:not(:last-child):after{content:"/";color:var(--border-strong);margin-inline:8px}.campus-role{border-block:1px solid var(--border);padding:34px 0 38px}.campus-role .eyebrow{margin-bottom:14px}.honors-group{border-bottom:1px solid var(--border);grid-template-columns:2fr 7fr;gap:24px;padding:30px 0 36px;display:grid}.honors-group__period{margin-bottom:0}.honors-group ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.honors-group li{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:0 0 18px;display:grid}.honors-group li+li{border-top:1px solid var(--border);padding-top:18px}.honors-group li:last-child{padding-bottom:0}.honors-group li p{color:var(--muted-foreground);font-family:var(--font-mono);text-align:right;margin-bottom:0;font-size:11px}.research-entry{padding-top:32px}.research-entry__header h3{max-width:820px;font-family:var(--font-display);font-size:var(--text-2xl);overflow-wrap:anywhere;margin-bottom:18px;font-weight:450;line-height:1.15}.research-entry__header>p:not(.eyebrow){color:var(--muted-foreground);font-family:var(--font-mono);margin-bottom:2px;font-size:11px}.research-entry__description{max-width:720px;color:var(--muted-foreground);margin:30px 0 36px}.research-entry__metrics{border-block:1px solid var(--border);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.research-entry__metrics div{padding:26px 24px 28px 0}.research-entry__metrics div+div{border-left:1px solid var(--border);padding-left:24px}.research-entry__metrics dt,.research-entry__bibliography dt{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.research-entry__metrics dd{font-family:var(--font-display);font-size:var(--text-3xl);margin:8px 0 0;line-height:1}.research-entry__bibliography{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,1fr);gap:24px;margin:0;padding:24px 0;display:grid}.research-entry__bibliography dd{font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;margin:6px 0 0}.research-entry__media{grid-template-columns:5fr 7fr;align-items:start;gap:24px;margin-top:48px;display:grid}.research-entry__media figure{margin:0}.research-entry__media img{border:1px solid var(--border);background:#fff;width:100%;height:auto;display:block}.research-entry__figures{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.research-entry__figures figure[data-research-role=wide]{grid-column:1/-1}.research-entry__media figcaption{color:var(--muted-foreground);font-family:var(--font-mono);margin-top:10px;font-size:10px}.page-section{grid-template-columns:3fr 9fr;gap:24px;padding-top:112px;display:grid}.page-section__label h2{max-width:260px;font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:0;font-weight:450;line-height:1.1}.principles-list{border-top:1px solid var(--border)}.principles-list article{border-bottom:1px solid var(--border);grid-template-columns:56px 4fr 5fr;gap:24px;padding:30px 0;display:grid}.principles-list span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.principles-list h3{font-size:var(--text-lg);margin-bottom:0}.principles-list p{color:var(--muted-foreground);margin-bottom:0}.index-summary{border-bottom:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:20px;margin:-48px 0 64px;padding:14px 0;font-size:10px;display:flex}.project-grid--index{padding-bottom:40px}.back-link{min-height:44px;font-size:var(--text-sm);align-items:center;gap:8px;font-weight:620;display:inline-flex}.back-link svg{width:17px;height:17px;transition:transform var(--duration-base) var(--ease-standard)}.back-link:hover{color:var(--accent)}.back-link:hover svg{transform:translate(-3px)}.case-study{padding-top:54px;padding-bottom:120px}.case-study__header .back-link{margin-bottom:68px}.case-study__header h1{max-width:1080px;font-family:var(--font-display);margin-bottom:28px;font-size:72px;font-weight:420;line-height:.94}.case-study__description{max-width:780px;color:var(--muted-foreground);font-size:var(--text-lg);margin-left:25%}.case-study__english-title{color:var(--muted-foreground);font-family:var(--font-mono);font-size:var(--text-xs);margin:-12px 0 16px 25%}.case-study__meta{border-block:1px solid var(--border);grid-template-columns:1fr 1fr 1fr 2fr;gap:24px;margin:64px 0 40px;padding:22px 0;display:grid}.case-study__meta div{min-width:0}.case-study__meta dt{color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;margin-bottom:5px;font-size:10px}.case-study__meta dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.case-study__cover{margin-top:28px}.case-study__cover img{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:auto}.case-study__cover figcaption,.case-study__gallery figcaption{color:var(--muted-foreground);font-size:var(--text-xs);margin-top:12px;line-height:1.55}.case-study__cover figcaption{grid-template-columns:3fr 9fr;gap:24px;display:grid}.case-study__cover figcaption span,.case-study__gallery figcaption span{color:var(--foreground);font-family:var(--font-mono);text-transform:uppercase;font-size:9px;display:block}.case-study__evidence{border-top:1px solid var(--border);margin-top:104px;padding-top:32px}.case-study__evidence-heading{grid-template-columns:3fr 9fr;gap:24px;margin-bottom:48px;display:grid}.case-study__evidence-heading h2{max-width:760px;font-family:var(--font-display);font-size:var(--text-3xl);margin:0;font-weight:450;line-height:1.08}.case-study__gallery{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:64px 24px;display:grid}.case-study__gallery figure{grid-column:span 6;margin:0}.case-study__gallery figure[data-media-role=full],.case-study__gallery figure[data-media-role=validation-grid]{grid-column:1/-1}.case-study__gallery figure[data-media-role=wide]{grid-column:2/-2}.case-study__gallery figure[data-media-role=portrait]{grid-column:2/span 5}.case-study__gallery img{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:auto}.case-study__gallery figcaption span{margin-bottom:4px}.case-study--article .case-study__header h1{margin-bottom:18px}.case-study--article .case-study__english-title{margin:0 0 18px}.case-study--article .case-study__description{max-width:760px;margin-left:0}.case-study-article{grid-template-columns:2fr 10fr;gap:24px;margin-top:96px;display:grid}.case-study-article>aside{align-self:start;position:sticky;top:104px}.case-study-article>aside ol{color:var(--muted-foreground);font-family:var(--font-mono);gap:8px;margin:0;padding:0;font-size:10px;line-height:1.6;list-style:none;display:grid}.case-study-article>aside a{padding-block:3px;display:inline-block}.case-study-article>aside a:hover{color:var(--foreground)}.case-study-article__content{min-width:0}.case-study-article__content>section{scroll-margin-top:96px}.case-study-article__content>section+section{border-top:1px solid var(--border);margin-top:104px;padding-top:48px}.case-study-article__content section>header{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:32px;margin-bottom:32px;display:grid}.case-study-article__content h2{font-family:var(--font-display);font-size:var(--text-3xl);margin:0;font-weight:450;line-height:1.08}.case-study-article__body,.case-study-article__points{max-width:760px}.case-study-article__body{color:var(--muted-foreground);font-size:var(--text-lg);margin:0;line-height:1.8}.case-study-article__points{border-top:1px solid var(--border);margin:40px 0;padding:0;list-style:none}.case-study-article__points li{border-bottom:1px solid var(--border);padding:15px 0 15px 24px;position:relative}.case-study-article__points li:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:23px;left:3px}.case-study-article__figures{align-items:start;gap:24px;margin:40px 0;display:grid}.case-study-article__figures--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-article__figures figure{min-width:0;margin:0}.case-study-article__figures--single figure[data-media-role=cover]{max-width:760px}.case-study-article__figures img{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:auto}.case-study-article__figures figcaption{color:var(--muted-foreground);font-size:var(--text-xs);margin-top:12px;line-height:1.55}.case-study-article__figures figcaption span{color:var(--foreground);font-family:var(--font-mono);text-transform:uppercase;margin-bottom:4px;font-size:9px;display:block}.case-study--article .case-study__related-note{margin-top:96px}@media (max-width:899px){.case-study-article__figures--pair{grid-template-columns:1fr}}.case-study__body{grid-template-columns:3fr 9fr;gap:24px;margin-top:100px;display:grid}.case-study__body aside{align-self:start;position:sticky;top:104px}.case-study__body aside ol{color:var(--muted-foreground);font-family:var(--font-mono);margin:0;padding:0;font-size:10px;line-height:2;list-style:none}.case-study__sections section{max-width:820px;padding:0 0 80px}.case-study__sections section+section{border-top:1px solid var(--border);padding-top:72px}.case-study__sections h2{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:24px;font-weight:450}.case-study__sections section>p:not(.eyebrow){color:var(--muted-foreground);font-size:var(--text-lg);line-height:1.75}.case-study__sections ul{border-top:1px solid var(--border);margin:32px 0 0;padding:0;list-style:none}.case-study__sections li{border-bottom:1px solid var(--border);padding:16px 0 16px 28px;position:relative}.case-study__sections li:before{content:"";background:var(--accent);width:7px;height:7px;position:absolute;top:24px;left:4px}.case-study__body--closing{margin-top:104px}.case-study__body--closing aside{position:static}.case-study__related-note{border-block:1px solid var(--border);grid-template-columns:3fr 9fr;gap:24px;margin-top:28px;padding-block:40px;display:grid}.case-study__related-note>div>p:last-child{max-width:280px;color:var(--muted-foreground);font-size:var(--text-sm);margin:0}.case-study__related-note a{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:88px;transition:color var(--duration-fast) var(--ease-standard);display:flex}.case-study__related-note a:hover{color:var(--accent)}.case-study__related-note a>span{gap:var(--space-2);display:grid}.case-study__related-note strong{max-width:780px;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:450;line-height:1.25}.case-study__related-note small{color:var(--muted-foreground);font-family:var(--font-mono);font-size:10px}.case-study__related-note svg{width:22px;height:22px;transition:transform var(--duration-base) var(--ease-standard);flex:none}.case-study__related-note a:hover svg,.case-study__related-note a:focus-visible svg{transform:translate(4px)}.case-study__next{border-top:1px solid var(--border);margin-top:36px;padding-top:48px}.case-study__next a{font-family:var(--font-display);font-size:var(--text-4xl);justify-content:space-between;align-items:center;line-height:1;display:flex}.case-study__next a:hover{color:var(--accent)}.case-study__next svg{width:34px;height:34px}.notes-index{padding-bottom:40px}.note-page{max-width:1200px;padding-top:54px;padding-bottom:120px}.note-page__header{border-bottom:1px solid var(--border);max-width:900px;margin:0 auto 72px;padding-bottom:48px}.note-page__header .back-link{margin-bottom:72px}.note-page__header h1{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:24px;font-weight:430;line-height:1}.note-page__header>p:not(.eyebrow):not(.note-page__subtitle){max-width:720px;color:var(--muted-foreground);font-size:var(--text-lg)}.note-page__subtitle{color:var(--foreground);font-family:var(--font-mono);font-size:var(--text-xs);margin:-10px 0 20px}.note-page__header>div{color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;gap:18px;font-size:10px;display:flex}.prose{max-width:720px;margin-inline:auto;font-size:17px;line-height:1.8}.prose>:first-child{margin-top:0}.prose h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:64px 0 20px;font-weight:480;line-height:1.15}.prose p,.prose li{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.prose p,.prose li{color:color-mix(in srgb, var(--foreground) 82%, var(--muted-foreground))}}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);margin:0 0 48px;padding:18px 22px}.prose blockquote p{margin:0}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:8px}.prose code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-mono);padding:2px 5px;font-size:.82em}.prose pre{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:32px 0;padding:22px;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.note-page__footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;max-width:720px;margin:72px auto 0;padding-top:28px;display:flex}.note-page__footer p{max-width:420px;color:var(--muted-foreground);font-size:var(--text-xs);margin-bottom:0}.lab-feature{grid-template-columns:4fr 8fr;align-items:start;gap:48px;margin-top:-24px;padding-bottom:112px;display:grid}.lab-feature__intro{position:sticky;top:104px}.lab-feature__intro h2{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:16px;font-weight:450}.lab-feature__intro>p:last-child{color:var(--muted-foreground)}.lab-instrument{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised)}.lab-instrument__stage{aspect-ratio:4/3;border-bottom:1px solid var(--border);background:var(--surface);position:relative;overflow:hidden}.lab-instrument__grid{opacity:calc(.25 + var(--density) * .025);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:calc(100% / var(--density)) calc(100% / var(--density));position:absolute;inset:0}.lab-instrument__orbit{width:calc(120px + var(--amplitude) * 2px);aspect-ratio:1;border:1px solid var(--foreground);max-width:72%;transition:width var(--duration-base) var(--ease-standard), border-radius var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lab-instrument__stage--field .lab-instrument__orbit{border-radius:var(--radius-sm);transform:translate(-50%,-50%)rotate(12deg)}.lab-instrument__bars{justify-content:space-between;align-items:center;gap:8px;height:40%;display:flex;position:absolute;top:50%;left:12%;right:12%;transform:translateY(-50%)}.lab-instrument__bars span{width:6px;height:calc(15% + (var(--amplitude) * 0.75%) * ((var(--bar-index) % 3 + 1) / 3));background:var(--foreground);transform-origin:50%;max-height:100%;transition:height var(--duration-base) var(--ease-standard), background-color var(--duration-base) var(--ease-standard)}.lab-instrument__bars span:nth-child(3n+2){background:var(--accent)}.lab-instrument__bars span:nth-child(3n){background:#185bd7}.dark .lab-instrument__bars span:nth-child(3n){background:#76a3ff}.lab-instrument__stage--orbit .lab-instrument__bars{transform:translateY(-50%)rotate(-14deg)}.lab-instrument__readout{font-family:var(--font-mono);font-size:9px;position:absolute;bottom:12px;right:14px}.lab-instrument__controls{gap:18px;padding:22px;display:grid}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.segmented-control button{border-radius:var(--radius-sm);min-height:40px;color:var(--muted-foreground);cursor:pointer;font-size:var(--text-sm);background:0 0;border:0}.segmented-control button[aria-pressed=true]{background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow-sm)}.lab-instrument__controls label{font-size:var(--text-sm);grid-template-columns:84px 1fr 32px;align-items:center;gap:12px;display:grid}.lab-instrument__controls input{width:100%;accent-color:var(--accent)}.lab-instrument__controls output{font-family:var(--font-mono);text-align:right;font-size:10px}.contact-page{padding-top:100px;padding-bottom:120px}.contact-page>header{grid-template-columns:8fr 4fr;align-items:end;gap:24px;padding-bottom:64px;display:grid}.contact-page>header h1{max-width:900px;font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:0;font-weight:420;line-height:.98}.contact-page>header>p:last-child{color:var(--muted-foreground)}.contact-panel{border-top:1px solid var(--border);grid-template-columns:4fr 8fr;gap:24px;padding:40px 0;display:grid}.contact-panel:last-of-type{border-bottom:1px solid var(--border)}.contact-panel h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;font-weight:450}.contact-channel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.contact-channel__email{min-width:0;color:var(--foreground);font-family:var(--font-mono);font-size:var(--text-xl);overflow-wrap:anywhere}.contact-channel__email:hover{color:var(--accent)}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:68vh;padding-top:80px;padding-bottom:80px;display:flex}.not-found h1{max-width:840px;font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:20px;font-weight:430;line-height:1}.not-found>p:not(.eyebrow){max-width:560px;color:var(--muted-foreground)}.not-found__actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.hero-study{grid-template-rows:1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px;min-height:calc(100svh - 72px);padding-top:56px;padding-bottom:28px;display:grid}.hero-study__copy{z-index:1;grid-column:1/6;align-self:center;padding-bottom:24px}.hero-study__eyebrow{align-items:center;gap:12px;display:flex}.hero-study__eyebrow:before{content:"";background:var(--accent);width:28px;height:2px}.hero-study h1{font-family:var(--font-display);font-variation-settings:"opsz" 72;margin-bottom:18px;font-size:72px;font-weight:420;line-height:.92}.hero-study h1 span{color:var(--accent)}.hero-study__role{font-size:var(--text-lg);margin-bottom:16px;font-weight:650}.hero-study__intro{max-width:500px;color:var(--muted-foreground);font-size:var(--text-lg);margin-bottom:30px}.hero-study__actions{flex-wrap:wrap;gap:12px;display:flex}.hero-study__footnote{border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;padding-top:18px;font-size:10px;display:flex}.spotlight-visual{--scene-base:#e7e8e4;--scene-grid:#cfd1cb;--scene-outline:#777b73;--scene-reveal:#f2f3ef;--scene-plane:#dce2d8;--scene-plane-side:#b8c2b4;--scene-shadow:#20231f;--scene-blue:#245cba;--scene-green:#a7be3d;--spotlight-radius:clamp(150px, 17vw, 250px);grid-column:6/13;align-self:center;margin:0}.dark .spotlight-visual{--scene-base:#191b18;--scene-grid:#30332e;--scene-outline:#777d72;--scene-reveal:#242721;--scene-plane:#495044;--scene-plane-side:#30362d;--scene-shadow:#080907;--scene-blue:#5e8de5;--scene-green:#b6cc4c}.spotlight-visual__stage{aspect-ratio:6/5;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--scene-base);box-shadow:var(--shadow-sm);cursor:crosshair;transition:border-color var(--duration-base) var(--ease-standard);position:relative;overflow:hidden}.spotlight-visual__stage:hover{border-color:var(--foreground)}.spotlight-visual__layer{position:absolute;inset:0}.spotlight-visual__layer--reveal{z-index:1;-webkit-mask-image:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000 46%, #000000d1 62%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000 46%, #000000d1 62%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000 46%, #000000d1 62%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000 46%, #000000d1 62%, transparent 100%);mask-image:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000 46%, #000000d1 62%, transparent 100%);will-change:opacity, -webkit-mask-image, mask-image;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.spotlight-scene{width:100%;height:100%;display:block}.spotlight-scene path,.spotlight-scene circle,.spotlight-scene ellipse{vector-effect:non-scaling-stroke}.spotlight-scene__grid-line{fill:none;stroke:var(--scene-grid);stroke-width:1px}.spotlight-scene__coordinates,.spotlight-scene__leaders{fill:none;stroke:var(--scene-outline);stroke-width:1px}.spotlight-scene__leaders{stroke-dasharray:3 4}.spotlight-scene__labels{fill:var(--scene-outline);font-family:var(--font-mono);font-size:10px}.spotlight-scene--base .spotlight-scene__ground{fill:var(--scene-base)}.spotlight-scene--base .spotlight-scene__shadow{fill:var(--scene-shadow)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--base .spotlight-scene__shadow{fill:color-mix(in srgb, var(--scene-shadow) 8%, transparent)}}.spotlight-scene--base .spotlight-scene__platform,.spotlight-scene--base .spotlight-scene__platform-side,.spotlight-scene--base .spotlight-scene__platform-end,.spotlight-scene--base .spotlight-scene__module,.spotlight-scene--base .spotlight-scene__module-side,.spotlight-scene--base .spotlight-scene__module-end,.spotlight-scene--base .spotlight-scene__module-two-side,.spotlight-scene--base .spotlight-scene__module-two-end{fill:var(--scene-base)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--base .spotlight-scene__platform,.spotlight-scene--base .spotlight-scene__platform-side,.spotlight-scene--base .spotlight-scene__platform-end,.spotlight-scene--base .spotlight-scene__module,.spotlight-scene--base .spotlight-scene__module-side,.spotlight-scene--base .spotlight-scene__module-end,.spotlight-scene--base .spotlight-scene__module-two-side,.spotlight-scene--base .spotlight-scene__module-two-end{fill:color-mix(in srgb, var(--scene-base) 74%, var(--scene-outline))}}.spotlight-scene--base .spotlight-scene__platform,.spotlight-scene--base .spotlight-scene__platform-side,.spotlight-scene--base .spotlight-scene__platform-end,.spotlight-scene--base .spotlight-scene__module,.spotlight-scene--base .spotlight-scene__module-side,.spotlight-scene--base .spotlight-scene__module-end,.spotlight-scene--base .spotlight-scene__module-two-side,.spotlight-scene--base .spotlight-scene__module-two-end{stroke:var(--scene-outline);stroke-width:1px}.spotlight-scene--base .spotlight-scene__track,.spotlight-scene--base .spotlight-scene__aperture{fill:none;stroke:var(--scene-outline);stroke-width:1px}.spotlight-scene--base .spotlight-scene__track-line{fill:none;stroke:var(--scene-outline);stroke-width:.8px;stroke-dasharray:2 5}.spotlight-scene--base .spotlight-scene__aperture-core,.spotlight-scene--base .spotlight-scene__signal,.spotlight-scene--base .spotlight-scene__node{fill:var(--scene-outline)}.spotlight-scene--reveal .spotlight-scene__ground{fill:var(--scene-reveal)}.spotlight-scene--reveal .spotlight-scene__shadow{fill:var(--scene-shadow)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__shadow{fill:color-mix(in srgb, var(--scene-shadow) 20%, transparent)}}.spotlight-scene--reveal .spotlight-scene__platform{fill:var(--scene-plane);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__platform-side{fill:var(--scene-plane-side);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__platform-end{fill:var(--scene-plane-side)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__platform-end{fill:color-mix(in srgb, var(--scene-plane-side) 70%, var(--scene-shadow))}}.spotlight-scene--reveal .spotlight-scene__platform-end{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__track{fill:var(--scene-reveal)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__track{fill:color-mix(in srgb, var(--scene-reveal) 76%, var(--scene-blue))}}.spotlight-scene--reveal .spotlight-scene__track{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__track-line{fill:none;stroke:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__track-line{stroke:color-mix(in srgb, var(--foreground) 50%, transparent)}}.spotlight-scene--reveal .spotlight-scene__track-line{stroke-width:.8px}.spotlight-scene--reveal .spotlight-scene__module--one{fill:var(--accent);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__module-side{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__module-side{fill:color-mix(in srgb, var(--accent) 68%, #181914)}}.spotlight-scene--reveal .spotlight-scene__module-side{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__module-end{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__module-end{fill:color-mix(in srgb, var(--accent) 46%, var(--scene-reveal))}}.spotlight-scene--reveal .spotlight-scene__module-end{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__module--two{fill:var(--scene-blue);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__module-two-side{fill:var(--scene-blue)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__module-two-side{fill:color-mix(in srgb, var(--scene-blue) 66%, #171915)}}.spotlight-scene--reveal .spotlight-scene__module-two-side{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__module-two-end{fill:var(--scene-blue)}@supports (color:color-mix(in lab, red, red)){.spotlight-scene--reveal .spotlight-scene__module-two-end{fill:color-mix(in srgb, var(--scene-blue) 52%, var(--scene-reveal))}}.spotlight-scene--reveal .spotlight-scene__module-two-end{stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__aperture{fill:var(--scene-reveal);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__aperture-core{fill:var(--foreground)}.spotlight-scene--reveal .spotlight-scene__signal{fill:var(--scene-green);stroke:var(--foreground);stroke-width:1px}.spotlight-scene--reveal .spotlight-scene__node{fill:var(--foreground);stroke:var(--scene-reveal);stroke-width:4px}.spotlight-visual__corner{z-index:2;pointer-events:none;width:20px;height:20px;position:absolute}.spotlight-visual__corner--top{border-top:1px solid var(--foreground);border-left:1px solid var(--foreground);top:12px;left:12px}.spotlight-visual__corner--bottom{border-right:1px solid var(--foreground);border-bottom:1px solid var(--foreground);bottom:12px;right:12px}.spotlight-visual figcaption{color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:16px;margin-top:10px;font-size:9px;display:flex}.portrait-study{padding-bottom:72px}.portrait-study--home{padding-bottom:0}body:has(.portrait-reference) .site-footer{display:none}.portrait-study__hero{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:24px;min-height:calc(100svh - 210px);padding-top:44px;padding-bottom:28px;display:grid}.portrait-study__copy{z-index:1;grid-column:1/6}.portrait-study__eyebrow{align-items:center;gap:12px;display:flex}.portrait-study__eyebrow:before{content:"";background:var(--accent);width:28px;height:2px}.portrait-study h1{font-family:var(--font-display);margin-bottom:6px;font-size:72px;font-weight:440;line-height:.98}.portrait-study h1 span{color:var(--accent)}.portrait-study__english-name{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:30px;font-weight:430;line-height:1.1}.portrait-study__identity{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;margin-bottom:15px;font-weight:550;line-height:1.5}.portrait-study__intro{max-width:530px;color:var(--muted-foreground);font-size:var(--text-lg);margin-bottom:30px;line-height:1.8}.portrait-study__intro p{margin:0}.portrait-study__intro-primary{color:var(--foreground)}.portrait-study__actions{flex-wrap:wrap;gap:12px;display:flex}.portrait-visual{grid-column:6/13;align-self:center;margin:0}.portrait-diagram{z-index:1;width:100%;height:100%;position:absolute;inset:0}.portrait-diagram path,.portrait-diagram circle{vector-effect:non-scaling-stroke}.portrait-diagram__camera,.portrait-diagram__robot,.portrait-diagram__trajectory,.portrait-diagram__coordinates{fill:none;stroke:var(--portrait-line);stroke-width:1px}.portrait-diagram__robot{stroke-width:1.35px}.portrait-diagram__robot circle{fill:var(--portrait-field);stroke-width:1.2px}.portrait-diagram__camera{opacity:.78}.portrait-diagram__trajectory{stroke-dasharray:4 5}.portrait-diagram__coordinates{opacity:.72}.portrait-diagram__labels{fill:var(--portrait-line);font-family:var(--font-mono);font-size:9px}.portrait-diagram--base{opacity:.72}.portrait-study__metadata{border-block:1px solid var(--border);grid-template-columns:1fr 1.35fr 1fr;margin:0;display:grid}.portrait-study__metadata>div{border-right:1px solid var(--border);min-width:0;padding:24px 22px 26px}.portrait-study__metadata>div:first-child{padding-left:0}.portrait-study__metadata>div:last-child{border-right:0;padding-right:0}.portrait-study__metadata dt{color:var(--muted-foreground);font-family:var(--font-mono);text-transform:uppercase;margin-bottom:8px;font-size:9px}.portrait-study__metadata dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:620}.portrait-study__metadata a:hover{color:var(--accent)}@media (min-width:1600px){.shell{padding-inline:64px}.hero h1{font-size:86px}.hero-study h1,.portrait-study h1{font-size:80px}}@media (max-width:1100px){.shell{padding-inline:32px}.hero h1{font-size:64px}.hero__copy{grid-column:1/8}.hero-instrument{grid-column:8/13;padding:3%}.hero-study h1{font-size:64px}.portrait-study h1{font-size:62px}.portrait-study__intro{font-size:var(--text-base)}.contact-cta__inner{grid-template-columns:2fr 6fr 4fr}.contact-cta__inner>p:not(.eyebrow){display:none}.case-study__header h1{font-size:64px}}@media (max-width:900px){.desktop-nav{display:none}.mobile-menu-trigger{display:grid}.site-header__inner{grid-template-columns:1fr auto}.hero{grid-template-rows:auto auto auto;min-height:auto;padding-top:72px}.hero__copy{grid-column:1/9;padding-bottom:0}.hero-instrument{grid-column:7/13;max-height:none;margin-top:-48px;padding:0}.hero__footnote{grid-row:3}.hero-study{grid-template-rows:auto auto auto;min-height:auto;padding-top:64px}.hero-study__copy{grid-column:1/10;padding-bottom:12px}.spotlight-visual{grid-column:3/13}.hero-study__footnote{grid-row:3}.portrait-study__hero{grid-template-rows:auto auto;min-height:auto;padding-top:60px;padding-bottom:42px}.portrait-study__copy{grid-column:1/11;max-width:700px}.portrait-visual{grid-column:3/13;margin-top:28px}.portrait-study__metadata{grid-template-columns:1fr 1fr}.portrait-study__metadata>div:nth-child(2){border-right:0}.portrait-study__metadata>div:last-child{border-top:1px solid var(--border);grid-column:1/-1}.identity-band__grid{grid-template-columns:2fr 7fr}.identity-band__status{grid-column:2}.section-heading{grid-template-columns:2fr 6fr}.section-heading h2{font-size:var(--text-3xl)}.project-card:nth-child(3n+1){grid-column:1/8}.project-card:nth-child(3n+2){grid-column:8/13;padding-top:48px}.project-card:nth-child(3n+3){grid-column:3/11}.skill-grid article{min-height:390px;padding-inline:20px}.note-list a{grid-template-columns:44px 1fr 24px}.note-list__date{display:none}.page-header--index{grid-template-columns:1fr;align-items:start}.page-header__lede{margin-top:24px}.page-header--about,.page-section{grid-template-columns:2fr 6fr}.principles-list article{grid-template-columns:36px 1fr}.principles-list p{grid-column:2}.case-study__description{margin-left:16.666%}.case-study__meta{grid-template-columns:1fr 1fr}.case-study__body,.case-study__related-note{grid-template-columns:2fr 6fr}.lab-feature{grid-template-columns:1fr}.lab-feature__intro{max-width:680px;position:static}.lab-index{grid-template-columns:2fr 6fr}.contact-page>header,.research-entry__media{grid-template-columns:1fr}.research-entry__overview{max-width:560px}}@media (max-width:767px){.shell{padding-inline:20px}.site-header{height:64px}.wordmark__label{display:none}.wordmark__label--home-v8{display:inline}.hero{flex-direction:column;gap:22px;padding-top:36px;padding-bottom:20px;display:flex}.hero__copy{order:1}.hero h1{font-size:52px;line-height:.94}.hero__role{font-size:var(--text-base)}.hero__intro{font-size:var(--text-base);margin-bottom:22px}.hero-instrument{aspect-ratio:16/10;order:2;width:100%;margin:0;padding:0}.hero__footnote{order:3}.hero-study{flex-direction:column;gap:24px;padding-top:42px;padding-bottom:20px;display:flex}.hero-study__copy{order:1;padding-bottom:0}.hero-study h1{font-size:52px}.hero-study__role,.hero-study__intro{font-size:var(--text-base)}.hero-study__intro{margin-bottom:22px}.spotlight-visual{order:2;width:100%}.spotlight-visual__stage{aspect-ratio:6/5;cursor:default}.spotlight-visual__layer--reveal{opacity:1!important}.hero-study__footnote{order:3}.portrait-study{padding-bottom:56px}.portrait-study--home{padding-bottom:0}.portrait-study__hero{flex-direction:column;gap:34px;padding-top:42px;padding-bottom:34px;display:flex}.portrait-study__copy{width:100%}.portrait-study h1{font-size:56px}.portrait-study__english-name{font-size:var(--text-xl);margin-bottom:24px}.portrait-study__intro{font-size:var(--text-base)}.portrait-visual{width:100%}.portrait-diagram__camera,.portrait-diagram__coordinates,.portrait-diagram__labels text:not(:nth-child(2)){display:none}.portrait-study__metadata{grid-template-columns:1fr}.portrait-study__metadata>div{border-right:0;border-bottom:1px solid var(--border);padding:20px 0 22px}.portrait-study__metadata>div:nth-child(2){border-right:0}.portrait-study__metadata>div:last-child{border-top:0;border-bottom:0;grid-column:auto}.identity-band__grid{grid-template-columns:1fr;gap:16px;padding-top:38px;padding-bottom:38px}.identity-band__statement{font-size:var(--text-xl)}.identity-band__status{grid-column:1}.section{padding-top:80px;padding-bottom:80px}.section-heading{grid-template-columns:1fr;gap:6px;margin-bottom:42px}.section-heading.section-heading--centered{grid-template-columns:1fr;gap:14px}.section-heading--centered>.eyebrow,.section-heading--centered .section-heading__content{grid-area:auto/1}.section-heading h2{font-size:var(--text-3xl)}.project-grid{grid-template-columns:1fr;gap:56px}.project-card:nth-child(n){grid-column:1;padding-top:0}.project-card__body h3{font-size:var(--text-xl)}.timeline>li{grid-template-columns:1fr;gap:10px}.skill-grid{grid-template-columns:1fr}.skill-grid article{border-right:0;border-bottom:1px solid var(--border);min-height:auto;padding:28px 0 34px}.skill-grid article:last-child{border-bottom:0}.skill-grid__index{margin-bottom:42px}.skill-grid p{min-height:0}.note-list a{grid-template-columns:30px 1fr 18px;gap:12px;padding:24px 0}.note-list a:hover{background:0 0;padding-inline:0}.note-list__main h3{font-size:var(--text-lg)}.contact-cta{margin-top:0}.contact-cta__inner{grid-template-columns:1fr;gap:18px;padding-top:56px;padding-bottom:56px}.contact-cta__inner>p:not(.eyebrow){display:block}.contact-cta h2{font-size:var(--text-3xl)}.contact-cta .action-link{margin-top:14px}.site-footer__grid{justify-content:flex-start;padding-top:22px;padding-bottom:22px}.site-footer__meta{text-align:left}.page{padding-top:64px;padding-bottom:88px}.page-header{margin-bottom:56px;padding-bottom:44px}.page-header h1{font-size:var(--text-3xl)}.page-header__lede{font-size:var(--text-base)}.page-header--about{grid-template-columns:1fr;align-items:start;gap:18px}.page-header--about>.eyebrow,.page-header--about h1,.page-header--about .page-header__lede{grid-column:1}.honors-group{grid-template-columns:1fr;gap:18px}.honors-group li{grid-template-columns:1fr;gap:5px}.honors-group li p{text-align:left}.research-entry__metrics{grid-template-columns:1fr}.research-entry__metrics div{padding-right:0}.research-entry__metrics div+div{border-top:1px solid var(--border);border-left:0;padding-left:0}.research-entry__bibliography,.research-entry__figures{grid-template-columns:1fr}.page-section{grid-template-columns:1fr;gap:34px;padding-top:80px}.page-section__label h2{max-width:520px}.principles-list article{grid-template-columns:32px 1fr;gap:14px}.principles-list p{grid-column:2}.index-summary{flex-wrap:wrap;margin-top:-28px;margin-bottom:48px}.index-summary span:nth-child(2){order:3;width:100%}.case-study{padding-top:28px;padding-bottom:80px}.case-study__header .back-link{margin-bottom:48px}.case-study__header h1{font-size:52px}.case-study__description{font-size:var(--text-base);margin-left:0}.case-study__meta{grid-template-columns:1fr 1fr;gap:22px 16px;margin-top:42px}.case-study__english-title{margin-left:0}.case-study__evidence{margin-top:72px}.case-study__evidence-heading{grid-template-columns:1fr;gap:12px}.case-study__gallery{grid-template-columns:1fr}.case-study__gallery figure,.case-study__gallery figure[data-media-role]{grid-column:1}.case-study__cover figcaption{grid-template-columns:1fr;gap:5px}.case-study-article{grid-template-columns:1fr;margin-top:72px}.case-study-article>aside{border-bottom:1px solid var(--border);padding-bottom:24px;position:static}.case-study-article>aside ol{flex-wrap:wrap;gap:4px 18px;display:flex}.case-study-article__content section>header{grid-template-columns:auto minmax(0,1fr);column-gap:14px}.case-study-article__content>section+section{margin-top:72px;padding-top:36px}.case-study-article__content h2{font-size:var(--text-2xl)}.case-study-article__body{font-size:var(--text-base)}.case-study-article__figures{margin-block:32px}.case-study__body{grid-template-columns:1fr;margin-top:72px}.case-study__body aside{border-bottom:1px solid var(--border);padding-bottom:28px;position:static}.case-study__sections h2{font-size:var(--text-2xl)}.case-study__sections section>p:not(.eyebrow){font-size:var(--text-base)}.case-study__related-note{grid-template-columns:1fr;gap:24px;margin-top:8px;padding-block:32px}.case-study__related-note a{min-height:0}.case-study__related-note strong{font-size:var(--text-xl)}.case-study__next a{font-size:var(--text-2xl)}.note-page{padding-top:28px;padding-bottom:80px}.note-page__header .back-link{margin-bottom:48px}.note-page__header h1{font-size:var(--text-3xl)}.prose{font-size:var(--text-base)}.note-page__footer{flex-direction:column;align-items:flex-start;gap:20px}.contact-page{padding-top:64px;padding-bottom:88px}.contact-page>header{min-height:0;padding-bottom:52px}.contact-page>header h1{font-size:var(--text-3xl)}.contact-panel{grid-template-columns:1fr;gap:26px}.contact-channel{grid-template-columns:1fr;gap:20px}.contact-channel .action-link{justify-self:start}.not-found h1{font-size:var(--text-3xl)}}@media (max-width:420px){.hero h1,.case-study__header h1{font-size:46px}.hero__actions,.hero-study__actions,.portrait-study__actions{flex-direction:column;align-items:stretch}.action-link{width:100%}.hero__footnote span:last-child,.hero-study__footnote span:last-child{display:none}.case-study__meta{grid-template-columns:1fr}.lab-instrument__controls label{grid-template-columns:70px 1fr 26px;gap:8px}.contact-channel__email{font-size:var(--text-base)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-page-transition],[data-section-reveal],.project-card:hover .project-card__image,.hero-instrument__plane,.lab-instrument__stage *{opacity:1!important;transform:none!important}.spotlight-visual__layer--reveal{opacity:1!important}.project-card__result-reveal{-webkit-mask-image:none;mask-image:none;opacity:1!important}.project-card--crossfade .project-card__image--base{opacity:1!important}.project-card--crossfade .project-card__image--reveal{opacity:0!important}}@media (hover:none){.spotlight-visual__layer--reveal{opacity:1!important}.project-card__result-reveal{-webkit-mask-image:none;mask-image:none;opacity:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
