@import"https://fonts.cdnfonts.com/css/ica-rubrik-black";@import"https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,300;0,400;0,500;0,600;0,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&display=swap";@layer components;@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--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-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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#16171d;--color-surface:#1f2028;--color-text:#9ca3af;--color-text-h:#f3f4f6;--color-primary:#c084fc;--color-border:#2e303a}}@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;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 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}.sticky{position:sticky}.top-0{top:0}.top-\[calc\(100\%\+10px\)\]{top:calc(100% + 10px)}.right-0{right:0}.left-0{left:0}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-screen{min-height:100vh}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.w-px{width:1px}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[420px\]{max-width:420px}.shrink-0{flex-shrink:0}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[var\(--border\)\]{border-color:var(--border)}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.border-black\/5{border-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.border-black\/10{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.border-black\/\[0\.08\]{border-color:#00000014}@supports (color:color-mix(in lab,red,red)){.border-black\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-black) 8%,transparent)}}.border-border\/60{border-color:#2e303a99}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.border-primary\/20{border-color:#c084fc33}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.border-transparent{border-color:#0000}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-background\/70{background-color:#16171db3}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,var(--color-background) 70%,transparent)}}.bg-background\/95{background-color:#16171df2}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--color-background) 95%,transparent)}}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/\[0\.03\]{background-color:#00000008}@supports (color:color-mix(in lab,red,red)){.bg-black\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary\/10{background-color:#c084fc1a}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-primary\/15{background-color:#c084fc26}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.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-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-1{padding-bottom:var(--spacing)}.pl-4{padding-left:calc(var(--spacing) * 4)}.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-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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-primary{color:var(--color-primary)}.text-primary\/70{color:#c084fcb3}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--color-primary) 70%,transparent)}}.text-text{color:var(--color-text)}.text-text-h{color:var(--color-text-h)}.text-text-h\/80{color:#f3f4f6cc}@supports (color:color-mix(in lab,red,red)){.text-text-h\/80{color:color-mix(in oklab,var(--color-text-h) 80%,transparent)}}.text-text\/40{color:#9ca3af66}@supports (color:color-mix(in lab,red,red)){.text-text\/40{color:color-mix(in oklab,var(--color-text) 40%,transparent)}}.text-text\/50{color:#9ca3af80}@supports (color:color-mix(in lab,red,red)){.text-text\/50{color:color-mix(in oklab,var(--color-text) 50%,transparent)}}.text-text\/60{color:#9ca3af99}@supports (color:color-mix(in lab,red,red)){.text-text\/60{color:color-mix(in oklab,var(--color-text) 60%,transparent)}}.text-text\/70{color:#9ca3afb3}@supports (color:color-mix(in lab,red,red)){.text-text\/70{color:color-mix(in oklab,var(--color-text) 70%,transparent)}}.uppercase{text-transform:uppercase}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.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)}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/25{--tw-shadow-color:#c084fc40}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:border-primary\/20:is(:where(.group):hover *){border-color:#c084fc33}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-primary\/20:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--color-primary)}.group-hover\:bg-primary\/15:is(:where(.group):hover *){background-color:#c084fc26}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/15:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:shadow-primary\/40:is(:where(.group):hover *){--tw-shadow-color:#c084fc66}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/40:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 40%, transparent) var(--tw-shadow-alpha), transparent)}}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:w-0:after{content:var(--tw-content);width:0}.after\:bg-primary:after{content:var(--tw-content);background-color:var(--color-primary)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-primary\/40:hover{border-color:#c084fc66}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.hover\:bg-primary\/5:hover{background-color:#c084fc0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:#c084fc1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.hover\:bg-primary\/\[0\.06\]:hover{background-color:#c084fc0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-primary) 6%,transparent)}}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.hover\:shadow-primary\/10:hover{--tw-shadow-color:#c084fc1a}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-primary\/10:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-primary\/40:hover{--tw-shadow-color:#c084fc66}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-primary\/40:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:after\:w-full:hover:after{content:var(--tw-content);width:100%}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media(min-width:40rem){.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.dark\:border-white\/5:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/5:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:border-white\/10:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:border-white\/\[0\.06\]:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/\[0\.06\]:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.dark\:bg-white\/5:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/5:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:bg-white\/\[0\.02\]:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/\[0\.02\]:where([data-theme=dark],[data-theme=dark] *,[data-theme=roxo],[data-theme=roxo] *){background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}}@font-face{font-family:ICA Rubrik;font-display:swap;src:local(ICA Rubrik)}:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--surface:#1f2028;--primary:#c084fc;--code-bg:#1f2028;--accent:#c084fc;--accent-rgb:192, 132, 252;--accent-bg:rgba(var(--accent-rgb), .15);--accent-border:rgba(var(--accent-rgb), .5);--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--sans:"Archivo", system-ui, -apple-system, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:dark;color:var(--text)}.on-primary-ink{color:#fff}html{background:var(--bg);scroll-behavior:smooth}@media(prefers-reduced-motion:no-preference){body{transition:background-color .45s,color .45s}}section[id]{scroll-margin-top:80px}html,body,#root{height:100%;margin:0}body,#root{background:0 0}body{overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:.25s fadeIn}@keyframes sectionReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(min-width:769px){html{font-size:16px}}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}::selection{background:rgba(var(--accent-rgb),.25);color:var(--text-h)}*{caret-color:var(--primary);scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.5);background-clip:content-box}::-webkit-scrollbar-track{background:0 0}html{text-underline-offset:3px}:where(p,li,dd){font-variant-numeric:tabular-nums;hanging-punctuation:first allow-end}.preloader{z-index:9998;background:radial-gradient(ellipse at 50% 40%,var(--surface) 0%,transparent 70%),var(--bg);opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .5s;display:flex;position:fixed;inset:0}.preloader--fading{opacity:0;pointer-events:none}.preloader__logo{background:var(--primary);color:#fff;width:64px;height:64px;box-shadow:0 0 40px rgba(var(--accent-rgb),.4);border-radius:14px;justify-content:center;align-items:center;font-family:Poppins,sans-serif;font-size:30px;font-weight:700;animation:2s ease-in-out infinite preloaderLogoPulse;display:flex}.preloader__title{color:var(--text-h);letter-spacing:.06em;margin:4px 0 0;font-family:Poppins,sans-serif;font-size:1.25em;font-weight:600}.preloader__subtitle{color:var(--text);letter-spacing:.04em;margin:0;font-size:.9em}.preloader__bar{background:var(--border);border-radius:2px;width:180px;height:4px;margin-top:10px;overflow:hidden}.preloader__bar span{background:var(--primary);border-radius:2px;width:40%;height:100%;animation:1.2s ease-in-out infinite preloaderBar;display:block}@keyframes preloaderLogoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes preloaderBar{0%{transform:translate(-100%)}to{transform:translate(280%)}}.banner{background:radial-gradient(ellipse at 50% 50%,var(--surface) 0%,transparent 70%),var(--bg);justify-content:center;align-items:center;width:100%;height:100dvh;transition:all .3s;display:flex;position:relative;overflow:hidden}.banner .background-text{color:#0000;-webkit-text-stroke:1.5px #1c19171f;white-space:nowrap;pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none;letter-spacing:.08em;font-family:ICA Rubrik,sans-serif;font-size:clamp(6rem,18vw,16rem);font-weight:900;animation:4s ease-in-out infinite textPulse;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}@keyframes textPulse{0%,to{opacity:.6}50%{opacity:1}}.banner .slider{--card-w:215px;--card-h:294px;--perspective:1500px;--depth:490px;width:var(--card-w);height:var(--card-h);margin-top:calc(var(--card-h) / -2);margin-left:calc(var(--card-w) / -2);transform-style:preserve-3d;transform:perspective(var(--perspective)) rotateX(-14deg) rotateY(var(--rotation,0deg));z-index:2;animation:5s ease-in-out infinite alternate sliderBob;position:absolute;top:46%;left:50%;translate:0}@keyframes sliderBob{0%{translate:0 -8px}to{translate:0 8px}}.banner .carousel-glow{background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.18) 0%,transparent 70%);filter:blur(8px);z-index:1;pointer-events:none;border-radius:50%;width:340px;height:90px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.banner .slider .item{--item-scale:1;transform:rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(var(--depth)) scale(var(--item-scale));backface-visibility:hidden;will-change:transform;transform-style:preserve-3d;cursor:pointer;border-radius:16px;transition:box-shadow .8s,transform .8s;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 32px #3e281459,inset 0 1px #ffffff0f}.banner .slider .item:after{content:"";pointer-events:none;z-index:1;background:#0006;transition:background .8s;position:absolute;inset:0}.banner .slider .item--active{--item-scale:1;box-shadow:0 12px 48px rgba(var(--accent-rgb),.35),0 0 24px rgba(var(--accent-rgb),.25),inset 0 1px #ffffff1f}.banner .slider .item--active:after{background:0 0}.banner .slider .item:not(.item--active):hover{box-shadow:0 12px 48px rgba(var(--accent-rgb),.2),inset 0 1px #ffffff1a;border-color:var(--accent-border)}.banner .slider .item:not(.item--active):hover:after{background:#00000059}.banner .slider .item picture,.banner .slider .item img{width:100%;height:100%;display:block}.banner .slider .item img{object-fit:cover;object-position:center top;image-rendering:-webkit-optimize-contrast;backface-visibility:hidden;transform:translateZ(0)}.banner .slider .item__caption{text-align:center;pointer-events:none;z-index:2;background:linear-gradient(#0000,#07080c66 22%,#07080ce0 48%,#07080cfa);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:20px 14px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.banner .slider .item__title{letter-spacing:.01em;color:#fff;text-align:center;text-shadow:0 1px 12px #000000bf;text-overflow:ellipsis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;width:100%;min-width:0;font-family:Poppins,sans-serif;font-size:.78em;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.banner .slider .item__subtitle{letter-spacing:.08em;color:#ffffffeb;text-align:center;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;width:100%;font-family:Archivo,system-ui,sans-serif;font-size:.64em;font-weight:600;line-height:1.3;display:block;overflow:hidden}.banner .slider .item__fallback{background:radial-gradient(ellipse at 30% 20%,rgba(var(--accent-rgb),.18) 0%,var(--surface) 60%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:16px 12px;display:flex}.banner .slider .item__fallback-icon{color:var(--primary);opacity:.9;font-size:2.2em}.banner .slider .item__fallback-text{color:var(--text-h);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Poppins,sans-serif;font-size:.78em;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.banner .slider .item__fallback-hint{letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-family:Archivo,sans-serif;font-size:.58em;font-weight:500}.banner .slider .item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 12px 48px rgba(var(--accent-rgb),.35),0 0 0 4px rgba(var(--accent-rgb),.18)}.banner .slider .item:not(.item--active) .item__caption{opacity:.9}.banner .slider .item--active .item__caption{background:linear-gradient(to top,rgba(var(--accent-rgb),.35) 0%,#000000bf 60%,transparent 100%)}.carousel-controls{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:absolute;top:50%;left:0;right:0}.carousel-pause{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;pointer-events:auto;background:#fffdf9cc;border-radius:50%;justify-content:center;align-items:center;font-size:.85em;transition:all .2s;display:inline-flex;position:absolute;bottom:22%;right:24px}.carousel-pause:hover{background:var(--primary);border-color:var(--primary);color:#fff}.carousel-pause:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.carousel-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:44px;height:44px;color:var(--text-h);cursor:pointer;pointer-events:auto;background:#fffdf9cc;border-radius:50%;justify-content:center;align-items:center;font-size:1em;transition:all .2s;display:inline-flex}.carousel-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 20px rgba(var(--accent-rgb),.3);transform:scale(1.08)}.carousel-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.carousel-dots{z-index:4;gap:8px;display:flex;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.carousel-dot{cursor:pointer;background:#1c19172e;border:1px solid #1c19171f;border-radius:50%;width:10px;height:10px;padding:0;transition:all .25s}.carousel-dot:hover{background:rgba(var(--accent-rgb),.5);transform:scale(1.2)}.carousel-dot.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 8px rgba(var(--accent-rgb),.5);transform:scale(1.3)}.carousel-dot:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:768px){.carousel-controls{padding:0 12px}.carousel-btn{width:38px;height:38px;font-size:.85em}.carousel-dots{bottom:15%}}.banner .center-model{border:3px solid var(--primary);width:clamp(200px,50vw,400px);height:clamp(200px,50vw,400px);box-shadow:0 0 40px rgba(var(--accent-rgb),.25),0 0 80px rgba(var(--accent-rgb),.1),inset 0 0 30px #0006;z-index:1;background-image:url(/Hero.webp);background-position:50% 20%;background-size:cover;border-radius:50%;transition:transform .4s,box-shadow .4s;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.banner .center-model:hover{box-shadow:0 0 60px rgba(var(--accent-rgb),.35),0 0 120px rgba(var(--accent-rgb),.15),inset 0 0 30px #0006;transform:translate(-50%,-50%)scale(1.03)}.banner .author{text-align:center;z-index:3;width:fit-content;margin:0 auto;font-family:Poppins,sans-serif;position:absolute;bottom:6%;left:0;right:0}.banner .author h2{color:var(--text-h);letter-spacing:.08em;text-shadow:0 2px 20px #00000080;margin:0;font-size:clamp(1.2em,2.5vw,1.8em);font-weight:700}.banner .author p{color:var(--primary);letter-spacing:.2em;text-shadow:0 2px 20px #00000080;margin:6px 0 0;font-size:clamp(.8em,1.5vw,1em);font-weight:600}.banner .author .tech-stack{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.banner .author .tech-stack span{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:20px;padding:5px 14px;font-size:clamp(.65em,1.2vw,.75em);font-weight:500;transition:background .3s,transform .3s}.banner .author .tech-stack span:hover{background:rgba(var(--accent-rgb),.25);box-shadow:0 0 12px rgba(var(--accent-rgb),.2);transform:translateY(-2px)}@media(max-width:768px){.banner .author{bottom:5%}.banner .author h2{font-size:1em}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpCenter{0%{opacity:0;transform:translate(-50%,-50%)translateY(20px)}to{opacity:1;transform:translate(-50%,-50%)}}.author{animation:.6s .3s backwards fadeInUp}.center-model{animation:.8s .1s backwards fadeInUpCenter}.tech-stack span{align-items:center;gap:6px;display:flex}.tech-icon{font-size:1.1em}.tech-icon.react{color:#61dafb}.tech-icon.typescript{color:#3178c6}.tech-icon.electron{color:#47848f}.particles-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.particle{background:rgba(var(--accent-rgb),.35);border-radius:50%;animation:linear infinite floatUp;position:absolute;bottom:-10px}@keyframes floatUp{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)}}.project-caption{text-align:center;z-index:4;pointer-events:none;position:absolute;top:10%;left:50%;transform:translate(-50%)}.project-caption .tag{letter-spacing:.3em;text-transform:uppercase;color:var(--primary);margin-bottom:4px;font-size:.65em;display:block}.project-caption h3{color:var(--text-h);margin:0;font-family:Poppins,sans-serif;font-size:clamp(1em,2.2vw,1.4em);font-weight:600}.section{width:100%;padding:110px 24px 90px;position:relative;overflow:hidden}.section-container{z-index:2;max-width:1000px;margin:0 auto;position:relative}.section-title{color:var(--text-h);text-align:center;letter-spacing:.01em;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:clamp(1.9rem,4.2vw,2.4rem);font-weight:700}.section-title .highlight{color:var(--primary)}.section-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--primary);text-align:center;justify-content:center;align-items:center;gap:12px;margin:0 0 14px;font-size:.72em;font-weight:600;display:flex}.section-eyebrow:before,.section-eyebrow:after{content:"";background:var(--accent-border);width:32px;height:1px}.section-subtitle{text-align:center;color:var(--text);max-width:560px;margin:0 auto 48px;font-size:.95em}.section-head--left .section-title,.section-head--left .section-subtitle{text-align:left}.section-head--left .section-subtitle{margin-left:0;margin-right:0}.about{grid-template-columns:minmax(0,1fr) 1.2fr;align-items:center;gap:48px;display:grid}.about-photo{aspect-ratio:3/4;object-fit:cover;object-position:center;border:2px solid var(--accent-border);outline:1px solid var(--border);outline-offset:10px;width:100%;max-width:340px;box-shadow:0 0 40px rgba(var(--accent-rgb),.15);border-radius:16px;justify-self:center}.about-text p{margin:0 0 14px;line-height:1.7}.about-badges{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.about-badges span{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:20px;padding:5px 14px;font-size:.8em;transition:background .3s,transform .3s,box-shadow .3s}.about-badges span:hover{background:rgba(var(--accent-rgb),.25);box-shadow:0 0 12px rgba(var(--accent-rgb),.15);transform:translateY(-2px)}.contact-section{background:rgba(var(--accent-rgb),.03)}.contact-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;max-width:620px;margin:0 auto;padding:42px 32px;position:relative;overflow:hidden}.contact-card:before{content:"";background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.6),transparent);height:1px;box-shadow:0 0 20px 4px rgba(var(--accent-rgb),.18);position:absolute;top:0;left:10%;right:10%}.contact-card h3{color:var(--text-h);margin:0 0 8px;font-family:Poppins,sans-serif;font-size:1.3em}.contact-card p{margin:0 0 26px;font-size:.95em}.contact-links{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.contact-links a{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.9em;text-decoration:none;transition:background .3s,transform .3s,box-shadow .3s;display:inline-flex}.contact-links a:hover{background:rgba(var(--accent-rgb),.25);box-shadow:0 8px 24px rgba(var(--accent-rgb),.18);transform:translateY(-2px)}.contact-cta-badge{color:#047857;letter-spacing:.04em;background:#04785714;border:1px solid #04785759;border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 16px;font-size:.78em;font-weight:600;display:inline-flex}.stats-section{background:0 0}.stats-strip{background:var(--surface);border:1px solid var(--border);border-radius:20px;justify-content:center;align-items:stretch;max-width:900px;margin:0 auto;padding:36px 16px;display:flex}.stat-metric{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 24px;display:flex}.stat-metric+.stat-metric{border-left:1px solid var(--border)}.stat-value{color:var(--primary);font-variant-numeric:tabular-nums;font-family:Poppins,sans-serif;font-size:clamp(2.8rem,6vw,4rem);font-weight:700;line-height:1}.stat-label{color:var(--text);text-align:center;font-size:.8em;line-height:1.4}.timeline-section{background:rgba(var(--accent-rgb),.03)}.timeline{max-width:800px;margin:0 auto;padding:20px 0;position:relative}.timeline:before{content:"";background:linear-gradient(transparent,var(--accent-border) 12%,var(--accent-border) 88%,transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{width:50%;padding:20px 0;position:relative}.timeline-left{text-align:right;padding-right:40px;left:0}.timeline-right{padding-left:40px;left:50%}.timeline-dot{background:var(--primary);border:3px solid var(--bg);z-index:2;width:14px;height:14px;box-shadow:0 0 12px rgba(var(--accent-rgb),.5);border-radius:50%;transition:box-shadow .3s;position:absolute;top:28px}.timeline-left .timeline-dot{right:-7px}.timeline-right .timeline-dot{left:-7px}.timeline-item:hover .timeline-dot{box-shadow:0 0 20px rgba(var(--accent-rgb),.7)}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;transition:all .3s}.timeline-card:hover{border-color:var(--accent-border);box-shadow:0 8px 28px rgba(var(--accent-rgb),.12);transform:translate(0)}.timeline-left .timeline-card:hover{transform:translate(-4px)}.timeline-right .timeline-card:hover{transform:translate(4px)}.timeline-year{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--primary);letter-spacing:.08em;border-radius:12px;margin-bottom:8px;padding:3px 12px;font-family:Poppins,sans-serif;font-size:.75em;font-weight:700;display:inline-block}.timeline-card h4{color:var(--text-h);margin:0 0 6px;font-family:Poppins,sans-serif;font-size:.95em;font-weight:600}.timeline-card p{color:var(--text);margin:0;font-size:.85em;line-height:1.6}.tech-grid-section{background:0 0}.tech-category{margin-top:40px}.tech-category:first-of-type{margin-top:8px}.tech-category-title{text-align:center;color:var(--text-h);margin-bottom:18px;font-family:Poppins,sans-serif;font-size:1em;font-weight:600}.tech-grid-heading{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(2.4rem,5.5vw,3.4rem)}.tech-tabs{flex-wrap:wrap;justify-content:center;gap:10px;max-width:760px;margin:0 auto 32px;display:flex}.tech-tab{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:.8em;font-weight:600;transition:all .25s;position:relative;overflow:hidden}.tech-tab:before{content:"";background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.16) 0%,transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.tech-tab:hover{border-color:var(--accent-border);color:var(--text-h);transform:translateY(-2px)}.tech-tab:hover:before{opacity:1}.tech-tab.active{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.tech-tab.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}}.tech-tab.active{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.3),0 6px 24px rgba(var(--accent-rgb),.18);transform:translateY(-1px)}.tech-tab-count{opacity:.6;margin-left:2px;font-weight:400}.tech-card--enter{animation:.45s cubic-bezier(.22,1,.36,1) both techCardIn}@keyframes techCardIn{0%{opacity:0;filter:blur(6px);transform:translateY(20px)scale(.94)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.now-list{flex-direction:column;gap:14px;max-width:640px;margin:0 auto;padding:0;list-style:none;display:flex}.now-list li{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 18px;font-size:.95em;line-height:1.5;transition:border-color .3s,transform .3s;display:flex}.now-list li:hover{border-color:var(--accent-border);transform:translateY(-2px)}.tech-card{--tech-color:var(--primary);background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;transition:border-color .35s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex}.tech-card:hover{border-color:var(--tech-color)}@supports (color:color-mix(in lab,red,red)){.tech-card:hover{border-color:color-mix(in srgb,var(--tech-color) 45%,transparent)}}.tech-card:hover{box-shadow:0 20px 52px var(--tech-color),0 4px 12px #00000059;transform:translateY(-9px)}@supports (color:color-mix(in lab,red,red)){.tech-card:hover{box-shadow:0 20px 52px color-mix(in srgb,var(--tech-color) 18%,transparent),0 4px 12px #00000059}}.tech-card svg{font-size:2.4em;transition:transform .3s}.tech-card-icon{border:1px solid;border-radius:18px;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:inline-flex}.tech-card-icon svg{font-size:1.9em}.tech-card:hover .tech-card-icon{box-shadow:0 8px 28px var(--tech-color);transform:scale(1.12)rotate(-5deg)}@supports (color:color-mix(in lab,red,red)){.tech-card:hover .tech-card-icon{box-shadow:0 8px 28px color-mix(in srgb,var(--tech-color) 28%,transparent)}}.tech-card:hover>svg{transform:scale(1.15)}.tech-card-name{color:var(--text-h);font-family:Poppins,sans-serif;font-size:.9em;font-weight:600}.tech-card-level{color:var(--tech-color,var(--primary));background:var(--tech-color,var(--primary));border-radius:12px;padding:3px 12px;font-size:.73em;font-weight:600}@supports (color:color-mix(in lab,red,red)){.tech-card-level{background:color-mix(in srgb,var(--tech-color,var(--primary)) 10%,transparent)}}.tech-card-level{border:1px solid var(--tech-color,var(--primary))}@supports (color:color-mix(in lab,red,red)){.tech-card-level{border:1px solid color-mix(in srgb,var(--tech-color,var(--primary)) 30%,transparent)}}.certs-section{background:rgba(var(--accent-rgb),.03)}.cert-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:16px;padding:24px;transition:all .3s;display:flex}.cert-card:hover{border-color:var(--accent-border);box-shadow:0 8px 32px rgba(var(--accent-rgb),.12);transform:translateY(-4px)}.cert-icon{background:var(--accent-bg);border:1px solid var(--accent-border);width:44px;height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3em;display:flex}.cert-info h4{color:var(--text-h);margin:0 0 4px;font-family:Poppins,sans-serif;font-size:.95em;font-weight:600}.cert-issuer{color:var(--text);margin-bottom:2px;font-size:.8em;display:block}.cert-year{color:var(--primary);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:10px;margin-bottom:8px;padding:2px 10px;font-size:.7em;font-weight:700;display:inline-block}.cert-info p{color:var(--text);margin:0;font-size:.82em;line-height:1.55}.project-modal{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#16171dbf;justify-content:center;align-items:center;padding:24px;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}.project-modal__card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:560px;max-height:min(85vh,720px);box-shadow:var(--shadow),0 0 60px rgba(var(--accent-rgb),.15);border-radius:16px;animation:.25s modalSlideUp;position:relative;overflow-y:auto}.project-modal__close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;z-index:1;background:#fffdf9d9;border-radius:50%;justify-content:center;align-items:center;font-size:1.05em;transition:background .2s,transform .2s;display:inline-flex;position:absolute;top:12px;right:12px}.project-modal__close:hover{background:var(--accent-bg);transform:rotate(90deg)}.project-modal__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-modal__image{aspect-ratio:16/9;object-fit:cover;object-position:center top;border-bottom:1px solid var(--border);background:var(--bg);width:100%}.project-modal__image-fallback{aspect-ratio:16/9;background:radial-gradient(ellipse at 30% 20%,rgba(var(--accent-rgb),.16) 0%,var(--bg) 65%);border-bottom:1px solid var(--border);width:100%;color:var(--text-h);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.project-modal__image-fallback span{font-family:Poppins,sans-serif;font-weight:700}.project-modal__image-fallback small{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:.82em}.project-modal__body{padding:24px 24px 8px}.project-modal__title{color:var(--text-h);margin:0 0 8px;font-family:Poppins,sans-serif;font-size:1.4em;font-weight:700}.project-modal__description{color:var(--text-h);opacity:.9;margin:0 0 12px;font-size:.95em}.project-modal__highlights{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.project-modal__highlights li{padding-left:20px;font-size:.9em;position:relative}.project-modal__highlights li:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:.5em;left:0}.project-modal__section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:6px;font-family:Poppins,sans-serif;font-size:.85em;font-weight:600}.project-modal__case-study{gap:14px;margin:16px 0 8px;display:grid}.case-study__block{border:1px solid var(--border);background:#1c19170d;border-radius:10px;padding:14px 16px;transition:border-color .3s}.case-study__block:hover{border-color:var(--accent-border)}.case-study__label{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin:0 0 6px;font-family:Poppins,sans-serif;font-size:.75em;font-weight:700;display:flex}.case-study__label:before{content:"";border-radius:50%;width:8px;height:8px;display:inline-block}.case-study__label--problem{color:#f87171}.case-study__label--problem:before{background:#f87171}.case-study__label--solution{color:#60a5fa}.case-study__label--solution:before{background:#60a5fa}.case-study__label--challenges{color:#fbbf24}.case-study__label--challenges:before{background:#fbbf24}.case-study__label--results{color:#34d399}.case-study__label--results:before{background:#34d399}.case-study__block p{margin:0;font-size:.88em;line-height:1.65}.project-modal__techs{flex-wrap:wrap;gap:8px}.project-modal__techs span{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:20px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 16px;font-size:.82em;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.project-modal__techs span:hover{background:rgba(var(--accent-rgb),.25);border-color:var(--primary)}.project-modal__footer{justify-content:center;gap:14px;padding:18px 24px 24px;display:flex}.project-modal__footer a{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.9em;text-decoration:none;transition:background .3s,transform .3s;display:inline-flex}.project-modal__footer a:hover{background:rgba(var(--accent-rgb),.25);transform:translateY(-2px)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.project-modal-template{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#16171dbf;justify-content:center;align-items:center;padding:24px;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}.project-modal-template__card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:560px;max-height:min(85vh,720px);box-shadow:var(--shadow),0 0 60px rgba(var(--accent-rgb),.15);border-radius:16px;animation:.25s modalSlideUp;position:relative;overflow-y:auto}.project-modal-template__close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;z-index:1;background:#fffdf9d9;border-radius:50%;justify-content:center;align-items:center;font-size:1.05em;transition:background .2s,transform .2s;display:inline-flex;position:absolute;top:12px;right:12px}.project-modal-template__close:hover{background:var(--accent-bg);transform:rotate(90deg)}.project-modal-template__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-modal-template__image{aspect-ratio:16/9;object-fit:cover;object-position:center top;border-bottom:1px solid var(--border);background:var(--bg);width:100%}.project-modal-template__body{padding:24px 24px 8px}.project-modal-template__title{color:var(--text-h);margin:0 0 8px;font-family:Poppins,sans-serif;font-size:1.4em;font-weight:700}.project-modal-template__description{color:var(--text-h);opacity:.9;margin:0 0 12px;font-size:.95em}.project-modal-template__update-btn{background:var(--primary);color:var(--text-h);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;margin:16px 0;padding:10px 20px;font-size:.9em;font-weight:600;transition:transform .3s,box-shadow .3s;display:inline-flex}.project-modal-template__update-btn:hover{box-shadow:0 4px 12px rgba(var(--accent-rgb),.3);transform:translateY(-2px)}.project-modal-template__update-btn.rotating{animation:.5s rotateAnimation}@keyframes rotateAnimation{0%{transform:rotate(0)!important}50%{transform:rotate(180deg)!important}to{transform:rotate(360deg)!important}}.project-modal-template__content{position:relative}.project-modal-template__section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:6px;font-family:Poppins,sans-serif;font-size:.85em;font-weight:600}.project-modal-template__case-study{gap:14px;margin:16px 0 8px;display:grid}.case-study__block-template{border:1px solid var(--border);background:#1c19170d;border-radius:10px;padding:14px 16px;transition:border-color .3s}.case-study__block-template:hover{border-color:var(--accent-border)}.case-study__label-template{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin:0 0 6px;font-family:Poppins,sans-serif;font-size:.75em;font-weight:700;display:flex}.case-study__label-template:before{content:"";border-radius:50%;width:8px;height:8px;display:inline-block}.case-study__label-template--problem{color:#f87171}.case-study__label-template--problem:before{background:#f87171}.case-study__label-template--solution{color:#60a5fa}.case-study__label-template--solution:before{background:#60a5fa}.case-study__label-template--challenges{color:#fbbf24}.case-study__label-template--challenges:before{background:#fbbf24}.case-study__label-template--results{color:#34d399}.case-study__label-template--results:before{background:#34d399}.case-study__block-template p{margin:0;font-size:.88em;line-height:1.65}.project-modal-template__highlights{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.project-modal-template__highlights li{padding-left:20px;font-size:.9em;position:relative}.project-modal-template__highlights li:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:.5em;left:0}.project-modal-template__techs{flex-wrap:wrap;gap:8px}.project-modal-template__techs span{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:20px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 16px;font-size:.82em;font-weight:500;transition:background .2s,border-color .2s;animation:.3s forwards fadeInUp;display:inline-flex}.project-modal-template__techs span:hover{background:rgba(var(--accent-rgb),.25);border-color:var(--primary)}.project-modal-template__footer{justify-content:center;gap:14px;padding:18px 24px 24px;display:flex}.project-modal-template__footer a{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.9em;text-decoration:none;transition:background .3s,transform .3s;display:inline-flex}.project-modal-template__footer a:hover{background:rgba(var(--accent-rgb),.25);transform:translateY(-2px)}.project-modal-template__gallery{padding:24px}.project-modal-view[hidden]{display:none!important}.project-modal-template__gallery-title{justify-content:space-between;align-items:center;margin-bottom:24px;padding-right:44px;display:flex}.project-modal-template__gallery-title h3{color:var(--text-h);font-family:Poppins,sans-serif;font-size:1.4em;font-weight:700}.project-modal-template__back-btn{background:var(--primary);color:var(--text-h);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.9em;font-weight:600;transition:transform .2s;display:inline-flex}.project-modal-template__back-btn:hover{transform:translateY(-2px)}.project-modal-template__gallery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.project-modal-template__gallery-item{opacity:0;animation:.4s forwards fadeInScale;transform:scale(.9)}@keyframes fadeInScale{to{opacity:1;transform:scale(1)}}.project-modal-template__tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:24px;padding-bottom:12px;display:flex}.project-modal-template__tab{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:.9em;font-weight:600;transition:all .2s}.project-modal-template__tab:hover{background:var(--accent-bg);border-color:var(--accent-border)}.project-modal-template__tab.active{background:var(--primary);border-color:var(--primary);color:var(--text-h)}.project-modal-template__carousel{margin-bottom:24px;position:relative}.project-modal-template__carousel-track{background:var(--bg);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;min-height:300px;display:flex;overflow:hidden}.project-modal-template__zoom-hint{color:#f5f1e8;pointer-events:none;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16171dcc;border:1px solid #fffdf940;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.9em;display:inline-flex;position:absolute;top:12px;right:12px}.project-modal-template__carousel-image{object-fit:contain;cursor:zoom-in;border-radius:8px;max-width:100%;max-height:500px;transition:transform .2s}.project-modal-template__carousel-image:hover{transform:scale(1.02)}.project-modal-template__carousel-btn{color:#f5f1e8;cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16171dd9;border:1px solid #fffdf940;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2em;transition:all .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.project-modal-template__carousel-btn:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.project-modal-template__carousel-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-modal-template__carousel-btn--prev{left:10px}.project-modal-template__carousel-btn--next{right:10px}.project-modal-template__carousel-indicators{justify-content:center;gap:8px;margin-top:16px;display:flex}.project-modal-template__indicator{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;transition:all .2s}.project-modal-template__indicator:hover{background:var(--accent-border);transform:scale(1.2)}.project-modal-template__indicator.active{background:var(--primary);transform:scale(1.3)}.project-modal-template__indicator:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-modal-template__carousel-caption{text-align:center;color:var(--text-h);opacity:.7;margin-top:12px;font-size:.85em}.project-modal-template__comparison{margin-top:8px;overflow-x:auto}.project-modal-template__comparison-table{border-collapse:collapse;width:100%;font-size:.88em}.project-modal-template__comparison-table th,.project-modal-template__comparison-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}.project-modal-template__comparison-table th{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;background:rgba(var(--accent-rgb),.1);font-family:Poppins,sans-serif;font-size:.75em;font-weight:600;position:sticky;top:0}.project-modal-template__comparison-table td{color:var(--text-h);line-height:1.6}.project-modal-template__comparison-table tr:last-child td{border-bottom:none}.project-modal-template__comparison-table tr:hover td{background:rgba(var(--accent-rgb),.05)}.comparison-old{color:var(--text-h);opacity:.8}.comparison-new{color:var(--primary);font-weight:500}@media(max-width:768px){.project-modal-template__carousel-btn{width:36px;height:36px;font-size:1em}.project-modal-template__carousel-btn--prev{left:8px}.project-modal-template__carousel-btn--next{right:8px}.project-modal-template__carousel-track{min-height:200px}.project-modal-template__carousel-image{max-height:350px}.project-modal-template__tabs{flex-direction:column}}.project-lightbox{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05060aed;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-lightbox__image{object-fit:contain;cursor:zoom-out;border-radius:8px;max-width:92vw;max-height:86vh;box-shadow:0 20px 80px #0009}.project-lightbox__caption{color:var(--text-h);opacity:.75;background:#0000008c;border-radius:20px;padding:6px 16px;font-size:.9em;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.project-lightbox__close{color:#f5f1e8;cursor:pointer;z-index:2;background:#16171dd9;border:1px solid #fffdf940;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3em;transition:all .2s;display:inline-flex;position:absolute;top:20px;right:20px}.project-lightbox__close:hover,.project-lightbox__nav:hover{background:var(--primary);border-color:var(--primary);transform:scale(1.1)}.project-lightbox__nav{color:#f5f1e8;cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16171dd9;border:1px solid #fffdf940;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.3em;transition:all .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.project-lightbox__nav--prev{left:20px}.project-lightbox__nav--next{right:20px}@media(max-width:768px){.project-lightbox__nav--prev{left:8px}.project-lightbox__nav--next{right:8px}.project-lightbox__nav{width:42px;height:42px}}.footer{border-top:1px solid var(--border);text-align:center;padding:28px 24px;font-size:.85em}.footer .heart{color:var(--primary);animation:1.4s ease-in-out infinite heartPulse;display:inline-block}.footer .colophon{opacity:.7;max-width:560px;margin:10px auto 0;font-size:.85em;line-height:1.6}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}[data-theme=dark]{color-scheme:dark;--color-background:#131511;--color-bg:#131511;--color-surface:#1d2019;--color-text:#a8a29e;--color-text-h:#f3efe6;--color-primary:#f59e0b;--color-border:#2b2f24;--bg:#131511;--surface:#1d2019;--text:#a8a29e;--text-h:#f3efe6;--primary:#f59e0b;--border:#2b2f24;--code-bg:#1d2019;--accent:#f59e0b;--accent-rgb:245, 158, 11;--accent-bg:rgba(var(--accent-rgb), .14);--accent-border:rgba(var(--accent-rgb), .45);--social-bg:#f59e0b12;--shadow:#00000080 0 18px 40px -18px, #00000059 0 4px 12px -4px}[data-theme=dark] .banner .background-text{-webkit-text-stroke:1.5px #ffffff14}[data-theme=dark] .carousel-pause,[data-theme=dark] .carousel-btn{background:#1d1915b3}@media(max-width:768px){[data-theme=dark] .banner .author{background:#1d191599}[data-theme=dark] .project-caption{background:#1d19158c}}[data-theme=dark] .carousel-pause:hover{color:#131511}[data-theme=dark] .carousel-dot{background:#ffffff40;border-color:#ffffff26}[data-theme=dark] .project-modal__close,[data-theme=dark] .project-modal-template__close{background:#1d1915b3}[data-theme=dark] .case-study__block,[data-theme=dark] .case-study__block-template{background:#0000004d}[data-theme=dark] .stats-section,[data-theme=dark] .timeline-section,[data-theme=dark] .tech-grid-section,[data-theme=dark] .certs-section{background:#ffffff08}[data-theme=dark] .contact-cta-badge{color:#34d399;background:#34d39926;border-color:#34d39966}[data-theme=dark] ::selection{color:#f3efe6}[data-theme=dark] *{scrollbar-color:#2e303a transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2e303a padding-box content-box}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#3a3d4a padding-box content-box}[data-theme=dark] .project-modal-template__update-btn,[data-theme=dark] .preloader__logo,[data-theme=dark] .on-primary-ink{color:#131511}[data-theme=dark] .tech-card svg,[data-theme=dark] .project-modal__techs svg{filter:brightness(1.25)}[data-theme=light]{color-scheme:light;--color-background:#f7f4ed;--color-bg:#f7f4ed;--color-surface:#fffdf9;--color-text:#57534e;--color-text-h:#1c1917;--color-primary:#c2410c;--color-border:#e5ddcf;--text:#57534e;--text-h:#1c1917;--bg:#f7f4ed;--border:#e5ddcf;--surface:#fffdf9;--primary:#c2410c;--code-bg:#efe9db;--accent:#c2410c;--accent-rgb:194, 65, 12;--accent-bg:rgba(var(--accent-rgb), .08);--accent-border:rgba(var(--accent-rgb), .35);--social-bg:#1c19170d;--shadow:#3e28141f 0 18px 40px -18px, #3e281414 0 4px 12px -4px}[data-theme=light] .banner .background-text{-webkit-text-stroke:1.5px #1c191740}[data-theme=roxo]{color-scheme:dark}[data-theme=roxo] .banner .background-text{-webkit-text-stroke:1.5px #ffffff14}[data-theme=roxo] .carousel-pause,[data-theme=roxo] .carousel-btn{background:#16171db3}@media(max-width:768px){[data-theme=roxo] .banner .author{background:#16171d99}[data-theme=roxo] .project-caption{background:#16171d8c}}[data-theme=roxo] .carousel-dot{background:#ffffff40;border-color:#ffffff26}[data-theme=roxo] .project-modal__close,[data-theme=roxo] .project-modal-template__close{background:#16171db3}[data-theme=roxo] .case-study__block,[data-theme=roxo] .case-study__block-template{background:#0000004d}[data-theme=roxo] .stats-section,[data-theme=roxo] .timeline-section,[data-theme=roxo] .tech-grid-section,[data-theme=roxo] .certs-section{background:#ffffff08}[data-theme=roxo] .contact-cta-badge{color:#34d399;background:#34d39926;border-color:#34d39966}[data-theme=roxo] ::selection{color:#f3f4f6}[data-theme=roxo] *{scrollbar-color:#2e303a transparent}[data-theme=roxo] ::-webkit-scrollbar-thumb{background:#2e303a padding-box content-box}[data-theme=roxo] ::-webkit-scrollbar-thumb:hover{background:#3a3d4a padding-box content-box}[data-theme=roxo] .tech-card svg,[data-theme=roxo] .project-modal__techs svg{filter:brightness(1.25)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}.spotlight{position:relative;overflow:hidden}.spotlight:after{content:"";border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(var(--accent-rgb),.13),transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.spotlight:hover:after{opacity:1}.scroll-progress{z-index:60;background:var(--primary);transform-origin:0;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.back-to-top{z-index:55;background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1em;transition:background .25s,transform .25s,box-shadow .25s;animation:.3s backToTopIn;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #1c191724}.back-to-top:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 12px 28px rgba(var(--accent-rgb),.35);transform:translateY(-3px)}[data-theme=dark] .back-to-top:hover{color:#131511}[data-theme=dark] .back-to-top{box-shadow:0 8px 24px #00000080}@keyframes backToTopIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.45s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.caption-swap{animation:.4s cubic-bezier(.22,1,.36,1) both captionIn}@keyframes captionIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal-stagger .reveal-child{opacity:0;transition:opacity .6s ease var(--reveal-delay,0s),transform .6s ease var(--reveal-delay,0s);transform:translateY(22px)}.reveal-stagger.is-visible .reveal-child{opacity:1;transform:none}.reveal-left{transform:translate(-26px)}.reveal-right{transform:translate(26px)}.reveal-left.is-visible,.reveal-right.is-visible{transform:none}.timeline-dot:after{content:"";border:1px solid rgba(var(--accent-rgb),.45);border-radius:50%;animation:2.8s ease-out infinite timelineHalo;position:absolute;inset:-6px}@keyframes timelineHalo{0%{opacity:.9;transform:scale(.7)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.25)}}.timeline-item:hover .timeline-dot:after{animation-play-state:paused}.featured-media img,.case-cover img{transition:transform .8s cubic-bezier(.22,1,.36,1)}.featured-media:hover img{transform:scale(1.045)}.case-cover:hover img{transform:scale(1.015)}.case-gallery img{transition:transform .35s,box-shadow .35s,border-color .35s}.case-gallery img:hover{border-color:var(--accent-border);box-shadow:0 12px 32px rgba(var(--accent-rgb),.16);transform:translateY(-3px)}.nav-link-active{color:var(--primary)!important}.nav-link-active:after{width:100%!important}.contact-cta-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite badgeBlink}@keyframes badgeBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.about-photo{transition:transform .5s,box-shadow .5s}.about-photo:hover{transform:scale(1.012)}.case-page{width:100%;padding:130px 24px 90px;position:relative}.case-container{max-width:860px;margin:0 auto}.case-article section[id]{scroll-margin-top:96px}.case-layout{max-width:860px;margin:0 auto}.case-toc{display:none}@media(min-width:1200px){.case-layout{grid-template-columns:minmax(0,860px) 200px;justify-content:center;gap:56px;max-width:1160px;display:grid}.case-layout .case-container{max-width:none;margin:0}.case-toc{align-self:start;padding-left:20px;display:block;position:sticky;top:110px}.case-toc__rail{background:var(--border);border-radius:2px;width:2px;position:absolute;top:4px;bottom:4px;left:0;overflow:hidden}.case-toc__rail:before{content:"";background:var(--primary);transform:scaleY(var(--toc-progress,0));transform-origin:top;position:absolute;inset:0}.case-toc__title{letter-spacing:.18em;text-transform:uppercase;color:var(--primary);margin:0 0 10px;font-size:.72em;font-weight:700}.case-toc ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.case-toc__link{color:var(--text);border-left:2px solid #0000;margin-left:-20px;padding:6px 0 6px 18px;font-size:.86em;text-decoration:none;transition:color .25s,border-color .25s;display:block}.case-toc__link:hover{color:var(--text-h)}.case-toc__link--active{color:var(--primary);border-left-color:var(--primary);font-weight:600}}.case-back{color:var(--text);align-items:center;gap:8px;margin-bottom:28px;font-size:.88em;font-weight:600;text-decoration:none;transition:color .25s,transform .25s;display:inline-flex}.case-back:hover{color:var(--primary);transform:translate(-3px)}.section-eyebrow--left{text-align:left;justify-content:flex-start}.section-eyebrow--left:after{display:none}.case-title{letter-spacing:-.015em;color:var(--text-h);margin:0 0 14px;font-family:Poppins,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1}.case-lede{color:var(--text);max-width:640px;margin:0 0 26px;font-size:clamp(1.02rem,2.4vw,1.18rem);line-height:1.65}.case-actions{flex-wrap:wrap;gap:12px;margin-bottom:26px;display:flex}.case-btn{border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:.92em;font-weight:600;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s,color .25s,background .25s;display:inline-flex}.case-btn--primary{background:var(--primary);color:#fff;box-shadow:0 8px 24px -8px rgba(var(--accent-rgb),.55)}.case-btn--primary:hover{transform:translateY(-2px)}[data-theme=dark] .case-btn--primary{color:#131511}.case-btn--ghost{border:1px solid var(--border);color:var(--text-h)}.case-btn--ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.case-techs{margin-bottom:30px}.case-cover{border:1px solid var(--border);border-radius:18px;margin:0 0 34px;display:block;overflow:hidden;box-shadow:0 24px 60px -24px #1c191759}[data-theme=dark] .case-cover{box-shadow:0 24px 60px -24px #000000b3}.case-cover img{aspect-ratio:16/9;object-fit:cover;object-position:center top;width:100%;display:block}.case-section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin:34px 0 14px;padding-bottom:8px;font-family:Poppins,sans-serif;font-size:1.05em;font-weight:600}.case-gallery{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:8px;display:grid}.case-gallery img{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;display:block}.case-pager{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:14px;margin-top:48px;padding-top:28px;display:grid}.case-pager a{background:var(--surface);border:1px solid var(--border);color:var(--text-h);border-radius:14px;align-items:center;gap:12px;padding:16px 18px;font-size:.92em;font-weight:600;text-decoration:none;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex}.case-pager a:last-child{text-align:right;justify-content:flex-end}.case-pager a:hover{border-color:var(--accent-border);box-shadow:0 12px 32px rgba(var(--accent-rgb),.14);transform:translateY(-3px)}.case-pager small{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:2px;font-size:.72em;font-weight:600;display:block}@media(max-width:640px){.case-page{padding-top:110px}.case-gallery,.case-pager{grid-template-columns:1fr}.case-pager a:last-child{text-align:left;justify-content:flex-start}.case-pager a:last-child svg{order:-1}}.compare{margin:0 0 8px}.compare__stage{border:1px solid var(--border);aspect-ratio:16/10;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 24px 60px -24px #1c191759}[data-theme=dark] .compare__stage{box-shadow:0 24px 60px -24px #000000b3}.compare__img{object-fit:cover;object-position:center top;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.compare__img--before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}.compare__tag{letter-spacing:.06em;text-transform:uppercase;color:#f3efe6;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#131511b8;border:1px solid #ffffff2e;border-radius:999px;padding:4px 12px;font-size:.72em;font-weight:700;position:absolute;top:12px}.compare__tag--before{left:12px}.compare__tag--after{right:12px}.compare__line{top:0;bottom:0;left:var(--pos,50%);background:var(--primary);width:2px;box-shadow:0 0 12px rgba(var(--accent-rgb),.6);pointer-events:none;position:absolute}.compare__line:after{content:"";background:var(--primary);width:36px;height:36px;box-shadow:0 4px 16px rgba(var(--accent-rgb),.5);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compare__line svg{color:#fff;font-size:.85em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] .compare__line svg{color:#131511}.compare__range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare__range:focus-visible{opacity:1;outline:2px solid var(--primary);outline-offset:-2px;background:0 0}.compare__pairs{justify-content:center;gap:8px;margin-top:14px;display:flex}.compare__dot{border:1px solid var(--accent-border);cursor:pointer;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;transition:background .25s,transform .25s}.compare__dot:hover{transform:scale(1.2)}.compare__dot.active{background:var(--primary);border-color:var(--primary)}.featured-section{background:#1c19170a}[data-theme=dark] .featured-section{background:#ffffff08}.featured-rows{flex-direction:column;gap:56px;max-width:900px;margin:0 auto;display:flex}.featured-row{grid-template-columns:5fr 6fr;align-items:center;gap:40px;display:grid}.featured-row--flip .featured-media{order:2}.featured-media{border:1px solid var(--border);border-radius:16px;transition:transform .35s,box-shadow .35s;display:block;overflow:hidden;box-shadow:0 20px 48px -20px #1c191759}.featured-media:hover{box-shadow:0 28px 56px -20px rgba(var(--accent-rgb),.35);transform:translateY(-5px)}.featured-media img{aspect-ratio:16/10;object-fit:cover;object-position:center top;width:100%;display:block}.featured-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--primary);margin:0 0 6px;font-size:.72em;font-weight:600}.featured-body h3{letter-spacing:-.01em;color:var(--text-h);margin:0 0 10px;font-family:Poppins,sans-serif;font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700}.featured-desc{color:var(--text);margin:0 0 14px;line-height:1.65}.featured-result{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text);border-radius:10px;margin:0 0 18px;padding:12px 16px;font-size:.92em;line-height:1.6}.featured-result strong{color:var(--text-h)}.featured-link{color:var(--primary);align-items:center;gap:8px;font-size:.95em;font-weight:600;text-decoration:none;display:inline-flex}.featured-link svg{transition:transform .25s}.featured-link:hover svg{transform:translate(4px)}@media(max-width:768px){.featured-row{grid-template-columns:1fr;gap:20px}.featured-row--flip .featured-media{order:0}.featured-rows{gap:44px}}.rail{position:relative}.rail-track{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:16px;padding:6px 4px 14px;scroll-padding:4px;display:flex;overflow:auto hidden}.rail-track::-webkit-scrollbar{display:none}.rail-track:focus-visible{outline:2px solid var(--accent-border);outline-offset:4px;border-radius:12px}.rail-page{display:contents}.rail-item{scroll-snap-align:start;flex:none}.tech-rail-track{max-width:900px;margin:0 auto}.tech-rail-track .tech-card{flex-basis:calc(33.3333% - 10.6667px);min-width:0}.certs-rail-track{max-width:1000px;margin:0 auto}.certs-rail-track .cert-card{flex-basis:320px;max-width:320px}.rail-controls{justify-content:center;align-items:center;gap:14px;margin-top:18px;display:flex}.rail-btn{background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.9em;transition:border-color .25s,transform .25s,box-shadow .25s,opacity .25s;display:inline-flex}.rail-btn:hover:not(:disabled){border-color:var(--accent-border);box-shadow:0 8px 24px rgba(var(--accent-rgb),.18);transform:translateY(-2px)}.rail-btn:disabled{opacity:.35;cursor:default}.rail-dots{align-items:center;gap:8px;display:flex}.rail-dot{border:1px solid var(--accent-border);cursor:pointer;transform-origin:0;background:0 0;border-radius:999px;width:8px;height:8px;padding:0;transition:transform .25s,background .25s}.rail-dot.active{background:var(--primary);border-color:var(--primary);transform:scaleX(3)}.rail-progress{background:var(--border);border-radius:999px;max-width:1000px;height:3px;margin:14px auto 0;overflow:hidden}.rail-progress span{background:linear-gradient(90deg,transparent,var(--primary),transparent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.rail-hint{text-align:center;color:var(--text);opacity:.75;margin:10px 0 0;font-size:.75em;display:none}@media(max-width:768px){.tech-rail-track .tech-card{flex-basis:calc(50% - 8px)}.certs-rail-track .cert-card{flex-basis:82%;max-width:82%}.rail-hint{display:block}.background-text{display:none}.banner .center-model{width:clamp(172px,39.42vw,222px);height:clamp(172px,39.42vw,222px);top:40%}.banner .author{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background:#fffdf9d1;border-radius:16px;width:max-content;max-width:calc(100% - 24px);padding:12px 20px 14px;bottom:4%}.banner .author h2{font-size:1em}.banner .author p{letter-spacing:.14em;font-size:.8em}.banner .author .tech-stack{flex-wrap:wrap;gap:6px;margin-top:10px}.banner .author .tech-stack span{white-space:nowrap;padding:4px 10px;font-size:.6em}.project-caption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);background:#fffdf9d9;border-radius:10px;width:max-content;max-width:calc(100% - 24px);padding:6px 14px 8px;top:72px;bottom:auto}.project-caption .tag{letter-spacing:.22em;margin-bottom:2px;font-size:.55em}.project-caption h3{font-size:.9em}.banner .slider{--card-w:108px;--card-h:149px;--perspective:900px;--depth:280px}.banner .slider .item{border-radius:12px}.section{padding:90px 20px 70px}.about{grid-template-columns:1fr;gap:32px}.about-photo{max-width:305px}.project-modal{align-items:flex-end;padding:0}.project-modal__card{border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90dvh}.project-modal__body{padding:20px 20px 8px}.project-modal__footer{padding:16px 20px 24px}.stats-strip{grid-template-columns:repeat(2,1fr);padding:8px;display:grid}.stat-metric{padding:20px 8px}.stat-metric+.stat-metric{border-left:none}.stat-metric:nth-child(odd){border-right:1px solid var(--border)}.stat-metric:nth-child(n+3){border-top:1px solid var(--border)}.stat-value{font-size:2.2em}.timeline:before{left:20px}.timeline-item{text-align:left;width:100%;padding-left:50px;padding-right:0}.timeline-left{text-align:left;padding-right:0;left:0}.timeline-right{padding-left:50px;left:0}.timeline-left .timeline-dot{left:-7px;right:auto}.timeline-right .timeline-dot{left:-7px}.tech-card{padding:24px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.particle,.background-text,.author,.center-model,.project-modal,.project-modal__card,.project-modal-view,.project-modal-template__card,.project-modal-template__gallery-item,.slider,.slider .item,.slider .item img,.project-caption,.footer .heart,.project-lightbox,.project-lightbox__image,.project-modal-template__update-btn.rotating,.preloader__logo,.preloader__bar span,.animate-fadeIn,.carousel-controls,.carousel-dots,.tech-tab,.tech-card--enter,.reveal,.reveal-stagger .reveal-child,.page-enter,.caption-swap,.timeline-dot:after,.contact-cta-badge:before,.compare__dot,.case-toc__link,.rail-track,.rail-btn,.rail-dot,.rail-progress span,.back-to-top{transition-duration:0s!important;animation:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:9999;background:var(--primary);color:#fff;border-radius:8px;padding:10px 18px;font-size:.9em;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}
