@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");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}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Plus Jakarta Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-orange-300:oklch(83.7% .128 66.29);--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-700:oklch(51.1% .096 186.391);--color-sky-500:oklch(68.5% .169 237.323);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-500:oklch(55.4% .046 257.417);--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-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--leading-tight:1.25;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--blur-md:12px;--blur-xl:24px;--aspect-video:16 / 9;--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)}}@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,ui-sans-serif, system-ui, 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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.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}.sticky{position:sticky}.inset-0{inset:0}.top-8{top:calc(var(--spacing) * 8)}.bottom-8{bottom:calc(var(--spacing) * 8)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mr-8{margin-right:calc(var(--spacing) * 8)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-8{margin-left:calc(var(--spacing) * 8)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/4\.2\]{aspect-ratio:4/4.2}.aspect-video{aspect-ratio:var(--aspect-video)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.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-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.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-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\[280px\]{height:280px}.h-\[290px\]{height:290px}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\[260px\]{min-height:260px}.min-h-\[330px\]{min-height:330px}.min-h-\[720px\]{min-height:720px}.min-h-screen{min-height:100vh}.w-2\/3{width:66.6667%}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-\[148px\]{width:148px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[28rem\]{max-width:28rem}.max-w-\[320px\]{max-width:320px}.min-w-0{min-width:0}.min-w-44{min-width:calc(var(--spacing) * 44)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[spin_8s_linear_infinite\]{animation:8s linear infinite spin}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[1\.15rem\]{border-radius:1.15rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[1\.35rem\]{border-radius:1.35rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#171b22\]{border-color:#171b22}.border-\[color\:var\(--line\)\]{border-color:var(--line)}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--preview-accent\)\]{border-color:var(--preview-accent)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.border-white\/25{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.border-white\/35{border-color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.border-white\/35{border-color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.bg-\[\#101318\]{background-color:#101318}.bg-\[\#101820\]\/90{background-color:oklab(20.5022% -.00722609 -.0186592/.9)}.bg-\[\#111318\]{background-color:#111318}.bg-\[\#f9fafb\]{background-color:#f9fafb}.bg-\[color\:var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[color\:var\(--page\)\]{background-color:var(--page)}.bg-\[color\:var\(--page-blur\)\]\/88{background-color:var(--page-blur)}@supports (color:color-mix(in lab, red, red)){.bg-\[color\:var\(--page-blur\)\]\/88{background-color:color-mix(in oklab, var(--page-blur) 88%, transparent)}}.bg-\[color\:var\(--surface\)\]{background-color:var(--surface)}.bg-\[color\:var\(--surface-strong\)\]{background-color:var(--surface-strong)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--preview-accent\)\],.bg-\[var\(--preview-accent\)\]\/20{background-color:var(--preview-accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--preview-accent\)\]\/20{background-color:color-mix(in oklab, var(--preview-accent) 20%, transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-black{background-color:var(--color-black)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab, red, red)){.bg-white\/40{background-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.bg-white\/\[0\.88\]{background-color:#ffffffe0}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.88\]{background-color:color-mix(in oklab, var(--color-white) 88%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-400{--tw-gradient-from:var(--color-rose-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-300{--tw-gradient-to:var(--color-orange-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-700{--tw-gradient-to:var(--color-teal-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-\[color\:var\(--accent\)\]{color:var(--accent)}.text-\[color\:var\(--muted\)\]{color:var(--muted)}.text-\[color\:var\(--subtle\)\]{color:var(--subtle)}.text-\[color\:var\(--text\)\]{color:var(--text)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--accent-contrast\)\]{color:var(--accent-contrast)}.text-\[var\(--preview-accent\)\]{color:var(--preview-accent)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.uppercase{text-transform:uppercase}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow:var(--shadow-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-strong\)\]{--tw-shadow:var(--shadow-strong);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[color\:var\(--line-strong\)\]:hover{border-color:var(--line-strong)}.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:bg-\[color\:var\(--surface-strong\)\]:hover{background-color:var(--surface-strong)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-\[color\:var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.active\:scale-\[0\.98\]:active{scale:.98}@media (width>=40rem){.sm\:block{display:block}.sm\:grid-cols-\[1fr_0\.78fr\]{grid-template-columns:1fr .78fr}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (width>=48rem){.md\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:pt-16{padding-top:calc(var(--spacing) * 16)}.md\:pb-20{padding-bottom:calc(var(--spacing) * 20)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#f5aa22;--accent-contrast:#1f1606;--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent)}}:root{--page:#222328}@supports (color:color-mix(in lab, red, red)){:root{--page:color-mix(in srgb, #222328 92%, var(--accent) 8%)}}:root{--page-blur:#222328}@supports (color:color-mix(in lab, red, red)){:root{--page-blur:color-mix(in srgb, #222328 88%, var(--accent) 12%)}}:root{--surface:#2c2d33}@supports (color:color-mix(in lab, red, red)){:root{--surface:color-mix(in srgb, #2c2d33 94%, var(--accent) 6%)}}:root{--surface-strong:#363840}@supports (color:color-mix(in lab, red, red)){:root{--surface-strong:color-mix(in srgb, #363840 93%, var(--accent) 7%)}}:root{--surface-inset:#1c1d22}@supports (color:color-mix(in lab, red, red)){:root{--surface-inset:color-mix(in srgb, #1c1d22 92%, var(--accent) 8%)}}:root{--text:#f8f6f0;--muted:#c9c5bd;--subtle:#918d86;--line:#ffffff1a;--line-strong:#fff3;--shadow-soft:14px 16px 38px #0a0a0c70, -12px -12px 30px #4648503d;--shadow-strong:24px 28px 72px #08080a8f, -16px -18px 48px #484a543d;--shadow-inset:inset 8px 8px 18px #09090b6b, inset -8px -8px 18px #4c4e5838;--glass-highlight:#ffffff1f;--glass-tint:#ffffff0e;--audio-level:0;--audio-bass:0;--audio-mid:0;--audio-scale:1;--audio-portrait-scale:1;--audio-shift:0px;--audio-glow:.26;--audio-ribbon-opacity:.1;--audio-particle-opacity:.08;--audio-reactor-opacity:.16;--audio-portrait-shine:.11;--audio-shine-offset:-16%}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4f2ec}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light]{--page:color-mix(in srgb, #f4f2ec 92%, var(--accent) 8%)}}:root[data-theme=light]{--page-blur:#f4f2ec}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light]{--page-blur:color-mix(in srgb, #f4f2ec 88%, var(--accent) 12%)}}:root[data-theme=light]{--surface:#fffdf8}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light]{--surface:color-mix(in srgb, #fffdf8 95%, var(--accent) 5%)}}:root[data-theme=light]{--surface-strong:#ebe7dc}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light]{--surface-strong:color-mix(in srgb, #ebe7dc 91%, var(--accent) 9%)}}:root[data-theme=light]{--surface-inset:#ded9cd}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light]{--surface-inset:color-mix(in srgb, #ded9cd 90%, var(--accent) 10%)}}:root[data-theme=light]{--text:#1c1d20;--muted:#535865;--subtle:#767b87;--line:#211f1b24;--line-strong:#211f1b42;--shadow-soft:10px 12px 26px #aea6967a, -10px -10px 24px #ffffffd1;--shadow-strong:18px 24px 54px #9a91808a, -14px -14px 38px #ffffffe6;--shadow-inset:inset 7px 7px 15px #aaa08e6b, inset -7px -7px 15px #ffffffd1;--glass-highlight:#ffffffb8;--glass-tint:#ffffff75}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.25rem}body{background:radial-gradient(circle at 12% 4%, var(--accent), transparent 34rem), linear-gradient(115deg, var(--accent), transparent 34rem), var(--page);min-width:320px;margin:0;overflow-x:hidden}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 34rem), linear-gradient(115deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 34rem), var(--page)}}body{font-family:var(--font-sans);font-optical-sizing:auto;font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}:is(a,button,summary,label,select,input[type=button],input[type=checkbox],input[type=color],input[type=file],input[type=radio],input[type=range],input[type=reset],input[type=submit],[role=button],[tabindex]:not([tabindex="-1"])):not(:disabled){cursor:pointer}:disabled,[aria-disabled=true]{cursor:not-allowed}.app-shell{isolation:isolate;background:radial-gradient(circle at calc(100% - 10rem) 6rem, var(--accent), transparent 30rem), radial-gradient(circle at 8% 46rem, var(--accent), transparent 32rem), var(--page);min-height:100dvh;padding-bottom:0;position:relative}@supports (color:color-mix(in lab, red, red)){.app-shell{background:radial-gradient(circle at calc(100% - 10rem) 6rem, color-mix(in srgb, var(--accent) 11%, transparent), transparent 30rem), radial-gradient(circle at 8% 46rem, color-mix(in srgb, var(--accent) 7%, transparent), transparent 32rem), var(--page)}}.app-shell{transition:background-color .26s,color .26s}.app-shell>main,.app-shell>footer{z-index:1;position:relative}.site-header{z-index:52;isolation:isolate;box-shadow:0 1px 0 var(--line), 0 18px 40px var(--surface-inset);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{box-shadow:0 1px 0 var(--line), 0 18px 40px color-mix(in srgb, var(--surface-inset) 22%, transparent)}}.site-header{transform:translateZ(0)}.site-header:before{content:"";z-index:-1;background:linear-gradient(145deg, var(--glass-highlight), transparent 42%), var(--page-blur);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.site-header:before{background:linear-gradient(145deg, var(--glass-highlight), transparent 42%), color-mix(in srgb, var(--page-blur) 90%, transparent)}}.site-header:before{pointer-events:none}.scroll-to-top-sentinel{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.spidey-scroll-btn{right:max(.65rem, env(safe-area-inset-right));bottom:max(.65rem, env(safe-area-inset-bottom));z-index:58;--spidey-launch-duration:1.5s;--spidey-web-duration:1.34s;cursor:pointer;contain:layout style;transform-origin:70% 88%;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:5.9rem;height:6.2rem;padding:0;position:fixed;overflow:visible}.spidey-scroll-btn[aria-disabled=true]{pointer-events:none}.spidey-web-anchor{z-index:3;background:var(--text);border-radius:999px;width:.42rem;height:.42rem;position:absolute;bottom:5.42rem;right:2.18rem}@supports (color:color-mix(in lab, red, red)){.spidey-web-anchor{background:color-mix(in srgb, var(--text) 78%, transparent)}}.spidey-web-anchor{box-shadow:0 0 0 2px var(--page), 0 0 18px var(--accent)}@supports (color:color-mix(in lab, red, red)){.spidey-web-anchor{box-shadow:0 0 0 2px color-mix(in srgb, var(--page) 72%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 22%, transparent)}}.spidey-web-anchor{opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;transform:scale(.72)}.spidey-web-strand{z-index:2;background:linear-gradient(90deg, transparent calc(50% - .8px), var(--text) calc(50% - .8px), var(--text) calc(50% + .8px), transparent calc(50% + .8px)), linear-gradient(0deg, var(--text) 0%, var(--text) 44%, var(--text) 85%, transparent 100%);width:.76rem;height:min(82vh,42rem);position:absolute;bottom:5.48rem;right:2rem}@supports (color:color-mix(in lab, red, red)){.spidey-web-strand{background:linear-gradient(90deg, transparent calc(50% - .8px), color-mix(in srgb, var(--text) 78%, transparent) calc(50% - .8px), color-mix(in srgb, var(--text) 78%, transparent) calc(50% + .8px), transparent calc(50% + .8px)), linear-gradient(0deg, color-mix(in srgb, var(--text) 20%, transparent) 0%, color-mix(in srgb, var(--text) 46%, transparent) 44%, color-mix(in srgb, var(--text) 12%, transparent) 85%, transparent 100%)}}.spidey-web-strand{opacity:0;pointer-events:none;transform-origin:bottom;will-change:transform, opacity;transition:opacity .18s;transform:rotate(7deg)scaleY(.13)}.spidey-web-strand:before,.spidey-web-strand:after{content:"";background:linear-gradient(0deg, var(--text) 0%, var(--text) 58%, transparent 100%);border-radius:999px;width:1px;height:100%;position:absolute;bottom:0;left:50%}@supports (color:color-mix(in lab, red, red)){.spidey-web-strand:before,.spidey-web-strand:after{background:linear-gradient(0deg, color-mix(in srgb, var(--text) 34%, transparent) 0%, color-mix(in srgb, var(--text) 24%, transparent) 58%, transparent 100%)}}.spidey-web-strand:before,.spidey-web-strand:after{opacity:.48;transform-origin:bottom}.spidey-web-strand:before{transform:translate(-50%)rotate(-2deg)}.spidey-web-strand:after{transform:translate(-50%)rotate(2deg)}.spidey-web-lattice{z-index:3;opacity:0;pointer-events:none;transform-origin:bottom;will-change:transform, opacity;width:.86rem;height:min(82vh,42rem);position:absolute;bottom:5.48rem;right:1.96rem;transform:rotate(7deg)scaleY(.13)}.spidey-web-lattice span{background:var(--text);border-radius:999px;width:.78rem;height:1px;position:absolute;left:50%}@supports (color:color-mix(in lab, red, red)){.spidey-web-lattice span{background:color-mix(in srgb, var(--text) 42%, transparent)}}.spidey-web-lattice span{transform-origin:50%}.spidey-web-lattice span:first-child{bottom:16%;transform:translate(-50%)rotate(37deg)}.spidey-web-lattice span:nth-child(2){bottom:30%;transform:translate(-50%)rotate(-37deg)}.spidey-web-lattice span:nth-child(3){bottom:45%;transform:translate(-50%)rotate(34deg)}.spidey-web-lattice span:nth-child(4){bottom:61%;transform:translate(-50%)rotate(-34deg)}.spidey-web-lattice span:nth-child(5){bottom:76%;transform:translate(-50%)rotate(31deg)}.spidey-web-fan{z-index:2;pointer-events:none;opacity:0;transform-origin:50% 100%;will-change:transform, opacity;width:2.2rem;height:2.2rem;position:absolute;bottom:calc(5.48rem + min(82vh,42rem));right:1.78rem;transform:translateY(.3rem)scale(.54)rotate(7deg)}.spidey-web-fan:before{content:"";border:1px solid var(--text);width:.64rem;height:.64rem;position:absolute;bottom:-.14rem;left:50%}@supports (color:color-mix(in lab, red, red)){.spidey-web-fan:before{border:1px solid color-mix(in srgb, var(--text) 42%, transparent)}}.spidey-web-fan:before{opacity:.72;border-radius:999px;transform:translate(-50%)scale(.76)}.spidey-web-fan span{background:var(--text);border-radius:999px;width:1px;height:2.1rem;position:absolute;bottom:0;left:50%}@supports (color:color-mix(in lab, red, red)){.spidey-web-fan span{background:color-mix(in srgb, var(--text) 46%, transparent)}}.spidey-web-fan span{transform-origin:bottom}.spidey-web-fan span:first-child{transform:rotate(-24deg)}.spidey-web-fan span:nth-child(2){transform:rotate(0)}.spidey-web-fan span:nth-child(3){transform:rotate(24deg)}.spidey-character{z-index:4;transform-origin:62% 8%;will-change:transform;width:clamp(4.8rem,7vw,5.65rem);height:clamp(4.8rem,7vw,5.65rem);transition:transform .3s cubic-bezier(.33,1,.68,1);animation:3.4s ease-in-out infinite spidey-idle-swing;display:block;position:absolute;bottom:-.3rem;right:-.18rem}.spidey-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 12px 18px #00000052);width:100%;height:100%;display:block}.spidey-speed-lines{z-index:1;opacity:0;pointer-events:none;will-change:transform, opacity;width:3rem;height:3rem;position:absolute;bottom:2.45rem;right:3.6rem;transform:translate(.4rem,.25rem)rotate(-18deg)}.spidey-speed-lines span{background:var(--text);border-radius:999px;width:1.8rem;height:2px;position:absolute;right:0}@supports (color:color-mix(in lab, red, red)){.spidey-speed-lines span{background:color-mix(in srgb, var(--text) 38%, transparent)}}.spidey-speed-lines span:first-child{width:2.2rem;top:.45rem}.spidey-speed-lines span:nth-child(2){width:1.55rem;top:1.3rem}.spidey-speed-lines span:nth-child(3){width:2.6rem;top:2.1rem}@keyframes spidey-idle-swing{0%,to{transform:translate(0)rotate(-2deg)}30%{transform:translate(-.08rem,-.18rem)rotate(2deg)}70%{transform:translate(.08rem,-.08rem)rotate(-4deg)}}.spidey-web-burst{z-index:5;pointer-events:none;width:0;height:0;position:absolute;bottom:5.48rem;right:2.22rem}.spidey-particle{background:var(--text);border-radius:999px;width:3.5px;height:3.5px;position:absolute}@supports (color:color-mix(in lab, red, red)){.spidey-particle{background:color-mix(in srgb, var(--text) 76%, var(--accent))}}.spidey-particle{opacity:0;will-change:transform, opacity}.spidey-scroll-btn:hover .spidey-character,.spidey-scroll-btn:focus-visible .spidey-character{animation-play-state:paused;transform:translate(-.08rem,-.25rem)scale(1.06)rotate(-7deg)}.spidey-scroll-btn:active .spidey-character{transition-duration:80ms;animation-play-state:paused;transform:translateY(.16rem)scale(.94)rotate(4deg)}.spidey-scroll-btn:focus-visible{outline:2px solid var(--accent);outline-offset:.3rem;border-radius:1.25rem}.spidey-scroll-btn.spidey-launching .spidey-character{animation:spidey-sling-launch var(--spidey-launch-duration) cubic-bezier(.16, 1, .3, 1) forwards;transition:none;animation-play-state:running}.spidey-scroll-btn.spidey-launching .spidey-web-strand{opacity:.92;animation:spidey-web-shoot var(--spidey-web-duration) cubic-bezier(.16, 1, .3, 1) forwards}.spidey-scroll-btn.spidey-launching .spidey-web-lattice{opacity:.72;animation:spidey-web-lattice-open var(--spidey-web-duration) cubic-bezier(.16, 1, .3, 1) 80ms forwards}.spidey-scroll-btn.spidey-launching .spidey-web-anchor{opacity:.86;animation:.78s cubic-bezier(.16,1,.3,1) forwards spidey-anchor-pop}.spidey-scroll-btn.spidey-launching .spidey-web-fan{animation:.98s cubic-bezier(.16,1,.3,1) forwards spidey-web-fan-open}.spidey-scroll-btn.spidey-launching .spidey-speed-lines{animation:.86s cubic-bezier(.16,1,.3,1) .18s forwards spidey-speed-slice}.spidey-launching .spidey-p1{animation:.52s cubic-bezier(.16,1,.3,1) 70ms forwards spidey-burst-1}.spidey-launching .spidey-p2{animation:.52s cubic-bezier(.16,1,.3,1) .11s forwards spidey-burst-2}.spidey-launching .spidey-p3{animation:.52s cubic-bezier(.16,1,.3,1) .15s forwards spidey-burst-3}.spidey-launching .spidey-p4{animation:.52s cubic-bezier(.16,1,.3,1) .19s forwards spidey-burst-4}@keyframes spidey-sling-launch{0%{opacity:1;transform:translate(.12rem,-6vh)scale(1)rotate(-6deg)}9%{opacity:1;transform:translate(-.2rem,-12vh)scale(1.03)rotate(-14deg)}22%{opacity:1;transform:translate(-.42rem,-7vh)scale(1.04)rotate(-17deg)}48%{opacity:1;transform:translate(-2.1rem,-38vh)scale(1.06)rotate(-27deg)}72%{opacity:.9;transform:translate(-.55rem,-72vh)scale(.92)rotate(18deg)}to{opacity:0;transform:translate(-1.45rem,-118vh)scale(.66)rotate(-10deg)}}@keyframes spidey-web-shoot{0%{opacity:.42;transform:rotate(7deg)scaleY(.06)}14%{opacity:.94;transform:rotate(7deg)scaleY(1)}78%{opacity:.74;transform:rotate(7deg)scaleY(1)}to{opacity:.24;transform:rotate(7deg)scaleY(1)}}@keyframes spidey-web-lattice-open{0%{opacity:0;transform:rotate(7deg)scaleY(.06)}18%{opacity:.76;transform:rotate(7deg)scaleY(1)}76%{opacity:.62;transform:rotate(7deg)scaleY(1)}to{opacity:.24;transform:rotate(7deg)scaleY(1)}}@keyframes spidey-anchor-pop{0%{transform:scale(.7)}26%{transform:scale(1.18)}to{opacity:0;transform:scale(.74)}}@keyframes spidey-web-fan-open{0%{opacity:0;transform:translateY(.55rem)scale(.44)rotate(7deg)}22%{opacity:.72;transform:translate(0)scale(1)rotate(7deg)}76%{opacity:.48;transform:translateY(-.16rem)scale(1.04)rotate(7deg)}to{opacity:0;transform:translateY(-.55rem)scale(1.14)rotate(7deg)}}@keyframes spidey-speed-slice{0%{opacity:0;transform:translate(.55rem,.32rem)rotate(-18deg)}32%{opacity:.76}to{opacity:0;transform:translate(-.55rem,-2rem)rotate(-18deg)}}@keyframes spidey-burst-1{0%{opacity:.86;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-1.05rem,-2.9rem)scale(0)}}@keyframes spidey-burst-2{0%{opacity:.76;transform:translate(0)scale(1)}to{opacity:0;transform:translate(.82rem,-3.35rem)scale(0)}}@keyframes spidey-burst-3{0%{opacity:.66;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-.25rem,-2.25rem)scale(0)}}@keyframes spidey-burst-4{0%{opacity:.58;transform:translate(0)scale(1)}to{opacity:0;transform:translate(1.35rem,-2.2rem)scale(0)}}@media (width<=767px){.spidey-scroll-btn{right:max(.46rem, env(safe-area-inset-right));bottom:max(.46rem, env(safe-area-inset-bottom));width:5.05rem;height:5.35rem}.spidey-character{width:4.75rem;height:4.75rem}.spidey-web-anchor{bottom:4.76rem;right:1.88rem}.spidey-web-strand{bottom:4.84rem;right:1.7rem}.spidey-web-lattice{bottom:4.84rem;right:1.66rem}.spidey-web-fan{bottom:calc(4.84rem + min(82vh,42rem));right:1.48rem}}@media (prefers-reduced-motion:reduce){.spidey-character,.spidey-launching .spidey-character,.spidey-launching .spidey-web-strand,.spidey-launching .spidey-web-lattice,.spidey-launching .spidey-web-anchor,.spidey-launching .spidey-web-fan,.spidey-launching .spidey-speed-lines{animation:none!important}.spidey-launching .spidey-character{opacity:0}.spidey-particle{display:none}.spidey-web-lattice{opacity:0}}.audio-reactive-backdrop{z-index:0;pointer-events:none;opacity:0;transition:opacity .24s;position:fixed;inset:0;overflow:hidden}.audio-reactive-backdrop:before{content:"";background:radial-gradient(circle at 12% 22%, var(--accent), transparent 28rem), radial-gradient(circle at 82% 18%, var(--accent), transparent 24rem), radial-gradient(circle at 68% 82%, var(--accent), transparent 28rem);position:absolute;inset:-8%}@supports (color:color-mix(in lab, red, red)){.audio-reactive-backdrop:before{background:radial-gradient(circle at 12% 22%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28rem), radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 24rem), radial-gradient(circle at 68% 82%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 28rem)}}.audio-reactive-backdrop:before{opacity:var(--audio-glow);will-change:opacity;transition:opacity .18s}.audio-reactive-backdrop span{left:var(--global-note-x);top:var(--global-note-y);color:var(--accent);position:absolute}@supports (color:color-mix(in lab, red, red)){.audio-reactive-backdrop span{color:color-mix(in srgb, var(--accent) 72%, var(--text))}}.audio-reactive-backdrop span{font-size:var(--global-note-size);opacity:0;text-shadow:0 0 14px var(--accent);font-weight:900;line-height:1}@supports (color:color-mix(in lab, red, red)){.audio-reactive-backdrop span{text-shadow:0 0 14px color-mix(in srgb, var(--accent) 30%, transparent)}}.audio-reactive-backdrop span{contain:layout paint style;will-change:transform, opacity;animation:none;transform:translateY(1rem)rotate(-12deg)scale(.78)}.audio-reactive-backdrop span:before{content:attr(data-note)}:root[data-audio-state=playing] .audio-reactive-backdrop{opacity:1}:root[data-audio-state=playing] .audio-reactive-backdrop span{animation:globalMusicNoteFloat var(--global-note-duration) linear var(--global-note-delay) infinite}:root[data-audio-state=playing] .soft-panel,:root[data-audio-state=playing] .project-card,:root[data-audio-state=playing] .project-visual,:root[data-audio-state=playing] .timeline-showcase,:root[data-audio-state=playing] .contact-profile-panel,:root[data-audio-state=playing] .contact-form-panel{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-audio-state=playing] .soft-panel,:root[data-audio-state=playing] .project-card,:root[data-audio-state=playing] .project-visual,:root[data-audio-state=playing] .timeline-showcase,:root[data-audio-state=playing] .contact-profile-panel,:root[data-audio-state=playing] .contact-form-panel{border-color:color-mix(in srgb, var(--accent) 26%, var(--line))}}:root[data-audio-state=playing] header,:root[data-audio-state=playing] footer{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-audio-state=playing] header,:root[data-audio-state=playing] footer{border-color:color-mix(in srgb, var(--accent) 22%, var(--line))}}img{max-width:100%}::selection{background:var(--accent);color:var(--accent-contrast)}.skip-link{z-index:999;background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:.75rem 1rem;font-weight:800;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-section{padding:clamp(4rem,8vw,7rem) 1rem;position:relative}.page-container{width:min(100%,80rem);margin-inline:auto}.soft-panel{border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-highlight), transparent 34%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.soft-panel{background:linear-gradient(145deg, var(--glass-highlight), transparent 34%), color-mix(in srgb, var(--surface) 92%, transparent)}}.soft-panel{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.inset-panel{background:var(--surface-inset);box-shadow:var(--shadow-inset)}.preference-button{border:1px solid var(--line);min-height:2rem;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.72rem;font-weight:800;transition:color .18s,border-color .18s,background-color .18s,transform .18s;display:inline-flex}.preference-button:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.preference-button.is-active{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.accent-swatch-grid{grid-template-columns:repeat(3,1.78rem);grid-auto-rows:1.78rem;justify-content:start;align-items:center;gap:.48rem;display:grid}.accent-swatch{border:1px solid var(--line-strong);border-radius:999px;place-items:center;width:1.78rem;height:1.78rem;display:grid}@supports (color:color-mix(in lab, red, red)){.accent-swatch{border:1px solid color-mix(in srgb, var(--line-strong) 82%, transparent)}}.accent-swatch{box-shadow:inset 0 1px 0 #ffffff3d, 0 10px 20px var(--surface-inset)}@supports (color:color-mix(in lab, red, red)){.accent-swatch{box-shadow:inset 0 1px 0 #ffffff3d, 0 10px 20px color-mix(in srgb, var(--surface-inset) 24%, transparent)}}.accent-swatch{transition:box-shadow .18s,transform .18s,border-color .18s}.accent-swatch:hover,.accent-swatch:focus-visible{border-color:var(--text);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.accent-swatch:hover,.accent-swatch:focus-visible{border-color:color-mix(in srgb, var(--text) 72%, transparent)}}.accent-swatch:hover,.accent-swatch:focus-visible{box-shadow:inset 0 1px 0 #ffffff4d, 0 12px 24px var(--accent)}@supports (color:color-mix(in lab, red, red)){.accent-swatch:hover,.accent-swatch:focus-visible{box-shadow:inset 0 1px 0 #ffffff4d, 0 12px 24px color-mix(in srgb, var(--accent) 14%, transparent)}}.accent-swatch.is-active{border-color:var(--text)}@supports (color:color-mix(in lab, red, red)){.accent-swatch.is-active{border-color:color-mix(in srgb, var(--text) 84%, transparent)}}.accent-swatch.is-active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text), 0 14px 28px var(--accent)}@supports (color:color-mix(in lab, red, red)){.accent-swatch.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--surface) 90%, transparent), 0 0 0 4px color-mix(in srgb, var(--text) 72%, transparent), 0 14px 28px color-mix(in srgb, var(--accent) 18%, transparent)}}.accent-swatch:active{transform:scale(.96)}.portfolio-button-primary{box-shadow:0 18px 40px var(--accent)}@supports (color:color-mix(in lab, red, red)){.portfolio-button-primary{box-shadow:0 18px 40px color-mix(in srgb, var(--accent) 24%, transparent)}}.portfolio-button-primary:hover{box-shadow:0 24px 50px var(--accent)}@supports (color:color-mix(in lab, red, red)){.portfolio-button-primary:hover{box-shadow:0 24px 50px color-mix(in srgb, var(--accent) 32%, transparent)}}.project-card-stretched-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.project-card-stretched-link:focus-visible{outline:2px solid var(--accent);outline-offset:.32rem}.project-card-content{z-index:2;pointer-events:none;position:relative}.project-card-actions,.project-card-actions a,.project-card-actions button{pointer-events:auto}.project-card-meta{align-content:flex-start;min-height:3.5rem}.project-card-title{min-height:3.8rem}.project-card-summary{min-height:5.25rem}.project-card-tech-list{min-height:4.35rem}.project-detail-hero{align-items:stretch;gap:clamp(1.2rem,2.3vw,1.65rem);display:grid}@media (width>=1024px){.project-detail-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}.project-detail-visual-shell{min-height:100%}.project-detail-visual-shell .project-visual{height:100%;min-height:clamp(24rem,34vw,31rem)}@media (width<=1023px){.project-detail-hero{align-items:start}.project-detail-visual-shell,.project-detail-visual-shell .project-visual{height:auto;min-height:0}}.project-detail-meta-grid{gap:.75rem;display:grid}@media (width>=640px){.project-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-info-block-wide{grid-column:1/-1}}.project-info-block{min-width:0}.project-info-block p:last-child{overflow-wrap:anywhere;line-height:1.45}.project-detail-actions{flex-wrap:wrap;gap:.62rem;display:flex}.project-case-study-grid{gap:.82rem;display:grid}@media (width>=900px){.project-case-study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-case-panel-scope,.project-case-panel-delivery{min-height:100%}}.project-case-panel{border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-highlight), transparent 54%), var(--surface);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-highlight);border-radius:1.5rem;padding:clamp(1rem,1.75vw,1.35rem);position:relative;overflow:hidden}.project-case-panel article{z-index:1;position:relative}.project-case-panel h2{color:var(--text);letter-spacing:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:950;line-height:1.15}.project-case-panel ul{gap:.72rem;margin-top:.92rem;display:grid}.project-case-panel li{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.64rem;font-size:.91rem;font-weight:650;line-height:1.62;display:grid}.project-case-panel li svg{color:var(--accent);margin-top:.32rem}.project-tech-panel{background:linear-gradient(145deg, var(--glass-highlight), transparent 58%), var(--surface)}.project-card-actions{z-index:3;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:stretch;gap:.68rem;min-height:12.05rem;display:grid;position:relative}.project-card-details-link,.project-card-video-button,.project-link-button{border-radius:999px;min-width:0;min-height:3.05rem;line-height:1.25;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s,color .22s}.project-card-details-link{border:1px solid var(--accent);grid-column:1/-1;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.project-card-details-link{border:1px solid color-mix(in srgb, var(--accent) 82%, transparent)}}.project-card-details-link{background:var(--accent);color:var(--accent-contrast);text-align:center;box-shadow:0 16px 32px var(--accent), inset 0 1px 0 #ffffff2e;padding:.72rem 1rem;font-size:.92rem;font-weight:900;line-height:1.25}@supports (color:color-mix(in lab, red, red)){.project-card-details-link{box-shadow:0 16px 32px color-mix(in srgb, var(--accent) 20%, transparent), inset 0 1px 0 #ffffff2e}}.project-card-details-link:hover,.project-card-details-link:focus-visible{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.project-card-details-link:hover,.project-card-details-link:focus-visible{border-color:color-mix(in srgb, var(--accent) 88%, #fff 12%)}}.project-card-details-link:hover,.project-card-details-link:focus-visible{box-shadow:0 18px 36px var(--accent), inset 0 1px 0 #ffffff3d}@supports (color:color-mix(in lab, red, red)){.project-card-details-link:hover,.project-card-details-link:focus-visible{box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 1px 0 #ffffff3d}}.project-card-video-button{grid-column:1/-1;width:100%;padding:.72rem 1rem;font-weight:900}.project-card-actions[data-link-count="1"] .project-link-button{grid-column:1/-1}.project-link-button{isolation:isolate;border:1px solid var(--accent);justify-content:center;align-items:center;gap:.56rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-link-button{border:1px solid color-mix(in srgb, var(--accent) 72%, transparent)}}.project-link-button{background:var(--accent);color:var(--accent-contrast);text-align:center;box-shadow:0 14px 28px var(--accent), inset 0 1px 0 #ffffff29;padding-block:.72rem;font-size:.92rem;font-weight:950;line-height:1.25;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.project-link-button{box-shadow:0 14px 28px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 #ffffff29}}.project-link-button:before{content:"";z-index:-1;border-radius:inherit;opacity:.34;pointer-events:none;background:linear-gradient(110deg,#ffffff29,#0000 44%);position:absolute;inset:1px}.project-link-button:hover,.project-link-button:focus-visible{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.project-link-button:hover,.project-link-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 82%, #fff 10%)}}.project-link-button:hover,.project-link-button:focus-visible{box-shadow:0 16px 32px var(--accent), inset 0 1px 0 #ffffff2e}@supports (color:color-mix(in lab, red, red)){.project-link-button:hover,.project-link-button:focus-visible{box-shadow:0 16px 32px color-mix(in srgb, var(--accent) 22%, transparent), inset 0 1px 0 #ffffff2e}}.project-link-button:active,.project-card-details-link:active,.project-card-video-button:active{transform:translateY(0)scale(.98)}.project-link-button:focus-visible,.project-card-details-link:focus-visible{outline:2px solid var(--accent);outline-offset:.24rem}.project-link-button-icon{width:1.25rem;height:1.25rem;box-shadow:none;background:0 0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.project-link-button-icon .brand-logo{width:1.12rem;height:1.12rem}.project-link-button-label{text-overflow:ellipsis;white-space:nowrap;line-height:1.25;display:block;overflow:hidden}.project-link-button-detail{min-height:3.12rem;padding-inline:1.1rem}.project-link-button-card{padding-inline:1rem .76rem}.project-link-button[data-store-platform=apple]{color:#fff;background:#0a84ff;border-color:#389bfff5;box-shadow:0 14px 28px #0a84ff33,inset 0 1px #ffffff38}.project-link-button[data-store-platform=google]{color:#052515;background:#3ddc84;border-color:#5fe299eb;box-shadow:0 14px 28px #3ddc842e,inset 0 1px #ffffff42}.project-link-button[data-store-platform=apple]:hover,.project-link-button[data-store-platform=apple]:focus-visible{border-color:#369aff;box-shadow:0 16px 34px #0a84ff42,inset 0 1px #ffffff42}.project-link-button[data-store-platform=google]:hover,.project-link-button[data-store-platform=google]:focus-visible{border-color:#64e39d;box-shadow:0 16px 34px #3ddc843d,inset 0 1px #ffffff4d}.project-link-button[data-store-platform=apple] .brand-logo-apple{color:#fff}.project-link-button[data-store-platform=google] .brand-logo-android{color:#052515}@media (width<=767px){.project-card-meta,.project-card-title,.project-card-summary,.project-card-tech-list,.project-card-actions{min-height:0}}@media (width<=420px){.project-card-actions{grid-template-columns:1fr}}.style-switcher-panel{--dock-gap:.32rem;--dock-panel-width:min(16rem, calc(100vw - 5rem));right:max(0px, env(safe-area-inset-right));z-index:60;width:var(--dock-panel-width);pointer-events:none;isolation:isolate;transition:width .3s cubic-bezier(.22,1,.36,1);position:fixed;top:clamp(4.85rem,10vh,5.85rem)}.style-switcher-panel[data-active-panel=music]{--dock-panel-width:min(20rem, calc(100vw - 5rem))}.style-switcher-panel.is-open{transform:none}.style-switcher-actions{--dock-gap:.32rem;--dock-panel-width:min(16rem, calc(100vw - 5rem));right:max(.45rem, env(safe-area-inset-right));z-index:61;pointer-events:auto;will-change:transform;gap:.72rem;transition:transform .3s cubic-bezier(.22,1,.36,1);display:grid;position:fixed;top:clamp(4.85rem,10vh,5.85rem);transform:translate(0)}.style-switcher-actions[data-active-panel=music]{--dock-panel-width:min(20rem, calc(100vw - 5rem))}.style-switcher-actions.is-open{transform:translateX(calc((var(--dock-panel-width) + var(--dock-gap)) * -1))}.style-switcher-icon{border:1px solid var(--line);background:var(--surface);border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.style-switcher-icon{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.style-switcher-icon{color:var(--text);box-shadow:var(--shadow-soft);transition:color .18s,border-color .18s,transform .18s,box-shadow .18s}.style-switcher-icon.is-active{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.style-switcher-icon.is-active{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}}.style-switcher-icon.is-active{color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-soft)}@supports (color:color-mix(in lab, red, red)){.style-switcher-icon.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent), var(--shadow-soft)}}.style-switcher-icon:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-strong);transform:translate(-2px)translateY(-1px)}.style-switcher-icon:active{transform:translate(-1px)translateY(0)scale(.98)}.theme-quick-icon svg{transition:transform .36s cubic-bezier(.22,1,.36,1)}.theme-quick-icon.is-light svg{transform:rotate(180deg)}.style-switcher-body{background:var(--surface);border-radius:.8rem 0 0 .8rem;gap:.85rem;display:grid}@supports (color:color-mix(in lab, red, red)){.style-switcher-body{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.style-switcher-body{box-shadow:var(--shadow-strong);opacity:0;pointer-events:none;transform:translateX(calc(100% + var(--dock-gap)));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);will-change:transform, opacity;padding:.95rem;transition:opacity .22s,transform .3s cubic-bezier(.22,1,.36,1),background-color .22s,box-shadow .22s}.style-switcher-panel.is-open .style-switcher-body{opacity:1;pointer-events:auto;transform:translate(0)}.style-switcher-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.style-switcher-body h2{color:var(--text);text-transform:uppercase;margin:0;font-size:.9rem;font-weight:900}.style-switcher-close{border:1px solid var(--line);background:var(--surface-inset);border-radius:999px;place-items:center;width:1.95rem;height:1.95rem;display:grid}@supports (color:color-mix(in lab, red, red)){.style-switcher-close{background:color-mix(in srgb, var(--surface-inset) 54%, transparent)}}.style-switcher-close{color:var(--muted);transition:color .18s,border-color .18s,transform .18s}.style-switcher-close:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.music-rail-icon{overflow:hidden}.music-rail-icon>svg{z-index:1;transition:color .18s,filter .18s,transform .18s;position:relative}.music-rail-icon.is-playing>svg{color:var(--accent);filter:drop-shadow(0 0 10px var(--accent))}@supports (color:color-mix(in lab, red, red)){.music-rail-icon.is-playing>svg{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 38%, transparent))}}.music-rail-icon.is-playing>svg{animation:1.25s ease-in-out infinite musicRailBeat}.home-hero{background:radial-gradient(circle at 8% 16%, var(--accent), transparent 24rem), linear-gradient(180deg, var(--surface-inset), transparent 42rem), linear-gradient(125deg, var(--accent), transparent 28rem), var(--page);min-height:calc(100dvh - 4.5rem)}@supports (color:color-mix(in lab, red, red)){.home-hero{background:radial-gradient(circle at 8% 16%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 24rem), linear-gradient(180deg, color-mix(in srgb, var(--surface-inset) 38%, transparent), transparent 42rem), linear-gradient(125deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28rem), var(--page)}}.home-hero{isolation:isolate}.home-hero:before{content:"";background:conic-gradient(from 230deg at 52% 42%, transparent, var(--accent), transparent 36%), linear-gradient(115deg, transparent 18%, var(--accent), transparent 54%), linear-gradient(290deg, transparent 12%, var(--accent), transparent 55%);height:76%;position:absolute;inset:-18% -12% auto}@supports (color:color-mix(in lab, red, red)){.home-hero:before{background:conic-gradient(from 230deg at 52% 42%, transparent, color-mix(in srgb, var(--accent) 30%, transparent), transparent 36%), linear-gradient(115deg, transparent 18%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 54%), linear-gradient(290deg, transparent 12%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%)}}.home-hero:before{filter:none;opacity:var(--audio-glow);pointer-events:none;transform-origin:50% 24%;will-change:opacity;z-index:-1;transition:opacity .18s;-webkit-mask-image:linear-gradient(#0000 0%,#000 14% 66%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 14% 66%,#0000 100%)}.hero-particle-field{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hero-particle{left:var(--particle-x);top:var(--particle-y);width:var(--particle-size);height:var(--particle-height);background:var(--accent);opacity:.08;animation:heroParticleFlight var(--particle-duration) ease-in-out var(--particle-delay) infinite;contain:layout paint style;will-change:transform, opacity;border-radius:999px;animation-play-state:paused;position:absolute;transform:translate(0)rotate(24deg)}:root[data-audio-state=playing] .hero-particle{opacity:var(--audio-particle-opacity);animation-play-state:running}.hero-particle-1{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-particle-1{background:color-mix(in srgb, var(--accent) 72%, var(--text))}}.hero-particle-2{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-particle-2{background:color-mix(in srgb, var(--accent) 52%, var(--surface-strong))}}.hero-music-notes{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-music-note{bottom:-3rem;left:var(--note-x);color:var(--accent);position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-music-note{color:color-mix(in srgb, var(--accent) 76%, var(--text))}}.hero-music-note{font-size:var(--note-size);opacity:0;text-shadow:0 0 16px var(--accent);font-weight:900;line-height:1}@supports (color:color-mix(in lab, red, red)){.hero-music-note{text-shadow:0 0 16px color-mix(in srgb, var(--accent) 34%, transparent)}}.hero-music-note{contain:layout paint style;will-change:transform, opacity;animation:none;transform:translateY(1rem)rotate(-10deg)scale(.72)}.hero-music-note:before{content:attr(data-note)}:root[data-audio-state=playing] .hero-music-note{animation:musicNoteRise var(--note-duration) linear var(--note-delay) infinite}.hero-light-ribbons{pointer-events:none;height:30rem;transform:translate3d(0, var(--audio-shift), 0);transform-origin:50%;z-index:0;transition:transform .16s;position:absolute;inset:9rem -12% auto}.hero-light-ribbons span{border:1px solid var(--accent);width:min(76rem,120vw);height:7rem;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.hero-light-ribbons span{border:1px solid color-mix(in srgb, var(--accent) 26%, transparent)}}.hero-light-ribbons span{opacity:var(--audio-ribbon-opacity);will-change:opacity, transform;border-left:0;border-right:0;border-radius:999px;animation:16s ease-in-out infinite ribbonDrift;transform:translate(-50%,-50%)rotate(-9deg)}.hero-light-ribbons span:nth-child(2){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-light-ribbons span:nth-child(2){border-color:color-mix(in srgb, var(--accent) 18%, transparent)}}.hero-light-ribbons span:nth-child(2){animation-delay:-5s;transform:translate(-46%,-34%)rotate(8deg)}.hero-light-ribbons span:nth-child(3){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-light-ribbons span:nth-child(3){border-color:color-mix(in srgb, var(--accent) 13%, transparent)}}.hero-light-ribbons span:nth-child(3){animation-delay:-9s;transform:translate(-58%,-64%)rotate(18deg)}.hero-kicker{border:1px solid var(--line);background:linear-gradient(140deg, var(--glass-highlight), transparent 38%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.hero-kicker{background:linear-gradient(140deg, var(--glass-highlight), transparent 38%), color-mix(in srgb, var(--surface) 72%, transparent)}}.hero-kicker{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-title{max-width:13ch;text-shadow:0 20px 80px var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-title{text-shadow:0 20px 80px color-mix(in srgb, var(--accent) 22%, transparent)}}.theme-switch{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:.7rem;min-width:min(100%,10.8rem);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.theme-switch{border:1px solid color-mix(in srgb, var(--line-strong) 76%, transparent)}}.theme-switch{background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.theme-switch{background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), color-mix(in srgb, var(--surface) 78%, transparent)}}.theme-switch{color:var(--text);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 12px 30px #0000001f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.34rem .82rem .34rem .36rem;transition:border-color .18s,transform .18s,box-shadow .18s}.theme-switch:hover{border-color:var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.theme-switch:hover{border-color:color-mix(in srgb, var(--accent) 54%, var(--line))}}.theme-switch:hover{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 42px var(--accent)}@supports (color:color-mix(in lab, red, red)){.theme-switch:hover{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 42px color-mix(in srgb, var(--accent) 12%, transparent)}}.theme-switch:active{transform:translateY(0)scale(.985)}.theme-switch-track{background:radial-gradient(circle at 24% 24%, #fff3, transparent 32%), linear-gradient(135deg, var(--surface-inset), var(--surface-strong));border-radius:999px;align-items:center;width:4.25rem;height:2.55rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.theme-switch-track{background:radial-gradient(circle at 24% 24%, #fff3, transparent 32%), linear-gradient(135deg, color-mix(in srgb, var(--surface-inset) 76%, transparent), var(--surface-strong))}}.theme-switch-track{box-shadow:inset 7px 8px 16px #0003, inset -8px -8px 18px var(--glass-highlight);transition:background-color .26s,box-shadow .26s;overflow:hidden}.theme-switch-track:before,.theme-switch-track:after{content:"";pointer-events:none;border-radius:999px;transition:opacity .26s,transform .42s cubic-bezier(.22,1,.36,1);position:absolute}.theme-switch-track:before{background:var(--text);width:.2rem;height:.2rem;box-shadow:.82rem .68rem 0 var(--text), 1.74rem .16rem 0 var(--text), 2.5rem .8rem 0 var(--text);top:.46rem;left:.82rem}@supports (color:color-mix(in lab, red, red)){.theme-switch-track:before{box-shadow:.82rem .68rem 0 var(--text), 1.74rem .16rem 0 var(--text), 2.5rem .8rem 0 color-mix(in srgb, var(--text) 72%, transparent)}}.theme-switch-track:before{opacity:.46}.theme-switch-track:after{opacity:0;background:#ffffff9e;width:1.35rem;height:.38rem;bottom:.42rem;left:.88rem;box-shadow:.55rem -.05rem 0 .08rem #ffffff7a}.theme-switch-thumb{background:radial-gradient(circle at 34% 28%, #fffffff2, transparent 28%), linear-gradient(145deg, var(--accent), var(--accent));border-radius:999px;place-items:center;width:1.91rem;height:1.91rem;display:grid;position:absolute;top:.32rem;left:.32rem}@supports (color:color-mix(in lab, red, red)){.theme-switch-thumb{background:radial-gradient(circle at 34% 28%, #fffffff2, transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--accent) 92%, #fff), var(--accent))}}.theme-switch-thumb{color:var(--accent-contrast);box-shadow:0 12px 24px var(--accent), inset 0 1px 0 #ffffff73}@supports (color:color-mix(in lab, red, red)){.theme-switch-thumb{box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 28%, transparent), inset 0 1px 0 #ffffff73}}.theme-switch-thumb{transition:transform .42s cubic-bezier(.22,1,.36,1),background-color .24s,box-shadow .24s;overflow:hidden}.theme-switch.is-light .theme-switch-thumb{background:radial-gradient(circle at 32% 24%, #fffffff2, transparent 30%), linear-gradient(145deg, #fff4cf, var(--accent));transform:translate(1.7rem)}.theme-switch.is-light .theme-switch-track:before{opacity:0;transform:translate(-.5rem)scale(.65)}.theme-switch.is-light .theme-switch-track:after{opacity:.62;transform:translate(.52rem)}.theme-switch-thumb-sun,.theme-switch-thumb-moon{transition:opacity .22s,transform .36s cubic-bezier(.22,1,.36,1);position:absolute}.theme-switch.is-dark .theme-switch-thumb-sun{opacity:0;transform:rotate(-90deg)scale(.48)}.theme-switch.is-dark .theme-switch-thumb-moon,.theme-switch.is-light .theme-switch-thumb-sun{opacity:1;transform:rotate(0)scale(1)}.theme-switch.is-light .theme-switch-thumb-moon{opacity:0;transform:rotate(90deg)scale(.48)}.theme-switch-copy{text-align:left;min-width:2.8rem;font-size:.82rem;font-weight:900}.global-music-player{box-shadow:none;background:0 0;border:0;border-radius:0;gap:.95rem;padding:0;transition:border-color .22s,box-shadow .22s,background-color .22s;display:grid;transform:translateZ(0)}.global-music-player[data-playing=true]{box-shadow:none;border-color:#0000}.global-music-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.74rem;display:grid}.global-music-play{aspect-ratio:1;background:var(--accent);width:3.75rem;color:var(--accent-contrast);box-shadow:0 18px 44px var(--accent), inset 0 1px 0 #ffffff42;border:0;border-radius:999px;place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.global-music-play{box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 28%, transparent), inset 0 1px 0 #ffffff42}}.global-music-play{isolation:isolate;transition:transform .18s,box-shadow .18s}.global-music-play:before{content:"";z-index:-1;border-radius:inherit;opacity:.72;background:radial-gradient(circle at 34% 24%,#ffffff57,#0000 38%);position:absolute;inset:.32rem}.global-music-play:hover{box-shadow:0 22px 54px var(--accent);transform:translateY(-1px)scale(1.035)}@supports (color:color-mix(in lab, red, red)){.global-music-play:hover{box-shadow:0 22px 54px color-mix(in srgb, var(--accent) 38%, transparent)}}.global-music-play:active{transform:scale(.98)}.global-music-play-symbol{display:block}.global-music-play-symbol.is-play{border-top:.58rem solid #0000;border-bottom:.58rem solid #0000;border-left:.9rem solid;width:0;height:0;margin-left:.2rem}.global-music-play-symbol.is-pause{background:linear-gradient(90deg,currentColor 0 32%,#0000 32% 68%,currentColor 68% 100%);border-radius:.18rem;width:1rem;height:1.25rem}.global-music-copy{min-width:0}.global-music-error{margin-top:.05rem}.global-music-wave{background:linear-gradient(180deg, var(--surface-inset), transparent), var(--surface-inset);border-radius:1rem;justify-content:center;align-items:center;gap:.18rem;width:100%;height:2.95rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.global-music-wave{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-inset) 48%, transparent), transparent), color-mix(in srgb, var(--surface-inset) 70%, transparent)}}.global-music-wave{box-shadow:var(--shadow-inset);padding:.45rem;overflow:hidden}.global-music-wave:after{content:"";background:radial-gradient(ellipse at center, var(--accent), transparent 72%);border-radius:999px;position:absolute;inset:.55rem 18%}@supports (color:color-mix(in lab, red, red)){.global-music-wave:after{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 22%, transparent), transparent 72%)}}.global-music-wave:after{opacity:.18;pointer-events:none;transform:scaleX(.76)}.global-music-wave:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:999px;width:26%;position:absolute;inset:.45rem auto .45rem -28%}@supports (color:color-mix(in lab, red, red)){.global-music-wave:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 28%, transparent), transparent)}}.global-music-wave:before{opacity:0;pointer-events:none;transform:translate(0)}.global-music-player[data-playing=true] .global-music-wave:before{opacity:1;animation:2.4s linear infinite waveShine}.global-music-player[data-playing=true] .global-music-wave:after{animation:1.8s ease-in-out infinite waveGlow}.global-music-wave span{z-index:1;--bar-rest:.34;--bar-peak:.8;background:linear-gradient(var(--accent), var(--accent));border-radius:999px;width:.28rem;height:80%;position:relative}@supports (color:color-mix(in lab, red, red)){.global-music-wave span{background:linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 58%, var(--text)))}}.global-music-wave span{box-shadow:0 0 10px var(--accent)}@supports (color:color-mix(in lab, red, red)){.global-music-wave span{box-shadow:0 0 10px color-mix(in srgb, var(--accent) 14%, transparent)}}.global-music-wave span{opacity:.56;transform:scaleY(var(--bar-rest));transform-origin:50%;animation:none}:root[data-theme=light] .global-music-wave span{background:linear-gradient(var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .global-music-wave span{background:linear-gradient(color-mix(in srgb, var(--accent) 92%, #fff), color-mix(in srgb, var(--accent) 70%, #3a3024))}}.global-music-wave span:nth-child(3n+1){--bar-rest:.46;--bar-peak:.96;transform:scaleY(var(--bar-rest))}.global-music-wave span:nth-child(4n+2){--bar-rest:.56;--bar-peak:1.08;transform:scaleY(var(--bar-rest))}.global-music-wave span:nth-child(5n+3){--bar-rest:.4;--bar-peak:.9;transform:scaleY(var(--bar-rest))}.global-music-player[data-playing=true] .global-music-wave span{animation:.68s cubic-bezier(.37,0,.63,1) infinite waveformPulse;animation-delay:var(--bar-delay);opacity:1}.global-music-seek{min-width:0;color:var(--muted);gap:.25rem;font-size:.7rem;font-weight:800;display:grid}.global-music-seek input{appearance:none;background:linear-gradient(90deg, var(--accent) var(--music-progress,0%), var(--surface-inset) 0), var(--surface-inset);border-radius:999px;width:100%}@supports (color:color-mix(in lab, red, red)){.global-music-seek input{background:linear-gradient(90deg, var(--accent) var(--music-progress,0%), color-mix(in srgb, var(--surface-inset) 72%, transparent) 0), color-mix(in srgb, var(--surface-inset) 72%, transparent)}}.global-music-seek input{box-shadow:var(--shadow-inset);outline:none;height:.55rem}.global-music-seek input::-webkit-slider-thumb{appearance:none;background:var(--accent);width:1rem;height:1rem;box-shadow:0 6px 18px var(--accent);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.global-music-seek input::-webkit-slider-thumb{box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 36%, transparent)}}.global-music-seek input::-moz-range-thumb{background:var(--accent);width:1rem;height:1rem;box-shadow:0 6px 18px var(--accent);border:0;border-radius:999px}@supports (color:color-mix(in lab, red, red)){.global-music-seek input::-moz-range-thumb{box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 36%, transparent)}}.global-music-live{width:3.65rem;height:3.65rem;color:var(--accent);border:0;border-radius:999px;place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.global-music-live{color:color-mix(in srgb, var(--accent) 76%, var(--text))}}.global-music-live{background:0 0;overflow:visible}.global-music-live:before{content:"";border-radius:inherit;background:radial-gradient(circle, var(--accent), transparent 66%);position:absolute;inset:.22rem}@supports (color:color-mix(in lab, red, red)){.global-music-live:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 66%)}}.global-music-live:before{opacity:0;pointer-events:none;transform:scale(.72)}.global-music-live:after{content:"";border-radius:inherit;border:1px solid var(--accent);position:absolute;inset:.08rem}@supports (color:color-mix(in lab, red, red)){.global-music-live:after{border:1px solid color-mix(in srgb, var(--accent) 34%, transparent)}}.global-music-live:after{opacity:0;pointer-events:none;transform:scale(.7)}.global-music-player[data-playing=true] .global-music-live:before{opacity:1;animation:1.6s ease-in-out infinite mascotGlowBeat}.global-music-player[data-playing=true] .global-music-live:after{opacity:.58;animation:1.7s ease-in-out infinite mascotOrbit}.global-music-mascot{z-index:1;object-fit:contain;width:3.18rem;height:3.18rem;filter:drop-shadow(0 8px 14px var(--accent));position:relative}@supports (color:color-mix(in lab, red, red)){.global-music-mascot{filter:drop-shadow(0 8px 14px color-mix(in srgb, var(--accent) 22%, transparent))}}.global-music-mascot{transform-origin:50%;transition:filter .22s,transform .22s;transform:rotate(-8deg)scale(.96)}.global-music-player[data-playing=true] .global-music-mascot{filter:drop-shadow(0 10px 18px var(--accent))}@supports (color:color-mix(in lab, red, red)){.global-music-player[data-playing=true] .global-music-mascot{filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--accent) 34%, transparent))}}.global-music-player[data-playing=true] .global-music-mascot{animation:4.8s linear infinite mascotSpin}.music-meme-peek{right:max(-2.05rem, calc(env(safe-area-inset-right) - 2.05rem));bottom:var(--peek-bottom,24dvh);z-index:62;pointer-events:none;width:min(17.6rem,100vw - 2rem);transform:translateX(115%) rotate(var(--peek-tilt,-4deg));transform-origin:100%;will-change:transform, opacity;grid-template-columns:minmax(0,11.5rem) 4.6rem;align-items:center;gap:.7rem;animation:8s cubic-bezier(.22,1,.36,1) both musicMemePeekCycle;display:grid;position:fixed}.music-meme-peek:before{content:"";z-index:-1;background:radial-gradient(circle at 34% 28%, #ffffff59, transparent 32%), var(--accent);border-radius:999px;width:5.4rem;height:5.4rem;position:absolute;top:50%;right:-1.4rem}@supports (color:color-mix(in lab, red, red)){.music-meme-peek:before{background:radial-gradient(circle at 34% 28%, #ffffff59, transparent 32%), color-mix(in srgb, var(--accent) 24%, var(--surface-strong))}}.music-meme-peek:before{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 52px var(--accent)}@supports (color:color-mix(in lab, red, red)){.music-meme-peek:before{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 52px color-mix(in srgb, var(--accent) 22%, transparent)}}.music-meme-peek:before{opacity:.92;transform:translateY(-50%)}.music-meme-peek-bubble{border:1px solid var(--accent);justify-items:start;gap:.55rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-bubble{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line))}}.music-meme-peek-bubble{background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), var(--surface);border-radius:1.05rem}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-bubble{background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), color-mix(in srgb, var(--surface) 94%, transparent)}}.music-meme-peek-bubble{box-shadow:var(--shadow-soft);pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:.78rem .82rem}.music-meme-peek-bubble:after{content:"";border-right:1px solid var(--accent);width:.8rem;height:.8rem;position:absolute;top:50%;right:-.42rem}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-bubble:after{border-right:1px solid color-mix(in srgb, var(--accent) 38%, var(--line))}}.music-meme-peek-bubble:after{border-bottom:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-bubble:after{border-bottom:1px solid color-mix(in srgb, var(--accent) 38%, var(--line))}}.music-meme-peek-bubble:after{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-bubble:after{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.music-meme-peek-bubble:after{transform:translateY(-50%)rotate(-45deg)}.music-meme-peek-bubble p{color:var(--text);margin:0;font-size:.86rem;font-weight:950;line-height:1.35}.music-meme-peek-dismiss{background:var(--accent);min-height:1.85rem;color:var(--accent-contrast);box-shadow:0 10px 26px var(--accent);border:0;border-radius:999px;padding:.28rem .68rem;font-size:.72rem;font-weight:950}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-dismiss{box-shadow:0 10px 26px color-mix(in srgb, var(--accent) 24%, transparent)}}.music-meme-peek-dismiss{transition:box-shadow .18s,transform .18s}.music-meme-peek-dismiss:hover{box-shadow:0 14px 32px var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-dismiss:hover{box-shadow:0 14px 32px color-mix(in srgb, var(--accent) 32%, transparent)}}.music-meme-peek-dismiss:active{transform:translateY(0)scale(.96)}.music-meme-peek-image{object-fit:contain;pointer-events:none;width:4.85rem;height:4.85rem;filter:drop-shadow(0 14px 24px var(--accent))}@supports (color:color-mix(in lab, red, red)){.music-meme-peek-image{filter:drop-shadow(0 14px 24px color-mix(in srgb, var(--accent) 26%, transparent))}}.music-meme-peek-image{transform-origin:50%;animation:1.65s ease-in-out infinite musicMemeHeadBob}.brand-logo{background:currentColor;width:2.5rem;height:2.5rem;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand-logo-android{color:#3ddc84;-webkit-mask-image:url(/assets/brand/android.svg);mask-image:url(/assets/brand/android.svg)}.brand-logo-apple{color:var(--text);-webkit-mask-image:url(/assets/brand/apple.svg);mask-image:url(/assets/brand/apple.svg)}.hero-portrait{isolation:isolate}.hero-portrait-frame{z-index:1;transform:scale(var(--audio-portrait-scale));transition:transform .16s;position:relative;overflow:hidden}.hero-portrait-frame:before{content:"";box-shadow:var(--shadow-inset);pointer-events:none;z-index:1;border-radius:1.8rem;position:absolute;inset:1rem}.hero-portrait-frame:after{content:"";background:linear-gradient(115deg, transparent 28%, #ffffff3d, transparent 44%), linear-gradient(180deg, transparent 58%, var(--accent));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-portrait-frame:after{background:linear-gradient(115deg, transparent 28%, #ffffff3d, transparent 44%), linear-gradient(180deg, transparent 58%, color-mix(in srgb, var(--accent) 10%, transparent))}}.hero-portrait-frame:after{opacity:var(--audio-portrait-shine);pointer-events:none;transform:translateX(var(--audio-shine-offset));transition:opacity .16s}.hero-portrait-image{object-position:50% 34%}.hero-portrait-reactor{z-index:-1;pointer-events:none;position:absolute;inset:-3rem}.hero-portrait-waves{z-index:0;pointer-events:none;position:absolute;inset:-2.6rem}.hero-portrait-waves span{border:2px solid var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-portrait-waves span{border:2px solid color-mix(in srgb, var(--accent) 40%, var(--text))}}.hero-portrait-waves span{opacity:0;box-shadow:0 0 26px var(--accent);border-radius:2.85rem;transform:scale(.88)}@supports (color:color-mix(in lab, red, red)){.hero-portrait-waves span{box-shadow:0 0 26px color-mix(in srgb, var(--accent) 14%, transparent)}}:root[data-theme=light] .hero-portrait-waves span{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .hero-portrait-waves span{border-color:color-mix(in srgb, var(--accent) 58%, #4b3b22)}}:root[data-theme=light] .hero-portrait-waves span{box-shadow:0 0 22px var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .hero-portrait-waves span{box-shadow:0 0 22px color-mix(in srgb, var(--accent) 18%, transparent)}}:root[data-audio-state=playing] .hero-portrait-waves span{animation:2.7s ease-out infinite portraitWavePulse}:root[data-audio-state=playing] .hero-portrait-waves span:nth-child(2){animation-delay:-.68s}:root[data-audio-state=playing] .hero-portrait-waves span:nth-child(3){animation-delay:-1.36s}:root[data-audio-state=playing] .hero-portrait-waves span:nth-child(4){animation-delay:-2.04s}.hero-portrait-reactor span{border:1px solid var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-portrait-reactor span{border:1px solid color-mix(in srgb, var(--accent) 18%, transparent)}}.hero-portrait-reactor span{opacity:var(--audio-reactor-opacity);transform:rotate(12deg) scale(var(--audio-scale));border-radius:42% 58% 48% 52%;animation:18s linear infinite reactorTurn}.hero-portrait-reactor span:nth-child(2){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-portrait-reactor span:nth-child(2){border-color:color-mix(in srgb, var(--accent) 14%, transparent)}}.hero-portrait-reactor span:nth-child(2){animation-duration:23s;animation-direction:reverse;transform:rotate(-18deg)scale(.92)}.hero-portrait-reactor span:nth-child(3){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-portrait-reactor span:nth-child(3){border-color:color-mix(in srgb, var(--accent) 11%, transparent)}}.hero-portrait-reactor span:nth-child(3){animation-duration:28s;transform:rotate(36deg)scale(1.08)}.platform-badge{z-index:3;width:clamp(3.8rem,8.5vw,5.35rem);height:clamp(3.8rem,8.5vw,5.35rem);box-shadow:none;pointer-events:none;opacity:.96;filter:drop-shadow(0 16px 24px var(--accent));background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.platform-badge{filter:drop-shadow(0 16px 24px color-mix(in srgb, var(--accent) 18%, transparent))}}.platform-badge{transition:opacity .18s,filter .18s,transform .18s}.platform-badge .brand-logo{width:100%;height:100%}.platform-badge:hover{filter:drop-shadow(0 18px 30px var(--accent));animation-play-state:paused}@supports (color:color-mix(in lab, red, red)){.platform-badge:hover{filter:drop-shadow(0 18px 30px color-mix(in srgb, var(--accent) 28%, transparent))}}.platform-badge-android{animation:5.5s ease-in-out infinite platformPeekAndroid;top:clamp(3.8rem,18%,5.4rem);left:clamp(-2.25rem,-4.25vw,-1.35rem)}.platform-badge-ios{width:clamp(3.4rem,7.5vw,4.85rem);height:clamp(3.4rem,7.5vw,4.85rem);animation:6.25s ease-in-out -1.9s infinite platformPeekIos;bottom:clamp(4.2rem,20%,5.8rem);right:clamp(-2.05rem,-3.9vw,-1.2rem)}.home-story-collage{grid-template-rows:1fr .9fr;grid-template-columns:1fr .78fr;gap:.85rem;min-height:28rem;display:grid;overflow:hidden}.home-story-photo{border:1px solid var(--line);background:var(--surface-inset);min-width:0;min-height:0;box-shadow:var(--shadow-inset);border-radius:1.15rem;margin:0;position:relative;overflow:hidden}.home-story-photo:after{content:"";background:linear-gradient(180deg, transparent 56%, #0000004d), radial-gradient(circle at 18% 12%, var(--accent), transparent 12rem);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.home-story-photo:after{background:linear-gradient(180deg, transparent 56%, #0000004d), radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 12rem)}}.home-story-photo:after{opacity:.72;pointer-events:none}.home-story-photo img{object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.22,1,.36,1),filter .24s}.home-story-collage:hover .home-story-photo img{filter:saturate(1.04)}.home-story-photo:hover img{transform:scale(1.04)}.home-story-photo-primary{grid-row:span 2}.home-story-photo-primary img{object-position:50% 38%}.home-story-photo-campus img{object-position:50% 42%}.home-story-photo-graduation img{object-position:50% 38%}.footer-icon{border:1px solid var(--line);background:var(--surface);min-height:2.25rem;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:2.25rem;font-size:.875rem;font-weight:800;transition:color .18s,border-color .18s,transform .18s;display:inline-flex}.footer-icon:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.project-visual{border:1px solid var(--line);background:linear-gradient(135deg, var(--preview-accent,var(--accent)), transparent 42%), linear-gradient(315deg, var(--preview-accent,var(--accent)), transparent 45%), var(--surface-inset);border-radius:1.5rem;min-height:18rem}@supports (color:color-mix(in lab, red, red)){.project-visual{background:linear-gradient(135deg, color-mix(in srgb, var(--preview-accent,var(--accent)) 18%, transparent), transparent 42%), linear-gradient(315deg, color-mix(in srgb, var(--preview-accent,var(--accent)) 14%, transparent), transparent 45%), var(--surface-inset)}}.project-real-visual{isolation:isolate;place-items:center;min-height:18rem;padding:1rem;display:grid;position:relative;overflow:hidden}.project-real-visual-backdrop{z-index:-2;background-image:linear-gradient(135deg, var(--preview-accent,var(--accent)), transparent 46%), var(--preview-image);position:absolute;inset:-18%}@supports (color:color-mix(in lab, red, red)){.project-real-visual-backdrop{background-image:linear-gradient(135deg, color-mix(in srgb, var(--preview-accent,var(--accent)) 18%, transparent), transparent 46%), var(--preview-image)}}.project-real-visual-backdrop{filter:saturate(1.03);opacity:.22;background-position:50%;background-size:cover;transform:scale(1.02)}.project-real-visual:after{content:"";z-index:-1;background:radial-gradient(circle at 22% 18%, var(--preview-accent,var(--accent)), transparent 18rem), linear-gradient(180deg, transparent 54%, var(--surface-inset));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-real-visual:after{background:radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--preview-accent,var(--accent)) 18%, transparent), transparent 18rem), linear-gradient(180deg, transparent 54%, color-mix(in srgb, var(--surface-inset) 74%, transparent))}}.project-real-visual:after{pointer-events:none}.project-real-visual-stack{justify-content:center;align-items:center;gap:clamp(.45rem,1.5vw,.8rem);min-width:0;max-width:100%;display:flex}.project-real-visual-image{border:1px solid var(--text);border-radius:1rem;min-width:0;max-width:min(100%,33rem);max-height:15.5rem;display:block}@supports (color:color-mix(in lab, red, red)){.project-real-visual-image{border:1px solid color-mix(in srgb, var(--text) 14%, transparent)}}.project-real-visual-image{background:var(--surface-inset)}@supports (color:color-mix(in lab, red, red)){.project-real-visual-image{background:color-mix(in srgb, var(--surface-inset) 82%, transparent)}}.project-real-visual-image{box-shadow:0 18px 46px #00000047, 0 0 0 1px var(--preview-accent,var(--accent))}@supports (color:color-mix(in lab, red, red)){.project-real-visual-image{box-shadow:0 18px 46px #00000047, 0 0 0 1px color-mix(in srgb, var(--preview-accent,var(--accent)) 12%, transparent)}}.project-real-visual-image{object-fit:contain;transition:transform .42s cubic-bezier(.22,1,.36,1),filter .24s}.project-real-visual[data-compact=false] .project-real-visual-image{max-height:clamp(18rem,42vw,25rem)}.project-real-visual[data-count="1"] .project-real-visual-image{width:min(100%,36rem)}.project-real-visual[data-count="2"] .project-real-visual-image,.project-real-visual[data-count="3"] .project-real-visual-image{width:auto;max-width:min(32%,12rem)}.project-real-visual[data-compact=false][data-count="2"] .project-real-visual-image,.project-real-visual[data-compact=false][data-count="3"] .project-real-visual-image{max-width:min(31%,14rem)}.project-real-visual[data-count="4"] .project-real-visual-image{width:auto;max-width:min(23%,10rem)}.project-real-visual[data-compact=false][data-count="4"] .project-real-visual-image{max-width:min(23%,12rem)}.project-real-visual-stack .project-real-visual-image:first-child{transform:rotate(-3deg)translateY(.25rem)}.project-real-visual-stack .project-real-visual-image:nth-child(2){transform:translateY(-.25rem)}.project-real-visual-stack .project-real-visual-image:nth-child(3){transform:rotate(3deg)translateY(.25rem)}.project-real-visual-stack .project-real-visual-image:nth-child(4){transform:rotate(5deg)translateY(.55rem)}.group:hover .project-real-visual-image{filter:saturate(1.04)}.group:hover .project-real-visual-stack .project-real-visual-image:first-child{transform:rotate(-4deg)translateY(-.15rem)scale(1.02)}.group:hover .project-real-visual-stack .project-real-visual-image:nth-child(2){transform:translateY(-.65rem)scale(1.02)}.group:hover .project-real-visual-stack .project-real-visual-image:nth-child(3){transform:rotate(4deg)translateY(-.15rem)scale(1.02)}.project-image-gallery{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:1.5rem;padding:.75rem;overflow:hidden}.media-carousel-shell{grid-template-columns:minmax(0,1fr);align-items:center;gap:.68rem;display:grid}.media-carousel-shell[data-has-navigation=true]{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.project-image-gallery-main{background:radial-gradient(circle at 50% 0%, var(--accent), transparent 20rem), var(--surface-inset);border:0;border-radius:1.1rem;place-items:center;width:100%;min-height:18rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-image-gallery-main{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 20rem), var(--surface-inset)}}.project-image-gallery-main{box-shadow:var(--shadow-inset);padding:0;transition:box-shadow .18s,transform .18s}.project-image-gallery-main img{object-fit:contain;width:100%;min-height:18rem;max-height:min(74dvh,38rem);transition:filter .22s,transform .26s;display:block}.project-image-gallery-open:hover,.project-image-gallery-open:focus-visible{box-shadow:0 0 0 2px var(--accent), var(--shadow-inset)}@supports (color:color-mix(in lab, red, red)){.project-image-gallery-open:hover,.project-image-gallery-open:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 48%, transparent), var(--shadow-inset)}}.project-image-gallery-open:hover img,.project-image-gallery-open:focus-visible img{filter:saturate(1.04);transform:scale(1.015)}.project-image-gallery-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-image-gallery-thumbnails{gap:.65rem;margin-top:.75rem;padding:.32rem .28rem .45rem;display:flex;overflow-x:auto}.project-image-gallery-thumb{background:var(--surface-inset);width:7rem;height:4rem;box-shadow:inset 0 0 0 1px var(--line);opacity:.72;border:0;border-radius:.82rem;flex:none;transition:box-shadow .18s,opacity .18s,transform .18s;position:relative;overflow:hidden}.project-image-gallery-thumb:hover,.project-image-gallery-thumb:focus-visible{box-shadow:inset 0 0 0 1px var(--accent), 0 10px 24px var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-image-gallery-thumb:hover,.project-image-gallery-thumb:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 68%, transparent), 0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent)}}.project-image-gallery-thumb:hover,.project-image-gallery-thumb:focus-visible{opacity:1}.project-image-gallery-thumb[data-active=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent), inset 0 0 0 2px var(--accent), 0 12px 28px var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-image-gallery-thumb[data-active=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--surface) 92%, transparent), 0 0 0 4px var(--accent), inset 0 0 0 2px var(--accent), 0 12px 28px color-mix(in srgb, var(--accent) 18%, transparent)}}.project-image-gallery-thumb[data-active=true]{opacity:1;transform:translateY(-1px)}.project-image-gallery-thumb[data-active=true] img{filter:saturate(1.05)contrast(1.02)}.project-image-gallery-thumb:active{transform:scale(.98)}.project-image-gallery-thumb img{background:var(--surface-inset);object-fit:contain;width:100%;height:100%}.media-carousel-button{border:1px solid var(--accent);place-items:center;width:2.65rem;height:2.65rem;display:grid}@supports (color:color-mix(in lab, red, red)){.media-carousel-button{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line))}}.media-carousel-button{background:linear-gradient(145deg, var(--glass-highlight), transparent 42%), var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.media-carousel-button{background:linear-gradient(145deg, var(--glass-highlight), transparent 42%), color-mix(in srgb, var(--surface) 88%, transparent)}}.media-carousel-button{color:var(--text);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 16px 36px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}.media-carousel-button:hover,.media-carousel-button:focus-visible{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 42px var(--accent);transform:translateY(-1px)scale(1.04)}@supports (color:color-mix(in lab, red, red)){.media-carousel-button:hover,.media-carousel-button:focus-visible{box-shadow:inset 0 1px 0 var(--glass-highlight), 0 18px 42px color-mix(in srgb, var(--accent) 18%, transparent)}}.media-carousel-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.media-carousel-button:active{transform:scale(.96)}.image-lightbox{z-index:90;background:radial-gradient(circle at 50% 12%, var(--accent), transparent 28rem), #0b0b0dc7;place-items:center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.image-lightbox{background:radial-gradient(circle at 50% 12%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28rem), #0b0b0dc7}}.image-lightbox{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.image-lightbox-panel{background:linear-gradient(145deg,#ffffff17,#0000 42%),#111216;border:1px solid #ffffff24;border-radius:1.4rem;width:min(100%,74rem);max-height:min(92dvh,52rem);display:grid;overflow:hidden;box-shadow:0 34px 110px #00000085}.image-lightbox-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem .88rem .78rem 1rem;display:flex}.image-lightbox-header p{color:#fffaf0;margin:0;font-size:.92rem;font-weight:950}.image-lightbox-header span{color:#fffaf094;margin-top:.16rem;font-size:.74rem;font-weight:850;display:block}.image-lightbox-close,.image-lightbox-nav{color:#fffaf0c2;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;place-items:center;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:grid}.image-lightbox-close{width:2.55rem;height:2.55rem}.image-lightbox-close:hover,.image-lightbox-nav:hover,.image-lightbox-close:focus-visible,.image-lightbox-nav:focus-visible{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.image-lightbox-close:hover,.image-lightbox-nav:hover,.image-lightbox-close:focus-visible,.image-lightbox-nav:focus-visible{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.image-lightbox-close:hover,.image-lightbox-nav:hover,.image-lightbox-close:focus-visible,.image-lightbox-nav:focus-visible{color:#fff;transform:translateY(-1px)}.image-lightbox-close:focus-visible,.image-lightbox-nav:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.image-lightbox-stage{grid-template-columns:3.25rem minmax(0,1fr) 3.25rem;align-items:center;gap:.75rem;min-height:min(72dvh,42rem);padding:clamp(.8rem,2vw,1.2rem);display:grid}.image-lightbox-stage>img{object-fit:contain;background:#0a0b0d;border-radius:1rem;width:100%;max-height:min(72dvh,42rem);box-shadow:inset 0 0 0 1px #ffffff17}.image-lightbox-stage>img:first-child:last-child{grid-column:1/-1}.image-lightbox-nav{width:3rem;height:3rem}.contact-page{padding-top:clamp(3rem,5vw,4.4rem);overflow:hidden}.contact-hero{grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);align-items:end;gap:clamp(1.5rem,4vw,3rem);margin-bottom:clamp(1.25rem,3vw,2rem);display:grid}.contact-hero-copy{max-width:47rem}.contact-kicker{border:1px solid var(--line);background:linear-gradient(140deg, var(--glass-highlight), transparent 40%), var(--surface);border-radius:999px;align-items:center;gap:.55rem;min-height:2.35rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.contact-kicker{background:linear-gradient(140deg, var(--glass-highlight), transparent 40%), color-mix(in srgb, var(--surface) 78%, transparent)}}.contact-kicker{color:var(--muted);box-shadow:var(--shadow-soft);padding:.45rem .8rem;font-size:.8rem;font-weight:900}.contact-kicker svg{color:var(--accent)}.contact-hero h1{max-width:12ch;color:var(--text);letter-spacing:0;text-wrap:balance;margin:1.4rem 0 0;font-size:clamp(3rem,6.2vw,5.85rem);font-weight:950;line-height:.95}.contact-hero p{max-width:43rem;color:var(--muted);margin:1.3rem 0 0;font-size:clamp(1rem,1.45vw,1.18rem);font-weight:600;line-height:1.9}.contact-portrait-card{border:1px solid var(--line);background:var(--surface-inset);min-height:16.5rem;box-shadow:var(--shadow-strong);isolation:isolate;border-radius:1.6rem;margin:0;position:relative;overflow:hidden}.contact-portrait-card:after{content:"";background:radial-gradient(circle at 18% 14%, var(--accent), transparent 12rem), linear-gradient(180deg, transparent 42%, #000000b8);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.contact-portrait-card:after{background:radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 12rem), linear-gradient(180deg, transparent 42%, #000000b8)}}.contact-portrait-card:after{pointer-events:none}.contact-portrait-card img{object-fit:cover;object-position:50% 34%;width:100%;height:100%;min-height:16.5rem;transform:scale(1.02)}.contact-portrait-card figcaption{z-index:1;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1414169e;border:1px solid #ffffff2e;border-radius:1rem;gap:.18rem;padding:.8rem .9rem;display:grid;position:absolute;inset:auto 1rem 1rem}.contact-portrait-card strong{font-size:.95rem;font-weight:950}.contact-portrait-card span{color:#ffffffb8;font-size:.78rem;font-weight:800}.contact-layout{grid-template-columns:minmax(18rem,.86fr) minmax(0,1.14fr);align-items:start;gap:clamp(1.2rem,2.4vw,1.7rem);display:grid}.contact-side{gap:1rem;display:grid}.contact-profile-panel{border-radius:1.45rem;padding:1rem;position:relative;overflow:hidden}.contact-profile-panel:before{content:"";background:radial-gradient(circle, var(--accent), transparent 68%);border-radius:999px;width:16rem;height:16rem;position:absolute;inset:-45% auto auto -22%}@supports (color:color-mix(in lab, red, red)){.contact-profile-panel:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 68%)}}.contact-profile-panel:before{pointer-events:none}.contact-profile-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;display:grid;position:relative}.contact-profile-main img{border:1px solid var(--line-strong);object-fit:cover;object-position:50% 38%;width:5.4rem;height:5.4rem;box-shadow:var(--shadow-inset);border-radius:1.1rem}.contact-profile-main p{color:var(--text);margin:0;font-size:1rem;font-weight:950}.contact-profile-main span{color:var(--accent);margin-top:.2rem;font-size:.8rem;font-weight:900;display:block}.contact-profile-meta{color:var(--muted);align-items:flex-start;gap:.55rem;margin-top:1rem;font-size:.82rem;font-weight:750;line-height:1.6;display:flex;position:relative}.contact-profile-meta svg{color:var(--accent);margin-top:.16rem}.contact-copy-button,.contact-submit-button{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;font-size:.88rem;font-weight:900;transition:box-shadow .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.contact-copy-button{border:1px solid var(--line);background:var(--surface-strong);margin-top:1rem;position:relative}@supports (color:color-mix(in lab, red, red)){.contact-copy-button{background:color-mix(in srgb, var(--surface-strong) 74%, transparent)}}.contact-copy-button{color:var(--text);box-shadow:var(--shadow-inset);padding:.55rem .9rem}.contact-copy-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.contact-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-channel-card{border-radius:1.3rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:6.2rem;padding:1rem;text-decoration:none;transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;position:relative;overflow:hidden}.contact-channel-card:before{content:"";background:linear-gradient(135deg, var(--accent), transparent 48%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.contact-channel-card:before{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 11%, transparent), transparent 48%)}}.contact-channel-card:before{opacity:0;pointer-events:none;transition:opacity .22s}.contact-channel-card:hover,.contact-channel-card:focus-visible{border-color:var(--accent);transform:translateY(-.18rem)}@supports (color:color-mix(in lab, red, red)){.contact-channel-card:hover,.contact-channel-card:focus-visible{border-color:color-mix(in srgb, var(--accent) 56%, var(--line))}}.contact-channel-card:hover,.contact-channel-card:focus-visible{box-shadow:var(--shadow-strong)}.contact-channel-card:hover:before,.contact-channel-card:focus-visible:before{opacity:1}.contact-channel-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-channel-icon{background:var(--accent);border-radius:.95rem;place-items:center;width:2.75rem;height:2.75rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.contact-channel-icon{background:color-mix(in srgb, var(--accent) 16%, var(--surface-strong))}}.contact-channel-icon{color:var(--accent);box-shadow:var(--shadow-inset)}.contact-channel-copy{gap:.18rem;min-width:0;display:grid;position:relative}.contact-channel-copy strong{color:var(--text);font-size:.9rem;font-weight:950}.contact-channel-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:760;overflow:hidden}.contact-channel-arrow{color:var(--subtle);transition:color .18s,transform .18s;position:relative}.contact-channel-card:hover .contact-channel-arrow,.contact-channel-card:focus-visible .contact-channel-arrow{color:var(--accent);transform:translate(.12rem,-.12rem)}.contact-form-panel{isolation:isolate;border-radius:1.55rem;padding:clamp(1.1rem,2.4vw,1.7rem);position:relative;overflow:hidden}.contact-form-panel:before{content:"";z-index:-1;background:radial-gradient(circle, var(--accent), transparent 66%);border-radius:999px;width:24rem;height:24rem;position:absolute;inset:-32% -10% auto auto}@supports (color:color-mix(in lab, red, red)){.contact-form-panel:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 16%, transparent), transparent 66%)}}.contact-form-panel:before{pointer-events:none}.contact-form-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;margin-bottom:1.35rem;display:grid}.contact-form-heading>span{background:var(--accent);border-radius:1rem;place-items:center;width:3rem;height:3rem;display:grid}@supports (color:color-mix(in lab, red, red)){.contact-form-heading>span{background:color-mix(in srgb, var(--accent) 17%, var(--surface-strong))}}.contact-form-heading>span{color:var(--accent);box-shadow:var(--shadow-inset)}.contact-form-heading h2{color:var(--text);margin:0;font-size:clamp(1.45rem,2vw,2rem);font-weight:950;line-height:1.15}.contact-form-heading p{max-width:42rem;color:var(--muted);margin:.45rem 0 0;font-size:.9rem;font-weight:650;line-height:1.75}.contact-form{gap:1rem;display:grid}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-field{color:var(--muted);gap:.5rem;font-size:.82rem;font-weight:900;display:grid}.contact-field input,.contact-field textarea{border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-highlight), transparent 42%), var(--surface-inset);border-radius:1rem;width:100%}@supports (color:color-mix(in lab, red, red)){.contact-field input,.contact-field textarea{background:linear-gradient(145deg, color-mix(in srgb, var(--glass-highlight) 38%, transparent), transparent 42%), color-mix(in srgb, var(--surface-inset) 72%, transparent)}}.contact-field input,.contact-field textarea{color:var(--text);box-shadow:var(--shadow-inset);outline:none;transition:border-color .18s,box-shadow .18s,background-color .18s}.contact-field input{min-height:3.25rem;padding:.75rem .95rem}.contact-field textarea{resize:vertical;min-height:13rem;padding:.9rem .95rem}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.contact-field input:focus,.contact-field textarea:focus{border-color:color-mix(in srgb, var(--accent) 64%, var(--line))}}.contact-field input:focus,.contact-field textarea:focus{box-shadow:0 0 0 3px var(--accent), var(--shadow-inset)}@supports (color:color-mix(in lab, red, red)){.contact-field input:focus,.contact-field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent), var(--shadow-inset)}}.contact-actions{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.15rem;display:flex}.contact-submit-button{background:var(--accent);color:var(--accent-contrast);border:0;padding:.6rem 1.05rem}.contact-submit-button:hover{transform:translateY(-1px)}.contact-submit-button:active{transform:scale(.98)}.contact-status{border:1px solid var(--line);background:var(--surface-strong);border-radius:1rem;align-items:flex-start;gap:.55rem;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-status{background:color-mix(in srgb, var(--surface-strong) 76%, transparent)}}.contact-status{color:var(--muted);padding:.8rem .95rem;font-size:.86rem;font-weight:750;line-height:1.6}.timeline-axis{position:relative}.timeline-axis:before{content:"";background:linear-gradient(var(--accent), var(--accent));width:2px;position:absolute;top:.7rem;bottom:.7rem;left:1.25rem}@supports (color:color-mix(in lab, red, red)){.timeline-axis:before{background:linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 20%, transparent))}}.timeline-dot{box-shadow:0 0 0 6px var(--page), 0 0 0 8px var(--accent)}.timeline-page-grid{gap:clamp(1.75rem,4vw,2.75rem);display:grid}.timeline-showcase{isolation:isolate;border-radius:1.6rem;padding:clamp(1.1rem,2vw,1.65rem);position:relative;overflow:hidden}.timeline-showcase:before{content:"";z-index:-1;background:radial-gradient(circle, var(--accent), transparent 64%);border-radius:999px;width:min(34rem,72vw);height:min(34rem,72vw);position:absolute;inset:-30% auto auto -16%}@supports (color:color-mix(in lab, red, red)){.timeline-showcase:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 14%, transparent), transparent 64%)}}.timeline-showcase:before{filter:blur(8px);opacity:.8;pointer-events:none}.timeline-showcase-heading{align-items:center;gap:.95rem;margin-bottom:1.25rem;display:flex}.timeline-showcase-icon{background:var(--accent);border-radius:999px;place-items:center;width:3rem;height:3rem;display:grid}@supports (color:color-mix(in lab, red, red)){.timeline-showcase-icon{background:color-mix(in srgb, var(--accent) 18%, var(--surface-strong))}}.timeline-showcase-icon{color:var(--accent);box-shadow:var(--shadow-inset)}.timeline-showcase-heading h2{color:var(--text);margin:0;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:950}.timeline-showcase-heading p{color:var(--muted);margin:.25rem 0 0;font-size:.82rem;font-weight:700}.timeline-showcase-grid{grid-template-columns:minmax(0,.98fr) minmax(20rem,.82fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}.timeline-event-list{gap:1rem;margin:0;padding:0 0 0 1.2rem;list-style:none;display:grid;position:relative}.timeline-event-list:before{content:"";background:linear-gradient(var(--accent), var(--accent));border-radius:999px;width:2px;position:absolute;top:1.45rem;bottom:1.45rem;left:.55rem}@supports (color:color-mix(in lab, red, red)){.timeline-event-list:before{background:linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 14%, transparent))}}.timeline-event-item{position:relative}.timeline-event-card{border:1px solid var(--line);background:linear-gradient(135deg, var(--glass-highlight), transparent 42%), var(--surface-strong);border-radius:1.2rem;grid-template-columns:auto minmax(0,1fr);gap:.9rem;width:100%;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.timeline-event-card{background:linear-gradient(135deg, color-mix(in srgb, var(--glass-highlight) 70%, transparent), transparent 42%), color-mix(in srgb, var(--surface-strong) 88%, transparent)}}.timeline-event-card{text-align:left;transform-style:preserve-3d;padding:1rem;transition:border-color .22s,box-shadow .22s,transform .22s,background-color .22s;box-shadow:0 12px 34px #00000024}.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card[data-active=true]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card[data-active=true]{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}}.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card[data-active=true]{box-shadow:0 18px 46px var(--accent), var(--shadow-soft)}@supports (color:color-mix(in lab, red, red)){.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card[data-active=true]{box-shadow:0 18px 46px color-mix(in srgb, var(--accent) 10%, transparent), var(--shadow-soft)}}.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card[data-active=true]{transform:translate(.25rem,-.12rem)rotateX(1.5deg)}.timeline-event-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.timeline-event-index{color:var(--accent);align-self:start}@supports (color:color-mix(in lab, red, red)){.timeline-event-index{color:color-mix(in srgb, var(--accent) 78%, var(--text))}}.timeline-event-index{font-size:.75rem;font-weight:950}.timeline-event-dot{background:var(--accent);width:.86rem;height:.86rem;box-shadow:0 0 0 .38rem var(--surface), 0 0 0 .56rem var(--accent);border-radius:999px;position:absolute;top:1.35rem;left:-1.02rem}@supports (color:color-mix(in lab, red, red)){.timeline-event-dot{box-shadow:0 0 0 .38rem var(--surface), 0 0 0 .56rem color-mix(in srgb, var(--accent) 44%, transparent)}}.timeline-event-content{gap:.34rem;min-width:0;display:grid}.timeline-event-topline{flex-wrap:wrap;gap:.45rem;display:flex}.timeline-event-topline span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:900}.timeline-event-content strong{color:var(--text);font-size:clamp(1rem,1.5vw,1.28rem);font-weight:950;line-height:1.2}.timeline-event-organization{color:var(--accent);font-size:.82rem;font-weight:900}.timeline-event-description{color:var(--muted);font-size:.84rem;font-weight:600;line-height:1.7}.timeline-event-tags{flex-wrap:wrap;gap:.4rem;margin-top:.22rem;display:flex}.timeline-event-tags span{background:var(--surface-inset);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.timeline-event-tags span{background:color-mix(in srgb, var(--surface-inset) 78%, transparent)}}.timeline-event-tags span{color:var(--muted);padding:.28rem .52rem;font-size:.68rem;font-weight:850}.timeline-media-panel{border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), var(--surface);border-radius:1.35rem;position:sticky;top:6.2rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.timeline-media-panel{background:linear-gradient(145deg, var(--glass-highlight), transparent 36%), color-mix(in srgb, var(--surface) 92%, transparent)}}.timeline-media-panel{box-shadow:var(--shadow-strong);perspective:1200px;padding:.9rem}.timeline-media-orbit{pointer-events:none;position:absolute;inset:-5rem}.timeline-media-orbit span{border:1px solid var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.timeline-media-orbit span{border:1px solid color-mix(in srgb, var(--accent) 13%, transparent)}}.timeline-media-orbit span{opacity:.56;border-radius:42% 58% 48% 52%;animation:22s linear infinite reactorTurn}.timeline-media-orbit span:nth-child(2){animation-duration:28s;animation-direction:reverse;transform:scale(.86)rotate(24deg)}.timeline-media-orbit span:nth-child(3){animation-duration:34s;transform:scale(1.12)rotate(-18deg)}.timeline-media-carousel{position:relative}.timeline-media-frame{background:radial-gradient(circle at 20% 18%, var(--accent), transparent 15rem), var(--surface-inset);border:0;border-radius:1.1rem;place-items:center;width:100%;min-height:18rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.timeline-media-frame{background:radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 15rem), var(--surface-inset)}}.timeline-media-frame{box-shadow:var(--shadow-inset);padding:0;transition:box-shadow .18s,transform .18s}.timeline-media-open:hover,.timeline-media-open:focus-visible{box-shadow:0 0 0 2px var(--accent), var(--shadow-inset)}@supports (color:color-mix(in lab, red, red)){.timeline-media-open:hover,.timeline-media-open:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 48%, transparent), var(--shadow-inset)}}.timeline-media-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.timeline-media-open:disabled{cursor:default}.timeline-media-figure{width:100%;height:100%;transform-style:preserve-3d;margin:0;display:grid;position:relative}.timeline-media-figure img{background:var(--surface-inset);border-radius:1.1rem;width:100%;height:min(38vh,24rem);min-height:18rem}@supports (color:color-mix(in lab, red, red)){.timeline-media-figure img{background:color-mix(in srgb, var(--surface-inset) 84%, transparent)}}.timeline-media-figure img{object-fit:contain}.timeline-media-empty{color:var(--muted);text-align:center;place-items:center;gap:.8rem;display:grid}.timeline-media-meta{margin-top:.95rem}.timeline-media-meta p{color:var(--accent);margin:0;font-size:.76rem;font-weight:950}.timeline-media-meta h3{color:var(--text);margin:.2rem 0;font-size:1.45rem;font-weight:950;line-height:1.2}.timeline-media-meta span{color:var(--muted);font-size:.86rem;font-weight:800}.timeline-media-thumbnails{gap:.55rem;margin-top:.9rem;padding:.32rem .28rem .45rem;display:flex;overflow-x:auto}.timeline-media-thumb{background:var(--surface-inset);width:4.4rem;height:3.4rem;box-shadow:inset 0 0 0 1px var(--line);opacity:.72;border:0;border-radius:.8rem;flex:none;transition:box-shadow .18s,opacity .18s,transform .18s;position:relative;overflow:hidden}.timeline-media-thumb:hover,.timeline-media-thumb:focus-visible{box-shadow:inset 0 0 0 1px var(--accent), 0 10px 24px var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-media-thumb:hover,.timeline-media-thumb:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 68%, transparent), 0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent)}}.timeline-media-thumb:hover,.timeline-media-thumb:focus-visible{opacity:1}.timeline-media-thumb[data-active=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent), inset 0 0 0 2px var(--accent), 0 12px 26px var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-media-thumb[data-active=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--surface) 92%, transparent), 0 0 0 4px var(--accent), inset 0 0 0 2px var(--accent), 0 12px 26px color-mix(in srgb, var(--accent) 18%, transparent)}}.timeline-media-thumb[data-active=true]{opacity:1;transform:translateY(-1px)}.timeline-media-thumb[data-active=true] img{filter:saturate(1.05)contrast(1.02)}.timeline-media-thumb:active{transform:scale(.98)}.timeline-media-thumb img{object-fit:cover;width:100%;height:100%}.timeline-media-links{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.timeline-media-links a{background:var(--accent);min-height:2.35rem;color:var(--accent-contrast);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.78rem;font-weight:900;transition:box-shadow .18s,transform .18s;display:inline-flex}.timeline-media-links a:hover{box-shadow:0 14px 34px var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.timeline-media-links a:hover{box-shadow:0 14px 34px color-mix(in srgb, var(--accent) 24%, transparent)}}@media (width>=768px){.page-section{padding-inline:1.5rem}}@media (width<=1023px){.contact-hero,.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-portrait-card,.contact-portrait-card img{min-height:16rem}.contact-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.section-heading-copy,.contact-hero-copy{padding-right:3.25rem}.contact-hero h1{max-width:9ch;font-size:clamp(2.8rem,15vw,4.25rem)}.contact-hero p{font-size:1rem;line-height:1.75}.contact-portrait-card{border-radius:1.25rem;min-height:14rem}.contact-portrait-card img{min-height:14rem}.contact-layout{gap:1rem}.contact-profile-panel,.contact-form-panel{border-radius:1.2rem}.contact-profile-main img{width:4.8rem;height:4.8rem}.contact-channel-grid,.contact-form-grid{grid-template-columns:minmax(0,1fr)}.contact-channel-card{min-height:5.25rem}.contact-form-heading{grid-template-columns:minmax(0,1fr)}.contact-field textarea{min-height:11rem}.home-hero{padding-top:5rem}.home-hero:before{height:54%;inset-inline:-42%}.hero-particle{opacity:var(--audio-particle-opacity)}.audio-reactive-backdrop span:nth-child(n+7),.hero-particle:nth-child(n+7),.hero-music-note:nth-child(n+6){display:none}.hero-light-ribbons{height:22rem;inset:12rem -82% auto}.global-music-player{gap:.65rem;padding:.65rem}.global-music-main{gap:.62rem}.global-music-play{width:3.45rem}.global-music-wave{gap:.15rem;height:2.45rem}.global-music-live{width:3.05rem;height:3.05rem}.global-music-mascot{width:2.72rem;height:2.72rem}.accent-swatch-grid{grid-template-columns:repeat(3,1.72rem);grid-auto-rows:1.72rem;gap:.46rem}.accent-swatch{width:1.72rem;height:1.72rem}.music-meme-peek{right:max(-1.45rem, calc(env(safe-area-inset-right) - 1.45rem));grid-template-columns:minmax(0,9.7rem) 4rem;gap:.48rem;width:min(14.35rem,100vw - .75rem)}.music-meme-peek:before{width:4.7rem;height:4.7rem;right:-1.25rem}.music-meme-peek-bubble{border-radius:.95rem;padding:.68rem .72rem}.music-meme-peek-bubble p{font-size:.78rem}.music-meme-peek-image{width:4.1rem;height:4.1rem}.style-switcher-panel{--dock-gap:.28rem;--dock-panel-width:min(15.5rem, calc(100vw - 4.75rem));top:5.4rem}.style-switcher-panel[data-active-panel=music]{--dock-panel-width:min(18.25rem, calc(100vw - 4.75rem))}.style-switcher-actions{--dock-gap:.28rem;--dock-panel-width:min(15.5rem, calc(100vw - 4.75rem));right:max(.46rem, env(safe-area-inset-right));top:5.4rem}.style-switcher-actions[data-active-panel=music]{--dock-panel-width:min(18.25rem, calc(100vw - 4.75rem))}.platform-badge{width:3.85rem;height:3.85rem}.platform-badge-android{top:3.2rem;left:-1.35rem}.platform-badge-ios{width:3.45rem;height:3.45rem;bottom:3.8rem;right:-1.2rem}.home-story-collage{grid-template-rows:15rem 11rem;grid-template-columns:1fr 1fr;gap:.7rem;min-height:auto}.home-story-photo-primary{grid-area:auto/span 2}.project-real-visual{padding:.75rem}.project-real-visual-stack{gap:.45rem}.project-real-visual-image{border-radius:.85rem;max-height:13.25rem}.project-real-visual[data-compact=false] .project-real-visual-image{max-height:18rem}.project-image-gallery{border-radius:1.15rem;padding:.55rem}.media-carousel-shell{gap:.45rem}.media-carousel-shell[data-has-navigation=true]{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem}.project-image-gallery-main{border-radius:.95rem;min-height:15rem}.project-image-gallery-main img{min-height:15rem;max-height:30rem}.project-image-gallery-thumbnails{gap:.5rem}.project-image-gallery-thumb{border-radius:.72rem;width:5.75rem;height:3.55rem}.media-carousel-button{width:2.35rem;height:2.35rem}.image-lightbox{padding:.75rem}.image-lightbox-panel{border-radius:1.05rem;max-height:94dvh}.image-lightbox-header{padding:.72rem}.image-lightbox-stage{grid-template-columns:2.45rem minmax(0,1fr) 2.45rem;gap:.42rem;min-height:min(64dvh,31rem);padding:.55rem}.image-lightbox-stage>img{border-radius:.78rem;max-height:min(64dvh,31rem)}.image-lightbox-nav{width:2.35rem;height:2.35rem}.timeline-showcase{border-radius:1.2rem;padding:1rem}.timeline-showcase-heading{align-items:flex-start}.timeline-showcase-grid{grid-template-columns:minmax(0,1fr)}.timeline-event-list{padding-left:.85rem}.timeline-event-card{grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.95rem}.timeline-event-index{display:none}.timeline-event-dot{left:-.8rem}.timeline-media-panel{border-radius:1.15rem;position:relative;top:auto}.timeline-media-frame{min-height:15rem}.timeline-media-figure img{height:18rem;min-height:15rem}}@keyframes globalMusicNoteFloat{0%{opacity:0;transform:translateY(.8rem)rotate(-14deg)scale(.72)}16%{opacity:calc(.18 + var(--audio-level))}62%{opacity:calc(.08 + var(--audio-level));transform:translate3d(var(--global-note-drift), -2.4rem, 0) rotate(12deg) scale(1)}to{opacity:0;transform:translate3d(var(--global-note-drift), -4.8rem, 0) rotate(26deg) scale(1.12)}}@keyframes platformPeekAndroid{0%,to{transform:translate(0)rotate(-12deg)}50%{transform:translate(-.32rem,-.5rem)rotate(-4deg)}}@keyframes platformPeekIos{0%,to{transform:translate(0)rotate(9deg)}50%{transform:translate(.28rem,-.42rem)rotate(15deg)}}@keyframes heroParticleFlight{0%,to{opacity:.1;transform:translate(0)rotate(24deg)}48%{opacity:calc(.24 + var(--audio-level));transform:translate(2.4rem,-3.2rem)rotate(24deg)}}@keyframes heroAmbientBreath{0%,to{transform:translate(0)scale(1)}50%{transform:translateY(-.65rem)scale(1.035)}}@keyframes musicNoteRise{0%{opacity:0;transform:translateY(1.5rem)rotate(-10deg)scale(.72)}14%{opacity:.76}72%{opacity:calc(.36 + var(--audio-level));transform:translate3d(var(--note-drift), -58dvh, 0) rotate(16deg) scale(1)}to{opacity:0;transform:translate3d(var(--note-drift), -92dvh, 0) rotate(34deg) scale(1.16)}}@keyframes ribbonDrift{0%,to{translate:0}50%{translate:0 -1.5rem}}@keyframes waveShine{to{transform:translate(500%)}}@keyframes waveGlow{0%,to{opacity:.16;transform:scaleX(.72)scaleY(.86)}50%{opacity:.42;transform:scaleX(1.08)scaleY(1)}}@keyframes waveformPulse{0%,to{transform:scaleY(calc(var(--bar-rest) + var(--audio-level)))}50%{transform:scaleY(calc(var(--bar-peak) + var(--audio-bass)))}}@keyframes mascotGlowBeat{0%,to{opacity:.38;transform:scale(.74)}50%{opacity:.82;transform:scale(1)}}@keyframes mascotOrbit{0%,to{opacity:.42;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}@keyframes reactorTurn{to{transform:rotate(372deg) scale(var(--audio-scale))}}@keyframes portraitWavePulse{0%{opacity:0;transform:scale(.86)}24%{opacity:var(--audio-reactor-opacity)}to{opacity:0;transform:scale(1.2)}}@keyframes mascotSpin{to{transform:rotate(360deg)}}@keyframes musicMemePeekCycle{0%{opacity:0;transform:translateX(115%) rotate(var(--peek-tilt,-4deg)) scale(.96)}10%{opacity:1;transform:translateX(-.52rem) rotate(calc(var(--peek-tilt,-4deg) * .55)) scale(1.02)}16%,78%{opacity:1;transform:translate(0)rotate(0)scale(1)}90%{opacity:1;transform:translateX(.32rem) rotate(calc(var(--peek-tilt,-4deg) * -.25)) scale(.99)}to{opacity:0;transform:translateX(115%) rotate(var(--peek-tilt,-4deg)) scale(.96)}}@keyframes musicMemeHeadBob{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-.28rem)rotate(5deg)}}@keyframes musicRailBeat{0%,to{transform:scale(.92)rotate(-4deg)}50%{transform:scale(1.08)rotate(4deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.audio-reactive-backdrop,.hero-particle-field,.hero-music-notes,.hero-light-ribbons{opacity:0!important}.music-meme-peek{opacity:1;animation:none!important;transform:translate(0)rotate(0)!important}.music-meme-peek-image{animation:none!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
