*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.visible{visibility:visible}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.-mr-4{margin-right:-1rem}.-mt-0\.5{margin-top:-.125rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-6{width:1.5rem;height:1.5rem}.h-12{height:3rem}.h-36{height:9rem}.h-7{height:1.75rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-36{width:9rem}.w-7{width:1.75rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-xl{max-width:36rem}.flex-none{flex:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-0{border-width:0px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b-white\/10{border-bottom-color:#ffffff1a}.border-t-white\/20{border-top-color:#fff3}.bg-\[\#02569B\]\/20{background-color:#02569b33}.bg-\[\#06B6D4\]\/20{background-color:#06b6d433}.bg-\[\#2D3748\]\/40{background-color:#2d374866}.bg-\[\#3178C6\]\/20{background-color:#3178c633}.bg-\[\#4169E1\]\/20{background-color:#4169e133}.bg-\[\#5FA04E\]\/20{background-color:#5fa04e33}.bg-\[\#61DAFB\]\/20{background-color:#61dafb33}.bg-\[\#C5F74F\]\/20{background-color:#c5f74f33}.bg-\[\#DD2C00\]\/20{background-color:#dd2c0033}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/50{background-color:#00000080}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-950{--tw-gradient-from: #020617 var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-950{--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #172554 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-emerald-500{--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #10b981 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black{--tw-gradient-to: #000 var(--tw-gradient-to-position)}.to-emerald-950{--tw-gradient-to: #022c22 var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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-3xl{--tw-backdrop-blur: blur(64px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.portfolio{--ink: #f2f1e9;--muted: #a6aaa0;--accent: #d6ecc0;min-height:100svh;background:#121813;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;isolation:isolate;font-size:14px}.portfolio *{box-sizing:border-box}.portfolio ::-moz-selection{background:#d6ecc0;color:#162014}.portfolio ::selection{background:#d6ecc0;color:#162014}.portfolio :is(a,button,input):focus-visible{outline:2px solid var(--accent);outline-offset:5px}.portfolio a,.portfolio button{-webkit-tap-highlight-color:transparent}.portfolio a{text-decoration:none}.portfolio button{font:inherit}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1;pointer-events:none}.ambient>div:first-child{position:absolute;width:950px;height:900px;right:-350px;top:-350px;border-radius:50%;background:radial-gradient(ellipse,#52694740,transparent 67%);animation:ambient-drift 20s ease-in-out infinite alternate}.ambient>div:last-child{position:absolute;width:900px;height:900px;left:-550px;top:300px;background:radial-gradient(ellipse,#7b583128,transparent 65%)}.site-wrap{max-width:1240px;padding:0 44px;margin:auto}.portfolio-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px;border-bottom:1px solid #ffffff12}.wordmark{display:flex;gap:13px;align-items:center;font-weight:600;font-size:15px;letter-spacing:-.4px}.monogram{font-size:32px;font-weight:500;letter-spacing:-3px;width:49px;height:49px;border:1px solid #ffffff25;background:#ffffff06;border-radius:15px;padding-left:7px;line-height:45px}.monogram>span{color:var(--accent);font-size:24px}.wordmark-caption{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:5px}.portfolio-header nav{display:flex;padding:5px;border-radius:99px;background:#ffffff05;border:1px solid #ffffff0d;gap:4px}.portfolio-header nav a{padding:9px 17px;border-radius:99px;font-size:12px;color:var(--muted);transition:color .2s,background .2s}.portfolio-header nav a:hover{color:#fff}.portfolio-header nav a.active{background:#ffffff12;color:var(--ink);box-shadow:inset 0 1px #ffffff12}.contact-link{font-size:12px;display:flex;gap:25px}.contact-link span{color:var(--accent)}.hero{display:grid;grid-template-columns:1.22fr 1fr;align-items:center;gap:25px;min-height:560px;padding:62px 0 64px}.eyebrow{color:#b6c0ad;letter-spacing:2px;font-size:9px;font-weight:500;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c0dea8;box-shadow:0 0 0 4px #c0dea80c;flex-shrink:0}.hero h1{margin:25px 0 23px;font-size:clamp(38px,4.55vw,59px);font-weight:500;line-height:1.13;letter-spacing:-3.2px}.hero h1>span{color:var(--accent)}.hero-description{color:var(--muted);font-size:14px;line-height:1.85;max-width:415px}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:30px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 19px;border-radius:99px;font-size:12px;font-weight:500;background:var(--accent);color:#1a2717;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s}.primary-button:hover{background:#e3f5d2;transform:translateY(-2px);box-shadow:0 5px 24px #bfda9e15}.secondary-button{color:var(--ink);background:#ffffff08;border-color:#ffffff20}.secondary-button:hover{background:#ffffff15}.text-link{font-size:12px;color:#d0d2c9;display:inline-flex;gap:14px}.text-link:hover{color:#fff}.hero-note{margin-top:38px;display:flex;align-items:center;gap:10px;font-size:10px;color:#91998d}.tiny-dot{width:3px;height:3px;background:#91998d;border-radius:50%}.hero-universe{height:410px;position:relative;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .3s ease-out}.hero-universe:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse,#7790611a,transparent 65%)}.orbit{position:absolute;left:50%;top:47%;border:1px solid #b0c39b12;border-radius:50%;transform:translate(-50%,-50%);max-width:100%}.orbit-one{width:190px;height:190px}.orbit-two{width:320px;height:320px}.orbit-three{width:430px;height:390px}.universe-center{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-8deg);font-size:63px;font-weight:500;letter-spacing:-7px;color:#e0e9d9;text-shadow:0 0 50px #d6ecc036}.universe-center>span{color:#a9c298;font-size:40px;vertical-align:top}.orbit-app{position:absolute;width:80px;text-align:center;animation:bob 7s ease-in-out infinite}.orbit-app img{height:75px;width:75px;-o-object-fit:cover;object-fit:cover;border-radius:21px;box-shadow:0 20px 30px #0005,0 0 0 6px #ffffff06,0 0 0 7px #ffffff09}.orbit-app>span{display:block;font-size:9px;color:#bac0b3;margin:12px -15px 0}.orbit-app-0{left:9%;top:22%;transform:rotate(-9deg);animation-delay:-1s}.orbit-app-1{right:12%;top:9%;animation-delay:-3s}.orbit-app-2{right:5%;top:53%;animation-delay:-2s}.orbit-app-3{left:23%;top:70%;animation-delay:-5s}.orbit-app-4{left:42%;top:1%;width:47px;animation-delay:-4s}.orbit-app-4 img{width:47px;height:47px;border-radius:14px}.orbit-app-4 span{display:none}.universe-coordinate{position:absolute;left:0;top:4%;font-size:8px;letter-spacing:2px;color:#798471}.universe-star{position:absolute;color:#a2b48b70;font-size:20px;font-weight:300}.star-one{left:7%;bottom:20%}.star-two{right:15%;top:40%}.universe-caption{position:absolute;bottom:0;right:9%;padding:9px 13px;border:1px solid #ffffff12;border-radius:30px;background:#ffffff04;font-size:9px;color:#b6c0ad;display:flex;align-items:center;gap:9px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.work-section{scroll-margin-top:24px;border-top:1px solid #ffffff12;padding-top:37px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading h2{font-size:25px;font-weight:500;letter-spacing:-1px;margin-top:12px}.section-heading h2 span{color:#9ba593}.collection-count{color:#8c9785;font-size:10px;padding-bottom:5px}.collection-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center}.filter-tabs{display:flex;gap:6px}.filter-tabs a{display:flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid transparent;border-radius:10px;font-size:11px;color:var(--muted);transition:.2s;white-space:nowrap}.filter-tabs a span{font-size:9px;opacity:.55}.filter-tabs a.active{background:#ffffff0c;border-color:#ffffff14;color:var(--ink)}.filter-tabs a:hover{background:#ffffff09}.project-search{display:flex;align-items:center;gap:10px;width:210px;border:1px solid #ffffff14;border-radius:10px;padding:0 12px}.project-search svg{width:15px;height:15px;color:#8c9785;flex-shrink:0}.project-search input{min-width:0;width:100%;border:0;background:transparent;font:inherit;font-size:11px;color:var(--ink);padding:11px 0;box-shadow:none}.project-search input:focus{box-shadow:none}.project-search input::-moz-placeholder{color:#8c9785}.project-search input::placeholder{color:#8c9785}.results-status{min-height:52px;padding:18px 0;font-size:10px;color:#8c9785}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{min-width:0}.project-open{display:block;width:100%;height:100%;text-align:left;border-radius:19px;border:1px solid #ffffff12;background:#ffffff03;overflow:hidden;transition:border-color .3s,background .3s,transform .3s;transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}.project-open:hover{border-color:#d6ecc042;background:#ffffff06}.sage{--stage: #24382d;--glow: #749771}.sand{--stage: #3c3626;--glow: #b49d60}.blue{--stage: #22313d;--glow: #6c9cbb}.plum{--stage: #312b3b;--glow: #9982b2}.rose{--stage: #3d2d2b;--glow: #bd8b75}.ocean{--stage: #223b3a;--glow: #6eaaa2}.project-stage{background:radial-gradient(ellipse at var(--px, 50%) var(--py, 50%),color-mix(in srgb,var(--glow) 22%,transparent),transparent 70%),var(--stage);height:202px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-category{position:absolute;top:19px;left:20px;font-size:8px;letter-spacing:1.4px;color:#f1f3e7a6}.project-arrow{position:absolute;right:17px;top:13px;font-size:17px;color:#f1f3e780;transition:transform .3s,color .3s}.project-open:hover .project-arrow{transform:translate(2px,-2px);color:#fff}.stage-orbit{position:absolute;width:250px;height:125px;border:1px solid #ffffff0c;border-radius:50%;transform:rotate(-25deg)}.stage-orbit:before{content:"";position:absolute;top:-25px;right:15px;bottom:-25px;left:15px;border:1px solid #ffffff08;border-radius:50%}.project-icon{width:84px;height:84px;border-radius:23px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 28px #0004,0 0 0 5px #ffffff04,0 0 0 6px #ffffff09;z-index:1;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project-icon img{width:100%;height:100%;max-width:none;flex-shrink:0;-o-object-fit:cover;object-fit:cover}.white-icon{background:#fff}.white-icon img{-o-object-fit:contain;object-fit:contain;transform:scale(.7)}.project-open:hover .project-icon{transform:translateY(-6px) rotate(-4deg) scale(1.05)}.stage-caption{position:absolute;bottom:15px;font-size:7px;letter-spacing:2px;color:#ffffff50}.project-info{padding:20px}.project-info h3{font-size:17px;letter-spacing:-.5px;font-weight:500}.project-info p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:8px;height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-detail-link{display:flex;justify-content:space-between;font-size:9px;color:#aabb9c;margin-top:20px}.project-dialog{padding:0;max-width:490px;width:calc(100% - 32px);max-height:calc(100svh - 40px);border-radius:25px;border:1px solid #ffffff26;background:#1b221c;color:#f2f1e9;box-shadow:0 30px 140px #0009}.project-dialog[open]{animation:dialog-in .3s ease-out}.project-dialog::backdrop{background:#080d0bbd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dialog-art{height:210px;background:radial-gradient(ellipse,color-mix(in srgb,var(--glow) 35%,transparent),transparent 75%),var(--stage);display:flex;justify-content:center;align-items:center;position:relative}.dialog-art>.eyebrow{position:absolute;top:25px;left:25px;font-size:9px}.dialog-close{position:absolute;top:15px;right:15px;width:38px;height:38px;border:1px solid #ffffff25;border-radius:50%;background:#0002;font-size:25px!important;line-height:1}.dialog-content{padding:28px}.dialog-content h2{font-size:28px;font-weight:500;letter-spacing:-1px}.dialog-content>p{font-size:14px;line-height:1.85;color:#b3baad;margin-top:14px}.dialog-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.dialog-legal{display:flex;gap:20px;margin-top:23px;font-size:11px;color:#a6aaa0}.dialog-legal a:hover{text-decoration:underline}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.package-card{border:1px solid #ffffff14;background:#ffffff03;padding:28px;border-radius:18px;transition:background .3s,transform .3s}.package-card:hover{background:#ffffff07;transform:translateY(-3px)}.package-top{display:flex;justify-content:space-between;align-items:center;color:#98a88a;font-size:10px}.package-symbol{font:26px monospace;color:var(--accent)}.package-card h3{font-size:20px;margin:22px 0 12px;letter-spacing:-.6px;overflow-wrap:anywhere}.package-card p{font-size:12px;line-height:1.8;color:var(--muted)}.language-tag{display:inline-block;margin-top:20px;border:1px solid #ffffff16;border-radius:20px;padding:5px 10px;font-size:10px;color:#c0ccaf}.empty-state{padding:75px 20px;text-align:center;border:1px dashed #ffffff20;border-radius:20px}.empty-state h3{font-size:23px}.empty-state p{margin:12px 0 25px;color:var(--muted)}.closing-note{padding:48px;margin:65px 0 45px;border:1px solid #ffffff15;background:radial-gradient(ellipse at top right,#7e946b18,transparent 60%),#ffffff02;border-radius:23px;display:flex;justify-content:space-between;align-items:center;gap:20px}.closing-note h2{font-size:31px;letter-spacing:-1px;margin:14px 0 8px}.closing-note p:not(.eyebrow){color:var(--muted);font-size:12px}.closing-note>a{flex-shrink:0}.portfolio-footer{display:flex;justify-content:space-between;gap:25px;padding:24px 0 35px;border-top:1px solid #ffffff12;color:#8c9785;font-size:9px}.portfolio-footer>div{display:flex;gap:24px}.portfolio-footer a:hover{color:var(--ink)}.inner-page{padding:55px 0 70px;min-height:72svh}.detail-panel{max-width:860px;margin:auto;padding:40px;background:#ffffff04;border:1px solid #ffffff14;border-radius:24px}.detail-content>h1{text-transform:none;font-size:36px;letter-spacing:-1px;opacity:1}.detail-content{min-width:0}.detail-content a{overflow-wrap:anywhere}.skip-link{position:fixed;left:15px;top:-100px;padding:12px 20px;z-index:100;background:#d6ecc0;color:#162014;border-radius:10px}.skip-link:focus{top:15px}@keyframes bob{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes ambient-drift{to{transform:translate(-90px,70px)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media (min-width: 761px){html:has(.portfolio){scroll-behavior:smooth}}@media (max-width: 1050px){.site-wrap{padding:0 30px}.wordmark-caption{display:none}.portfolio-header{gap:16px}.hero{grid-template-columns:1.2fr 1fr}.hero h1{font-size:46px;letter-spacing:-2.6px}.hero-universe{scale:.9}.orbit-three{width:350px;height:350px}.project-grid{gap:14px}.project-info{padding:17px}.collection-count{display:none}.filter-tabs a{padding:10px}.project-search{width:185px}}@media (max-width: 760px){.site-wrap{padding:0 22px}.portfolio-header{flex-wrap:wrap;padding:20px 0 15px;gap:18px}.portfolio-header nav{order:3;width:100%;justify-content:center}.portfolio-header nav a{flex:1;text-align:center}.hero{grid-template-columns:1fr;padding:44px 0 30px;gap:8px}.hero h1{font-size:clamp(36px,7.8vw,56px);letter-spacing:-2px}.hero-description{font-size:13px;max-width:450px}.hero-note{margin-top:28px}.hero-universe{width:360px;max-width:100%;height:330px;margin:14px auto 0;scale:1}.orbit-one{width:150px;height:150px}.orbit-two{width:260px;height:260px}.orbit-three{width:320px;height:300px}.orbit-app img{height:60px;width:60px;border-radius:18px}.orbit-app{width:60px}.orbit-app-4 img{width:39px;height:39px;border-radius:12px}.universe-center{font-size:52px}.hero-actions{gap:22px}.section-heading h2{font-size:24px;line-height:1.35}.section-heading h2>span{display:block}.collection-toolbar{flex-direction:column;align-items:stretch;gap:14px}.filter-tabs{justify-content:space-between;gap:0}.filter-tabs a{gap:6px;padding:10px;font-size:10px}.project-search{width:100%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-stage{height:185px}.project-info p{height:58px;-webkit-line-clamp:3}.project-category{left:14px;top:17px;font-size:7px}.project-arrow{right:12px}.project-info h3{font-size:16px}.closing-note{padding:27px;flex-direction:column;align-items:start;gap:24px;margin-top:40px}.closing-note h2{font-size:27px}.closing-note .eyebrow{font-size:8px;line-height:1.8}.portfolio-footer{flex-direction:column;gap:17px}.portfolio-footer>div{gap:20px;flex-wrap:wrap}.package-grid{grid-template-columns:1fr}.inner-page{padding:25px 0 40px}.detail-panel{padding:24px}.detail-content>h1{font-size:30px}}@media (max-width: 420px){.site-wrap{padding:0 18px}.project-grid{grid-template-columns:1fr;gap:20px}.project-stage{height:220px}.project-info{padding:22px}.project-info p{height:auto;-webkit-line-clamp:2}.project-info h3{font-size:19px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.filter-tabs a{padding:9px 7px}.filter-tabs a span{font-size:8px}.hero-actions{gap:20px}.primary-button{gap:16px}.orbit-three{width:300px}.wordmark{font-size:14px}}@media (prefers-reduced-motion: reduce){html:has(.portfolio){scroll-behavior:auto}.portfolio *,.portfolio *:before,.portfolio *:after{animation:none!important;transition:none!important}.project-open,.hero-universe{transform:none!important}}@media (max-width: 760px){.orbit{transform:translate(-50%,-50%)}.hero{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero-universe{min-width:0}.orbit-three{max-width:100%}}@media (max-width: 360px){.hero h1{font-size:33px}.hero-actions{gap:14px}.hero-actions .primary-button{padding:12px 14px;font-size:11px;gap:10px}.hero-actions .text-link{font-size:11px;gap:8px}.hero .eyebrow{font-size:7px}.filter-tabs a{font-size:9px;gap:4px;padding:10px 6px}}.development-badge{display:inline-block;margin-top:9px;padding:4px 8px;border:1px solid #d6c08b30;border-radius:6px;color:#d6c08b;background:#d6c08b08;font-size:10px;letter-spacing:.3px}.placeholder\:text-white\/60::-moz-placeholder{color:#fff9}.placeholder\:text-white\/60::placeholder{color:#fff9}.hover\:bg-black\/20:hover{background-color:#0003}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-cyan-300:hover{--tw-bg-opacity: 1;background-color:rgb(103 232 249 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:bg-black\/25:focus{background-color:#00000040}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-white\/20:focus{--tw-ring-color: rgb(255 255 255 / .2)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-black\/10:active{background-color:#0000001a}.active\:bg-white\/10:active{background-color:#ffffff1a}.group:hover .group-hover\:opacity-100,.group:active .group-active\:opacity-100{opacity:1}@media (min-width: 640px){.sm\:mr-2{margin-right:.5rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:hidden{display:none}}
