/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-border-style:solid;--tw-leading:initial;--tw-font-weight: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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Be Vietnam Pro", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Be Vietnam Pro", ui-sans-serif, system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-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}.portfolio :where(a,button):focus-visible{outline-offset:6px;outline:2px solid #ef4934}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.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}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.z-\[9999\]{z-index:9999}.z-\[10000\]{z-index:10000}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.-ml-px{margin-left:-1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-5{height:calc(var(--spacing) * 5)}.h-\[3px\]{height:3px}.w-5{width:calc(var(--spacing) * 5)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-8{--tw-translate-x:calc(var(--spacing) * 8);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[0\.98\]{scale:.98}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.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}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab, red, red)){.border-slate-200\/80{border-color:color-mix(in oklab, var(--color-slate-200) 80%, transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/80{background-color:color-mix(in oklab, var(--color-slate-50) 80%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950\/40{background-color:#02061866}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/40{background-color:color-mix(in oklab, var(--color-slate-950) 40%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.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))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-600{color:var(--color-red-600)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-\[0_18px_50px_-18px_rgba\(15\,23\,42\,0\.35\)\]{--tw-shadow:0 18px 50px -18px var(--tw-shadow-color,#0f172a59);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_70px_-20px_rgba\(15\,23\,42\,0\.45\)\]{--tw-shadow:0 24px 70px -20px var(--tw-shadow-color,#0f172a73);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--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)}.ring-amber-100{--tw-ring-color:var(--color-amber-100)}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-emerald-100{--tw-ring-color:var(--color-emerald-100)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-red-100{--tw-ring-color:var(--color-red-100)}.ring-slate-200{--tw-ring-color:var(--color-slate-200)}.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,)}.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-\[2px\]{--tw-backdrop-blur:blur(2px);-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-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,)}.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-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:top-6{top:calc(var(--spacing) * 6)}.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}@media (width>=48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=100rem){.min-\[100rem\]\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.dark\:border-gray-600:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-gray-600)}.dark\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-800)}.dark\:text-gray-200:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-200)}.dark\:text-gray-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-300)}.dark\:text-gray-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-400)}.dark\:text-gray-600:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:where([data-theme=dark],[data-theme=dark] *):focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:where([data-theme=dark],[data-theme=dark] *):focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *):active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:where([data-theme=dark],[data-theme=dark] *):active{color:var(--color-gray-300)}}:root[data-theme-transition]::view-transition{pointer-events:none}:root[data-theme-transition]::view-transition-group(root){animation:none}:root[data-theme-transition]::view-transition-image-pair(root){isolation:auto}:root[data-theme-transition]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-theme-transition]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-transition]::view-transition-old(root){z-index:1}:root[data-theme-transition]::view-transition-new(root){z-index:2}.catalog-device{aspect-ratio:3/2;width:100%;position:relative}.catalog-device-frame{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.catalog-screen{z-index:4;background:#eee;border-radius:1%/1.8%;width:85.2%;height:73.4%;position:absolute;top:1.8%;left:7.4%;overflow:hidden}.catalog-screen img{width:100%;max-width:none;height:auto;display:block}.catalog-device-mobile{aspect-ratio:884/1778}.catalog-device-mobile .catalog-screen{z-index:2;border-radius:9%/4.5%;width:84%;height:93.9%;top:2.9%;left:8%}[data-project-thumbnail] .catalog-screen img{object-fit:cover;object-position:top;height:100%}.catalog-screen-empty{text-align:center;color:#657284;background:#e8edf3;place-content:center;gap:5px;height:100%;padding:8px;font:500 11px/1.5 Be Vietnam Pro,sans-serif;display:grid}.catalog-screen-empty svg{width:22px;height:22px;margin-inline:auto}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/be-vietnam-pro-400-vietnamese-CRcqvyg1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/be-vietnam-pro-400-latin-ext-CiZNW1ec.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/be-vietnam-pro-400-latin-PpnXBOrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/be-vietnam-pro-500-vietnamese-DREgrEoJ.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/be-vietnam-pro-500-latin-ext-h0Fp6aX0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/be-vietnam-pro-500-latin-B6LVzGNe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/be-vietnam-pro-600-vietnamese-nyU-ZL2p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/be-vietnam-pro-600-latin-ext-BNd8euf0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/be-vietnam-pro-600-latin-BZDkUTrt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/be-vietnam-pro-700-vietnamese-Csr0PCuG.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/be-vietnam-pro-700-latin-ext-C8_gqRu2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/be-vietnam-pro-700-latin-DlW1Zbsh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/build/assets/be-vietnam-pro-800-vietnamese-D4LFh2W4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/build/assets/be-vietnam-pro-800-latin-ext-GEpNgheG.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/build/assets/be-vietnam-pro-800-latin-BpHZASpI.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:100px}.portfolio{color:#f3ead8;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:#191918;margin:0}.portfolio ::selection{color:#fff;background:#ef4934}.portfolio a,.portfolio button{-webkit-tap-highlight-color:transparent}.portfolio button{cursor:pointer}.portfolio [hidden]{display:none!important}.portfolio-icon{vertical-align:-.17em;flex:none;width:1.15em;height:1.15em;display:inline-block}.portfolio .contact-socials .portfolio-icon{width:20px;height:20px}.portfolio .app-sidebar>span>.portfolio-icon{width:1.1em;height:1.1em}.v2-world canvas:focus-visible{outline-offset:-6px;outline:1px solid #b9ef7880}.portfolio-home{overscroll-behavior:none;height:100svh;overflow:clip}.display-title{font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;font-weight:800;line-height:1.18}.red-stop{color:#ef4934}.eyebrow{letter-spacing:.17em;text-transform:uppercase;font-size:10px;font-weight:400;line-height:1.7}.skip-link{color:#fff;z-index:100;background:#ef4934;padding:14px 20px;position:fixed;top:-90px;left:20px}.skip-link:focus{top:10px}.portfolio-header{z-index:30;align-items:center;gap:24px;height:95px;display:flex;position:absolute;top:0;left:4%;right:4%}.identity{letter-spacing:.19em;text-transform:uppercase;flex:none;font-size:12px}.identity span{margin-left:5px}.header-rule{background:linear-gradient(90deg,#f3ead850,#f3ead805);flex:1;height:1px;margin-right:15%}.portfolio-header nav{white-space:nowrap;gap:39px}.portfolio-header nav a{letter-spacing:.035em;padding:12px 0;font-size:12px;position:relative}.portfolio-header nav a:after{content:"";transform-origin:0;background:#ef4934;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:3px;left:0;transform:scaleX(0)}.portfolio-header nav a:hover:after{transform:scaleX(1)}.portfolio-header nav a span{margin-left:7px}.line-link{border-bottom:1px solid #e7ddc994;align-items:center;gap:12px;padding-bottom:5px;font-size:15px;line-height:1.3;display:inline-flex}.line-link>span{color:#fff;background:#ef4934;place-items:center;width:28px;height:28px;font-size:21px;transition:transform .25s;display:grid}.line-link:hover>span{transform:translate(3px,-3px)}.button-accent,.button-outline{justify-content:space-between;align-items:center;gap:25px;padding:12px 17px;font-size:12px;line-height:1.4;transition:background .25s,color .25s;display:inline-flex}.button-accent{color:#fff8ec;background:#ef4934;border:1px solid #ef4934}.button-outline{color:#f3ead8;border:1px solid #f3ead86b}.button-accent:hover{background:#d83827}.button-outline:hover{color:#191918;background:#f3ead8}.button-accent>span,.button-outline>span{font-size:17px}.cinema{isolation:isolate;outline:none;width:100%;height:100svh;position:relative;overflow:clip}.cinema-world{z-index:-4;background:#24231f;position:absolute;inset:0}.cinema-world canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.studio-fallback{background:var(--studio-image) center / cover no-repeat;position:absolute;inset:0}.portrait-fallback{background:var(--portrait-image) 0 0 / 300% 400% no-repeat;width:83.375svh;height:125svh;position:absolute;top:-12.5%;left:calc(72% - 41.6875svh)}.cinema-world.is-ready .studio-fallback,.cinema-world.is-ready .portrait-fallback{visibility:hidden}.cinema-shade{z-index:-2;pointer-events:none;background:linear-gradient(90deg,#0d0d0b38 0%,#0000 72%),linear-gradient(#0d0d0b28 0%,#0000 11% 77%,#10100e8c 100%);position:absolute;inset:0}.cinema-grain{z-index:15;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.cinema-scene{visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0}.cinema-scene.is-active{visibility:visible;opacity:1;pointer-events:auto}.scene-copy{width:53%;position:absolute;top:21%;left:9.5%}.banner-story{position:absolute;inset:0}.cinema:not([data-ready=true]) [data-banner-at]{visibility:hidden}.banner-line{margin-block:-.14em -.1em;padding-block:.14em .1em;display:block;overflow:clip}.banner-line>[data-banner-at]{will-change:transform, opacity;display:block}.scene-copy .eyebrow{margin-bottom:26px}.scene-copy .display-title{font-size:clamp(51px,6.83vw,122.4px)}.scene-profile .display-title{font-size:clamp(64.6px,7.82vw,136px)}.scene-profile .scene-copy{top:22%}.scene-thinking .display-title{font-size:clamp(54.4px,6.19vw,108.8px)}.scene-introduction .scene-copy{top:17%}.scene-introduction .display-title{white-space:nowrap}.scene-description{letter-spacing:.025em;color:#eee7dada;margin-top:24px;font-size:clamp(13px,1.08vw,18px);line-height:1.65}.scene-copy .line-link{margin-top:27px}.intro-next{opacity:.85;font-size:12px}.technical-line{color:#d4ccbc;border-top:1px solid #e5dcc348;gap:16px;width:max-content;margin-top:30px;padding-top:15px;font-size:11px;display:flex}.technical-line i,.scene-technology i{color:#c3b8a7;font-style:normal}.scene-technology{letter-spacing:.1em;color:#e0d8c8c2;gap:15px;font-size:10px;display:flex;position:absolute;bottom:12%;left:4%}.scene-side{color:#d6cebf70;flex-direction:column;align-items:center;gap:14px;font-size:9px;display:flex;position:absolute;top:47%;right:2%}.scene-side>span:first-child{color:#f3ead8}.scene-side-line{background:#e5dbc33b;width:1px;height:75px;position:relative}.scene-side-line:before{content:"";width:3px;height:15px;left:-1px;top:var(--scene-progress,0%);background:#ef4934;transition:top .8s;position:absolute}.cinema-footer{z-index:20;border-top:1px solid #e5dcc34d;align-items:center;gap:24px;padding-top:17px;display:flex;position:absolute;bottom:20px;left:4%;right:4%}.chapter-nav{gap:29px;display:flex}.chapter-nav button{color:#e7ddc9a6;white-space:nowrap;padding:8px 0;font-size:10px;position:relative}.chapter-nav button span{margin-right:7px}.chapter-nav button[aria-current]{color:#ef4934}.chapter-nav button[aria-current]:before{content:"";background:#ef4934;width:6px;height:6px;margin-right:15px;display:inline-block}.cinema-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.wheel-hint{letter-spacing:.14em;color:#d6cebf90;margin-right:14px;font-size:8px}.cinema-controls button{color:#d6cebf;border:1px solid #ded5c32e;place-items:center;width:29px;height:29px;font-size:14px;display:grid}.cinema-controls button:hover{color:#ef4934;border-color:#ef4934}.cinema-controls button:disabled{opacity:.25;cursor:default}.portrait-note{letter-spacing:.03em;color:#d6cebf80;font-size:8px}.no-script-notice{z-index:40;background:#191918;padding:16px;font-size:12px;position:fixed;bottom:85px;left:4%}.no-script-notice a{text-decoration:underline}.work-copy{z-index:3;width:35%;position:absolute;top:25%;left:6.5%}.work-copy .eyebrow{margin-bottom:24px}.work-copy .display-title{font-size:clamp(34px,3.67vw,62.56px);line-height:1.13}.project-descriptions{margin-top:30px;position:relative}.featured-description{visibility:hidden;opacity:0;width:100%;position:absolute;inset:0 auto auto 0}.featured-description:first-child{visibility:visible;opacity:1;position:relative}.featured-description h3{max-width:355px;margin-bottom:14px;font-size:clamp(16px,1.35vw,22px);font-weight:500}.featured-description p{color:#dbd3c5b0;max-width:345px;font-size:12px;line-height:1.9}.featured-scope{color:#d9d0bcbb;margin-top:20px;font-size:10px;display:block}.featured-links{gap:10px;margin-top:25px}.featured-links a{gap:16px;padding:11px 12px;font-size:10px}.featured-stage{perspective:1600px;width:63%;height:65%;position:absolute;top:21%;left:42%}.featured-visual{transform-origin:50%;visibility:hidden;opacity:0;background:#2d2b26;border:5px solid #2d2b26;border-radius:12px;width:88%;position:absolute;top:0;left:0;transform:rotateY(-15deg)rotateX(5deg)rotate(-4deg);box-shadow:-30px 40px 70px #0008}.featured-visual:first-child{visibility:visible;opacity:1}.featured-visual:after{content:"";pointer-events:none;border:1px solid #e7ddc92e;border-radius:6px;position:absolute;inset:0}.featured-pagination{align-items:center;gap:20px;font-size:10px;display:flex;position:absolute;bottom:11.5%;right:5%}.featured-dots{gap:8px;display:flex}.featured-dots button{width:32px;height:24px;position:relative}.featured-dots button:before{content:"";background:#d6cebf4d;width:100%;height:2px;position:absolute;top:11px;left:0}.featured-dots button[aria-pressed=true]:before{background:#ef4934}.sample-label{color:#d6cebf80;margin-left:20px;font-size:8px}.process-heading{z-index:2;position:absolute;top:21%;left:6.5%}.process-heading .eyebrow{margin-bottom:25px}.process-heading .display-title{font-size:clamp(43.52px,4.9vw,81.6px)}.process-geometry{perspective:900px;width:49%;height:42%;position:absolute;top:17%;right:6%}.glass-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(130deg,#e7d3b715,#d5c3b403 60%);border:1px solid #d8c9b35c;place-items:center;width:31%;height:65%;display:grid;position:absolute;transform:rotateY(-28deg)rotate(-9deg);box-shadow:inset 1px 0 1px #e9d8bc44,20px 30px 40px #0004}.glass-panel span{color:#c3a78d60;letter-spacing:.1em;font-size:11px}.glass-one{top:0;left:0}.glass-two{top:14%;left:24%}.glass-three{top:5%;left:48%}.glass-four{top:22%;left:72%}.glass-three span{color:#ef795b;font-size:40px;font-weight:300}.process-beam{background:linear-gradient(90deg,#0000,#ff5b35,#ff7955,#fc6741,#0000);width:105%;height:1px;position:absolute;top:47%;transform:rotate(14deg);box-shadow:0 0 12px 3px #ef493457}.process-steps{gap:30px;list-style:none;position:absolute;bottom:17%;left:6.5%;right:6.5%}.process-steps li{border-top:1px solid #ef4934b3;padding-top:18px;position:relative}.step-number{color:#ef4934;font-size:25px;font-weight:400;position:absolute;top:-38px}.process-steps h3{margin-bottom:10px;font-size:15px;font-weight:500}.process-steps p{color:#d6cebfaa;font-size:12px;line-height:1.8}.scene-contact .scene-copy{top:25%}.scene-contact .display-title{font-size:clamp(47.6px,5.78vw,102px)}.scene-contact .eyebrow{max-width:400px;font-size:8px}.contact-actions{margin-top:28px}.contact-socials{gap:27px;margin-top:32px}.contact-socials a,.contact-socials button{color:#eee7d5;align-items:center;gap:9px;font-size:11px;display:inline-flex}.contact-socials span{font-size:17px;font-weight:600}.contact-socials button:hover,.contact-socials a:hover{color:#ef4934}.project-screen{aspect-ratio:1.6;color:#26251f;background:#eee7da;border-radius:6px;width:100%;font-size:1.2cqw;position:relative;overflow:hidden;container-type:inline-size}.screen-orbit{display:flex}.app-sidebar{color:#c0b9ab;background:#2c2a25;flex-direction:column;flex:none;gap:3%;width:17%;padding:3.4% 1.8% 2%;display:flex;position:relative}.app-brand{color:#e5ddcc;letter-spacing:-.03em;white-space:nowrap;margin-bottom:22%;font-size:1.05cqw;font-weight:500}.app-brand>span{color:#ef4934;vertical-align:middle;font-size:1.9cqw}.app-sidebar>small{letter-spacing:.08em;color:#898376;white-space:nowrap;margin-bottom:8%;font-size:.6cqw}.app-sidebar>span{white-space:nowrap;gap:10%;padding:7% 5%;font-size:1.05cqw;line-height:1.2;display:flex}.app-sidebar>span i{font-size:.9cqw;font-style:normal}.app-sidebar .is-selected{color:#f26047;background:#ef49341c;border-radius:3px}.sidebar-user{align-items:center;gap:8%;width:86%;display:flex;position:absolute;bottom:5%;left:12%}.sidebar-user>b{color:#fff1db;background:#9f8a6f;border-radius:50%;place-items:center;width:2.1cqw;height:2.1cqw;font-size:.8cqw;display:grid}.sidebar-user>span{font-size:.7cqw}.sidebar-user small{color:#8a8376;margin-top:.25cqw;font-size:.6cqw;display:block}.app-content{flex:1;min-width:0;padding:0 3%}.app-topbar{color:#81796d;border-bottom:1px solid #b8ac9440;justify-content:space-between;align-items:center;padding:2.4% 0;font-size:.75cqw;display:flex}.app-topbar i{background:#d7cab7;border-radius:50%;place-items:center;width:1.6cqw;height:1.6cqw;font-size:.65cqw;font-style:normal;display:inline-grid}.app-heading{justify-content:space-between;align-items:center;margin:4.5% 0 4%;display:flex}.app-heading h4{letter-spacing:-.05em;font-size:2.2cqw;font-weight:600}.app-add{color:#fff6e6;background:#ef4934;border-radius:3px;padding:1.5% 2%;font-size:.9cqw}.app-toolbar{border-bottom:1px solid #b8ac9440;justify-content:space-between;align-items:center;gap:3%;padding-bottom:2%;font-size:.65cqw;display:flex}.app-toolbar>div{white-space:nowrap;gap:1.8cqw;display:flex}.app-toolbar b{color:#ef4934;font-weight:500;position:relative}.app-toolbar b:after{content:"";background:#ef4934;height:2px;position:absolute;bottom:-1.1cqw;left:0;right:0}.app-toolbar>span{color:#aca18f;border:1px solid #b8ac9450;border-radius:3px;padding:.6cqw 1cqw}.app-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;margin-top:2%;font-size:.74cqw}.app-table th{color:#81796d;padding:1cqw .4cqw;font-size:.65cqw;font-weight:400}.app-table td{border-top:1px solid #b8ac9430;padding:1.5cqw .4cqw}.task-box{border:1px solid #b9b09e;border-radius:2px;width:.65cqw;height:.65cqw;margin-right:.5cqw;display:inline-block}.mini-avatar{color:#fff5e1;background:#b19b7e;border:1px solid #eee7da;border-radius:50%;place-items:center;width:1.5cqw;height:1.5cqw;font-size:.5cqw;display:inline-grid}.avatar-muted{background:#555d5b;margin-left:-.6cqw}.task-status{color:#666e75;background:#d5d1c6;border-radius:3px;padding:.3cqw .5cqw;font-size:.6cqw}.status-done{color:#5d7659;background:#d9dfcd}.status-review{color:#9a7c3f;background:#eaddb6}.task-progress{vertical-align:middle;background:#dcd3c3;border-radius:5px;width:3.8cqw;height:.4cqw;margin-right:.4cqw;display:inline-block}.task-progress i{background:#ef7058;border-radius:5px;height:100%;display:block}.app-table-bottom{color:#988d79;border-top:1px solid #b8ac9430;justify-content:space-between;padding-top:1.5cqw;font-size:.65cqw;display:flex}.app-table-bottom b{color:#ef4934;font-weight:400}.app-summary{grid-template-columns:repeat(3,1fr);gap:1.3cqw;margin-top:3.5cqw;display:grid}.app-summary>div{border:1px solid #c8baa340;border-radius:4px;padding:1cqw}.app-summary span{color:#8d806a;font-size:.7cqw}.app-summary b{margin-top:.8cqw;font-size:2.5cqw;font-weight:500;display:block}.app-summary small{color:#a99c86;margin-left:.7cqw;font-size:.65cqw;font-weight:400}.app-summary i{background:linear-gradient(90deg,#ef7058 68%,#e3d8c4 68%);height:.35cqw;margin-top:1cqw;display:block}.screen-forma{background:#e7dece}.commerce-top{justify-content:space-between;align-items:center;padding:4% 5%;font-size:1cqw;display:flex}.commerce-top b{font-family:var(--font-sans);letter-spacing:-.07em;font-size:2.8cqw;font-weight:400}.commerce-hero{background:radial-gradient(at 75% 60%,#c6b69655,#0000 50%);height:74%;padding:5% 7%;display:flex;position:relative}.commerce-hero>div:first-child{z-index:2;width:55%}.commerce-hero span{letter-spacing:.08em;font-size:.8cqw}.commerce-hero h4{font-family:var(--font-sans);letter-spacing:-.04em;margin-top:3.5cqw;font-size:6.5cqw;font-weight:400;line-height:1.12}.commerce-hero p{color:#83745e;width:90%;margin-top:2.5cqw;font-size:1.1cqw;line-height:1.9}.commerce-link{text-underline-offset:.6cqw;margin-top:3cqw;text-decoration:underline;display:block}.product-chair{width:25%;height:80%;position:absolute;top:15%;right:11%;transform:rotate(-9deg)}.chair-back{background:linear-gradient(100deg,#70583a,#b7975f 70%,#7a5e37);border-radius:38% 38% 10% 10%;width:95%;height:44%;position:absolute;top:0;right:0;transform:skewY(8deg);box-shadow:inset 0 0 15px #5c482c55}.chair-seat{background:linear-gradient(#c5a471,#94744a);border-radius:12%;width:102%;height:14%;position:absolute;top:44%;left:0;transform:skewY(-8deg)}.chair-leg{transform-origin:top;background:linear-gradient(90deg,#6a5030,#ae8a52);width:7%;height:43%;position:absolute;top:53%}.leg-one{left:10%;transform:rotate(9deg)}.leg-two{right:9%;transform:rotate(-6deg)}.chair-shadow{filter:blur(9px);background:#57472b25;border-radius:50%;width:140%;height:12%;position:absolute;bottom:-7%}.commerce-bottom{border-top:1px solid #a99b8233;justify-content:space-between;margin:0 5%;padding-top:2%;font-size:.8cqw;display:flex}.screen-still{color:#e4e6cd;background:#2c2c25}.studio-top{border-bottom:1px solid #e0dfb51a;justify-content:space-between;align-items:center;padding:4% 5%;font-size:.9cqw;display:flex}.studio-top b{letter-spacing:-.1em;font-size:2.8cqw}.studio-hero{height:73%;padding:5% 7%;position:relative;overflow:hidden}.studio-hero>p{letter-spacing:.16em;font-size:.9cqw}.studio-hero h4{font-family:var(--font-display);z-index:2;margin-top:3cqw;font-size:10cqw;line-height:1.1;position:relative}.studio-hero h4 span{color:#cbd541}.studio-hero>span{font-size:1.1cqw;position:absolute;bottom:3cqw}.studio-sculpture{width:48%;height:90%;position:absolute;top:2%;right:-3%;transform:rotate(-20deg)}.studio-sculpture i{background:radial-gradient(circle at 28% 25%,#ebef87,#a6b144 35%,#515a23 65%,#202710);border-radius:50%;width:90%;height:70%;position:absolute;box-shadow:15px 20px 30px #15180b55}.studio-sculpture i:nth-child(2){width:70%;height:55%;top:35%;left:-5%}.studio-sculpture i:nth-child(3){width:45%;height:35%;top:65%;left:20%}.studio-bottom{color:#b6b9a0;justify-content:space-between;padding:2% 5%;font-size:.8cqw;display:flex}.page-shell{padding-left:6.5%;padding-right:6.5%}.projects-page,.project-page{padding-top:160px;position:relative}.projects-page:before{content:"";background:linear-gradient(90deg,#191918, #19191850), var(--studio-image) 10% 40% / 220% auto;opacity:.19;pointer-events:none;z-index:-1;width:65%;height:720px;position:absolute;top:0;right:0}.projects-kicker{justify-content:space-between;align-items:center;display:flex}.projects-kicker>a{color:#d2c8b795;font-size:10px}.projects-intro>.display-title{width:max-content;max-width:100%;margin-top:35px;font-size:clamp(47.6px,6.05vw,105.4px);position:relative}.projects-intro sup{font-family:var(--font-sans);letter-spacing:0;font-size:13px;position:absolute;top:6px;right:-42px}.projects-lead{justify-content:space-between;align-items:end;gap:35px;margin-top:32px;display:flex}.projects-lead>p{color:#d6cebfaa;max-width:535px;font-size:13px;line-height:1.9}.projects-lead>span{letter-spacing:.1em;color:#b9ad9966;text-align:right;font-size:8px;line-height:2}.projects-lead b{letter-spacing:0;color:#d6cebf;font-size:10px;font-weight:400}.projects-collection{margin-top:65px;padding-bottom:90px}.collection-toolbar{border-bottom:1px solid #e5dcc32e;justify-content:space-between;align-items:center;gap:25px;display:flex}.project-filters{gap:35px}.project-filters button{color:#d6cebf88;border-bottom:2px solid #0000;padding:20px 0;font-size:12px}.project-filters button[aria-pressed=true]{color:#f3ead8;border-color:#ef4934}.project-filters sup{color:#b5a78c;margin-left:5px;font-size:8px}.project-search{color:#d6cebf88;align-items:center;gap:20px;display:flex}.project-search input{color:#f3ead8;background:0 0;border:0;outline:none;width:190px;padding:12px 0;font-size:11px}.project-search input::placeholder{color:#d6cebf70}.project-search>span{font-size:23px}.project-grid{gap:55px 30px;margin-top:35px}.project-card{min-width:0}.project-card:first-child{grid-column:1/-1}.project-cover{aspect-ratio:1.45;perspective:1400px;justify-content:center;align-items:center;padding:10%;display:flex;position:relative;overflow:hidden}.cover-orbit{background:radial-gradient(at 50% 0,#51483b,#302e28 75%)}.cover-forma{background:#625a4a}.cover-still{background:#3a3e2a}.project-card:first-child .project-cover{aspect-ratio:2.15;padding:7% 15%}.project-cover>.project-screen{border:4px solid #ffffff0a;flex:none;width:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:rotateY(-12deg)rotateX(5deg)rotate(-4deg);box-shadow:-15px 35px 50px #0007}.project-cover:hover>.project-screen{transform:rotateY(-5deg)rotateX(0)rotate(-1deg)translateY(-8px)}.cover-category{color:#e7ddc99c;z-index:2;font-size:9px;position:absolute;top:24px;left:27px}.project-open{border:1px solid #e7ddc94d;place-items:center;width:40px;height:40px;font-size:23px;transition:background .2s;display:grid;position:absolute;bottom:22px;right:24px}.project-cover:hover .project-open{background:#ef4934;border-color:#ef4934}.project-card-heading{align-items:center;gap:17px;margin-top:25px;display:flex}.project-index{color:#a59882;font-size:10px}.project-card-heading h2{letter-spacing:-.025em;flex:1;font-size:23px;font-weight:400}.project-card-heading>span:last-child{color:#ef4934;font-size:20px}.project-card-description{color:#c6bcab99;max-width:560px;margin-top:15px;font-size:12px;line-height:1.85}.project-card-meta{color:#ab9f888c;border-top:1px solid #e5dcc321;justify-content:space-between;gap:15px;margin-top:21px;padding-top:14px;font-size:9px;display:flex}.collection-count{color:#b1a58d99;border-top:1px solid #e5dcc32e;margin-top:50px;padding-top:20px;font-size:10px}.projects-empty{text-align:center;padding:100px 0}.projects-empty h2{font-size:25px}.projects-empty p{color:#b1a58d;margin-top:15px;font-size:13px}.projects-empty .line-link{margin-top:30px;font-size:12px}.page-footer{background:#141412;border-top:1px solid #e5dcc32e;padding-top:65px;padding-bottom:30px}.page-footer-content{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;margin-top:35px;margin-bottom:60px;display:grid}.page-footer .display-title{font-size:clamp(37.4px,4.28vw,71.4px)}.page-footer-content>div>p{color:#c7bca9a6;font-size:12px;line-height:1.9}.page-footer-bottom{border-top:1px solid #e5dcc32e;align-items:center;gap:25px;padding-top:25px;font-size:10px}.page-footer-bottom .identity{font-size:10px}.page-footer-bottom>span{letter-spacing:.1em;color:#a99b8277;font-size:8px}.back-link{color:#c7bca98c;font-size:11px}.project-detail-heading{margin-top:50px}.project-detail-heading .display-title{max-width:1100px;margin-top:25px;font-size:clamp(44.2px,5.78vw,95.2px);line-height:1.2}.project-detail-heading>p:last-child{color:#c9beaaa6;max-width:560px;margin-top:25px;font-size:15px;line-height:1.9}.project-detail-meta{border-top:1px solid #e5dcc32e;justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding:28px 0;display:flex}.project-detail-meta>div{flex-direction:column;gap:12px;display:flex}.project-detail-meta>div span{letter-spacing:.12em;color:#b5a78c88;font-size:8px}.project-detail-meta b{font-size:11px;font-weight:400}.project-detail-art{aspect-ratio:1.8;perspective:1500px;justify-content:center;align-items:center;padding:7% 12%;display:flex;overflow:hidden}.project-detail-art>.project-screen{flex:none;width:100%;transform:rotateY(-9deg)rotate(-3deg);box-shadow:-10px 35px 60px #0008}.project-story{grid-template-columns:1fr 1.8fr;gap:60px;padding:90px 0;display:grid}.project-story h2{letter-spacing:-.035em;font-size:35px;line-height:1.3}.project-story p:not(.eyebrow){color:#c7bca9a6;max-width:620px;margin-top:26px;font-size:14px;line-height:1.95}.project-story ul{margin-top:30px}.project-story li{border-top:1px solid #e5dcc321;gap:20px;padding:17px 0;font-size:12px;display:flex}.project-story li span{color:#ef4934}.project-story p.sample-note{color:#a99b8277;font-size:11px}.next-project{border-top:1px solid #e5dcc32e;grid-template-columns:1fr auto;align-items:center;padding:35px 0 70px;display:grid}.next-project>span{letter-spacing:.13em;color:#b5a78c88;grid-column:1/-1;font-size:8px}.next-project strong{letter-spacing:-.04em;margin-top:20px;font-size:clamp(30px,4.4vw,72px);font-weight:400}.next-project b{color:#ef4934;font-size:45px;font-weight:400}@media (width>=1600px){.scene-copy .eyebrow{font-size:12px}.scene-copy .line-link{font-size:17px}.scene-technology,.chapter-nav button{font-size:11px}.cinema-footer{bottom:25px}.scene-contact .scene-copy{top:27%}}@media (width<=1200px){.portfolio-header nav{gap:25px}.header-rule{margin-right:5%}.chapter-nav{gap:18px}.portrait-note{display:none}.wheel-hint{margin-right:5px;font-size:7px}.scene-copy .display-title{font-size:6.8vw}.scene-profile .display-title{font-size:7.82vw}.scene-copy{left:8%}.scene-description{font-size:13px}.work-copy{top:25%}.work-copy .display-title{font-size:3.74vw}.featured-description h3{font-size:16px}.featured-description p{font-size:11px}.featured-scope{font-size:9px}.featured-stage{top:25%;left:43%}.featured-links a{gap:9px;padding:9px;font-size:9px}.process-heading .display-title{font-size:5.17vw}.process-steps{gap:20px}.process-steps h3{font-size:13px}.process-steps p{font-size:11px}.scene-contact .display-title{font-size:5.78vw}.projects-intro>.display-title{font-size:6.12vw}}@media (width>=768px) and (height<=760px){.portfolio-header{height:75px}.scene-copy{top:19%}.scene-copy .eyebrow{margin-bottom:20px}.scene-copy .display-title{font-size:min(6.32vw,11.9vh)}.scene-profile .display-title{font-size:min(7.82vw,13.6vh)}.scene-thinking .display-title{font-size:min(6.19vw,11.56vh)}.scene-description,.scene-copy .line-link{margin-top:20px;font-size:13px}.scene-introduction .scene-copy{top:18%}.scene-contact .scene-copy{top:21%}.scene-contact .display-title{font-size:5.44vw}.contact-actions{margin-top:20px}.contact-socials{margin-top:23px}.work-copy{top:22%}.work-copy .eyebrow{margin-bottom:18px}.work-copy .display-title{font-size:3.4vw}.project-descriptions{margin-top:20px}.featured-stage{top:22%}.featured-visual{width:80%}.featured-description h3{margin-bottom:10px;font-size:16px}.featured-description p{font-size:11px;line-height:1.7}.featured-scope{margin-top:13px}.featured-links{margin-top:18px}.scene-technology{bottom:13%}.process-heading{top:20%}.process-heading .display-title{font-size:4.42vw}.process-steps{bottom:18%}.process-steps h3{font-size:12px}.process-steps p{font-size:11px}}@media (width<=767px){html{scroll-padding-top:80px}.portfolio-header{align-items:center;gap:12px;height:78px;left:6%;right:6%}.identity{letter-spacing:.1em;font-size:9px}.header-rule{display:none}.portfolio-header nav{gap:18px;margin-left:auto}.portfolio-header nav a{font-size:9px}.portfolio-header nav a:first-child,.portfolio-header nav a:nth-child(3){display:none}.portfolio-header nav a span{margin-left:3px}.scene-copy,.scene-profile .scene-copy,.scene-introduction .scene-copy,.scene-contact .scene-copy{width:86%;top:auto;bottom:19%;left:7%}.scene-copy .eyebrow{letter-spacing:.1em;max-width:250px;margin-bottom:17px;font-size:7px}.scene-copy .display-title{font-size:clamp(35.36px,9.32vw,68px)}.scene-profile .display-title{font-size:12.92vw}.scene-thinking .display-title{font-size:11.22vw}.scene-introduction .display-title{font-size:9.32vw}.scene-description{letter-spacing:.01em;max-width:310px;margin-top:18px;font-size:11px;line-height:1.8}.scene-profile .scene-description{font-size:12px}.scene-copy .line-link{gap:12px;margin-top:20px;font-size:12px}.line-link>span{width:23px;height:23px;font-size:17px}.intro-next{display:none}.technical-line{gap:12px;margin-top:20px;padding-top:12px;font-size:9px}.scene-technology{letter-spacing:.025em;gap:8px;font-size:7px;bottom:13.5%;left:7%}.cinema-shade{background:linear-gradient(#0000 20%,#11110f55 42%,#11110fbf 75%,#11110ff0 96%),linear-gradient(#11110f33,#0000 18%)}.portrait-fallback{width:50.025svh;height:75svh;top:-3.5svh;left:calc(50% - 25.0125svh)}.scene-side{font-size:8px;top:32%;right:4%}.scene-side-line{height:40px}.scene-side-line:before{height:8px}.cinema-footer{flex-direction:column;align-items:stretch;gap:3px;padding-top:7px;display:flex;bottom:10px;left:6%;right:6%}.chapter-nav{justify-content:space-between;gap:5px}.chapter-nav button{min-height:35px;padding:10px 0;font-size:8px}.chapter-nav button span{margin-right:4px;font-size:7px}.chapter-nav button[aria-current]:before{width:4px;height:4px;margin-right:5px}.cinema-controls{justify-content:flex-end;margin-left:0}.wheel-hint{letter-spacing:.12em;margin-right:auto;font-size:6px}.cinema-controls button{width:29px;height:25px;font-size:12px}.portrait-note{display:none}.work-copy{width:86%;top:12%;left:7%}.work-copy .eyebrow{margin-bottom:12px;font-size:7px}.work-copy .display-title{font-size:7.34vw}.project-descriptions{margin-top:15px}.featured-description h3{margin-bottom:8px;font-size:14px}.featured-description p{max-width:290px;font-size:10px;line-height:1.8}.featured-scope{margin-top:11px;font-size:8px}.featured-links{gap:7px;margin-top:16px}.featured-links a{gap:12px;padding:9px 11px;font-size:9px}.featured-stage{width:100%;height:30%;top:55%;left:10%}.featured-visual{border-width:3px;border-radius:7px;width:84%;transform:rotateY(-12deg)rotateX(5deg)rotate(-4deg)}.featured-pagination{gap:12px;font-size:8px;bottom:12%;right:7%}.featured-dots button{width:22px}.sample-label{margin-left:5px;font-size:6px}.process-heading{top:14%;left:7%}.process-heading .eyebrow{margin-bottom:17px;font-size:7px}.process-heading .display-title{font-size:8.84vw}.process-geometry{opacity:.8;width:78%;height:24%;top:36%;right:7%}.glass-panel span{font-size:7px}.glass-three span{font-size:25px}.process-beam{height:1px}.process-steps{gap:42px 22px;bottom:15%;left:7%;right:7%}.process-steps li{padding-top:12px}.step-number{font-size:18px;top:-29px}.process-steps h3{margin-bottom:8px;font-size:11px}.process-steps p{font-size:9px;line-height:1.8}.scene-contact .display-title{font-size:9.52vw}.scene-contact .eyebrow{max-width:245px;font-size:6px}.scene-contact .scene-copy{bottom:20%}.contact-actions{margin-top:20px}.button-accent,.button-outline{gap:20px;padding:10px 13px;font-size:10px}.contact-socials{gap:22px;margin-top:27px}.contact-socials a,.contact-socials button{gap:6px;font-size:10px}.contact-socials span{font-size:15px}.page-shell{padding-left:6%;padding-right:6%}.projects-page,.project-page{padding-top:125px}.projects-kicker{align-items:start}.projects-kicker .eyebrow{max-width:160px;font-size:7px}.projects-kicker>a{font-size:8px}.projects-intro>.display-title{margin-top:30px;font-size:8.84vw;line-height:1.2}.projects-intro sup{font-size:9px;top:-4px;right:-18px}.projects-lead{flex-direction:column;align-items:start;gap:25px;margin-top:23px}.projects-lead>p{font-size:11px}.projects-lead>span{display:none}.projects-collection{margin-top:32px;padding-bottom:50px}.collection-toolbar{flex-wrap:wrap;gap:0}.project-filters{gap:24px}.project-filters button{padding:15px 0;font-size:10px}.project-filters sup{font-size:7px}.project-search{border-top:1px solid #e5dcc315;width:100%}.project-search input{width:100%;padding:14px 0;font-size:10px}.project-search>span{font-size:20px}.project-grid{gap:35px;margin-top:25px}.project-card:first-child{grid-column:auto}.project-card:first-child .project-cover,.project-cover{aspect-ratio:1.3;padding:10% 7%}.cover-category{font-size:8px;top:16px;left:18px}.project-open{width:29px;height:29px;font-size:18px;bottom:14px;right:16px}.project-card-heading{gap:10px;margin-top:18px}.project-card-heading h2{font-size:17px}.project-index{font-size:8px}.project-card-description{margin-top:12px;font-size:10px}.project-card-meta{gap:10px;margin-top:15px;font-size:7px;line-height:1.8}.project-card-meta>span:first-child{max-width:62%}.collection-count{margin-top:32px;font-size:8px;line-height:1.8}.projects-empty{padding:65px 10px}.projects-empty h2{font-size:20px}.projects-empty p{font-size:11px}.page-footer{padding-top:40px}.page-footer>.eyebrow{font-size:7px}.page-footer-content{grid-template-columns:1fr;gap:25px;margin:25px 0 40px}.page-footer .display-title{font-size:8.5vw}.page-footer-content>div>p{font-size:10px}.page-footer-bottom{gap:20px;font-size:9px}.page-footer-bottom .identity{font-size:8px}.page-footer-bottom>span{display:none}.back-link{font-size:10px}.project-detail-heading{margin-top:30px}.project-detail-heading .eyebrow{font-size:8px}.project-detail-heading .display-title{margin-top:20px;font-size:9.52vw}.project-detail-heading>p:last-child{margin-top:20px;font-size:12px}.project-detail-meta{grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:25px;padding:25px 0;display:grid}.project-detail-meta>div span{font-size:7px}.project-detail-meta>div b{font-size:9px;line-height:1.8}.project-detail-meta .button-accent{width:max-content}.project-detail-art{aspect-ratio:1.25;padding:10% 6%}.project-story{grid-template-columns:1fr;gap:25px;padding:45px 0}.project-story .eyebrow{font-size:8px}.project-story h2{font-size:27px}.project-story p:not(.eyebrow){margin-top:20px;font-size:12px}.project-story li{font-size:11px}.project-story p.sample-note{font-size:10px}.next-project{padding-bottom:45px}.next-project>span{font-size:7px}.next-project strong{max-width:85%;font-size:29px;line-height:1.3}.next-project b{font-size:30px}}@media (width<=767px) and (height<=720px){.scene-copy .display-title,.scene-introduction .display-title{font-size:8.16vw}.scene-profile .display-title{font-size:10.88vw}.scene-thinking .display-title{font-size:9.86vw}.scene-copy,.scene-profile .scene-copy,.scene-introduction .scene-copy{bottom:21%}.scene-copy .eyebrow{margin-bottom:12px}.scene-description{margin-top:13px;font-size:10px}.scene-copy .line-link{margin-top:15px;font-size:10px}.work-copy{top:13%}.work-copy .display-title{font-size:6.12vw}.work-copy .eyebrow{display:none}.featured-description h3{font-size:12px}.featured-description p{font-size:9px}.featured-scope{display:none}.featured-stage{top:57%}.featured-visual{width:73%}.process-heading{top:14%}.process-heading .display-title{font-size:7.48vw}.process-geometry{height:20%;top:33%}.process-steps{gap:36px 20px;bottom:17%}.process-steps h3{font-size:10px}.process-steps p{font-size:8px}.step-number{font-size:16px;top:-25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portfolio *,.portfolio :before,.portfolio :after{transition-duration:.01ms!important;animation:none!important}}.portfolio-v2{overscroll-behavior:none;color:#f1f1e9;--v2-lime:#b9ef78;background:#080b10;height:100svh;overflow:clip}.v2-stage{isolation:isolate;outline:none;height:100svh;position:relative;overflow:clip}html[data-portfolio-booting] .v2-stage:not([data-initialized]) .v2-scene,html[data-portfolio-booting] .v2-stage:not([data-initialized]) .v2-chapters,html[data-portfolio-booting] .v2-stage:not([data-initialized]) .v2-progress{visibility:hidden!important;opacity:0!important}.v2-world,.v2-ambience{position:absolute;inset:0}.v2-world{z-index:1}.v2-world canvas{opacity:0;visibility:hidden;outline:none;width:100%;height:100%;transition:opacity .35s;display:block}.v2-world.is-ready canvas{opacity:1;visibility:visible}.v2-ambience{z-index:0;pointer-events:none}.v2-header{z-index:20;gap:32px;height:110px;position:absolute;inset:0 0 auto}.v2-identity{color:inherit;flex-direction:column;gap:8px;text-decoration:none;display:flex}.v2-identity>span{text-transform:uppercase;letter-spacing:.055em;font-size:14px;font-weight:700;line-height:1.3}.v2-identity small{color:#8d959e;letter-spacing:.09em;font-size:8px;display:block}.v2-top-nav{gap:32px;margin-left:auto}.v2-top-nav :is(button,a){color:#c0c7ce;background:0 0;border:0;padding:12px 0;font-size:11px;text-decoration:none}.v2-top-nav :is(button,a):hover,.v2-text-button:hover{color:var(--v2-lime)}.v2-top-nav button span{color:var(--v2-lime);margin-left:8px}.v2-versions{border:1px solid #8993a033;border-radius:30px;margin-left:20px;padding:3px;font-size:9px;display:flex}.v2-versions>*{border-radius:30px;padding:6px 11px;text-decoration:none}.v2-versions a{color:#a2aab5}.v2-versions [aria-current]{color:#11170d;background:#ecf2dd}.v2-scene{z-index:3;visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0}.v2-scene.is-active{visibility:visible;opacity:1}.v2-scene a,.v2-scene button,.v2-scene select{pointer-events:auto}.v2-copy{left:var(--portfolio-shell-inset);width:43%;max-width:min(var(--portfolio-shell-width),var(--portfolio-shell-max));position:absolute;top:22%}.v2-hero-copy{width:57%;top:21%}.v2-eyebrow{letter-spacing:.17em;color:#a2adb9;margin:0 0 28px;font-size:9px;font-weight:600;line-height:1.5}.v2-eyebrow>span{background:var(--v2-lime);border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 15px #b9ef7844}.v2-copy h1,.v2-copy h2{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(42px,4.3vw,82px);font-weight:800;line-height:1.2}.v2-copy h2{font-size:clamp(38px,4vw,76px)}.v2-outline{color:#0000;-webkit-text-stroke:1px #eff2eab8}.v2-description{color:#a9b2bd;letter-spacing:.015em;margin:28px 0 0;font-size:14px;line-height:1.85}.v2-hero-actions{flex-wrap:wrap;gap:25px;margin-top:30px}.v2-button{color:#10190b;background:var(--v2-lime);border:1px solid var(--v2-lime);border-radius:999px;justify-content:space-between;align-items:center;gap:32px;min-height:46px;padding:13px 19px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.v2-button>span{font-size:18px;line-height:1}.v2-button:hover{background:#d0ffa0}.v2-text-button{color:#c0c8cf;background:0 0;border:0;align-items:center;gap:16px;padding:13px 0;font-size:11px;text-decoration:none;display:inline-flex}.v2-person{border-top:1px solid #d6dce424;align-items:center;gap:20px;width:460px;max-width:90%;margin-top:43px;padding-top:23px;display:flex}.v2-person img{object-fit:cover;object-position:50% 36%;filter:saturate(.7);border-radius:4px;flex:none;width:76px;height:92px}.v2-person strong{color:#e0e5dc;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.v2-person p{color:#a0adba;margin:0;font-size:12px;line-height:1.85}.v2-object-caption{letter-spacing:.12em;color:#c3cbd2;align-items:center;gap:15px;margin:0;font-size:8px;display:flex;position:absolute;bottom:12%;right:8%}.v2-object-caption small{letter-spacing:.01em;color:#7d8a99;margin-top:8px;font-size:9px;display:block}[data-v2-panel="4"] .v2-object-caption{max-width:36%;left:auto;right:28%}.v2-caption-rule{background:var(--v2-lime);width:39px;height:1px}.v2-skills-copy{width:36%;top:19%}.v2-skills-copy h2{font-size:clamp(38px,3.8vw,72px)}.v2-skill-detail{border-top:1px solid #a3aeba35;max-width:405px;min-height:200px;margin-top:30px;padding-top:26px}.v2-led-keys{pointer-events:none;position:absolute;inset:0}.v2-led-key{cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;padding:0;display:none;position:absolute}.v2-world.is-ready .v2-led-key{display:block}.v2-led-key:focus-visible{background:#c7ff9b33;outline:none}.v2-world.is-fallback .v2-led-keys{justify-content:center;align-items:center;gap:8px;display:flex;inset:auto 5% 10% 50%}.v2-world.is-fallback .v2-led-key{color:var(--v2-text);background:var(--theme-control-bg);border-radius:6px;padding:10px;display:block;position:static;box-shadow:inset 0 -4px #0004}.v2-world.is-fallback .v2-led-key[aria-pressed=true]{background:var(--v2-action);color:var(--v2-action-text)}.v2-world.is-fallback .v2-led-key>span{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.v2-skill-group{color:var(--v2-lime);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.v2-skill-heading{align-items:center;gap:17px;margin:17px 0 20px;display:flex}.v2-skill-mark{border:1px solid var(--skill-color);flex:none;place-items:center;width:60px;height:60px;display:grid}@supports (color:color-mix(in lab, red, red)){.v2-skill-mark{border:1px solid color-mix(in srgb, var(--skill-color) 70%, transparent)}}.v2-skill-mark{background:var(--skill-color);border-radius:13px}.v2-skill-mark img{filter:brightness(0)invert();width:42px;height:42px}.v2-skill-mark>span{font-size:22px;font-weight:700}.v2-skill-detail h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:38px;font-weight:700;line-height:1.2}.v2-skill-detail p{color:#b2bfcd;min-height:80px;margin:0;font-size:14px;line-height:1.9}.v2-sample-note{color:#6f7c8b;margin-top:20px;font-size:8px}.v2-stage-label{text-align:center;font-family:var(--font-display);color:#d8e3e8;letter-spacing:-.04em;font-size:32px;font-weight:800;line-height:1.2;position:absolute;top:15%;left:60%}.v2-stage-label span{font-family:var(--font-sans);letter-spacing:.1em;color:#8998a7;margin-top:13px;font-size:7px;display:block}.v2-project-copy h2{font-size:clamp(34px,3.1vw,62px)}.v2-project-descriptions{min-height:245px;margin-top:33px;position:relative}.v2-project-descriptions>article{visibility:hidden;opacity:0;position:absolute;inset:0}.v2-project-descriptions>article:first-child{visibility:visible;opacity:1}.v2-project-category{color:var(--v2-lime);text-transform:uppercase;letter-spacing:.1em;font-size:9px;display:inline-block}.v2-project-descriptions h3{margin:12px 0 15px;font-size:19px;font-weight:500;line-height:1.5}.v2-project-descriptions p{color:#9aa8b7;max-width:325px;font-size:12px;line-height:1.85}.v2-project-scope{color:#7d8a99;margin-top:22px;font-size:8px;display:block}.v2-project-actions{align-items:center;gap:22px;margin-top:30px}.v2-project-pagination{color:#c7d2db;top:calc(100% + 25px);align-items:center;gap:18px;font-size:8px;display:flex;position:absolute;inset-inline:2%}.v2-project-pagination>div{gap:6px}.v2-project-pagination button{background:0 0;border:0;width:30px;height:12px;position:relative}.v2-project-pagination button:after{content:"";background:#66778777;height:2px;position:absolute;top:5px;left:0;right:0}.v2-project-pagination button[aria-pressed=true]:after{background:var(--v2-lime)}.v2-project-pagination small{color:#627382;margin-left:auto;font-size:7px}.v2-process-copy{width:45%;top:19%}.v2-process-copy h2{font-size:clamp(38px,3.6vw,70px)}.v2-process-steps{gap:28px 35px;max-width:440px;margin-top:34px}.v2-process-steps li{border-top:1px solid #b2c7db2b;padding-top:15px;position:relative}.v2-process-steps li>span{color:var(--v2-lime);font-size:9px}.v2-process-steps h3{margin:10px 0 8px;font-size:13px;font-weight:500}.v2-process-steps p{color:#8998a9;margin:0;font-size:11px;line-height:1.8}.v2-contact-copy{width:52%;top:25%}.v2-contact-copy h2{font-size:clamp(42px,4.5vw,86px)}.v2-contact-copy .contact-actions{margin-top:32px}.portfolio-v2 .button-accent{background:var(--v2-lime);color:#10190c;border-color:var(--v2-lime);border-radius:999px}.portfolio-v2 .contact-socials{gap:25px;margin-top:26px}.portfolio-v2 .contact-socials button,.portfolio-v2 .contact-socials a{color:#a8b5bf;font-size:11px}.v2-footer{z-index:20;gap:20px;padding-top:19px;position:absolute;inset:auto 0 24px}.v2-chapters{gap:25px}.v2-chapters button{color:#7e8c9b;background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;display:flex}.v2-chapters button,.catalog-footer a{font-size:9px}.v2-chapters button>span,.catalog-footer small{font-size:7px}.v2-chapters button>span{color:#536475}.v2-chapters [aria-current],.v2-chapters [aria-current]>span{color:var(--v2-lime)}.v2-progress{z-index:5;color:#617284;flex-direction:column;align-items:center;gap:14px;font-size:7px;display:flex;position:absolute;top:43%;right:2.2%}.v2-progress>span:first-child{color:#cfd8e1}.v2-progress i{background:#54687a44;width:1px;height:66px;position:relative}.v2-progress i:before{content:"";width:3px;height:13px;left:-1px;top:var(--v2-progress,0%);background:var(--v2-lime);transition:top .6s;position:absolute}.v2-key-fallback{grid-template-columns:repeat(6,1fr);gap:7px;width:45%;display:none;position:absolute;top:30%;left:51%;transform:perspective(900px)rotateX(28deg)rotate(-22deg)}.v2-key-fallback button{aspect-ratio:1;background:var(--key-color);color:#fff;border:0;border-radius:13px;font-weight:600;box-shadow:inset 0 -8px #0004,0 10px 20px #0006}.v2-world.is-fallback .v2-key-fallback{display:grid}@media (width>=1600px){.v2-copy{top:23%}.v2-person{margin-top:52px}}@media (height<=760px) and (width>=768px){.v2-copy{top:21%}.v2-copy h1{font-size:4.1vw}.v2-copy h2{font-size:3.5vw}.v2-project-copy h2{font-size:3.1vw}.v2-eyebrow{margin-bottom:18px}.v2-description{margin-top:18px;font-size:12px}.v2-person{margin-top:23px;padding-top:16px}.v2-person img{width:64px;height:77px}.v2-skill-detail{min-height:145px;margin-top:20px;padding-top:16px}.v2-process-steps{gap:16px 26px;margin-top:23px}}@media (width<=767px){.v2-header{gap:16px;height:100px}.v2-identity{gap:6px}.v2-identity>span{letter-spacing:.025em;font-size:11px}.v2-identity small{letter-spacing:.04em;font-size:6px}.v2-top-nav{display:none}.v2-versions{margin-left:auto;font-size:8px}.v2-versions>*{padding:5px 9px}.v2-copy{width:var(--portfolio-shell-width);top:15%}.v2-eyebrow{letter-spacing:.12em;margin-bottom:18px;font-size:7px}.v2-copy h1{font-size:clamp(27px,7.25vw,46px);line-height:1.25}.v2-copy h2{font-size:clamp(30px,8.5vw,52px);line-height:1.25}.v2-outline{-webkit-text-stroke-width:.7px}.v2-description{margin-top:17px;font-size:11px;line-height:1.75}.v2-hero-actions{gap:18px;margin-top:19px}.v2-button{gap:22px;min-height:36px;padding:9px 12px;font-size:9px}.v2-text-button{gap:9px;padding:8px 0;font-size:9px}.v2-person{gap:12px;width:320px;margin-top:20px;padding-top:15px}.v2-person img{width:48px;height:58px}.v2-person strong{margin-bottom:6px;font-size:11px}.v2-person p{font-size:9px;line-height:1.75}.v2-object-caption,.v2-stage-label{display:none}.v2-skills-copy{top:14%}.v2-skills-copy>.v2-description{display:none}.v2-skill-detail{max-width:300px;min-height:0;margin-top:23px;padding-top:16px}.v2-skill-group{font-size:9px}.v2-skill-heading{gap:13px;margin:13px 0 15px}.v2-skill-mark{border-radius:10px;width:48px;height:48px}.v2-skill-mark img{width:34px;height:34px}.v2-skill-detail h3{margin:0;font-size:30px}.v2-skill-detail p{min-height:64px;font-size:12px;line-height:1.8}.v2-sample-note{display:none}.v2-project-copy h2{font-size:6.7vw}.v2-project-descriptions{min-height:185px;margin-top:18px}.v2-project-category{font-size:7px}.v2-project-descriptions h3{margin:7px 0 9px;font-size:15px}.v2-project-descriptions p{max-width:300px;font-size:10px;line-height:1.75}.v2-project-scope{display:none}.v2-project-actions{gap:16px;margin-top:17px}.v2-project-pagination{top:calc(100% + 12px)}.v2-process-copy{top:14%}.v2-process-copy h2{font-size:7.5vw}.v2-process-copy>.v2-description{margin-top:15px;font-size:10px}.v2-process-steps{gap:17px 20px;max-width:345px;margin-top:23px}.v2-process-steps li{padding-top:11px}.v2-process-steps h3{margin:7px 0 6px;font-size:11px}.v2-process-steps p{font-size:9px;line-height:1.7}.v2-contact-copy{top:20%}.v2-contact-copy h2{font-size:8.3vw}.v2-contact-copy .contact-actions{margin-top:22px}.portfolio-v2 .contact-socials{gap:18px;margin-top:20px}.portfolio-v2 .contact-socials a,.portfolio-v2 .contact-socials button{font-size:9px}.v2-footer{flex-direction:column;align-items:stretch;gap:6px;padding-top:8px;bottom:13px}.v2-chapters{justify-content:space-between;gap:8px}.v2-chapters button{gap:4px}.v2-progress{gap:9px;font-size:6px;top:43%;right:3%}.v2-progress i{height:40px}.v2-key-fallback{gap:5px;width:83%;top:61%;left:9%}.v2-key-fallback button{border-radius:8px;font-size:10px}}@media (prefers-reduced-motion:reduce){.v2-progress i:before,.v2-world canvas{transition:none}}@media (width<=767px) and (height<=730px){.v2-copy h1,.v2-copy h2{font-size:clamp(26px,6.5vw,42px)}.v2-hero-copy .v2-person{margin-top:13px;padding-top:10px}.v2-hero-copy .v2-person p{font-size:9px}.v2-project-descriptions{margin-top:20px}.v2-project-pagination{top:calc(100% + 7px)}.v2-project-descriptions p{font-size:10px}.v2-project-actions{margin-top:15px}.v2-process-steps{gap:15px 25px;margin-top:18px}}.v2-project-copy{width:34%;top:16%}.v2-project-descriptions{margin-top:25px}.v2-project-technologies{flex-wrap:wrap;gap:6px;max-width:395px;margin:18px 0 0;display:flex}.v2-project-technologies li{color:#b9cba9;background:#b9ef7809;border:1px solid #b9ef782b;border-radius:4px;padding:5px 8px;font-size:8px;line-height:1.4}.v2-project-stage{aspect-ratio:auto;perspective:none;width:49%;height:58svh;position:absolute;top:19%;left:46%}.v2-project-pagination{top:calc(100% + 26px)}.project-devices{width:100%;height:100%;position:relative;transform:translate(0)}[data-chapter="1"] .project-devices,[data-chapter="2"] .project-devices{will-change:transform, opacity}.project-devices:not(.frames-ready){visibility:hidden!important}.device-desktop{aspect-ratio:3/2;filter:drop-shadow(0 22px 24px #0006);width:108%;position:absolute;top:-2%;left:-7%}.device-photo-frame{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{overscroll-behavior:none;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#7e8993 #161c23;background:#f1eee6;outline:none;position:relative;overflow:hidden auto}.v2-scene [data-device-screen]{pointer-events:auto}.device-screen:focus-visible{outline:2px solid var(--v2-lime);outline-offset:-2px}.device-screen img{-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:auto;display:block}.device-screen-desktop{z-index:4;border-radius:1%/1.8%;width:85.2%;height:73.4%;position:absolute;top:1.8%;left:7.4%}.device-phone{z-index:5;aspect-ratio:884/1778;filter:drop-shadow(-10px 18px 18px #0008);width:25%;position:absolute;bottom:1.5%;right:-1.8%}.device-screen-mobile{z-index:2;scrollbar-width:none;border-radius:9%/4.5%;width:84%;height:93.9%;position:absolute;top:2.9%;left:8%}.device-screen-mobile::-webkit-scrollbar{display:none}.device-home-indicator{pointer-events:none;z-index:4;background:#21252dbb;border-radius:5px;width:30%;height:2px;position:absolute;bottom:5.3%;left:35%}.device-loading{z-index:4;opacity:0;pointer-events:none;transform-origin:0;background:#93b75b;height:3px;position:absolute;top:0;left:0;right:0}.device-scroll-hint{color:#8795a4;align-items:center;gap:7px;margin:0;font-size:8px;display:flex;position:absolute;bottom:-3px;left:2%}.device-scroll-hint .portfolio-icon{transform:rotate(90deg)}@media (width>=1600px){.v2-project-copy{top:18%}.v2-project-stage{top:21%}}@media (height<=760px) and (width>=768px){.v2-project-copy{top:16%}.v2-project-descriptions{margin-top:20px}.v2-project-technologies{gap:4px;margin-top:13px}.v2-project-technologies li{padding:4px 6px;font-size:7px}.v2-project-actions{margin-top:18px}.v2-project-stage{width:47%;height:60svh;top:17%;left:48%}.device-desktop{width:103%}}@media (width<=767px){.v2-project-copy{width:var(--portfolio-shell-width);top:13%}.v2-project-descriptions{margin-top:15px}.v2-project-technologies{gap:4px;max-width:92%;margin-top:10px}.v2-project-technologies li{padding:3px 5px;font-size:7px}.v2-project-actions{margin-top:13px}.v2-project-stage{width:57%;height:32svh;top:52%;left:38%}.device-desktop{width:110%}.device-phone{width:30%}.device-home-indicator{height:1px}.device-scroll-hint{display:none}.v2-project-pagination{top:calc(100% + 17px);gap:9px;font-size:7px;inset-inline:0}.v2-project-pagination button{width:17px}.v2-project-pagination small{display:none}}@media (width<=767px) and (height<=730px){.v2-project-copy h2{font-size:5.5vw}.v2-project-descriptions{margin-top:14px}.v2-project-stage{height:30svh;top:58%}.device-desktop{width:96%}.v2-project-pagination{top:calc(100% + 13px)}}:root{--portfolio-bg:#191918;--portfolio-text:#f3ead8;--portfolio-muted:#c6bfae;--portfolio-subtle:#aaa390;--portfolio-border:#e5dcc333;--portfolio-surface:#141412;--portfolio-accent:#ef4934;--v2-bg:#080b10;--v2-text:#f1f1e9;--v2-muted:#a9b2bd;--v2-subtle:#97a5b3;--v2-border:#d6dce42e;--v2-accent:#b9ef78;--v2-action:#b9ef78;--v2-action-text:#10190b;--v2-action-hover:#d0ffa0;--theme-control-bg:#11171d;--theme-control-text:#d5dfd5;--theme-control-border:#64746a80}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--portfolio-bg:#f4f5ef;--portfolio-text:#18211c;--portfolio-muted:#48564e;--portfolio-subtle:#59665e;--portfolio-border:#243d2d33;--portfolio-surface:#e9ece3;--portfolio-accent:#b43a28;--v2-bg:#f4f5ef;--v2-text:#18211c;--v2-muted:#48564e;--v2-subtle:#59665e;--v2-border:#243d2d33;--v2-accent:#35601e;--v2-action:#35601e;--v2-action-text:#fff;--v2-action-hover:#284c16;--theme-control-bg:#fff;--theme-control-text:#2a422c;--theme-control-border:#6e7e6880}.portfolio:not(.portfolio-home){background:var(--portfolio-bg);color:var(--portfolio-text)}.portfolio.portfolio-v2{background:var(--v2-bg);color:var(--v2-text);--v2-lime:var(--v2-accent)}.portfolio .skip-link{color:#fff;background:#b43a28}.theme-toggle{border:1px solid var(--theme-control-border);background:var(--theme-control-bg);height:34px;color:var(--theme-control-text);border-radius:30px;flex:none;grid-template-columns:16px auto;justify-content:center;align-items:center;gap:8px;padding:7px 12px;font-size:10px;line-height:1;transition:transform .2s,border-color .2s;display:inline-grid}.theme-toggle>span{display:inline-flex}.theme-toggle .theme-toggle-label{grid-area:1/2;min-width:2.8em}.theme-toggle .portfolio-icon{width:16px;height:16px}.theme-toggle:hover{border-color:currentColor}.theme-toggle:active{transform:scale(.94)}.theme-toggle :is(.theme-icon-sun,.theme-icon-moon){grid-area:1/1;transition:opacity .4s,transform .65s cubic-bezier(.22,1,.36,1)}.theme-toggle .theme-icon-sun{opacity:0;transform:rotate(-100deg)scale(.5)}.theme-toggle .theme-icon-moon,[data-theme=light] .theme-toggle .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .theme-toggle .theme-icon-moon{opacity:0;transform:rotate(100deg)scale(.5)}.portfolio .theme-toggle:focus-visible{outline:2px solid var(--v2-accent);outline-offset:4px}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle :is(.theme-icon-sun,.theme-icon-moon){transition:none}.theme-toggle:active{transform:none}}.v2-header-actions{flex:none;gap:14px}.v2-header-actions .v2-versions{margin-left:0}.v2-header,.v2-footer,.v2-person,.v2-skill-detail,.v2-process-steps li,.v2-versions{border-color:var(--v2-border)}.v2-identity small,.v2-top-nav :is(button,a),.v2-versions a,.v2-description,.v2-person p,.v2-skill-detail p,.v2-text-button,.v2-object-caption{color:var(--v2-muted)}.v2-eyebrow,.v2-object-caption small,.v2-stage-label span,.v2-sample-note,.v2-project-descriptions p,.v2-project-scope,.v2-project-pagination small,.v2-process-steps p,.v2-chapters button,.v2-chapters button>span,.v2-progress,.device-scroll-hint{color:var(--v2-subtle)}.v2-person strong,.v2-stage-label,.v2-project-pagination,.v2-progress>span:first-child{color:var(--v2-text)}.v2-top-nav :is(button,a):hover,.v2-text-button:hover,.v2-chapters [aria-current],.v2-chapters [aria-current]>span{color:var(--v2-accent)}.v2-button,.portfolio-v2 .button-accent{background:var(--v2-action);color:var(--v2-action-text);border-color:var(--v2-action)}.v2-button:hover,.portfolio-v2 .button-accent:hover{background:var(--v2-action-hover);border-color:var(--v2-action-hover)}.portfolio-v2 .contact-socials button,.portfolio-v2 .contact-socials a{color:var(--v2-muted)}.portfolio-v2 .contact-socials button:hover,.portfolio-v2 .contact-socials a:hover{color:var(--v2-accent)}.v2-world canvas:focus-visible{outline-color:var(--v2-accent)}[data-theme=light] .v2-outline{-webkit-text-stroke-color:#52634f}[data-theme=light] .v2-versions [aria-current]{color:#fff;background:#223d22}[data-theme=light] .v2-skill-mark{background:var(--skill-color);border-color:var(--skill-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .v2-skill-mark{border-color:color-mix(in srgb, var(--skill-color) 70%, #899582)}}[data-theme=light] .v2-skill-mark img{filter:brightness(0)saturate();opacity:.8}.v2-skill-mark img{object-fit:contain}[data-theme] .v2-skill-mark img[data-logo-mode=original]{filter:none;opacity:1}[data-theme=light] .v2-project-technologies li{color:#35522c;background:#e8eee0;border-color:#acbda0}[data-theme=light] .v2-project-pagination button:after{background:#778772}[data-theme=light] .v2-project-pagination button[aria-pressed=true]:after{background:var(--v2-accent)}[data-theme=light] .v2-progress i{background:#7b8b6f70}[data-theme=light] .device-desktop{filter:drop-shadow(0 18px 20px #1b2b1726)}[data-theme=light] .device-phone{filter:drop-shadow(-8px 12px 12px #1b2b1733)}[data-theme=light] .portfolio:not(.portfolio-home) .header-rule{background:linear-gradient(90deg,#34452c55,#34452c0a)}[data-theme=light] .portfolio:not(.portfolio-home) .button-accent{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff}[data-theme=light] .portfolio.portfolio-v2 .button-accent{background:var(--v2-action);border-color:var(--v2-action)}[data-theme=light] .portfolio:not(.portfolio-home) .red-stop{color:var(--portfolio-accent)}[data-theme=light] .portfolio:not(.portfolio-home) .contact-socials a,[data-theme=light] .portfolio:not(.portfolio-home) .contact-socials button{color:var(--portfolio-muted)}[data-theme=light] .projects-page:before{opacity:.6;background:radial-gradient(at 90% 0,#dce5d7,#0000 66%);width:100%}[data-theme=light] :is(.projects-kicker>a,.projects-lead>p,.projects-lead>span,.projects-lead b,.project-filters button,.project-filters sup,.project-search,.project-card-description,.project-card-meta,.project-index,.collection-count,.projects-empty p,.page-footer-content>div>p,.page-footer-bottom>span,.back-link,.project-detail-heading>p:last-child,.project-detail-meta>div span,.project-story p:not(.eyebrow),.next-project>span){color:var(--portfolio-muted)}[data-theme=light] :is(.collection-toolbar,.project-card-meta,.collection-count,.page-footer,.page-footer-bottom,.project-detail-meta,.project-story li,.next-project){border-color:var(--portfolio-border)}[data-theme=light] .project-filters button[aria-pressed=true]{color:var(--portfolio-text);border-color:var(--portfolio-accent)}[data-theme=light] .project-filters button:hover,[data-theme=light] .projects-kicker>a:hover,[data-theme=light] .back-link:hover{color:var(--portfolio-accent)}[data-theme=light] .project-search input{color:var(--portfolio-text)}[data-theme=light] .project-search input::placeholder{color:var(--portfolio-subtle)}[data-theme=light] .cover-orbit{background:radial-gradient(at 50% 0,#e9eee4,#cdd7c8 75%)}[data-theme=light] .cover-forma{background:#e6decc}[data-theme=light] .cover-still{background:#d9dfc2}[data-theme=light] .cover-category{color:#384b35}[data-theme=light] .project-open{color:#223d22;background:#ffffffa8;border-color:#6b7b6270}[data-theme=light] .project-cover:hover .project-open{background:var(--portfolio-accent);border-color:var(--portfolio-accent);color:#fff}[data-theme=light] :is(.project-cover>.project-screen,.project-detail-art>.project-screen){box-shadow:-10px 25px 40px #223d222e}[data-theme=light] :is(.project-card-heading>span:last-child,.project-story li span,.next-project b){color:var(--portfolio-accent)}[data-theme=light] .page-footer{background:var(--portfolio-surface)}[data-theme=light] .projects-empty .line-link{border-color:var(--portfolio-muted)}@media (width<=767px){.v2-header-actions{gap:8px;margin-left:auto}.portfolio-header .theme-toggle{margin-left:0}.portfolio-header nav{gap:12px}}@media (width<=480px){.theme-toggle{grid-template-columns:16px;gap:0;width:32px;height:32px;padding:7px}.theme-toggle .theme-toggle-label{display:none}}.portfolio-v2{--studio-key-light:#a8bd8717;--studio-edge-light:#55747d24;--studio-shadow:#00000075;--studio-contour:#cad8b51b;--studio-grain:.035}[data-theme=light] .portfolio-v2{--v2-bg:#f3f1e9;--studio-key-light:#ffffffb3;--studio-edge-light:#9ea78b40;--studio-shadow:#66754a26;--studio-contour:#596b4552;--studio-grain:.045}.v2-ambience{overflow:hidden}.v2-ambience:before{content:"";background:radial-gradient(ellipse 34% 8% at 73% 81%, var(--studio-shadow), transparent 85%), radial-gradient(ellipse at 77% 40%, var(--studio-key-light), transparent 53%), radial-gradient(ellipse at 100% 80%, var(--studio-edge-light), transparent 54%);transition:transform 1.1s cubic-bezier(.22,1,.36,1);position:absolute;inset:-20%;transform:translate(0)}.v2-ambience:after{content:"";opacity:var(--studio-grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.v2-studio-contours{width:min(76vw,1500px);height:auto;color:var(--studio-contour);stroke:currentColor;stroke-width:1px;transition:transform 1.2s cubic-bezier(.22,1,.36,1),opacity .8s;position:absolute;top:-10%;left:42%;transform:rotate(-24deg)scaleY(.8);-webkit-mask-image:linear-gradient(115deg,#0000 6%,#000 42% 77%,#0000 96%);mask-image:linear-gradient(115deg,#0000 6%,#000 42% 77%,#0000 96%)}.v2-studio-contours rect{vector-effect:non-scaling-stroke}html[data-portfolio-booting] .v2-stage:not([data-initialized]) .v2-studio-contours,html[data-portfolio-booting] .v2-stage:not([data-initialized]) .v2-ambience:before{visibility:hidden;transition:none}[data-theme=light] .v2-studio-contours{stroke-width:1.25px}[data-chapter="1"] .v2-studio-contours{transform:rotate(-12deg)scaleY(.85)}[data-chapter="2"] .v2-studio-contours{opacity:.35;transform:translate(-38%,20%)rotate(-24deg)scale(.8,.65)}[data-chapter="2"][data-project="1"] .v2-studio-contours{opacity:.42;transform:translate(-22%,12%)rotate(-8deg)scale(.9,.72)}[data-chapter="2"][data-project="2"] .v2-studio-contours{opacity:.38;transform:translate(-44%,28%)rotate(-37deg)scale(.83,.7)}[data-chapter="1"] .v2-ambience:before{transform:translate(2%,-3%)}[data-chapter="2"] .v2-ambience:before{transform:translate(-8%,5%)}[data-chapter="2"][data-project="1"] .v2-ambience:before{transform:translate(4%,-4%)}[data-chapter="2"][data-project="2"] .v2-ambience:before{transform:translate(-12%,-2%)}[data-chapter="3"] .v2-ambience:before{transform:translate(-3%,3%)}[data-chapter="4"] .v2-ambience:before{transform:translate(3%,-2%)}[data-chapter="3"] .v2-studio-contours{transform:rotate(12deg)scaleY(.8)}[data-chapter="4"] .v2-studio-contours{transform:rotate(-32deg)scaleY(.85)}@media (width<=767px){.v2-ambience:before{background:radial-gradient(ellipse 60% 7% at 50% 83%, var(--studio-shadow), transparent 85%), radial-gradient(ellipse at 77% 60%, var(--studio-key-light), transparent 53%), radial-gradient(ellipse at 100% 90%, var(--studio-edge-light), transparent 54%)}.v2-studio-contours{opacity:.65;width:145vw;top:38%;left:-10%}[data-chapter="2"] .v2-studio-contours{opacity:.25;transform:rotate(-24deg)scale(.85,.7)}[data-chapter="2"][data-project="1"] .v2-studio-contours{opacity:.3;transform:translate(7%,-5%)rotate(-7deg)scale(.92,.76)}[data-chapter="2"][data-project="2"] .v2-studio-contours{opacity:.28;transform:translate(-5%,4%)rotate(-36deg)scale(.82,.7)}}@media (prefers-reduced-motion:reduce){.v2-studio-contours,.v2-ambience:before{transition:none}}.v2-person img{width:96px;height:118px}@media (width>=1600px) and (height>=800px){.portfolio{--wide-body:clamp(17px, 1.05vw, 28px);--wide-copy:clamp(16px, .95vw, 25px);--wide-small:clamp(13px, .78vw, 20px);--wide-meta:clamp(11px, .65vw, 17px)}.v2-description,.v2-skill-detail p{font-size:var(--wide-body)}.v2-identity>span{font-size:clamp(16px,.95vw,23px)}.v2-identity small{font-size:var(--wide-meta)}.v2-top-nav :is(button,a),.v2-text-button,.portfolio-v2 .contact-socials a,.portfolio-v2 .contact-socials button{font-size:var(--wide-small)}.v2-versions,.theme-toggle{font-size:var(--wide-meta)}.theme-toggle{height:38px}.v2-eyebrow{font-size:var(--wide-meta);margin-bottom:20px}.v2-description{margin-top:22px}.v2-button,.portfolio-v2 .button-accent{font-size:var(--wide-small);min-height:52px;padding:15px 22px}.v2-person{width:min(100%,650px)}.v2-person img{width:clamp(100px,5.2vw,144px);height:clamp(123px,6.4vw,177px)}.v2-person strong{font-size:var(--wide-copy)}.v2-person p{font-size:var(--wide-small)}.v2-object-caption,.v2-object-caption small,.v2-stage-label span{font-size:var(--wide-meta)}.v2-skills-copy,.v2-process-copy{top:17%}.v2-skill-detail{max-width:min(100%,clamp(448px,28vw,820px));margin-top:24px;padding-top:22px}.v2-skill-group{font-size:var(--wide-small)}.v2-sample-note{font-size:var(--wide-meta)}.v2-project-copy{top:15%}.v2-project-stage{--preview-height:min(35.28vw, calc(79svh - 135px));height:var(--preview-height);width:calc(var(--preview-height) * 1.38889);top:21%;left:auto;right:5%}.v2-project-category{font-size:var(--wide-meta)}.v2-project-descriptions p{font-size:var(--wide-copy);max-width:min(100%,620px)}.v2-project-scope,.v2-project-pagination,.v2-project-pagination small,.device-scroll-hint{font-size:var(--wide-meta)}.v2-project-technologies{max-width:100%}.v2-project-technologies li{font-size:var(--wide-meta)}.v2-process-steps{max-width:min(100%,820px)}.v2-process-steps li>span{font-size:var(--wide-meta)}.v2-process-steps h3{font-size:var(--wide-copy)}.v2-process-steps p,.v2-chapters button,.catalog-footer a{font-size:var(--wide-small)}.v2-chapters button>span,.catalog-footer small,.v2-progress{font-size:var(--wide-meta)}.portfolio-header .identity,.portfolio-header nav a{font-size:var(--wide-small)}.projects-page .eyebrow,.project-page .eyebrow,.page-footer .eyebrow{font-size:var(--wide-meta)}.projects-lead>p,.project-detail-heading>p:last-child{font-size:var(--wide-body);max-width:760px}.projects-lead>span,.projects-lead b,.projects-kicker>a,.back-link{font-size:var(--wide-meta)}.project-filters button,.project-search input{font-size:var(--wide-small)}.project-search input{width:250px}.project-filters sup{font-size:var(--wide-meta)}.project-card-description{font-size:var(--wide-copy);max-width:760px}.project-card-meta,.project-index,.collection-count,.cover-category{font-size:var(--wide-meta)}.projects-empty p,.page-footer-content>div>p,.project-story p:not(.eyebrow){font-size:var(--wide-copy)}.project-story p:not(.eyebrow){max-width:900px}.project-story p.sample-note{font-size:var(--wide-small)}.project-detail-meta>div span,.next-project>span{font-size:var(--wide-meta)}.project-detail-meta b,.project-story li,.portfolio-projects .button-accent,.portfolio-project-detail .button-accent,.page-footer .contact-socials a,.page-footer .contact-socials button{font-size:var(--wide-small)}.page-footer-bottom,.page-footer-bottom>span,.page-footer-bottom .identity{font-size:var(--wide-meta)}}@media (width>=1600px) and (height>=800px) and (height<=950px){.portfolio{--wide-body:clamp(17px, .95vw, 21px);--wide-copy:clamp(16px, .9vw, 20px);--wide-small:clamp(13px, .75vw, 16px);--wide-meta:clamp(11px, .65vw, 13px)}.v2-project-stage{--preview-height:min(32vw, calc(83svh - 135px));top:17%}.v2-project-copy{top:14%}.v2-project-copy .v2-eyebrow{margin-bottom:14px}.v2-project-descriptions{margin-top:14px}.v2-project-descriptions h3{margin:8px 0 10px}.v2-project-descriptions p{line-height:1.65}.v2-project-technologies{margin-top:12px}.v2-project-actions{margin-top:18px}.v2-process-copy{top:15%}}@media (width<=767px){.v2-identity>span{font-size:13px}.v2-identity small{font-size:8px}.v2-description{font-size:14px;line-height:1.75}.v2-button{min-height:44px;padding:11px 14px;font-size:12px}.v2-text-button{font-size:12px}.v2-hero-actions{gap:10px 18px}.v2-person{gap:14px;width:100%;max-width:100%}.v2-person img{width:84px;height:104px}.v2-person strong{font-size:14px;line-height:1.5}.v2-hero-copy .v2-person p{font-size:13px;line-height:1.65}.v2-eyebrow,.v2-project-category{font-size:10px}.v2-skill-detail{max-width:100%}.v2-skill-group{font-size:12px}.v2-skill-mark{width:54px;height:54px}.v2-skill-mark img{width:38px;height:38px}.v2-skill-detail p{font-size:14px;line-height:1.7}.v2-project-descriptions p{max-width:100%;font-size:13px;line-height:1.7}.v2-project-descriptions h3{font-size:17px}.v2-project-technologies li{font-size:9px}.v2-project-actions{gap:12px}.v2-project-pagination{font-size:10px}.v2-project-stage{height:41.8vw;top:61%}.v2-process-copy>.v2-description,.v2-process-steps h3{font-size:13px}.v2-process-steps p{font-size:12px;line-height:1.65}.v2-process-steps li>span{font-size:10px}.portfolio-v2 .contact-socials a,.portfolio-v2 .contact-socials button{font-size:12px}.v2-chapters button,.catalog-footer a{font-size:10px}.v2-chapters button{gap:3px}.v2-chapters button>span,.catalog-footer small{font-size:8px}.v2-chapters{gap:5px}}@media (width<=767px) and (height<=730px){.v2-project-stage{height:36.48vw;top:64%}}@media (width<=389px){.v2-hero-actions{gap:8px}.v2-hero-actions .v2-button{gap:20px;padding-inline:12px}}.v2-avatar-anchor{flex:none;width:96px;height:118px;display:block}.v2-hero-copy .v2-hero-socials{gap:12px 24px;margin-top:18px}.v2-avatar-contact{z-index:25;pointer-events:none;visibility:hidden;width:64px;height:64px;position:absolute;bottom:96px;left:4.5%}.v2-stage[data-initialized] .v2-avatar-contact{visibility:visible}.v2-avatar-portrait{transform-origin:0 0;pointer-events:auto;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:absolute;top:0;left:0}.v2-avatar-portrait:disabled{cursor:default}.v2-avatar-portrait img{object-fit:cover;object-position:50% 36%;filter:saturate(.7);width:100%;height:100%;display:block}.v2-avatar-portrait:focus-visible{outline:3px solid var(--v2-accent);outline-offset:-3px}.v2-avatar-halo{border:1px solid var(--v2-accent);box-shadow:0 0 0 4px var(--v2-accent);border-radius:50%;position:absolute;inset:-4px}@supports (color:color-mix(in lab, red, red)){.v2-avatar-halo{box-shadow:0 0 0 4px color-mix(in srgb, var(--v2-accent) 12%, transparent)}}.v2-avatar-halo{opacity:0}.v2-avatar-sparkle{background:var(--v2-accent);clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);opacity:0;width:16px;height:16px;position:absolute;top:-6px;right:-6px}[data-mode=floating][data-settled=true] .v2-avatar-halo{animation:3.4s ease-in-out infinite avatar-halo}[data-mode=floating][data-settled=true] .v2-avatar-sparkle{animation:3.4s ease-in-out infinite avatar-sparkle}[data-sleeping=true] .v2-avatar-halo,[data-sleeping=true] .v2-avatar-sparkle{animation-play-state:paused!important}.v2-avatar-popover{pointer-events:auto;width:max-content;max-width:min(360px,100vw - 150px);max-height:calc(100svh - 180px);padding:0 5px 8px 0;position:absolute;bottom:-8px;left:calc(100% + 18px);overflow-y:auto}.v2-avatar-popover[hidden]{display:none}.v2-avatar-popover:before{content:"";background:var(--v2-accent);opacity:.55;width:11px;height:1px;position:absolute;top:50%;left:-15px}.portfolio-v2 .v2-avatar-popover .contact-socials{max-width:inherit;flex-wrap:wrap;gap:7px;margin:0;display:flex}.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){--social-key-bg:#f2da9c;--social-key-edge:#b39657;--social-key-ink:#34311f;border:1px solid var(--social-key-bg);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:60px;height:58px;padding:7px 3px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){border:1px solid color-mix(in srgb, var(--social-key-bg) 75%, #fff)}}.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){color:var(--social-key-ink);background:var(--social-key-bg);box-shadow:inset 0 1px 0 #ffffff80, inset 0 -4px 0 #00000013, 0 4px 0 var(--social-key-edge), 0 7px 10px #00000020;border-radius:12px 12px 10px 10px;text-decoration:none;transition:transform .16s,box-shadow .16s}.portfolio-v2 .v2-avatar-popover .contact-socials [data-social=github]{--social-key-bg:#35424e;--social-key-edge:#17232d;--social-key-ink:#f0f3ed}.portfolio-v2 .v2-avatar-popover .contact-socials [data-social=linkedin]{--social-key-bg:#a7e0ed;--social-key-edge:#649aaa;--social-key-ink:#183f4c}.v2-avatar-popover .v2-social-brand{object-fit:contain;filter:none;width:23px;height:23px;display:block}.portfolio-v2 .v2-avatar-popover .v2-social-key-label{letter-spacing:.015em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:600;line-height:1;overflow:hidden}.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button):hover,.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button):active{color:var(--social-key-ink);box-shadow:inset 0 1px 0 #ffffff80, inset 0 -2px 0 #00000013, 0 1px 0 var(--social-key-edge), 0 3px 6px #00000020;transform:translateY(3px)}.portfolio.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){color:var(--social-key-ink)}.v2-avatar-popover :is(a,button):focus-visible{outline:2px solid var(--v2-accent);outline-offset:3px}@keyframes avatar-halo{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.85;transform:scale(1.055)}}@keyframes avatar-sparkle{0%,65%,to{opacity:.2;transform:scale(.55)rotate(0)}35%{opacity:1;transform:scale(1)rotate(35deg)}}@media (width>=1600px) and (height>=800px){.v2-avatar-anchor{width:clamp(100px,5.2vw,144px);height:clamp(123px,6.4vw,177px)}.v2-hero-copy .v2-hero-socials{margin-top:20px}}@media (width<=767px){.v2-avatar-anchor{width:84px;height:104px}.v2-avatar-contact{width:54px;height:54px;bottom:72px;left:6%}.v2-hero-copy .v2-hero-socials{gap:10px 18px;margin-top:12px}.v2-hero-copy .v2-hero-socials :is(a,button){font-size:12px}.v2-hero-socials .portfolio-icon{width:16px;height:16px}.v2-avatar-popover{left:calc(100% + 14px)}.portfolio-v2 .v2-avatar-popover .contact-socials{gap:6px}.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){width:56px;height:56px}.v2-avatar-popover .v2-social-brand{width:22px;height:22px}}@media (width<=767px) and (height<=730px){.v2-hero-copy{top:13%}.v2-hero-copy .v2-description{margin-top:13px;font-size:13px;line-height:1.7}.v2-hero-copy .v2-hero-actions{margin-top:15px}}@media (prefers-reduced-motion:reduce){.portfolio-v2 .v2-avatar-popover .contact-socials :is(a,button){transition:none}[data-mode=floating][data-settled=true] .v2-avatar-halo{opacity:.65;animation:none}[data-mode=floating][data-settled=true] .v2-avatar-sparkle{opacity:.6;animation:none}}.portfolio.portfolio-catalog{background:var(--v2-bg);min-height:100svh;color:var(--v2-text);--catalog-surface:#11171b;--catalog-art:#171f22;--catalog-contour:#b9ce9c15;--v2-lime:var(--v2-accent)}[data-theme=light] .portfolio.portfolio-catalog{--catalog-surface:#eeeee6;--catalog-art:#e2e5da;--catalog-contour:#596b4526;background:#f3f1e9}.portfolio-catalog:before{content:"";z-index:-1;border:1px solid var(--catalog-contour);pointer-events:none;border-radius:30%;width:78vw;height:78vw;position:fixed;top:-30vw;right:-22vw;transform:rotate(-24deg)}.catalog-shell{width:var(--portfolio-shell-width);max-width:var(--portfolio-shell-max);margin-inline:auto}.portfolio-catalog .catalog-header{border:0;gap:32px;height:110px;position:relative;inset:auto}.catalog-header .v2-top-nav{gap:32px}.catalog-header .v2-top-nav [aria-current]{color:var(--v2-accent)}.catalog-main{outline:none;padding-top:72px}.catalog-eyebrow{color:var(--v2-subtle);letter-spacing:.14em;text-transform:uppercase;margin:0 0 23px;font-size:11px;font-weight:600;line-height:1.7}.catalog-intro-row{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.catalog-intro h1,.case-heading h1{letter-spacing:-.045em;text-transform:uppercase;margin:0;font-size:clamp(30px,2.6vw,54px);font-weight:700;line-height:1.25}.catalog-intro .catalog-eyebrow{margin-bottom:18px}.catalog-intro-row>p{color:var(--v2-muted);margin:0 1% 4px 0;font-size:clamp(13px,.8vw,17px);line-height:1.8}.catalog-collection{margin-top:48px}.catalog-toolbar{gap:24px}.catalog-types{border:1px solid var(--v2-border);background:var(--catalog-surface);border-radius:999px;align-items:center;gap:5px;padding:5px}.catalog-types a{min-height:43px;color:var(--v2-muted);border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.catalog-types a[aria-current]{background:var(--v2-action);color:var(--v2-action-text);box-shadow:0 2px 6px #0000000d}.catalog-types a:hover:not([aria-current]){background:var(--v2-text)}@supports (color:color-mix(in lab, red, red)){.catalog-types a:hover:not([aria-current]){background:color-mix(in srgb,var(--v2-text) 6%,transparent)}}.catalog-types a:hover:not([aria-current]){color:var(--v2-text)}.catalog-type-count{font-variant-numeric:tabular-nums;background:var(--v2-text);place-items:center;min-width:24px;height:22px;padding-inline:5px;font-size:10px;font-weight:500;display:grid}@supports (color:color-mix(in lab, red, red)){.catalog-type-count{background:color-mix(in srgb,var(--v2-text) 7%,transparent)}}.catalog-type-count{border-radius:99px}.catalog-types [aria-current] .catalog-type-count{background:var(--v2-action-text)}@supports (color:color-mix(in lab, red, red)){.catalog-types [aria-current] .catalog-type-count{background:color-mix(in srgb,var(--v2-action-text) 13%,transparent)}}.catalog-search{border-bottom:1px solid var(--v2-border);align-items:center;gap:12px;width:260px;padding:8px 0;transition:border-color .18s;display:flex}.catalog-search input{width:100%;min-width:0;color:var(--v2-text);font:inherit;background:0 0;border:0;outline:none;font-size:13px}.portfolio-catalog .catalog-search input:focus{box-shadow:none;outline:none}.catalog-search:focus-within{border-bottom-color:var(--v2-accent)}@media (forced-colors:active){.catalog-search:focus-within{border-bottom-color:highlight}}.catalog-search input::placeholder{color:var(--v2-subtle)}.catalog-search button{color:var(--v2-muted);background:0 0;border:0;padding:8px}.catalog-categories{gap:8px;margin:25px 0 38px}.catalog-categories a{color:var(--v2-muted);border:1px solid #0000;border-radius:99px;padding:9px 15px;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.catalog-categories a:hover{color:var(--v2-accent)}.catalog-categories a[aria-current]{background:var(--catalog-surface);border-color:var(--v2-border);color:var(--v2-text)}.catalog-grid{gap:48px 28px}.catalog-card{min-width:0}.catalog-card-link{color:inherit;text-decoration:none;display:block}.catalog-card-art{aspect-ratio:1.35;background:radial-gradient(ellipse at 50% 100%,var(--v2-accent),transparent 70%),var(--catalog-art);align-items:end;padding:28px 8px 8px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.catalog-card-art{background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--v2-accent) 7%,transparent),transparent 70%),var(--catalog-art)}}.catalog-card-art{border-radius:15px;overflow:hidden}.catalog-card-art[data-variant=forma]{background:radial-gradient(ellipse at 50% 70%,#92836d24,transparent 90%),var(--catalog-art)}.catalog-card-art[data-variant=still]{background:radial-gradient(ellipse at 50% 70%,#78977a24,transparent 90%),var(--catalog-art)}.catalog-card-art .catalog-device{width:105%;margin-left:-2.5%;transition:transform .5s cubic-bezier(.2,.65,.3,1)}.catalog-card-link:hover .catalog-device{transform:translateY(-4px)}.catalog-card-open{z-index:6;border:1px solid var(--v2-border);background:var(--catalog-surface);width:31px;height:31px;color:var(--v2-text);border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid;position:absolute;bottom:18px;right:18px}.catalog-card-link:hover .catalog-card-open{background:var(--v2-action);color:var(--v2-action-text)}.catalog-card-copy{padding:20px 2px 0}.catalog-card-copy small{color:var(--v2-subtle);font-size:10px}.catalog-card-copy h2{letter-spacing:-.035em;margin:8px 0;font-size:clamp(17px,1.15vw,25px);font-weight:700;line-height:1.5}.catalog-card-copy p{color:var(--v2-muted);margin:0;font-size:clamp(13px,.85vw,18px);line-height:1.9}.catalog-results{color:var(--v2-subtle);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:35px;font-size:12px;display:flex}.catalog-results small{font-size:11px}.catalog-pagination{gap:10px;margin-top:40px}.catalog-pagination>*{border:1px solid var(--v2-border);width:40px;height:40px;color:var(--v2-muted);border-radius:50%;place-items:center;font-size:13px;text-decoration:none;display:grid}.catalog-pagination [aria-current]{background:var(--v2-action);color:var(--v2-action-text);border-color:var(--v2-action)}.catalog-pagination [aria-disabled]{opacity:.3}.catalog-empty{color:var(--v2-muted);grid-column:1/-1;padding:50px 0}.catalog-invitation,.case-contact{gap:30px;padding-block:100px}.catalog-invitation h2,.case-contact h2,.case-related h2,.case-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(27px,2.5vw,52px);font-weight:700;line-height:1.4}.portfolio-catalog .v2-button{background:var(--v2-action);color:var(--v2-action-text);border-color:var(--v2-action);gap:30px;font-size:13px}.portfolio-catalog .v2-button:hover{background:var(--v2-action-hover)}.catalog-footer{flex-wrap:wrap;justify-content:space-between;gap:24px;padding-block:26px 35px;display:flex}.catalog-footer nav{gap:24px}.catalog-footer a{color:var(--v2-muted);text-decoration:none}.catalog-footer small{margin-right:5px}.catalog-footer [aria-current],.catalog-footer a:hover{color:var(--v2-accent)}.catalog-back-top{align-items:center;gap:12px;display:flex}.catalog-back{color:var(--v2-muted);align-items:center;gap:12px;margin-bottom:42px;font-size:12px;text-decoration:none;display:inline-flex}.portfolio-case .catalog-main{padding-top:24px}.portfolio-case .catalog-back{margin-bottom:18px}.case-heading{align-items:center;gap:14px 32px;display:grid}.case-heading-title{min-width:0}.case-heading .catalog-eyebrow{margin:0 0 8px;font-size:10px;line-height:1.6}.case-heading h1{overflow-wrap:anywhere;font-size:clamp(28px,2.1vw,42px);line-height:1.25}.case-summary{max-width:760px;color:var(--v2-muted);margin:0;font-size:clamp(14px,.85vw,17px);line-height:1.8}.case-demo-link{white-space:nowrap;justify-self:start}.case-preview{background:var(--catalog-surface);border-radius:14px;margin-top:24px;padding:16px 24px 12px}.case-preview-toolbar{border-bottom:1px solid var(--v2-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding-bottom:14px;display:grid}.case-page-select{align-items:center;gap:14px;min-width:0;display:flex}.case-page-select>span{color:var(--v2-subtle);white-space:nowrap;font-size:11px}.case-page-select select{color:var(--v2-text);font:inherit;border:0;border-bottom:1px solid var(--v2-border);cursor:pointer;background:0 0;width:auto;max-width:240px;padding:9px 24px 9px 0;font-size:14px;font-weight:600}.case-page-select select:focus{box-shadow:none;outline:none}.case-page-select select:focus-visible{border-bottom-color:var(--v2-accent)}@media (forced-colors:active){.case-page-select select:focus-visible{outline-offset:3px;outline:1px solid highlight}}.case-page-select option{background:var(--catalog-surface);color:var(--v2-text)}.case-preview-options{gap:30px}.case-device-tabs{background:var(--v2-bg);border-radius:99px;gap:4px;padding:4px}.case-device-tabs button{color:var(--v2-muted);background:0 0;border:0;border-radius:99px;padding:9px 17px;font-size:12px}.case-device-tabs [aria-selected=true]{background:var(--v2-action);color:var(--v2-action-text)}.case-frame-toggle{color:var(--v2-muted);background:0 0;border:0;align-items:center;gap:10px;font-size:12px;display:flex}.case-frame-toggle>span{background:var(--v2-subtle);border-radius:20px;width:30px;height:18px;display:block;position:relative}.case-frame-toggle>span:after{content:"";background:var(--v2-bg);border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:3px;left:3px}.case-frame-toggle[aria-pressed=true]>span{background:var(--v2-action)}.case-frame-toggle[aria-pressed=true]>span:after{background:var(--v2-action-text);transform:translate(12px)}.case-preview-hint{color:var(--v2-subtle);margin:0;font-size:11px;line-height:1.7}.case-devices{grid-template-columns:1fr;gap:24px;width:100%;margin-inline:auto;padding:16px 0 0;display:grid}.case-device-slot{min-width:0}.case-device-caption{color:var(--v2-subtle);min-height:28px;margin:0 7% 8px;font-size:12px}.case-device-caption button{color:var(--v2-muted);background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-size:11px;display:inline-flex}.case-slot-mobile,[data-view=mobile] .case-slot-desktop{display:none}[data-view=mobile] .case-slot-mobile{display:block}.case-slot-mobile .catalog-device{width:min(300px,90%);margin-inline:auto}.case-preview .catalog-screen{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#74846b55 transparent;overflow-y:auto}.case-preview .catalog-device-mobile .catalog-screen{scrollbar-width:none}.case-preview .catalog-device-mobile .catalog-screen::-webkit-scrollbar{width:0;height:0;display:none}.case-preview .catalog-screen:focus-visible{outline:2px solid var(--v2-accent);outline-offset:-2px}[data-framed=false] .catalog-device-frame{display:none}[data-framed=false] .catalog-device{aspect-ratio:16/10;border:1px solid var(--v2-border);background:var(--v2-bg);border-radius:10px;overflow:hidden}[data-framed=false] .catalog-device .catalog-screen{border-radius:0;width:100%;height:100%;inset:0}[data-framed=false] .catalog-device-mobile{aspect-ratio:430/850}.case-image-missing{color:var(--v2-subtle);text-align:center;padding:40px 0}.case-story{grid-template-columns:1fr 2fr;gap:9%;max-width:1450px;margin:95px auto 0}.case-facts>div{margin-bottom:35px}.case-facts small{color:var(--v2-subtle);font-size:11px}.case-facts p{margin:9px 0;font-size:14px;line-height:1.9}.case-facts ul{gap:7px;margin-top:12px;padding:0;list-style:none}.case-facts li{border:1px solid var(--v2-border);color:var(--v2-muted);border-radius:99px;padding:7px 11px;font-size:11px}.case-prose{min-width:0;color:var(--v2-muted);overflow-wrap:anywhere;font-size:clamp(15px,1.05vw,22px);line-height:1.95}.case-prose h2{color:var(--v2-text);letter-spacing:-.04em;margin:0 0 25px;font-size:clamp(28px,2.1vw,42px);font-weight:700;line-height:1.4}.case-prose h3{color:var(--v2-text);margin:40px 0 18px;font-size:1.2em;font-weight:600;line-height:1.6}.case-prose h4{color:var(--v2-text);font-size:1.05em;font-weight:600}.case-prose p{margin:0 0 22px}.case-prose ul,.case-prose ol{margin-block:20px;padding-left:1.3em}.case-prose ul{list-style:outside}.case-prose ol{list-style:decimal}.case-prose li{margin-block:9px;padding-left:8px}.case-prose li::marker{color:var(--v2-accent)}.case-prose blockquote{border-left:3px solid var(--v2-accent);color:var(--v2-text);margin:35px 0;padding:5px 0 5px 28px;font-size:1.15em}.case-prose a{color:var(--v2-accent);text-underline-offset:4px}.case-prose strong{color:var(--v2-text)}.case-prose img{border-radius:10px;max-width:100%;height:auto}.case-prose figure{max-width:100%;margin-block:30px}.case-prose figcaption{color:var(--v2-subtle);font-size:.8em}.case-prose table{border-collapse:collapse;max-width:100%;font-size:.85em;display:block;overflow-x:auto}.case-prose td,.case-prose th{border:1px solid var(--v2-border);text-align:left;padding:12px 16px}.case-prose th{color:var(--v2-text)}.case-contact{margin-top:35px}.catalog-contact-actions{gap:24px;margin-top:28px}.portfolio-catalog .catalog-contact .contact-socials{gap:clamp(20px,2vw,38px);margin:0}.portfolio-catalog .catalog-contact .contact-socials :is(a,button),.portfolio-catalog .catalog-contact .v2-button{min-height:48px;font-size:clamp(14px,.85vw,18px);font-weight:600}.portfolio-catalog .catalog-contact .contact-socials .portfolio-icon{flex:none;width:22px;height:22px}.portfolio-catalog .catalog-contact .contact-socials :is(a,button):hover{color:var(--v2-accent)}.case-related{padding:15px 0 70px}.case-related-heading{gap:25px;margin-bottom:35px}.case-related-heading .catalog-eyebrow{margin-bottom:12px}.case-related-heading>div:last-child{gap:10px}.case-related-heading button{border:1px solid var(--v2-border);color:var(--v2-text);background:0 0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.case-related-heading button:disabled{opacity:.25;cursor:default}.case-related-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--v2-border) transparent;gap:28px;padding-bottom:20px;overflow-x:auto}.case-related-track .catalog-card{scroll-snap-align:start;flex:0 0 calc(25% - 21px)}.case-lightbox{background:var(--v2-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--v2-text);border:0;margin:0;padding:0;position:fixed;inset:0}.case-lightbox::backdrop{background:#000b}.case-lightbox[open]{flex-direction:column;display:flex}.case-lightbox-bar{background:var(--v2-bg);color:var(--v2-text);flex:none;gap:20px;padding:15px 4%;font-size:13px}.case-lightbox-bar button{border:1px solid var(--v2-border);width:40px;height:40px;color:inherit;background:0 0;border-radius:50%}.case-lightbox-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.case-lightbox-scroll img{width:calc(min(100vw, 1600px) * var(--preview-zoom,1));max-width:none;height:auto;margin:0 auto;display:block}.case-lightbox[data-kind=mobile] .case-lightbox-scroll img{width:calc(min(100vw, 430px) * var(--preview-zoom,1))}.case-lightbox-bar>[data-lightbox-label]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.case-lightbox-actions{flex:none;gap:12px}.case-lightbox-zoom{border:1px solid var(--v2-border);background:var(--catalog-surface);border-radius:99px;gap:2px;padding:3px}.case-lightbox-zoom button{border:0;width:32px;height:32px;font-size:20px;line-height:1}.case-lightbox-zoom [data-zoom-reset]{font-variant-numeric:tabular-nums;width:55px;font-size:11px}.case-lightbox-zoom button:hover:not(:disabled){background:var(--v2-action);color:var(--v2-action-text)}.case-lightbox-zoom button:disabled{opacity:.3;cursor:default}@view-transition{navigation:auto}::view-transition-old(root){animation:.15s both catalog-out}::view-transition-new(root){animation:.28s both catalog-in}@keyframes catalog-out{to{opacity:0}}@keyframes catalog-in{0%{opacity:0}}.portfolio-catalog .is-revealing{animation:.6s cubic-bezier(.22,1,.36,1) both catalog-reveal}@keyframes catalog-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width>=1024px){.case-heading{grid-template-columns:minmax(220px,.9fr) minmax(260px,1.35fr) auto;gap:clamp(24px,2.5vw,56px)}.case-heading:not(:has(.case-demo-link)){grid-template-columns:minmax(220px,.9fr) minmax(260px,1.35fr)}.case-preview[data-project-type=web] .case-devices{grid-template-columns:minmax(0,1fr) minmax(150px,.25fr);align-items:start;max-width:none}.case-slot-mobile,[data-view=mobile] .case-slot-desktop{display:block}.case-device-tabs{display:none}.case-slot-mobile .catalog-device{width:100%;margin-top:0}.case-slot-mobile .case-device-caption{margin-inline:8%}}@media (width>=1600px){.catalog-eyebrow{font-size:13px}.catalog-categories a,.catalog-search input{font-size:14px}.case-facts p{font-size:17px}.case-facts small,.case-facts li{font-size:13px}}@media (width<=767px){.portfolio-catalog .catalog-header{flex-wrap:wrap;gap:16px;height:auto;min-height:100px;padding-block:22px}.catalog-header .v2-identity{margin-right:auto}.catalog-header .v2-top-nav{order:3;justify-content:flex-end;gap:24px;width:100%}.catalog-header .v2-top-nav a{padding-block:4px}.catalog-main{padding-top:36px}.catalog-intro-row{flex-direction:column;align-items:flex-start;gap:22px}.catalog-intro h1{font-size:clamp(28px,6.6vw,36px)}.catalog-intro-row>p{font-size:13px}.catalog-eyebrow{margin-bottom:17px;font-size:9px}.catalog-collection{margin-top:35px}.catalog-toolbar{gap:18px}.catalog-types{gap:3px;padding:4px}.catalog-types a{gap:8px;min-height:40px;padding:9px 13px;font-size:12px}.catalog-search{width:100%}.catalog-categories{gap:4px;margin:22px 0 25px}.catalog-categories a{padding:8px 12px;font-size:11px}.catalog-grid{gap:32px 18px}.catalog-card-art{aspect-ratio:1.4}.catalog-card-copy h2{font-size:18px}.catalog-card-copy p{font-size:13px}.catalog-card-copy small{font-size:11px}.catalog-invitation,.case-contact{padding-block:60px}.catalog-footer{padding-bottom:28px}.catalog-footer nav{gap:12px}.catalog-footer small{margin-right:2px}.catalog-back-top{margin-left:auto}.catalog-back{margin-bottom:27px}.case-preview{border-radius:12px;margin-top:20px;padding:14px 12px 10px}.case-preview-toolbar{grid-template-columns:1fr;gap:12px;padding-inline:4px}.case-page-select{justify-content:space-between}.case-preview-options{grid-row:2;justify-content:space-between;gap:10px;width:100%}.case-device-tabs button{padding:8px 12px;font-size:11px}.case-frame-toggle{font-size:10px}.case-preview-hint{grid-row:3;font-size:10px}.case-devices{gap:0;padding:10px 0 0}.case-device-caption{margin-bottom:6px;font-size:10px}.case-device-caption button{font-size:10px}.case-slot-mobile .catalog-device{width:min(260px,85%)}.case-story{grid-template-columns:1fr;gap:38px;margin-top:50px}.case-facts{grid-template-columns:1fr 1fr;gap:20px;display:grid}.case-facts>.catalog-eyebrow,.case-sample-note{grid-column:1/-1}.case-facts>div{margin:0}.case-facts p{font-size:13px}.case-facts li{padding:5px 9px;font-size:10px}.case-facts ul{gap:5px}.case-prose{font-size:15px}.case-prose h2{font-size:27px}.case-prose blockquote{padding-left:18px}.case-contact{margin-top:0}.case-contact .contact-socials{gap:18px}.case-related-track{gap:20px}.case-related-track .catalog-card{flex-basis:85%}.case-related-heading h2{font-size:24px}.case-related-heading button{width:35px;height:35px}.case-lightbox-bar,.catalog-results{font-size:11px}.catalog-results small{font-size:10px}}@media (prefers-reduced-motion:reduce){.portfolio-catalog .is-revealing{animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.portfolio-catalog *,.portfolio-catalog :after{scroll-behavior:auto;transition:none}}.portfolio-catalog:after{content:"";z-index:-1;border:1px solid var(--catalog-contour);pointer-events:none;border-radius:30%;width:67vw;height:67vw;position:fixed;top:-24vw;right:-16vw;transform:rotate(-24deg)}[data-framed=false] .catalog-screen img{cursor:zoom-in}.catalog-card-art[data-type=app] .catalog-device{filter:drop-shadow(0 10px 12px #0003);width:32%;max-width:170px;margin:0 auto}.catalog-preview-missing{color:var(--v2-subtle);place-self:center;font-size:12px}.case-preview[data-project-type=app] .case-devices{grid-template-columns:minmax(0,1fr);max-width:360px;margin-inline:auto}.case-app-overview .case-story{flex-direction:column;gap:38px;display:flex}.case-app-overview .case-prose{order:-1}.case-app-overview .case-facts{grid-template-columns:1fr 1fr;gap:24px;display:grid}.case-app-overview .case-facts>.catalog-eyebrow,.case-app-overview .case-sample-note{grid-column:1/-1}.case-app-overview .case-facts>div{margin-bottom:0}@media (width>=1024px){.case-app-overview{grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,4vw,80px);max-width:1600px;margin:24px auto 0;display:grid}.case-app-overview .case-preview{min-width:0;margin-top:0;padding:28px 24px 24px}.case-app-overview .case-preview-toolbar{grid-template-columns:1fr auto;gap:12px}.case-app-overview .case-preview-hint{grid-area:2/1/auto/-1}.case-app-overview .case-preview-options{margin-left:auto}.case-app-overview .case-story{min-width:0;margin:0;padding-top:8px}.case-app-overview .case-prose{font-size:clamp(15px,1vw,21px)}}.catalog-card-labels{gap:7px;margin-bottom:12px}.catalog-type-tag,.catalog-platform-tag{white-space:nowrap;border:1px solid #0000;border-radius:99px;align-items:center;gap:6px;min-height:29px;padding:5px 10px;font-size:10px;font-weight:600;line-height:1.5;display:inline-flex}.catalog-type-tag[data-type=web]{color:#bce78d;background:#bce78d14;border-color:#bce78d24}.catalog-type-tag[data-type=app]{color:#d2baff;background:#bd9aff14;border-color:#bd9aff30}.catalog-type-tag .portfolio-icon{flex:none;width:16px;height:16px}.catalog-platform-tag{color:#25332b;background:#f5f5ef;border-color:#c4cec36b}.catalog-platform-tag img{object-fit:contain;flex:none;width:17px;height:17px}.catalog-platform-tag[data-platform=android]{color:#2a512b;background:#e6f4df;border-color:#aed3a6}.catalog-platform-tag[data-platform=windows]{color:#125b9b;background:#fff;border-color:#c9dced}[data-theme=light] .catalog-type-tag[data-type=web]{color:#3a581f;background:#dae7c6;border-color:#b7ce99}[data-theme=light] .catalog-type-tag[data-type=app]{color:#6a438a;background:#e9dff5;border-color:#d2bce8}@media (width>=1600px){.catalog-types a{padding:11px 21px;font-size:15px}.catalog-type-count{font-size:11px}.catalog-type-tag,.catalog-platform-tag{min-height:32px;font-size:12px}.catalog-platform-tag img{width:18px;height:18px}}[data-filter-nav]{isolation:isolate;position:relative}[data-filter-nav]>a{z-index:1;position:relative}.catalog-filter-indicator{z-index:0;pointer-events:none;border-radius:999px;transition:transform .36s cubic-bezier(.22,1,.36,1),width .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:0}.catalog-types>.catalog-filter-indicator{background:var(--v2-action);box-shadow:0 2px 6px #0000000d}.catalog-categories>.catalog-filter-indicator{background:var(--catalog-surface);border:1px solid var(--v2-border)}.catalog-types[data-indicator] a[aria-current],.catalog-categories[data-indicator] a[aria-current]{box-shadow:none;background:0 0;border-color:#0000}.catalog-grid{transition:opacity .16s}[data-project-catalog][aria-busy=true] .catalog-grid{opacity:.65;pointer-events:none}.catalog-grid-shell[data-resizing]{overflow:clip}.case-related-track .catalog-card-copy h2{font-size:clamp(15px,.95vw,20px);line-height:1.5}@media (width>=768px) and (width<=1023px){.case-related-track .catalog-card{flex-basis:calc(50% - 14px)}}@media (prefers-reduced-motion:reduce){.catalog-filter-indicator,.catalog-grid{transition:none}}@media (width>=768px) and (width<=1023px){.case-heading{grid-template-columns:1fr auto}.case-heading-title{grid-column:1/-1}.case-summary{max-width:620px}.case-preview-toolbar{grid-template-columns:1fr auto}.case-preview-hint{grid-area:2/1/auto/-1}}@media (width<=767px){.portfolio-case .catalog-main{padding-top:16px}.portfolio-case .catalog-back{margin-bottom:16px}.case-heading .catalog-eyebrow{font-size:9px}.case-summary{font-size:13px;line-height:1.75}.portfolio-case .case-demo-link{min-height:40px;padding:10px 16px;font-size:12px}}.mobile-menu-toggle,.v2-top-nav .v2-nav-code,.v2-top-nav .v2-nav-arrow{display:none}.v2-top-nav .v2-nav-label{color:inherit;margin:0}@media (width<=767px){.portfolio .v2-header-actions{flex:none;gap:8px;margin-left:auto}.portfolio .v2-header-actions .theme-toggle{min-width:40px;height:40px}.portfolio .mobile-menu-toggle{border:1px solid var(--theme-control-border);width:40px;height:40px;color:var(--v2-text);background:var(--theme-control-bg);box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 var(--v2-text);border-radius:10px;flex:none;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.portfolio .mobile-menu-toggle{box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 color-mix(in srgb,var(--v2-text) 20%,var(--v2-bg))}}.portfolio .mobile-menu-toggle{transition:transform .18s,box-shadow .18s}.portfolio .mobile-menu-toggle[aria-expanded=true]{box-shadow:inset 0 1px 0 #ffffff20,0 1px 0 var(--v2-text);transform:translateY(2px)}@supports (color:color-mix(in lab, red, red)){.portfolio .mobile-menu-toggle[aria-expanded=true]{box-shadow:inset 0 1px 0 #ffffff20,0 1px 0 color-mix(in srgb,var(--v2-text) 20%,var(--v2-bg))}}.mobile-menu-toggle span{background:currentColor;border-radius:2px;width:17px;height:1.5px;transition:transform .2s;position:absolute;top:18px;left:10.5px;transform:translateY(-4px)}.mobile-menu-toggle span:last-child{transform:translateY(4px)}.mobile-menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.portfolio .v2-header .v2-top-nav{border:1px solid var(--v2-border);background:var(--v2-bg);opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;justify-content:center;align-items:center;gap:clamp(16px,5vw,32px);width:auto;margin:0;padding:8px 16px;transition:opacity .18s,transform .18s;display:flex;position:absolute;inset:calc(100% - 8px) 0 auto;transform:translateY(-6px);box-shadow:0 6px 20px #00000008}@supports ((-webkit-backdrop-filter:blur(18px)) or (backdrop-filter:blur(18px))){.portfolio .v2-header .v2-top-nav{background:var(--v2-bg)}@supports (color:color-mix(in lab, red, red)){.portfolio .v2-header .v2-top-nav{background:color-mix(in srgb,var(--v2-bg) 72%,transparent)}}.portfolio .v2-header .v2-top-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}.portfolio .v2-header[data-menu-open=true] .v2-top-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.portfolio .v2-header .v2-top-nav .v2-nav-key{min-width:0;min-height:44px;color:var(--v2-muted);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:8px 6px;font-size:14px;font-weight:500;line-height:1.4;transition:color .15s;display:inline-flex}.portfolio .v2-header .v2-top-nav .v2-nav-key:is(:hover,:active,[aria-current]){color:var(--v2-accent)}.portfolio .mobile-menu-toggle:focus-visible,.portfolio .v2-header .v2-top-nav :is(a,button):focus-visible{outline:2px solid var(--v2-accent);outline-offset:3px}}@media (prefers-reduced-motion:reduce){.portfolio .v2-header .v2-top-nav,.portfolio .v2-header .v2-nav-key,.mobile-menu-toggle,.mobile-menu-toggle span{transition:none}}.portfolio-cursor{--cursor-face-light:#fdfcf6;--cursor-face-mid:#e9e8df;--cursor-face-low:#c9ccc1;--cursor-edge:#646e61;--cursor-bevel:#fffef8;--cursor-crease:#bdc2b5;--cursor-inset:#526a2c;--cursor-led:#b9ef78;--cursor-legend:#344529;z-index:11010;opacity:0;width:0;height:0;transition:opacity .1s;position:fixed;inset:0 auto auto 0;pointer-events:none!important}[data-theme=dark] .portfolio-cursor{--cursor-face-light:#67726d;--cursor-face-mid:#39443f;--cursor-face-low:#252e29;--cursor-edge:#a3ada1;--cursor-bevel:#a2ada2;--cursor-crease:#242e28;--cursor-inset:#1c2915;--cursor-legend:#e1f6c4}.portfolio-cursor *,.portfolio-cursor :after{pointer-events:none!important}.portfolio-cursor[data-visible=true]{opacity:1}.portfolio-cursor-position{will-change:transform;width:0;height:0;position:absolute;inset:0 auto auto 0}.portfolio-cursor-key{filter:drop-shadow(1px 2px 1px #0003);width:32px;height:40.73px;transition:filter .18s;display:block;position:absolute;top:0;left:0;transform:translate(-2.9px,-2.55px)}.portfolio-cursor-key svg{width:100%;height:100%;display:block;overflow:visible}.cursor-face-light{stop-color:var(--cursor-face-light)}.cursor-face-mid{stop-color:var(--cursor-face-mid)}.cursor-face-low{stop-color:var(--cursor-face-low)}.cursor-key-face{stroke:var(--cursor-edge)}.cursor-key-bevel{stroke:var(--cursor-bevel);opacity:.8}.cursor-key-crease{stroke:var(--cursor-crease)}.cursor-key-inset{fill:var(--cursor-inset)}.cursor-key-light{fill:var(--cursor-led)}.cursor-key-cap{transition:transform .16s cubic-bezier(.2,.8,.2,1);transform:translateY(0)}.cursor-key-view,.cursor-key-scroll{stroke:var(--cursor-legend);opacity:0;transition:opacity .14s}.portfolio-cursor[data-state=link],.portfolio-cursor[data-state=view],.portfolio-cursor[data-state=scroll]{--cursor-led:#d6ff9b}.portfolio-cursor[data-state=link] .cursor-key-cap,.portfolio-cursor[data-state=view] .cursor-key-cap,.portfolio-cursor[data-state=scroll] .cursor-key-cap{transform:translateY(.6px)}.portfolio-cursor[data-state=view] .cursor-key-view,.portfolio-cursor[data-state=scroll] .cursor-key-scroll{opacity:1}.portfolio-cursor[data-pressed=true] .cursor-key-cap{transition-duration:75ms;transform:translateY(3.2px)}.portfolio-cursor[data-pressed=true] .portfolio-cursor-key{filter:drop-shadow(.5px 1px .6px #0002)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){.has-portfolio-cursor .portfolio,.has-portfolio-cursor .portfolio *{cursor:none!important}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce),(forced-colors:active){.portfolio-cursor{display:none}}[data-palette]:not([data-palette=original])[data-palette-metallic=true]{--palette-metal:linear-gradient(115deg,var(--palette-color) 0%,var(--palette-color) 23%,var(--palette-color) 40%,var(--palette-color) 58%,var(--palette-color) 79%,var(--palette-color) 100%)}@supports (color:color-mix(in lab, red, red)){[data-palette]:not([data-palette=original])[data-palette-metallic=true]{--palette-metal:linear-gradient(115deg,color-mix(in srgb,var(--palette-color) 65%,#614018) 0%,var(--palette-color) 23%,color-mix(in srgb,var(--palette-color) 35%,#fff8df) 40%,var(--palette-color) 58%,color-mix(in srgb,var(--palette-color) 78%,#80571e) 79%,color-mix(in srgb,var(--palette-color) 65%,#fff3cc) 100%)}}.portfolio[data-palette]:not([data-palette=original]){--v2-accent:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--v2-accent:color-mix(in srgb,var(--palette-color) 75%,#fff)}}.portfolio[data-palette]:not([data-palette=original]){--v2-action:var(--palette-color);--v2-action-hover:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--v2-action-hover:color-mix(in srgb,var(--palette-color) 82%,#fff)}}.portfolio[data-palette]:not([data-palette=original]){--v2-action-text:var(--palette-ink);--v2-text:#f3ede3;--v2-muted:#bdb4a5;--v2-subtle:#a69a85;--v2-border:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--v2-border:color-mix(in srgb,var(--palette-color) 25%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--portfolio-text:var(--v2-text);--portfolio-muted:var(--v2-muted);--portfolio-subtle:var(--v2-subtle);--portfolio-border:var(--v2-border);--portfolio-accent:var(--v2-accent);--theme-control-text:var(--v2-text);--theme-control-border:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--theme-control-border:color-mix(in srgb,var(--palette-color) 50%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--studio-key-light:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--studio-key-light:color-mix(in srgb,var(--palette-color) 9%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--studio-edge-light:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--studio-edge-light:color-mix(in srgb,var(--palette-color) 12%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--studio-contour:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--studio-contour:color-mix(in srgb,var(--palette-color) 24%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--catalog-contour:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--catalog-contour:color-mix(in srgb,var(--palette-color) 15%,transparent)}}.portfolio[data-palette]:not([data-palette=original]){--catalog-art:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]){--catalog-art:color-mix(in srgb,var(--palette-color) 6%,#171b20)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-accent:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-accent:color-mix(in srgb,var(--palette-color) 40%,#493414)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-text:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-text:color-mix(in srgb,var(--palette-color) 10%,#211e18)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-muted:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-muted:color-mix(in srgb,var(--palette-color) 18%,#494139)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-subtle:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--v2-subtle:color-mix(in srgb,var(--palette-color) 20%,#554c40)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--studio-key-light:#ffffffb3;--studio-shadow:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--studio-shadow:color-mix(in srgb,var(--palette-color) 16%,transparent)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--studio-contour:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--studio-contour:color-mix(in srgb,var(--palette-color) 48%,transparent)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--catalog-contour:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--catalog-contour:color-mix(in srgb,var(--palette-color) 28%,transparent)}}[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--catalog-art:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .portfolio[data-palette]:not([data-palette=original]){--catalog-art:color-mix(in srgb,var(--palette-color) 12%,#e9e7e0)}}.portfolio[data-palette]:not([data-palette=original]) .v2-outline{-webkit-text-stroke-color:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .v2-outline{-webkit-text-stroke-color:color-mix(in srgb,var(--palette-color) 80%,#805a27)}}.portfolio[data-palette]:not([data-palette=original]) .v2-project-technologies li{color:var(--v2-accent);background:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .v2-project-technologies li{background:color-mix(in srgb,var(--palette-color) 9%,transparent)}}.portfolio[data-palette]:not([data-palette=original]) .v2-project-technologies li{border-color:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .v2-project-technologies li{border-color:color-mix(in srgb,var(--palette-color) 35%,transparent)}}.portfolio[data-palette]:not([data-palette=original]) .v2-progress i{background:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .v2-progress i{background:color-mix(in srgb,var(--palette-color) 30%,transparent)}}.portfolio[data-palette]:not([data-palette=original]) .catalog-type-tag[data-type=web]{color:var(--v2-accent);background:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .catalog-type-tag[data-type=web]{background:color-mix(in srgb,var(--palette-color) 16%,var(--v2-bg))}}.portfolio[data-palette]:not([data-palette=original]) .catalog-type-tag[data-type=web]{border-color:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .catalog-type-tag[data-type=web]{border-color:color-mix(in srgb,var(--palette-color) 40%,transparent)}}.portfolio[data-palette]:not([data-palette=original]) .case-preview .catalog-screen{scrollbar-color:var(--palette-color) transparent}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .case-preview .catalog-screen{scrollbar-color:color-mix(in srgb,var(--palette-color) 40%,transparent) transparent}}.portfolio[data-palette]:not([data-palette=original]) .portfolio-cursor{--cursor-led:var(--palette-color);--cursor-inset:var(--palette-color)}@supports (color:color-mix(in lab, red, red)){.portfolio[data-palette]:not([data-palette=original]) .portfolio-cursor{--cursor-inset:color-mix(in srgb,var(--palette-color) 60%,#382611)}}.portfolio[data-palette]:not([data-palette=original])[data-palette-metallic=true] .v2-outline{background:var(--palette-metal);-webkit-text-stroke-width:.65px;-webkit-background-clip:text;background-clip:text}.portfolio[data-palette]:not([data-palette=original])[data-palette-metallic=true] :is(.v2-button,.button-accent,.catalog-types:not([data-indicator]) a[aria-current],.catalog-types>.catalog-filter-indicator,.catalog-pagination [aria-current],.case-device-tabs [aria-selected=true]){background-image:var(--palette-metal);box-shadow:inset 0 1px #ffffff85,inset 0 -1px #573c2525}html:has(>.portfolio-v2,>.portfolio-catalog){scrollbar-gutter:stable}.portfolio{--portfolio-shell-width:91%;--portfolio-shell-max:2160px;--portfolio-shell-inset:max(calc((100% - var(--portfolio-shell-width)) / 2),calc((100% - var(--portfolio-shell-max)) / 2))}.contact-socials .portfolio-social-icon{object-fit:contain;filter:none;flex:none;width:22px;height:22px;display:block}.contact-socials .portfolio-social-github-default{background:#24292f;border-radius:50%;padding:2px}.v2-hero-socials{max-height:min(140px,22svh);padding-bottom:5px;overflow-y:auto}.portfolio .v2-identity.v2-brand{flex:none;width:clamp(260px,20vw,340px);max-width:calc(100% - 104px);display:block}.v2-brand-image{aspect-ratio:3;background:var(--brand-logo-dark) center / contain no-repeat;width:100%;display:block}[data-theme=light] .v2-brand-image{background-image:var(--brand-logo-light)}@media (width<=767px){.portfolio .v2-identity.v2-brand{width:228px}.portfolio-catalog .catalog-header{padding-block:12px}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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}@property --tw-ease{syntax:"*";inherits:false}
