.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@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}}}@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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Anybody", "Arial Narrow", sans-serif;--font-body:"Space Grotesk", system-ui, sans-serif}}@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]){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;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}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.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,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))}}:root{--canvas:#f2f2f2;--paper:#fff;--ink:#191919;--muted:#6f706d;--signal:#fffa00;--line:#d3d3ce;--panel:#e8eae7;--panel-deep:#c7cbc7;--telemetry:.55rem;--rail:4.25rem;--shell:min(100% - clamp(2rem, 7vw, 8rem), 105rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--canvas);color-scheme:light;scroll-padding-top:0}body{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.5;overflow-x:hidden}body.is-loading,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}::selection{background:var(--signal);color:var(--ink)}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.page-shell{z-index:1;position:relative}.site-loader{z-index:1000;background:var(--canvas);color:var(--ink);transition:transform .68s cubic-bezier(.76,0,.24,1);animation:0s linear 4.5s forwards loader-failsafe;display:none;position:fixed;inset:0;overflow:hidden}.has-js .site-loader{display:block}.site-loader.is-hidden{display:none}.site-loader.is-route{visibility:visible;animation:none}.site-loader.is-leaving{will-change:transform;transform:translateY(-102%)}.site-loader.is-resetting{transition:none!important}.loader-grid,.hero-grid,.contact-grid,.archive-hero-grid,.case-hero-grid,.mobile-menu-grid{pointer-events:none;background-image:linear-gradient(90deg,#19191914 1px,#0000 1px),linear-gradient(#19191914 1px,#0000 1px);background-size:clamp(4rem,8vw,9rem) clamp(4rem,8vw,9rem);position:absolute;inset:0}.loader-topline{border-top:2px solid var(--ink);letter-spacing:.08em;justify-content:space-between;padding-top:.55rem;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:clamp(1.25rem,3vw,2.75rem);left:clamp(1.25rem,3vw,2.75rem);right:clamp(1.25rem,3vw,2.75rem)}.loader-mark{font-family:var(--font-display);font-variation-settings:"wdth" 150, "wght" 900;letter-spacing:-.18em;font-size:clamp(8rem,24vw,24rem);line-height:.7;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}.loader-mark span:last-child{-webkit-text-stroke:2px var(--ink);color:#0000}.loader-center{white-space:nowrap;letter-spacing:.16em;align-items:center;gap:1rem;font-size:.64rem;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,5rem)}.loader-cross{background:var(--signal);place-items:center;width:1.6rem;height:1.6rem;font-size:1.1rem;display:grid}.loader-progress{position:absolute;bottom:clamp(1.5rem,3vw,3rem);left:clamp(1.25rem,3vw,2.75rem);right:clamp(1.25rem,3vw,2.75rem)}.loader-progress-meta{letter-spacing:.12em;justify-content:space-between;align-items:end;margin-bottom:.7rem;font-size:.65rem;font-weight:700;display:flex}.loader-progress-meta strong{font-family:var(--font-display);font-variation-settings:"wdth" 135, "wght" 800;font-size:clamp(2.8rem,6vw,6rem);line-height:.65}.loader-track{background:var(--ink);height:.55rem;overflow:hidden}.loader-track span{transform-origin:0;background:var(--signal);width:100%;height:100%;display:block;transform:scaleX(0)}@keyframes loader-failsafe{to{visibility:hidden;pointer-events:none}}.desktop-rail{z-index:100;width:var(--rail);display:none;position:fixed;inset:0 auto 0 0}.rail-surface{width:var(--rail);border-right:1px solid var(--line);background:#fffffff5;flex-direction:column;height:100%;transition:width .42s cubic-bezier(.22,1,.36,1),box-shadow .42s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 #0000}.desktop-rail:hover .rail-surface,.desktop-rail:focus-within .rail-surface{width:13rem;box-shadow:1.2rem 0 3rem #1919191f}.rail-logo{width:var(--rail);border-bottom:1px solid var(--line);min-height:6.5rem;font-family:var(--font-display);font-variation-settings:"wdth" 140, "wght" 900;letter-spacing:-.15em;flex:0 0 6.5rem;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:relative;overflow:visible}.rail-logo span:last-of-type{-webkit-text-stroke:1px var(--ink);color:#0000}.rail-logo small{white-space:nowrap;font-family:var(--font-body);letter-spacing:.14em;opacity:0;font-size:.58rem;font-weight:700;transition:opacity .2s .1s;position:absolute;top:50%;left:4.6rem;transform:translateY(-50%)}.desktop-rail:hover .rail-logo small,.desktop-rail:focus-within .rail-logo small{opacity:1}.rail-nav{flex-direction:column;flex:1;justify-content:center;display:flex}.rail-link{border-bottom:1px solid #0000;flex:0 0 3.35rem;align-items:center;width:13rem;height:3.35rem;font-size:.75rem;font-weight:600;transition:background .2s,color .2s;display:flex;position:relative}.rail-link:before{background:var(--signal);content:"";width:.24rem;transition:transform .24s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.rail-link:hover,.rail-link.is-active{background:#e8e8e5}.rail-link.is-active:before{transform:scaleY(1)}.rail-icon{width:var(--rail);flex:0 0 var(--rail);place-items:center;display:grid}.rail-icon svg{width:1.35rem;height:1.35rem}.rail-label{white-space:nowrap;opacity:0;align-items:center;gap:.65rem;transition:opacity .22s 80ms,transform .3s 60ms;display:flex;transform:translate(-.5rem)}.rail-label small{color:#92928e;font-family:var(--font-display);font-variation-settings:"wdth" 100, "wght" 700;font-size:.58rem}.desktop-rail:hover .rail-label,.desktop-rail:focus-within .rail-label{opacity:1;transform:translate(0)}.rail-utilities{border-top:1px solid var(--line);width:13rem}.rail-socials{width:var(--rail);justify-content:center;gap:.35rem;padding:.7rem 0;transition:width .42s cubic-bezier(.22,1,.36,1);display:flex}.desktop-rail:hover .rail-socials,.desktop-rail:focus-within .rail-socials{width:13rem}.rail-socials a{width:1.15rem;height:1.65rem;color:var(--ink);place-items:center;transition:background .2s,transform .2s;display:grid}.rail-socials svg{fill:currentColor;width:.95rem;height:.95rem;overflow:visible}.rail-socials a:hover,.rail-socials a:focus-visible{background:var(--signal);transform:translateY(-2px)}.rail-resume{width:13rem;height:var(--rail);background:var(--ink);color:var(--paper);align-items:center;display:flex}.rail-resume-mark{width:var(--rail);flex:0 0 var(--rail);place-items:center;font-size:1.5rem;display:grid}.rail-resume-label{white-space:nowrap;letter-spacing:.04em;opacity:0;font-size:.75rem;font-weight:700;transition:opacity .2s .1s}.desktop-rail:hover .rail-resume-label,.desktop-rail:focus-within .rail-resume-label{opacity:1}.mobile-header{z-index:110;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:stretch;height:3.65rem;display:flex;position:fixed;inset:0 0 auto}.mobile-logo{align-items:center;gap:.65rem;padding-left:1rem;display:flex}.mobile-logo strong{font-family:var(--font-display);font-variation-settings:"wdth" 145, "wght" 900;letter-spacing:-.14em;font-size:1.15rem}.mobile-logo span{border-left:1px solid var(--line);letter-spacing:.13em;padding-left:.65rem;font-size:.55rem;font-weight:700}.mobile-header-actions{display:flex}.mobile-resume,.menu-toggle{border:0;border-left:1px solid var(--line);background:0 0;place-items:center;min-width:3.65rem;font-size:.65rem;font-weight:700;display:grid}.menu-toggle{cursor:pointer;position:relative}.menu-toggle span{background:var(--ink);width:1.25rem;height:2px;transition:transform .3s,top .3s;position:absolute}.menu-toggle span:first-child{top:1.48rem}.menu-toggle span:last-child{top:2.05rem}.menu-toggle[aria-expanded=true] span:first-child{top:1.75rem;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:1.75rem;transform:rotate(-45deg)}.mobile-menu{z-index:105;background:var(--paper);opacity:0;pointer-events:none;flex-direction:column;padding:5rem 1rem 1.25rem;transition:transform .58s cubic-bezier(.76,0,.24,1),opacity .2s;display:flex;position:fixed;inset:0;overflow:hidden;transform:translateY(-100%)}.mobile-menu[data-open=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-menu-links a.is-active{background:linear-gradient(90deg, var(--signal) 0 .28rem, transparent .28rem)}.mobile-menu-kicker{z-index:1;letter-spacing:.12em;margin-bottom:1.2rem;font-size:.6rem;font-weight:700;position:relative}.mobile-menu-links{z-index:1;border-top:2px solid var(--ink);position:relative}.mobile-menu-links a{border-bottom:1px solid #1919194d;grid-template-columns:2rem 1fr auto;align-items:center;padding:.7rem 0;display:grid}.mobile-menu-links small{font-size:.58rem;font-weight:700}.mobile-menu-links span{font-family:var(--font-display);font-variation-settings:"wdth" 100, "wght" 850;text-transform:uppercase;font-size:clamp(2rem,10vw,3.5rem);line-height:.9;transition:font-variation-settings .25s}.mobile-menu-links a:hover span,.mobile-menu-links a:focus-visible span{font-variation-settings:"wdth" 150, "wght" 850}.mobile-menu-links i{font-style:normal}.mobile-menu-foot{z-index:1;border-top:1px solid #1919194d;gap:1rem;margin-top:auto;padding-top:1rem;font-size:.58rem;font-weight:700;display:flex;position:relative}.section-shell{width:var(--shell);margin-inline:auto;position:relative}.portfolio-section{padding-block:clamp(6rem,12vw,11rem);position:relative;overflow:clip}.section-heading{z-index:2;margin-bottom:clamp(4rem,8vw,8rem);position:relative}.section-heading-meta{letter-spacing:.12em;text-transform:uppercase;grid-template-columns:auto auto 1fr;align-items:center;gap:.85rem;margin-bottom:1.2rem;font-size:.66rem;font-weight:700;display:grid}.section-index{background:var(--signal);place-items:center;min-width:2.75rem;height:1.7rem;display:inline-grid}.section-signal{background:var(--line);height:1px}.section-heading h2{max-width:12ch;font-family:var(--font-display);font-variation-settings:"wdth" 110, "wght" 820;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-size:clamp(3.1rem,7.6vw,9rem);line-height:.86}.section-description{border-left:.5rem solid var(--signal);color:#444541;width:min(100%,40rem);margin:1.75rem 0 0 auto;padding-left:1.2rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.55}.kinetic-marquee{border-block:1px solid var(--ink);background:var(--signal);width:100%;color:var(--ink);display:flex;overflow:hidden}.kinetic-marquee.is-dark{background:var(--ink);color:var(--paper)}.kinetic-marquee-track{min-width:max-content;animation:27s linear infinite paused marquee;display:flex}.kinetic-marquee.is-in-view .kinetic-marquee-track{animation-play-state:running}.kinetic-marquee.is-reverse .kinetic-marquee-track{animation-direction:reverse}.kinetic-marquee span{white-space:nowrap;font-family:var(--font-display);font-variation-settings:"wdth" 135, "wght" 850;letter-spacing:-.05em;align-items:center;gap:1.5rem;padding:1rem 1.5rem;font-size:clamp(1.8rem,4vw,4.5rem);line-height:.8;display:inline-flex}.kinetic-marquee i{font-style:normal;font-weight:300}@keyframes marquee{to{transform:translate(-100%)}}.action-button{border:1px solid var(--ink);letter-spacing:.05em;text-transform:uppercase;background:0 0;align-items:stretch;min-height:3.5rem;font-size:.72rem;font-weight:700;transition:background .22s,color .22s;display:inline-flex}.action-button span{align-items:center;padding:.9rem 1.25rem;display:flex}.action-button b{border-left:1px solid;place-items:center;width:3.5rem;font-size:1.1rem;display:grid}.action-button:hover{background:var(--signal)}.action-button--dark{background:var(--ink);color:var(--paper)}.action-button--dark:hover,.action-button--yellow{background:var(--signal);color:var(--ink)}.action-button--yellow:hover{background:var(--paper)}.inline-link{border-bottom:2px solid var(--ink);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:1.4rem;padding-bottom:.35rem;font-size:.75rem;font-weight:700;display:inline-flex}.inline-link b{font-size:1rem;transition:transform .2s}.inline-link:hover b{transform:translate(.2rem,-.2rem)}.hero-section{isolation:isolate;border-bottom:1px solid var(--line);background:var(--canvas);min-height:max(47rem,100svh);display:grid;position:relative;overflow:hidden}.hero-section:before{background:var(--signal);content:"";width:31%;height:.65rem;position:absolute;inset:0 0 auto auto}.hero-topline{z-index:4;border-top:2px solid var(--ink);grid-template-columns:1fr 1.2fr 1fr;gap:1rem;padding-top:.55rem;display:grid;position:absolute;top:2.75rem;left:clamp(1.5rem,3vw,3rem);right:clamp(1.5rem,3vw,3rem)}.hero-topline p{letter-spacing:.09em;margin:0;font-size:.62rem;font-weight:700}.hero-topline p:nth-child(2){text-align:center}.hero-topline p:last-child{text-align:right}.status-dot{background:var(--signal);width:.48rem;height:.48rem;box-shadow:inset 0 0 0 1px var(--ink);margin-left:.3rem;display:inline-block}.hero-title{z-index:2;pointer-events:none;position:absolute;inset:13% 0 auto}.hero-title h1{font-family:var(--font-display);font-variation-settings:"wdth" 128, "wght" 900;letter-spacing:-.09em;text-transform:uppercase;margin:0;font-size:clamp(5rem,13.2vw,15.5rem);line-height:.68}.hero-title-line{white-space:nowrap;display:block;overflow:hidden}.hero-title-line>span{display:block}.hero-title-line--first{padding-left:2.2vw}.hero-title-line--second{text-align:right;padding-right:1.5vw}.hero-title-line--second>span{color:#0000;-webkit-text-stroke:2px var(--ink);font-size:.72em;line-height:.9}.hero-image-zone{z-index:auto;width:min(35vw,34rem);position:absolute;top:11%;bottom:0;right:clamp(1.5rem,4vw,4.5rem)}.hero-image-zone:before{z-index:8;background:linear-gradient(var(--ink),var(--ink)) left top / 1.8rem 1px no-repeat, linear-gradient(var(--ink),var(--ink)) left top / 1px 1.8rem no-repeat, linear-gradient(var(--ink),var(--ink)) right bottom / 1.8rem 1px no-repeat, linear-gradient(var(--ink),var(--ink)) right bottom / 1px 1.8rem no-repeat;content:"";pointer-events:none;position:absolute;inset:13% 2% 8% 12%}.hero-image-yellow{z-index:1;background:var(--signal);clip-path:polygon(17% 0,100% 0,100% 100%,0 100%);position:absolute;inset:18% -5% 4% 15%}.hero-image-frame{z-index:6;position:absolute;inset:0;overflow:hidden}.hero-image-frame:after{background:linear-gradient(to top, var(--canvas) 0, transparent 11%);content:"";pointer-events:none;position:absolute;inset:0}.hero-image-subject{transform-origin:62% 72%;position:absolute;inset:0}.hero-image-frame img{object-fit:contain;object-position:right bottom;filter:grayscale(0)contrast(1.06)brightness(1.03);width:auto;max-width:none;height:122%;transition:filter .45s,transform .75s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-2.4%;right:0}.hero-image-zone:hover .hero-image-frame img{filter:grayscale(0)contrast(1.06)brightness(1.03);transform:scale(1.006)}.hero-image-scan{z-index:3;background:linear-gradient(90deg,transparent 0,var(--signal) 12%,var(--signal) 88%,transparent 100%);opacity:0;height:1px;position:absolute;top:14%;left:8%;right:8%;box-shadow:0 0 .85rem #fffa0099}.hero-image-scan:after{background:var(--signal);width:.42rem;height:.42rem;box-shadow:inset 0 0 0 1px var(--ink);content:"";position:absolute;top:-.2rem;right:4%}.hero-section.is-idle-ready.is-idle-visible .hero-image-subject{animation:9.5s cubic-bezier(.45,0,.3,1) infinite alternate hero-subject-idle}.hero-section.is-idle-ready.is-idle-visible .hero-image-yellow{transform-origin:82% 80%;animation:11.5s cubic-bezier(.45,0,.3,1) infinite alternate hero-signal-idle,6.1s step-end .8s infinite hero-signal-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-image-scan{animation:7.2s cubic-bezier(.45,0,.3,1) .25s infinite hero-scan}.hero-section.is-idle-ready.is-idle-visible .hero-image-scan:after{animation:3.2s step-end .4s infinite hero-status-flicker}.hero-section.is-idle-ready.is-idle-visible .status-dot{animation:4.7s step-end infinite hero-status-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-image-label{animation:6.2s step-end 1.1s infinite hero-label-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-image-zone:before{animation:7.6s step-end 2.2s infinite hero-reticle-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-instrument--asset strong{animation:6.8s step-end 3.4s infinite hero-label-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-instrument--base span,.hero-section.is-idle-ready.is-idle-visible .hero-topline p:nth-child(2){animation:7.1s step-end 1.8s infinite hero-readout-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-dossier-header b{animation:5.3s step-end 2.7s infinite hero-status-flicker}.hero-section.is-idle-ready.is-idle-visible .hero-title-line--second>span{animation:11.8s step-end 3.1s infinite hero-type-flicker}@keyframes hero-subject-idle{0%,12%{transform:translate(0)scale(1)}48%{transform:translate(-.16%,.32%)scale(1.0015)}74%{transform:translate(.1%,-.12%)scale(1.0005)}to{transform:translate(-.08%,.18%)scale(1.002)}}@keyframes hero-signal-idle{0%,18%{transform:translate(0)scaleX(1)}55%{transform:translate(.45%,.15%)scaleX(.994)}to{transform:translate(-.2%,-.1%)scaleX(1.003)}}@keyframes hero-signal-flicker{0%,18%,24%,54%,62%,80%,87%,to{opacity:1;filter:none}19%,23%,55%,61%,81%,86%{opacity:.82;filter:brightness(.94)}20%,22%,56%,60%,82%,85%{opacity:.68;filter:brightness(.86)}21%,57%,59%,83%,84%{opacity:.9;filter:brightness(1.08)}58%{opacity:.58;filter:brightness(.82)}}@keyframes hero-scan{0%{opacity:.42;top:14%}5%{opacity:.95}45%{opacity:.72}50%{opacity:.46;top:83%}55%{opacity:.95}95%{opacity:.72}to{opacity:.42;top:14%}}@keyframes hero-status-flicker{0%,5%,12%,27%,36%,65%,74%,to{opacity:1}6%,9%,28%,32%,66%,70%{opacity:.12}10%,33%,71%{opacity:.52}11%,35%,73%{opacity:.82}}@keyframes hero-label-flicker{0%,10%,17%,39%,47%,69%,79%,to{opacity:1}11%,14%,40%,44%,70%,75%{opacity:.18}15%,45%,76%{opacity:.54}16%,46%,78%{opacity:.78}}@keyframes hero-reticle-flicker{0%,16%,23%,46%,54%,77%,85%,to{opacity:1}17%,20%,47%,51%,78%,82%{opacity:.24}21%,52%,83%{opacity:.58}22%,53%,84%{opacity:.8}}@keyframes hero-readout-flicker{0%,22%,30%,59%,67%,85%,94%,to{opacity:1}23%,27%,60%,64%,86%,91%{opacity:.3}28%,65%,92%{opacity:.68}29%,66%,93%{opacity:.84}}@keyframes hero-type-flicker{0%,33%,40%,74%,81%,to{text-shadow:none}34%,36%,75%,77%{text-shadow:3px 0 #fffa00e6}37%,39%,78%,80%{text-shadow:-2px 0 #19191980}}.hero-image-label{z-index:7;background:var(--ink);color:var(--paper);letter-spacing:.1em;padding:.45rem .7rem;font-size:.56rem;font-weight:700;position:absolute;bottom:2rem;right:-1rem}.hero-role{z-index:5;width:min(24rem,28vw);position:absolute;bottom:clamp(10rem,18vh,12rem);left:clamp(1.5rem,3vw,3rem)}.hero-dossier-header{border-bottom:1px solid var(--line);letter-spacing:.09em;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.48rem;font-size:.5rem;font-weight:800;display:flex}.hero-dossier-header b{font-size:inherit;align-items:center;gap:.4rem;display:inline-flex}.hero-dossier-header b:before{background:var(--signal);width:.42rem;height:.42rem;box-shadow:inset 0 0 0 1px var(--ink);content:""}.hero-dossier-primary{border-left:.3rem solid var(--signal);margin-top:.7rem;padding-left:.75rem}.hero-dossier-primary>span{letter-spacing:.09em;margin-bottom:.35rem;font-size:.5rem;font-weight:800;display:block}.hero-dossier-primary strong{font-family:var(--font-display);font-variation-settings:"wdth" 122, "wght" 850;letter-spacing:-.055em;margin-bottom:.65rem;font-size:clamp(2.2rem,3.3vw,4rem);line-height:.85;display:block}.hero-role p{max-width:27rem;margin:0;font-size:clamp(.76rem,.9vw,.9rem);line-height:1.42}.hero-dossier-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:.8rem 0 0;display:grid}.hero-dossier-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:.52rem .6rem}.hero-dossier-grid dt{color:var(--muted);letter-spacing:.08em;font-size:.43rem;font-weight:800}.hero-dossier-grid dd{overflow-wrap:break-word;margin:.18rem 0 0;font-size:.59rem;font-weight:700}.hero-instrument{z-index:3;border-top:1px solid var(--ink);letter-spacing:.08em;gap:.18rem;padding-top:.35rem;font-size:.44rem;font-weight:800;display:grid;position:absolute}.hero-instrument span{color:var(--muted)}.hero-instrument strong{font-size:inherit}.hero-instrument--asset{text-align:right;width:8.8rem;top:42%;right:clamp(1rem,3vw,3.5rem)}.hero-instrument--base{text-align:right;width:8.8rem;bottom:1.5rem;right:clamp(1rem,3vw,3.5rem)}.hero-actions{z-index:5;flex-wrap:wrap;justify-content:flex-start;gap:.75rem;max-width:31rem;display:flex;position:absolute;bottom:clamp(2.7rem,5vh,4.5rem);left:clamp(1.5rem,3vw,3rem)}.text-action{letter-spacing:.08em;justify-content:flex-start;gap:.7rem;width:100%;margin-top:.4rem;font-size:.6rem;font-weight:700;display:flex}.hero-scroll{z-index:5;letter-spacing:.12em;align-items:center;gap:.65rem;font-size:.56rem;font-weight:700;display:flex;position:absolute;bottom:1.4rem;left:min(38vw,31rem);right:auto}.hero-scroll i{font-size:1.2rem;font-style:normal;animation:1.5s ease-in-out infinite scroll-bob}@keyframes scroll-bob{50%{transform:translateY(.35rem)}}.projects-section{background:var(--paper)}.project-list{flex-direction:column;gap:clamp(6rem,12vw,13rem);display:flex}.project-feature{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:center;gap:clamp(2rem,6vw,7rem);min-height:100svh;display:grid}.project-feature--reverse{grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr)}.project-feature--reverse .project-media{order:2}.project-feature--reverse .project-copy{order:1}.project-media{clip-path:polygon(0 0,calc(100% - 2.2rem) 0,100% 2.2rem,100% 100%,0 100%);background:#deded8;min-height:clamp(22rem,42vw,39rem);display:block;position:relative;overflow:hidden}.project-media:after{content:"";opacity:0;background:linear-gradient(135deg,#0000 60%,#fffa0047);transition:opacity .35s;position:absolute;inset:0}.project-media:hover:after{opacity:1}.project-image{width:100%;height:100%;min-height:inherit;object-fit:cover;filter:grayscale(0)contrast(1.04);transition:transform .75s cubic-bezier(.22,1,.36,1),filter .45s}.project-media:hover .project-image,.project-media:focus-visible .project-image{filter:grayscale(0)contrast(1.05);transform:scale(1.035)}.project-media-index{z-index:2;background:var(--signal);font-family:var(--font-display);font-variation-settings:"wdth" 130, "wght" 850;padding:.55rem .8rem;font-size:1.35rem;position:absolute;top:0;left:0}.project-media-arrow{z-index:3;background:var(--paper);place-items:center;width:4rem;height:4rem;font-size:1.7rem;transition:background .2s,transform .3s;display:grid;position:absolute;bottom:1rem;right:1rem}.project-media:hover .project-media-arrow{background:var(--signal);transform:rotate(45deg)}.project-media-grid{opacity:.12;background-image:linear-gradient(90deg,#fff 1px,#0000 1px),linear-gradient(#fff 1px,#0000 1px);background-size:4rem 4rem;position:absolute;inset:0}.project-copy{min-width:0;position:relative}.project-kicker{border-block:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding-block:.55rem;font-size:.58rem;font-weight:700;display:flex}.project-copy h3{font-family:var(--font-display);font-variation-settings:"wdth" 92, "wght" 820;letter-spacing:-.07em;text-transform:uppercase;margin:0 0 1.35rem;font-size:clamp(2.8rem,5.4vw,6.5rem);line-height:.88}.project-title-link{overflow-wrap:anywhere;width:100%;min-width:0;max-width:100%;display:block}.project-title-link>span{overflow-wrap:anywhere;paint-order:stroke fill;-webkit-text-stroke:0 transparent;font-variation-settings:"wdth" 92, "wght" 820;width:100%;max-width:100%;transition:font-variation-settings .28s,-webkit-text-stroke .28s;display:block}.project-title-link:hover>span,.project-title-link:focus-visible>span{-webkit-text-stroke:.018em var(--signal);font-variation-settings:"wdth" 122, "wght" 820}.project-copy>p{color:#50514d;font-size:1rem;line-height:1.65}.project-metrics{border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-block:2rem;display:grid}.project-metrics>div{padding:1rem 0}.project-metrics>div+div{border-left:1px solid var(--line);padding-left:1rem}.project-metrics strong{font-family:var(--font-display);font-variation-settings:"wdth" 130, "wght" 800;margin-bottom:.3rem;font-size:clamp(1.8rem,3vw,3.6rem);line-height:.9;display:block}.project-metrics span{color:var(--muted);font-size:.62rem;line-height:1.35;display:block}.section-end-action{border-top:2px solid var(--ink);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-top:clamp(5rem,10vw,9rem);padding-top:1rem;font-size:.62rem;font-weight:700;display:flex}.publication-section{background:var(--canvas);min-height:100vh}.publication-console{z-index:2;grid-template-columns:minmax(0,1.65fr) minmax(20rem,.7fr);gap:clamp(1rem,2.5vw,2.5rem);display:grid;position:relative}.publication-viewer{border:1px solid var(--ink);background:var(--paper);min-width:0}.publication-toolbar,.publication-archive-head,.publication-record-status{border-bottom:1px solid var(--ink);letter-spacing:.07em;align-items:center;gap:.7rem;min-height:2.55rem;padding-inline:.75rem;font-size:.48rem;font-weight:800;display:grid}.publication-toolbar{grid-template-columns:1fr auto auto}.publication-toolbar span:last-child,.publication-record-status span:last-child{color:var(--muted)}.publication-image{background:#deded8;display:block;position:relative;overflow:hidden}.publication-viewport{border-bottom:1px solid var(--ink);height:clamp(24rem,52vw,44rem)}.publication-image:after{content:"";border:1px solid #1919192e;position:absolute;inset:0}.publication-image img{object-fit:cover;filter:grayscale(0)contrast(1.02);width:100%;height:100%;transition:filter .35s,transform .6s cubic-bezier(.22,1,.36,1)}.publication-image:hover img,.publication-image:focus-visible img{filter:grayscale(0);transform:scale(1.025)}.publication-image>span{z-index:2;background:var(--signal);font-family:var(--font-display);font-variation-settings:"wdth" 130,"wght" 850;padding:.5rem .8rem;font-size:1.2rem;position:absolute;top:0;left:0}.publication-copy{padding:clamp(1rem,2vw,1.7rem)}.publication-meta{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.08em;justify-content:space-between;margin-top:1rem;padding-bottom:.55rem;font-size:.58rem;font-weight:700;display:flex}.publication-copy .publication-meta{margin-top:0}.publication-card h3{font-family:var(--font-display);font-variation-settings:"wdth" 105,"wght" 790;letter-spacing:-.045em;text-transform:uppercase;margin:1.3rem 0 .8rem;font-size:clamp(2rem,3vw,3.7rem);line-height:.95}.publication-card p{color:#50514d;max-width:42rem;font-size:.82rem;line-height:1.5}.publication-archive{border:1px solid var(--ink);background:var(--panel);align-self:start;min-width:0}.publication-archive-head{background:var(--ink);color:var(--paper);grid-template-columns:1fr auto}.publication-record{background:var(--paper);padding:.7rem}.publication-record-status{border-bottom-color:var(--line);grid-template-columns:1fr auto;min-height:2.2rem;margin:-.7rem -.7rem .7rem}.publication-record .publication-image{height:clamp(17rem,28vw,27rem)}.publication-record h3{margin-block:1rem .6rem;font-size:clamp(1.65rem,2.3vw,2.6rem)}.publication-record .inline-link{margin-top:.5rem}.publication-watermark{color:#0000;font-family:var(--font-display);font-variation-settings:"wdth" 150,"wght" 900;letter-spacing:-.09em;-webkit-text-stroke:1px #1919191a;font-size:clamp(7rem,18vw,22rem);line-height:.7;position:absolute;bottom:-3vw;right:-2vw}.journey-section{background:var(--paper)}.journey-layout{gap:clamp(3rem,6vw,7rem);display:grid}.journey-intro{min-width:0}.journey-direction{border-block:1px solid var(--line);letter-spacing:.09em;grid-template-columns:auto minmax(2rem,1fr) auto;align-items:center;gap:.8rem;padding-block:.65rem;font-size:.52rem;font-weight:700;display:grid}.journey-direction i{background:linear-gradient(90deg,var(--signal),var(--ink));height:2px}.journey-chronology{--axis-offset:1.25rem;--axis-gutter:clamp(3.7rem,6vw,5.2rem);min-width:0;padding-left:var(--axis-gutter);position:relative}.journey-toolbar{min-height:2.45rem;margin-left:calc(var(--axis-gutter) * -1);border-block:1px solid var(--ink);letter-spacing:.075em;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding-inline:.7rem;font-size:.47rem;font-weight:800;display:grid}.journey-toolbar span:nth-child(2){color:var(--muted);justify-self:center}.journey-toolbar span:last-child{justify-self:end}.journey-axis{top:2.45rem;bottom:1.65rem;left:var(--axis-offset);background:var(--line);width:2px;position:absolute;overflow:hidden}.journey-axis>i{background:var(--signal);width:100%;height:100%;display:block}.journey-boundary{letter-spacing:.1em;white-space:nowrap;font-size:.48rem;font-weight:800}.journey-boundary--present{top:2.45rem;left:var(--axis-offset);background:var(--signal);padding:.25rem .45rem;position:absolute;transform:translate(-.6rem,-100%)}.journey-boundary--origin{color:var(--muted);margin-top:.8rem;display:block}.journey-list{border:0;margin:0;padding:0;list-style:none}.journey-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(7.5rem,.28fr) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,3.5rem);min-height:0;padding-block:clamp(1.35rem,2.5vw,2.15rem);transition:background .22s;display:grid;position:relative}.journey-node{z-index:2;top:1.72rem;left:calc(var(--axis-offset) - var(--axis-gutter) - .43rem);border:2px solid var(--ink);background:var(--paper);place-items:center;width:.86rem;height:.86rem;display:grid;position:absolute;transform:rotate(45deg)}.journey-node i{background:var(--signal);width:.3rem;height:.3rem}.journey-connector{top:2.12rem;left:calc(var(--axis-offset) - var(--axis-gutter));width:calc(var(--axis-gutter) - var(--axis-offset));background:var(--line);height:1px;position:absolute}.journey-meta{font-variant-numeric:tabular-nums;min-width:0}.journey-record-flags{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.journey-number{color:var(--muted);letter-spacing:.08em;font-size:.5rem;font-weight:800;display:block}.journey-kind,.journey-state{border:1px solid var(--line);letter-spacing:.06em;place-items:center;min-height:1.15rem;padding-inline:.35rem;font-size:.42rem;font-weight:800;display:inline-grid}.journey-state{color:var(--muted)}.journey-list li[data-journey-state=active] .journey-state{border-color:var(--ink);background:var(--signal);color:var(--ink)}.journey-list li[data-journey-state=active] .journey-node{background:var(--signal)}.journey-period{font-family:var(--font-display);font-variation-settings:"wdth" 112,"wght" 780;text-transform:uppercase;margin:.45rem 0 0;font-size:clamp(.9rem,1.15vw,1.2rem);line-height:1}.journey-content{min-width:0}.journey-content h3{overflow-wrap:break-word;font-family:var(--font-display);font-variation-settings:"wdth" 104,"wght" 760;letter-spacing:-.04em;text-wrap:balance;text-transform:uppercase;margin:0;font-size:clamp(1.35rem,2vw,2.35rem);line-height:.95}.journey-content p{color:#50514d;opacity:1;max-height:none;margin:.7rem 0 0;font-size:clamp(.72rem,.82vw,.84rem);line-height:1.45;overflow:visible}@media (hover:hover){.journey-list li:hover{background:linear-gradient(90deg,#fffa001a,#0000 72%)}.journey-list li:hover .journey-node{background:var(--signal)}}.stack-section{background:var(--canvas);padding-top:0}.stack-ticker{border-block:1px solid var(--line);background:var(--paper);width:100%;margin-bottom:clamp(6rem,12vw,11rem);overflow:hidden}.stack-ticker-track{width:max-content;animation:52s linear infinite paused tool-marquee;display:flex}.stack-ticker.is-in-view .stack-ticker-track{animation-play-state:running}.stack-ticker span{border-right:1px solid var(--line);white-space:nowrap;align-items:center;gap:.7rem;padding:.8rem 1.2rem;font-size:.7rem;font-weight:700;display:flex}.stack-ticker img{filter:none;width:1.35rem;height:1.35rem}.stack-ticker i{margin-left:.5rem;font-style:normal}@keyframes tool-marquee{to{transform:translate(-50%)}}.stack-matrix-head{border-block:1px solid var(--ink);letter-spacing:.08em;grid-template-columns:auto minmax(2rem,1fr) auto auto;align-items:center;gap:1rem;min-height:2.55rem;padding-inline:.85rem;font-size:.5rem;font-weight:800;display:grid}.stack-matrix-head i{background:var(--line);height:1px}.stack-grid{border-left:1px solid var(--line);grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;display:grid}.stack-category{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(13rem,.32fr) minmax(0,1fr);min-height:clamp(10rem,16vh,13rem);display:grid;position:relative}.stack-module-rule{z-index:2;background:var(--ink);height:2px;position:absolute;top:-1px;left:0;right:0}.stack-category header{border-right:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;align-content:stretch;gap:1rem;min-width:0;padding:clamp(1rem,2vw,1.65rem);display:grid}.stack-category header>span,.stack-category header>b{letter-spacing:.06em;font-size:.5rem;font-weight:800}.stack-category header>b{color:var(--muted);grid-area:1/2}.stack-category header div{grid-area:2/1/auto/-1;align-content:end;display:grid}.stack-category header small{color:var(--muted);letter-spacing:.08em;font-size:.46rem;font-weight:700}.stack-category h3{overflow-wrap:normal;max-width:14ch;font-family:var(--font-display);font-variation-settings:"wdth" 108,"wght" 800;letter-spacing:-.05em;text-align:left;text-transform:uppercase;margin:.5rem 0 0;font-size:clamp(1.45rem,2.25vw,2.75rem);line-height:.9}.stack-items{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(3.4rem,1fr);align-self:stretch;gap:1px;min-width:0;display:grid}.stack-item{background:var(--canvas);border:0;grid-template-columns:1.2rem 1.55rem minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.65rem .75rem;font-size:.66rem;transition:background .2s;display:grid}.stack-item small{color:var(--muted);font-size:.43rem;font-weight:700}.stack-item img{filter:none;width:1.35rem;height:1.35rem}.stack-item b{overflow-wrap:anywhere;min-width:0}.stack-item--empty{color:#8d918c;background-color:var(--panel);background-image:linear-gradient(135deg,#0000 0 46%,#1919190e 46% 50%,#0000 50% 96%,#1919190e 96%);background-size:.55rem .55rem}.stack-item--empty i{border:1px solid var(--panel-deep);background:var(--canvas);place-items:center;width:1.35rem;height:1.35rem;font-style:normal;display:grid}@media (hover:hover){.stack-item:not(.stack-item--empty):hover{background:var(--signal)}}.scores-section{background:var(--signal)}.scores-section .section-index{background:var(--paper)}.scores-section .section-signal{background:#1919194d}.scores-toolbar{border-block:1px solid var(--ink);letter-spacing:.075em;grid-template-columns:auto minmax(2rem,1fr) auto auto;align-items:center;gap:1rem;min-height:2.55rem;padding-inline:.8rem;font-size:.48rem;font-weight:800;display:grid}.scores-toolbar i{background:#19191952;height:1px}.scores-grid{border-top:2px solid var(--ink);border-left:1px solid #19191959;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.score-card{border-bottom:1px solid #19191959;border-right:1px solid #19191959;flex-direction:column;justify-content:space-between;min-height:clamp(24rem,38vw,40rem);padding:clamp(1.25rem,3vw,2.5rem);transition:background .3s,color .3s;display:flex;position:relative;overflow:hidden}.score-card:before{opacity:.28;content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 4%,currentColor 4% calc(4% + 1px),#0000 calc(4% + 1px) 10%);height:1.15rem;position:absolute;top:48%;left:0;right:0}.score-card:hover{background:var(--ink);color:var(--signal)}.score-card-top{letter-spacing:.08em;justify-content:space-between;font-size:.6rem;font-weight:700;display:flex}.score-card>strong{z-index:1;font-family:var(--font-display);font-variation-settings:"wdth" 120,"wght" 900;letter-spacing:-.11em;font-size:clamp(8rem,18vw,22rem);line-height:.55;position:relative}.score-card-bottom{border-top:1px solid;justify-content:space-between;align-items:end;gap:1rem;padding-top:.8rem;display:flex}.score-card-bottom h3{font-family:var(--font-display);font-variation-settings:"wdth" 135,"wght" 820;margin:0;font-size:clamp(1.8rem,3vw,3.4rem)}.score-report-meta{text-align:right;justify-items:end;gap:.2rem;display:grid}.score-report-meta p{margin:0;font-size:.68rem}.score-report-meta small{letter-spacing:.06em;font-size:.48rem;font-weight:800}.contact-section{background:var(--ink);color:var(--paper);padding:clamp(5rem,10vw,9rem) clamp(1rem,4vw,5rem);position:relative;overflow:hidden}.contact-grid{opacity:.12;background-image:linear-gradient(90deg,#ffffff59 1px,#0000 1px),linear-gradient(#ffffff59 1px,#0000 1px)}.contact-header{z-index:2;border-top:2px solid var(--paper);letter-spacing:.1em;grid-template-columns:auto minmax(2rem,1fr) auto;align-items:center;gap:1rem;padding-top:.65rem;font-size:.62rem;font-weight:700;display:grid;position:relative}.contact-channel-rule{background:#51514e;height:1px}.contact-header span:last-child{color:var(--signal)}.contact-layout{z-index:2;grid-template-columns:minmax(0,1.15fr) minmax(24rem,.85fr);gap:clamp(3rem,8vw,10rem);margin-top:clamp(4rem,8vw,8rem);display:grid;position:relative}.contact-kicker{color:var(--signal);letter-spacing:.12em;font-size:.68rem;font-weight:700}.contact-intro h2{font-family:var(--font-display);font-variation-settings:"wdth" 92,"wght" 850;letter-spacing:-.08em;margin:0 0 2rem;font-size:clamp(4rem,9vw,11rem);line-height:.75}.contact-intro>p:not(.contact-kicker){color:#bdbdb8;max-width:38rem;font-size:1rem}.contact-email{max-width:38rem;color:var(--signal);border-block:1px solid #51514e;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0;font-size:clamp(.8rem,1.2vw,1rem);font-weight:700;display:flex}.contact-socials{flex-direction:column;max-width:38rem;margin-top:1.5rem;display:flex}.contact-socials a{text-transform:uppercase;border-bottom:1px solid #51514e;grid-template-columns:2rem 1fr auto;padding:.65rem 0;font-size:.7rem;font-weight:700;display:grid}.contact-socials small{color:#797975}.contact-form-shell{background:#222220;border:1px solid #555550;align-self:end;padding:clamp(1.2rem,3vw,2.2rem);position:relative}.contact-form-shell:before{background:var(--signal);content:"";width:2.6rem;height:.32rem;position:absolute;top:-1px;right:-1px}.contact-form-head{color:#aaa9a4;letter-spacing:.08em;border-bottom:1px solid #555550;justify-content:space-between;margin-bottom:2.2rem;padding-bottom:.7rem;font-size:.55rem;font-weight:700;display:flex}.industrial-form{gap:1.25rem;display:grid}.honeypot{display:none}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.industrial-form label{display:block}.industrial-form label>span{color:#aaa9a4;letter-spacing:.08em;margin-bottom:.45rem;font-size:.55rem;font-weight:700;display:block}.industrial-form input,.industrial-form textarea{width:100%;color:var(--paper);font-family:var(--font-display);font-variation-settings:"wdth" 100,"wght" 600;background:0 0;border:0;border-bottom:1px solid #6a6a65;border-radius:0;outline:0;padding:.65rem 0;font-size:1rem}.industrial-form textarea{resize:vertical;min-height:8rem}.industrial-form input::placeholder,.industrial-form textarea::placeholder{color:#70706c}.industrial-form input:focus,.industrial-form textarea:focus{border-color:var(--signal)}.form-submit-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-submit-row button{background:var(--signal);min-height:3.5rem;color:var(--ink);cursor:pointer;letter-spacing:.06em;border:0;align-items:stretch;font-size:.68rem;font-weight:700;display:flex}.form-submit-row button span{place-items:center;padding:.8rem 1.1rem;display:grid}.form-submit-row button b{border-left:1px solid var(--ink);place-items:center;width:3.5rem;font-size:1.1rem;display:grid}.form-submit-row button:disabled{cursor:wait;opacity:.55}.form-status-code{color:#777772;font-size:.52rem;font-weight:700}.form-message{border-left:.35rem solid var(--signal);margin:0;padding:.55rem .8rem;font-size:.68rem;font-weight:700}.form-message--success{color:var(--signal);background:#fffa001a}.form-message--error{color:#ff857a;border-color:#ff5c4d}.form-fallback-row{color:#777772;letter-spacing:.06em;border-top:1px solid #555550;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.52rem;font-weight:700;display:flex}.form-fallback-row a{color:var(--paper);transition:color .2s}.form-fallback-row a:hover,.form-fallback-row a:focus-visible{color:var(--signal)}.site-footer{background:var(--ink);color:#aaa9a4;letter-spacing:.06em;border-top:1px solid #3d3d39;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;padding:2rem clamp(1rem,4vw,5rem);font-size:.58rem;font-weight:700;display:grid}.footer-mark{align-items:center;gap:.8rem;display:flex}.footer-mark strong{color:var(--paper);font-family:var(--font-display);font-variation-settings:"wdth" 145,"wght" 900;letter-spacing:-.14em;font-size:1.5rem}.footer-links{justify-content:flex-end;gap:1.2rem;display:flex}.footer-links a:hover{color:var(--signal)}.archive-hero{background:var(--canvas);flex-direction:column;justify-content:space-between;min-height:max(36rem,78svh);padding:clamp(6rem,10vw,9rem) clamp(1rem,4vw,5rem) 2rem;display:flex;position:relative;overflow:hidden}.archive-hero:after{background:var(--signal);content:"";width:24%;height:.7rem;position:absolute;top:0;right:7%}.archive-hero-meta{z-index:2;border-top:2px solid var(--ink);letter-spacing:.1em;justify-content:space-between;padding-top:.6rem;font-size:.62rem;font-weight:700;display:flex;position:relative}.archive-hero h1{z-index:2;font-family:var(--font-display);font-variation-settings:"wdth" 130,"wght" 900;letter-spacing:-.1em;text-transform:uppercase;margin:auto 0;font-size:clamp(6rem,19vw,24rem);line-height:.58;position:relative}.archive-hero-bottom{z-index:2;border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:.8rem;display:flex;position:relative}.archive-hero-bottom p{max-width:32rem;margin:0;font-size:clamp(.9rem,1.4vw,1.15rem)}.archive-hero-bottom span{letter-spacing:.09em;font-size:.58rem;font-weight:700}.archive-section{background:var(--paper);padding:clamp(5rem,10vw,9rem) clamp(1rem,4vw,5rem)}.archive-filter{border-top:2px solid var(--ink);justify-content:space-between;align-items:start;gap:2rem;margin-bottom:5rem;padding-top:.8rem;display:flex}.archive-filter>span{letter-spacing:.08em;font-size:.6rem;font-weight:700}.archive-filter>div{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.archive-filter button{border:1px solid var(--line);cursor:pointer;text-transform:uppercase;background:0 0;gap:.55rem;padding:.65rem .85rem;font-size:.68rem;font-weight:700;display:inline-flex}.archive-filter button small{color:#989894}.archive-filter button:hover,.archive-filter button.is-active{border-color:var(--ink);background:var(--signal)}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem) clamp(1.5rem,3vw,3rem);display:grid}.archive-card{display:block}.archive-card:nth-child(2n){margin-top:7rem}.archive-card-image{background:#deded8;height:clamp(19rem,35vw,34rem);position:relative;overflow:hidden}.archive-card-image img{object-fit:cover;filter:grayscale(0)contrast(1.03);width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s}.archive-card:hover .archive-card-image img,.archive-card:focus-visible .archive-card-image img{filter:grayscale(0);transform:scale(1.03)}.archive-card-image strong{background:var(--signal);font-family:var(--font-display);font-variation-settings:"wdth" 140,"wght" 850;padding:.5rem .75rem;font-size:1.2rem;position:absolute;top:0;left:0}.archive-card-image>span{background:var(--paper);place-items:center;width:3.5rem;height:3.5rem;font-size:1.4rem;transition:transform .3s,background .2s;display:grid;position:absolute;bottom:1rem;right:1rem}.archive-card:hover .archive-card-image>span{background:var(--signal);transform:rotate(45deg)}.archive-card-copy>p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:.9rem 0 .7rem;font-size:.58rem;font-weight:700}.archive-card-copy h2{font-family:var(--font-display);font-variation-settings:"wdth" 95,"wght" 810;letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(2.2rem,4.3vw,5rem);line-height:.88;transition:font-variation-settings .3s}.archive-card:hover h2{font-variation-settings:"wdth" 125,"wght" 810}.archive-card-copy>div{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;margin-top:1.3rem;padding-top:.8rem;display:flex}.archive-card-copy>div span{color:#555650;max-width:34rem;font-size:.78rem}.archive-card-copy>div b{white-space:nowrap;font-size:.58rem}.case-page{background:var(--paper)}.case-hero{background:var(--canvas);flex-direction:column;min-height:max(42rem,82svh);padding:clamp(6rem,10vw,9rem) clamp(1rem,4vw,5rem) clamp(3rem,6vw,6rem);display:flex;position:relative;overflow:hidden}.case-back-row{z-index:2;border-top:2px solid var(--ink);letter-spacing:.08em;justify-content:space-between;padding-top:.65rem;font-size:.62rem;font-weight:700;display:flex;position:relative}.case-eyebrow{z-index:2;color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:auto 0 .8rem;font-size:.66rem;font-weight:700;position:relative}.case-hero h1{z-index:2;max-width:12ch;font-family:var(--font-display);font-variation-settings:"wdth" 105,"wght" 870;letter-spacing:-.08em;text-transform:uppercase;margin:0;font-size:clamp(4.2rem,11vw,13rem);line-height:.75;position:relative}.case-summary{z-index:2;border-top:1px solid var(--line);grid-template-columns:8rem minmax(0,42rem);justify-content:end;gap:1.5rem;margin-top:clamp(2rem,4vw,4rem);padding-top:.9rem;display:grid;position:relative}.case-summary span{font-size:.58rem;font-weight:700}.case-summary p{margin:0;font-size:clamp(.95rem,1.4vw,1.2rem)}.case-image{background:#ddd;width:calc(100% - clamp(2rem,8vw,10rem));height:min(70vw,58rem);margin:clamp(3rem,7vw,7rem) auto;position:relative;overflow:hidden}.case-image img{object-fit:cover;filter:grayscale(0)contrast(1.03);width:100%;height:100%;transition:transform .75s cubic-bezier(.22,1,.36,1),filter .45s}.case-image:hover img{filter:grayscale(0)contrast(1.04);transform:scale(1.025)}.case-image-code{background:var(--signal);letter-spacing:.08em;padding:.6rem .85rem;font-size:.58rem;font-weight:700;position:absolute;bottom:0;right:0}.case-metrics{border-top:2px solid var(--ink);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - clamp(2rem,8vw,10rem));margin:0 auto clamp(5rem,10vw,10rem);display:grid}.case-metrics>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:15rem;padding:clamp(1rem,2.5vw,2rem)}.case-metrics span{letter-spacing:.08em;font-size:.55rem;font-weight:700}.case-metrics strong{font-family:var(--font-display);font-variation-settings:"wdth" 125,"wght" 850;letter-spacing:-.07em;margin:2rem 0 1rem;font-size:clamp(2.8rem,6vw,7rem);line-height:.7;display:block}.case-metrics p{color:var(--muted);margin:0;font-size:.75rem}.case-body{grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr);gap:clamp(2rem,8vw,10rem);width:calc(100% - clamp(2rem,8vw,10rem));margin:clamp(5rem,10vw,10rem) auto;display:grid}.case-body aside{border-top:2px solid var(--ink);padding-top:.7rem}.case-body aside span{letter-spacing:.08em;font-size:.58rem;font-weight:700}.case-body aside p{color:var(--muted);margin-top:1rem;font-size:.75rem}.prose-case{color:#393a37;max-width:56rem;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.75}.prose-case :where(h2,h3,h4){color:var(--ink);font-family:var(--font-display);font-variation-settings:"wdth" 105,"wght" 790;letter-spacing:-.045em;text-transform:uppercase;line-height:.95}.prose-case h2{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1rem;font-size:clamp(2.3rem,4vw,4.5rem)}.prose-case h3{font-size:clamp(1.6rem,2.4vw,2.7rem)}.prose-case a{color:var(--ink);-webkit-text-decoration-color:var(--signal);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:.15em;text-decoration-thickness:.25em}.prose-case strong,.prose-case li::marker{color:var(--ink)}.case-links{border-top:2px solid var(--ink);justify-content:space-between;align-items:start;gap:2rem;width:calc(100% - clamp(2rem,8vw,10rem));margin:0 auto clamp(5rem,10vw,9rem);padding-top:1rem;display:flex}.case-links>span{letter-spacing:.08em;font-size:.58rem;font-weight:700}.case-links>div{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.next-case{border-top:1px solid var(--ink);background:var(--signal);align-content:center;min-height:24rem;padding:clamp(2rem,5vw,6rem);display:grid;position:relative;overflow:hidden}.next-case>span{letter-spacing:.08em;margin-bottom:1.5rem;font-size:.62rem;font-weight:700}.next-case strong{max-width:14ch;font-family:var(--font-display);font-variation-settings:"wdth" 98,"wght" 850;letter-spacing:-.07em;text-transform:uppercase;font-size:clamp(3rem,8vw,9.5rem);line-height:.8;transition:font-variation-settings .35s}.next-case:hover strong{font-variation-settings:"wdth" 135,"wght" 850}.next-case i{font-size:clamp(3rem,8vw,8rem);font-style:normal;transition:transform .35s;position:absolute;bottom:clamp(2rem,5vw,5rem);right:clamp(2rem,5vw,6rem)}.next-case:hover i{transform:rotate(45deg)}@media (width>=960px){.desktop-rail{display:block}.mobile-header,.mobile-menu{display:none}.page-shell{padding-left:var(--rail)}}@media (width<=1023px) and (width>=960px){.hero-image-zone{width:min(50vw,34rem);right:-1rem}.hero-role{width:19rem}.project-feature,.project-feature--reverse{grid-template-columns:1.05fr .95fr;gap:2.5rem}.contact-layout{grid-template-columns:1fr}.contact-form-shell{width:min(100%,42rem)}}@media (width<=959px){:root{--shell:calc(100% - 2rem)}html{scroll-padding-top:5.05rem}body{overflow-wrap:break-word}.page-shell{padding-top:3.65rem}.loader-topline{top:1rem;left:1rem;right:1rem}.loader-topline span:first-child{display:none}.loader-topline{justify-content:flex-end}.loader-mark{font-size:38vw}.loader-center{font-size:.5rem;transform:translate(-50%,4rem)}.loader-progress{bottom:1rem;left:1rem;right:1rem}.mobile-menu{padding-bottom:max(1.25rem, env(safe-area-inset-bottom));overflow:hidden auto}.mobile-menu-links span{overflow-wrap:anywhere;font-variation-settings:"wdth" 100, "wght" 850;min-width:0;font-size:clamp(1.85rem,9vw,3.25rem);line-height:.95}.mobile-menu-links a:hover span,.mobile-menu-links a:focus-visible span{font-variation-settings:"wdth" 108, "wght" 850}.mobile-menu-foot{flex-wrap:wrap}.portfolio-section{padding-block:5.5rem}.section-heading{margin-bottom:3.8rem}.section-heading-meta{grid-template-columns:auto minmax(0,1fr);gap:.65rem .75rem;font-size:.55rem;line-height:1.25}.section-eyebrow{min-width:0}.section-signal{grid-column:1/-1;width:100%}.section-heading h2{overflow-wrap:break-word;font-variation-settings:"wdth" 92, "wght" 820;letter-spacing:-.055em;text-wrap:balance;max-width:100%;font-size:clamp(2.8rem,13.5vw,5.25rem);line-height:.9}.section-description{width:100%;margin:1.3rem 0 0;font-size:.92rem}.kinetic-marquee span{padding:.75rem 1rem;font-size:1.8rem}.hero-section{min-height:auto;padding:4rem 1rem 2rem}.hero-section:before{width:45%;height:.45rem}.hero-topline{justify-content:space-between;margin-bottom:3rem;display:flex;position:relative;top:auto;left:auto;right:auto}.hero-topline p{font-size:.5rem}.hero-topline p:nth-child(2){display:none}.hero-title{z-index:4;width:100%;margin-inline:0;position:relative;inset:auto}.hero-title h1{font-variation-settings:"wdth" 104, "wght" 900;letter-spacing:-.075em;width:100%;font-size:clamp(3.1rem,16vw,6.5rem);line-height:.73}.hero-title-line{overflow:visible}.hero-title-line--first{padding-left:0}.hero-title-line--second{padding-right:0}.hero-title-line--second>span{font-variation-settings:"wdth" 88,"wght" 900;-webkit-text-stroke-width:1px;font-size:.58em}.hero-image-zone{width:min(100%,28rem);height:clamp(25rem,125vw,32rem);margin:-1.8rem auto 0;position:relative;inset:auto;transform:none}.hero-image-yellow{inset:28% 0 5% 12%}.hero-image-label{bottom:1rem;right:0}.hero-image-frame img,.hero-image-zone:hover .hero-image-frame img{filter:grayscale(0)contrast(1.06)brightness(1.03)}.hero-role{z-index:5;width:100%;margin-top:-1rem;position:relative;bottom:auto;left:auto}.hero-dossier-primary strong{font-size:clamp(2rem,9vw,2.7rem)}.hero-actions{z-index:5;grid-template-columns:1fr;max-width:none;margin-top:2.5rem;display:grid;position:relative;bottom:auto;left:auto;right:auto}.hero-actions .action-button{justify-content:space-between;width:100%}.hero-actions .action-button span{flex:1;min-width:0}.text-action{grid-column:1/-1;justify-content:flex-start}.hero-scroll,.hero-instrument{display:none}.project-list{gap:6rem}.project-feature,.project-feature--reverse{flex-direction:column;gap:2rem;min-height:auto;display:flex}.project-feature--reverse .project-media,.project-feature--reverse .project-copy{order:initial}.project-media{width:100%;min-height:0}.project-image,.project-media:hover .project-image,.project-media:focus-visible .project-image{object-fit:contain;filter:grayscale(0)contrast(1.04);height:auto;min-height:0}.project-kicker{flex-wrap:wrap;align-items:flex-start}.project-kicker span{overflow-wrap:anywhere;min-width:0}.project-kicker span:last-child{text-align:right;margin-left:auto}.project-copy h3{font-size:clamp(2.45rem,11.5vw,4.5rem);line-height:.92}.project-title-link>span,.project-title-link:hover>span,.project-title-link:focus-visible>span{-webkit-text-stroke:0 transparent;font-variation-settings:"wdth" 88, "wght" 820}.project-metrics{grid-template-columns:1fr}.project-metrics>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.section-end-action{flex-direction:column;align-items:flex-start;gap:1rem}.section-end-action .action-button{justify-content:space-between;width:100%}.publication-grid{grid-template-columns:1fr;gap:5rem}.publication-card:nth-child(2){margin-top:0}.publication-image{height:auto}.publication-image img,.publication-image:hover img,.publication-image:focus-visible img{object-fit:contain;filter:grayscale(0)contrast(1.02);height:auto}.publication-meta{gap:1rem}.publication-card h3{overflow-wrap:break-word;font-size:clamp(2rem,10vw,3.25rem)}.publication-watermark{display:none}.journey-list li{grid-template-columns:minmax(7rem,.3fr) minmax(0,1fr);gap:1.25rem}.journey-period{margin-top:.4rem}.journey-content p{font-size:.8rem}.journey-content h3{font-variation-settings:"wdth" 98,"wght" 740}.stack-grid{grid-template-columns:1fr}.stack-category{min-height:10rem}.stack-ticker img,.stack-item img{filter:none}.stack-category h3{overflow-wrap:normal;min-width:0;font-size:clamp(1.45rem,4.5vw,2.6rem)}.stack-item{max-width:100%}.stack-item b{overflow-wrap:anywhere;min-width:0}.scores-grid{grid-template-columns:1fr}.score-card{min-height:24rem}.score-card>strong{white-space:nowrap;font-size:clamp(7.5rem,44vw,11rem)}.score-card-bottom{flex-direction:column;align-items:flex-start}.contact-section{padding:5rem 1rem 3rem}.contact-layout{grid-template-columns:1fr;gap:4rem}.contact-intro h2{overflow-wrap:anywhere;font-variation-settings:"wdth" 82,"wght" 850;letter-spacing:-.06em;max-width:100%;font-size:clamp(2.45rem,12.5vw,5.25rem);line-height:.84}.contact-email{overflow-wrap:anywhere;gap:1rem;min-width:0}.contact-form-shell{padding:1.2rem}.contact-form-head{flex-wrap:wrap;align-items:flex-start;gap:.45rem 1rem}.form-row{grid-template-columns:1fr}.form-status-code{display:none}.form-submit-row button{justify-content:space-between;width:100%}.form-submit-row button span{flex:1;min-width:0}.form-fallback-row{flex-wrap:wrap;align-items:flex-start}.site-footer{grid-template-columns:1fr;align-items:start;gap:1rem;padding:2rem 1rem}.site-footer>p{margin:0}.footer-links{flex-wrap:wrap;justify-content:flex-start}.archive-hero{gap:3rem;min-height:calc(100svh - 3.65rem);padding:4rem 1rem 1.2rem}.archive-hero-meta{gap:1rem}.archive-hero h1{overflow-wrap:anywhere;font-variation-settings:"wdth" 92,"wght" 900;letter-spacing:-.07em;max-width:100%;font-size:clamp(3.2rem,16vw,6rem);line-height:.72}.archive-hero-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.archive-section{padding:4rem 1rem}.archive-filter{flex-direction:column;margin-bottom:3.5rem}.archive-filter>div{justify-content:flex-start}.archive-filter button{overflow-wrap:anywhere;text-align:left;max-width:100%}.archive-grid{grid-template-columns:1fr;gap:5rem}.archive-card:nth-child(2n){margin-top:0}.archive-card-image{height:auto}.archive-card-image img,.archive-card:hover .archive-card-image img,.archive-card:focus-visible .archive-card-image img{object-fit:contain;filter:grayscale(0)contrast(1.03);height:auto}.archive-card-copy h2,.archive-card:hover h2{overflow-wrap:anywhere;font-variation-settings:"wdth" 90,"wght" 810;font-size:clamp(2.2rem,11vw,3rem)}.archive-card-copy>div{flex-direction:column;align-items:flex-start;gap:1rem}.archive-card-copy>div b{white-space:normal}.case-hero{min-height:calc(100svh - 3.65rem);padding:4rem 1rem 2.5rem}.case-back-row{gap:1rem}.case-back-row>*{min-width:0}.case-hero h1{overflow-wrap:anywhere;font-variation-settings:"wdth" 90,"wght" 870;letter-spacing:-.06em;text-wrap:balance;max-width:100%;font-size:clamp(2.9rem,13vw,5.5rem);line-height:.82}.case-summary{grid-template-columns:1fr;gap:.5rem}.case-image{width:calc(100% - 2rem);height:auto;margin-block:3rem}.case-image img,.case-image:hover img{object-fit:contain;filter:grayscale(0)contrast(1.03);height:auto}.case-metrics{grid-template-columns:1fr;width:calc(100% - 2rem);margin-bottom:4rem}.case-metrics>div{min-height:11rem}.case-metrics strong{overflow-wrap:anywhere;font-size:clamp(2rem,9.5vw,3.75rem);line-height:.82}.case-body{grid-template-columns:1fr;gap:2rem;width:calc(100% - 2rem);margin-block:4rem}.case-body aside p{max-width:20rem}.prose-case{overflow-wrap:anywhere;min-width:0}.prose-case pre{max-width:100%;overflow-x:auto}.prose-case h2{font-size:clamp(2rem,10.5vw,3.5rem)}.prose-case h3{font-size:clamp(1.5rem,8vw,2.35rem)}.case-links{flex-direction:column;align-items:flex-start;width:calc(100% - 2rem)}.case-links>div{justify-content:flex-start;width:100%}.case-links .action-button{justify-content:space-between;width:100%}.case-links .action-button span{overflow-wrap:anywhere;flex:1;min-width:0}.next-case{min-height:20rem;padding:2rem 1rem 6rem}.next-case strong,.next-case:hover strong{overflow-wrap:anywhere;font-variation-settings:"wdth" 90,"wght" 850;max-width:calc(100% - 1rem);font-size:clamp(2.35rem,11vw,4.5rem);line-height:.9}.next-case i{bottom:1rem;right:1rem}}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.endfield-flow{background:var(--canvas);--flow-shell:min(calc(100% - clamp(2.5rem, 6vw, 7rem)), 112rem);position:relative;overflow:clip}.endfield-flow:before{z-index:80;opacity:.025;background-image:radial-gradient(circle at center, var(--ink) 0 .55px, transparent .65px);content:"";pointer-events:none;background-size:4px 4px;position:fixed;inset:0}.endfield-telemetry{z-index:90;top:0;right:0;left:var(--rail);border-bottom:1px solid var(--line);letter-spacing:.08em;pointer-events:none;background:#fffffff0;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;height:1.72rem;padding-inline:.8rem;font-size:.48rem;font-weight:800;display:grid;position:fixed}.endfield-telemetry-system{border-right:1px solid var(--line);padding-right:.8rem}[data-flow-telemetry-code]{background:var(--signal);place-items:center;min-width:3.3rem;height:1.15rem;display:grid}[data-flow-telemetry-label]{color:var(--muted)}[data-flow-telemetry-count]{font-variant-numeric:tabular-nums;justify-self:end}.endfield-telemetry-location{border-left:1px solid var(--line);padding-left:.8rem}.endfield-progress{background:#1919191f;height:2px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.endfield-progress i{background:var(--signal);width:100%;height:100%;display:block}.endfield-flow .section-shell{width:var(--flow-shell)}.endfield-flow .portfolio-section{min-height:100svh;padding-block:clamp(4.5rem,7vw,7.5rem);scroll-margin-top:1.72rem}.endfield-flow .section-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:0 clamp(1rem,2vw,2rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.endfield-flow .section-heading-meta{grid-column:1/-1}.endfield-flow .section-heading h2{grid-column:1/9;max-width:11ch;font-size:clamp(3.7rem,6.7vw,8.4rem);line-height:.82}.endfield-flow .section-description{border-left-width:.35rem;grid-column:9/-1;align-self:end;width:100%;margin:0 0 .35rem;padding-left:.9rem;font-size:clamp(.82rem,1vw,1rem);line-height:1.45}.endfield-flow .section-heading-meta,.endfield-flow .project-kicker,.endfield-flow .contact-header{font-variant-numeric:tabular-nums}.endfield-flow .hero-section{min-height:max(47rem,100svh)}.endfield-flow .hero-image-zone{width:min(50vw,47rem);top:1%;bottom:-7%;right:clamp(-1.5rem,-1vw,0rem)}.endfield-flow .hero-image-yellow{inset:19% 1% 5% 19%}.endfield-flow .hero-title{z-index:4;inset-block-start:13%}.endfield-flow .hero-title h1{font-size:clamp(5.5rem,13.7vw,16.8rem)}.endfield-flow .hero-title-line--second>span{paint-order:stroke fill;-webkit-text-stroke:clamp(1px,.13vw,2.5px) var(--ink)}.endfield-flow .hero-role{border-top:2px solid var(--ink);width:min(28rem,34vw);padding-top:.55rem;bottom:clamp(9rem,15vh,10.5rem)}.endfield-flow .hero-actions{bottom:clamp(2.2rem,4vh,3.5rem)}.endfield-flow .projects-section{background:var(--paper);padding-top:clamp(4rem,6vw,6rem)}.endfield-flow .projects-section .section-heading{margin-bottom:clamp(2rem,3.5vw,3.2rem)}.project-record-strip{z-index:18;border:1px solid var(--ink);background:#fffffffa;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:clamp(2rem,4vw,4rem);display:grid;position:sticky;top:.8rem}.project-record-strip a{border-right:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr);align-items:center;min-width:0;min-height:2.9rem;padding:.35rem .7rem;display:grid;position:relative}.project-record-strip a:last-child{border-right:0}.project-record-strip small{color:var(--muted);font-size:.5rem;font-weight:800}.project-record-strip span{letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:700;overflow:hidden}.project-record-strip i{background:0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.project-record-strip a.is-active i,.project-record-strip a:hover i,.project-record-strip a:focus-visible i{background:var(--signal)}.endfield-flow .project-list{gap:clamp(5rem,8vw,9rem)}.endfield-flow .project-feature{grid-template-columns:minmax(0,1.32fr) minmax(22rem,.68fr);align-items:center;gap:0;min-height:100svh;scroll-margin-top:4.5rem}.endfield-flow .project-feature--reverse{grid-template-columns:minmax(22rem,.68fr) minmax(0,1.32fr)}.endfield-flow .project-media{background:var(--ink);height:min(73svh,49rem);min-height:31rem}.endfield-flow .project-image{object-fit:cover;object-position:center}.endfield-flow .project-copy{z-index:3;border-block:1px solid var(--ink);background:#fffffff5;margin-left:-3.2rem;padding:clamp(1.3rem,2.5vw,2.6rem)}.endfield-flow .project-feature--reverse .project-copy{margin-left:0;margin-right:-3.2rem}.endfield-flow .project-copy h3{margin-bottom:1rem;font-size:clamp(2.7rem,4.65vw,5.7rem)}.endfield-flow .project-copy>p{margin-bottom:0;font-size:clamp(.82rem,.95vw,.96rem);line-height:1.5}.endfield-flow .project-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:1.4rem}.endfield-flow .project-metrics>div{grid-template-rows:auto auto 1fr;min-width:0;padding:.8rem .65rem;display:grid}.endfield-flow .project-metrics>div:first-child{padding-left:0}.endfield-flow .project-metrics>div+div{border-left:1px solid var(--line);padding-left:.65rem}.endfield-flow .project-metrics small{color:var(--muted);font-size:.46rem}.endfield-flow .project-metrics strong{margin-block:.3rem;font-size:clamp(1.45rem,2.25vw,2.7rem)}.endfield-flow .project-metrics span{font-size:.55rem}.endfield-flow .section-end-action{margin-top:clamp(3.5rem,6vw,6rem)}.endfield-flow .publication-section{min-height:100svh}.endfield-flow .publication-section .section-heading{margin-bottom:clamp(2rem,3vw,3rem)}.endfield-flow .publication-console{grid-template-columns:minmax(0,1.65fr) minmax(20rem,.7fr);gap:clamp(1rem,2.5vw,2.5rem)}.endfield-flow .publication-card{min-width:0}.endfield-flow .publication-viewport{height:clamp(24rem,55vh,39rem)}.endfield-flow .publication-record .publication-image{height:clamp(17rem,31vh,23rem)}.endfield-flow .publication-card h3{margin-block:.75rem .5rem;font-size:clamp(1.8rem,2.6vw,3.1rem)}.endfield-flow .publication-card p{margin-bottom:.75rem;font-size:.82rem;line-height:1.45}.endfield-flow .journey-section{min-height:100svh;padding-block:clamp(4rem,6vw,6rem);overflow:visible}.endfield-flow .journey-section .section-heading{margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}.endfield-flow .journey-section .section-heading h2{grid-column:1/-1;max-width:10ch;font-size:clamp(3.2rem,5.7vw,7rem)}.endfield-flow .journey-section .section-description{grid-column:1/-1;width:min(100%,34rem);margin-top:1.3rem}.endfield-flow .journey-list li{min-height:0}.endfield-flow .journey-content p{max-width:50rem}.endfield-flow .stack-section{min-height:100svh;padding-top:0;padding-bottom:clamp(4rem,6vw,6rem)}.endfield-flow .stack-ticker{margin-bottom:clamp(3rem,5vw,5rem)}.endfield-flow .stack-section .section-heading{margin-bottom:clamp(2rem,3vw,3rem)}.endfield-flow .stack-grid{grid-template-columns:minmax(0,1fr)}.endfield-flow .stack-category{min-height:clamp(10rem,16vh,13rem);padding:0}.endfield-flow .stack-category header{min-height:0}.endfield-flow .stack-category h3{font-size:clamp(1.45rem,2.25vw,2.7rem)}.endfield-flow .stack-items{margin-top:0}.endfield-flow .scores-section{min-height:100svh;padding-block:clamp(4rem,6vw,6rem)}.endfield-flow .scores-section .section-heading{margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}.endfield-flow .scores-section .section-heading h2{font-size:clamp(3.6rem,6.6vw,8rem)}.endfield-flow .scores-grid,.endfield-flow .score-card{min-height:min(61svh,42rem)}.endfield-flow .contact-section{align-content:center;min-height:100svh;padding:clamp(3.5rem,6vw,6rem) clamp(1.5rem,4vw,5rem);display:grid}.endfield-flow .contact-layout{grid-template-columns:minmax(0,1.08fr) minmax(27rem,.92fr);gap:clamp(2rem,5vw,6rem);margin-top:clamp(2.5rem,5vw,4.5rem)}.endfield-flow .contact-intro h2{font-size:clamp(4rem,7.5vw,9rem)}.endfield-flow .contact-form-shell{align-self:center}@media (width>=960px) and (width<=1199px){.endfield-flow{--flow-shell:min(calc(100% - 3rem), 70rem)}.endfield-flow .hero-image-zone{width:min(50vw,34rem);right:-1.25rem}.endfield-flow .hero-role{width:19rem}.endfield-flow .hero-dossier-primary strong{font-size:2.5rem}.endfield-flow .hero-instrument{display:none}.endfield-flow .section-heading h2{grid-column:1/8;font-size:clamp(3.4rem,6.4vw,5.7rem)}.endfield-flow .section-description{grid-column:8/-1}.endfield-flow .project-feature,.endfield-flow .project-feature--reverse{grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr)}.endfield-flow .project-copy{margin-left:-2rem;padding:1.4rem}.endfield-flow .project-feature--reverse .project-copy{margin-left:0;margin-right:-2rem}.endfield-flow .project-copy h3{font-size:clamp(2.3rem,4.7vw,3.9rem)}.endfield-flow .project-metrics{grid-template-columns:1fr}.endfield-flow .project-metrics>div{grid-template-rows:auto;grid-template-columns:1.2rem 5rem 1fr;align-items:center;padding:.35rem 0}.endfield-flow .project-metrics>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.endfield-flow .project-metrics strong{margin:0;font-size:1.25rem}.endfield-flow .publication-console{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.endfield-flow .stack-category{grid-template-columns:minmax(11rem,.28fr) minmax(0,1fr)}.endfield-flow .stack-items{grid-template-columns:repeat(2,minmax(0,1fr))}.endfield-flow .contact-layout{grid-template-columns:1fr}.endfield-flow .contact-form-shell{width:min(100%,46rem)}}@media (width<=959px){.endfield-flow{--flow-shell:calc(100% - 2rem);overflow:clip}.endfield-telemetry{grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;height:1.4rem;padding-inline:.55rem;top:3.65rem;left:0}.endfield-telemetry-system,.endfield-telemetry-location{display:none}[data-flow-telemetry-code]{min-width:3rem;height:1rem}[data-flow-telemetry-count]{justify-self:end}.endfield-flow .portfolio-section{min-height:calc(100svh - 5.05rem);padding-block:4.25rem;scroll-margin-top:0}.endfield-flow .section-heading{margin-bottom:2.6rem;display:block}.endfield-flow .section-heading h2{max-width:100%;font-size:clamp(2.75rem,13vw,4.7rem)}.endfield-flow .section-description{margin-top:1.1rem;font-size:.86rem;line-height:1.45}.endfield-flow .hero-section{grid-template-columns:minmax(0,1fr);min-height:calc(100svh - 5.05rem)}.endfield-flow .hero-section>*{min-width:0}.endfield-flow .hero-topline,.endfield-flow .hero-title,.endfield-flow .hero-role{width:100%;max-width:100%}.endfield-flow .hero-title{inset:auto}.endfield-flow .hero-title-line--second>span{font-size:.58em}.endfield-flow .hero-image-zone{width:min(100%,28rem);top:auto;bottom:auto;right:auto}.endfield-flow .hero-image-label{letter-spacing:.07em;font-size:.5rem;right:0}.endfield-flow .hero-dossier-primary strong{font-variation-settings:"wdth" 125,"wght" 850;max-width:100%;font-size:clamp(2rem,9.6vw,2.4rem)}.endfield-flow .hero-role{background:#f2f2f2f5;padding:.55rem .5rem .6rem 0;bottom:auto;left:auto}.endfield-flow .hero-actions{bottom:auto;left:auto;right:auto}.endfield-flow .projects-section{padding-top:4rem}.project-record-strip{margin-inline:-1rem;border-inline:0;margin-bottom:2.6rem;top:calc(5.05rem + 2px)}.project-record-strip a{grid-template-columns:1fr;place-items:center;min-height:2.55rem;padding:.25rem}.project-record-strip small{color:var(--ink);font-size:.54rem}.project-record-strip span{display:none}.endfield-flow .project-list{gap:5rem}.endfield-flow .project-feature,.endfield-flow .project-feature--reverse{flex-direction:column;gap:1.5rem;min-height:calc(100svh - 5.05rem);scroll-margin-top:2.8rem}.endfield-flow .project-media{height:auto;min-height:0}.endfield-flow .project-image{object-fit:contain;height:auto;min-height:0}.endfield-flow .project-copy,.endfield-flow .project-feature--reverse .project-copy{border:1px solid var(--ink);width:100%;margin:-2.2rem 0 0;padding:1rem}.endfield-flow .project-copy h3{font-size:clamp(2.2rem,10.5vw,3.8rem)}.endfield-flow .project-copy>p{font-size:.84rem}.endfield-flow .project-metrics{grid-template-columns:1fr;margin-block:1rem}.endfield-flow .project-metrics>div{grid-template-rows:auto;grid-template-columns:1.25rem minmax(4.5rem,.3fr) 1fr;align-items:center;padding:.42rem 0}.endfield-flow .project-metrics>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.endfield-flow .project-metrics strong{margin:0;font-size:1.2rem}.endfield-flow .project-metrics span{font-size:.6rem}.endfield-flow .publication-console{grid-template-columns:1fr}.endfield-flow .publication-viewport,.endfield-flow .publication-record .publication-image{height:auto}.endfield-flow .publication-card p{font-size:.82rem}.endfield-flow .journey-layout{gap:2.75rem}.endfield-flow .journey-list li{min-height:0}.endfield-flow .journey-content p{font-size:.8rem}.endfield-flow .stack-ticker{margin-bottom:3.5rem}.endfield-flow .stack-grid{grid-template-columns:1fr}.endfield-flow .stack-category{min-height:10rem}.endfield-flow .scores-grid{grid-template-columns:1fr}.endfield-flow .score-card{min-height:24rem}.endfield-flow .contact-section{min-height:calc(100svh - 5.05rem);padding:4.5rem 1rem 3.5rem}.endfield-flow .contact-layout{grid-template-columns:1fr;margin-top:3rem}.endfield-flow .contact-intro h2{font-size:clamp(2.7rem,12vw,4.8rem)}}@media (width>=680px) and (width<=959px){:root{--shell:calc(100% - 3rem)}.endfield-flow{--flow-shell:calc(100% - 3rem)}.endfield-flow .portfolio-section{padding-block:5rem}.endfield-flow .section-heading h2{font-size:clamp(3.7rem,8.8vw,5.4rem)}.endfield-flow .hero-section{grid-template-columns:minmax(16rem,.82fr) minmax(20rem,1.18fr);grid-template-areas:"meta meta""title title""role subject""actions subject";align-content:start;column-gap:2rem;min-height:calc(100svh - 5.05rem);padding:4.5rem 1.5rem 2rem}.endfield-flow .hero-topline{grid-area:meta;margin-bottom:2.6rem}.endfield-flow .hero-title{grid-area:title}.endfield-flow .hero-title h1{font-size:clamp(5rem,12vw,7rem)}.endfield-flow .hero-image-zone{grid-area:subject;align-self:end;width:calc(100% + 1.5rem);height:clamp(31rem,70vw,36rem);margin:-2.5rem -1.5rem -2rem 0}.endfield-flow .hero-role{grid-area:role;align-self:start;margin-top:3rem}.endfield-flow .hero-dossier-primary strong{white-space:nowrap;font-variation-settings:"wdth" 112,"wght" 850;font-size:2.15rem}.endfield-flow .hero-actions{grid-area:actions;align-self:start;margin-top:1.5rem}.endfield-flow .publication-console{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.72fr);gap:1.5rem}.endfield-flow .publication-viewport{height:clamp(25rem,57vw,31rem)}.endfield-flow .publication-record .publication-image{height:clamp(16rem,38vw,22rem)}.endfield-flow .publication-image img,.endfield-flow .publication-image:hover img,.endfield-flow .publication-image:focus-visible img{object-fit:cover;height:100%}.endfield-flow .scores-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.endfield-flow .score-card{min-height:32rem}}@media (width>=1100px) and (height>=672px){.endfield-flow .journey-layout{grid-template-columns:minmax(18rem,.7fr) minmax(32rem,1.3fr);align-items:start;gap:clamp(3rem,6vw,7rem)}.endfield-flow .journey-intro{align-self:start;position:sticky;top:5rem}.endfield-flow .journey-intro .section-heading{display:block}.endfield-flow .journey-intro .section-heading h2{max-width:9ch;font-size:clamp(3.6rem,5.3vw,6.5rem)}.endfield-flow .journey-intro .section-description{width:100%;margin-top:1.5rem}}@media (width<=679px){.endfield-flow .hero-section{padding-inline:1rem}.endfield-flow .hero-title h1{font-size:clamp(3.1rem,16vw,4.5rem)}.endfield-flow .hero-title-line--second>span{font-size:.52em}.endfield-flow .hero-image-zone{width:112%;max-width:none;height:clamp(27rem,128vw,31rem);margin:-2.2rem -10% -.5rem auto}.endfield-flow .hero-image-yellow{inset:29% 5% 5% 15%}.endfield-flow .hero-image-label{right:9%}.hero-dossier-grid dd{font-size:.55rem}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions .text-action{grid-column:1/-1}.journey-chronology{--axis-offset:.7rem;--axis-gutter:2.7rem}.journey-toolbar{grid-template-columns:1fr auto;gap:.5rem;padding-inline:.5rem}.journey-toolbar span:nth-child(2){display:none}.journey-list li{grid-template-columns:minmax(0,1fr);gap:.65rem;padding-block:1.35rem}.journey-node{top:1.62rem}.journey-connector{top:2.02rem}.journey-period{font-size:.9rem}.journey-content h3{font-size:clamp(1.35rem,6.5vw,2rem)}.stack-matrix-head{grid-template-columns:auto minmax(1rem,1fr) auto;gap:.55rem;padding-inline:.55rem}.stack-matrix-head span:last-child{display:none}.stack-grid{grid-auto-rows:1fr}.stack-category{grid-template-columns:minmax(0,1fr)}.stack-category header{border-right:0;border-bottom:1px solid var(--line);min-height:8rem}.stack-items{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-item{grid-template-columns:1rem 1.4rem minmax(0,1fr);padding:.65rem .55rem}.publication-toolbar{grid-template-columns:1fr auto;gap:.45rem;padding-inline:.5rem}.publication-toolbar span:nth-child(2){display:none}.publication-record-status{gap:.4rem;padding-inline:.5rem}.scores-toolbar{grid-template-columns:auto minmax(1rem,1fr) auto;gap:.5rem;padding-inline:.5rem}.scores-toolbar span:nth-of-type(2){display:none}.score-report-meta{text-align:left;justify-items:start}.contact-header{grid-template-columns:minmax(0,1fr) 2rem auto;gap:.55rem;font-size:.5rem}}@media (height<=720px){.endfield-flow .journey-intro{position:static}.endfield-flow .portfolio-section{padding-block:clamp(3.5rem,7vh,4.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.site-loader{display:none!important}.hero-image-scan{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
