/*! tailwindcss v4.3.5 | 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)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Archivo", ui-sans-serif, system-ui, sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;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}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;line-height:1.6;overflow-x:clip}h1,h2,h3{font-weight:700;line-height:1.05}p,li{text-wrap:pretty}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}}@layer components{.container{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.section{z-index:1;background:var(--bg);padding-block:clamp(3.5rem,6vw,5rem);position:relative}.dim{color:var(--faint)}.serif{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--accent-2);font-style:italic;font-weight:400}.label{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);font-size:.8125rem}.eyebrow{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:1.5rem;font-size:.8125rem;display:flex}.eyebrow>span:first-child{color:var(--accent-2)}.eyebrow>span:first-child:before{content:"("}.eyebrow>span:first-child:after{content:")"}.title{letter-spacing:-.04em;font-kerning:none;max-width:16ch;font-size:clamp(2.6rem,6.2vw,6rem);font-weight:800;line-height:.95}.title .serif{letter-spacing:-.02em;font-size:1.08em}.skip-link{z-index:400;background:var(--text);color:var(--bg);border-radius:8px;padding:.7rem 1rem;font-weight:600;transition:top .2s;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.btn{letter-spacing:-.01em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;min-height:3.25rem;padding:0 1.6rem;font-size:1rem;font-weight:600;transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s;display:inline-flex}.btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--ease-out)}.btn:hover svg{transform:translate(2px,-2px)}.btn--accent{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 40px -12px #4d8dffa6}.btn--accent:hover{background:var(--accent-2);box-shadow:0 10px 50px -10px #7ce7ff99}.btn--ghost{border:1px solid var(--line-2);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff05}.btn--ghost:hover{border-color:var(--text)}.btn--sm{min-height:2.5rem;padding:0 1.1rem;font-size:.9375rem}.link-arrow{color:var(--accent-2);border-bottom:1px solid;align-self:flex-start;align-items:center;gap:.45rem;margin-top:1.25rem;padding-bottom:2px;font-weight:600;display:inline-flex}.link-arrow svg{width:1em;height:1em}.loader{display:none}.js .loader{z-index:300;background:var(--bg);color:var(--text);place-items:center;animation:10ms 6s forwards loader-failsafe;display:grid;position:fixed;inset:0}@keyframes loader-failsafe{to{visibility:hidden;opacity:0}}.loader__inner{width:min(88vw,34rem)}.loader__name{letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(2.5rem,9vw,5.5rem);font-weight:800;line-height:.9}.loader__name span{display:inline-block}.loader__role{font-family:var(--font-mono);color:var(--muted);margin-top:.8rem;font-size:.8125rem}.loader__bar{background:var(--line);height:2px;margin-top:2rem;overflow:hidden}.loader__bar i{background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.loader__count{font-family:var(--font-mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;margin-top:.8rem;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.js .loader{display:none}}.cursor{display:none}.has-cursor .cursor{z-index:250;pointer-events:none;mix-blend-mode:difference;display:block;position:fixed;inset:0 auto auto 0}.cursor__dot,.cursor__ring{will-change:transform;border-radius:999px;position:fixed;top:0;left:0}.cursor__dot{background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor__ring{width:40px;height:40px;transition:width .35s var(--ease-out), height .35s var(--ease-out), margin .35s var(--ease-out), background-color .35s;border:1px solid #ffffffd9;place-items:center;margin:-20px 0 0 -20px;display:grid}.cursor.is-link .cursor__ring{background:#fff;width:64px;height:64px;margin:-32px 0 0 -32px}.cursor.is-label .cursor__ring{background:#fff;width:92px;height:92px;margin:-46px 0 0 -46px}.cursor__label{font-family:var(--font-mono);color:#000;opacity:0;font-size:.75rem;transition:opacity .2s}.cursor.is-label .cursor__label{opacity:1}.cursor.is-hidden{opacity:0}.has-cursor,.has-cursor a,.has-cursor button,.has-cursor label{cursor:none}.has-cursor input,.has-cursor textarea{cursor:text}.stage{z-index:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s;position:fixed;inset:0}.has-3d .stage.is-on{opacity:1;visibility:visible}.stage__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage__labels{position:absolute;inset:0}.node-label{font-family:var(--font-mono);white-space:nowrap;color:var(--text);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;will-change:transform;background:#0a0a0fb8;border-radius:6px;padding:.2rem .5rem;font-size:.6875rem;line-height:1.4;transition:opacity .35s,border-color .35s,color .35s;position:absolute;top:0;left:0}.node-label.is-on{opacity:1}.node-label.is-hot{border-color:var(--accent-2);color:var(--accent-2)}.site-header{z-index:100;height:var(--header-h);transition:transform .5s var(--ease-out), background-color .4s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#0a0a0fb8}.site-header.is-hidden{transform:translateY(-100%)}.site-header__inner{height:100%;max-width:var(--maxw);padding-inline:var(--pad);align-items:center;gap:2rem;margin-inline:auto;display:flex}.brand{align-items:center;gap:.7rem;font-weight:700;display:inline-flex}.brand__mark{letter-spacing:-.02em;width:2.4rem;height:2.4rem;color:var(--on-accent);background:linear-gradient(135deg, var(--accent-2), var(--accent));border-radius:.8rem;place-items:center;font-size:.95rem;font-weight:800;display:grid}.brand__name{letter-spacing:-.01em;font-size:1rem}.nav{color:var(--muted);gap:2rem;margin-left:auto;font-size:.9375rem;display:none}.nav a{padding-block:.35rem;transition:color .2s;position:relative}.nav a:after{content:"";transform-origin:100%;height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:hover,.nav a[aria-current]{color:var(--text)}.nav a:hover:after,.nav a[aria-current]:after{transform-origin:0;transform:scaleX(1)}.header-cta{display:none}.menu-toggle{border:1px solid var(--line-2);border-radius:999px;place-content:center;gap:6px;width:2.75rem;height:2.75rem;margin-left:auto;display:grid}.menu-toggle span{background:var(--text);width:18px;height:1.5px;transition:transform .4s var(--ease-out);display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px)rotate(-45deg)}@media (min-width:1024px){.nav{display:flex}.header-cta{display:inline-flex}.menu-toggle{display:none}}.progress{height:2px;position:absolute;bottom:0;left:0;right:0}.progress i{background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.menu{z-index:90;padding:calc(var(--header-h) + 2rem) var(--pad) 2rem;background:var(--bg);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.menu[hidden]{display:none}.menu nav{gap:.25rem;display:grid}.menu nav a{letter-spacing:-.04em;align-items:baseline;gap:1rem;font-size:clamp(2.4rem,11vw,4rem);font-weight:800;line-height:1.1;display:flex}.menu nav small{font-family:var(--font-mono);color:var(--accent-2);letter-spacing:0;font-size:.8rem;font-weight:400}.menu nav a[aria-current=page]{color:var(--accent-2)}.menu__foot{font-family:var(--font-mono);color:var(--muted);font-size:.8125rem}main{z-index:1;position:relative}.hero{min-height:100svh;padding:calc(var(--header-h) + 1.5rem) var(--pad) 1.5rem;max-width:var(--maxw);grid-template-rows:auto 1fr auto auto;gap:1.5rem;margin-inline:auto;display:grid;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(110% 80% at 0% 100%, #0a0a0fe6 22%, transparent 58%), linear-gradient(180deg, transparent 75%, var(--bg) 100%);width:100vw;position:absolute;inset:0 auto 0 calc(50% - 50vw)}.hero__meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.status{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0f80;border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .85rem;font-size:.875rem;display:inline-flex}.status__dot{background:var(--ok);border-radius:999px;width:8px;height:8px;animation:2.4s infinite pulse;display:inline-block;box-shadow:0 0 #3ddc9799}@keyframes pulse{70%{box-shadow:0 0 0 10px #3ddc9700}to{box-shadow:0 0 #3ddc9700}}.hero__copy{align-self:center;max-width:34rem}.hero__lead{color:var(--muted);font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.45}.hero__lead .serif{color:var(--text);margin-bottom:.6rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1.1;display:block}.rotator{letter-spacing:-.03em;margin-block:.15rem .35rem;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:700;line-height:1.15;display:grid}.rotator__word{background:linear-gradient(90deg, var(--text), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;grid-area:1/1;display:none}.rotator__word.is-active{display:block}.fx .rotator__word{opacity:0;display:block}.fx .rotator__word.is-active{opacity:1}.hero__ctas{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.hero__name{text-transform:uppercase;letter-spacing:-.045em;font-kerning:none;-webkit-user-select:none;user-select:none;margin-left:-.04em;font-size:clamp(4.2rem,17.5vw,17rem);font-weight:800;line-height:.8}.hero__word{white-space:nowrap;display:block}.hero__word .ch{font-variation-settings:"wght" 800, "wdth" 100;display:inline-block}.hero__foot{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.hero__foot .scroll-hint{justify-self:center}@media (max-width:639px){.hero__foot{grid-template-columns:1fr;padding-right:3.5rem}.hero__foot .scroll-hint{display:none}.hero__meta{flex-wrap:wrap}}@media (max-width:1023px){.hero__copy{align-self:end}.hero:before{background:linear-gradient(180deg, transparent 18%, #0a0a0fd1 52%, var(--bg) 100%)}}.scroll-hint{align-items:center;gap:.6rem;display:inline-flex}.scroll-hint i{background:var(--line-2);width:1px;height:2rem;display:block;position:relative;overflow:hidden}.scroll-hint i:after{content:"";background:var(--accent-2);width:100%;height:40%;animation:drip 1.8s var(--ease-out) infinite;position:absolute;top:-40%;left:0}@keyframes drip{to{top:100%}}@media (min-width:1024px){.hero{grid-template-columns:1fr 1fr}.hero__meta,.hero__name,.hero__foot{grid-column:1/-1}.hero__copy{grid-column:1}}.about__grid{align-items:center;gap:3.5rem;display:grid}@media (min-width:1024px){.about__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:6rem}}.reveal-words{letter-spacing:-.025em;font-size:clamp(1.6rem,3.1vw,2.9rem);font-weight:500;line-height:1.22}.about__note{font-family:var(--font-mono);color:var(--muted);margin-top:2rem;font-size:.875rem}.portrait{justify-self:center;width:100%;max-width:26rem;position:relative}.portrait__frame{aspect-ratio:4/5;background:var(--card);border:1px solid var(--line-2);border-radius:28px;position:relative;overflow:hidden;box-shadow:0 40px 120px -40px #4d8dff73}.portrait__frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0a0a0f8c);position:absolute;inset:0}.portrait__img{object-fit:cover;width:100%;height:112%;position:absolute;top:-6%;left:0}.avatar{object-fit:cover;background:linear-gradient(var(--bg), var(--bg)) padding-box, linear-gradient(135deg, var(--accent-2), var(--accent)) border-box;border:2px solid #0000;border-radius:999px;flex:none;width:3.25rem;height:3.25rem}.avatar--lg{width:4.25rem;height:4.25rem}.hero__hi{align-items:center;gap:.9rem;margin-bottom:.6rem;display:flex}.hero__lead .hero__hi .serif{margin-bottom:0}.loader__avatar{width:4.5rem;height:4.5rem;margin-bottom:1.5rem}.signature{align-items:center;gap:1rem;margin-top:2rem;display:flex}.signature p{line-height:1.35;display:grid}.signature span{color:var(--muted);font-size:.9375rem}html:not(.js) .js-only{display:none!important}.portrait figcaption{font-family:var(--font-mono);color:var(--muted);justify-content:space-between;margin-top:1rem;font-size:.8125rem;display:flex}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(4rem,9vw,8rem);list-style:none;display:grid}@media (min-width:768px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.stats li{border-bottom:1px solid var(--line);padding:2rem 1.5rem 2rem 0}.stats__num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:800;line-height:1}.stats__label{color:var(--muted);max-width:22ch;margin-top:.75rem;font-size:.9375rem}.marquee{z-index:1;background:var(--bg);padding-block:2rem 3rem;position:relative;overflow:clip}.marquee__row{white-space:nowrap;display:flex}.marquee__track{flex-shrink:0;align-items:center;gap:2.2rem;padding-right:2.2rem;display:flex}.marquee__row span{letter-spacing:-.04em;color:#0000;-webkit-text-stroke:1px #f5f6f859;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:800;line-height:1.15}.marquee__row i{color:var(--accent-2);font-size:clamp(1.4rem,3vw,2.6rem);font-style:normal}.marquee__row--alt{background:var(--accent);margin-top:1rem;transform:rotate(-2deg)}.marquee__row--alt span{color:var(--on-accent);-webkit-text-stroke:0;font-size:clamp(1.6rem,3.6vw,3.2rem)}.marquee__row--alt i{color:var(--on-accent);font-size:clamp(1rem,2vw,1.8rem)}.journey__grid{gap:3rem;margin-top:clamp(3rem,7vw,6rem);display:grid}@media (min-width:1024px){.journey__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem}}.journey__year{display:none}@media (min-width:1024px){.journey__year{align-self:start;gap:2rem;display:flex;position:sticky;top:28vh}}.odometer{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(6rem,12vw,12rem);font-weight:800;line-height:1;display:flex}.odometer__digit{height:1em;display:block;overflow:clip}.odometer__digit i{height:1em;font-style:normal;display:block}.odometer__col{flex-direction:column;display:flex}.odometer__digit:nth-last-child(-n+2){color:#0000;-webkit-text-stroke:1.5px var(--accent-2)}.journey__rail{background:var(--line);align-self:stretch;width:2px;min-height:12rem}.journey__rail i{background:linear-gradient(180deg, var(--accent-2), var(--accent));transform-origin:top;width:100%;height:100%;display:block;transform:scaleY(0)}.journey__list{gap:clamp(3rem,8vw,7rem);list-style:none;display:grid}.role{border-top:1px solid var(--line-2);padding-top:2rem}.role__when{font-family:var(--font-mono);color:var(--accent-2);font-size:.875rem}.role__title{letter-spacing:-.035em;margin-top:.8rem;font-size:clamp(1.8rem,3.3vw,3rem);font-weight:800;line-height:1.02}.role__at{letter-spacing:-.01em;color:var(--muted);margin-top:.4rem;font-size:.55em;font-weight:500;display:block}.role__product{color:var(--muted);max-width:52ch;margin-top:1.2rem}.role__product .serif{color:var(--text);font-size:1.15em}.role__bullets{max-width:60ch;color:var(--muted);gap:.9rem;margin-top:1.4rem;padding-left:1.2rem;list-style:outside;display:grid}.role__bullets li::marker{color:var(--accent)}.role__bullets a{color:var(--text);border-bottom:1px solid var(--accent)}.chips{flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;list-style:none;display:flex}.chips li{border:1px solid var(--line-2);color:var(--text);background:#ffffff05;border-radius:999px;padding:.4rem .85rem;font-size:.875rem}.stack{z-index:1;background:var(--bg);padding-block:clamp(3.5rem,6vw,5rem);position:relative}.stack__note{max-width:46ch;color:var(--muted);margin-top:1.25rem}.stack__steps{max-width:var(--maxw);padding-inline:var(--pad);gap:1.25rem;margin:3rem auto 0;list-style:none;display:grid}@media (min-width:900px){.stack__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.step{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14141cc7;border-radius:22px;padding:1.75rem}.step__num{font-family:var(--font-mono);color:var(--accent-2);font-size:.8125rem}.step__title{letter-spacing:-.03em;margin-top:.5rem;font-size:clamp(1.5rem,2.4vw,2.2rem);font-weight:800}.step ul{color:var(--muted);gap:.75rem;margin-top:1rem;padding-left:1.1rem;font-size:1rem;list-style:outside;display:grid}.step li::marker{color:var(--accent)}.step strong{color:var(--text);font-weight:600}.stack__progress{display:none}.fx-pin .stack{background:0 0;padding:0}.fx-pin .stack__pin{height:100vh;position:relative;overflow:clip}.fx-pin .stack__pin:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0a0a0ff0 0%,#0a0a0fc7 30%,#0a0a0f00 52%);position:absolute;inset:0}.fx-pin .stack__head{z-index:2;top:calc(var(--header-h) + 1.25rem);width:min(36rem,42vw);max-width:none;padding:0 0 0 var(--pad);margin:0;position:absolute;left:0}.fx-pin .stack__head .title{max-width:16ch;font-size:clamp(2rem,min(3.6vw,6.4vh),4rem)}.fx-pin .stack__head .title .serif{display:block}.fx-pin .stack__steps{z-index:2;left:var(--pad);width:min(34rem,40vw);margin:0;padding:0;display:block;position:absolute;bottom:3.5rem;right:auto}@media (max-height:780px){.fx-pin .stack__note{display:none}.fx-pin .step{padding:1.25rem 1.4rem}.fx-pin .step ul{gap:.5rem;font-size:.9375rem}}.fx-pin .step{opacity:0;visibility:hidden;position:absolute;inset:auto 0 0}.fx-pin .step.is-active{visibility:visible}.fx-pin .stack__progress{z-index:2;left:var(--pad);right:var(--pad);background:var(--line);height:2px;display:block;position:absolute;bottom:2rem}.fx-pin .stack__progress i{background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.skills__grid{gap:1rem;margin-top:clamp(3rem,6vw,5rem);display:grid}@media (min-width:700px){.skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.skills__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill-card{border:1px solid var(--line);background:radial-gradient(400px circle at var(--mx,-200px) var(--my,-200px), #4d8dff29, transparent 40%), var(--card);border-radius:22px;padding:1.75rem;transition:border-color .3s;position:relative;overflow:hidden}.skill-card:hover{border-color:var(--line-2)}.skill-card dt{letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.skill-card dd{color:var(--muted);margin-top:.75rem;line-height:1.7}.skill-card--feature{background:radial-gradient(400px circle at var(--mx,-200px) var(--my,-200px), #4d8dff33, transparent 40%), linear-gradient(110deg, #4d8dff29, transparent 55%), var(--card);border-color:#7ce7ff52;grid-column:1/-1}.skill-card--feature:hover{border-color:#7ce7ff99}.skill-card--feature dt{font-size:clamp(1.6rem,2.4vw,2.1rem)}.skill-card--feature dd{max-width:72ch;color:var(--text);font-size:1.0625rem}.edu{gap:1rem;display:grid}@media (min-width:900px){.edu{grid-template-columns:repeat(2,minmax(0,1fr))}}.edu__item{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:2rem}.edu__when{font-family:var(--font-mono);color:var(--accent-2);font-size:.8125rem}.edu__title{letter-spacing:-.03em;margin-top:.75rem;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:800;line-height:1.1}.edu__meta{color:var(--muted);margin-top:.75rem}.contact{z-index:1;background:var(--bg);padding-block:clamp(3.5rem,6vw,5rem);position:relative}.contact__grid{border:1px solid var(--line-2);background:radial-gradient(80% 120% at 0% 0%, #4d8dff59, transparent 55%), radial-gradient(60% 80% at 100% 100%, #7ce7ff2e, transparent 60%), var(--bg-2);border-radius:36px;gap:3rem;padding-block:clamp(2.5rem,5vw,4.5rem);display:grid}@media (min-width:1024px){.contact__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:4rem}}.contact__title{letter-spacing:-.045em;font-kerning:none;max-width:12ch;font-size:clamp(2.8rem,6.4vw,6.4rem);font-weight:800;line-height:.92}.contact__lead{color:var(--muted);max-width:44ch;margin-top:1.5rem;font-size:1.125rem}.contact__list{gap:1.1rem;margin-top:2.5rem;display:grid}.contact__list div{border-bottom:1px solid var(--line);grid-template-columns:6.5rem 1fr;align-items:baseline;gap:1rem;padding-bottom:1.1rem;display:grid}.contact__list dt{font-family:var(--font-mono);color:var(--muted);font-size:.8125rem}.contact__list dd{overflow-wrap:anywhere;font-weight:600}.contact__list dd a{border-bottom:1px solid var(--line-2);transition:border-color .2s,color .2s}.contact__list dd a:hover{color:var(--accent-2);border-color:var(--accent-2)}.contact__time{font-family:var(--font-mono);color:var(--muted);margin-top:.25rem;font-size:.8125rem;font-weight:400;display:block}.copy{border:1px solid var(--line-2);font-family:var(--font-mono);color:var(--muted);border-radius:999px;margin-left:.5rem;padding:.15rem .6rem;font-size:.75rem}.copy:hover{color:var(--text);border-color:var(--text)}.form{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0fb8;border-radius:28px;align-self:start;gap:1.2rem;padding:clamp(1.5rem,3vw,2.5rem);display:grid;position:relative}.form__title{letter-spacing:-.03em;font-size:1.6rem;font-weight:800}.form__honey{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form__reasons{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.form__reasons legend{width:100%;font-family:var(--font-mono);color:var(--muted);margin-bottom:.6rem;font-size:.8125rem}.form__reasons label{position:relative}.form__reasons input{opacity:0;position:absolute;inset:0}.form__reasons span{border:1px solid var(--line-2);border-radius:999px;align-items:center;min-height:2.5rem;padding:0 1rem;font-size:.9375rem;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.form__reasons input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.form__reasons input:focus-visible+span{outline:2px solid var(--accent-2);outline-offset:3px}.form__row{gap:1.2rem;display:grid}@media (min-width:640px){.form__row{grid-template-columns:1fr 1fr}}.field{gap:.45rem;display:grid}.field label{font-family:var(--font-mono);color:var(--muted);font-size:.8125rem}.field input,.field textarea{border:1px solid var(--line-2);width:100%;color:var(--text);font:inherit;background:#ffffff0a;border-radius:14px;padding:.9rem 1rem;font-size:1rem;transition:border-color .2s,background-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:8rem}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field textarea:focus{border-color:var(--accent-2);background:#ffffff0f;outline:none;box-shadow:0 0 0 3px #7ce7ff2e}.field [aria-invalid=true]{border-color:var(--error)}.field__error{color:var(--error);font-size:.875rem}.field__error:empty{display:none}.form__actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form__status{color:var(--muted);font-size:.9375rem}.form__status.is-ok{color:var(--ok)}.form__status.is-error{color:var(--error)}.form__fine{font-family:var(--font-mono);color:var(--faint);font-size:.75rem}.form [data-submit][aria-busy=true]{opacity:.7;pointer-events:none}.footer{z-index:1;background:var(--bg);padding-top:4rem;position:relative;overflow:clip}.manifest{border:1px solid var(--line);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}@media (min-width:900px){.manifest{grid-template-columns:repeat(4,minmax(0,1fr))}}.manifest div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0;padding:1rem 1.25rem}.manifest dt{font-family:var(--font-mono);color:var(--faint);font-size:.75rem}.manifest dd{align-items:center;gap:.5rem;margin-top:.3rem;font-size:.9375rem;display:flex}.footer__links{flex-wrap:wrap;gap:1.5rem;margin-top:2rem;font-weight:600;display:flex}.footer__links a{border-bottom:1px solid var(--line-2)}.footer__links a:hover{border-color:var(--accent-2);color:var(--accent-2)}.footer__top{margin-left:auto}.wordmark{text-align:center;white-space:nowrap;text-transform:uppercase;letter-spacing:-.055em;color:#0000;background:linear-gradient(#f5f6f8e6,#f5f6f80a 85%);-webkit-background-clip:text;background-clip:text;margin-top:3rem;font-size:14.2vw;font-weight:900;line-height:.78}.footer__fine{font-family:var(--font-mono);color:var(--faint);padding-block:1.5rem 2rem;font-size:.75rem}.c-fashion{--c:#ff7aa8;--c2:#b18cff}.c-golf{--c:#62d98c;--c2:#c9f36b}.c-carbon{--c:#41d6c6;--c2:#7ce7ff}.c-adtech{--c:#a796ff;--c2:#4d8dff}.c-ev{--c:#cdf06a;--c2:#7ce7ff}.c-fuel{--c:#ffb457;--c2:#ff7a59}.split-head{gap:1.5rem;display:grid}@media (min-width:1024px){.split-head{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:4rem}}.split-head__lead{max-width:42ch;color:var(--muted)}.industries .title .serif{white-space:nowrap}.project-grid{grid-template-columns:minmax(0,1fr);gap:clamp(3rem,7vw,4.5rem) clamp(1.25rem,2.2vw,2rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:900px) and (max-width:1099.98px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:5rem}.project-grid>:nth-child(2n){top:5rem}}@media (min-width:1100px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:4rem}.project-grid>:nth-child(3n+2){top:4rem}}.project{align-content:start;gap:1.5rem;display:grid;position:relative;container-type:inline-size}.scene{aspect-ratio:16/11;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;border-radius:clamp(20px,2.4cqw + 8px,30px);position:relative}.scene__bg{border-radius:inherit;border:1px solid var(--line-2);background:radial-gradient(90% 80% at 18% 8%, var(--c), transparent 62%), radial-gradient(70% 70% at 100% 100%, var(--c2), transparent 62%), linear-gradient(160deg, #12131c, #0b0c12);position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.scene__bg{background:radial-gradient(90% 80% at 18% 8%, color-mix(in srgb, var(--c) 30%, transparent), transparent 62%), radial-gradient(70% 70% at 100% 100%, color-mix(in srgb, var(--c2) 18%, transparent), transparent 62%), linear-gradient(160deg, #12131c, #0b0c12)}}.scene__bg{transition:border-color .4s}.scene__bg:before{content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:5cqw 5cqw;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 20%,#0000 72%);mask-image:radial-gradient(circle at 50% 45%,#000 20%,#0000 72%)}.scene__bg:after{content:"";z-index:3;pointer-events:none;opacity:0;background:radial-gradient(45cqw circle at var(--mx,50%) var(--my,30%), #ffffff17, transparent 65%);transition:opacity .4s;position:absolute;inset:0}.project:hover .scene__bg{border-color:var(--c)}@supports (color:color-mix(in lab, red, red)){.project:hover .scene__bg{border-color:color-mix(in srgb, var(--c) 55%, transparent)}}.has-cursor .project:hover .scene__bg:after{opacity:1}.scene__word{font-family:var(--font-serif);letter-spacing:-.02em;white-space:nowrap;pointer-events:none;color:var(--c);font-size:30cqw;font-style:italic;line-height:1;position:absolute;bottom:-6cqw;left:3cqw}@supports (color:color-mix(in lab, red, red)){.scene__word{color:color-mix(in srgb, var(--c) 14%, transparent)}}.scene__pill{z-index:5;font-family:var(--font-mono);color:var(--text);border:1px solid var(--line-2);background:#0a0a0fb8;border-radius:999px;padding:.4em .85em;font-size:clamp(.7rem,1.7cqw,.8125rem);position:absolute;top:3.5cqw;left:3.5cqw;transform:translateZ(24px)}.v-chip{z-index:4;white-space:nowrap;letter-spacing:-.01em;color:#0b0c12;background:#f6f7f9;border-radius:.9em;align-items:center;gap:.6em;padding:.55em .95em .55em .55em;font-size:clamp(.66rem,1.9cqw,.9rem);font-weight:650;line-height:1.15;display:inline-flex;position:absolute;transform:translateZ(48px);box-shadow:0 1.4em 2.6em -1.2em #000000bf}.v-chip small{font-family:var(--font-mono);color:#5a6070;margin-top:.15em;font-size:.78em;font-weight:400;display:block}.v-chip svg{flex:none;width:1.2em;height:1.2em}.v-chip__ico{width:2.2em;height:2.2em;color:var(--c);background:#0b0c12;border-radius:.65em;flex:none;place-items:center;display:grid}.v-chip--c{background:var(--c);padding:.6em .95em}.v-chip:nth-child(odd){--bob-delay:-3s}.is-live .v-chip{animation:v-bob 6s ease-in-out var(--bob-delay,0s) infinite}@keyframes v-bob{50%{translate:0 -1.1cqw}}.v-green{aspect-ratio:1;width:46cqw;position:absolute;top:46%;left:70%;translate:-50% -50%}.v-green i{border:1px solid var(--c);border-radius:50%;margin:auto;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.v-green i{border:1px solid color-mix(in srgb, var(--c) 60%, transparent)}}.v-green i:first-child{background:var(--c);width:34%;height:34%}@supports (color:color-mix(in lab, red, red)){.v-green i:first-child{background:color-mix(in srgb, var(--c) 20%, transparent)}}.v-green i:nth-child(2){opacity:.6;width:66%;height:66%}.v-green i:nth-child(3){opacity:.3;width:98%;height:98%}.v-green:after{content:"";aspect-ratio:1;border:2px solid var(--c);opacity:0;border-radius:50%;width:6cqw;position:absolute;top:50%;left:50%;translate:-50% -50%}.is-live .v-green:after{animation:4.8s ease-out infinite v-ripple}@keyframes v-ripple{0%,71%{opacity:0;scale:.4}73%{opacity:.9}to{opacity:0;scale:4}}.v-flag{background:#f6f7f9;border-radius:1cqw;width:.4cqw;height:12cqw;position:absolute;bottom:50%;left:50%}.v-flag:before{content:"";background:var(--c);clip-path:polygon(0 0,100% 50%,0 100%);width:6cqw;height:4cqw;position:absolute;top:0;left:100%}.v-flag:after{content:"";background:#05060a;border-radius:50%;width:3cqw;height:1.6cqw;position:absolute;bottom:-.8cqw;left:50%;translate:-50%}.v-flight{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.v-flight path{fill:none;stroke:var(--c)}@supports (color:color-mix(in lab, red, red)){.v-flight path{stroke:color-mix(in srgb, var(--c) 70%, transparent)}}.v-flight path{stroke-width:.35px;stroke-dasharray:1.2 1.4}.v-ball{position:absolute;top:80%;left:10%}.v-ball i{background:#fff;border-radius:50%;width:2.2cqw;height:2.2cqw;margin:-1.1cqw;position:absolute;box-shadow:0 0 2cqw #ffffffb3}.is-live .v-ball{animation:4.8s linear infinite v-ball-x}.is-live .v-ball i{animation:4.8s infinite v-ball-y}@keyframes v-ball-x{0%,10%{opacity:0;translate:0}14%{opacity:1}72%{translate:60cqw}92%{opacity:1}to{opacity:0;translate:60cqw}}@keyframes v-ball-y{0%,10%{animation-timing-function:cubic-bezier(.33,.66,.5,1);translate:0}44%{animation-timing-function:cubic-bezier(.5,0,.67,.33);translate:0 -38cqw}72%{animation-timing-function:ease-out;translate:0 -23.4cqw}77%{animation-timing-function:ease-in;translate:0 -25cqw}82%,to{translate:0 -23.4cqw}}.v-golf__coach{top:23%;left:4cqw}.v-golf__app{bottom:7%;right:4cqw}.v-golf__note{top:8%;right:5cqw}.is-live .v-golf__note{animation:v-note 4.8s var(--ease-out) infinite}@keyframes v-note{0%,72%{opacity:0;translate:0 1.4cqw}78%,94%{opacity:1;translate:0}to{opacity:0}}.v-globe{aspect-ratio:1;perspective:80cqw;border:1px solid var(--c);border-radius:50%;width:32cqw;position:absolute;top:44%;left:27%;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.v-globe{border:1px solid color-mix(in srgb, var(--c) 70%, transparent)}}.v-globe{background:radial-gradient(circle at 34% 30%, var(--c), transparent 70%)}@supports (color:color-mix(in lab, red, red)){.v-globe{background:radial-gradient(circle at 34% 30%, color-mix(in srgb, var(--c) 28%, transparent), transparent 70%)}}.v-globe{box-shadow:inset 0 0 6cqw var(--c), 0 0 10cqw -3cqw var(--c)}@supports (color:color-mix(in lab, red, red)){.v-globe{box-shadow:inset 0 0 6cqw color-mix(in srgb, var(--c) 28%, transparent), 0 0 10cqw -3cqw color-mix(in srgb, var(--c) 50%, transparent)}}.v-globe i{border:1px solid var(--c);border-radius:50%;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.v-globe i{border:1px solid color-mix(in srgb, var(--c) 50%, transparent)}}.v-globe i{transform:rotateY(var(--r))}.v-globe i:first-child{--r:20deg}.v-globe i:nth-child(2){--r:80deg}.v-globe i:nth-child(3){--r:140deg}.v-globe b{border-top:1px solid var(--c);position:absolute;top:50%;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.v-globe b{border-top:1px solid color-mix(in srgb, var(--c) 45%, transparent)}}.is-live .v-globe i{animation:9s linear infinite v-meridian}@keyframes v-meridian{0%{transform:rotateY(var(--r))}to{transform:rotateY(calc(var(--r) + 180deg))}}.v-cert{color:#0b0c12;background:#f6faf9;border-radius:2.2cqw;gap:1.3cqw;width:40cqw;padding:2.4cqw;display:grid;position:absolute;top:15%;right:6cqw;rotate:3deg;box-shadow:0 5cqw 9cqw -3cqw #000000b3}.v-cert__head{align-items:center;gap:1.4cqw;display:flex}.v-cert__head p{letter-spacing:-.02em;font-size:2.3cqw;font-weight:750;line-height:1.1}.v-cert__head small{font-family:var(--font-mono);color:#5a6070;margin-top:.4cqw;font-size:1.5cqw;font-weight:400;display:block}.v-cert__seal{color:#0c5a51;background:var(--c);border-radius:50%;flex:none;place-items:center;width:6.4cqw;height:6.4cqw;display:grid}@supports (color:color-mix(in lab, red, red)){.v-cert__seal{background:color-mix(in srgb, var(--c) 28%, #fff)}}.v-cert__seal{outline-offset:.5cqw;outline:1px dashed #0c5a51}.v-cert__seal svg{width:55%;height:55%}.v-cert>b{background:#dde8e5;border-radius:1cqw;height:1cqw;display:block}.v-cert>b:nth-of-type(2){width:72%}.v-cert>b:nth-of-type(3){width:84%}.v-cert__stamp{color:#0b0c12;background:var(--c);border-radius:99px;justify-self:start;align-items:center;gap:.8cqw;padding:.7cqw 1.4cqw;font-size:1.8cqw;font-weight:700;display:inline-flex}.v-cert__stamp svg{stroke-width:3px;width:2cqw;height:2cqw}.is-live .v-cert__stamp{animation:v-stamp 6s var(--ease-out) infinite}@keyframes v-stamp{0%,60%{opacity:0;scale:1.6}68%,96%{opacity:1;scale:1}to{opacity:0}}.v-steps{z-index:4;justify-content:space-between;gap:1cqw;list-style:none;display:flex;position:absolute;bottom:5cqw;left:4cqw;right:4cqw;transform:translateZ(40px)}.v-steps li{white-space:nowrap;color:var(--text);border:1px solid var(--line-2);background:#0a0a0fc7;border-radius:999px;align-items:center;gap:.5em;padding:.5em .85em;font-size:clamp(.62rem,1.7cqw,.82rem);font-weight:600;display:inline-flex}.v-steps li:before{content:"";background:currentColor;border-radius:50%;width:.55em;height:.55em}.v-steps li:last-child{color:#0b0c12;background:var(--c);border-color:var(--c)}.is-live .v-steps li:last-child{color:var(--text);border-color:var(--line-2);background:#0a0a0fc7}.is-live .v-steps li{animation:6s infinite v-step}.is-live .v-steps li:nth-child(2){animation-delay:2s}.is-live .v-steps li:nth-child(3){animation-delay:4s}@keyframes v-step{0%,30%{color:#0b0c12;background:var(--c);border-color:var(--c)}36%,to{color:var(--text);border-color:var(--line-2);background:#0a0a0fc7}}@container (max-width:480px){.v-steps{left:3cqw;right:3cqw}.v-steps li{padding:.45em .6em;font-size:.56rem}}.v-browser{background:#f5f4ff;border-radius:1.8cqw;width:60cqw;position:absolute;top:17%;left:7%;overflow:hidden;rotate:-2.5deg;box-shadow:0 5cqw 9cqw -3cqw #000000b3}.v-browser__top{background:#e3e0fb;align-items:center;gap:.9cqw;padding:1.1cqw 1.5cqw 0;display:flex}.v-browser__top i{background:#b7b0e8;border-radius:50%;width:1.3cqw;height:1.3cqw}.v-browser__top span{color:#2a2552;background:#f5f4ff;border-radius:1.1cqw 1.1cqw 0 0;margin-left:1.4cqw;padding:.7cqw 2cqw;font-size:1.6cqw;font-weight:650}.v-browser__body{gap:2cqw;padding:2.6cqw 3cqw 3cqw;display:grid}.v-browser__search{color:#8b84c6;background:#fff;border:1px solid #dcd7f6;border-radius:3cqw;align-items:center;height:4cqw;padding-inline:1.4cqw;display:flex}.v-browser__search svg{width:2cqw;height:2cqw}.v-browser__tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5cqw;display:grid}.v-browser__tiles span{aspect-ratio:16/10;background:linear-gradient(135deg, var(--c), var(--c2));border-radius:1.3cqw}@supports (color:color-mix(in lab, red, red)){.v-browser__tiles span{background:linear-gradient(135deg, color-mix(in srgb, var(--c) 34%, #fff), color-mix(in srgb, var(--c2) 22%, #fff))}}.v-browser__tiles .is-ad{font-family:var(--font-mono);color:var(--c);background:#14122b;place-items:center;font-size:1.8cqw;font-weight:600;display:grid;position:relative;overflow:hidden}.v-browser__tiles .is-ad:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff38 50%,#0000 70%);position:absolute;inset:0;translate:-100%}.is-live .v-browser__tiles .is-ad:after{animation:3.6s ease-in-out infinite v-shine}@keyframes v-shine{0%{translate:-100%}45%,to{translate:100%}}.v-dash{z-index:4;width:33cqw;color:var(--text);border:1px solid var(--c);background:#0e0e1eeb;border-radius:2cqw;padding:2cqw 2.2cqw;position:absolute;bottom:7%;right:5cqw}@supports (color:color-mix(in lab, red, red)){.v-dash{border:1px solid color-mix(in srgb, var(--c) 45%, transparent)}}.v-dash{transform:translateZ(56px);box-shadow:0 5cqw 9cqw -3cqw #000c}.v-dash__title{font-size:clamp(.62rem,1.7cqw,.85rem);font-weight:650}.v-dash__bars{align-items:flex-end;gap:.9cqw;height:11cqw;margin-top:1.4cqw;display:flex}.v-dash__bars i{transform-origin:bottom;height:100%;scale:1 var(--h);background:linear-gradient(180deg, var(--c), var(--c));border-radius:.6cqw .6cqw .2cqw .2cqw;flex:1}@supports (color:color-mix(in lab, red, red)){.v-dash__bars i{background:linear-gradient(180deg, var(--c), color-mix(in srgb, var(--c) 25%, transparent))}}.v-dash__bars i:first-child{--h:.38;--to:.62}.v-dash__bars i:nth-child(2){--h:.55;--to:.4}.v-dash__bars i:nth-child(3){--h:.46;--to:.74}.v-dash__bars i:nth-child(4){--h:.7;--to:.5}.v-dash__bars i:nth-child(5){--h:.62;--to:.88}.v-dash__bars i:nth-child(6){--h:.84;--to:.6}.v-dash__bars i:nth-child(7){--h:.78;--to:.96}.v-dash__bars i:nth-child(8){--h:1;--to:.72}.is-live .v-dash__bars i{animation:2.6s ease-in-out infinite alternate v-bar}.is-live .v-dash__bars i:nth-child(odd){animation-delay:-1.3s}@keyframes v-bar{to{scale:1 var(--to)}}.v-dash__legend{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:.4em 1em;margin-top:1.2cqw;font-size:clamp(.55rem,1.35cqw,.72rem);display:flex}.v-dash__legend span{align-items:center;gap:.4em;display:inline-flex}.v-dash__legend span:before{content:"";background:var(--c);border-radius:50%;width:.6em;height:.6em}.v-dash__legend span:nth-child(2):before{background:var(--c2)}.v-dash__legend span:nth-child(3):before{background:#f6f7f9}.v-cycle{aspect-ratio:1;border:1px dashed var(--c);border-radius:50%;width:40cqw;position:absolute;top:53%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.v-cycle{border:1px dashed color-mix(in srgb, var(--c) 60%, transparent)}}.v-cycle:before{content:"";border:1px solid var(--c);border-radius:50%;position:absolute;inset:14%}@supports (color:color-mix(in lab, red, red)){.v-cycle:before{border:1px solid color-mix(in srgb, var(--c) 22%, transparent)}}.v-cycle:before{background:radial-gradient(circle, var(--c), transparent 70%)}@supports (color:color-mix(in lab, red, red)){.v-cycle:before{background:radial-gradient(circle, color-mix(in srgb, var(--c) 16%, transparent), transparent 70%)}}.v-cycle__orbit{border-radius:50%;position:absolute;inset:0}.v-cycle__orbit:after{content:"";aspect-ratio:1;background:var(--c);width:2.4cqw;box-shadow:0 0 2.4cqw var(--c);border-radius:50%;position:absolute;top:0;left:50%;translate:-50% -50%}.is-live .v-cycle__orbit{animation:10s linear infinite v-orbit}@keyframes v-orbit{to{rotate:360deg}}.v-battery{border:.45cqw solid #f6f7f9;border-radius:1.6cqw;place-items:center;width:15cqw;height:7.4cqw;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.v-battery:after{content:"";background:#f6f7f9;border-radius:0 .5cqw .5cqw 0;width:1cqw;height:40%;margin-left:.45cqw;position:absolute;top:30%;left:100%}.v-battery i{transform-origin:0;background:linear-gradient(90deg, var(--c2), var(--c));border-radius:.8cqw;position:absolute;inset:.8cqw}.v-battery svg{stroke:#0b0c12;fill:#0b0c12;stroke-width:1.5px;width:3.6cqw;height:3.6cqw;position:relative}.is-live .v-battery i{animation:5s ease-in-out infinite v-charge}@keyframes v-charge{0%{scale:.15 1}80%,to{scale:1}}.v-role{--a:calc(var(--i) * 72deg - 90deg);z-index:4;left:calc(50% + cos(var(--a)) * 27cqw);top:calc(53% + sin(var(--a)) * 27cqw);white-space:nowrap;color:var(--text);border:1px solid var(--line-2);background:#0a0a0fcc;border-radius:999px;padding:.45em .85em;font-size:clamp(.62rem,1.7cqw,.82rem);font-weight:600;position:absolute;transform:translateZ(36px)}.is-live .v-role{animation:10s infinite v-role;animation-delay:calc(var(--i) * 2s - .2s)}@keyframes v-role{0%,13%{color:#0b0c12;background:var(--c);border-color:var(--c)}21%,to{color:var(--text);border-color:var(--line-2);background:#0a0a0fcc}}.v-pump{background:linear-gradient(#fff6ea,#f2dcc1);border-radius:3cqw 3cqw 0 0;align-content:start;gap:1.6cqw;width:21cqw;height:54cqw;padding:2.4cqw 2cqw;display:grid;position:absolute;bottom:-2%;left:8%;box-shadow:0 5cqw 9cqw -3cqw #000000b3}.v-pump:after{content:"";border:.9cqw solid #0b0c12;border-left:0;border-radius:0 4cqw 4cqw 0;width:5cqw;height:22cqw;position:absolute;top:36%;left:100%}.v-pump__screen{background:#0b0c12;border-radius:1.4cqw;align-content:center;gap:.9cqw;height:12cqw;padding:1.6cqw;display:grid}.v-pump__screen i{transform-origin:0;background:var(--c);border-radius:1cqw;height:1.4cqw}.v-pump__screen i:nth-child(2){background:var(--c2);width:70%}.v-pump__screen i:nth-child(3){opacity:.6;width:45%}.is-live .v-pump__screen i{animation:2.4s ease-in-out infinite alternate v-meter}.is-live .v-pump__screen i:nth-child(2){animation-delay:-.8s}@keyframes v-meter{0%{scale:.35 1}}.v-pump__keys{grid-template-columns:repeat(3,minmax(0,1fr));gap:1cqw;display:grid}.v-pump__keys i{aspect-ratio:1;background:#e3cba8;border-radius:.8cqw}.v-wire{border-top:.35cqw dashed var(--c);width:22%;position:absolute;top:38%;left:31%}@supports (color:color-mix(in lab, red, red)){.v-wire{border-top:.35cqw dashed color-mix(in srgb, var(--c) 55%, transparent)}}.v-wire i{top:-.17cqw;left:var(--x);aspect-ratio:1;background:var(--c);width:1.8cqw;box-shadow:0 0 1.6cqw var(--c);border-radius:50%;position:absolute;translate:-50% -50%}.v-wire i:first-child{--x:15%}.v-wire i:nth-child(2){--x:50%;animation-delay:-.7s}.v-wire i:nth-child(3){--x:85%;animation-delay:-1.4s}.is-live .v-wire i{animation-name:v-packet;animation-duration:2.1s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes v-packet{0%{opacity:0;left:0}12%,88%{opacity:1}to{opacity:0;left:100%}}.v-log{color:#0b0c12;background:#faf7f2;border-radius:2.2cqw;flex-direction:column;width:41cqw;height:46cqw;padding:2.2cqw;display:flex;position:absolute;top:14%;right:5cqw;box-shadow:0 5cqw 9cqw -3cqw #000000b3}.v-log__head{justify-content:space-between;align-items:center;font-size:2cqw;font-weight:750;display:flex}.v-log__head i{background:#2fbf71;border-radius:50%;width:1.4cqw;height:1.4cqw;box-shadow:0 0 0 .6cqw #2fbf7133}.v-log__win{flex:1;margin-top:1.6cqw;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.v-log__rows p{background:#fff;border:1px solid #efe6d8;border-radius:1.2cqw;align-items:center;gap:1.2cqw;margin-bottom:1.1cqw;padding:1.1cqw 1.2cqw;display:flex}.v-log__rows p:before{content:"";background:var(--c);border-radius:50%;flex:none;width:2.6cqw;height:2.6cqw}@supports (color:color-mix(in lab, red, red)){.v-log__rows p:before{background:color-mix(in srgb, var(--c) 45%, #fff)}}.v-log__rows b{background:#e8dfd1;border-radius:1cqw;flex:1;height:1.1cqw}.v-log__rows em{background:var(--c);border-radius:1cqw;width:7cqw;height:1.1cqw}.is-live .v-log__rows{animation:8s linear infinite v-log}@keyframes v-log{to{translate:0 -50%}}.v-fuel__mqtt{top:26%;left:34%}.v-fuel__pdf{bottom:6%;right:7cqw}.project__body{gap:.9rem;padding-inline:.25rem;display:grid}.project__head{justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.project__meta{font-family:var(--font-mono);color:var(--c);font-size:.8125rem}.project__title{letter-spacing:-.04em;margin-top:.4rem;font-size:clamp(1.9rem,2.6vw,2.6rem);font-weight:800;line-height:.95;transition:color .3s}.project__desc{font-family:var(--font-serif);font-size:1.25rem;font-style:italic;line-height:1.3}.project__bullets{color:var(--muted);gap:.5rem;padding-left:1.1rem;font-size:.9375rem;list-style:outside;display:grid}.project__bullets li::marker{color:var(--c)}.project__tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:.45rem;padding-top:1.1rem;list-style:none;display:flex}.project__tags li{border:1px solid var(--line-2);background:#ffffff05;border-radius:999px;padding:.3rem .75rem;font-size:.8125rem}.project__go{border:1px solid var(--line-2);border-radius:999px;flex:none;place-items:center;width:3.1rem;height:3.1rem;transition:background-color .3s,border-color .3s,color .3s;display:grid}.project__go svg{width:1.1rem;height:1.1rem;transition:transform .35s var(--ease-out)}.project--link .project__go:after{content:"";z-index:8;position:absolute;inset:0}.project--link:hover .project__go{color:#0b0c12;background:var(--c);border-color:var(--c)}.project--link:hover .project__go svg{transform:translate(2px,-2px)}.project--link:hover .project__title{color:var(--c)}.project--link:has(.project__go:focus-visible){outline:2px solid var(--accent-2);outline-offset:8px;border-radius:30px}.project--link .project__go:focus-visible{outline:none}.project-cta{aspect-ratio:16/11;text-align:center;border:1px dashed var(--line-2);background:radial-gradient(80% 80% at 50% 0,#4d8dff1f,#0000 70%);border-radius:clamp(20px,2.4vw,30px);place-content:center;align-self:start;justify-items:center;gap:1.25rem;padding:2rem;display:grid;position:relative}.project-cta p{font-family:var(--font-serif);max-width:14ch;font-size:clamp(1.6rem,2.4vw,2.2rem);font-style:italic;line-height:1.1}.ind-index{flex-wrap:wrap;gap:.5rem;margin-top:clamp(2rem,4vw,3rem);list-style:none;display:flex}.ind-index a{border:1px solid var(--line-2);background:#ffffff05;border-radius:999px;align-items:center;gap:.55rem;min-height:2.5rem;padding:0 1rem;font-size:.9375rem;transition:border-color .25s,background-color .25s;display:inline-flex}.ind-index a:before{content:"";background:var(--c);width:8px;height:8px;box-shadow:0 0 10px var(--c);border-radius:50%}.ind-index a:hover{border-color:var(--c);background:var(--c)}@supports (color:color-mix(in lab, red, red)){.ind-index a:hover{background:color-mix(in srgb, var(--c) 10%, transparent)}}.patterns__list{border-top:1px solid var(--line-2);margin-top:clamp(2.5rem,5vw,4rem);list-style:none}.pattern{border-bottom:1px solid var(--line);gap:.75rem;padding-block:clamp(1.4rem,2.5vw,2rem);display:grid}@media (min-width:1024px){.pattern{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,5fr);align-items:baseline;gap:2.5rem}}.pattern__title{letter-spacing:-.03em;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:800;line-height:1.1}.pattern__note{color:var(--muted)}.pattern__where{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.pattern__where li{border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:.45rem;padding:.28rem .7rem;font-size:.8125rem;display:inline-flex}.pattern__where li:before{content:"";background:var(--c);border-radius:50%;width:7px;height:7px}.motion-toggle{z-index:120;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:2.75rem;height:2.75rem;font-family:var(--font-mono);color:var(--muted);background:#0a0a0fbf;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 .85rem;font-size:.75rem;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.motion-toggle span{display:none}.motion-toggle:hover,.motion-toggle:focus-visible{color:var(--text);border-color:var(--text)}.motion-toggle:hover span,.motion-toggle:focus-visible span{display:inline}.motion-toggle svg{flex:none;width:.9rem;height:.9rem}.is-paused .status__dot,.is-paused .scroll-hint i:after{animation-play-state:paused}.is-paused .scene *,.is-paused .scene :before,.is-paused .scene :after{animation-play-state:paused!important}}@layer utilities{.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.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, )}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}@font-face{font-family:Archivo;src:url(../fonts/Archivo-normal.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(../fonts/InstrumentSerif-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(../fonts/InstrumentSerif-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/JetBrainsMono-normal.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--bg:#0a0a0f;--bg-2:#0f0f16;--card:#14141c;--card-2:#1a1a24;--line:#ffffff14;--line-2:#ffffff29;--text:#f5f6f8;--muted:#9aa3b2;--faint:#6b7280;--accent:#4d8dff;--accent-2:#7ce7ff;--on-accent:#05060a;--ok:#3ddc97;--error:#ff8f8f;--ease-out:cubic-bezier(.16, 1, .3, 1);--header-h:72px;--pad:clamp(1.25rem, 4vw, 3.5rem);--maxw:1440px;color-scheme:dark}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}html:not(.has-3d) .hero:after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(circle,#4d8dff47,#0000 62%);width:70vw;max-width:900px;height:70vw;max-height:900px;position:absolute;top:5%;right:-10%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scene *,.scene :before,.scene :after{animation:none!important}}@media print{.loader,.cursor,.stage,.site-header,.menu,.motion-toggle,.marquee,.form{display:none!important}body,.section,.stack,.projects,.contact,.footer{color:#000!important;background:#fff!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}