.tech-text{position:relative;width:100%;height:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}.specular-button{--sb-radius: 18px;--sb-tint: #ffffff;--sb-tint-opacity: .04;--sb-blur: 0px;--sb-text-color: #f5f5f5;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5em;margin:0;border:0;border-radius:var(--sb-radius);font:inherit;font-weight:500;line-height:1;letter-spacing:.01em;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);box-shadow:0 10px 24px -14px #00000073;-webkit-backdrop-filter:blur(var(--sb-blur));backdrop-filter:blur(var(--sb-blur));cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 55%,transparent);outline-offset:3px}.specular-button:disabled{opacity:.5;cursor:default}.specular-button:disabled:active{transform:none}.specular-button--sm{padding:10px 20px;font-size:.875rem}.specular-button--md{padding:14px 28px;font-size:1rem}.specular-button--lg{padding:18px 38px;font-size:1.125rem}.specular-button__light{position:absolute;inset:-24px;z-index:1;display:block;width:calc(100% + 48px);height:calc(100% + 48px);pointer-events:none}.specular-button__label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:inherit}.infinite-menu{position:relative;width:100%;height:100%;overflow:hidden;outline:none;container-type:inline-size;color:var(--infinite-menu-text);-webkit-tap-highlight-color:transparent}.infinite-menu:focus-visible{box-shadow:inset 0 0 0 2px var(--infinite-menu-text)}.infinite-menu__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none}.infinite-menu__canvas:active{cursor:grabbing}.infinite-menu__info,.infinite-menu__custom{position:absolute;inset:0;pointer-events:none}.infinite-menu__title,.infinite-menu__description,.infinite-menu__action{transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}.infinite-menu__title{position:absolute;top:50%;right:calc(50% + var(--infinite-menu-tile, 160px) + 28px);max-width:calc(50% - var(--infinite-menu-tile, 160px) - 48px);margin:0;font-size:clamp(1.2rem,calc((50cqw - var(--infinite-menu-tile, 160px)) * .2),3.4rem);font-weight:600;line-height:1.05;letter-spacing:-.03em;text-align:right;text-shadow:var(--infinite-menu-shadow);transform:translateY(-50%);text-wrap:balance}.infinite-menu__description{position:absolute;top:50%;left:calc(50% + var(--infinite-menu-tile, 160px) + 28px);max-width:min(22ch,calc(50% - var(--infinite-menu-tile, 160px) - 48px));margin:0;font-size:clamp(.85rem,1.5cqw,1.05rem);line-height:1.55;text-shadow:var(--infinite-menu-shadow);opacity:.72;transform:translateY(-50%)}.infinite-menu__action{position:absolute;bottom:7%;left:50%;display:grid;place-items:center;width:52px;height:52px;padding:0;border:none;border-radius:50%;background:var(--infinite-menu-accent);color:var(--infinite-menu-on-accent);cursor:pointer;pointer-events:auto;transform:translate(-50%)}.infinite-menu__action:hover{transform:translate(-50%) scale(1.06)}.infinite-menu__action:focus-visible{outline:2px solid var(--infinite-menu-accent);outline-offset:3px}.infinite-menu__info[data-moving=true] .infinite-menu__title{opacity:0;transform:translate(16px,-50%);transition-duration:.18s}.infinite-menu__info[data-moving=true] .infinite-menu__description{opacity:0;transform:translate(-16px,-50%);transition-duration:.18s}.infinite-menu__info[data-moving=true] .infinite-menu__action{opacity:0;pointer-events:none;transform:translate(-50%,16px) scale(.6);transition-duration:.18s}.infinite-menu__info[data-layout=stacked] .infinite-menu__title{inset:auto 88px 52px 20px;max-width:none;font-size:clamp(1.3rem,6cqw,1.8rem);text-align:left;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__description{inset:auto 88px 22px 20px;max-width:36ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__action{right:20px;bottom:22px;left:auto;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__action:hover{transform:scale(1.06)}.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__title,.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__description{transform:translateY(12px)}.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__action{transform:translateY(12px) scale(.6)}.profile-card{--pc-light-x: 50%;--pc-light-y: 50%;--pc-pointer-x: 50%;--pc-pointer-y: 50%;--pc-band-x: 50%;--pc-band-y: 50%;--pc-reach: 0;--pc-rotate-x: 0deg;--pc-rotate-y: 0deg;--pc-shift-x: 0px;--pc-shift-y: 0px;--pc-tilt: 0;--pc-active: 0;position:relative;width:340px;max-width:100%;perspective:1000px;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.profile-card__body{position:relative;display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:calc(var(--pc-radius) + 10px);background:var(--pc-frame);box-shadow:var(--pc-frame-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);transform:rotateX(var(--pc-rotate-x)) rotateY(var(--pc-rotate-y));will-change:transform}.profile-card__tile{position:relative;aspect-ratio:4 / 5;border-radius:var(--pc-radius);background:var(--pc-backdrop);box-shadow:var(--pc-tile-shadow);overflow:hidden;isolation:isolate}.profile-card__sheen,.profile-card__holo,.profile-card__scrim,.profile-card__tile-rim,.profile-card__glare,.profile-card__shade,.profile-card__rim{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.profile-card__sheen{background:radial-gradient(farthest-corner circle at calc(var(--pc-light-x) - 10px) calc(var(--pc-light-y) - 10px),var(--pc-sheen) 0%,transparent 55%);opacity:calc(var(--pc-holo) * var(--pc-active))}.profile-card__holo{--pc-spectrum: repeating-linear-gradient( 0deg, hsl(2, 100%, 73%) 5%, hsl(53, 100%, 69%) 10%, hsl(93, 100%, 69%) 15%, hsl(176, 100%, 76%) 20%, hsl(228, 100%, 74%) 25%, hsl(260, 100%, 76%) 30%, hsl(2, 100%, 73%) 35% );--pc-bars: repeating-linear-gradient( -45deg, #0e152e 0%, hsl(180, 10%, 60%) 3.8%, hsl(180, 29%, 66%) 4.5%, hsl(180, 10%, 60%) 5.2%, #0e152e 10%, #0e152e 12% );--pc-falloff: radial-gradient( farthest-corner circle at var(--pc-pointer-x) var(--pc-pointer-y), hsla(0, 0%, 0%, .1) 12%, hsla(0, 0%, 0%, .15) 20%, hsla(0, 0%, 0%, .25) 120% );background-image:var(--pc-spectrum),var(--pc-bars),var(--pc-falloff);background-position:0 var(--pc-band-y),var(--pc-band-x) var(--pc-band-y),center;background-size:500% 500%,300% 300%,200% 200%;background-blend-mode:color,hard-light;mix-blend-mode:var(--pc-blend);filter:brightness(calc(.66 + .19 * var(--pc-active))) contrast(calc(1.33 + .17 * var(--pc-active))) saturate(calc(.33 + .17 * var(--pc-active))) var(--pc-holo-filter);opacity:calc(var(--pc-holo) * var(--pc-holo-gain) * (.5 + .5 * var(--pc-active)));-webkit-mask-image:var(--pc-pattern);-webkit-mask-size:var(--pc-pattern-size);-webkit-mask-position:calc(50% - var(--pc-shift-x) * 1.5) calc(65% - var(--pc-shift-y) * 1.5);-webkit-mask-repeat:repeat;mask-image:var(--pc-pattern);mask-size:var(--pc-pattern-size);mask-position:calc(50% - var(--pc-shift-x) * 1.5) calc(65% - var(--pc-shift-y) * 1.5);mask-repeat:repeat}.profile-card__holo-glow,.profile-card__holo-shift{position:absolute;inset:0;opacity:calc(var(--pc-active) * var(--pc-holo-detail))}.profile-card__holo-glow{background-image:linear-gradient(45deg,#85fff7,#7a95ff,#ad85ff,#ff7a75,#ffed61,#a8ff61),radial-gradient(circle at var(--pc-pointer-x) var(--pc-pointer-y),hsl(0,0%,70%) 0%,hsla(0,0%,30%,.2) 90%),var(--pc-grain);background-size:250% 250%,100% 100%,220px 220px;background-position:var(--pc-pointer-x) var(--pc-pointer-y),center,0 0;background-blend-mode:color-dodge;filter:brightness(calc(2 - var(--pc-reach))) contrast(calc(var(--pc-reach) + 2)) saturate(calc(.5 + var(--pc-reach)));mix-blend-mode:luminosity}.profile-card__holo-shift{background-image:var(--pc-spectrum),var(--pc-bars),var(--pc-falloff);background-position:0 var(--pc-band-y),calc(var(--pc-band-x) * .4) calc(var(--pc-band-y) * .5),center;background-size:200% 300%,700% 700%,100% 100%;background-blend-mode:color,hard-light;mix-blend-mode:difference;filter:brightness(.8) contrast(1.5)}.profile-card__photo{position:absolute;inset:calc(var(--pc-parallax) * -1);width:calc(100% + var(--pc-parallax) * 2);height:calc(100% + var(--pc-parallax) * 2);object-fit:cover;object-position:center bottom;transform:translate3d(var(--pc-shift-x),var(--pc-shift-y),0);pointer-events:none;user-select:none;-webkit-user-select:none}.profile-card__scrim{background:linear-gradient(to top,#0009,#00000091,#00000080 12%,#0006,#00000047,#00000029,#00000012 40%,#00000005,#0000 52%)}.profile-card__info{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}.profile-card__name{margin:0;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:inherit}.profile-card__title{margin:4px 0 0;font-size:14px;line-height:1.45;color:#ffffffc7}.profile-card__tile-rim{box-shadow:inset 0 0 0 1px var(--pc-tile-edge),inset 0 1px 0 var(--pc-tile-highlight)}.profile-card__footer{display:flex;align-items:center;gap:12px;min-width:0;padding:6px 20px 8px}.profile-card__avatar{position:relative;flex:none;width:36px;height:36px;border-radius:50%;background:var(--pc-tile);overflow:hidden}.profile-card__avatar:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--pc-tile-edge)}.profile-card__avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.profile-card__meta{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.profile-card__handle{overflow:hidden;font-size:14px;font-weight:600;line-height:1.25;color:var(--pc-ink);white-space:nowrap;text-overflow:ellipsis}.profile-card__status{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.25;color:var(--pc-muted);white-space:nowrap}.profile-card__status:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--pc-status)}.profile-card__contact{display:flex;align-items:center;gap:6px;flex:none;height:36px;padding:0 14px;border:none;border-radius:calc(var(--pc-radius) * .75);background:var(--pc-tile);box-shadow:inset 0 0 0 1px var(--pc-tile-edge),inset 0 1px 0 var(--pc-tile-highlight),var(--pc-tile-shadow);color:var(--pc-ink);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .2s ease}.profile-card__contact:active{filter:var(--pc-press);transform:scale(.96);transition-duration:0s}.profile-card__contact:focus-visible{outline:2px solid var(--pc-ink);outline-offset:2px}.profile-card__glare{background:radial-gradient(farthest-corner circle at var(--pc-light-x) var(--pc-light-y),rgba(255,255,255,.8) 0%,rgba(255,255,255,.36) 20%,rgba(255,255,255,0) 60%);mix-blend-mode:overlay;opacity:calc(var(--pc-glare) * var(--pc-active))}.profile-card__shade{background:radial-gradient(farthest-corner circle at var(--pc-light-x) var(--pc-light-y),transparent 30%,var(--pc-shade) 100%);opacity:calc(var(--pc-glare) * var(--pc-tilt))}.profile-card__rim{box-shadow:inset 0 0 0 1px var(--pc-frame-edge),inset 0 1px 0 var(--pc-frame-highlight)}@media(hover:hover){.profile-card__contact:hover{filter:var(--pc-hover)}.profile-card__contact:hover:active{filter:var(--pc-press)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--tracking-wider:.05em;--radius-2xl:1rem;--radius-3xl:1.5rem;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-1\/2{top:50%}.top-5{top:calc(var(--spacing) * 5)}.right-5{right:calc(var(--spacing) * 5)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.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}}.mx-auto{margin-inline:auto}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-px{height:1px}.max-h-\[85dvh\]{max-height:85dvh}.min-h-dvh{min-height:100dvh}.w-7{width:calc(var(--spacing) * 7)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1500px\]{max-width:1500px}.max-w-\[1600px\]{max-width:1600px}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-\[\#0c1a32\]\/80{background-color:#0c1a32cc}.bg-\[\#0c1a32\]\/95{background-color:#0c1a32f2}.bg-\[\#030b1c\]\/65{background-color:#030b1ca6}.bg-current{background-color:currentColor}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-7{padding:calc(var(--spacing) * 7)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-9{padding-inline:calc(var(--spacing) * 9)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.align-top{vertical-align:top}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-\[\#c5bfdf\]{color:#c5bfdf}.text-foreground{color:hsl(var(--foreground))}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white) 65%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-white\/70:focus-visible{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/70:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#10213b\]:focus-visible{--tw-ring-offset-color:#10213b}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-white:focus-visible{outline-color:var(--color-white)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:p-12{padding:calc(var(--spacing) * 12)}.sm\:px-12{padding-inline:calc(var(--spacing) * 12)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}}@media(min-width:64rem){.lg\:px-16{padding-inline:calc(var(--spacing) * 16)}.lg\:py-8{padding-block:calc(var(--spacing) * 8)}}}@font-face{font-family:Novecento Wide;src:url(/fonts/novecento-wide-bold.otf)format("opentype");font-style:normal;font-weight:700;font-display:swap}:root{--font-display:"Novecento Wide", "Arial", sans-serif;--font-body:"Inter", "Microsoft YaHei", sans-serif;--background:68 35% 82%;--foreground:158 36% 15%;--muted-foreground:157 17% 34%;--primary:158 36% 15%;--primary-foreground:60 40% 94%;--secondary:157 20% 22%;--muted:68 30% 80%;--accent:71 35% 65%;--border:155 17% 60%;--input:155 17% 60%}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#d6ddb7;scroll-padding-top:112px}body{font-family:var(--font-body);color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{color:#f4f4dd;background:#2e5148}.display-font,.hero-title,.page-title,.project-subtitle,.contact-title{font-family:var(--font-display);font-synthesis:none;font-weight:700}.portfolio{min-height:100svh;overflow-x:clip}.background-scene{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.scene-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.025)}.scene-blurred{filter:blur(8px);opacity:0;will-change:opacity}.header-inner{position:relative}.logo{letter-spacing:-.055em;font-size:22px}.desktop-nav{width:400px;left:50%;transform:translate(-50%);background-color:#f4f4d92e!important;position:absolute!important}.nav-indicator{pointer-events:none;background:#274f452b;border-radius:999px;width:calc(25% - 3px);transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;top:6px;bottom:6px;left:6px;box-shadow:inset 0 1px 1px #ffffff38}.nav-link{color:#274f45a8;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:12px;transition:color .25s;display:flex;position:relative}.nav-link span{opacity:.7;font-size:10px}.nav-link:hover,.nav-link.active{color:#173c30}.mobile-navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ebeed9f5;border:1px solid #36544726}.mobile-link{text-align:left;border-radius:10px;padding:10px 16px;font-size:13px}.mobile-link:hover,.mobile-link[aria-current=location]{background:#274f4515}.hero{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:max(850px,100svh);padding:140px clamp(40px,12vw,220px) 125px;scroll-margin-top:-112px;display:flex;position:relative}.hero-content{width:min(760px,70vw)}.eyebrow{letter-spacing:.2em;color:#284e41;font-size:12px;font-weight:500}.hero-tech-heading{width:100%;margin-top:24px}.hero-tech-line{width:111.111%;height:calc(var(--tech-size) * 1.18);margin-left:-5.555%;position:relative}.hero-cta{margin-top:32px}.hero-cta .specular-button{padding:24px 48px;font-size:20px;box-shadow:inset 0 1px 2px #ffffff80,inset 0 -2px 4px #173d321f,0 10px 24px -12px #173d3240}.hero-cta .specular-button:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffffa6,#ffffff26,#0000,#284f3c14 72%,#284f3c4d);padding:1.2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hero-title{letter-spacing:-.065em;text-transform:uppercase;margin-top:28px;font-size:clamp(40px,4.5vw,76px);line-height:1.12}.hero-title em{color:#41674b;font-style:normal}.hero-note{letter-spacing:.07em;color:#183b2e;margin-top:24px;font-size:12px}.hero .liquid-glass{background:#f4f6dba8}.scroll-invitation{letter-spacing:.18em;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;bottom:36px;left:clamp(28px,7vw,132px)}.content-page{min-height:100svh;scroll-margin-top:-112px;padding-top:140px!important;padding-bottom:80px!important}.page-title{letter-spacing:-.055em;text-transform:uppercase;margin-top:22px;font-size:clamp(32px,4.2vw,64px);line-height:1.2}.page-title em{color:#41674b;font-style:normal}.panel-eyebrow{letter-spacing:.2em;color:#375847;font-size:10px;font-weight:500}.content-page>div>div>p:not(.panel-eyebrow),.section-subtitle{color:#294e3e}.work-card,.about-card,.contact-card{color:#f4f3df;-webkit-backdrop-filter:none;box-shadow:0 10px 40px #2046310a;background:#173d32eb!important;border-color:#f1f2d144!important}.work-card .project-subtitle{letter-spacing:-.025em;color:#cdd6a6;margin-top:10px;font-size:15px;font-style:normal;line-height:1.5}.about-card .panel-eyebrow,.contact-card .panel-eyebrow{color:#ced7b5}.about-grid{grid-template-columns:minmax(0,310px) minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.about-profile{min-width:0}.about-profile .profile-card{width:100%}.about-profile .profile-card__photo{object-position:center center}.about-profile .profile-card__name{font-family:var(--font-display);letter-spacing:-.04em;font-size:21px}.about-grid>.about-card,.about-grid>.contact-card{min-height:490px;padding:28px}.about-grid .contact-title{font-size:clamp(23px,2vw,30px)}.about-grid .about-card>h2{font-size:17px}.works-gallery{background:#10291f;border:1px solid #f3f2dc33;border-radius:24px;height:600px;position:relative;overflow:hidden;box-shadow:0 20px 60px -35px #173d3270}.works-gallery .infinite-menu__title{font-family:var(--font-body)}.works-gallery .infinite-menu__canvas{touch-action:pan-y}.gallery-control{background:#f4f4d92e;border:1px solid #294e3e33;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:grid}.gallery-control:hover{background:#f4f4d980;transform:translateY(-1px)}.gallery-control:focus-visible,.gallery-shortcut:focus-visible{outline-offset:3px;outline:2px solid #294e3e}.gallery-shortcut{background:#f4f4d92e;border:1px solid #294e3e33;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:11px;transition:background .2s;display:flex}.gallery-shortcut:hover{background:#f4f4d980}@media(min-width:768px)and (max-width:1199px){.about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.about-profile{grid-row:span 2}.about-grid>.contact-card{grid-column:2}}.contact-title{letter-spacing:-.045em;text-transform:uppercase;margin-top:22px;font-size:clamp(25px,2.4vw,36px);line-height:1.4}.filter-bar{border-color:#294e3e3b!important}.filter-button{color:#294e3e;border:1px solid #294e3e33;border-radius:999px;padding:10px 20px;font-size:12px;transition:background .2s,color .2s}.filter-button:hover{background:#294e3e12}.filter-button[aria-pressed=true]{color:#f4f3df;background:#294e3e;border-color:#294e3e}.filter-count,.works-note{color:#294e3ecc!important}.content-page .liquid-glass{color:#294e3e}.about-card .liquid-glass{color:#f4f3df}.liquid-glass{background-blend-mode:luminosity;-webkit-backdrop-filter:blur(4px);background:#f7f8dd17;border:none;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff40}.liquid-glass:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffffa6,#ffffff26 20%,#fff0 40% 60%,#28503c26 80%,#28503c66);padding:1.4px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.progress-dot{background:#294e3e5c;border-radius:999px;width:5px;height:5px;transition:height .35s,background .35s;display:block}.progress-dot.is-active{background:#294e3e;height:22px}.section-progress{color:#294e3e}.site-footer{border-top:1px solid #294e3e22}.skip-link{z-index:100;color:#f4f3df;background:#173d32;border-radius:8px;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:16px}#contact{scroll-margin-top:125px}@media(max-width:767px){html{scroll-padding-top:90px}.logo{font-size:18px}.scene-image{object-position:59% center}.hero{justify-content:center;min-height:max(760px,100svh);padding:160px 38px 130px}.hero-content{width:100%}.eyebrow{letter-spacing:.13em;font-size:9px}.hero-tech-heading{margin-top:22px}.hero-tech-line{height:calc(var(--tech-size) * 1.3)}.hero-cta{margin-top:30px}.hero-cta .specular-button{padding:22px 30px;font-size:17px}.hero-title{letter-spacing:-.065em;margin-top:28px;font-size:clamp(33px,6vw,46px)}.content-page{scroll-margin-top:-90px;padding-top:115px!important;padding-bottom:64px!important}.page-title{font-size:clamp(31px,6vw,43px)}.site-header{-webkit-backdrop-filter:blur(8px);background:#e7edc854}.contact-title{font-size:26px}.about-grid{grid-template-columns:minmax(0,1fr);gap:24px}.about-profile{width:min(100%,340px);margin-inline:auto}.about-grid>.about-card,.about-grid>.contact-card{min-height:auto;padding:26px}.works-gallery{border-radius:20px;height:540px}.gallery-toolbar{gap:12px}.gallery-toolbar>p{font-size:10px}.gallery-shortcuts{width:100%}}html,body,#root{width:100%;height:auto;min-height:100%;overflow:visible}html{scroll-behavior:smooth;scroll-padding-top:0}.portfolio{height:auto;min-height:100svh;overflow-x:clip}.scene-blurred{transition:opacity .8s}.site-header{-webkit-backdrop-filter:blur(12px);background:#e7edc854;border-bottom:1px solid #ffffff26}.page-deck{height:auto}.page-card{outline:none;min-height:100svh;position:relative}.page-card .hero{height:auto;min-height:max(680px,100svh);padding-top:110px;padding-bottom:100px;scroll-margin:0}.page-card .content-page{min-height:100svh;scroll-margin:0;padding-top:118px!important;padding-bottom:76px!important}.page-card .scroll-invitation{bottom:74px}.page-card .page-title{margin-top:14px;font-size:clamp(30px,3.6vw,54px)}.page-card .section-subtitle{margin-top:12px}.page-card .about-grid{margin-top:24px}.page-card .works-gallery{height:clamp(220px,100dvh - 490px,600px)}.page-card .gallery-toolbar{margin-top:20px}.page-card #contact{scroll-margin-top:0}@media(min-width:1200px){.page-card .about-grid{grid-template-columns:minmax(0,260px) minmax(0,1.15fr) minmax(0,1fr)}.page-card .about-grid>.about-card,.page-card .about-grid>.contact-card{min-height:0;padding:24px}.page-card .about-card>.mt-6{margin-top:16px;line-height:1.9}.page-card .about-card .space-y-5>:not(:last-child){margin-bottom:12px}.page-card .about-card>.mb-8{margin-top:18px;margin-bottom:20px}.page-card .contact-card>svg{margin-bottom:18px}.page-card .contact-title{margin-top:16px;font-size:clamp(22px,1.9vw,28px)}.page-card .contact-card>.mt-6{margin-top:16px;line-height:1.9}}@media(max-width:767px){.page-card .hero{min-height:max(640px,100svh);padding-top:100px;padding-bottom:100px}.page-card .content-page{padding-top:105px!important;padding-bottom:90px!important}.page-card .works-gallery{height:clamp(280px,100dvh - 420px,460px)}.page-card .scroll-invitation{bottom:80px}}@media(max-height:750px)and (min-width:768px){.page-card .content-page{padding-top:100px!important}.page-card .page-title{font-size:34px}.page-card .hero{padding-top:100px;padding-bottom:80px}.hero-content{max-width:580px}.hero-cta{margin-top:20px}.hero-cta .specular-button{padding:18px 36px;font-size:17px}}.page-card .works-section{flex-direction:column;gap:16px;max-width:none;height:auto;min-height:max(760px,100svh);display:flex}.works-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;display:flex}.page-card .works-heading .page-title{margin-top:0}.page-card .works-heading .gallery-toolbar{flex-shrink:0;margin-top:0}.page-card .works-gallery{height:auto;min-height:240px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;margin-top:0}.works-bottom{flex-shrink:0;justify-content:center;display:flex}.works-bottom .gallery-shortcuts{justify-content:center}@media(max-width:767px){.page-card .works-section{gap:12px;min-height:640px;padding-inline:20px}.works-heading{flex-wrap:wrap;gap:12px}.page-card .works-heading .page-title{font-size:clamp(28px,6vw,43px)}.page-card .works-heading .gallery-toolbar{margin-left:auto}.page-card .works-gallery{min-height:240px}.works-bottom .gallery-shortcuts{gap:6px}.works-bottom .gallery-shortcut{padding:8px 10px;font-size:10px}}.works-layout{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,3vw,56px);min-height:480px;display:grid}.page-card .works-layout .works-gallery{height:100%;min-height:0}.works-layout .infinite-menu{height:calc(100% - 48px)}.works-layout .infinite-menu__info[data-layout=stacked]{--gallery-card-inset:max(16px, calc(50% - var(--infinite-menu-tile,160px)))}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__title,.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__description{left:var(--gallery-card-inset);right:calc(var(--gallery-card-inset) + 64px)}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__title{bottom:64px}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__description{bottom:32px}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__action{right:var(--gallery-card-inset);bottom:32px}.work-summary{-webkit-backdrop-filter:blur(24px);color:#183b2e;background:#f1f2decc;border:1px solid #fff6;border-radius:28px;align-self:stretch;align-items:center;padding:clamp(32px,4vw,64px);display:flex;box-shadow:0 20px 70px -40px #173d3240}.work-summary-content{width:100%;animation:.4s both summary-change}.work-summary-meta{letter-spacing:.18em;color:#49644f;justify-content:space-between;align-items:center;gap:20px;font-size:9px;display:flex}.work-summary-category{letter-spacing:.12em;color:#61745a;margin-top:38px;font-size:10px}.work-summary h3{letter-spacing:-.04em;margin-top:12px;font-size:clamp(32px,3vw,48px);font-weight:600;line-height:1.35}.work-summary-description{color:#385642;max-width:54ch;margin-top:18px;font-size:13px;line-height:1.9}.work-summary-focus{border-top:1px solid #294e3e26;margin-top:26px;padding-top:22px}.work-summary-focus>p{letter-spacing:.1em;color:#61745a;margin-bottom:12px;font-size:10px}.work-summary-focus ul,.project-tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.work-summary-focus li,.project-tags li{color:#385642;border:1px solid #294e3e26;border-radius:999px;padding:7px 11px;font-size:10px}.work-summary-note{color:#61745a;margin-top:22px;font-size:11px;line-height:1.8}.project-detail-link{color:#f4f4df;background:#183b2e;border-radius:999px;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding:16px 20px;font-size:13px;transition:background .25s,transform .25s;display:flex}.project-detail-link:hover{background:#2e5440;transform:translateY(-2px)}.work-image-link{color:#49644f;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;margin:16px auto 0;padding:5px 10px;font-size:11px;display:flex}.project-detail-link:focus-visible,.work-image-link:focus-visible,.project-document a:focus-visible{outline-offset:4px;outline:2px solid #183b2e}@keyframes summary-change{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px)and (min-width:768px){.works-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px}.work-summary{padding:25px}}@media(max-width:767px){.page-card .works-section{height:auto;min-height:100svh}.works-layout{flex:none;grid-template-columns:minmax(0,1fr);gap:16px;min-height:0}.page-card .works-layout .works-gallery{height:clamp(300px,48dvh,440px)}.works-layout .infinite-menu{height:calc(100% - 32px)}.work-summary{border-radius:24px;padding:28px}.work-summary h3{font-size:28px}.work-summary-description{font-size:13px}.work-summary-category{margin-top:26px}}.project-document{isolation:isolate;overscroll-behavior:contain;color:#183b2e;background:#e8ebd7;height:100dvh;position:relative;overflow-y:auto}.project-backdrop{z-index:-1;pointer-events:none;background:linear-gradient(#ebeedbdd,#ebeedbf2),url(/images/portfolio-bg.png) 50%/cover;position:fixed;inset:0}.project-header{z-index:5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ebeedbc9;border-bottom:1px solid #294e3e14;justify-content:space-between;align-items:center;gap:20px;padding:26px clamp(24px,5vw,80px);display:flex;position:sticky;top:0}.project-back{align-items:center;gap:9px;font-size:12px;display:inline-flex}.project-article{width:min(1200px,100% - 96px);margin:0 auto}.project-intro{max-width:760px;padding:80px 0 48px}.project-intro h1{letter-spacing:-.045em;margin-top:22px;font-size:clamp(36px,5vw,72px);font-weight:500;line-height:1.15}.project-intro>p:not(.panel-eyebrow){color:#49644f;margin-top:26px;font-size:15px;line-height:1.95}.project-tags{margin-top:26px}.project-figure{margin:0}.project-figure img{object-fit:contain;background:#e0e4d5;border-radius:24px;width:100%;height:min(72dvh,760px);display:block}.project-figure figcaption{color:#61745a;justify-content:space-between;gap:18px;padding:18px 2px;font-size:11px;display:flex}.project-figure figcaption a{align-items:center;gap:7px;display:inline-flex}.project-overview{border-top:1px solid #294e3e26;grid-template-columns:1fr 1.6fr;gap:60px;margin-top:70px;padding:44px 0;display:grid}.project-article h2{letter-spacing:-.03em;margin-top:16px;font-size:28px;font-weight:500}.project-overview>p{color:#49644f;font-size:15px;line-height:2}.project-observations{border-top:1px solid #294e3e26;padding:44px 0}.project-observations>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:32px;display:grid}.project-observations section{background:#f5f5e380;border:1px solid #fff6;border-radius:20px;padding:28px}.project-observations section>span{color:#61745a;font-size:11px}.project-observations h3{margin-top:24px;font-size:17px;font-weight:500}.project-observations section p{color:#49644f;margin-top:15px;font-size:13px;line-height:1.95}.project-status{color:#61745a;margin:10px 0 60px;font-size:12px;line-height:1.9}.project-pagination{border-top:1px solid #294e3e26;justify-content:space-between;align-items:center;gap:30px;padding:32px 0;display:flex}.project-pagination a{align-items:center;gap:16px;font-size:14px;display:inline-flex}.project-pagination small{color:#61745a;margin-bottom:8px;font-size:10px;display:block}.project-footer{text-align:center;letter-spacing:.16em;color:#61745a;padding:38px 24px;font-size:9px}@media(max-width:767px){.project-header{padding:22px 24px}.project-article{width:calc(100% - 48px)}.project-intro{padding-top:48px}.project-figure img{height:auto;max-height:75dvh}.project-overview,.project-observations>div{grid-template-columns:1fr;gap:24px}.project-overview{margin-top:40px}.project-pagination a{gap:10px;font-size:12px}}.glass-card{rotate:var(--glass-rotation,1 0 0 0deg);transition:rotate .45s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;position:relative;box-shadow:inset 0 1px 1px #fff5,inset 0 -1px 1px #284f3c33,0 18px 48px -36px #173d3260;background:radial-gradient(420px circle at var(--glass-x,50%) var(--glass-y,30%),#ffffff20,transparent 65%),#173d3294!important;color:#f4f3df!important;-webkit-backdrop-filter:blur(20px)saturate(1.25)!important;border:1px solid #ffffff38!important}.glass-card[data-glass-active]{box-shadow:inset 0 1px 2px #ffffff70,inset 0 -1px 1px #284f3c33,0 20px 55px -35px #173d3250;border-color:#ffffff70!important}.about-card.glass-card .panel-eyebrow,.contact-card.glass-card .panel-eyebrow{color:#d5dfc5}.about-card.glass-card [class*=text-white],.contact-card.glass-card [class*=text-white]{color:#f4f3dfc9}.glass-card .liquid-glass{color:#f4f3df}:is(.liquid-glass,.profile-card__contact,.project-figure figcaption a){position:relative;overflow:hidden;-webkit-backdrop-filter:blur(4px)saturate(1.2)!important;background:#f7f8dd17!important;border:none!important;box-shadow:inset 0 1px 1px #ffffff40!important}:is(.profile-card__contact,.project-figure figcaption a):before{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #28503c66}:is(button.liquid-glass,a.liquid-glass,.profile-card__contact,.project-figure figcaption a):hover{background-color:#f7f8dd30!important}.project-detail-link{color:#183b2e}.work-image-link{border-radius:999px;padding:9px 16px}.project-header .project-back,.project-pagination a,.project-figure figcaption a{border-radius:999px;padding:12px 18px}.works-layout .infinite-menu__action{display:none}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__title{bottom:84px;right:var(--gallery-card-inset)}.works-layout .infinite-menu__info[data-layout=stacked] .infinite-menu__description{bottom:52px;right:var(--gallery-card-inset)}.dialog-overlay{background:#173d3230}.dialog-content.glass-card{position:fixed}.dialog-content>button.liquid-glass{position:absolute}.dialog-content.glass-card [class*=text-white]{color:#f4f3dfc9}.about-grid,.works-layout,.project-observations>div{perspective:1400px}.glass-card[data-glass-active]{transition-duration:.18s,.3s,.3s}.profile-card__body{background:#173d3294}.work-summary.glass-card :is(.work-summary-description,.work-summary-meta,.work-summary-category,.work-summary-note,.work-summary-focus>p,.work-summary-focus li),.project-observations .glass-card :is(p,span){color:#f4f3dfc9}.work-summary.glass-card .work-summary-focus{border-color:#ffffff26}.work-summary.glass-card .work-summary-focus li{border-color:#fff3}[data-reveal]{opacity:0}.page-card [data-reveal].is-revealed{animation:element-rise .45s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s) both}.page-card [data-reveal=card].is-revealed{animation-name:card-arrive;animation-duration:.55s}.page-card [data-reveal=gallery].is-revealed{animation-name:gallery-arrive;animation-duration:.6s}.page-card [data-reveal=hero-title].is-revealed{opacity:1;animation:none}.hero-tech-line{opacity:0}.page-card [data-reveal=hero-title].is-revealed .hero-tech-line{animation:hero-line-arrive .55s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0s) + var(--hero-line-delay,0s)) both}.page-card [data-reveal=title].is-revealed{animation:title-visible .12s ease var(--reveal-delay,0s) both}.reveal-word{white-space:nowrap;display:inline-block}.reveal-letter{opacity:0;display:inline-block}.page-card [data-reveal=title].is-revealed .reveal-letter{animation:letter-arrive .38s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0s) + var(--letter-delay,0s)) both}@keyframes element-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translate(0)}}@keyframes card-arrive{0%{opacity:0;transform:translateY(42px)scale(.96)rotateX(4deg)}to{opacity:1;transform:translate(0)scale(1)rotateX(0)}}@keyframes gallery-arrive{0%{opacity:0;clip-path:inset(7% 0 0 round 24px);transform:translateY(34px)scale(.975)}to{opacity:1;clip-path:inset(0 round 24px);transform:translate(0)scale(1)}}@keyframes hero-line-arrive{0%{opacity:0;clip-path:inset(0 100% 0 -10%);transform:translateY(22px)}to{opacity:1;clip-path:inset(-20% -10%);transform:translate(0)}}@keyframes title-visible{0%{opacity:0}to{opacity:1}}@keyframes letter-arrive{0%{opacity:0;filter:blur(3px);transform:translateY(.65em)rotateX(-35deg)}to{opacity:1;filter:blur();transform:translate(0)rotateX(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}[data-reveal],.reveal-letter,.hero-tech-line{opacity:1}.glass-card{rotate:none}}.contact-heading .section-subtitle{letter-spacing:.08em;font-size:13px;line-height:1.8}.contact-platform-grid{perspective:1400px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.contact-platform{border-radius:22px;flex-direction:column;min-width:0;padding:24px;display:flex}.contact-platform-top{color:#e1e6ca;justify-content:space-between;align-items:center;gap:12px;display:flex}.contact-platform-top span{letter-spacing:.15em;opacity:.7;font-size:9px}.contact-platform h3{letter-spacing:-.02em;margin-top:18px;font-size:21px;font-weight:400}.contact-platform .contact-platform-description{color:#f4f3dfad;margin-top:8px;font-size:12px;line-height:1.8}.contact-platform-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px;display:flex}.contact-account{letter-spacing:.02em;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-size:13px}.contact-platform-bottom button,.contact-platform-bottom>a{gap:8px;padding:10px 15px;font-size:11px}.contact-email-links{flex-wrap:wrap;gap:8px;width:100%;display:flex}.contact-email-link{overflow-wrap:anywhere;border-radius:30px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:inline-flex}.contact-email-link:hover{background-color:#ffffff28!important}.contact-feedback{color:#294e3e;min-height:20px;margin-top:12px;font-size:12px}@media(min-width:768px)and (max-width:1050px){.desktop-nav{width:330px}.desktop-nav .nav-link{gap:3px}.desktop-nav .nav-link span{display:none}}@media(max-width:1050px){.contact-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.contact-platform-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:26px}.contact-platform{padding:24px}.contact-heading .page-title{max-width:400px}.contact-platform-bottom{padding-top:20px}}@media(max-width:767px){.site-header .header-inner{flex-wrap:wrap;gap:12px;padding:16px 28px 12px}.site-header .desktop-nav{order:3;width:100%;left:auto;transform:none;position:relative!important}.site-header .nav-link{gap:4px;padding:8px 6px;font-size:11px}.site-header .nav-link span{font-size:9px}.site-header .header-cta{gap:7px;padding:9px 14px;font-size:10px}.page-card .content-page{padding-top:148px!important}.page-card .hero{padding-top:150px}}@media(max-width:360px){.site-header .nav-link span{display:none}}.project-document{scroll-behavior:smooth}.project-screenshots{border-top:1px solid #294e3e26;padding:44px 0}.project-chapters{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.project-chapters a{border-radius:999px;padding:11px 18px;font-size:12px}.project-shot-list{margin-top:36px}.project-shot{opacity:0;margin:0 0 52px;scroll-margin-top:108px;transition:opacity .45s}.project-shot>*{transition:transform .45s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.project-shot.is-visible{opacity:1}.project-shot.is-visible>*{transform:none}.project-shot-caption{border-radius:20px;grid-template-columns:minmax(200px,.65fr) minmax(0,2fr) auto;align-items:center;gap:28px;margin-bottom:16px;padding:24px 28px;display:grid}.project-shot-number{letter-spacing:.12em;opacity:.65;font-size:10px}.project-shot-caption h3{text-wrap:balance;margin-top:8px;font-size:22px;font-weight:400}.project-shot-caption p{color:#f4f3dfc9;font-size:13px;line-height:1.9}.project-shot-caption a{white-space:nowrap;border-radius:30px;align-items:center;gap:8px;padding:11px 15px;font-size:11px;display:inline-flex}.project-shot-image{background:#183b2e;border-radius:20px;display:block;overflow:hidden}.project-shot-image img{width:100%;height:auto;display:block}.project-shot-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.project-shot-gallery>:first-child:nth-last-child(odd){grid-column:1/-1}.project-chapters a:hover,.project-shot-caption a:hover{background-color:#ffffff35!important}.project-chapters a:focus-visible,.project-shot a:focus-visible{outline-offset:5px;outline:2px solid #41674b}@media(max-width:767px){.project-shot{margin-bottom:32px}.project-shot-caption{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:22px}.project-shot-caption p{grid-area:2/1/auto/-1;font-size:12px}.project-shot-caption h3{font-size:20px}.project-chapters{gap:8px}.project-chapters a{padding:10px 14px;font-size:11px}.project-shot-image{border-radius:14px}.project-shot-gallery{grid-template-columns:1fr;gap:12px}}@media(prefers-reduced-motion:reduce){.project-document{scroll-behavior:auto}.project-shot{opacity:1}.project-shot>*{transform:none}}.project-source-link{border-radius:999px;align-items:center;gap:10px;margin-top:24px;padding:12px 18px;font-size:12px;display:inline-flex}.project-source-link:hover{background-color:#ffffff35!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
