@font-face {
  font-family: "Astoria";
  src: url("fonts/Astoria.otf") format("opentype"),
       url("./fonts/Astoria.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.geist_a4f9adef-module__rTGU2W__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a4f9adef-module__rTGU2W__variable{--font-sans:"Geist", "Geist Fallback"}
.geist_mono_f41124e8-module__uIW-CG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_f41124e8-module__uIW-CG__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
@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-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y: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-amber-500:#f99c00;--color-blue-500:#3080ff;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--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;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-blue-500:lab(54.1736% 13.3369 -74.6839)}}}@layer base{:where(.about-screen) *,:where(.about-screen) :after,:where(.about-screen) :before{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}:where(.about-screen){-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}:where(.about-screen) :is(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}:where(.about-screen) :is(ol,ul,menu){list-style:none}:where(.about-screen) :is(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where(.about-screen) :is(img,video){max-width:100%;height:auto}:where(.about-screen) :is(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}html{scroll-behavior:smooth}:where(.about-screen) *{border-color:var(--border)}:where(.about-screen){background-color:var(--background);color:var(--foreground)}.shiki,.shiki span{color:var(--shiki-light);background-color:#0000}.dark .shiki,.dark .shiki span{color:var(--shiki-dark);background-color:#0000}.prose pre{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);font-family:var(--font-mono)!important;background-color:#0000!important}.prose code{border-style:var(--tw-border-style);background-color:var(--muted);border-width:1px;margin:0!important;margin-inline:var(--spacing)!important;border-radius:calc(var(--radius) - 2px)!important}@supports (color:color-mix(in lab, red, red)){.prose code{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.prose code{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);color:var(--foreground)!important;font-size:13px!important}@supports (color:color-mix(in lab, red, red)){.prose code{color:color-mix(in oklab, var(--foreground) 90%, transparent)!important}}.prose code:where(.dark,.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.prose code:where(.dark,.dark *){background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.prose code:before,.prose code:after{--tw-content:none!important;content:none!important}.prose h1{font-size:var(--text-2xl)!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important;--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important;--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important;--tw-tracking:var(--tracking-tight)!important;letter-spacing:var(--tracking-tight)!important}.prose h2{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important;--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important;--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important;--tw-tracking:var(--tracking-tight)!important;letter-spacing:var(--tracking-tight)!important}.prose h3{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important;--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important;--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important;--tw-tracking:var(--tracking-tight)!important;letter-spacing:var(--tracking-tight)!important}.prose h4,.prose h5,.prose h6{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important;--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important;--tw-font-weight:var(--font-weight-medium)!important;font-weight:var(--font-weight-medium)!important;--tw-tracking:var(--tracking-tight)!important;letter-spacing:var(--tracking-tight)!important}.prose a{color:var(--primary);text-underline-offset:4px;text-decoration-line:underline}.prose blockquote{border-radius:calc(var(--radius) - 2px);border-left-style:var(--tw-border-style);background-color:var(--muted);border-left-width:4px;border-top-left-radius:0;border-bottom-left-radius:0;border-color:var(--color-amber-500)!important}@supports (color:color-mix(in lab, red, red)){.prose blockquote{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.prose blockquote{padding:calc(var(--spacing) * 4);padding-left:calc(var(--spacing) * 4);font-style:italic}.prose blockquote p{margin:0!important}.prose blockquote p:first-child{margin-top:0!important}.prose :where(ul.contains-task-list):not(:where([class~=not-prose] *)){padding-left:0!important;list-style-type:none!important}.prose :where(li.task-list-item):not(:where([class~=not-prose] *)){padding-left:0!important}.prose :where(li.task-list-item>input[type=checkbox]):not(:where([class~=not-prose] *)){margin-right:calc(var(--spacing) * 2);vertical-align:middle!important}.prose :where(table):not(:where([class~=not-prose]) *){border-collapse:separate;border-spacing:0;width:100%;min-width:100%}.prose :where(th):not(:where([class~=not-prose] *)),.prose :where(td):not(:where([class~=not-prose] *)){padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);vertical-align:middle;white-space:nowrap;margin:0}.prose tr{height:calc(var(--spacing) * 10)!important;cursor:pointer!important;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}@media (hover:hover){.prose tr:hover{background-color:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.prose tr:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)!important}}}.prose :where(th):not(:where([class~=not-prose] *)){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--muted);margin:0!important}@supports (color:color-mix(in lab, red, red)){.prose :where(th):not(:where([class~=not-prose] *)){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.prose :where(th):not(:where([class~=not-prose] *)){text-align:left;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground);padding:calc(var(--spacing) * 3)!important;padding-block:calc(var(--spacing) * 2)!important}.prose :where(td):not(:where([class~=not-prose] *)){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);color:var(--muted-foreground);padding:calc(var(--spacing) * 2)!important;font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.prose :where(th:not(:last-child)):not(:where([class~=not-prose] *)),.prose :where(td:not(:last-child)):not(:where([class~=not-prose] *)){border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--border)}.prose :where(tbody tr:last-child td):not(:where([class~=not-prose] *)){border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.-top-40{top:calc(var(--spacing) * -40)}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-3{left:calc(var(--spacing) * -3)}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-60{z-index:60}.order-1{order:1}.order-2{order:2}.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}}.m-0\!{margin:0!important}.m-2{margin:calc(var(--spacing) * 2)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing) * 6)}.my-10{margin-block:calc(var(--spacing) * 10)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-1\.25{margin-top:calc(var(--spacing) * 1.25)}.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-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mr-4{margin-right:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.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-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-13{margin-left:calc(var(--spacing) * 13)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-2\/1{aspect-ratio:2}.aspect-square{aspect-ratio:1}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-full{width:100%;height:100%}.h-1\/2{height:50%}.h-2\/3{height:66.6667%}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-25{height:calc(var(--spacing) * 25)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-48{height:calc(var(--spacing) * 48)}.h-\[1lh\]{height:1lh}.h-\[1px\]{height:1px}.h-\[300px\]{height:300px}.h-full{height:100%}.h-px{height:1px}.max-h-\[calc\(100vh-1\.5rem\)\]{max-height:calc(100vh - 1.5rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[calc\(100vh-12rem\)\]{min-height:calc(100vh - 12rem)}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-85{width:calc(var(--spacing) * 85)}.w-96{width:calc(var(--spacing) * 96)}.w-\[1px\]{width:1px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-75{max-width:calc(var(--spacing) * 75)}.max-w-100{max-width:calc(var(--spacing) * 100)}.max-w-150{max-width:calc(var(--spacing) * 150)}.max-w-200{max-width:calc(var(--spacing) * 200)}.max-w-\[400px\]{max-width:400px}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-none{flex:none}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0;--tw-border-spacing-y:0;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-\[15deg\]{rotate:-15deg}.-rotate-\[20deg\]{rotate:-20deg}.rotate-0{rotate:none}.rotate-12{rotate:12deg}.rotate-\[15deg\]{rotate:15deg}.rotate-\[20deg\]{rotate:20deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-fade-in{animation:.4s both fadeIn}.animate-fade-in-scale{animation:.5s both fadeInScale}.animate-fade-in-up{animation:.5s both fadeInUp}.animate-float{animation:2.5s ease-in-out infinite floatY}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-pulse-soft{animation:2s ease-in-out infinite pulseSoft}.animate-shake{animation:.6s both shake}.animate-spin{animation:var(--animate-spin)}.animate-swing-even{animation:2.2s ease-in-out infinite swingEven}.animate-swing-even-2{animation:2.6s ease-in-out infinite swingEven}.animate-swing-even-4{animation:3s ease-in-out infinite swingEven}.animate-swing-odd{animation:2.4s ease-in-out infinite swingOdd}.animate-swing-odd-3{animation:2.8s ease-in-out infinite swingOdd}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.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))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.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-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-14{gap:calc(var(--spacing) * 14)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}: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)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#4a2c7b\]{border-color:#4a2c7b}.border-\[\#9b1a2e\]{border-color:#9b1a2e}.border-\[\#9b6b7b\]{border-color:#9b6b7b}.border-\[\#9b6b7b\]\/40{border-color:#9b6b7b66;border-color:lab(50.7266% 21.5201 -.783539/.4)}.border-\[\#c8a050\]{border-color:#c8a050}.border-\[\#c44060\]{border-color:#c44060}.border-\[\#e0c8a0\]{border-color:#e0c8a0}.border-\[\#e0d0c0\]{border-color:#e0d0c0}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[\#1a2e3a\]{background-color:#1a2e3a}.bg-\[\#8b5e3c\]{background-color:#8b5e3c}.bg-\[\#9b1a2e\]{background-color:#9b1a2e}.bg-\[\#c8a050\]{background-color:#c8a050}.bg-\[\#c89060\]{background-color:#c89060}.bg-\[\#f5e6d8\]{background-color:#f5e6d8}.bg-\[\#f9c6c6\]{background-color:#f9c6c6}.bg-\[\#fdf0e8\]{background-color:#fdf0e8}.bg-\[\#fdf8f0\]{background-color:#fdf8f0}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/90{background-color:color-mix(in oklab, var(--card) 90%, transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-muted,.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/60{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-l{--tw-gradient-position:to left in oklab}}.bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary\/30{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab, red, red)){.from-primary\/30{--tw-gradient-from:color-mix(in oklab, var(--primary) 30%, transparent)}}.from-primary\/30{--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-transparent{--tw-gradient-from:transparent;--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-5\%{--tw-gradient-from-position:5%}.via-border{--tw-gradient-via:var(--border);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-95\%{--tw-gradient-via-position:95%}.to-secondary\/10{--tw-gradient-to:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.to-secondary\/10{--tw-gradient-to:color-mix(in oklab, var(--secondary) 10%, transparent)}}.to-secondary\/10{--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-transparent{--tw-gradient-to:transparent;--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))}.mask-\[linear-gradient\(to_bottom\,black\,black_20\%\,transparent_80\%\)\]{-webkit-mask-image:linear-gradient(#000,#000 20%,#0000 80%);mask-image:linear-gradient(#000,#000 20%,#0000 80%)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-primary{fill:var(--primary)}.stroke-2{stroke-width:2px}.stroke-3{stroke-width:3px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.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)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block: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-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-\[6px\]{font-size:6px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[200px\]{font-size:200px}.leading-\[100\%\]{--tw-leading:100%;line-height:100%}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-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-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.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-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[\#2c0a5e\]{color:#2c0a5e}.text-\[\#3d1a1a\]{color:#3d1a1a}.text-\[\#4a2c7b\]{color:#4a2c7b}.text-\[\#4a7a9b\]{color:#4a7a9b}.text-\[\#6b3a4a\]{color:#6b3a4a}.text-\[\#6b4a9b\]{color:#6b4a9b}.text-\[\#6b4a20\]{color:#6b4a20}.text-\[\#7b1a2e\]{color:#7b1a2e}.text-\[\#9b1a2e\]{color:#9b1a2e}.text-\[\#9b6b7b\]{color:#9b6b7b}.text-\[\#a07828\]{color:#a07828}.text-\[\#c8a050\]{color:#c8a050}.text-\[\#c44060\]{color:#c44060}.text-\[\#f5e6d8\]{color:#f5e6d8}.text-background{color:var(--background)}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--card-foreground)}.text-foreground,.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--foreground) 90%, transparent)}}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-\[0_0_10px_3px\]{--tw-shadow:0 0 10px 3px var(--tw-shadow-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)}.shadow-\[0_10px_40px_-10px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 10px 40px -10px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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)}.shadow-primary\/5{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/5{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 5%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-border,.ring-border\/20{--tw-ring-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.ring-border\/20{--tw-ring-color:color-mix(in oklab, var(--border) 20%, transparent)}}.ring-muted{--tw-ring-color:var(--muted)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-opacity{transition-property:opacity;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-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.fill-mode-both{--tw-animation-fill-mode:both;animation-fill-mode:both}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--timeline-gap\:2rem\]{--timeline-gap:2rem}.\[-webkit-text-stroke\:3px_hsl\(var\(--primary\)\/0\.6\)\]{-webkit-text-stroke:3px hsl(var(--primary)/.6)}.backface-hidden{backface-visibility:hidden}.fade-in{--tw-enter-opacity:0}.running{animation-play-state:running}.slide-in-from-bottom-1{--tw-enter-translate-y:calc(1*var(--spacing))}.transform-3d{transform-style:preserve-3d}@media (hover:hover){.group-hover\:-translate-x-px:is(:where(.group):hover *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[orientation\=horizontal\]\:top-1\/2:is(:where(.group)[data-orientation=horizontal] *){top:50%}.group-data-\[orientation\=horizontal\]\:left-1\/2:is(:where(.group)[data-orientation=horizontal] *){left:50%}.group-data-\[orientation\=horizontal\]\:h-px:is(:where(.group)[data-orientation=horizontal] *){height:1px}.group-data-\[orientation\=horizontal\]\:w-\[calc\(50\%\+var\(--timeline-gap\)\+50\%\)\]:is(:where(.group)[data-orientation=horizontal] *){width:calc(50% + var(--timeline-gap) + 50%)}.group-data-\[orientation\=horizontal\]\:-translate-y-1\/2:is(:where(.group)[data-orientation=horizontal] *){--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[orientation\=vertical\]\:top-0:is(:where(.group)[data-orientation=vertical] *){top:0}.group-data-\[orientation\=vertical\]\:left-1\/2:is(:where(.group)[data-orientation=vertical] *){left:50%}.group-data-\[orientation\=vertical\]\:h-\[calc\(50\%\+var\(--timeline-gap\)\+50\%\)\]:is(:where(.group)[data-orientation=vertical] *){height:calc(50% + var(--timeline-gap) + 50%)}.group-data-\[orientation\=vertical\]\:w-px:is(:where(.group)[data-orientation=vertical] *){width:1px}.group-data-\[orientation\=vertical\]\:-translate-x-1\/2:is(:where(.group)[data-orientation=vertical] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:translate-x-0:is(:where(.group)[data-state=open] *){--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[state\=open\]\:opacity-0:is(:where(.group)[data-state=open] *){opacity:0}.group-data-\[state\=open\]\:opacity-100:is(:where(.group)[data-state=open] *){opacity:1}@media (hover:hover){.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\:bg-\[\#7b1a2e\]:hover{background-color:#7b1a2e}.hover\:bg-\[\#f0a0b0\]:hover{background-color:#f0a0b0}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:bg-black\/90:hover{background-color:#000000e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/90:hover{background-color:color-mix(in oklab, var(--color-black) 90%, transparent)}}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-xl:hover{--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)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-muted:hover{--tw-ring-color:var(--muted)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[\#9b6b7b\]:focus-visible{--tw-ring-color:#9b6b7b}.focus-visible\:ring-\[\#ffdde1\]:focus-visible{--tw-ring-color:#ffdde1}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.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)}.active\:bg-\[\#6b0a1e\]:active{background-color:#6b0a1e}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.motion-safe\:duration-150{--tw-duration:.15s;transition-duration:.15s}.motion-safe\:fade-in-0{--tw-enter-opacity:0}.motion-safe\:zoom-in-95{--tw-enter-scale:.95}}@media (min-width:40rem){.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-4{height:calc(var(--spacing) * 4)}.sm\:h-5{height:calc(var(--spacing) * 5)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:h-10{height:calc(var(--spacing) * 10)}.sm\:h-14{height:calc(var(--spacing) * 14)}.sm\:h-20{height:calc(var(--spacing) * 20)}.sm\:h-24{height:calc(var(--spacing) * 24)}.sm\:h-32{height:calc(var(--spacing) * 32)}.sm\:h-48{height:calc(var(--spacing) * 48)}.sm\:h-52{height:calc(var(--spacing) * 52)}.sm\:w-4{width:calc(var(--spacing) * 4)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-10{width:calc(var(--spacing) * 10)}.sm\:w-12{width:calc(var(--spacing) * 12)}.sm\:w-20{width:calc(var(--spacing) * 20)}.sm\:w-32{width:calc(var(--spacing) * 32)}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-44{width:calc(var(--spacing) * 44)}.sm\:w-52{width:calc(var(--spacing) * 52)}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:justify-around{justify-content:space-around}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1{gap:var(--spacing)}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.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))}.sm\:text-\[10px\]{font-size:10px}}@media (min-width:48rem){.md\:order-1{order:1}.md\:order-2{order:2}.md\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.md\:size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:flex-1{flex:1}.md\:flex-2{flex:2}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-lg\/relaxed{font-size:var(--text-lg);line-height:var(--leading-relaxed)}}@media (min-width:64rem){.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-base\/relaxed{font-size:var(--text-base);line-height:var(--leading-relaxed)}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:opacity-0{opacity:0}@media (hover:hover){.lg\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media (min-width:80rem){.xl\:text-lg\/relaxed{font-size:var(--text-lg);line-height:var(--leading-relaxed)}}.dark\:bg-muted\/40:where(.dark,.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/40:where(.dark,.dark *){background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.dark\:shadow-\[0_10px_40px_-10px_rgba\(0\,0\,0\,0\.5\)\]:where(.dark,.dark *){--tw-shadow:0 10px 40px -10px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.\[\&\>\*\:last-child_\[data-timeline-line\]\]\:hidden>:last-child [data-timeline-line]{display:none}.\[\&\>figcaption\]\:border-b>figcaption{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&\>figcaption\]\:border-border>figcaption{border-color:var(--border)}.\[\&\>figcaption\]\:bg-muted\/80>figcaption{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.\[\&\>figcaption\]\:bg-muted\/80>figcaption{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.\[\&\>figcaption\]\:p-3>figcaption{padding:calc(var(--spacing) * 3)}.\[\&\>figcaption\]\:text-xs>figcaption{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>figcaption\]\:font-medium>figcaption{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&\>figcaption\]\:text-foreground>figcaption{color:var(--foreground)}.\[\&\>pre\]\:m-0>pre{margin:0}.\[\&\>pre\]\:overflow-x-auto>pre{overflow-x:auto}.\[\&\>pre\]\:p-4>pre{padding:calc(var(--spacing) * 4)}.\[\&\>svg\]\:hidden>svg{display:none}.\[\&\[data-state\=open\]_svg\]\:rotate-180[data-state=open] svg{rotate:180deg}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes floatY{0%,to{transform:translateY(-4px)}50%{transform:translateY(4px)}}@keyframes pulseSoft{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shake{0%{transform:rotate(0)}15%{transform:rotate(-5deg)}30%{transform:rotate(5deg)}45%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}90%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes swingEven{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes swingOdd{0%,to{transform:rotate(3deg)}50%{transform:rotate(-3deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}:root{--radius:.625rem;--spark-color:#000;--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--spark-color:#fff;--background:#121212;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(5.26802% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4328 31.4532);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@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-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-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}






:root {
  --page-bg: #ececeb;
  --page-fg: #161616;
  --stack-accent: #4f8dff;
  --muted: rgba(22, 22, 22, 0.54);
  --page-top-glow: rgba(255, 255, 255, 0.72);
  --glass-light: #ffffff;
  --glass-dark: #000000;
  --glass-tint: #bbbbbc;
  --glass-reflex-dark: 1;
  --glass-reflex-light: 1;
  --glass-saturation: 150%;
  --dock-size: 54px;
  --dock-gap: 8px;
  --dock-radius: 23.5%;

  /* Case study tokens */
  --case-content-width: min(1120px, calc(100vw - 72px));
  --case-section-gap: 64px;
  --case-media-gap: 12px;
  --case-logo-height: 80px;
  --case-summary-width: 560px;
  --case-gallery-radius: 10px;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 50% 8%, var(--page-top-glow), rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 28%),
    linear-gradient(180deg, #f4f4f3 0%, #efefee 36%, var(--page-bg) 100%);
  color: var(--page-fg);
  font-family: "DM Sans", "Helvetica Neue", "Arial Nova", sans-serif;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  transition:
    background 420ms cubic-bezier(0.22, 1, 0.36, 1),
    color 320ms ease;
}

.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #161616;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  z-index: 100;
  transition: opacity 160ms ease;
}

body[data-theme="dark"] .cursor-dot {
  background: #ffffff;
}

.cursor-dot.is-visible {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  [data-cursor="dot"],
  [data-cursor="dot"] * {
    cursor: none !important;
  }

  .cursor-dot {
    opacity: 0;
  }
}

body[data-theme="dark"] {
  --page-bg: #000000;
  --page-fg: #f5f5f2;
  --stack-accent: #84b6ff;
  --muted: rgba(245, 245, 242, 0.56);
  --page-top-glow: transparent;
  --glass-light: #ffffff;
  --glass-dark: #000000;
  --glass-tint: #bbbbbc;
  --glass-reflex-dark: 2;
  --glass-reflex-light: 0.3;
  --glass-saturation: 150%;
  background: #000000;
}

:where(a) {
  color: inherit;
  text-decoration: none;
}

.page-shell {
  min-height: 100vh;
  min-height: 100svh;
  position: relative;
  overflow: clip;
}

.page-transition {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  will-change: opacity;
  contain: strict;
}

.page-transition.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 4;
  backdrop-filter: blur(22px) saturate(1.6);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
}

.page-transition__svg {
  width: 100%;
  height: 100%;
  display: block;
  transform: translateZ(0);
}

.page-transition__path {
  transform-origin: center bottom;
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
  stroke-linecap: round;
}

body[data-view]:not([data-view="home"]):not([data-view="about"]) {
  --page-bg: #ececeb;
  --page-fg: #161616;
  --muted: rgba(22, 22, 22, 0.54);
  --page-top-glow: rgba(255, 255, 255, 0.72);
  background:
    radial-gradient(circle at 50% 8%, var(--page-top-glow), rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 28%),
    linear-gradient(180deg, #f4f4f3 0%, #efefee 36%, var(--page-bg) 100%);
  transition:
    background 640ms cubic-bezier(0.22, 1, 0.36, 1),
    color 320ms ease;
}

body[data-view]:not([data-view="home"]):not([data-view="about"]) .page-shell,
body[data-view]:not([data-view="home"]):not([data-view="about"]) .project-screen {
  background: transparent;
}

body[data-view]:not([data-view="home"]):not([data-view="about"]) .page-header,
body[data-view]:not([data-view="home"]) .dock {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.page-header {
  display: flex;
  justify-content: center;
  position: fixed;
  top: 40px;
  left: 0;
  right: 0;
  z-index: 3;
  pointer-events: none;
}

.site-switcher {
  --switcher-pad: 3px;
  --switcher-segment-height: 28px;
  --switcher-theme-width: 32px;
  --switcher-play-width: 32px;
  --switcher-audio-gap: 6px;
  --switcher-progress-width: 0px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: var(--switcher-pad);
  border: 1px solid color-mix(in srgb, var(--page-fg) 16%, transparent);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 24%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  pointer-events: auto;
}

.site-switcher.is-audio-expanded {
  --switcher-progress-width: 78px;
}

.site-switcher__button {
  appearance: none;
  border: none;
  background: transparent;
  min-height: var(--switcher-segment-height);
  height: var(--switcher-segment-height);
  padding: 0 10px;
  display: inline-flex;
  position: relative;
  isolation: isolate;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-radius: 999px;
  color: color-mix(in srgb, var(--page-fg) 72%, transparent);
  font-family: inherit;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  z-index: 1;
  transition:
    color 220ms ease,
    background-color 220ms ease;
}

.site-switcher__button:active {
  transform: scale(0.97);
  transition: transform 120ms ease-out;
}

@media (hover: hover) and (pointer: fine) {
  .site-switcher__button:hover {
    color: color-mix(in srgb, var(--page-fg) 92%, transparent);
  }
}

.site-switcher__button:focus-visible {
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
}

.site-switcher__button::after {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 999px;
  background: transparent;
  transition: background-color 220ms ease;
  pointer-events: none;
  z-index: 0;
}

@media (hover: hover) and (pointer: fine) {
  .site-switcher__button:hover::after {
    background: color-mix(in srgb, var(--page-bg) 88%, transparent);
  }
}

.site-switcher__button:focus-visible::after {
  background: color-mix(in srgb, var(--page-bg) 88%, transparent);
}

.site-switcher__theme {
  width: var(--switcher-theme-width);
  min-width: var(--switcher-theme-width);
  padding: 0;
  position: relative;
}

.site-switcher__theme::after {
  inset: 4px;
}

.site-switcher__about {
  padding-inline: 8px;
  text-transform: lowercase;
  position: relative;
  z-index: 2;
}

.site-switcher__about::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  background: color-mix(in srgb, var(--page-fg) 14%, transparent);
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.site-switcher__audio {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: var(--switcher-audio-gap);
  padding-left: calc(var(--switcher-audio-gap) + 2px);
  width: calc(var(--switcher-play-width) + var(--switcher-progress-width) + var(--switcher-audio-gap) + 2px);
  min-width: calc(var(--switcher-play-width) + var(--switcher-progress-width) + var(--switcher-audio-gap) + 2px);
  overflow: hidden;
  transition:
    width 420ms cubic-bezier(0.22, 1, 0.36, 1),
    min-width 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-switcher__audio::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  background: color-mix(in srgb, var(--page-fg) 14%, transparent);
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.site-switcher__label {
  position: relative;
  z-index: 1;
}

.site-switcher__about[aria-current="page"] {
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
}

.site-switcher__about[aria-current="page"]::after {
  background: color-mix(in srgb, var(--page-bg) 92%, transparent);
}

.site-switcher__play {
  width: var(--switcher-play-width);
  min-width: var(--switcher-play-width);
  padding: 0;
  flex: 0 0 var(--switcher-play-width);
}

.site-switcher__play::after {
  inset: 4px;
}

.site-switcher__play-icon {
  width: 14px;
  height: 14px;
  position: absolute;
  z-index: 1;
  color: currentColor;
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-switcher__play-icon--play {
  opacity: 1;
  transform: scale(1) translateX(0);
}

.site-switcher__play-icon--pause {
  opacity: 0;
  transform: scale(0.76) translateX(-2px);
}

.site-switcher.is-audio-playing .site-switcher__play-icon--play {
  opacity: 0;
  transform: scale(0.76) translateX(2px);
}

.site-switcher.is-audio-playing .site-switcher__play-icon--pause {
  opacity: 1;
  transform: scale(1) translateX(0);
}

.site-switcher__progress {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  transform: translateX(8px);
  pointer-events: none;
  cursor: pointer;
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-switcher.is-audio-expanded .site-switcher__progress {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.site-switcher__progress-track {
  position: relative;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--page-fg) 12%, transparent);
}

.site-switcher__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  border-radius: inherit;
  background: color-mix(in srgb, var(--page-fg) 74%, transparent);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 120ms linear;
}

.site-switcher__icon {
  width: 15px;
  height: 15px;
  position: absolute;
  z-index: 1;
  color: currentColor;
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-switcher__icon--sun {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.site-switcher__icon--moon {
  opacity: 0;
  transform: scale(0.72) rotate(-18deg);
}

.site-switcher[data-theme="dark"] .site-switcher__icon--sun {
  opacity: 0;
  transform: scale(0.72) rotate(18deg);
}

.site-switcher[data-theme="dark"] .site-switcher__icon--moon {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.site-switcher__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  white-space: nowrap;
}

.site-switcher__about {
  z-index: 1;
}

.hero {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 24px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.project-screen {
  position: absolute;
  inset: 0;
  overflow-x: clip;
  overflow-y: auto;
  padding: 24px;
  z-index: 1;
  pointer-events: none;
}

.hero__content {
  display: grid;
  justify-items: center;
  justify-self: center;
  width: max-content;
  max-width: 100%;
  gap: 48px;
  transform: translateY(-66px);
  transition:
    opacity 280ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.project-screen__inner {
  width: min(880px, calc(100vw - 48px));
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  justify-items: center;
  gap: 18px;
  text-align: center;
  transform: translateY(-28px) scale(0.98);
  opacity: 0;
  transition:
    opacity 360ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 460ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.project-screen__panel {
  width: 100%;
}

.project-screen__panel.about-screen {
  width: min(516px, 100%);
  display: block;
  margin-inline: auto;
}

.project-screen__panel[hidden] {
  display: none !important;
}

.project-screen__panel--generic {
  width: min(880px, calc(100vw - 48px));
  margin: 0 auto;
  display: grid;
  justify-items: center;
  gap: 18px;
}

.project-screen__back {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--page-fg) 16%, transparent);
  background: transparent;
  padding: 0 12px 0 10px;
  margin: 0;
  min-width: 74px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--page-fg) 72%, transparent);
  font-family: inherit;
  font-size: 0.78rem;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 26%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition:
    color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0ms linear 220ms;
}

.project-screen__back:active {
  transform: scale(0.97);
  transition: transform 120ms ease-out;
}

.project-screen__back--fixed:active {
  transform: translateX(-50%) scale(0.97);
  transition: transform 120ms ease-out;
}

.project-screen__back-icon {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
}

.project-screen__back-label {
  display: block;
}

.project-screen__back--inline {
  --back-shift-x: 0px;
  --back-shift-y: 0px;
  position: relative;
  top: auto;
  left: auto;
  z-index: 1;
  margin-inline: auto;
  justify-self: center;
  transform: none;
}

.project-screen__back--fixed {
  position: fixed;
  top: 56px;
  left: 50%;
  z-index: 5;
  transform: translateX(-50%);
}

.project-screen__back:hover,
.project-screen__back:focus-visible {
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
  border-color: color-mix(in srgb, var(--page-fg) 24%, transparent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, #ffffff 42%, transparent),
    0 6px 20px color-mix(in srgb, #000000 8%, transparent);
  transform: translateY(0);
}

.project-screen__back--fixed:hover,
.project-screen__back--fixed:focus-visible {
  transform: translateX(-50%);
}

body[data-view]:not([data-view="home"]) .project-screen__back {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0ms;
}

body[data-view]:not([data-view="home"]) .project-screen__back--inline {
  transform: none;
}

body[data-view]:not([data-view="home"]) .project-screen__back--fixed {
  transform: translateX(-50%);
}

.project-screen__eyebrow {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--page-fg) 46%, transparent);
}

.project-screen__title {
  margin: 0;
  font-size: clamp(4.2rem, 1.9vw + 2.6rem, 6rem);
  line-height: 0.9;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.project-screen__lede {
  margin: 0;
  width: min(720px, 100%);
  font-size: clamp(1.1rem, 0.45vw + 0.98rem, 1.42rem);
  line-height: 1.2;
  color: color-mix(in srgb, var(--page-fg) 78%, transparent);
}

.project-screen__facts {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 18px;
}

.project-screen__fact {
  display: grid;
  gap: 8px;
}

.project-screen__label {
  font-size: 0.76rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--page-fg) 42%, transparent);
}

.project-screen__value {
  font-size: 1rem;
  line-height: 1.18;
  color: color-mix(in srgb, var(--page-fg) 86%, transparent);
}

.staya-project,
.market-project,
.alrosa-project,
.ddb-project,
.bbdo-project,
.personal-project {
  --case-logo-width: 220px;
  --case-logo-max-height: 92px;
  --case-logo-shift-x: 0px;
  --case-logo-pad-right: 0px;
  width: 100%;
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  padding-bottom: 120px;
}

.staya-project {
  --case-logo-width: 204px;
  --case-logo-max-height: 82px;
  gap: 28px;
  padding-bottom: 120px;
}

.staya-project__video,
.staya-project__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.staya-project__meta-copy {
  margin: -2px 0 0;
  width: min(29rem, 100%);
  font-size: 0.8rem;
  line-height: 1.45;
  color: color-mix(in srgb, var(--page-fg) 76%, transparent);
}

.staya-project__meta-copy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.staya-project__headline-block {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.staya-project__headline {
  margin: 0;
  max-width: min(100%, 20ch);
  font-size: clamp(3.4rem, 3vw + 1.8rem, 5.2rem);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.035em;
  color: color-mix(in srgb, var(--page-fg) 98%, transparent);
  text-wrap: balance;
}

.staya-project__lede {
  margin: 18px 0 0;
  width: min(100%, 58rem);
  font-size: 1rem;
  line-height: 1.5;
  color: color-mix(in srgb, var(--page-fg) 68%, transparent);
}

.staya-project__gallery {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.staya-project__frame {
  min-width: 0;
  background: #e6e4de;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

.staya-project__frame--photo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f2ed;
}

.staya-project__frame--video {
  aspect-ratio: auto;
}

.staya-project__frame--photo-wide {
  aspect-ratio: auto;
}

.staya-project__frame--photo .staya-project__image {
  object-fit: contain;
}

.staya-project__frame--photo-wide .staya-project__image {
  width: 100%;
  height: auto;
}

/* ── Case Gallery — Borderless ───────────────────── */

.case-gallery {
  position: relative;
  width: var(--case-content-width);
  margin: 0 auto;
}

.case-gallery--photos .case-gallery__track {
  aspect-ratio: 4 / 3;
}

/* Slides that need full-image visibility (non-16:9 content) */
.case-gallery--photos .case-gallery__slide,
.case-gallery__slide--contain {
  background: var(--page-bg);
}

.case-gallery--photos .case-gallery__media img,
.case-gallery__slide--contain .case-gallery__media img,
.case-gallery__slide--contain .case-gallery__media video {
  object-fit: contain;
}

.case-gallery__track {
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-radius: var(--case-gallery-radius);
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
}

.case-gallery__track::-webkit-scrollbar {
  display: none;
}

.case-gallery__slide {
  flex: 0 0 100%;
  min-width: 100%;
  scroll-snap-align: start;
  overflow: hidden;
  background: var(--page-bg);
}

.case-gallery__media {
  width: 100%;
  height: 100%;
  display: block;
}

.case-gallery__media img,
.case-gallery__media video,
.case-gallery__media iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border: 0;
}

.case-gallery__controls {
  position: static;
  padding: 10px 16px 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  pointer-events: auto;
}

.case-gallery__nav {
  display: none;
}


.case-gallery__dots {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 6px;
}

.case-gallery__dot {
  position: relative;
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--page-fg) 22%, transparent);
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}

.case-gallery__dot::after {
  content: "";
  position: absolute;
  inset: -18px;
}

.case-gallery__dot.is-active {
  background: color-mix(in srgb, var(--page-fg) 76%, transparent);
  transform: scale(1.25);
}

/* Personal card context: full-bleed, static controls */
.personal-project-card__content > .case-gallery {
  width: auto;
  margin-inline: calc(var(--personal-card-pad) * -1);
  /* Leave 14px at the bottom so the dot row has breathing room */
  margin-bottom: calc(var(--personal-card-pad) * -1 + 14px);
  border-radius: 0;
  aspect-ratio: unset;
  box-shadow: none;
}

.personal-project-card__content > .case-gallery .case-gallery__track {
  height: auto;
  aspect-ratio: unset;
  border-radius: 0;
  box-shadow: none;
}

.personal-project-card__content > .case-gallery .case-gallery__slide {
  height: auto;
}

/* Normalize video slides to 16:9 so mixed-ratio videos render at the same height */
.personal-project-card__content > .case-gallery .case-gallery__slide:has(.personal-project-card__video) {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.personal-project-card__content > .case-gallery .case-gallery__slide:has(.personal-project-card__video) .personal-project-card__media {
  height: 100%;
}

.personal-project-card__content > .case-gallery .personal-project-card__video {
  height: 100%;
  object-fit: cover;
}

.personal-project-card__content > .case-gallery .case-gallery__controls {
  padding: 12px 12px 2px;
}


.personal-project-card__content > .case-gallery .case-gallery__dot {
  background: color-mix(in srgb, var(--page-fg) 28%, transparent);
  transform: none;
}

.personal-project-card__content > .case-gallery .case-gallery__dot.is-active {
  background: color-mix(in srgb, var(--page-fg) 78%, transparent);
  transform: none;
}

/* ─────────────────────────────────────────────────── */

.market-project {
  --case-logo-width: 300px;
  --case-logo-max-height: 78px;
}

.alrosa-project {
  --case-logo-width: 228px;
  --case-logo-max-height: 84px;
}

.ddb-project {
  --case-logo-width: 360px;
  --case-logo-max-height: 84px;
  --case-logo-shift-x: 0px;
  --case-logo-pad-right: 0px;
}

.bbdo-project {
  --case-logo-width: 248px;
  --case-logo-max-height: 84px;
}

.personal-project {
  --case-logo-width: 220px;
  --case-logo-max-height: 84px;
  --personal-card-gap: 28px;
  --personal-card-pad: 28px;
}

.staya-project__hero,
.market-project__hero,
.alrosa-project__hero,
.ddb-project__hero,
.bbdo-project__hero {
  width: min(940px, calc(100vw - 72px));
  margin: 112px auto 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 18px;
  text-align: center;
}

.staya-project__logo,
.market-project__logo,
.alrosa-project__logo,
.ddb-project__logo,
.bbdo-project__logo {
  width: min(var(--case-logo-width), calc(100vw - 40px));
  max-width: 100%;
  max-height: var(--case-logo-height);
  height: auto;
  display: block;
  object-fit: contain;
  padding-right: var(--case-logo-pad-right);
  transform: translateX(var(--case-logo-shift-x));
  box-sizing: content-box;
}

.staya-project__badge,
.market-project__badge,
.alrosa-project__badge,
.ddb-project__badge,
.bbdo-project__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);
  background: color-mix(in srgb, var(--page-bg) 94%, transparent);
  color: color-mix(in srgb, var(--page-fg) 74%, transparent);
  font-size: 0.86rem;
  line-height: 1;
  letter-spacing: 0.01em;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 24%, transparent);
}

.staya-project__years,
.market-project__years,
.alrosa-project__years,
.ddb-project__years,
.bbdo-project__years {
  margin: -4px 0 0;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--page-fg) 52%, transparent);
}

.staya-project__summary,
.market-project__summary,
.alrosa-project__summary,
.ddb-project__summary,
.bbdo-project__summary {
  margin: 0;
  width: min(var(--case-summary-width), 100%);
  font-size: clamp(1.08rem, 0.28vw + 1rem, 1.4rem);
  line-height: 1.28;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
  text-wrap: balance;
}

.ddb-project__media {
  width: min(940px, calc(100vw - 48px));
  margin: 32px auto 0;
  border-radius: 8px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
  content-visibility: auto;
}

.ddb-project__video {
  width: 100%;
  height: auto;
  display: block;
}

.bbdo-project__hero {
  margin-bottom: 30px;
}

.bbdo-project__awards-marquee {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto 36px;
}

.bbdo-project__awards-marquee-viewport {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.bbdo-project__awards-marquee-track {
  display: flex;
  width: max-content;
  animation: bbdo-awards-marquee 26s linear infinite;
}

.bbdo-project__awards-marquee-group {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  padding-right: 22px;
}

.bbdo-project__awards-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--page-fg) 62%, transparent);
}

.bbdo-project__awards-item:not(:last-child)::after {
  content: "•";
  margin: 0 18px;
  color: color-mix(in srgb, var(--page-fg) 28%, transparent);
}

.bbdo-project__selected {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto;
  display: grid;
  gap: 18px;
  content-visibility: auto;
  contain-intrinsic-size: 1600px;
}

.bbdo-project__section-title {
  margin: 0;
  font-size: clamp(1.08rem, 0.44vw + 0.84rem, 1.78rem);
  line-height: 1;
  font-weight: 700;
  color: color-mix(in srgb, var(--page-fg) 96%, transparent);
  text-align: left;
}



.alrosa-project__media-marquee,
.alrosa-project__embed-wrap,
.alrosa-project__feature,
.alrosa-project__single {
  width: min(1120px, calc(100vw - 72px));
  margin: 24px auto;
}

.alrosa-project__feature,
.alrosa-project__single {
  content-visibility: auto;
  contain-intrinsic-size: 1180px;
}

.alrosa-project__media-marquee {
  margin-top: 0;
}

.alrosa-project__media-marquee-viewport {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.alrosa-project__media-marquee-track {
  display: flex;
  width: max-content;
  animation: bbdo-awards-marquee 26s linear infinite;
}

.alrosa-project__media-marquee-group {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  padding-right: 22px;
}

.alrosa-project__media-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--page-fg) 62%, transparent);
}

.alrosa-project__media-item:not(:last-child)::after {
  content: "•";
  margin: 0 18px;
  color: color-mix(in srgb, var(--page-fg) 28%, transparent);
}

.alrosa-project__embed-media {
  width: 100%;
  background: #0c0c0c;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
}

.alrosa-project__embed {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  border: 0;
}

.alrosa-project__section-title {
  margin: 0 0 18px;
  font-size: clamp(1.08rem, 0.44vw + 0.84rem, 1.78rem);
  line-height: 1.15;
  font-weight: 700;
  color: color-mix(in srgb, var(--page-fg) 96%, transparent);
  text-align: center;
}

.alrosa-project__section-title a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}


.alrosa-project__single-media {
  width: min(100%, 960px);
  margin-inline: auto;
  background: #f4f2ed;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
}

.alrosa-project__single-image {
  width: 100%;
  height: auto;
  display: block;
}


@keyframes bbdo-awards-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bbdo-project__awards-marquee-track {
    animation: none;
  }

  /* Текстовые stagger-анимации: только fade, без смещения и blur */
  .words-stagger__word {
    filter: none;
    transform: none;
    transition: opacity 200ms ease;
  }

  /* Слова первой строки: мгновенно видимы */
  .hero__line-copy {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }

  /* Иконка стека: убираем появление и пульсацию */
  .hero__stack-slot,
  .hero__stack-slot::before,
  .hero__stack-slot::after {
    animation: none;
    opacity: 1;
    transform: translateY(0.04em) scale(1);
  }

  /* CTA на странице About: мгновенное появление */
  .about-screen__cta {
    transition: opacity 100ms ease;
  }

  /* Анимация hero-контента: только fade, без сдвига */
  .hero__content {
    transition: opacity 200ms ease;
  }

  /* Переход на project-screen: без масштабирования */
  .project-screen__inner {
    transition: opacity 200ms ease;
    transform: none !important;
  }

  /* Страничный переход: убираем backdrop-blur у overlay */
  .page-transition.is-active {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

.staya-project__media,
.market-project__media,
.alrosa-project__media {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #d7d7d7;
  overflow: clip;
}

.market-project__hero + .market-project__media {
  margin-top: 24px;
}

.market-project__media + section,
section + .market-project__media,
section + section {
  margin-top: var(--case-section-gap);
}

.staya-project__video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.market-project__gif {
  width: 100%;
  height: auto;
  display: block;
}

.alrosa-project__gif {
  width: 100%;
  height: auto;
  display: block;
}

.staya-project__footer,
.market-project__footer,
.alrosa-project__footer,
.ddb-project__footer,
.bbdo-project__footer,
.personal-project__footer {
  width: min(940px, calc(100vw - 72px));
  margin: 42px auto 0;
  display: flex;
  justify-content: center;
}

body[data-view="personal"] .project-screen__back--fixed {
  left: calc(max(36px, (100vw - 1120px) / 2) + var(--personal-card-pad)) !important;
  right: auto;
  transform: none !important;
}

body[data-view="personal"] .project-screen__back--fixed:hover,
body[data-view="personal"] .project-screen__back--fixed:focus-visible {
  transform: none !important;
}

.personal-project__hero {
  width: min(1120px, calc(100vw - 72px));
  margin: 112px auto 64px;
}

.personal-project__intro {
  margin: 0;
  width: calc(100% - (var(--personal-card-pad) * 2));
  max-width: none;
  margin-left: var(--personal-card-pad);
  padding-inline: 0;
  font-size: clamp(1.68rem, 0.91vw + 1.12rem, 2.8rem);
  line-height: 1.14;
  color: color-mix(in srgb, var(--page-fg) 94%, transparent);
  text-wrap: balance;
  text-align: left;
}

.personal-project__footer {
  width: min(1120px, calc(100vw - 72px));
  justify-content: flex-start !important;
}

body[data-view="personal"] .project-screen__back--inline {
  margin-inline: 0 !important;
  justify-self: start !important;
}

.personal-project__cards-section {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto;
}

.personal-project__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--personal-card-gap);
}

.personal-project-card {
  position: static;
  height: auto;
  padding-top: 0;
  perspective: none;
  content-visibility: auto;
  contain-intrinsic-size: 1400px;
}

.personal-project-card__content {
  --personal-card-bg: linear-gradient(180deg, rgba(250, 250, 248, 0.98) 0%, rgba(246, 246, 243, 0.96) 100%);
  --personal-card-border: transparent;
  --personal-card-shadow:
    0 14px 34px -26px rgba(15, 23, 42, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
  --personal-card-media-bg: #0c0c0c;
  position: relative;
  width: 100%;
  height: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding: var(--personal-card-pad);
  border: 1px solid var(--personal-card-border);
  border-radius: 8px;
  background: var(--personal-card-bg);
  box-shadow: var(--personal-card-shadow);
  overflow: hidden;
  transform: none;
}

.personal-project-card--paper .personal-project-card__content {
  --personal-card-bg: linear-gradient(180deg, rgba(249, 249, 246, 0.99) 0%, rgba(244, 244, 240, 0.97) 100%);
  --personal-card-border: transparent;
  --personal-card-shadow:
    0 16px 36px -28px rgba(15, 23, 42, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;
}

.personal-project-card--glass .personal-project-card__content {
  --personal-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(252, 252, 250, 1) 100%);
  --personal-card-border: rgba(236, 236, 232, 1);
  --personal-card-shadow:
    0 22px 56px -34px rgba(15, 23, 42, 0.14),
    0 8px 18px -16px rgba(15, 23, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: hidden;
}

.personal-project-card--glass .personal-project-card__copy {
  width: 100%;
  margin-inline: 0;
  justify-items: start;
  text-align: left;
}

.personal-project-card--glass .personal-project-card__title,
.personal-project-card--glass .personal-project-card__description {
  text-align: left;
}

.personal-project-card--glass .personal-project-card__description {
  max-width: 40rem;
}

.personal-project-card--sheet .personal-project-card__content {
  --personal-card-bg: transparent;
  --personal-card-border: transparent;
  --personal-card-shadow: none;
  padding: 0;
  gap: 18px;
  overflow: visible;
}

.personal-project-card__copy {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: 0 8px 4px;
  text-align: center;
}

.personal-project-card__badge,
.personal-project-card__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--page-fg) 14%, transparent);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.66rem;
  line-height: 1;
  color: color-mix(in srgb, var(--page-fg) 72%, transparent);
  letter-spacing: 0.01em;
}

.personal-project-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

.personal-project-card__index {
  width: 44px;
  height: 44px;
  padding: 0;
  font-size: 0.92rem;
}

.personal-project-card__title {
  margin: 0;
  font-size: clamp(1.02rem, 0.42vw + 0.76rem, 1.75rem);
  line-height: 1;
  font-weight: 700;
  color: color-mix(in srgb, var(--page-fg) 96%, transparent);
  text-wrap: balance;
}

.personal-project-card__subhead {
  margin: 4px 0 0;
  width: 100%;
  font-size: clamp(0.86rem, 0.22vw + 0.78rem, 1.08rem);
  line-height: 1.2;
  font-weight: 700;
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
  text-align: left;
}

.personal-project-card__description {
  margin: 0;
  max-width: 31rem;
  font-size: clamp(0.78rem, 0.18vw + 0.74rem, 0.92rem);
  line-height: 1.45;
  color: color-mix(in srgb, var(--page-fg) 78%, transparent);
  text-align: center;
}

.personal-project-card__description a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.personal-project-card__media {
  min-width: 0;
  height: auto;
  display: block;
  overflow: clip;
  background: var(--personal-card-media-bg);
}

.personal-project-card__content > .personal-project-card__media {
  margin-inline: calc(var(--personal-card-pad) * -1);
  margin-bottom: calc(var(--personal-card-pad) * -1);
}

.personal-project-card--paper .personal-project-card__media {
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
}

.personal-project-card--glass .personal-project-card__media {
  width: 100%;
  margin-inline: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.22);
}

.personal-project-card--sheet .personal-project-card__copy {
  max-width: 40rem;
  margin-inline: auto;
  padding: 0;
}

.personal-project-card--sheet .personal-project-card__media {
  border-radius: 8px;
  box-shadow: 0 24px 56px -40px rgba(15, 23, 42, 0.24);
}

.personal-project-card__video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.personal-project-card__embed {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  border: 0;
}

.personal-project-card__media--image {
  display: flex;
  justify-content: center;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.personal-project-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin-inline: auto;
}

.personal-project-card--sber .personal-project-card__media {
  background: #0c0c0c;
}

.personal-project-card--sber .personal-project-card__media--image {
  padding: 34px;
  align-items: center;
  justify-content: center;
  background: #f4f2ed;
  aspect-ratio: 16 / 9;
}

.personal-project-card--sber .personal-project-card__image {
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.personal-project-card--sber .personal-project-card__embed {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.personal-project-card--viral .personal-project-card__media--image {
  align-items: center;
  aspect-ratio: 16 / 10;
  background: #f6f5f2;
}

.personal-project-card--viral .personal-project-card__image {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}

.personal-project-card--viral .personal-project-card__media--contain .personal-project-card__image {
  object-fit: contain;
}

/* Ride Media card: full-bleed 16:9 photo on all breakpoints */
.personal-project-card--ride .personal-project-card__media--image {
  aspect-ratio: 16 / 9;
  background: #0c0c0c;
}

.personal-project-card--ride .personal-project-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__identity {
  display: grid;
  justify-items: center;
  gap: 16px;
}

.hero__avatar-stack {
  position: relative;
  width: 125px;
  height: 125px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.hero__avatar {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 220ms ease;
}

body:not([data-theme]) .hero__avatar--light,
body[data-theme="light"] .hero__avatar--light {
  opacity: 1;
}

body[data-theme="dark"] .hero__avatar--dark {
  opacity: 1;
}

.avatar-bubble {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  pointer-events: none;
  z-index: 10;
  margin-bottom: 8px;
  opacity: 0;
  visibility: hidden;
}

.avatar-bubble.is-active {
  visibility: visible;
}

@media (max-width: 480px) {
  .avatar-bubble {
    bottom: auto;
    top: 100%;
    margin-bottom: 0;
    margin-top: 8px;
  }
}

.avatar-bubble__content {
  background: var(--color-bubble-bg);
  color: var(--color-bubble-text);
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: relative;
  letter-spacing: -0.3px;
}

.avatar-bubble__tail {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--color-bubble-bg);
}

body:not([data-theme]) .avatar-bubble__content,
body[data-theme="light"] .avatar-bubble__content {
  --color-bubble-bg: #f0f0f0;
  --color-bubble-text: #1a1a1a;
}

body[data-theme="dark"] .avatar-bubble__content {
  --color-bubble-bg: #2a2a2a;
  --color-bubble-text: #ffffff;
}

.hero__name {
  margin: 0;
  font-family: "Astoria", "Outfit", "DM Sans", sans-serif;
  font-size: 38px;
  line-height: 1.1;
  font-weight: 400;
}

.hero__title {
  margin: 0;
  display: grid;
  justify-items: center;
  justify-self: center;
  width: min(680px, calc(100vw - 48px));
  max-width: 100%;
  gap: 0;
  font-size: 1.12rem;
  line-height: 1.45;
  letter-spacing: normal;
  font-weight: 400;
  text-align: center;
}

.hero__line {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}

.hero__line--with-stack {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.12em;
}

.hero__line-copy {
  display: inline-block;
  opacity: 0;
  filter: blur(4px);
  transform: translateY(0.4em);
  animation: hero-word-appear 480ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hero__line--with-stack .hero__line-copy:first-child {
  animation-delay: 80ms;
}

.hero__line--with-stack .hero__line-copy:last-child {
  animation-delay: 220ms;
}

.hero__stack-slot {
  width: 1.08em;
  height: 0.92em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  opacity: 0;
  transform: translateY(-0.5em) scale(0.82);
  animation:
    hero-stack-appear 500ms cubic-bezier(0.22, 1, 0.36, 1) 720ms forwards,
    hero-stack-pulse 3.2s ease-in-out 1380ms infinite;
  position: relative;
  isolation: isolate;
  cursor: pointer;
  outline: none;
}

.hero__stack-icon {
  width: 0.92em;
  height: 0.92em;
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
  pointer-events: none;
}

body[data-theme="dark"] .hero__stack-icon {
  filter: brightness(0) saturate(100%) invert(1);
}

.hero__stack-slot:focus-visible {
  border-radius: 0.28em;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--page-fg) 22%, transparent);
}

.hero__skill-burst {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.hero__skill-pill {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px 10px;
  border-radius: 999px;
  background: var(--skill-pill-bg, rgba(255, 255, 255, 0.84));
  border: 1px solid color-mix(in srgb, var(--skill-pill-ink, var(--page-fg)) 12%, transparent);
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--skill-pill-shadow, rgba(0, 0, 0, 0.16)) 100%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.54);
  color: var(--skill-pill-ink, #1a1a1a);
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  will-change: transform, opacity;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.hero__skill-pill::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--skill-pill-ink, #1a1a1a) 82%, white 18%);
  flex: 0 0 auto;
}

.hero__mobile-apps {
  display: none;
}

.hero__mobile-app {
  color: inherit;
  text-decoration: none;
}

body[data-view]:not([data-view="home"]) .hero {
  pointer-events: none;
  visibility: hidden;
}

body[data-view]:not([data-view="home"]) .hero__content {
  opacity: 0;
  transform: translateY(-4px) scale(0.995);
}

body[data-view]:not([data-view="home"]) .project-screen {
  pointer-events: auto;
}

body[data-view]:not([data-view="home"]) .project-screen__inner {
  opacity: 1;
  transform: translateY(-28px) scale(1);
}

body[data-view]:not([data-view="home"]):not([data-view="about"]) .project-screen {
  background: transparent;
}

.project-screen[data-layout="case-study"] .project-screen__inner {
  width: 100%;
  max-width: none;
  min-height: auto;
  align-content: start;
  gap: 0;
  transform: none;
}

.project-screen[data-layout="about"] .project-screen__inner {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transform: none;
  padding: 156px 24px 88px;
  text-align: left;
}

body[data-view="staya"] .project-screen,
body[data-view="alrosa"] .project-screen,
body[data-view="ddb"] .project-screen,
body[data-view="bbdo"] .project-screen,
body[data-view="personal"] .project-screen,
body[data-view="aidev"] .project-screen,
body[data-view="yandex"] .project-screen,
body[data-view="mop"] .project-screen,
body[data-view="scouts"] .project-screen {
  padding: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

body[data-view="about"] .page-shell {
  height: 100vh;
  height: 100svh;
}

body[data-view="about"] .project-screen {
  padding: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

body[data-view="staya"] .project-screen__back,
body[data-view="alrosa"] .project-screen__back,
body[data-view="ddb"] .project-screen__back,
body[data-view="bbdo"] .project-screen__back,
body[data-view="personal"] .project-screen__back,
body[data-view="aidev"] .project-screen__back,
body[data-view="yandex"] .project-screen__back,
body[data-view="mop"] .project-screen__back,
body[data-view="scouts"] .project-screen__back {
  color: color-mix(in srgb, var(--page-fg) 70%, transparent);
}

.about-screen {
  width: min(516px, calc(100vw - 48px));
  margin: 0 auto;
}

.project-screen[data-layout="about"] .project-screen__inner > .about-screen {
  margin-inline: auto;
}

.about-screen__cta {
  margin-top: 1.36em;
  display: flex;
  flex-direction: column;
  gap: 1em;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms cubic-bezier(0.16, 1, 0.3, 1);
}

.about-screen__copy.is-revealed ~ .about-screen__cta {
  opacity: 1;
  pointer-events: auto;
}

.about-screen__cta-label {
  margin: 0;
  font-size: clamp(0.9rem, 0.08vw + 0.88rem, 0.98rem);
  line-height: 1.4;
  color: color-mix(in srgb, var(--page-fg) 56%, transparent);
}

.about-screen__cta-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.about-screen__cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: color-mix(in srgb, var(--page-fg) 56%, transparent);
  font-size: clamp(0.9rem, 0.08vw + 0.88rem, 0.98rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .about-screen__cta-badge:hover {
    color: color-mix(in srgb, var(--page-fg) 94%, transparent);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

.about-screen__cta-badge:focus-visible {
  color: color-mix(in srgb, var(--page-fg) 94%, transparent);
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}

.about-screen__cta-badge-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  opacity: 0.7;
}

.about-screen__inner {
  width: 100%;
}

.about-screen__copy {
  position: relative;
  width: 100%;
  color: color-mix(in srgb, var(--page-fg) 94%, transparent);
  text-align: left;
}

.about-screen__paragraph {
  margin: 0;
  max-width: 100%;
  font-size: clamp(1.02rem, 0.08vw + 1rem, 1.1rem);
  line-height: 1.55;
  letter-spacing: -0.012em;
  text-wrap: pretty;
}

.about-screen__paragraph + .about-screen__paragraph {
  margin-top: 1.36em;
}

.about-screen__paragraph a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
  transition: text-decoration-color 160ms ease;
}

.about-screen__paragraph a:hover {
  text-decoration-color: currentColor;
}

.about-screen__paragraph--lead {
  font-size: clamp(1.02rem, 0.08vw + 1rem, 1.1rem);
  line-height: 1.45;
  letter-spacing: -0.012em;
}

.about-screen__type-line {
  position: relative;
  display: block;
  inline-size: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  will-change: inline-size;
}

.about-screen__copy.is-typing .about-screen__type-line {
  animation: about-typing-line var(--duration, 1s) steps(var(--chars, 20)) both var(--delay, 0s);
}

.about-screen__copy.is-revealed .about-screen__type-line {
  inline-size: var(--target-width, auto);
}

body[data-view="about"] {
  background: var(--page-bg);
  color: var(--page-fg);
}

body[data-view="about"] .page-shell,
body[data-view="about"] .project-screen {
  background: transparent;
}

.glass-switcher__defs {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

.glass-switcher {
  --glass-bg: transparent;
  --glass-stroke: color-mix(in srgb, var(--page-fg) 18%, transparent);
  --glass-pill: color-mix(in srgb, var(--page-bg) 98%, var(--page-fg) 2%);
  --switcher-pill-inset: 4px;
  --switcher-pill-width: calc((100% - 16px) / 3);
  --switcher-pill-x: 0px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 3px;
  width: 144px;
  height: 30px;
  margin: 0;
  padding: 4px;
  pointer-events: auto;
  border: none;
  border-radius: 999px;
  overflow: hidden;
  isolation: isolate;
  background: var(--glass-bg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: inset 0 0 0 1px var(--glass-stroke);
}

.glass-switcher::after {
  content: "";
  position: absolute;
  left: var(--switcher-pill-inset);
  top: var(--switcher-pill-inset);
  width: var(--switcher-pill-width);
  height: calc(100% - 8px);
  border-radius: 999px;
  z-index: 0;
  pointer-events: none;
  background: var(--glass-pill);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--page-fg) 8%, transparent),
    0 2px 6px 0 rgba(0, 0, 0, 0.08);
  transform: translateX(var(--switcher-pill-x));
  transition:
    transform 320ms cubic-bezier(1, 0, 0.4, 1),
    background-color 220ms ease,
    box-shadow 220ms ease;
}

.glass-switcher__legend,
.glass-switcher__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  white-space: nowrap;
}

.glass-switcher__option {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  height: 100%;
  border-radius: 999px;
  cursor: pointer;
}

.glass-switcher__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  white-space: nowrap;
}

.glass-switcher__icon {
  width: 10px;
  height: 10px;
  color: color-mix(in srgb, var(--page-fg) 56%, transparent);
  transition:
    color 220ms ease,
    transform 220ms ease;
}

.glass-switcher__option:hover .glass-switcher__icon,
.glass-switcher__option:focus-within .glass-switcher__icon {
  color: color-mix(in srgb, var(--page-fg) 84%, transparent);
  transform: scale(1.08);
}

.glass-switcher[data-theme="light"] .glass-switcher__option[data-theme-option="light"] .glass-switcher__icon,
.glass-switcher[data-theme="dark"] .glass-switcher__option[data-theme-option="dark"] .glass-switcher__icon {
  color: color-mix(in srgb, var(--page-fg) 92%, transparent);
  transform: none;
}

.glass-switcher__text {
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  font-weight: 400;
  transition: none;
  transform: none;
  color: transparent;
}

.words-stagger {
  display: block;
  min-height: 1.05em;
}

.words-stagger__word {
  display: inline-block;
  opacity: 0;
  filter: blur(4px);
  transform: translateY(0.4em);
  will-change: opacity, transform, filter;
  transition:
    opacity 480ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 480ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 480ms cubic-bezier(0.16, 1, 0.3, 1);
}

.words-stagger__word + .words-stagger__word {
  margin-left: 0;
}

.words-stagger__word.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

.dock {
  position: fixed;
  left: 50%;
  bottom: 102px;
  transform: translateX(-50%);
  z-index: 2;
}

.dock__glass {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  margin-inline: 0;
  border-radius: 22px;
  background-color: color-mix(in srgb, var(--glass-tint) 15%, rgba(255, 255, 255, 0.16));
  backdrop-filter: blur(10px) url(#glass-switcher-filter) saturate(var(--glass-saturation));
  -webkit-backdrop-filter: blur(10px) saturate(var(--glass-saturation));
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--glass-light) calc(var(--glass-reflex-light) * 12%), transparent),
    inset 1.6px 2.4px 0 -1.6px color-mix(in srgb, var(--glass-light) calc(var(--glass-reflex-light) * 82%), transparent),
    inset -1.4px -1.8px 0 -1.4px color-mix(in srgb, var(--glass-light) calc(var(--glass-reflex-light) * 66%), transparent),
    inset -2px -5px 1px -4px color-mix(in srgb, var(--glass-light) calc(var(--glass-reflex-light) * 42%), transparent),
    inset -0.4px -1px 4px 0 color-mix(in srgb, var(--glass-dark) calc(var(--glass-reflex-dark) * 12%), transparent),
    inset 0 2px 3px -1px color-mix(in srgb, var(--glass-dark) calc(var(--glass-reflex-dark) * 16%), transparent),
    0 12px 28px 0 color-mix(in srgb, var(--glass-dark) calc(var(--glass-reflex-dark) * 10%), transparent);
}

.dock__glass::before {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--glass-light) calc(var(--glass-reflex-light) * 54%), transparent),
    inset 0 -1px 0 color-mix(in srgb, var(--glass-dark) calc(var(--glass-reflex-dark) * 6%), transparent);
  opacity: 0.62;
}

.dock__track {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  height: var(--dock-size);
  position: relative;
  z-index: 1;
}

.dock__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--dock-size);
  height: var(--dock-size);
  transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.dock__divider {
  width: 8px;
  height: calc(var(--dock-size) * 0.78);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  pointer-events: none;
}

.dock__divider-line {
  width: 1px;
  height: 100%;
  border-radius: 999px;
  background: color-mix(in srgb, var(--page-fg) 30%, transparent);
  box-shadow: 1px 0 0 color-mix(in srgb, #ffffff 32%, transparent);
  opacity: 1;
}

.nav-item.hover {
  width: calc(var(--dock-size) * 1.24);
}

.nav-item.sibling-close {
  width: calc(var(--dock-size) * 1.12);
}

.nav-item.sibling-far {
  width: calc(var(--dock-size) * 1.04);
}

.dock__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  outline: none;
}

.dock__link[aria-current="page"] .dock__tile {
  filter: saturate(1.04) brightness(1.02);
}

.dock__label {
  position: absolute;
  bottom: calc(100% + 18px);
  padding: 6px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--page-fg) 88%, transparent);
  color: color-mix(in srgb, var(--page-bg) 96%, white);
  font-size: 0.7rem;
  line-height: 1;
  letter-spacing: 0.01em;
  font-weight: 400;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  will-change: opacity, transform;
  transition:
    opacity 150ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 150ms cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-item:hover .dock__label,
.nav-item:focus-within .dock__label {
  opacity: 1;
  transform: translateY(-8px);
}

.dock__tile {
  width: var(--dock-size);
  height: var(--dock-size);
  display: block;
  transition: filter 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .dock__link:hover .dock__tile {
    filter: saturate(1.06) brightness(1.02);
  }
}

.dock__link:focus-visible .dock__tile {
  filter: saturate(1.06) brightness(1.02);
}

.dock__link:active .dock__tile {
  transform: scale(0.93);
  transition: transform 120ms ease-out;
}

.dock__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  transform: none;
  transform-origin: center;
}

@keyframes fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-word-appear {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@keyframes hero-stack-appear {
  0% {
    opacity: 0;
    transform: translateY(-0.5em) scale(0.82);
  }

  100% {
    opacity: 1;
    transform: translateY(0.04em) scale(1);
  }
}

@keyframes hero-stack-pulse {
  0%,
  100% {
    transform: translateY(0.04em) scale(1);
  }

  35% {
    transform: translateY(0.01em) scale(1.08);
  }

  70% {
    transform: translateY(0.06em) scale(0.98);
  }
}

@keyframes about-typing-line {
  from {
    inline-size: 0;
  }

  to {
    inline-size: var(--target-width, 100%);
  }
}

@media (max-width: 900px) {
  .page-header {
    top: 28px;
  }

  .site-switcher {
    --switcher-segment-height: 26px;
    --switcher-theme-width: 30px;
    --switcher-play-width: 30px;
    --switcher-audio-gap: 5px;
  }

  .site-switcher.is-audio-expanded {
    --switcher-progress-width: 68px;
  }

  .site-switcher__button {
    font-size: 0.76rem;
  }

  .hero {
    min-height: 100vh;
    min-height: 100svh;
    padding: 22px;
  }

  .hero__content {
    gap: 38px;
    transform: translateY(-48px);
  }

  .hero__avatar-stack {
    width: 105px;
    height: 105px;
  }

  .hero__name {
    font-size: 34px;
  }

  .hero__title {
    font-size: 1rem;
    line-height: 1.45;
  }

  .hero__skill-pill {
    padding: 8px 12px 9px;
    font-size: 0.76rem;
  }

  .hero__skill-pill::before {
    width: 6px;
    height: 6px;
    margin-right: 7px;
  }

  .project-screen__inner {
    width: min(700px, calc(100vw - 44px));
    gap: 16px;
    transform: translateY(-18px) scale(0.98);
  }

  .project-screen__title {
    font-size: clamp(3.2rem, 1.7vw + 2.2rem, 4.4rem);
  }

  .project-screen__lede {
    font-size: 1.04rem;
  }

  .project-screen__facts {
    gap: 16px;
    margin-top: 10px;
  }

  body[data-view]:not([data-view="home"]) .project-screen__inner {
    transform: translateY(-18px) scale(1);
  }

  .project-screen[data-layout="case-study"] .project-screen__inner {
    width: 100%;
    transform: none;
  }

  .project-screen[data-layout="about"] .project-screen__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 142px 22px 72px;
    padding-bottom: 72px;
  }

  .about-screen {
    width: min(492px, 100%);
  }

  .about-screen__copy {
    width: 100%;
  }

  .about-screen__paragraph {
    font-size: 1rem;
  }

  .about-screen__paragraph--lead {
    font-size: 1rem;
  }

  .staya-project__hero,
  .market-project__hero,
  .alrosa-project__hero,
  .ddb-project__hero {
    width: min(760px, calc(100vw - 48px));
    margin: 96px auto 52px;
    gap: 16px;
  }

  .bbdo-project__hero {
    width: min(760px, calc(100vw - 48px));
    margin: 96px auto 52px;
    gap: 16px;
  }

  .staya-project__logo {
    width: clamp(88px, 9.8vw, 116px);
  }

  .market-project__logo {
    width: clamp(198px, 26vw, 296px);
  }

  .staya-project__badge,
  .market-project__badge,
  .alrosa-project__badge,
  .ddb-project__badge,
  .bbdo-project__badge {
    min-height: 32px;
    padding-inline: 13px;
    font-size: 0.82rem;
  }

  .staya-project__years,
  .market-project__years,
  .alrosa-project__years,
  .ddb-project__years,
  .bbdo-project__years {
    font-size: 0.76rem;
  }

  .staya-project__summary,
  .market-project__summary,
  .alrosa-project__summary,
  .ddb-project__summary,
  .bbdo-project__summary {
    width: min(var(--case-summary-width), 100%);
    font-size: clamp(1rem, 0.26vw + 0.96rem, 1.22rem);
  }

  .staya-project__media,
  .market-project__media,
  .alrosa-project__media {
    height: auto;
  }

  .staya-project__footer,
  .market-project__footer,
  .alrosa-project__footer,
  .ddb-project__footer,
  .bbdo-project__footer,
  .personal-project__footer {
    width: min(760px, calc(100vw - 48px));
    margin-top: 34px;
  }

  .bbdo-project__awards-marquee,
  .bbdo-project__selected {
    width: min(760px, calc(100vw - 48px));
  }

  .bbdo-project__awards-marquee {
    margin-bottom: 32px;
  }

  .alrosa-project__media-marquee,
  .alrosa-project__embed-wrap,
  .alrosa-project__feature,
  .alrosa-project__single {
    width: min(760px, calc(100vw - 48px));
  }

  .staya-project {
    gap: 24px;
    padding-bottom: 112px;
  }

  .staya-project__gallery {
    width: min(760px, calc(100vw - 48px));
    gap: 9px;
  }

  .staya-project__headline-block {
    width: min(760px, calc(100vw - 48px));
  }

  .personal-project__hero {
    width: min(100%, calc(100vw - 48px));
    margin: 96px auto 52px;
  }

  body[data-view="personal"] .project-screen__back--fixed {
    left: calc(24px + var(--personal-card-pad)) !important;
  }

  body[data-view="aidev"] .project-screen__back--fixed {
    left: calc(24px + var(--aidev-card-pad)) !important;
  }

  .personal-project__intro {
    width: calc(100% - (var(--personal-card-pad) * 2));
    max-width: none;
    margin-left: var(--personal-card-pad);
    padding-inline: 0;
    font-size: clamp(1.33rem, 0.63vw + 0.91rem, 1.96rem);
    line-height: 1.16;
  }

  .personal-project__cards-section {
    width: min(100%, calc(100vw - 48px));
  }

  .personal-project {
    --personal-card-gap: 24px;
    --personal-card-pad: 22px;
  }

  .personal-project-card__content {
    gap: 20px;
    padding: var(--personal-card-pad);
  }

  .personal-project-card--sheet .personal-project-card__content {
    padding: 0;
    gap: 16px;
  }

  .personal-project-card__copy {
    align-content: start;
    padding: 0;
  }

  .personal-project-card__title {
    max-width: 22ch;
    font-size: clamp(0.92rem, 0.39vw + 0.72rem, 1.37rem);
  }

  .alrosa-project__logo {
    width: clamp(152px, 18vw, 228px);
  }

  .ddb-project__logo {
    width: clamp(244px, 30vw, 348px);
    max-width: calc(100% - 24px);
    padding-right: 22px;
    transform: translateX(-7px);
  }

  .bbdo-project__logo {
    width: clamp(166px, 18vw, 244px);
  }

  .staya-project {
    --case-logo-width: 165px;
    --case-logo-max-height: 68px;
  }

  .market-project {
    --case-logo-width: 296px;
    --case-logo-max-height: 70px;
  }

  .alrosa-project {
    --case-logo-width: 228px;
    --case-logo-max-height: 72px;
  }

  .ddb-project {
    --case-logo-width: 334px;
    --case-logo-max-height: 72px;
    --case-logo-shift-x: 0px;
    --case-logo-pad-right: 0px;
  }

  .bbdo-project {
    --case-logo-width: 244px;
    --case-logo-max-height: 72px;
  }

  .staya-project__logo,
  .market-project__logo,
  .alrosa-project__logo,
  .ddb-project__logo,
  .bbdo-project__logo {
    width: min(var(--case-logo-width), calc(100vw - 40px));
    max-height: var(--case-logo-max-height);
    padding-right: var(--case-logo-pad-right);
    transform: translateX(var(--case-logo-shift-x));
  }
}

@media (max-width: 640px) {
  :root {
    --dock-size: 28px;
    --dock-gap: 5px;
    --dock-radius: 23.5%;
  }

  .page-header__link {
    font-size: 0.82rem;
  }

  .page-header {
    top: 24px;
  }

  .site-switcher {
    --switcher-pad: 3px;
    --switcher-segment-height: 24px;
    --switcher-theme-width: 28px;
    --switcher-play-width: 28px;
    --switcher-audio-gap: 4px;
  }

  .site-switcher.is-audio-expanded {
    --switcher-progress-width: 58px;
  }

  .site-switcher__button {
    padding-inline: 8px;
    font-size: 0.74rem;
  }

  .site-switcher__about {
    padding-inline: 7px;
  }

  .site-switcher__icon {
    width: 13px;
    height: 13px;
  }

  .glass-switcher {
    --switcher-pill-inset: 3px;
    width: 118px;
    height: 26px;
    padding: 3px;
  }

  .glass-switcher::after {
    height: calc(100% - 6px);
  }

  .glass-switcher__icon {
    width: 9px;
    height: 9px;
  }

  .hero {
    min-height: 100svh;
    place-items: start center;
    padding: 136px 20px 30px;
  }

  .hero__content {
    width: min(100%, 344px);
    gap: 14px;
    transform: none;
  }

  .hero__identity {
    gap: 6px;
  }

  .hero__avatar-stack {
    width: 75px;
    height: 75px;
  }

  .hero__name {
    font-size: 32px;
    color: color-mix(in srgb, var(--page-fg) 74%, transparent);
  }

  .hero__title {
    margin-top: 14px;
    width: 100%;
    font-size: 0.88rem;
    line-height: 1.45;
    letter-spacing: -0.01em;
  }

  .hero__line--with-stack {
    gap: 0.08em;
  }

  .hero__mobile-apps {
    width: min(100%, 356px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    justify-items: center;
    align-items: start;
    gap: 12px 8px;
    margin-top: 48px;
  }

  .hero__mobile-app {
    width: 100%;
    display: grid;
    justify-items: center;
    gap: 6px;
    outline: none;
  }

  .hero__mobile-app-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 22%;
    overflow: hidden;
    background: color-mix(in srgb, var(--page-bg) 96%, white 4%);
    box-shadow:
      0 12px 24px rgba(15, 23, 42, 0.07),
      0 2px 5px rgba(15, 23, 42, 0.05),
      inset 0 1px 0 rgba(255, 255, 255, 0.42),
      inset 0 0 0 1px rgba(15, 23, 42, 0.04);
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .hero__mobile-app-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .hero__mobile-app-label {
    display: block;
    max-width: 100%;
    font-size: 0.68rem;
    line-height: 1.15;
    text-align: center;
    color: color-mix(in srgb, var(--page-fg) 72%, transparent);
    text-wrap: balance;
  }

  .hero__mobile-app:focus-visible .hero__mobile-app-icon,
  .hero__mobile-app[aria-current="page"] .hero__mobile-app-icon {
    transform: translateY(-1px) scale(1.03);
    box-shadow:
      0 14px 28px rgba(15, 23, 42, 0.09),
      0 3px 8px rgba(15, 23, 42, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.5),
      inset 0 0 0 1px rgba(15, 23, 42, 0.05);
  }

  .hero__mobile-app[aria-current="page"] .hero__mobile-app-label {
    color: color-mix(in srgb, var(--page-fg) 94%, transparent);
  }

  body[data-theme="dark"] .hero__mobile-app-icon {
    background: linear-gradient(180deg, rgba(34, 34, 38, 0.92), rgba(16, 16, 19, 0.96));
    box-shadow:
      0 18px 30px rgba(0, 0, 0, 0.34),
      0 4px 10px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  }

  body[data-theme="dark"] .hero__mobile-app:focus-visible .hero__mobile-app-icon,
  body[data-theme="dark"] .hero__mobile-app[aria-current="page"] .hero__mobile-app-icon {
    box-shadow:
      0 20px 34px rgba(0, 0, 0, 0.4),
      0 5px 12px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  }

  .hero__skill-pill {
    padding: 7px 11px 8px;
    font-size: 0.72rem;
  }

  .hero__skill-pill::before {
    width: 5px;
    height: 5px;
    margin-right: 6px;
  }

  .project-screen {
    padding: 20px;
  }

  .project-screen__inner {
    width: min(100%, 360px);
    gap: 14px;
    transform: translateY(-8px) scale(0.98);
  }

  .project-screen__back {
    min-width: 68px;
    height: 28px;
    padding: 0 10px 0 9px;
    gap: 5px;
    font-size: 0.74rem;
  }

  .project-screen__back-icon {
    width: 10px;
    height: 10px;
  }

  .project-screen__back--fixed {
    top: 34px;
  }

  .project-screen__eyebrow {
    font-size: 0.72rem;
  }

  .project-screen__title {
    font-size: clamp(2.4rem, 7vw + 0.6rem, 3.2rem);
    line-height: 0.94;
  }

  .project-screen__lede {
    font-size: 0.95rem;
    line-height: 1.22;
  }

  .project-screen__facts {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 8px;
  }

  .project-screen__fact {
    gap: 6px;
  }

  .project-screen__value {
    font-size: 0.94rem;
  }

  body[data-view]:not([data-view="home"]) .project-screen__inner {
    transform: translateY(-8px) scale(1);
  }

  .project-screen[data-layout="case-study"] {
    padding: 0 0 20px;
  }

  .project-screen[data-layout="case-study"] .project-screen__inner {
    width: 100%;
    min-height: 100svh;
    transform: none;
  }

  .project-screen[data-layout="about"] .project-screen__inner {
    width: 100%;
    max-width: 100%;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 118px 32px 52px;
    text-align: left;
  }

  .about-screen {
    width: min(100%, 29rem);
  }

  .project-screen__panel.about-screen {
    width: min(100%, 29rem);
    margin-inline: auto;
  }

  .about-screen__copy {
    width: 100%;
  }

  .about-screen__paragraph {
    max-width: 100%;
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .about-screen__paragraph + .about-screen__paragraph {
    margin-top: 1.24em;
  }

  .about-screen__paragraph--lead {
    font-size: 0.98rem;
    line-height: 1.45;
  }

  .staya-project__hero,
  .market-project__hero,
  .alrosa-project__hero,
  .ddb-project__hero,
  .bbdo-project__hero {
    width: min(100%, calc(100vw - 28px));
    margin: 74px auto 28px;
    gap: 14px;
  }

  .staya-project__logo {
    width: min(76px, 21.7vw);
  }

  .market-project__logo {
    width: min(208px, 62vw);
  }

  .staya-project__badge,
  .market-project__badge,
  .alrosa-project__badge,
  .ddb-project__badge,
  .bbdo-project__badge {
    min-height: 30px;
    padding-inline: 12px;
    border-radius: 11px;
    font-size: 0.76rem;
  }

  .staya-project__years,
  .market-project__years,
  .alrosa-project__years,
  .ddb-project__years,
  .bbdo-project__years {
    font-size: 0.7rem;
  }

  .staya-project__summary,
  .market-project__summary,
  .alrosa-project__summary,
  .ddb-project__summary,
  .bbdo-project__summary {
    width: min(100%, 31rem);
    font-size: 0.94rem;
    line-height: 1.3;
  }

  .staya-project__media,
  .market-project__media,
  .alrosa-project__media {
    height: auto;
    aspect-ratio: auto;
  }

  .staya-project,
  .market-project,
  .alrosa-project,
  .ddb-project,
  .bbdo-project,
  .personal-project {
    padding-bottom: 88px;
  }

  .staya-project__footer,
  .market-project__footer,
  .alrosa-project__footer,
  .ddb-project__footer,
  .bbdo-project__footer,
  .personal-project__footer {
    width: min(100%, calc(100vw - 28px));
    margin: 28px auto 0;
  }

  .bbdo-project__awards-marquee,
  .bbdo-project__selected {
    width: min(100%, calc(100vw - 28px));
    margin: 0 auto;
  }

  .bbdo-project__awards-marquee {
    margin-bottom: 24px;
  }

  .market-project__hero + .market-project__media {
    margin-top: 18px;
  }

  .alrosa-project__media-marquee,
  .alrosa-project__embed-wrap,
  .alrosa-project__feature,
  .alrosa-project__single {
    width: min(100%, calc(100vw - 28px));
    margin: 18px auto;
  }

  .alrosa-project__embed-media {
    border-radius: 0;
  }

  .staya-project {
    gap: 20px;
    padding-bottom: 88px;
  }

  .staya-project__summary,
  .staya-project__meta-copy,
  .staya-project__lede {
    width: min(100%, 20rem);
  }

  .staya-project__meta-copy {
    font-size: 0.76rem;
    line-height: 1.4;
  }

  .staya-project__headline-block {
    width: min(100%, calc(100vw - 28px));
    margin: 0 auto;
    gap: 10px;
  }

  .staya-project__headline {
    max-width: 12ch;
    font-size: clamp(2.4rem, 8vw, 3.2rem);
  }

  .staya-project__lede {
    margin-top: 14px;
    font-size: 0.94rem;
  }

  .staya-project__gallery {
    width: min(100%, calc(100vw - 28px));
    margin: 0 auto;
    gap: 8px;
  }

  .case-gallery {
    width: min(100%, calc(100vw - 28px));
  }

  .case-gallery__track {
    border-radius: 8px;
  }

  .case-gallery__controls {
    padding: 8px 12px 2px;
  }

  .personal-project__hero {
    width: min(100%, calc(100vw - 28px));
    margin: 74px auto 28px;
  }

  body[data-view="personal"] .project-screen__back--fixed {
    left: calc(14px + var(--personal-card-pad)) !important;
  }

  body[data-view="aidev"] .project-screen__back--fixed {
    left: calc(14px + var(--aidev-card-pad)) !important;
  }

  .personal-project__intro {
    width: calc(100% - (var(--personal-card-pad) * 2));
    max-width: none;
    padding-inline: 0;
    margin-left: var(--personal-card-pad);
    font-size: 1.09rem;
    line-height: 1.18;
    text-align: left;
  }

  .personal-project__cards-section {
    width: min(100%, calc(100vw - 28px));
    margin: 0 auto;
  }

  .personal-project {
    --personal-card-gap: 20px;
    --personal-card-pad: 16px;
  }

  .personal-project-card__content {
    padding: var(--personal-card-pad);
    gap: 14px;
  }

  .personal-project-card--sheet .personal-project-card__content {
    padding: 0;
    gap: 12px;
  }

  .personal-project-card__index {
    width: 38px;
    height: 38px;
    font-size: 0.82rem;
  }

  .personal-project-card__title {
    font-size: clamp(0.96rem, 1.1vw + 0.7rem, 1.2rem);
    line-height: 1;
  }

  .personal-project-card__description {
    font-size: 0.82rem;
    line-height: 1.45;
  }

  .personal-project-card__badge {
    min-height: 26px;
    padding-inline: 9px;
    font-size: 0.62rem;
  }

  .personal-project-card--sber .personal-project-card__image {
    width: 50%;
    height: 50%;
    max-width: 50%;
    max-height: 50%;
  }

  .alrosa-project__logo {
    width: min(154px, 46vw);
  }

  .ddb-project__logo {
    width: min(232px, 72vw);
    max-width: calc(100% - 18px);
    padding-right: 18px;
    transform: translateX(-6px);
  }

  .bbdo-project__logo {
    width: min(178px, 52vw);
  }

  .staya-project {
    --case-logo-width: 109px;
    --case-logo-max-height: 52px;
  }

  .market-project {
    --case-logo-width: 208px;
    --case-logo-max-height: 54px;
  }

  .alrosa-project {
    --case-logo-width: 154px;
    --case-logo-max-height: 56px;
  }

  .ddb-project {
    --case-logo-width: 228px;
    --case-logo-max-height: 56px;
    --case-logo-shift-x: 0px;
    --case-logo-pad-right: 0px;
  }

  .bbdo-project {
    --case-logo-width: 178px;
    --case-logo-max-height: 56px;
  }

  .staya-project__logo,
  .market-project__logo,
  .alrosa-project__logo,
  .ddb-project__logo,
  .bbdo-project__logo {
    width: min(var(--case-logo-width), calc(100vw - 28px));
    max-height: var(--case-logo-max-height);
    padding-right: var(--case-logo-pad-right);
    transform: translateX(var(--case-logo-shift-x));
  }

  .dock {
    display: none;
  }
}

/* Aidev project styles */
.aidev-project {
  --case-logo-width: 220px;
  --case-logo-max-height: 84px;
  --aidev-card-gap: 28px;
  --aidev-card-pad: 28px;
}

.aidev-project__hero {
  width: min(1120px, calc(100vw - 72px));
  margin: 112px auto 64px;
}

.aidev-project__intro {
  margin: 0;
  width: calc(100% - (var(--aidev-card-pad) * 2));
  max-width: none;
  margin-left: var(--aidev-card-pad);
  padding-inline: 0;
  font-size: clamp(1.68rem, 0.91vw + 1.12rem, 2.8rem);
  line-height: 1.14;
  color: color-mix(in srgb, var(--page-fg) 94%, transparent);
  text-wrap: balance;
  text-align: left;
}

.aidev-project__footer {
  width: min(1120px, calc(100vw - 72px));
  margin: 42px auto 0;
  display: flex;
  justify-content: flex-start;
}

body[data-view="aidev"] .project-screen__back--fixed {
  left: calc(max(36px, (100vw - 1120px) / 2) + var(--aidev-card-pad)) !important;
  right: auto;
  transform: none !important;
}

body[data-view="aidev"] .project-screen__back--fixed:hover,
body[data-view="aidev"] .project-screen__back--fixed:focus-visible {
  transform: none !important;
}

body[data-view="aidev"] .project-screen__back--inline {
  margin-inline: 0 !important;
  justify-self: start !important;
}

.aidev-project-card {
  position: static;
  height: auto;
  padding-top: 0;
  perspective: none;
  content-visibility: auto;
  contain-intrinsic-size: 1400px;
}

.aidev-project-card__content {
  --aidev-card-bg: linear-gradient(180deg, rgba(250, 250, 248, 0.98) 0%, rgba(246, 246, 243, 0.96) 100%);
  --aidev-card-border: transparent;
  --aidev-card-shadow:
    0 14px 34px -26px rgba(15, 23, 42, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
  --aidev-card-media-bg: #0c0c0c;
  position: relative;
  width: 100%;
  height: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding: var(--aidev-card-pad);
  border: 1px solid var(--aidev-card-border);
  border-radius: 8px;
  background: var(--aidev-card-bg);
  box-shadow: var(--aidev-card-shadow);
  overflow: hidden;
  transform: none;
}

.aidev-project-card--glass .aidev-project-card__content {
  --aidev-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(252, 252, 250, 1) 100%);
  --aidev-card-border: rgba(236, 236, 232, 1);
  --aidev-card-shadow:
    0 22px 56px -34px rgba(15, 23, 42, 0.14),
    0 8px 18px -16px rgba(15, 23, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
  overflow: hidden;
}

.aidev-project-card--glass .aidev-project-card__copy {
  width: 100%;
  margin-inline: 0;
  justify-items: start;
  text-align: left;
}

.aidev-project-card__copy {
  position: relative;
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: 0 8px 4px;
  text-align: left;
}

.aidev-project-card__title {
  margin: 0;
  font-size: clamp(1.02rem, 0.42vw + 0.76rem, 1.75rem);
  line-height: 1;
  font-weight: 700;
  color: color-mix(in srgb, var(--page-fg) 96%, transparent);
  text-wrap: balance;
  text-align: left;
}

.aidev-project-card__description {
  margin: 0;
  max-width: 40rem;
  font-size: clamp(0.78rem, 0.18vw + 0.74rem, 0.92rem);
  line-height: 1.45;
  color: color-mix(in srgb, var(--page-fg) 78%, transparent);
  text-align: left;
}

.aidev-project-card__media {
  min-width: 0;
  height: auto;
  display: block;
  overflow: clip;
  background: var(--aidev-card-media-bg);
  border-radius: 0;
}

.aidev-project-card__content > .aidev-project-card__media {
  margin-inline: calc(var(--aidev-card-pad) * -1);
  margin-bottom: calc(var(--aidev-card-pad) * -1);
}

.aidev-project-card__media--image {
  display: flex;
  justify-content: center;
  background: #E8E4DE;
  border-color: transparent;
  aspect-ratio: 16 / 9;
  align-items: center;
}

.aidev-project-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aidev-project-card__video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border: none;
  outline: none;
}

.aidev-project-card__title a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.14em;
  text-decoration-color: color-mix(in srgb, var(--page-fg) 28%, transparent);
}

.aidev-project-card__title a:hover {
  text-decoration-color: color-mix(in srgb, var(--page-fg) 72%, transparent);
}

.aidev-project-card__description a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.aidev-project__cards-section {
  width: min(1120px, calc(100vw - 72px));
  margin: 0 auto;
}

.aidev-project__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--aidev-card-gap);
}

@media (max-width: 640px) {
  .aidev-project {
    --aidev-card-pad: 16px;
    --aidev-card-gap: 20px;
  }

  .aidev-project__hero {
    width: calc(100vw - 28px);
    margin-top: 74px;
    margin-bottom: 48px;
  }

  .aidev-project__intro {
    font-size: 1.09rem;
    line-height: 1.22;
  }

  .aidev-project__cards-section {
    width: min(100%, calc(100vw - 28px));
  }

  .aidev-project__footer {
    width: min(100%, calc(100vw - 28px));
  }

  body[data-view="aidev"] .project-screen__back--fixed {
    left: calc(14px + var(--aidev-card-pad)) !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .dock__tile {
    transform: scale(1);
  }
}



/* === Moral Adnan + Tanvir Tasin About Screen Integration & Smooth Scroll === */
html {
  scroll-behavior: smooth;
}

.page-header {
  z-index: 50 !important;
}

body[data-view="about"] {
  background: var(--background) !important;
  color: var(--foreground) !important;
  overflow-x: hidden;
  overflow-y: auto !important;
}

body[data-view="about"] .hero {
  display: none !important;
}

body[data-view="about"] .page-shell {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

body[data-view="about"] .project-screen {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  padding: 0 !important;
}

.project-screen[data-layout="about"] .project-screen__inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh;
  min-height: 100svh;
  display: block !important;
  transform: none !important;
  padding: 0 !important;
  text-align: left;
}

.project-screen__panel.about-screen,
.about-screen {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans, "DM Sans", system-ui, sans-serif);
}

.adnan-blur-fade {
  opacity: 0;
  transform: translateY(14px);
  filter: blur(6px);
  transition:
    opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform, filter;
}

.adnan-blur-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0px);
}

/* === Tanvir Tasin Original Portfolio Sections CSS (Scoped to .tanvir-portfolio-sections & .lightbox) === */
.tanvir-portfolio-sections,
.lightbox {
  --primary-color: #0f172a;
  --accent-color: #2563eb;
  --text-dark: #1e293b;
  --text-light: #64748b;
  --bg-color: var(--background, #f1f5f9);
  --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  font-family: 'Outfit', var(--font-sans, sans-serif);
}

.dark .tanvir-portfolio-sections {
  --primary-color: #f8fafc;
  --text-dark: #f1f5f9;
  --text-light: #94a3b8;
  --bg-color: var(--background, #121212);
}

.tanvir-portfolio-sections {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.tanvir-portfolio-sections .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.tanvir-portfolio-sections .load-more-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.tanvir-portfolio-sections .btn-premium {
  background: linear-gradient(135deg, #0f172a 0%, var(--accent-color) 100%);
  color: white;
  border: none;
  padding: 10px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.4s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.3);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.tanvir-portfolio-sections .btn-premium::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-25deg);
  animation: runningShine 3s infinite;
  z-index: -1;
}

@keyframes runningShine {
  0% { left: -100%; }
  50% { left: 200%; }
  100% { left: 200%; }
}

.tanvir-portfolio-sections .btn-premium:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(37, 99, 235, 0.5);
}

@keyframes premiumGlassShine {
  0% { left: -100%; opacity: 0; }
  10% { opacity: 1; }
  20% { left: 200%; opacity: 0; }
  100% { left: 200%; opacity: 0; }
}

.tanvir-portfolio-sections .sdg-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-25deg);
  animation: premiumGlassShine 6s infinite;
  z-index: 5;
  pointer-events: none;
  mix-blend-mode: overlay;
  border-radius: inherit;
}

.tanvir-portfolio-sections .section-padding {
  padding: 40px 0;
}

.tanvir-portfolio-sections .section-title {
  text-align: center;
  margin-bottom: 32px;
}

.tanvir-portfolio-sections .section-title h2,
.tanvir-portfolio-sections .section-title h2.hyper-heading {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--primary-color);
  margin-bottom: 8px;
  text-transform: uppercase;
  cursor: pointer;
  letter-spacing: 0.03em;
}

.tanvir-portfolio-sections .section-title h2.hyper-heading .hyper-space {
  display: inline-block;
  width: 0.5em;
}

.tanvir-portfolio-sections .section-title p {
  color: var(--text-light);
  font-size: 1rem;
}

/* Skeleton Loader Animation */
.tanvir-portfolio-sections .skeleton-card {
  height: 250px;
  border-radius: 16px;
  background: #e2e8f0;
  position: relative;
  overflow: hidden;
  border: 1px solid #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.tanvir-portfolio-sections .skeleton-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 1.5s infinite;
}

/* Glassmorphism Creation Bar */
.tanvir-portfolio-sections .creation-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 40px 15px 20px 15px;
  max-width: 900px;
  margin: 0 auto;
  overflow: visible !important;
}

.tanvir-portfolio-sections .creation-item {
  display: flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  color: #1e293b;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 25px;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255,255,255,0.5);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: relative;
  overflow: visible !important;
}

.dark .tanvir-portfolio-sections .creation-item {
  background: rgba(38, 38, 38, 0.85);
  border-color: rgba(255, 255, 255, 0.14);
  color: #f8fafc;
}

.tanvir-portfolio-sections .creation-item::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.8) 50%, transparent 100%);
  background-size: 200% 100%;
  background-position: -100% 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
  pointer-events: none;
}

.tanvir-portfolio-sections .creation-item:hover::after {
  opacity: 1;
  animation: premiumSweep 0.8s forwards;
}

@keyframes premiumSweep {
  0% { background-position: -100% 0; }
  100% { background-position: 200% 0; }
}

.tanvir-portfolio-sections .creation-item:hover {
  transform: translateY(-5px) scale(1.02);
  background: #ffffff;
  color: var(--accent-color);
  box-shadow: 0 15px 35px rgba(37, 99, 235, 0.15);
  border-color: rgba(37, 99, 235, 0.3);
}

.dark .tanvir-portfolio-sections .creation-item:hover {
  background: #1f2937;
  color: #60a5fa;
}

@keyframes popAndFlipLoop {
  0%, 75% {
    transform: perspective(600px) translateY(0) scale(1) rotateY(0deg);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
  }
  85% {
    transform: perspective(600px) translateY(-15px) scale(1.35) rotateY(180deg);
    filter: drop-shadow(0 15px 12px rgba(37, 99, 235, 0.4));
  }
  95%, 100% {
    transform: perspective(600px) translateY(0) scale(1) rotateY(360deg);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
  }
}

.tanvir-portfolio-sections .creation-item img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  position: relative;
  z-index: 10 !important;
  animation: popAndFlipLoop 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.tanvir-portfolio-sections .creation-item span {
  position: relative;
  z-index: 2;
}

/* SDGs Grid */
.tanvir-portfolio-sections .sdg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.tanvir-portfolio-sections .sdg-card {
  display: block;
  position: relative;
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  color: #1e293b;
  transition: 0.3s;
  border: 1px solid rgba(226, 232, 240, 0.8);
  cursor: pointer;
  pointer-events: auto;
  z-index: 2;
}

.dark .tanvir-portfolio-sections .sdg-card {
  background: #171717;
  color: #f8fafc;
  border-color: rgba(255, 255, 255, 0.12);
}

.tanvir-portfolio-sections .sdg-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.tanvir-portfolio-sections .sdg-img {
  height: 160px;
  overflow: hidden;
}

.tanvir-portfolio-sections .sdg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}

.tanvir-portfolio-sections .sdg-card:hover .sdg-img img {
  transform: scale(1.1);
}

.tanvir-portfolio-sections .sdg-text {
  padding: 20px;
}

.tanvir-portfolio-sections .sdg-text h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

/* Camera Button CSS */
.tanvir-portfolio-sections .btn-camera {
  position: relative;
  height: 48px;
  width: 220px;
  padding: 0;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(122, 90, 248, 0.4);
  background: radial-gradient(65.28% 65.28% at 50% 100%, rgba(223, 113, 255, 0.8) 0%, rgba(223, 113, 255, 0) 100%), linear-gradient(0deg, #7a5af8, #7a5af8);
}

.tanvir-portfolio-sections .btn-camera:active {
  transform: scale(0.98);
}

.tanvir-portfolio-sections .cam-label {
  position: absolute;
  left: 0;
  right: 0;
  top: 13px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: white;
  z-index: 10;
  transition: 0.4s ease;
}

.tanvir-portfolio-sections .cam-label.default {
  opacity: 1;
  transform: translateY(0);
}

.tanvir-portfolio-sections .cam-label.success {
  opacity: 0;
  transform: translateY(20px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #fff;
}

.tanvir-portfolio-sections .btn-camera.animate .cam-label.default {
  opacity: 0;
  transform: translateY(-20px);
}

.tanvir-portfolio-sections .btn-camera.animate .cam-label.success {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 3.8s;
}

.tanvir-portfolio-sections .cam-fold-cut {
  position: absolute;
  top: -1px;
  right: -1px;
  border-style: solid;
  border-width: 0 22px 22px 0;
  border-color: transparent var(--bg-color) transparent transparent;
  z-index: 20;
  transition: all 0.5s ease;
  pointer-events: none;
}

.tanvir-portfolio-sections .cam-fold-flap {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 22px 0 0 22px;
  border-color: transparent transparent transparent #5b21b6;
  filter: drop-shadow(-2px 2px 2px rgba(0,0,0,0.3));
  z-index: 21;
  transition: all 0.5s ease;
  transform-origin: top right;
}

.tanvir-portfolio-sections .btn-camera:hover .cam-fold-flap,
.tanvir-portfolio-sections .btn-camera.animate .cam-fold-flap {
  border-width: 0;
}

.tanvir-portfolio-sections .btn-camera:hover .cam-fold-cut,
.tanvir-portfolio-sections .btn-camera.animate .cam-fold-cut {
  border-width: 0;
}

.tanvir-portfolio-sections .cam-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
}

.tanvir-portfolio-sections .c-dot {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(255,255,255,0.6);
  border-radius: 50%;
  bottom: -10px;
  opacity: 0;
  animation: rise 3s infinite ease-in;
}

@keyframes rise {
  0% { transform: translateY(0); opacity: 0; }
  50% { opacity: 0.8; }
  100% { transform: translateY(-80px); opacity: 0; }
}

.tanvir-portfolio-sections .c-dot:nth-child(1) { left: 10%; animation-duration: 2s; }
.tanvir-portfolio-sections .c-dot:nth-child(2) { left: 30%; animation-duration: 3.5s; width: 3px; height: 3px; }
.tanvir-portfolio-sections .c-dot:nth-child(3) { left: 60%; animation-duration: 2.8s; animation-delay: 0.5s; }
.tanvir-portfolio-sections .c-dot:nth-child(4) { left: 80%; animation-duration: 3.2s; animation-delay: 1s; }

.tanvir-portfolio-sections .camera-group {
  position: absolute;
  width: 45px;
  height: 35px;
  top: 7px;
  left: -60px;
  z-index: 15;
}

.tanvir-portfolio-sections .cam-body {
  width: 44px;
  height: 28px;
  background: #222;
  border-radius: 5px;
  position: absolute;
  top: 5px;
  left: 0;
  background: linear-gradient(145deg, #444, #111);
  box-shadow: 2px 5px 10px rgba(0,0,0,0.3);
  border: 1px solid #555;
}

.tanvir-portfolio-sections .cam-top {
  width: 20px;
  height: 5px;
  background: #333;
  position: absolute;
  top: 0;
  left: 12px;
  border-radius: 4px 4px 0 0;
}

.tanvir-portfolio-sections .cam-lens {
  width: 22px;
  height: 22px;
  background: radial-gradient(circle at 30% 30%, #555, #000);
  border: 2px solid #666;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 11px;
}

.tanvir-portfolio-sections .cam-lens::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(255,255,255,0.4);
  border-radius: 50%;
  top: 4px;
  right: 4px;
}

.tanvir-portfolio-sections .cam-flash {
  width: 6px;
  height: 4px;
  background: #fff;
  position: absolute;
  top: 4px;
  right: 4px;
  border-radius: 1px;
}

.tanvir-portfolio-sections .flash-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  opacity: 0;
  pointer-events: none;
  z-index: 30;
  mix-blend-mode: overlay;
}

.tanvir-portfolio-sections .btn-camera.animate .camera-group {
  animation: driveCamera 4s ease-in-out forwards;
}

.tanvir-portfolio-sections .btn-camera.animate .flash-overlay {
  animation: flashEffect 4s ease-in-out forwards;
}

@keyframes driveCamera {
  0% { left: -60px; transform: scale(0.8) rotate(-10deg); }
  40% { left: 90px; transform: scale(1.1) rotate(0deg); }
  50% { left: 90px; transform: scale(1.1); }
  100% { left: 250px; transform: scale(0.8) rotate(10deg); }
}

@keyframes flashEffect {
  0%, 45% { opacity: 0; }
  48% { opacity: 1; }
  55% { opacity: 0; }
}

/* 3D Carousel CSS for Home Works & Photos */
.tanvir-portfolio-sections .carousel-container {
  position: relative;
  width: 100%;
  height: 320px;
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 1200px;
  overflow: hidden;
  margin: 0 auto;
}

.tanvir-portfolio-sections .carousel-container .card {
  position: absolute;
  width: 240px;
  height: 300px;
  border-radius: 20px;
  transition: all 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  cursor: pointer;
  overflow: hidden;
  background: #e2e8f0;
}

.tanvir-portfolio-sections .carousel-container .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tanvir-portfolio-sections .carousel-container .card.active {
  transform: translateX(0) translateZ(0) rotateY(0);
  z-index: 3;
  filter: none;
  border: 2px solid rgba(255, 255, 255, 0.7);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tanvir-portfolio-sections .carousel-container .card.prev1 {
  transform: translateX(-150px) translateZ(-100px) rotateY(15deg) scale(0.9);
  z-index: 2;
  filter: blur(2px) brightness(0.7);
}

.tanvir-portfolio-sections .carousel-container .card.next1 {
  transform: translateX(150px) translateZ(-100px) rotateY(-15deg) scale(0.9);
  z-index: 2;
  filter: blur(2px) brightness(0.7);
}

.tanvir-portfolio-sections .carousel-container .card.prev2 {
  transform: translateX(-260px) translateZ(-200px) rotateY(25deg) scale(0.8);
  z-index: 1;
  filter: blur(5px) brightness(0.5);
}

.tanvir-portfolio-sections .carousel-container .card.next2 {
  transform: translateX(260px) translateZ(-200px) rotateY(-25deg) scale(0.8);
  z-index: 1;
  filter: blur(5px) brightness(0.5);
}

.tanvir-portfolio-sections .carousel-container .card.hidden {
  transform: translateX(0) translateZ(-300px);
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}

/* Lightbox CSS */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 23, 42, 0.95);
  z-index: 10000;
  display: none;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(10px);
  touch-action: none;
}

.lightbox.active {
  display: flex;
  opacity: 1;
}

.lightbox img {
  max-width: 90%;
  max-height: 85vh;
  border-radius: 10px;
  box-shadow: 0 0 50px rgba(0,0,0,0.5);
  transform: scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease;
  user-select: none;
  -webkit-user-drag: none;
}

.lightbox.active img {
  transform: scale(1);
}

.close-lightbox {
  position: absolute;
  top: 30px;
  right: 30px;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  transition: 0.3s;
  z-index: 10001;
}

.close-lightbox:hover {
  color: var(--accent-color);
  transform: rotate(90deg);
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  width: 45px;
  height: 45px;
  background: rgba(255,255,255,0.15);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
  user-select: none;
  z-index: 10001;
  font-size: 1.2rem;
  border: 1px solid rgba(255,255,255,0.2);
}

.lightbox-nav:hover {
  background: var(--accent-color);
  border-color: var(--accent-color);
  transform: translateY(-50%) scale(1.1);
}

.nav-prev { left: 3%; }
.nav-next { right: 3%; }

@media (max-width: 900px) {
  .tanvir-portfolio-sections .sdg-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .tanvir-portfolio-sections .creation-bar {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: center !important;
    padding: 40px 15px 20px 15px !important;
    gap: 15px !important;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    overflow: visible !important;
  }
  .tanvir-portfolio-sections .creation-bar::-webkit-scrollbar { display: none; }
  .tanvir-portfolio-sections .creation-bar { -ms-overflow-style: none; scrollbar-width: none; }
  .tanvir-portfolio-sections .creation-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: auto !important;
    padding: 10px 20px !important;
    border-radius: 30px !important;
    overflow: visible !important;
  }
  .tanvir-portfolio-sections .creation-item img {
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 0 !important;
    margin-right: 10px !important;
    z-index: 10 !important;
  }
  .tanvir-portfolio-sections .creation-item span {
    font-size: 0.85rem !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 600px) {
  .tanvir-portfolio-sections .carousel-container .card { width: 180px; height: 240px; }
  .tanvir-portfolio-sections .carousel-container .card.prev1 { transform: translateX(-100px) translateZ(-100px) rotateY(15deg) scale(0.9); }
  .tanvir-portfolio-sections .carousel-container .card.next1 { transform: translateX(100px) translateZ(-100px) rotateY(-15deg) scale(0.9); }
  .tanvir-portfolio-sections .carousel-container .card.prev2 { transform: translateX(-180px) translateZ(-200px) rotateY(25deg) scale(0.8); }
  .tanvir-portfolio-sections .carousel-container .card.next2 { transform: translateX(180px) translateZ(-200px) rotateY(-25deg) scale(0.8); }
  .tanvir-portfolio-sections .creation-bar { padding: 40px 10px 20px 10px !important; }
  .tanvir-portfolio-sections .creation-item { padding: 10px 15px !important; }
  .tanvir-portfolio-sections .creation-item img { width: 24px !important; height: 24px !important; margin-right: 8px !important; }
  .tanvir-portfolio-sections .creation-item span { font-size: 0.8rem !important; }
  .nav-prev, .nav-next { display: none; }
}

/* === Full-Round Edge-to-Edge Logos in Work Experience, Education & My Scout Journey === */
#adnan-work [data-work-accordion-trigger] .rounded-full,
#adnan-education .rounded-full,
#adnan-scout-journey .rounded-full {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 9999px !important;
}

#adnan-work [data-work-accordion-trigger] .rounded-full img,
#adnan-education .rounded-full img,
#adnan-education img.rounded-full,
#adnan-scout-journey .rounded-full img,
#adnan-scout-journey img.rounded-full {
  padding: 0 !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 9999px !important;
  display: block !important;
}


/* === Full Gallery Modal Overlay (All Works & Photography) === */
.full-gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: var(--background, #f8fafc);
  color: var(--foreground, #0f172a);
  display: none;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-family: 'Outfit', var(--font-sans, sans-serif);
  animation: fadeIn 0.28s ease;
}

.full-gallery-modal.active {
  display: flex;
}

.full-gallery-modal__header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: color-mix(in srgb, var(--background, #ffffff) 86%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid color-mix(in srgb, var(--foreground, #0f172a) 10%, transparent);
  padding: 18px 24px;
}

.full-gallery-modal__header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.full-gallery-modal__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--foreground, #0f172a) 16%, transparent);
  background: color-mix(in srgb, var(--background, #ffffff) 92%, transparent);
  color: var(--foreground, #0f172a);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.full-gallery-modal__back:hover {
  transform: translateX(-3px);
  background: #2563eb;
  color: #ffffff;
  border-color: #2563eb;
}

.full-gallery-modal__titles {
  text-align: center;
  flex: 1;
}

.full-gallery-modal__titles h2 {
  margin: 0;
  font-size: clamp(1.15rem, 2.2vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.full-gallery-modal__titles p {
  margin: 4px 0 0;
  font-size: 0.85rem;
  color: var(--muted-foreground, #64748b);
}

.full-gallery-modal__count {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground, #0f172a) 8%, transparent);
  color: var(--muted-foreground, #64748b);
  white-space: nowrap;
}

.full-gallery-modal__body {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 36px 24px 80px;
  flex: 1;
}

.full-gallery-modal__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px;
}

.full-gallery-modal__empty {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px;
}

.full-gallery-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in srgb, var(--foreground, #0f172a) 5%, transparent);
  border: 1px solid color-mix(in srgb, var(--foreground, #0f172a) 10%, transparent);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.full-gallery-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 35px -10px rgba(37, 99, 235, 0.22);
}

.full-gallery-card__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e2e8f0;
}

.dark .full-gallery-card__img-wrap {
  background: #1e293b;
}

.full-gallery-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.full-gallery-card:hover .full-gallery-card__img-wrap img {
  transform: scale(1.07);
}

.full-gallery-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.78) 0%, rgba(15, 23, 42, 0.15) 50%, transparent 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
}

.full-gallery-card:hover .full-gallery-card__overlay {
  opacity: 1;
}

.full-gallery-card__zoom {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.full-gallery-card__title {
  margin: 0;
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .full-gallery-modal__header {
    padding: 14px 16px;
  }
  .full-gallery-modal__count {
    display: none;
  }
  .full-gallery-modal__body {
    padding: 20px 16px 60px;
  }
  .full-gallery-modal__grid {
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    gap: 14px;
  }
}
