:root{--background:270 47% 6%;--foreground:270 10% 98%;--card:270 40% 9%;--card-foreground:270 10% 98%;--popover:270 40% 9%;--popover-foreground:270 10% 98%;--primary:265 89% 62%;--primary-foreground:0 0% 100%;--secondary:265 33% 17%;--secondary-foreground:270 10% 98%;--muted:265 33% 17%;--muted-foreground:270 20% 65%;--accent:25 95% 53%;--accent-foreground:0 0% 100%;--destructive:0 62% 30%;--destructive-foreground:270 10% 98%;--border:265 30% 18%;--input:265 30% 18%;--ring:265 89% 62%;--sidebar-background:270 40% 9%;--sidebar-foreground:270 4.8% 95.9%;--sidebar-primary:265 89% 62%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:265 33% 17%;--sidebar-accent-foreground:270 4.8% 95.9%;--sidebar-border:265 30% 18%;--sidebar-ring:265 89% 62%;--radius:0.75rem;--gradient-primary:linear-gradient(135deg,#9048f4,#ae28f0);--gradient-accent:linear-gradient(135deg,#f97415,#f59f0a);--gradient-dark:linear-gradient(180deg,#140b1e,#22182f);--glow-primary:0 0 60px rgba(144,72,244,.3);--glow-accent:0 0 40px rgba(249,116,21,.3);--font-display:"Sora",sans-serif;--font-body:"Inter",sans-serif}.light{--background:270 20% 98%;--foreground:270 20% 10%;--card:270 20% 100%;--card-foreground:270 20% 10%;--popover:270 20% 100%;--popover-foreground:270 20% 10%;--primary:265 89% 62%;--primary-foreground:0 0% 100%;--secondary:270 14% 96%;--secondary-foreground:270 20% 10%;--muted:270 14% 96%;--muted-foreground:270 10% 46%;--accent:25 95% 53%;--accent-foreground:0 0% 100%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:270 13% 91%;--input:270 13% 91%;--ring:265 89% 62%}:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#9048f4;--bs-secondary:#291d3a;--bs-success:#16a249;--bs-info:#0da2e7;--bs-warning:#f59f0a;--bs-danger:#7c1d1d;--bs-light:#f5f3f6;--bs-dark:#0f0816;--bs-primary-rgb:144,72,244;--bs-secondary-rgb:41,29,58;--bs-success-rgb:22,162,73;--bs-info-rgb:13,162,231;--bs-warning-rgb:245,159,10;--bs-danger-rgb:124,29,29;--bs-light-rgb:245,243,246;--bs-dark-rgb:15,8,22;--bs-primary-text-emphasis:#391d62;--bs-secondary-text-emphasis:#100c17;--bs-success-text-emphasis:#09411d;--bs-info-text-emphasis:#05415d;--bs-warning-text-emphasis:#624004;--bs-danger-text-emphasis:#320c0c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#e9dafd;--bs-secondary-bg-subtle:#d4d2d8;--bs-success-bg-subtle:#d0ecdb;--bs-info-bg-subtle:#cfecfa;--bs-warning-bg-subtle:#fdecce;--bs-danger-bg-subtle:#e5d2d2;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#d2b6fb;--bs-secondary-border-subtle:#a9a5b0;--bs-success-border-subtle:#a2dab6;--bs-info-border-subtle:#9edaf6;--bs-warning-border-subtle:#fbd99d;--bs-danger-border-subtle:#cba5a5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33,37,41,.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33,37,41,.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#9048f4;--bs-link-color-rgb:144,72,244;--bs-link-decoration:underline;--bs-link-hover-color:#7339c3;--bs-link-hover-color-rgb:115,57,195;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(144,72,244,.25);--bs-form-valid-color:#16a249;--bs-form-valid-border-color:#16a249;--bs-form-invalid-color:#7c1d1d;--bs-form-invalid-border-color:#7c1d1d}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222,226,230,.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222,226,230,.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#bc91f9;--bs-secondary-text-emphasis:#7f7789;--bs-success-text-emphasis:#73c792;--bs-info-text-emphasis:#6ec7f1;--bs-warning-text-emphasis:#f9c56c;--bs-danger-text-emphasis:#b07777;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#1d0e31;--bs-secondary-bg-subtle:#08060c;--bs-success-bg-subtle:#04200f;--bs-info-bg-subtle:#03202e;--bs-warning-bg-subtle:#312002;--bs-danger-bg-subtle:#190606;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#562b93;--bs-secondary-border-subtle:#191123;--bs-success-border-subtle:#0d612c;--bs-info-border-subtle:#08618b;--bs-warning-border-subtle:#935f06;--bs-danger-border-subtle:#4a1111;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#bc91f9;--bs-link-hover-color:#caa7fa;--bs-link-color-rgb:188,145,249;--bs-link-hover-color-rgb:202,167,250;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:hsla(0,0%,100%,.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}nav.navbar{border-bottom:1px solid transparent;color:hsl(var(--foreground));height:5rem;transition:all .3s ease-in-out}@media(max-width:991.98px){nav.navbar{backdrop-filter:blur(24px);background-color:hsl(var(--background)/.9);height:4rem}}nav.navbar.scrolled{backdrop-filter:blur(24px);background-color:hsl(var(--background)/.8);border-bottom-color:hsl(var(--border)/.5);--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}nav.navbar .navbar-toggler{border:1px solid hsl(var(--border));padding:.5rem .75rem}nav.navbar .navbar-toggler:focus{box-shadow:0 0 0 .25rem hsl(var(--primary)/.25)}nav.navbar .navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}@media(max-width:991.98px){nav.navbar .navbar-collapse{backdrop-filter:blur(24px);background-color:hsl(var(--background)/.95);border-bottom:1px solid hsl(var(--border)/.5);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);left:0;padding:1rem;position:absolute;right:0;top:100%}}nav.navbar a{color:hsl(var(--foreground))}nav.navbar a.navbar-brand{font-family:var(--font-display);font-size:16px;font-weight:600}@media(max-width:575.98px){nav.navbar a.navbar-brand{font-size:14px}}nav.navbar a.navbar-brand:hover{color:hsl(var(--foreground))}nav.navbar ul.navbar-nav{gap:1rem}@media(max-width:991.98px){nav.navbar ul.navbar-nav{gap:.5rem}}nav.navbar ul.navbar-nav .nav-item .nav-link{background-color:transparent;border:1px solid transparent;border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;padding:.5rem 2rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}@media(max-width:991.98px){nav.navbar ul.navbar-nav .nav-item .nav-link{display:block;padding:.75rem 1rem}}nav.navbar ul.navbar-nav .nav-item .nav-link.active,nav.navbar ul.navbar-nav .nav-item .nav-link:hover{background-color:hsl(var(--primary)/.2);border-color:hsl(var(--primary)/.6);color:hsl(var(--foreground))}section#hero-header{align-items:center;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}section#hero-header #hero-background-grid-pattern{background-image:linear-gradient(to right,hsl(var(--border)/.5) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--border)/.5) 1px,transparent 1px);background-size:60px 60px;inset:0;opacity:.3;position:absolute;z-index:-5}section#hero-header #hero-background{background-color:hsl(var(--background));inset:0;position:absolute;--gradient-from:hsl(var(--primary)/.05);--gradient-to:hsl(var(--accent)/.05);--gradient-stops:var(--gradient-from),transparent,var(--gradient-to);background-image:linear-gradient(to bottom,var(--gradient-stops));overflow:hidden;z-index:-10}section#hero-header #hero-background-circle-1{background-color:hsl(var(--primary)/.2);left:25%;top:25%;width:24rem}section#hero-header #hero-background-circle-1,section#hero-header #hero-background-circle-2{animation:animates-bg-circle 2s ease-in-out infinite;aspect-ratio:1;border-radius:1000px;filter:blur(64px);opacity:.3;position:absolute;z-index:-2}section#hero-header #hero-background-circle-2{background-color:hsl(var(--accent)/.2);bottom:25%;right:25%;width:20rem}section#hero-header #hero-content{padding:0 1rem;text-align:center}section#hero-header #hero-content .hero-logo-container{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);background-image:linear-gradient(to right,hsl(var(--primary)/.2),hsl(var(--primary)/.3));border:1px solid hsl(var(--primary)/.8);border-radius:var(--radius);box-shadow:var(--glow-primary);display:inline-flex;flex-direction:column;justify-content:center;padding:20px;width:80px}@media(max-width:767.98px){section#hero-header #hero-content .hero-logo-container{padding:15px;width:60px}}section#hero-header #hero-content h1{font-size:4.5rem;font-weight:700}@media(max-width:991.98px){section#hero-header #hero-content h1{font-size:3.5rem}}@media(max-width:767.98px){section#hero-header #hero-content h1{font-size:2.5rem}}@media(max-width:575.98px){section#hero-header #hero-content h1{font-size:2rem}}section#hero-header #hero-content h2{color:hsl(var(--muted-foreground));font-size:1.875rem;font-weight:500}@media(max-width:767.98px){section#hero-header #hero-content h2{font-size:1.25rem}}@media(max-width:575.98px){section#hero-header #hero-content h2{font-size:1rem}}section#hero-header #hero-content h3{color:hsl(var(--muted-foreground));font-size:1.25rem;font-weight:500}@media(max-width:767.98px){section#hero-header #hero-content h3{font-size:1rem}}section#hero-header #hero-content p{color:hsl(var(--muted-foreground))}section#hero-header #hero-content p svg{color:hsl(var(--primary))}section#hero-header #hero-content .hero-cta{align-items:center;animation-duration:.3s;background:var(--gradient-primary);border-radius:.75rem;color:hsl(var(--primary-foreground));display:inline-flex;font-size:1.125rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}section#hero-header #hero-content .scroll-indicator{animation:animate-scroll-indicator-container 3s ease-in-out infinite;border:2px solid hsl(var(--border));border-radius:100px;bottom:20px;height:2.5rem;left:50%;position:absolute;transform:translateX(-50%);width:1.5rem}section#hero-header #hero-content .scroll-indicator:after{animation:animate-scroll-indicator 3s ease-in-out infinite;aspect-ratio:1/6;background-color:hsl(var(--primary));border-radius:100px;bottom:8px;content:"";height:.75rem;left:50%;position:absolute;transform:translateX(-50%);width:.375rem}@keyframes animate-scroll-indicator-container{0%{bottom:20px}50%{bottom:40px}to{bottom:20px}}@keyframes animate-scroll-indicator{0%{bottom:8px}50%{bottom:calc(100% - .75rem - 8px)}to{bottom:8px}}@keyframes animates-bg-circle{0%{scale:1}50%{scale:1.2}to{scale:1}}section#skills{position:relative}section#skills .bg-background{background-color:hsl(var(--background));inset:0;position:absolute;--gradient-from:hsl(var(--primary)/.05);--gradient-to:hsl(var(--accent)/.05);--gradient-stops:var(--gradient-from),transparent,var(--gradient-to);background-image:linear-gradient(to bottom,var(--gradient-stops));overflow:hidden;z-index:-10}section#skills .title-badge-row{align-items:center;display:flex;gap:.75rem}section#skills .title-badge-row .title-badge{align-items:center;background-color:hsl(var(--primary)/.1);background-image:linear-gradient(to right,hsl(var(--primary)/.2),hsl(var(--accent)/.2));border:1px solid hsl(var(--primary)/.3);border-radius:9999px;color:hsl(var(--foreground));display:flex;gap:.5rem;padding:.5rem 1rem}section#skills .title-badge-row .title-badge svg{color:hsl(var(--accent))}section#skills .title-badge-row .line{background-image:linear-gradient(to right,hsl(var(--primary)/.3),transparent);flex:1 1 0%;height:1px}section#skills .skills .skill{animation-duration:.3s;backdrop-filter:blur(24px);background-color:hsl(var(--card)/.8);border:1px solid hsl(var(--primary)/.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);height:100%;padding:1.5rem;position:relative;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media(max-width:575.98px){section#skills .skills .skill{padding:1rem}}section#skills .skills .skill .name{font-size:1.125rem;font-weight:600;line-height:1.75rem;margin-bottom:.75rem;padding-right:4rem}@media(max-width:575.98px){section#skills .skills .skill .name{font-size:1rem;padding-right:3.5rem}}section#skills .skills .skill .core{align-items:center;background-color:hsl(var(--accent)/.2);border-radius:1000px;color:hsl(var(--accent));display:flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;padding:.25rem .5rem;position:absolute;right:.75rem;top:.75rem}@media(max-width:575.98px){section#skills .skills .skill .core{font-size:.625rem;padding:.2rem .4rem}}section#skills .skills .skill .category{background-color:hsl(var(--secondary)/.8);border:1px solid hsl(var(--border));border-radius:1000px;color:hsl(var(--muted-foreground));font-size:.75rem;padding:.375rem .75rem}@media(max-width:575.98px){section#skills .skills .skill .category{font-size:.625rem;padding:.25rem .5rem}}section#skills .skills .skill-small{padding:1rem}@media(max-width:575.98px){section#skills .skills .skill-small{padding:.75rem}}section#skills .skills .skill-small .name{font-size:.875rem;font-weight:500;margin-bottom:0}@media(max-width:575.98px){section#skills .skills .skill-small .name{font-size:.75rem}}section#skills .category-card{backdrop-filter:blur(24px);background-color:hsl(var(--card)/.8);border:1ps solid hsl(var(--border)/.5);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);padding:1.5rem}@media(max-width:575.98px){section#skills .category-card{padding:1rem}}section#skills .category-card h3{align-items:center;display:flex;font-family:var(--font-display);font-size:1.125rem;font-weight:600;gap:.5rem;margin-bottom:1rem}@media(max-width:575.98px){section#skills .category-card h3{font-size:1rem;margin-bottom:.75rem}}section#skills .category-card h3 .icon{aspect-ratio:1;background-image:linear-gradient(to right,hsl(var(--primary)),hsl(var(--accent)));border-radius:1000px;width:.5rem}section#skills .category-card h3 .count{color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:400}@media(max-width:575.98px){section#skills .category-card h3 .count{font-size:.75rem}}section .extra-skill-button{background-color:hsl(var(--primary));border:none;border-radius:.75rem;color:hsl(var(--primary-foreground));cursor:pointer;display:block;font-weight:500;margin:2rem auto;padding:.75rem 1.5rem;transition:all .3s ease-in-out}section .extra-skill-button:hover{box-shadow:var(--glow-primary);transform:scale(1.05)}section [data-homepage--skills-target=extraSkillContainer]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}section [data-homepage--skills-target=extraSkillContainer].open{grid-template-rows:1fr}section [data-homepage--skills-target=extraSkillContainer] .extra-skill-wrapper{min-height:0;overflow:hidden}section .search{margin:0 auto;max-width:56rem}section .search .skill-search-input{position:relative}section .search .skill-search-input svg{color:hsl(var(--foreground));left:1rem;position:absolute;top:50%;transform:translateY(-50%)}section .search .skill-search-input input{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;color:hsl(var(--foreground));padding:.75rem 1rem .75rem 3rem;transition:all .3s ease-in-out;width:100%}section .search .skill-search-input input:focus,section .search .skill-search-input input:focus-visible{border-color:hsl(var(--primary));box-shadow:var(--glow-primary)}section .search .categories-filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}section .search .categories-filters>div{align-items:center;background-color:hsl(var(--secondary));border-radius:9999px;color:hsl(var(--secondary-foreground));display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease-in-out}section .search .categories-filters>div.active{background-color:hsl(var(--primary));box-shadow:var(--glow-primary);color:hsl(var(--primary-foreground))}section .search .categories-filters>div:hover{box-shadow:var(--glow-primary);cursor:pointer}section#about .about-bento{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(1,1fr);grid-column-gap:1rem;grid-row-gap:1rem}@media(max-width:991.98px){section#about .about-bento{grid-template-columns:1fr;grid-template-rows:auto}}section#about .about-bento .about-main{grid-area:1/1/6/7}@media(max-width:991.98px){section#about .about-bento .about-main{grid-area:auto}}section#about .about-bento .about-main{display:flex;flex-direction:column}section#about .about-bento .about-main .header{align-items:center;display:flex;gap:.75rem}section#about .about-bento .about-main .header .icon{align-items:center;aspect-ratio:1;background-image:linear-gradient(to bottom right,hsl(var(--primary)),hsl(var(--accent)));border-radius:1rem;color:hsl(var(--primary-foreground));display:flex;font-size:1.5rem;justify-content:center;width:4rem}@media(max-width:575.98px){section#about .about-bento .about-main .header .icon{border-radius:.75rem;font-size:1.25rem;width:3rem}}section#about .about-bento .about-main .header .text h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600}@media(max-width:575.98px){section#about .about-bento .about-main .header .text h3{font-size:1.125rem}}section#about .about-bento .about-main .header .text h4{color:hsl(var(--muted-foreground));font-size:1rem;font-weight:400}@media(max-width:575.98px){section#about .about-bento .about-main .header .text h4{font-size:.875rem}}section#about .about-bento .about-main .footer{border-top:1px solid hsl(var(--border));margin-top:auto;padding-top:1.5rem}@media(max-width:991.98px){section#about .about-bento .about-main .footer{margin-top:1.5rem}}section#about .about-bento .about-main .footer h4{align-items:center;color:hsl(var(--foreground));display:flex;font-family:var(--font-display);font-size:1.25rem;font-weight:600;gap:.5rem}section#about .about-bento .about-main .footer h4 svg{color:hsl(var(--accent))}@media(max-width:575.98px){section#about .about-bento .about-main .footer h4{font-size:1.125rem}}section#about .about-bento .about-main .footer .stack{display:flex;flex-wrap:wrap;gap:.5rem}section#about .about-bento .about-main .footer .stack-item{background-color:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.2);border-radius:9999px;color:hsl(var(--primary));font-size:.875rem;font-weight:500;padding:.25rem .75rem}@media(max-width:575.98px){section#about .about-bento .about-main .footer .stack-item{font-size:.75rem;padding:.2rem .6rem}}section#about .about-bento .about-skill{display:flex;flex-direction:column;gap:.75rem;justify-content:center}section#about .about-bento .about-skill .icon{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);border-radius:.75rem;color:hsl(var(--primary));display:flex;font-size:1.5rem;justify-content:center;width:3rem}@media(max-width:575.98px){section#about .about-bento .about-skill .icon{font-size:1.25rem;width:2.5rem}}section#about .about-bento .about-skill h4{color:hsl(var(--foreground));font-family:var(--font-display);font-weight:600}@media(max-width:575.98px){section#about .about-bento .about-skill h4{font-size:1rem}}section#about .about-bento .about-skill p{color:hsl(var(--muted-foreground));font-size:.875rem}section#about .about-bento .about-skill.skill-1{grid-area:1/7/3/10}@media(max-width:991.98px){section#about .about-bento .about-skill.skill-1{grid-area:auto}}section#about .about-bento .about-skill.skill-2{grid-area:1/10/3/13}@media(max-width:991.98px){section#about .about-bento .about-skill.skill-2{grid-area:auto}}section#about .about-bento .about-skill.skill-3{grid-area:3/7/5/10}@media(max-width:991.98px){section#about .about-bento .about-skill.skill-3{grid-area:auto}}section#about .about-bento .about-skill.skill-4{grid-area:3/10/5/13}@media(max-width:991.98px){section#about .about-bento .about-skill.skill-4{grid-area:auto}}section#about .about-bento .about-quote{grid-area:5/7/6/13}@media(max-width:991.98px){section#about .about-bento .about-quote{grid-area:auto}}section#about .about-bento .about-quote{display:flex;flex-direction:column;justify-content:center}section#bookmarks .bookmarks{display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:991.98px){section#bookmarks .bookmarks{grid-template-columns:1fr;grid-template-rows:auto}}section#bookmarks .bookmarks .bookmark{animation-duration:.3s;backdrop-filter:blur(24px);background-color:hsl(var(--card)/.8);border:1px solid hsl(var(--border)/.5);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);display:flex;flex-direction:column;text-decoration:none;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}section#bookmarks .bookmarks .bookmark .image{border-radius:1rem 1rem 0 0;height:160px;overflow:hidden;position:relative}section#bookmarks .bookmarks .bookmark .image img{height:100%;object-fit:cover;transition:all .3s ease-in-out;width:100%}section#bookmarks .bookmarks .bookmark .image .external-link{align-items:center;backdrop-filter:blur(4px);background-color:hsl(var(--background)/.8);border-radius:10000px;color:hsl(var(--foreground));display:flex;font-size:.85rem;justify-content:center;opacity:0;padding:.5rem;position:absolute;right:.75rem;top:.75rem;transition:all .3s ease-in-out;z-index:1000}section#bookmarks .bookmarks .bookmark .image:after{background-image:linear-gradient(to top,hsl(var(--background)/.8),transparent);bottom:0;content:"";height:100%;left:0;position:absolute;width:100%}section#bookmarks .bookmarks .bookmark .body{padding:1.25rem}section#bookmarks .bookmarks .bookmark .body .tags{display:flex;flex-wrap:wrap;gap:.375rem}section#bookmarks .bookmarks .bookmark .body .tags>span{background-color:hsl(var(--accent)/.2);border:1px solid hsl(var(--accent));border-radius:9999px;color:hsl(var(--accent));font-size:.75rem;font-weight:500;padding:.125rem .5rem}section#bookmarks .bookmarks .bookmark .body .title{color:hsl(var(--foreground));display:-webkit-box;font-family:var(--font-display);font-weight:600;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:all .1s ease-in-out}section#bookmarks .bookmarks .bookmark .body .description{color:hsl(var(--muted-foreground));display:-webkit-box;font-size:.875rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}section#bookmarks .bookmarks .bookmark:hover .image img{scale:1.1}section#bookmarks .bookmarks .bookmark:hover .image .external-link{opacity:1}section#bookmarks .bookmarks .bookmark:hover .body .title{color:hsl(var(--primary))}section#contact .contact-bento{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(4,1fr);grid-column-gap:1rem;grid-row-gap:1rem}@media(max-width:991.98px){section#contact .contact-bento{grid-template-columns:1fr;grid-template-rows:auto}}section#contact .contact-bento .form{grid-area:1/1/4/7}@media(max-width:991.98px){section#contact .contact-bento .form{grid-area:auto;order:4}}section#contact .contact-bento .form{display:flex;flex-direction:column;position:relative}section#contact .contact-bento .form .message-sended{align-items:center;backdrop-filter:blur(24px);background:linear-gradient(135deg,hsl(var(--card)/.95),hsl(var(--card)/.85));border-radius:1rem;box-shadow:0 0 transparent,0 0 transparent,0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);display:flex;flex-direction:column;height:0;justify-content:center;left:50%;opacity:0;padding:3rem;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.8);transition:all .4s cubic-bezier(.34,1.56,.64,1);width:0;z-index:10}@media(max-width:575.98px){section#contact .contact-bento .form .message-sended{padding:2rem}}section#contact .contact-bento .form .message-sended .close-btn{align-items:center;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;position:absolute;right:1rem;top:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:2rem}section#contact .contact-bento .form .message-sended .close-btn svg{height:1.25rem;width:1.25rem}section#contact .contact-bento .form .message-sended .close-btn:hover{background:hsl(var(--destructive));border-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}section#contact .contact-bento .form .message-sended .success-icon{align-items:center;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) .2s backwards;background:linear-gradient(135deg,#21c45d,#16a249);border-radius:50%;display:flex;height:4rem;justify-content:center;margin-bottom:1.5rem;width:4rem}@media(max-width:575.98px){section#contact .contact-bento .form .message-sended .success-icon{height:3rem;margin-bottom:1rem;width:3rem}}section#contact .contact-bento .form .message-sended .success-icon svg{color:#fff;height:2.5rem;width:2.5rem}@media(max-width:575.98px){section#contact .contact-bento .form .message-sended .success-icon svg{height:1.75rem;width:1.75rem}}section#contact .contact-bento .form .message-sended h3{animation:slideUp .5s cubic-bezier(.34,1.56,.64,1) .3s backwards;color:hsl(var(--foreground));font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}@media(max-width:575.98px){section#contact .contact-bento .form .message-sended h3{font-size:1.25rem}}section#contact .contact-bento .form .message-sended p{animation:slideUp .5s cubic-bezier(.34,1.56,.64,1) .4s backwards;color:hsl(var(--muted-foreground));line-height:1.6;margin:0;max-width:20rem;text-align:center}@media(max-width:575.98px){section#contact .contact-bento .form .message-sended p{font-size:.875rem}}section#contact .contact-bento .form .message-sended.visible{height:100%;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}section#contact .contact-bento .form form>div{margin-bottom:1.5rem}@media(max-width:575.98px){section#contact .contact-bento .form form>div{margin-bottom:1rem}}section#contact .contact-bento .form form>div label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}section#contact .contact-bento .form form>div input,section#contact .contact-bento .form form>div textarea{background-color:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:.75rem;color:hsl(var(--foreground));padding:.75rem 1rem;width:100%}section#contact .contact-bento .form form>div input::placeholder,section#contact .contact-bento .form form>div textarea::placeholder{color:hsl(var(--muted-foreground))}section#contact .contact-bento .form form button{align-items:center;background:var(--gradient-primary);border:0;border-radius:.75rem;box-shadow:0 0 transparent;color:hsl(var(--primary-foreground));display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:0;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}section#contact .contact-bento .form form button:hover{box-shadow:var(--glow-primary);scale:1.05}section#contact .contact-bento .localisation{grid-area:1/7/2/13}@media(max-width:991.98px){section#contact .contact-bento .localisation{grid-area:auto;order:1}}section#contact .contact-bento .localisation .title{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}@media(max-width:575.98px){section#contact .contact-bento .localisation .title{gap:.75rem}}section#contact .contact-bento .localisation .title .icon{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);border-radius:var(--radius);color:hsl(var(--primary));display:flex;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);width:2.5rem}@media(max-width:575.98px){section#contact .contact-bento .localisation .title .icon{width:2rem}}section#contact .contact-bento .localisation .title .content h4{margin-bottom:0}section#contact .contact-bento .localisation .title .content p,section#contact .contact-bento .localisation>p{color:hsl(var(--muted-foreground));margin-bottom:0}section#contact .contact-bento .localisation>p{font-size:.875rem}section#contact .contact-bento .links{grid-area:2/7/4/13}@media(max-width:991.98px){section#contact .contact-bento .links{grid-area:auto;order:2}}section#contact .contact-bento .links .links-list{display:flex;flex-direction:column;gap:1rem}@media(max-width:575.98px){section#contact .contact-bento .links .links-list{gap:.75rem}}section#contact .contact-bento .links .links-list .link-item{align-items:center;border-radius:.75rem;display:flex;gap:1rem;padding:.75rem;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1)}@media(max-width:575.98px){section#contact .contact-bento .links .links-list .link-item{gap:.75rem;padding:.5rem}}section#contact .contact-bento .links .links-list .link-item .icon{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);border-radius:var(--radius);color:hsl(var(--primary));display:flex;flex-shrink:0;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);width:2.5rem}@media(max-width:575.98px){section#contact .contact-bento .links .links-list .link-item .icon{width:2rem}}section#contact .contact-bento .links .links-list .link-item .content{min-width:0}section#contact .contact-bento .links .links-list .link-item .content h3{color:hsl(var(--foreground));font-family:var(--font-display);font-size:1rem;font-weight:500;margin:0;transition:all .15s cubic-bezier(.4,0,.2,1)}@media(max-width:575.98px){section#contact .contact-bento .links .links-list .link-item .content h3{font-size:.875rem}}section#contact .contact-bento .links .links-list .link-item .content p{color:hsl(var(--muted-foreground));font-size:.875rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:575.98px){section#contact .contact-bento .links .links-list .link-item .content p{font-size:.75rem}}section#contact .contact-bento .links .links-list .link-item:hover{background-color:hsl(var(--secondary))}section#contact .contact-bento .links .links-list .link-item:hover .icon{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}section#contact .contact-bento .links .links-list .link-item:hover .content h3{color:hsl(var(--primary))}section#contact .contact-bento .disponibility{grid-area:4/7/5/13}@media(max-width:991.98px){section#contact .contact-bento .disponibility{grid-area:auto;order:3}}section#contact .contact-bento .links h4,section#contact .contact-bento .localisation h4{color:hsl(var(--foreground));font-family:var(--font-display);font-weight:600}@media(max-width:575.98px){section#contact .contact-bento .links h4,section#contact .contact-bento .localisation h4{font-size:1rem}}footer{background-color:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:3rem 0}@media(max-width:767.98px){footer{padding:2rem 0}}footer .footer-row{align-items:center;display:flex;justify-content:space-between}@media(max-width:767.98px){footer .footer-row{flex-direction:column;gap:1.5rem;text-align:center}}footer .footer-row .left{align-items:center;display:flex;gap:1rem}@media(max-width:767.98px){footer .footer-row .left{flex-direction:column;gap:.75rem}}footer .footer-row .left .icon{align-items:center;aspect-ratio:1;background-image:linear-gradient(to bottom right,hsl(var(--primary)),hsl(var(--primary)/.7));border-radius:var(--radius);box-shadow:0 0 30px rgba(60,131,246,.3);color:hsl(var(--primary-foreground));display:flex;font-size:.875rem;font-weight:700;justify-content:center;width:2.5rem}@media(max-width:575.98px){footer .footer-row .left .icon{font-size:.75rem;width:2rem}}footer .footer-row .left p{color:hsl(var(--muted-foreground));margin-bottom:0}@media(max-width:575.98px){footer .footer-row .left p{font-size:.875rem}}footer .footer-row .right .links{display:flex;gap:1rem}@media(max-width:575.98px){footer .footer-row .right .links{gap:.75rem}}footer .footer-row .right .links .link{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);border-radius:var(--radius);color:hsl(var(--primary));display:flex;justify-content:center;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);width:2.5rem}@media(max-width:575.98px){footer .footer-row .right .links .link{width:2rem}}footer .footer-row .right .links .link:hover{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}main{overflow:hidden;position:relative}.main-logo{align-items:center;aspect-ratio:1;background-color:hsl(var(--primary)/.1);background-image:linear-gradient(to right,hsl(var(--primary)/.2),hsl(var(--primary)/.3));border:1px solid hsl(var(--primary)/.8);border-radius:var(--radius);box-shadow:var(--glow-primary);color:hsl(var(--primary-foreground));display:flex;font-size:.875rem;font-weight:700;justify-content:center;padding:.5rem;width:2.5rem}@media(max-width:767.98px){.main-logo{padding:15px;width:60px}}.main-logo svg{aspect-ratio:1;max-width:100%}nav{position:fixed!important;top:0;width:100%;z-index:10}section{color:#fff!important}section>*{width:100%}section#hero-header{min-height:100vh}section:not(#hero-header){padding:100px 0}@media(max-width:991.98px){section:not(#hero-header){padding:80px 0}}@media(max-width:767.98px){section:not(#hero-header){padding:60px 0}}@media(max-width:575.98px){section:not(#hero-header){padding:40px 0}}section .section-title{font-size:3rem;font-weight:700;text-align:center}@media(max-width:991.98px){section .section-title{font-size:2.5rem}}@media(max-width:767.98px){section .section-title{font-size:2rem}}@media(max-width:575.98px){section .section-title{font-size:1.75rem}}section .section-subtitle{color:hsl(var(--muted-foreground));font-size:1.125rem;text-align:center}@media(max-width:767.98px){section .section-subtitle{font-size:1rem}}.custom-card{backdrop-filter:blur(24px);background-color:hsl(var(--card)/.8);border:1px solid hsl(var(--border)/.5);border-radius:1rem;box-shadow:0 0 transparent,0 0 transparent,0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);padding:2rem}@media(max-width:767.98px){.custom-card{padding:1.5rem}}@media(max-width:575.98px){.custom-card{padding:1rem}}