/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:host,:root{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#101216;--color-surface:#222832;--color-paper:#f3f0e8;--color-muted:#b8bcc4;--color-accent:#d0ad67;--color-accent-strong:#75551d;--font-display:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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-day-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-second-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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}}@font-face{font-family:Inter;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Space Grotesk;src:url(./space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");font-style:normal;font-weight:300 700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--container-wide:100rem;--container-content:80rem;--gutter:clamp(1rem, 3.5vw, 4.5rem);--section-space:clamp(6rem, 11vw, 11rem);--header-height:6rem;--header-height-compact:4.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.16s;--duration-base:.28s;--duration-reveal:.68s;--duration-intro:.84s;--duration-ambient:1.1s;--z-base:0;--z-header:40;--z-overlay:30;--z-skip-link:60}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height-compact) + var(--space-6))}body{background:var(--color-ink);min-width:20rem;color:var(--color-paper);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}body,button{font-family:var(--font-sans)}a,button{-webkit-tap-highlight-color:transparent;color:inherit}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-block-start:0}:focus-visible{outline:.1875rem solid var(--color-accent);outline-offset:.25rem}::selection{background:var(--color-accent);color:var(--color-ink)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{min-height:100svh}.scroll-progress{z-index:calc(var(--z-header) + 1);pointer-events:none;height:2px;position:fixed;inset:0 0 auto;overflow:hidden}.scroll-progress span{background:var(--color-accent);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.site-container{width:min(100%,var(--container-wide));padding-inline:var(--gutter);margin-inline:auto}.skip-link{z-index:var(--z-skip-link);top:var(--space-4);left:var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-ink);transition:transform var(--duration-fast) var(--ease-out);padding:.75rem 1rem;font-weight:700;text-decoration:none;position:fixed;transform:translateY(calc(-100% - 2rem))}.skip-link:focus{transform:translateY(0)}.site-header{z-index:var(--z-header);transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),backdrop-filter var(--duration-base) var(--ease-out);background:0 0;border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header--compact,.site-header--menu-open{border-bottom-color:#f3f0e81f}@supports (color:color-mix(in lab,red,red)){.site-header--compact,.site-header--menu-open{border-bottom-color:color-mix(in srgb,var(--color-paper) 12%,transparent)}}.site-header--compact,.site-header--menu-open{background:#101216e0}@supports (color:color-mix(in lab,red,red)){.site-header--compact,.site-header--menu-open{background:color-mix(in srgb,var(--color-ink) 88%,transparent)}}.site-header--compact,.site-header--menu-open{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.site-header__inner{z-index:calc(var(--z-overlay) + 1);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-8);transition:min-height var(--duration-base) var(--ease-out);display:flex;position:relative}.site-header--compact .site-header__inner{min-height:var(--header-height-compact)}.brand{flex:none;text-decoration:none;display:inline-flex}.site-header .brand{color:var(--color-paper);align-items:center;gap:.25rem}.brand__name{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;transition:font-size var(--duration-base) var(--ease-out),color var(--duration-fast) var(--ease-out);font-size:clamp(.875rem,1.2vw,1rem);font-weight:600;line-height:1}.site-header--compact .brand__name{font-size:.875rem}.brand:hover .brand__name{color:var(--color-accent)}.app-logo{width:4.75rem;transition:width var(--duration-base) var(--ease-out);align-items:center;display:inline-flex}.app-logo--compact{width:4rem}.app-logo__image{filter:invert();width:100%;height:auto}.desktop-navigation{display:none}.site-footer__nav,.site-nav{align-items:center;gap:clamp(1.25rem,2.5vw,2.5rem);margin:0;padding:0;list-style:none;display:flex}.app-link{min-height:2.75rem;color:var(--color-muted);transition:color var(--duration-fast) var(--ease-out);align-items:center;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.app-link:after{background:var(--color-accent);content:"";transform-origin:100%;height:1px;transition:transform var(--duration-base) var(--ease-out);position:absolute;bottom:.45rem;left:0;right:0;transform:scaleX(0)}.app-link.router-link-active,.app-link:focus-visible,.app-link:hover{color:var(--color-paper)}.app-link.router-link-active:after,.app-link:focus-visible:after,.app-link:hover:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{justify-content:flex-end;align-items:center;gap:var(--space-3);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;min-width:4.5rem;min-height:2.75rem;padding:0;font-size:.8125rem;font-weight:650;display:inline-flex}.menu-toggle__icon{gap:.35rem;width:1.5rem;display:grid}.menu-toggle__icon span{background:currentColor;height:1px;display:block}.mobile-navigation{z-index:var(--z-overlay);background:var(--color-ink);position:fixed;inset:0;overflow-y:auto}.mobile-navigation__inner{align-content:center;gap:var(--space-8);min-height:100svh;padding-block:calc(var(--header-height) + var(--space-12)) var(--space-12);display:grid}.mobile-navigation__list{margin:0;padding:0;list-style:none;display:grid}.mobile-navigation__list a{border-bottom:1px solid #f3f0e824;grid-template-columns:2.25rem 1fr;align-items:baseline;display:grid}@supports (color:color-mix(in lab,red,red)){.mobile-navigation__list a{border-bottom:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.mobile-navigation__list a{font-family:var(--font-display);letter-spacing:-.055em;padding-block:clamp(.9rem,4vw,1.5rem);font-size:clamp(2rem,11vw,4.5rem);font-weight:500;line-height:1;text-decoration:none}.mobile-navigation__list a>span{color:var(--color-accent);font-family:var(--font-sans);letter-spacing:0;font-size:.625rem;font-weight:700}.mobile-navigation__note{color:var(--color-muted);margin:0;font-size:.875rem}.eyebrow{color:var(--color-accent);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.6875rem;font-weight:700;line-height:1.4}.hero{min-height:max(44rem,100svh);padding-block:calc(var(--header-height) + clamp(2.5rem, 8vh, 6rem)) clamp(2.5rem,7vh,5.5rem);align-items:end;display:grid;position:relative;overflow:clip}.hero__decor{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero__decor span{border:1px solid #f3f0e814;display:block;position:absolute}@supports (color:color-mix(in lab,red,red)){.hero__decor span{border:1px solid color-mix(in srgb,var(--color-paper) 8%,transparent)}}.hero__decor span{border-radius:50%}.hero__decor span:first-child{aspect-ratio:1;width:min(100vw,48rem);top:10%;right:-42%}.hero__decor span:last-child{aspect-ratio:1;border-color:#d0ad6759;width:clamp(3rem,8vw,8rem);bottom:14%;right:8%}@supports (color:color-mix(in lab,red,red)){.hero__decor span:last-child{border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}}.hero__content{gap:clamp(2.5rem,7vw,7rem);display:grid;position:relative}.hero__copy{gap:clamp(1.25rem,2.5vw,2rem);max-width:92rem;display:grid}.error-page h1,.hero h1,.project-placeholder h1,.section-title{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-weight:500}.hero h1{max-width:14ch;font-size:clamp(2.1rem,9vw,4rem);line-height:.9;display:grid}.hero__title-mask{padding-block:.05em;display:block;overflow:hidden}.hero__title-mask--muted{color:var(--color-muted)}.hero__title-line{will-change:transform;display:block}.hero__lead{max-width:42rem;color:var(--color-muted);margin:0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65}.hero__actions{align-items:flex-start;gap:var(--space-3);padding-top:var(--space-2);flex-flow:column wrap;display:flex}.hero__actions>span{flex:none;max-width:100%;display:inline-flex}.hero__scroll{align-items:center;gap:var(--space-4);width:max-content;min-height:2.75rem;color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.6875rem;font-weight:650;text-decoration:none;display:inline-flex}.hero__scroll-line{background:#f3f0e840;width:clamp(2.5rem,6vw,5rem);height:1px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hero__scroll-line{background:color-mix(in srgb,var(--color-paper) 25%,transparent)}}.hero__scroll-line:after{background:var(--color-accent);content:"";transition:transform var(--duration-base) var(--ease-out);position:absolute;inset:0;transform:translate(-75%)}.hero__scroll:focus-visible .hero__scroll-line:after,.hero__scroll:hover .hero__scroll-line:after{transform:translate(0)}.section{scroll-margin-top:calc(var(--header-height-compact) + var(--space-6));padding-block:var(--section-space);background:var(--color-surface);position:relative}.section__inner{gap:clamp(3rem,8vw,7rem);display:grid}.section-heading{gap:var(--space-6);max-width:68rem;display:grid}.section-heading--end{text-align:right;margin-left:auto}.section-title{max-width:17ch;font-size:clamp(2.5rem,6vw,6rem);line-height:.98}.section-heading__description{max-width:42rem;color:var(--color-muted);margin:0;font-size:clamp(1rem,1.5vw,1.125rem)}.app-button-shell{width:max-content;display:inline-flex}.app-button-shell--magnetic{will-change:transform}.app-button{justify-content:space-between;align-items:center;gap:var(--space-6);border-radius:var(--radius-pill);min-height:3.25rem;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);border:1px solid #0000;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.app-button--primary{background:var(--color-accent);color:var(--color-ink)}.app-button--secondary{border-color:#f3f0e861}@supports (color:color-mix(in lab,red,red)){.app-button--secondary{border-color:color-mix(in srgb,var(--color-paper) 38%,transparent)}}.app-button--secondary{color:var(--color-paper)}.app-button__icon{transition:transform var(--duration-base) var(--ease-out);font-size:1rem}.app-button:focus-visible .app-button__icon,.app-button:hover .app-button__icon{transform:translate(.18rem,-.18rem)}.app-button--primary:focus-visible,.app-button--primary:hover{background:var(--color-paper)}.app-button--secondary:focus-visible,.app-button--secondary:hover{border-color:var(--color-paper);background:var(--color-paper);color:var(--color-ink)}.projects-section{scroll-margin-top:var(--header-height-compact);background:var(--color-paper);color:var(--color-ink);position:relative}.projects-pin{padding-block:var(--section-space)}.projects-section__header{gap:var(--space-6);margin-bottom:clamp(3rem,7vw,6rem);display:grid}.projects-section .eyebrow{color:var(--color-accent-strong)}.projects-section__heading-row{gap:var(--space-6);display:grid}.projects-section__heading-row h2{max-width:11ch;font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(2.75rem,7vw,7rem);font-weight:500;line-height:.92}.projects-section__heading-row p{color:#101216b8;max-width:36rem;margin:0}@supports (color:color-mix(in lab,red,red)){.projects-section__heading-row p{color:color-mix(in srgb,var(--color-ink) 72%,transparent)}}.projects-section__heading-row p{font-size:clamp(1rem,1.5vw,1.125rem)}.projects-track{gap:var(--space-8);width:min(100%,var(--container-wide));padding-inline:var(--gutter);margin-inline:auto;display:grid}.project-card{min-width:0}.project-card__link{border:1px solid #10121633;min-height:42rem;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-card__link{border:1px solid color-mix(in srgb,var(--color-ink) 20%,transparent)}}.project-card__link{border-radius:var(--radius-lg);background:var(--color-ink);color:var(--color-paper);transition:border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);text-decoration:none}.project-card__link:focus-visible,.project-card__link:hover{border-color:var(--color-accent)}.project-card__link:focus-visible{outline-offset:-.375rem}.project-card__meta{gap:var(--space-4);border-bottom:1px solid #f3f0e81f;grid-template-columns:auto 1fr auto;align-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.project-card__meta{border-bottom:1px solid color-mix(in srgb,var(--color-paper) 12%,transparent)}}.project-card__meta{padding:var(--space-4) clamp(1rem,3vw,2rem);color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:650}.project-card__meta span:nth-child(2){text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card__visual{border-bottom:1px solid #f3f0e81f;place-items:center;min-height:18rem;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-card__visual{border-bottom:1px solid color-mix(in srgb,var(--color-paper) 12%,transparent)}}.project-card__visual{background:var(--color-surface)}.project-card__visual img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;transition:scale .6s var(--ease-out)}.project-card__link:focus-visible .project-card__visual img,.project-card__link:hover .project-card__visual img{scale:1.015}.project-card__content{align-content:start;gap:var(--space-6);padding:clamp(1.25rem,3vw,2.5rem);display:grid}.project-card__subtitle{margin:0 0 var(--space-3);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.project-card h3{font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(2.25rem,5vw,5.5rem);font-weight:500;line-height:.95}.project-card__description{max-width:44rem;color:var(--color-muted);margin:0;font-size:.9375rem}.project-card__technologies{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-card__technologies li{border:1px solid #f3f0e838}@supports (color:color-mix(in lab,red,red)){.project-card__technologies li{border:1px solid color-mix(in srgb,var(--color-paper) 22%,transparent)}}.project-card__technologies li{border-radius:var(--radius-pill);color:var(--color-muted);white-space:nowrap;padding:.35rem .7rem;font-size:.6875rem}.project-card__cta{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-accent);width:max-content;min-height:2.75rem;margin-top:auto;font-size:.8125rem;font-weight:700;display:inline-flex}.project-card__cta>span{color:var(--color-accent)}.page-enter-active,.page-leave-active{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.page-enter-from,.page-leave-to{opacity:0;transform:scale(.992)}.project-detail{background:var(--color-paper);color:var(--color-ink)}.project-detail-hero{background:var(--color-ink);color:var(--color-paper);overflow:hidden}.project-detail-hero__inner{padding-top:calc(var(--header-height) + var(--space-12));gap:clamp(3rem,6vw,6rem);padding-bottom:clamp(2rem,5vw,5rem);display:grid}.project-backlink{align-items:center;gap:var(--space-3);width:max-content;min-height:2.75rem;color:var(--color-muted);font-size:.8125rem;font-weight:650;text-decoration:none;display:inline-flex}.project-backlink span{color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out)}.project-backlink:focus-visible span,.project-backlink:hover span{transform:translate(-.25rem)}.project-detail-hero__heading{gap:var(--space-8);display:grid}.project-detail-hero .eyebrow{margin-bottom:var(--space-6)}.project-detail-hero h1{overflow-wrap:anywhere;max-width:15ch;font-family:var(--font-display);letter-spacing:-.07em;margin:0;font-size:clamp(3.5rem,10vw,9.5rem);font-weight:500;line-height:.86}.project-detail-hero h1.project-detail-hero__title--long{font-size:clamp(2.75rem,11vw,9.5rem)}.project-detail-hero__intro{align-content:end;justify-items:start;gap:var(--space-6);display:grid}.project-detail-hero__intro p{max-width:30rem;color:var(--color-muted);font-family:var(--font-display);margin:0;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.2}.project-status{border:1px solid #d0ad6773}@supports (color:color-mix(in lab,red,red)){.project-status{border:1px solid color-mix(in srgb,var(--color-accent) 45%,transparent)}}.project-status{border-radius:var(--radius-pill);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;padding:.4rem .8rem;font-size:.6875rem;font-weight:700}.project-detail-hero__visual{border:1px solid #f3f0e824;min-height:clamp(20rem,58vw,52rem);margin:0;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-detail-hero__visual{border:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.project-detail-hero__visual{border-radius:var(--radius-lg);background:var(--color-surface);place-items:center}.project-detail-hero__visual img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}[data-motion-parallax=cover]{will-change:transform}.project-detail-section,.project-gallery{padding-block:var(--section-space);background:var(--color-paper);color:var(--color-ink)}.project-detail-section--surface{background:var(--color-ink);color:var(--color-paper)}.project-detail-grid{gap:clamp(3rem,7vw,8rem);display:grid}.project-detail-section__label .eyebrow{margin-bottom:var(--space-6);color:var(--color-accent-strong)}.project-detail-section--surface .project-detail-section__label .eyebrow{color:var(--color-accent)}.project-detail-section__label h2{max-width:10ch;font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(2.75rem,6vw,6rem);font-weight:500;line-height:.94}.project-detail-section__label--wide{gap:var(--space-6);margin-bottom:clamp(3rem,7vw,7rem);display:grid}.project-detail-copy{max-width:52rem;margin:0;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.55}.project-detail-copy--lead{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.5rem,3.2vw,3rem);line-height:1.2}.project-overview{gap:clamp(3rem,6vw,6rem);display:grid}.project-facts{border-top:1px solid #1012162e;margin:0;display:grid}@supports (color:color-mix(in lab,red,red)){.project-facts{border-top:1px solid color-mix(in srgb,var(--color-ink) 18%,transparent)}}.project-facts>div{gap:var(--space-3);padding-block:var(--space-6);border-bottom:1px solid #1012162e;display:grid}@supports (color:color-mix(in lab,red,red)){.project-facts>div{border-bottom:1px solid color-mix(in srgb,var(--color-ink) 18%,transparent)}}.project-facts dt{color:#1012169e}@supports (color:color-mix(in lab,red,red)){.project-facts dt{color:color-mix(in srgb,var(--color-ink) 62%,transparent)}}.project-facts dt{letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.project-facts dd{margin:0;font-size:.9375rem}.project-process{background:#f3f0e826;gap:1px;display:grid}@supports (color:color-mix(in lab,red,red)){.project-process{background:color-mix(in srgb,var(--color-paper) 15%,transparent)}}.project-process article{align-content:start;gap:var(--space-8);background:var(--color-surface);min-height:28rem;padding:clamp(1.5rem,4vw,4rem);display:grid}.project-process article>span{color:var(--color-accent);font-size:.6875rem;font-weight:700}.project-process h3{font-family:var(--font-display);letter-spacing:-.055em;margin:auto 0 0;font-size:clamp(2.25rem,4vw,4.5rem);font-weight:500;line-height:.95}.project-process p{max-width:42rem;color:var(--color-muted);margin:0}.project-architecture__content{gap:clamp(3rem,6vw,6rem);display:grid}.architecture-nodes{background:#1012162e;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;display:grid}@supports (color:color-mix(in lab,red,red)){.architecture-nodes{background:color-mix(in srgb,var(--color-ink) 18%,transparent)}}.architecture-nodes{list-style:none}.architecture-nodes li{align-content:space-between;gap:var(--space-4);min-height:10rem;padding:var(--space-6);background:var(--color-paper);display:grid}.architecture-nodes li[data-kind=ai],.architecture-nodes li[data-kind=compute]{background:var(--color-surface);color:var(--color-paper)}.architecture-node__index{color:var(--color-accent-strong);font-size:.6875rem;font-weight:700}.architecture-nodes li[data-kind=ai] .architecture-node__index,.architecture-nodes li[data-kind=compute] .architecture-node__index{color:var(--color-accent)}.architecture-nodes strong{font-family:var(--font-display);align-self:end;line-height:1.2}.architecture-nodes li>span:last-child{color:currentColor}@supports (color:color-mix(in lab,red,red)){.architecture-nodes li>span:last-child{color:color-mix(in srgb,currentColor 62%,transparent)}}.architecture-nodes li>span:last-child{text-transform:uppercase;font-size:.6875rem}.project-features{border-top:1px solid #f3f0e829;margin:0;padding:0}@supports (color:color-mix(in lab,red,red)){.project-features{border-top:1px solid color-mix(in srgb,var(--color-paper) 16%,transparent)}}.project-features{list-style:none}.project-features li{gap:var(--space-4);padding-block:var(--space-6);border-bottom:1px solid #f3f0e829;display:grid}@supports (color:color-mix(in lab,red,red)){.project-features li{border-bottom:1px solid color-mix(in srgb,var(--color-paper) 16%,transparent)}}.project-feature__index,.project-feature__status{color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.project-features h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.75rem)}.project-features p{max-width:38rem;color:var(--color-muted);margin:0;font-size:.9375rem}.project-detail-stack{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-detail-stack li{border:1px solid #1012163d}@supports (color:color-mix(in lab,red,red)){.project-detail-stack li{border:1px solid color-mix(in srgb,var(--color-ink) 24%,transparent)}}.project-detail-stack li{border-radius:var(--radius-pill);font-family:var(--font-display);padding:.7rem 1.1rem;font-size:clamp(.875rem,1.5vw,1.125rem)}.project-results{gap:var(--space-4);margin:0;display:grid}.project-results>div{padding:var(--space-8);border:1px solid #f3f0e829}@supports (color:color-mix(in lab,red,red)){.project-results>div{border:1px solid color-mix(in srgb,var(--color-paper) 16%,transparent)}}.project-results dt{color:var(--color-muted);font-size:.75rem}.project-results dd{margin:var(--space-4) 0 0;color:var(--color-accent);font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:1}.project-results p{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:.8125rem}.project-gallery__grid{gap:var(--space-8);display:grid}.project-gallery figure{border-radius:var(--radius-lg);background:var(--color-surface);place-items:center;min-height:clamp(22rem,55vw,48rem);margin:0;display:grid;overflow:hidden}.project-gallery img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.project-related{border-top:1px solid #10121629}@supports (color:color-mix(in lab,red,red)){.project-related{border-top:1px solid color-mix(in srgb,var(--color-ink) 16%,transparent)}}.project-related__links{gap:var(--space-4);flex-wrap:wrap;display:flex}.project-related__links a{align-items:center;gap:var(--space-3);border:1px solid var(--color-ink);border-radius:var(--radius-pill);min-height:3.25rem;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);padding:.7rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.project-related__links a:focus-visible,.project-related__links a:hover{background:var(--color-ink);color:var(--color-paper)}.project-disclaimer{max-width:50rem;margin:var(--space-8) 0 0;border-left:.1875rem solid var(--color-accent);padding-left:var(--space-6);color:#101216ad}@supports (color:color-mix(in lab,red,red)){.project-disclaimer{color:color-mix(in srgb,var(--color-ink) 68%,transparent)}}.project-disclaimer{font-size:.875rem}.project-next{padding-block:var(--space-8) var(--section-space);background:var(--color-paper)}.project-next a{gap:var(--space-6);border-top:1px solid #10121638;display:grid}@supports (color:color-mix(in lab,red,red)){.project-next a{border-top:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent)}}.project-next a{border-bottom:1px solid #10121638}@supports (color:color-mix(in lab,red,red)){.project-next a{border-bottom:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent)}}.project-next a{color:var(--color-ink);padding-block:clamp(2rem,5vw,5rem);text-decoration:none}.project-next .eyebrow{color:var(--color-accent-strong)}.project-next__title{font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(2.5rem,7vw,7rem);font-weight:500;line-height:.94}.project-next__meta{justify-content:space-between;align-items:center;gap:var(--space-4);color:#101216a6;display:flex}@supports (color:color-mix(in lab,red,red)){.project-next__meta{color:color-mix(in srgb,var(--color-ink) 65%,transparent)}}.project-next__meta{text-transform:uppercase;font-size:.8125rem;font-weight:650}.project-next__meta span{color:var(--color-accent-strong);transition:transform var(--duration-fast) var(--ease-out);font-size:1.5rem}.project-next a:focus-visible .project-next__meta span,.project-next a:hover .project-next__meta span{transform:translate(.5rem)}.about-section,.contact-section,.expertise-section,.process-section{scroll-margin-top:calc(var(--header-height-compact) + var(--space-6));position:relative}.about-section{padding-block:var(--section-space);background:var(--color-ink);color:var(--color-paper)}.about-section__inner{gap:clamp(3rem,8vw,8rem);display:grid}.about-section__heading{gap:var(--space-8);display:grid}.about-section__heading h2{max-width:13ch;font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(2.75rem,7vw,7rem);font-weight:500;line-height:.92}.about-section__content{gap:clamp(3rem,6vw,6rem);display:grid}.about-section__copy{gap:var(--space-6);display:grid}.about-section__copy p{max-width:50rem;color:var(--color-muted);margin:0;font-size:clamp(1.125rem,2.2vw,1.5rem)}.about-section__copy p:first-child{color:var(--color-paper);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.5rem,3.4vw,3.25rem);line-height:1.2}.about-principles{border-top:1px solid #f3f0e829;margin:0;padding:0;display:grid}@supports (color:color-mix(in lab,red,red)){.about-principles{border-top:1px solid color-mix(in srgb,var(--color-paper) 16%,transparent)}}.about-principles{list-style:none}.about-principles li{gap:var(--space-4);border-bottom:1px solid #f3f0e829;grid-template-columns:2.5rem 1fr;align-items:baseline;display:grid}@supports (color:color-mix(in lab,red,red)){.about-principles li{border-bottom:1px solid color-mix(in srgb,var(--color-paper) 16%,transparent)}}.about-principles li{padding-block:var(--space-4);font-family:var(--font-display);font-size:clamp(1rem,2vw,1.25rem)}.about-principles span{color:var(--color-accent);font-family:var(--font-sans);font-size:.6875rem;font-weight:700}.expertise-section{padding-block:var(--section-space);background:var(--color-surface);overflow:hidden}.expertise-section__network{opacity:.22;pointer-events:none;position:absolute;inset:0}.expertise-section__network svg{width:100%;height:100%}.expertise-section__network path{fill:none;stroke:#f3f0e838}@supports (color:color-mix(in lab,red,red)){.expertise-section__network path{stroke:color-mix(in srgb,var(--color-paper) 22%,transparent)}}.expertise-section__network path{stroke-width:1px;vector-effect:non-scaling-stroke}.expertise-section__network circle{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.expertise-section__inner{gap:clamp(4rem,9vw,9rem);display:grid;position:relative}.expertise-grid{gap:var(--space-4);display:grid}.expertise-card{gap:var(--space-6);border:1px solid #f3f0e824;min-width:0;display:grid}@supports (color:color-mix(in lab,red,red)){.expertise-card{border:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.expertise-card{border-radius:var(--radius-lg);background:#101216e8;padding:clamp(1.25rem,3vw,2.5rem)}@supports (color:color-mix(in lab,red,red)){.expertise-card{background:color-mix(in srgb,var(--color-ink) 91%,transparent)}}.expertise-card{transition:border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.expertise-card:hover{border-color:#d0ad67ad}@supports (color:color-mix(in lab,red,red)){.expertise-card:hover{border-color:color-mix(in srgb,var(--color-accent) 68%,transparent)}}.expertise-card:hover{transform:translateY(-.25rem)}.expertise-card__heading{gap:var(--space-3);grid-template-columns:2.5rem 1fr;align-items:baseline;display:grid}.expertise-card__heading>span{color:var(--color-accent);font-size:.6875rem;font-weight:700}.expertise-card h3{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;line-height:1}.expertise-card>p{color:var(--color-muted);margin:0;font-size:.875rem}.expertise-card ul{gap:var(--space-2);flex-wrap:wrap;margin:auto 0 0;padding:0;list-style:none;display:flex}.expertise-card li{border:1px solid #f3f0e833}@supports (color:color-mix(in lab,red,red)){.expertise-card li{border:1px solid color-mix(in srgb,var(--color-paper) 20%,transparent)}}.expertise-card li{border-radius:var(--radius-pill);color:var(--color-muted);padding:.35rem .7rem;font-size:.6875rem}.process-section{padding-block:var(--section-space);background:var(--color-paper);color:var(--color-ink)}.process-section__inner{gap:clamp(4rem,9vw,9rem);display:grid}.process-section .eyebrow{color:var(--color-accent-strong)}.process-section .section-heading__description{color:#101216ad}@supports (color:color-mix(in lab,red,red)){.process-section .section-heading__description{color:color-mix(in srgb,var(--color-ink) 68%,transparent)}}.process-list{border-top:1px solid #10121638;margin:0;padding:0;display:grid}@supports (color:color-mix(in lab,red,red)){.process-list{border-top:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent)}}.process-list{list-style:none}.process-list li{gap:var(--space-4);border-bottom:1px solid #10121638;padding-block:clamp(1.5rem,4vw,3rem);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.process-list li{border-bottom:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent)}}.process-list li{transition:background-color var(--duration-base) var(--ease-out)}.process-list__index{color:var(--color-accent-strong);font-size:.6875rem;font-weight:700}.process-list h3{font-family:var(--font-display);letter-spacing:-.05em;transition:transform var(--duration-base) var(--ease-out);margin:0;font-size:clamp(1.75rem,4vw,3.5rem);font-weight:500;line-height:1}.process-list p{color:#101216ad;max-width:40rem;margin:0}@supports (color:color-mix(in lab,red,red)){.process-list p{color:color-mix(in srgb,var(--color-ink) 68%,transparent)}}.process-list p{font-size:.9375rem}.process-list__line{background:var(--color-accent-strong);transform-origin:0;height:2px;transition:transform .5s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.process-list li.is-current h3,.process-list li:hover h3{transform:translate(.35rem)}.process-list li.is-current .process-list__line,.process-list li:hover .process-list__line{transform:scaleX(1)}.process-list li.is-current{background:#d0ad6714}@supports (color:color-mix(in lab,red,red)){.process-list li.is-current{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}}.contact-section{border-top:1px solid #f3f0e824;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.contact-section{border-top:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.contact-section{padding-block:var(--section-space);background:var(--color-ink)}.contact-section:after{border:1px solid #d0ad6747;width:min(70vw,55rem);position:absolute;bottom:-30vw;right:-18vw}@supports (color:color-mix(in lab,red,red)){.contact-section:after{border:1px solid color-mix(in srgb,var(--color-accent) 28%,transparent)}}.contact-section:after{aspect-ratio:1;content:"";pointer-events:none;border-radius:50%}.contact-section__inner{z-index:1;justify-items:start;gap:var(--space-8);display:grid;position:relative}.contact-section h2{max-width:11ch;font-family:var(--font-display);letter-spacing:-.075em;margin:0;font-size:clamp(3.5rem,11vw,11rem);font-weight:500;line-height:.84}.contact-section__lead{max-width:42rem;color:var(--color-muted);margin:0;font-size:clamp(1rem,1.8vw,1.25rem)}.contact-section__actions{gap:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.contact-email{align-items:center;gap:var(--space-8);border-radius:var(--radius-pill);background:var(--color-accent);min-height:3.5rem;color:var(--color-ink);transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);padding:.8rem 1.25rem;font-weight:750;text-decoration:none;display:inline-flex}.contact-email:focus-visible,.contact-email:hover{background:var(--color-paper);transform:translateY(-.15rem)}.contact-email span{transition:transform var(--duration-fast) var(--ease-out)}.contact-email:focus-visible span,.contact-email:hover span{transform:translate(.15rem,-.15rem)}.contact-socials{gap:var(--space-6);margin:0;padding:0;list-style:none;display:flex}.contact-socials a{color:var(--color-muted);text-underline-offset:.35em;transition:color var(--duration-fast) var(--ease-out)}.contact-socials a:focus-visible,.contact-socials a:hover{color:var(--color-paper)}.error-page,.page-content{min-height:80svh;padding-block:calc(var(--header-height) + var(--section-space)) var(--section-space)}.error-page,.project-placeholder{align-content:center;justify-items:start;gap:var(--space-6);display:grid}.error-page h1,.project-placeholder h1{max-width:14ch;font-size:clamp(2.75rem,7vw,7rem);line-height:.95}.error-page p:not(.eyebrow),.project-placeholder p:not(.eyebrow){max-width:40rem;color:var(--color-muted)}.text-link{color:var(--color-paper);text-underline-offset:.3em}.site-footer{scroll-margin-top:var(--header-height-compact);border-top:1px solid #f3f0e824}@supports (color:color-mix(in lab,red,red)){.site-footer{border-top:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.site-footer{background:var(--color-ink)}.site-footer__top{gap:var(--space-12);padding-block:clamp(4rem,9vw,8rem);display:grid}.site-footer__statement{max-width:18ch;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,4.5rem);font-weight:500;line-height:1}.site-footer__bottom{gap:var(--space-6);border-top:1px solid #f3f0e824;align-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.site-footer__bottom{border-top:1px solid color-mix(in srgb,var(--color-paper) 14%,transparent)}}.site-footer__bottom{padding-block:var(--space-6);color:var(--color-muted);font-size:.75rem}.site-footer__bottom p{margin:0}.site-footer__nav{gap:var(--space-4) var(--space-8);flex-wrap:wrap}@media (width>=40rem){.hero__content{grid-template-columns:minmax(0,1fr) auto;align-items:end}.hero h1{font-size:clamp(4rem,8.7vw,9rem)}.hero__actions{flex-direction:row}.hero__decor span:first-child{right:-20%}.projects-section__heading-row{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:end}.project-card__link{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr)}.project-card__meta{grid-column:1/-1}.project-card__visual{border-right:1px solid #f3f0e81f;min-height:32rem}@supports (color:color-mix(in lab,red,red)){.project-card__visual{border-right:1px solid color-mix(in srgb,var(--color-paper) 12%,transparent)}}.project-card__visual{border-bottom:0}.project-card__content{align-content:center}.project-detail-hero__heading{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.5fr);align-items:end}.project-detail-hero h1.project-detail-hero__title--long{font-size:clamp(3.5rem,10vw,9.5rem)}.project-process{grid-template-columns:repeat(2,minmax(0,1fr))}.project-features li{grid-template-columns:3rem minmax(0,1fr) auto;align-items:start}.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery figure:first-child{grid-column:1/-1}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-list li{grid-template-columns:3rem minmax(12rem,.7fr) minmax(18rem,1.3fr);align-items:start}.site-footer__top{grid-template-columns:1fr 2fr;align-items:start}.site-footer__bottom{grid-template-columns:1fr auto auto}}@media (width>=64rem){.desktop-navigation{display:block}.menu-toggle{display:none}.about-section__inner{grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr)}.project-detail-grid,.project-detail-section__label--wide{grid-template-columns:minmax(18rem,.65fr) minmax(0,1.35fr)}.project-detail-section__label--wide{align-items:end}.architecture-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}.project-facts>div{grid-template-columns:10rem minmax(0,1fr)}}@media (width>=80rem){.section__inner{grid-template-columns:minmax(0,.9fr) minmax(35rem,1.1fr);align-items:end}}@media (width>=100rem){:root{--gutter:clamp(4rem, 6vw, 7rem)}.hero h1{font-size:clamp(8rem,8vw,9.5rem)}}@media (width>=64rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.projects-pin{height:100svh;padding-block:calc(var(--header-height-compact) + var(--space-6)) var(--space-8);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.projects-section__header{gap:var(--space-3);margin-bottom:var(--space-6)}.projects-section__heading-row h2{font-size:clamp(3rem,4.7vw,5.5rem)}.projects-viewport{min-height:0;overflow:hidden}.projects-track{gap:var(--space-8);width:max-content;height:100%;margin:0;display:flex}.project-card{flex:none;width:min(78vw,78rem);height:100%}.project-card__link{height:100%;min-height:0}.project-card__visual{min-height:0}.project-card h3{font-size:clamp(2.5rem,4vw,4.75rem)}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.app-button-shell--magnetic,[data-motion-parallax=cover]{will-change:auto}.page-enter-active,.page-leave-active{transition-duration:.01ms}.page-enter-from,.page-leave-to{transform:none}html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
