@custom-variant dark (&:is(.dark *));:root{--font-size:16px;--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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--spacing:0.25rem;--container-width:80rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--radius:0.625rem;--radius-xs:0.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--tracking-tight:-0.025em;--tracking-widest:0.1em;--leading-relaxed:1.625;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--animate-pulse:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-3xl:64px;--aspect-video:16/9;--header-height:110px;--header-height-mobile:90px;--background:#fafafa;--foreground:#1a1a1a;--card:#ffffff;--card-foreground:#1a1a1a;--popover:#ffffff;--popover-foreground:#1a1a1a;--primary:#2a2a2a;--primary-foreground:#f5f5f5;--secondary:#e5e5e5;--secondary-foreground:#2a2a2a;--muted:#f0f0f0;--muted-foreground:#737373;--accent:#e8e8e8;--accent-foreground:#2a2a2a;--destructive:#d4183d;--destructive-foreground:#ffffff;--success:#16a34a;--success-foreground:#ffffff;--border:#e0e0e0;--input:transparent;--input-background:#f5f5f5;--switch-background:#d4d4d4;--ring:#a3a3a3;--color-border:var(--border);--chart-1:oklch(0.646 0.222 41.116);--chart-2:oklch(0.6 0.118 184.704);--chart-3:oklch(0.398 0.07 227.392);--chart-4:oklch(0.828 0.189 84.429);--chart-5:oklch(0.769 0.188 70.08);--sidebar:#fafafa;--sidebar-foreground:#1a1a1a;--sidebar-primary:#2a2a2a;--sidebar-primary-foreground:#f5f5f5;--sidebar-accent:#f0f0f0;--sidebar-accent-foreground:#2a2a2a;--sidebar-border:#e5e5e5;--sidebar-ring:#a3a3a3;--color-gray-100:oklch(96.7% 0.003 264.542);--color-black:#000;--color-white:#fff}.dark{--background:#121212;--foreground:#f0f0f0;--card:#1a1a1a;--card-foreground:#f0f0f0;--popover:#1a1a1a;--popover-foreground:#f0f0f0;--primary:#f5f5f5;--primary-foreground:#1a1a1a;--secondary:#2a2a2a;--secondary-foreground:#f0f0f0;--muted:#2a2a2a;--muted-foreground:#a3a3a3;--accent:#2d2d2d;--accent-foreground:#f0f0f0;--destructive:oklch(0.396 0.141 25.723);--destructive-foreground:oklch(0.978 0.01 258.001);--success:oklch(0.577 0.245 142.495);--success-foreground:oklch(0.978 0.01 258.001);--border:#2a2a2a;--input:#2a2a2a;--ring:#525252;--chart-1:oklch(0.488 0.243 264.376);--chart-2:oklch(0.696 0.17 162.48);--chart-3:oklch(0.769 0.188 70.08);--chart-4:oklch(0.627 0.265 303.9);--chart-5:oklch(0.645 0.246 16.439);--sidebar:#1a1a1a;--sidebar-foreground:#f0f0f0;--sidebar-primary:#f5f5f5;--sidebar-primary-foreground:#1a1a1a;--sidebar-accent:#2a2a2a;--sidebar-accent-foreground:#f0f0f0;--sidebar-border:#2a2a2a;--sidebar-ring:#525252}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-success:var(--success);--color-success-foreground:var(--success-foreground);--color-border:var(--border);--color-input:var(--input);--color-input-background:var(--input-background);--color-switch-background:var(--switch-background);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--color-sidebar:var(--sidebar);--color-sidebar-foreground:var(--sidebar-foreground);--color-sidebar-primary:var(--sidebar-primary);--color-sidebar-primary-foreground:var(--sidebar-primary-foreground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-border:var(--sidebar-border);--color-sidebar-ring:var(--sidebar-ring)}*{@apply border-border outline-ring/50;box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-o-tap-highlight-color:transparent;tap-highlight-color:transparent}html{font-size:var(--font-size);scroll-behavior:smooth}body{@apply bg-background text-foreground;background:var(--background);color:var(--foreground);display:flex;flex-direction:column;font-family:Inter,sans-serif;min-height:100vh;max-width:100vw;overflow-x:hidden;width:100%}h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:var(--font-weight-medium);line-height:1.5}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-base)}a{color:inherit;font:inherit;text-decoration:none}label{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}input,textarea{font:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5;border-color:var(--primary)}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:0}.btn,button{align-items:center;background-color:transparent;border:none;cursor:pointer;display:flex;flex-direction:row;font-size:var(--text-base);font-weight:var(--font-weight-medium);justify-content:center;line-height:1.5}footer,header,main,section{display:flex;flex-direction:column;width:100vw}main{flex:1}section{background-color:var(--background);min-height:100vh;padding:5rem 0;padding-block:calc(var(--spacing) * 24);padding-inline:calc(var(--spacing) * 6);overflow:hidden;position:relative;scroll-margin-top:var(--header-height)}.container{margin-inline:auto;max-width:var(--container-6xl);width:100%;z-index:10}.grid{display:grid;gap:calc(var(--spacing) * 6);grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3>.grid-item:nth-child(3n+1){transition-delay:0s}.grid-3>.grid-item:nth-child(3n+2){transition-delay:.2s}.grid-3>.grid-item:nth-child(3n+3){transition-delay:.4s}@media screen and (width > 1700px){section{min-height:unset}}@media (width < 64rem){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3>.grid-item:nth-child(2n+1){transition-delay:0s}.grid-3>.grid-item:nth-child(2n+2){transition-delay:.2s}}@media (width < 40rem){section{padding-block:calc(var(--spacing) * 18);scroll-margin-top:var(--header-height-mobile)}.grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.grid:has(.upcoming-items){grid-template-columns:repeat(1,minmax(0,1fr))}header{align-items:center;background-color:transparent;display:flex;height:var(--header-height);justify-content:center;left:0;position:fixed;right:0;top:0;transition-property:all!important;z-index:100}header.scrolled{background-color:color-mix(in oklab,var(--background) 80%,transparent);box-shadow:0 4px 12px rgba(0,0,0,.2);outline-color:color-mix(in oklab,var(--ring) 50%,transparent);--backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);transition:all .3s linear}.dark header.scrolled{background-color:color-mix(in oklab,var(--background) 80%,transparent)}header::before{background:linear-gradient(to left,transparent 0,transparent 45vw,var(--muted) calc(100% - 45vw),var(--muted) 100%);bottom:0;content:"";height:1px;left:0;position:absolute;width:0;transition:all .3s linear}.menu-opened header::before{background:linear-gradient(to right,transparent 0,transparent 5vw,var(--muted) calc(100% - 5vw),var(--muted) 100%)}header.scrolled::before{transition:width .3s linear;width:100%}header .container{align-items:center;display:flex;flex-direction:row;justify-content:space-between;max-width:var(--container-width);padding-inline:calc(var(--spacing) * 6)}header .logo-container{align-items:center;display:flex;flex:1;justify-content:start}header .menu-container{align-items:center;display:flex;flex:1;justify-content:end}header .logo-link{inset:0}header svg.logo{cursor:pointer;fill:var(--primary);height:50px;margin:10px 0 0;pointer-events:visible;transition:all .2s ease;width:98.11px}header svg.logo:hover{animation:logo-pulse 5s ease-in-out infinite}@media (width < 40rem){header{height:var(--header-height-mobile)}header svg.logo{margin:15px 0 0}}header .menu-controls{align-items:center;display:flex;flex-direction:row;font-family:Inter,sans-serif;font-size:16px;gap:10px;line-height:24px;margin:0;padding:0;outline-color:oklab(.715474 1.19209e-7 -1.19209e-7 / .5)}header .menu-controls button{position:relative;transform:scale(1);transition:all .15s ease-in-out}header .menu-controls button:hover{background-color:var(--primary);color:var(--primary-foreground)}header .menu-controls button::before{background-color:transparent;border:0;border-radius:1000vw;content:"";height:calc(100% + 2px);left:-1px;position:absolute;top:-1px;transition:background-color .15s;width:calc(100% + 2px)}header .menu-controls button:hover::before{background-color:var(--primary)}header .toggle-theme{appearance:button;background-color:var(--primary);border:2px solid var(--primary);border-radius:1000vw;color:var(--primary-foreground);font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:0;margin:0;opacity:1;outline-color:oklab(.715474 1.19209e-7 -1.19209e-7 / .5);padding:12px;transform:none;transition:transform .1s cubic-bezier(.4,0,.2,1),color .15s,background-color .15s,border-color .15s}header .toggle-theme:hover{animation:button-pop .15s ease forwards;transform:scale(1.05)}header .toggle-theme div{align-items:center;display:inline-flex;height:20px;justify-content:center;position:relative;width:20px}.theme-dark-icon,.theme-light-icon{display:inline-block;height:20px;opacity:1;position:absolute;transform-origin:center center;vertical-align:middle;width:20px}html:not(.dark) .theme-dark-icon{animation:icon-rotate-rtl-in .25s ease forwards}html:not(.dark) .theme-light-icon{animation:icon-rotate-ltr-out .25s ease forwards}html.dark .theme-light-icon{animation:icon-rotate-ltr-in .25s ease forwards}html.dark .theme-dark-icon{animation:icon-rotate-rtl-out .25s ease forwards}header .toggle-menu{align-items:center;appearance:button;background-color:var(--primary);border:2px solid var(--primary);border-radius:1000vw;color:var(--primary-foreground);display:flex;font-family:Inter,sans-serif;font-size:16px;font-weight:500;height:56px;justify-content:center;line-height:24px;margin:0;padding:0;transform:none;transform-origin:center center;transition:transform .1s cubic-bezier(.4,0,.2,1),background-color .15s,color .15s;will-change:transform;width:56px}header .toggle-menu:hover{animation:button-pop .15s ease forwards;transform:scale(1.05)}header .toggle-menu .menu-burger{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;line-height:24px;margin:0;padding:0;color:var(--primary)}header .toggle-menu .menu-burger span{background-color:var(--primary-foreground);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block;height:2px;line-height:0;margin:0;padding:0;transform:translateZ(0);transition:all .25s ease;width:24px}header .toggle-menu .menu-burger span:last-child{margin-bottom:0}header .toggle-menu:hover .menu-burger span{background-color:var(--primary-foreground)}.menu-opened header.scrolled{box-shadow:0 4px 12px rgba(250,250,250,.5)}.dark .menu-opened header.scrolled{box-shadow:0 4px 12px rgba(18,18,18,.5)}.menu-opened header .toggle-menu .menu-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-opened header .toggle-menu .menu-burger span:nth-child(2){opacity:0}.menu-opened header .toggle-menu .menu-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}aside{display:flex;position:fixed;inset:0;justify-content:flex-end;opacity:0;pointer-events:none;visibility:hidden;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:75;transition:all .3s linear}.menu-opened aside{opacity:1;visibility:visible;box-shadow:0 4px 12px rgba(250,250,250,.5);z-index:80}.dark .menu-opened aside{box-shadow:0 4px 12px rgba(18,18,18,.5)}.overlay{--backdrop-blur:blur(var(--blur-lg));align-items:center;background-color:color-mix(in oklab,var(--background) 80%,transparent);display:flex;inset:0;justify-content:flex-end;opacity:0;outline-color:color-mix(in oklab,var(--ring) 50%,transparent);pointer-events:auto;position:fixed;transition:all .3s linear .1s;visibility:hidden;z-index:75;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);box-shadow:0 4px 12px rgba(0,0,0,.2)}.menu-opened .overlay{opacity:1;pointer-events:auto;visibility:visible;box-shadow:0 4px 12px rgba(250,250,250,.5);transition-delay:50ms}.dark .menu-opened .overlay{box-shadow:0 4px 12px rgba(18,18,18,.5)}aside .close-menu{align-items:center;appearance:button;background-color:transparent;border:2px solid var(--primary);border-radius:1000vw;color:var(--primary-foreground);cursor:pointer;display:none;height:48px;justify-content:center;margin:0;opacity:0;padding:0;position:absolute;right:32px;top:32px;transform:none;transform-origin:center center;transition:background-color .15s,color .15s,border-color .15s,transform .1s cubic-bezier(.4,0,.2,1);visibility:hidden;width:48px;will-change:transform;z-index:200}aside .close-menu:hover{background-color:var(--primary);transform:scale(1)}aside .close-menu .close-icon{align-items:center;display:flex;flex-direction:column;height:calc(var(--spacing) * 5);justify-content:center;position:relative;width:calc(var(--spacing) * 6)}aside .close-menu .close-icon span{background-color:var(--primary);height:calc(var(--spacing) * .5);position:absolute;transition:all .25s ease;width:calc(var(--spacing) * 6)}aside .close-menu:hover .close-icon span{background-color:var(--primary-foreground)}aside .close-menu span:nth-child(1){transform:rotate(45deg)}aside .close-menu span:nth-child(2){transform:rotate(-45deg)}aside .nav-menu{background-color:var(--card);height:100%;max-width:100vw;pointer-events:auto;position:relative;transform:translateX(100%);transition:transform .3s ease;width:40vw;will-change:transform;z-index:75}aside .nav-menu::before{background:linear-gradient(to bottom,transparent 0,transparent 110px,var(--border) calc(100% - 120px),var(--border) 50%);content:"";height:100%;left:0;position:absolute;top:0;width:1px}.menu-opened aside .nav-menu{transform:translateX(0)}aside .nav-menu ul.nav{align-items:start;box-sizing:border-box;color:var(--foreground);display:flex;flex-direction:column;gap:calc(var(--spacing) * 6);justify-content:center;list-style-type:none;margin:0;min-height:100%;padding:calc(var(--spacing) * 16)}aside .nav-menu ul.nav>li{opacity:0;transform:translateX(100vw);transition:transform .5s ease,opacity .5s ease}aside .nav-menu .nav-bottom span{display:inline-flex;opacity:0;transform:translateX(100vw);transition:transform .5s ease,opacity .5s ease}.menu-opened aside .nav-menu .nav-bottom span,.menu-opened aside .nav-menu ul.nav>li{opacity:1;transform:translateX(0)}.menu-opened aside .nav-menu ul.nav>li:nth-child(1){transition-delay:0s}.menu-opened aside .nav-menu ul.nav>li:nth-child(2){transition-delay:50ms}.menu-opened aside .nav-menu ul.nav>li:nth-child(3){transition-delay:.1s}.menu-opened aside .nav-menu ul.nav>li:nth-child(4){transition-delay:150ms}.menu-opened aside .nav-menu ul.nav>li:nth-child(5){transition-delay:.2s}.menu-opened aside .nav-menu .nav-bottom span{transition-delay:250ms}aside .nav-menu .nav-btn{background:0 0;border:none;color:var(--primary);cursor:pointer;font-family:Space Grotesk,sans-serif;font-size:var(--text-5xl);font-weight:700;line-height:var(--text-5xl--line-height);margin:0;padding:0}aside .nav-menu .nav-btn:hover{color:var(--muted-foreground)}aside .nav-menu ul.nav>li.br-line{background:linear-gradient(to right,transparent 0,var(--muted) 25%,transparent 100%);height:1px;width:100%}aside .nav-menu ul.nav-icons{align-content:center;bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:start;left:0;list-style:none;min-height:auto;padding:35px 50px;width:100%}aside .nav-menu ul.nav-icons .link-icon{align-items:center;border:2px solid var(--primary);border-radius:calc(infinity * 1px);display:flex;height:calc(var(--spacing) * 14);justify-content:center;transform:translateY(0) scale(1);transition:all var(--default-transition-duration) var(--default-transition-timing-function);width:calc(var(--spacing) * 14)}aside .nav-menu ul.nav-icons .link-resume{align-items:center;animation:shake 1s ease-in-out infinite;background-color:var(--primary);border:2px solid var(--primary);border-radius:calc(infinity * 1px);color:var(--primary-foreground);display:flex;flex-direction:row;gap:calc(var(--spacing) * 2);justify-content:center;padding-block:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 6);transform:translateY(0) scale(1);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}aside .nav-menu .nav-bottom{animation:shake-loop 10.5s infinite;position:absolute;bottom:calc(var(--spacing) * 16);left:calc(var(--spacing) * 16);width:100%}@media (width < 64rem){aside .nav-menu ul.nav{gap:calc(var(--spacing) * 5);padding:calc(var(--spacing) * 12)}aside .nav-menu .nav-bottom{bottom:calc(var(--spacing) * 12);left:calc(var(--spacing) * 12)}}@media (width < 40rem){aside .nav-menu{width:100vw}aside .nav-menu ul.nav{gap:calc(var(--spacing) * 4);padding:calc(var(--spacing) * 6)}aside .nav-menu .nav-btn{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}aside .nav-menu .nav-bottom{bottom:calc(var(--spacing) * 6);left:calc(var(--spacing) * 6)}.menu-opened header::before{background:linear-gradient(to left,transparent 0,var(--muted) 25%,var(--muted) 75%,transparent 100%)}}.menu-opened{overflow:hidden}.btn-primary{background-color:var(--primary);border:none;color:var(--primary-foreground);transform:scale(1);transition:background-color .2s ease-in-out,transform .15s ease-in-out}.btn-primary:hover{transform:scale(1.05)}.btn-secondary{background-color:transparent;border:2px solid var(--primary);color:var(--secondary-foreground);transition:background-color .2s ease-in-out,color .2s ease-in-out,transform .2s ease-in-out}.btn-secondary:hover{background-color:var(--primary);color:var(--primary-foreground)}.btn-container{display:flex;flex-direction:row;gap:1rem;justify-content:center}.btn-container .btn,.btn-container button{border-radius:1000vw;padding:15px 30px;text-align:center}@media (width < 40rem){.btn-container{width:calc(100% + calc(var(--spacing) * 18))}.btn-container .btn,.btn-container button{padding:13px 20px}#home .container p{margin-bottom:30px}}.btn-mouse-container{animation:bounce 1.5s linear infinite;bottom:calc(var(--spacing) * 8);position:absolute}.btn-mouse-container .btn-mouse{border:2px solid var(--primary);border-radius:calc(infinity * 1px);cursor:pointer;display:flex;height:calc(var(--spacing) * 10);justify-content:center;padding-top:calc(var(--spacing) * 2);width:calc(var(--spacing) * 6)}.btn-mouse-container .btn-mouse .btn-mouse-scroll{background-color:var(--primary);border-radius:calc(infinity * 1px);height:calc(var(--spacing) * 2);width:calc(var(--spacing) * 1)}.btn-contact{align-items:center;background-color:var(--primary);border:none;border-radius:calc(var(--radius) + 4px);color:var(--primary-foreground);display:flex;gap:calc(var(--spacing) * 2);justify-content:center;padding-block:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 8);transform:scale(1);transition:background-color .2s ease-in-out,transform .15s ease-in-out}.btn-contact:hover{transform:scale(1.05)}.btn-contact.disabled,.btn-contact:disabled{cursor:not-allowed;opacity:50%}.btn-contact .btn-contact-default{align-items:center;display:flex;flex-direction:row;gap:calc(var(--spacing) * 2);justify-content:center}.btn-contact .btn-contact-sending{align-items:center;display:none;flex-direction:row;gap:calc(var(--spacing) * 2);justify-content:center}.btn-contact:disabled .btn-contact-default{display:none}.btn-contact:disabled .btn-contact-sending{display:flex}.loading-icon{animation:rotate 1s linear infinite;border:2px solid var(--primary-foreground);border-radius:calc(infinity * 1px);border-top-color:transparent;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5)}section h2{font-size:var(--text-6xl);font-weight:var(--font-weight-medium);line-height:var(--tw-leading,var(--text-6xl--line-height));margin-bottom:calc(var(--spacing) * 6);text-align:center}section p{color:color-mix(in oklab,var(--foreground) 80%,transparent);font-size:var(--text-lg);line-height:var(--text-lg--line-height);max-width:var(--container-3xl);margin-inline:auto;text-align:center}section .section-br{background-color:var(--primary);height:calc(var(--spacing) * 1);margin-bottom:calc(var(--spacing) * 8);margin-inline:auto;text-align:center;width:calc(var(--spacing) * 20)}@media (width < 64rem){section .container h2{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width < 40rem){section .container h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}#home{align-items:center;color:var(--foreground);display:flex;flex-direction:column;justify-content:center;min-height:100svh}#home .home-bg{--gradient-color:color-mix(in oklab, var(--muted-foreground) 25%, transparent);background-image:linear-gradient(to right,var(--gradient-color) 1px,transparent 1px),linear-gradient(to bottom,var(--gradient-color) 1px,transparent 1px);background-size:4rem 4rem;height:100%;left:0;mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,#000 70%,transparent 100%);opacity:20%;outline-color:color-mix(in oklab,var(--ring) 50%,transparent);position:absolute;top:0;width:100%}#home .container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:0 20px}#home .container h3{color:var(--muted-foreground);font-size:1rem;letter-spacing:.1em;line-height:24px;margin-bottom:16px;text-align:center;text-transform:uppercase}#home .container h1{color:var(--foreground);display:flex;flex-direction:column;font-size:var(--text-8xl);font-weight:500;letter-spacing:-.025em;line-height:var(--text-8xl--line-height);margin-bottom:calc(var(--spacing) * 6);text-align:center}#home .container h1 span{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}#home .container h1 span:last-child{--gradient-position:to right in oklab;background-image:linear-gradient(var(--gradient-position),var(--foreground) 0,var(--muted-foreground) 100%);background-clip:text;color:transparent}#home .container p{color:var(--muted-foreground);font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-bottom:35px;max-width:42rem;text-align:center}@media (width < 64rem){#home .container h1{font-size:var(--text-8xl);line-height:var(--text-8xl--line-height)}}@media (width < 40rem){#home .container h1{font-size:var(--text-5xl);line-height:var(--text-5xl--line-height)}#home .container h3{font-size:.8rem}#home .container p{font-size:var(--text-lg);line-height:var(--text-lg--line-height);margin-bottom:calc(var(--spacing) * 8)}}#about .about-bg{height:100%;left:0;position:absolute;top:0;width:100%}#about .about-bg .about-bg-img{background-attachment:fixed;background-image:url(../img/about.jpg);background-position:right center;background-repeat:no-repeat;background-size:cover;height:100%;left:0;opacity:1;position:absolute;top:0;width:100%}#about .about-bg .about-bg-img::before{background:linear-gradient(to bottom,rgba(0,0,0,0) 0,var(--background) 50px,rgba(0,0,0,0) 100%);content:"";height:calc(50% + 50px);left:0;pointer-events:none;position:absolute;top:-50px;width:100%}#about .about-bg .about-bg-img::after{background:linear-gradient(to top,var(--background) 0,rgba(0,0,0,0) 100%);bottom:0;content:"";height:50%;left:0;pointer-events:none;position:absolute;width:100%}#about .about-bg .about-bg-overlay{background-color:color-mix(in oklab,var(--background) 50%,transparent);inset:calc(var(--spacing) * 0);position:absolute;transition-duration:0s}#about .content,#about .grid,#about .grid-row{margin-bottom:calc(var(--spacing) * 16)}#about .grid-item{inset:calc(var(--spacing) * 0)}#about .grid-content{--backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background-color:color-mix(in oklab,var(--card) 80%,transparent);border:1px solid var(--border);border-radius:var(--radius-2xl);height:100%;padding:calc(var(--spacing) * 6);transition:transform var(--default-transition-duration) var(--default-transition-timing-function),border-color var(--default-transition-duration) var(--default-transition-timing-function)}#about .grid-content:hover{border-color:var(--primary);transform:translateY(-2.5px) scale(1.025)}#about .grid-item-icon{align-items:center;background-color:color-mix(in oklab,var(--primary) 10%,transparent);border-radius:var(--radius-2xl);display:flex;height:calc(var(--spacing) * 14);justify-content:center;margin-bottom:calc(var(--spacing) * 4);transition:all var(--default-transition-duration) var(--default-transition-timing-function),background-color .1s var(--default-transition-timing-function),color .1s var(--default-transition-timing-function);width:calc(var(--spacing) * 14)}#about .grid-content:hover .grid-item-icon{background-color:var(--primary);color:var(--primary-foreground)}#about .grid-item-title{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 2)}#about .grid-item-desc{color:var(--muted-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-align:start}#about .grid-row-item{align-items:flex-start;display:flex;flex-direction:row;gap:calc(var(--spacing) * 4)}#about .more{--backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background-color:color-mix(in oklab,var(--card) 80%,transparent);border:1px solid var(--border);border-radius:var(--radius-3xl);padding:calc(var(--spacing) * 12)}#about .more h3{line-height:var(--text-3xl--line-height);margin-bottom:calc(var(--spacing) * 8);text-align:center}#about .more .grid{margin-bottom:calc(var(--spacing) * 8)}#about .more .grid-item{align-items:flex-start;display:flex;gap:calc(var(--spacing) * 4)}#about .more .grid-item-icon{align-items:center;background-color:color-mix(in oklab,var(--primary) 10%,transparent);border-radius:calc(var(--radius) + 4px);display:flex;flex-shrink:0;height:calc(var(--spacing) * 12);justify-content:center;width:calc(var(--spacing) * 12)}#about .more .grid-item-title{font-size:var(--text-lg);line-height:var(--text-lg--line-height);margin-bottom:calc(var(--spacing) * 1)}#about .more .grid-item-desc{color:var(--muted-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}#about .tech{border-top:1px solid var(--border);padding-top:calc(var(--spacing) * 8)}#about .tech-title{font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 6);text-align:center}#about .tech-list{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 3);justify-content:center}#about .tech-item{--backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);background-color:color-mix(in oklab,var(--secondary) 50%,transparent);border:1px solid var(--border);border-radius:calc(infinity * 1px);color:var(--secondary-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height);padding-block:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 4);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}@media (width < 40rem){#about .about-bg .about-bg-img{background-attachment:scroll;background-position:90% center}#about .more{padding:calc(var(--spacing) * 8)}#about .more h3{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}#works{background-color:color-mix(in oklab,var(--muted) 30%,transparent)}#works .content{margin-bottom:calc(var(--spacing) * 16)}#works .grid-item{inset:calc(var(--spacing) * 0)}#works .grid-content{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);cursor:pointer;height:100%;overflow:hidden;transform:translateY(0);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}#works .grid-content:hover{border-color:var(--primary);transform:translateY(-5px);transition:transform .2s ease-in 0s}#works .grid-item-img{height:calc(var(--spacing) * 64);overflow:hidden;position:relative;width:100%}#works .grid-item-img img{height:100%;max-width:100%;object-fit:cover;object-position:top center;position:absolute;transform-origin:top center;transition:all .5s var(--default-transition-timing-function);width:100%}#works .grid-item:hover .grid-item-img img{scale:110% 110%}.img-slider{height:100%;overflow:hidden;position:relative;width:100%;z-index:0}.img-slider img{-webkit-animation:slider-fade 10s infinite;animation:slider-fade 10s infinite;height:100%;inset:0;left:0;object-fit:cover;object-position:top center;opacity:0;position:absolute;top:0;width:100%}.img-slider img:nth-of-type(1){opacity:1;animation-delay:0s}.img-slider img:nth-of-type(2){opacity:1;animation-delay:5s}@keyframes slider-fade{0%{opacity:1}40%{opacity:1}50%{opacity:0}90%{opacity:0}100%{opacity:1}}#works .grid-item-img .grid-item-overlay{align-items:flex-end;background:linear-gradient(to top,var(--card) 0,transparent 50%);bottom:0;display:flex;height:100%;justify-content:start;left:0;opacity:0;padding:calc(var(--spacing) * 6);position:absolute;transition:opacity .2s var(--default-transition-timing-function);width:100%}#works .grid-item-img .grid-item-overlay span{background-color:var(--primary);border-radius:calc(infinity * 1px);color:var(--primary-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height);padding-block:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 4)}#works .grid-item:hover .grid-item-img .grid-item-overlay{opacity:1}#works .grid-item-text{padding:calc(var(--spacing) * 6)}#works .grid-item-text-sub{color:var(--muted-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height);margin-bottom:calc(var(--spacing) * 2)}#works .grid-item-text-title{font-size:var(--text-2xl);line-height:var(--text-2xl--line-height);margin-bottom:calc(var(--spacing) * 2)}#works .grid-item-text-desc{color:var(--muted-foreground);font-size:var(--font-size);margin-inline:0;text-align:start}@media (width < 40rem){#works .grid-item-img{height:calc(var(--spacing) * 54)}}#projects .content{margin-bottom:calc(var(--spacing) * 16)}#projects .grid-item{border-radius:var(--radius-2xl);inset:calc(var(--spacing) * 0);overflow:hidden}#projects .grid-content{aspect-ratio:4/5;cursor:pointer;height:100%;overflow:hidden;position:relative;transition:all .7s var(--default-transition-timing-function)}#projects .grid-item-img{border-radius:var(--radius-2xl);height:100%;inset:calc(var(--spacing) * 0);max-width:100%;object-fit:cover;object-position:top center;position:absolute;transition:all .7s var(--default-transition-timing-function);width:100%}#projects .grid-item:hover .grid-item-img{transform:scale(1.1)}#projects .grid-item-overlay{--overlay-color:color-mix(in oklab, var(--background) 100%, transparent);--overlay-color-mid:color-mix(in oklab, var(--background) 100%, transparent 20%);background:linear-gradient(to top,var(--overlay-color) 0,var(--overlay-color-mid) 40%,transparent 100%);height:100%;opacity:1;position:absolute;transition:all .5s var(--default-transition-timing-function);width:100%;z-index:1}#projects .grid-item-overlay::before{border:2px solid var(--accent);border-radius:var(--radius-2xl);content:"";height:calc(100% - 2px);left:-1px;position:absolute;top:-1px;width:calc(100% - 2px)}#projects .grid-item-text{display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding:calc(var(--spacing) * 6);position:absolute;transition:all .5s var(--default-transition-timing-function);width:100%;z-index:2}#projects .grid-item-sub{color:var(--muted-foreground);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing) * 2)}#projects .grid-item-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));margin-bottom:calc(var(--spacing) * 2)}#projects .grid-item-desc{color:var(--muted-foreground);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing) * 4);text-align:start}#projects .grid-item-pills{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}#projects .grid-item-pills span{--pill-border-color:color-mix(in oklab, var(--primary) 30%, transparent);background-color:color-mix(in oklab,var(--primary) 20%,transparent);border:1px solid var(--pill-border-color);border-radius:calc(infinity * 1px);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing) * 1);padding-inline:calc(var(--spacing) * 3)}#projects .grid-item-arrow{align-items:center;background-color:var(--primary);border-radius:calc(infinity * 1px);color:var(--primary-foreground);display:flex;height:calc(var(--spacing) * 12);justify-content:center;opacity:0;position:absolute;right:25px;top:25px;transition:opacity var(--default-transition-timing-function) var(--default-transition-duration);width:calc(var(--spacing) * 12);z-index:3}#projects .grid-item-arrow svg{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6)}#projects .grid-item:hover .grid-item-arrow{opacity:1}#projects .projects-bg{background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:2rem 2rem;inset:0;opacity:20%;position:absolute}#contact{background-color:color-mix(in oklab,var(--muted) 30%,transparent)}#contact p{color:var(--muted-foreground)}#contact h3{line-height:var(--text-3xl--line-height);margin-bottom:calc(var(--spacing) * 8)}#contact .content{margin-bottom:calc(var(--spacing) * 16)}#contact .container{max-width:var(--container-5xl)}#contact .grid{gap:calc(var(--spacing) * 12)}#contact .list{display:flex;flex-direction:column;gap:32px;margin-bottom:calc(var(--spacing) * 8)}#contact .list-item{align-items:flex-start;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);display:flex;gap:calc(var(--spacing) * 4);padding:calc(var(--spacing) * 4);transform:translateX(0);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}#contact .list-item:hover{border-color:var(--primary);transform:translateX(5px)}#contact .list-item-icon{align-items:center;background-color:color-mix(in oklab,var(--primary) 10%,transparent);border-radius:var(--radius-2xl);display:flex;height:calc(var(--spacing) * 12);justify-content:center;transition:all var(--default-transition-duration) var(--default-transition-timing-function),background-color .1s var(--default-transition-timing-function),color .1s var(--default-transition-timing-function);width:calc(var(--spacing) * 12)}#contact .list-item-title{font-size:var(--text-sm);line-height:var(--text-sm--line-height);margin-bottom:calc(var(--spacing) * 1)}#contact .list-item-text{font-weight:var(--font-weight-medium)}#contact .hours{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:calc(var(--spacing) * 6);transform:translateX(0);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}#contact .hours:hover{border-color:var(--primary);transform:translateX(5px)}#contact .hours h4{font-size:var(--text-xl);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 4)}#contact .hours .hours-list{color:var(--muted-foreground);display:flex;flex-direction:column;gap:8px}#contact .hours .hours-list-item{display:flex;justify-content:space-between}#contact .contact-form,#contact .contact-form-content{display:flex;flex-direction:column;gap:24px}#contact .contact-form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--text-sm--line-height);margin-bottom:calc(var(--spacing) * 2)}#contact .contact-form-input,#contact .contact-form-textarea{background-color:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding-block:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 4);transition:all var(--default-transition-duration) var(--default-transition-timing-function);width:100%}#contact .contact-form-textarea{resize:none}#contact .contact-form-input:focus,#contact .contact-form-textarea:focus{border-color:var(--primary)}#contact #recaptcha_element_container{position:fixed;z-index:9}@media (width < 40rem){#contact h3{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}#contact .hours{padding:calc(var(--spacing) * 4)}}footer{background-color:var(--background);border:1px solid var(--border);overflow:hidden;padding-block:calc(var(--spacing) * 12);padding-inline:calc(var(--spacing) * 6);z-index:0}footer .links{column-gap:calc(var(--spacing) * 4);display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:calc(var(--spacing) * 8);row-gap:calc(var(--spacing) * 6)}footer .link-icon{align-items:center;border:2px solid var(--primary);border-radius:calc(infinity * 1px);display:flex;height:calc(var(--spacing) * 14);justify-content:center;transform:translateY(0) scale(1);transition:all var(--default-transition-duration) var(--default-transition-timing-function);width:calc(var(--spacing) * 14)}footer .link-icon:hover{background-color:var(--primary);color:var(--primary-foreground);transform:translateY(-2px) scale(1.1)}footer .link-resume{align-items:center;background-color:var(--primary);border:2px solid var(--primary);border-radius:calc(infinity * 1px);color:var(--primary-foreground);display:flex;flex-direction:row;gap:calc(var(--spacing) * 2);justify-content:center;padding-block:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 6);transform:translateY(0) scale(1);transition:all var(--default-transition-duration) var(--default-transition-timing-function)}footer .link-resume:hover{transform:translateY(-2px) scale(1.1)}footer .heart-icon{color:var(--destructive);display:block;fill:var(--destructive);height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4)}footer .nav{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 8);justify-content:center;margin-bottom:calc(var(--spacing) * 8)}footer .nav .nav-btn{color:var(--muted-foreground);text-transform:capitalize;transition:all var(--default-transition-duration) var(--default-transition-timing-function)}footer .nav .nav-btn:hover{color:var(--foreground)}footer .footer-br{background-color:var(--border);height:1px;margin-bottom:calc(var(--spacing) * 8);width:100%}footer .copyright{text-align:center}footer .copyright p{align-items:center;color:var(--muted-foreground);display:flex;flex-direction:row;flex-wrap:wrap;gap:calc(var(--spacing) * 2);justify-content:center;margin-bottom:calc(var(--spacing) * 4)}footer .copyright span{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:calc(var(--spacing) * 1);justify-content:center}footer .btn-top{appearance:button;color:var(--primary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--text-sm--line-height);text-decoration:none}footer .btn-top:hover{text-decoration:underline}.floater-object{animation:rotateScale 10s linear infinite;contain:paint;opacity:8%;position:absolute;transform-origin:center}.dark .floater-object{opacity:5%}.floater-object svg{height:calc(var(--spacing) * 24);width:calc(var(--spacing) * 24)}.floater-object:nth-child(even) svg{transform:rotate(45deg)}.floater-circle{border:1px solid color-mix(in oklab,var(--primary) 10%,transparent);border-radius:calc(infinity * 1px);contain:paint;filter:blur(.5px);height:calc(var(--spacing) * 64);position:absolute;transform-origin:center;width:calc(var(--spacing) * 64);z-index:10}.floater-glow{animation:scale-1-2 10s linear infinite;background-color:color-mix(in oklab,var(--primary) 8%,transparent);border-radius:calc(infinity * 1px);contain:paint;filter:blur(var(--blur-3xl));height:25rem;position:absolute;transform-origin:center;width:25rem}.floater-glow-2{height:15rem;width:15rem}.dark .floater-glow{background-color:color-mix(in oklab,var(--primary) 5%,transparent)}@media (width < 40rem){.floater-object svg{height:calc(var(--spacing) * 16);width:calc(var(--spacing) * 16)}.floater-glow{height:15rem;width:15rem}.floater-glow-2{height:10rem;width:10rem}}body:has(.modal-overlay.active){overflow:hidden}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));background-color:color-mix(in oklab,var(--background) 80%,transparent);display:flex;flex-direction:column;inset:calc(var(--spacing) * 0);justify-content:center;opacity:0;padding:calc(var(--spacing) * 6);pointer-events:none;position:fixed;transition:all .2s var(--default-transition-timing-function);z-index:200}.modal-overlay.active{opacity:1;pointer-events:auto}.modal{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-3xl);box-shadow:0 25px 50px -12px rgb(0 0 0 / .25);max-height:90vh;max-width:var(--container-4xl);opacity:0;overflow-y:auto;position:relative;transform:scale(0);transition:all .4s var(--default-transition-timing-function);width:100%}.modal-overlay.active .modal{opacity:1;transform:scale(1)}.modal-close,.modal-mobile-close{align-items:center;background-color:var(--background);border:1px solid var(--border);border-radius:calc(infinity * 1px);color:var(--foreground);display:flex;fill:var(--foreground);height:calc(var(--spacing) * 12);justify-content:center;position:absolute;right:calc(var(--spacing) * 6);top:calc(var(--spacing) * 6);transition:all .2s var(--default-transition-timing-function);width:calc(var(--spacing) * 12);z-index:10}.modal-close{opacity:1}.modal-mobile-close{opacity:0}.modal-close:hover,.modal-mobile-close:hover{background-color:var(--primary);color:var(--primary-foreground);fill:var(--primary-foreground)}.modal-close svg,.modal-mobile-close svg{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5)}.modal-img{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl);height:calc(var(--spacing) * 105);overflow:hidden;position:relative}.modal-img img{display:block;height:100%;max-width:100%;object-fit:cover;object-position:top center;width:100%}.modal-img .modal-img-container{height:100%;width:100%;z-index:0}.modal-img .modal-img-overlay{background-image:linear-gradient(to top,var(--card) 0,transparent 50%);inset:calc(var(--spacing) * 0);position:absolute;z-index:1}.modal-link{bottom:calc(var(--spacing) * 6);display:flex;gap:calc(var(--spacing) * 4);padding-top:calc(var(--spacing) * 6);position:absolute;right:calc(var(--spacing) * 6);z-index:2}.modal-link [class^=btn-]{align-items:center;background-color:var(--primary);border-radius:calc(infinity * 1px);color:var(--primary-foreground);display:flex;gap:calc(var(--spacing) * 2);justify-content:center;position:relative;text-decoration:inherit;transition:all var(--default-transition-duration) var(--default-transition-timing-function);padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4)}.modal-link [class^=btn-]:hover{scale:111% 111%}.modal-text{padding:calc(var(--spacing) * 4) calc(var(--spacing) * 8) calc(var(--spacing) * 8)}.modal-text-title{font-family:'Space Grotesk',sans-serif;font-size:var(--text-4xl);font-weight:var(--font-weight-medium);line-height:var(--text-4xl--line-height);margin-bottom:calc(var(--spacing) * 3)}.modal-text-sub{color:var(--muted-foreground);font-size:var(--text-lg);line-height:var(--text-lg--line-height);margin-bottom:calc(var(--spacing) * 6)}.modal-text-desc{margin-bottom:calc(var(--spacing) * 8);max-width:none}.modal-technologies h3{font-family:'Space Grotesk',sans-serif;font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:var(--text-xl--line-height);margin-bottom:calc(var(--spacing) * 4)}.modal-technology-list{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}.modal-technology-list span{background-color:var(--secondary);border-radius:calc(infinity * 1px);color:var(--secondary-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height);padding-block:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 4)}@media (width < 40rem){.modal-overlay{padding:calc(var(--spacing) * 3)}.modal{border-radius:var(--radius-2xl);max-height:100vh}.modal-close,.modal-mobile-close{right:calc(var(--spacing) * 6);top:calc(var(--spacing) * 6)}.modal-close{opacity:0}.modal-mobile-close{opacity:1}.modal-img{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);height:calc(var(--spacing) * 80)}.modal-link{right:calc(var(--spacing) * 3)}.modal-text{padding:calc(var(--spacing) * 3) calc(var(--spacing) * 6) calc(var(--spacing) * 6)}.modal-text-title{font-size:var(--text-3xl);line-height:var(--text-3xl--line-height)}.modal-text-sub{font-size:var(--text-sm);line-height:var(--text-sm--line-height)}}@keyframes icon-rotate-rtl-in{0%{opacity:0;transform:scale(0) rotate(180deg)}75%{transform:scale(1) rotate(0)}100%{opacity:1}}@keyframes icon-rotate-ltr-in{0%{opacity:0;transform:scale(0) rotate(-180deg)}75%{transform:scale(1) rotate(0)}100%{opacity:1}}@keyframes icon-rotate-rtl-out{0%{opacity:1;transform:scale(1) rotate(0)}75%{transform:scale(0) rotate(180deg)}100%{opacity:0}}@keyframes icon-rotate-ltr-out{0%{opacity:1;transform:scale(1) rotate(0)}75%{transform:scale(0) rotate(-180deg)}100%{opacity:0}}@keyframes button-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1.05)}}@keyframes logo-pulse{0%{transform:scale(1)}1.5%{transform:scale(1.08)}3%{transform:scale(1)}100%{transform:scale(1)}}@keyframes rotateScale{0%{opacity:2%;transform:rotate(0) scale(1)}50%{opacity:6%;transform:rotate(180deg) scale(1.2)}100%{opacity:2%;transform:rotate(360deg) scale(1)}}@keyframes scale-1-2{0%{transform:scale(.8)}50%{transform:scale(1.2)}100%{transform:scale(.8)}}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes bounce{0%{transform:translateY(0)}100%,28%{transform:translateY(-10px)}100%{transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes shake-loop{0%,4.76%{transform:translateX(0)}1.19%,3.57%{transform:translateX(-5px)}2.38%{transform:translateX(5px)}100%,4.77%{transform:translateX(0)}}.toast-container{position:fixed;top:calc(109px + 1rem);right:1rem;z-index:10000}.toast{background:var(--card);color:var(--card-foreground);padding:.8rem 1.2rem;margin-top:.6rem;border-radius:4px;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}.toast.success{background:var(--success);color:var(--success-foreground)}.toast.error{background:var(--destructive);color:var(--destructive-foreground)}.toast.show{opacity:1;transform:translateY(0)}.grecaptcha-badge{visibility:hidden!important;z-index:99999}.upcoming-items{animation:bounce 2s linear infinite;text-align:center;width:100%}