@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-Light.woff2)format("woff2"),url(/fonts/PlusJakartaSans-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-Regular.woff2)format("woff2"),url(/fonts/PlusJakartaSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-Medium.woff2)format("woff2"),url(/fonts/PlusJakartaSans-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-SemiBold.woff2)format("woff2"),url(/fonts/PlusJakartaSans-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-Bold.woff2)format("woff2"),url(/fonts/PlusJakartaSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:plus jakarta sans;src:url(/fonts/PlusJakartaSans-ExtraBold.woff2)format("woff2"),url(/fonts/PlusJakartaSans-ExtraBold.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}:root{--primary-50:#fff7ed;--primary-100:#ffedd5;--primary-200:#fed7aa;--primary-300:#fdba74;--primary-400:#fb923c;--primary-500:#f97316;--primary-600:#ea580c;--primary-700:#c2410c;--primary-800:#9a3412;--primary-900:#7c2d12;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--bg-body:var(--slate-50);--bg-card:rgba(255, 255, 255, 0.92);--bg-glass-border:rgba(255, 255, 255, 0.3);--text-main:var(--slate-800);--text-muted:var(--slate-600);--text-inverted:#ffffff;--blob-1:rgba(254, 215, 170, 0.3);--blob-2:rgba(233, 213, 255, 0.3);--blob-3:rgba(251, 207, 232, 0.3)}[data-theme=dark]{--bg-body:var(--slate-900);--bg-card:rgba(30, 41, 59, 0.92);--bg-glass-border:rgba(255, 255, 255, 0.05);--text-main:var(--slate-200);--text-muted:var(--slate-300);--blob-1:rgba(124, 45, 18, 0.1);--blob-2:rgba(49, 46, 129, 0.1);--blob-3:rgba(131, 24, 67, 0.1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:plus jakarta sans,sans-serif;background-color:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .3s ease,color .3s ease,border-color .3s ease}a{text-decoration:none;color:inherit}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:0 0}img{max-width:100%;display:block}.container{max-width:1400px;margin:0 auto;padding-left:1rem;padding-right:1rem;position:relative}.glass{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--bg-glass-border)}.text-gradient{background:linear-gradient(to right,var(--primary-500),#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.text-primary-500{color:var(--primary-500)!important}.text-muted{color:var(--text-muted)}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.pt-4{padding-top:1rem}.ml-2{margin-left:.5rem}.hidden{display:none!important}.justify-center{justify-content:center}.flex-col{display:flex;flex-direction:column}.section-title{font-size:1.875rem;font-weight:700;margin-bottom:3rem;gap:.75rem;display:flex;align-items:center}.section-title i{color:var(--primary-500)}.scroll-mt{scroll-margin-top:8rem}.main-content{padding-top:3rem;display:flex;flex-direction:column;gap:4rem}@media(min-width:1024px){.main-content{padding-top:6rem;gap:6rem}}.bg-decoration{position:fixed;inset:0;z-index:-10;overflow:hidden;pointer-events:none}.blob{position:absolute;width:24rem;height:24rem;border-radius:50%;filter:blur(64px);opacity:.7;mix-blend-mode:multiply}[data-theme=dark] .blob{mix-blend-mode:screen}.blob-1{top:0;left:25%;background-color:var(--blob-1)}.blob-2{top:0;right:25%;background-color:var(--blob-2)}.blob-3{bottom:-2rem;left:33%;background-color:var(--blob-3)}@keyframes blob{0%{transform:translate(0,0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}100%{transform:translate(0,0)scale(1)}}.animate-blob{animation:blob 7s infinite}.delay-2000{animation-delay:2s}.delay-4000{animation-delay:4s}.theme-transition{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.hp-field{display:none}.navbar{position:sticky;top:1rem;margin-top:1rem;width:100%;z-index:50;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;box-shadow:none}.nav-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,6%);transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.nav-logo{font-size:1.25rem;font-weight:700;letter-spacing:-.025em;color:var(--text-main);cursor:pointer}.nav-logo span{color:var(--primary-600);font-weight:700}.nav-logo:hover span{color:var(--primary-700)}.nav-desktop{display:none;align-items:center;gap:1.5rem}@media(min-width:1024px){.nav-desktop{display:flex}}.nav-link{font-size:.875rem;font-weight:500;color:var(--text-main);transition:color .2s ease;position:relative}.nav-link:hover{color:var(--primary-600)}.nav-link.active{color:var(--primary-600)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease;position:relative}.theme-toggle:hover{background-color:rgba(0,0,0,5%)}[data-theme=dark] .theme-toggle:hover{background-color:rgba(255,255,255,.1)}.theme-icon{position:absolute;transition:transform .4s ease,opacity .4s ease;color:var(--slate-600)}.theme-icon--sun{color:#facc15}.theme-icon--moon{color:var(--slate-600)}.theme-icon--sun{opacity:0}.theme-icon--moon{opacity:1}[data-theme=dark] .theme-icon--sun{opacity:1}[data-theme=dark] .theme-icon--moon{opacity:0}.theme-toggle--scale .theme-icon--sun{transform:rotate(-90deg)scale(0)}.theme-toggle--scale .theme-icon--moon{transform:rotate(0)scale(1)}[data-theme=dark] .theme-toggle--scale .theme-icon--sun{transform:rotate(0)scale(1)}[data-theme=dark] .theme-toggle--scale .theme-icon--moon{transform:rotate(90deg)scale(0)}.btn-contact{background-color:var(--primary-700);color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;border-radius:9999px;box-shadow:0 4px 6px -1px rgba(194,65,12,.2);transition:background-color .3s ease}.btn-contact:hover{background-color:var(--primary-800)}.nav-mobile-btn{display:flex;align-items:center;gap:.5rem}@media(min-width:1024px){.nav-mobile-btn{display:none}}.mobile-theme-toggle{display:flex}@media(min-width:1024px){.mobile-theme-toggle{display:none}}.menu-toggle-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;color:var(--text-muted);transition:color .2s ease,background-color .2s ease}.menu-toggle-btn:hover{background-color:var(--slate-200)}[data-theme=dark] .menu-toggle-btn:hover{background-color:var(--slate-700)}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:1.25rem;height:1rem;cursor:pointer}.hamburger-bar{display:block;width:100%;height:2px;background-color:currentColor;border-radius:1px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.menu-toggle-btn.menu-open .hamburger-bar:nth-child(1){transform:translateY(7px)rotate(45deg)}.menu-toggle-btn.menu-open .hamburger-bar:nth-child(2){opacity:0}.menu-toggle-btn.menu-open .hamburger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{position:absolute;top:100%;left:1rem;right:1rem;margin-top:.5rem;padding:1.5rem;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);transform-origin:top;transform:scaleY(0);opacity:0;transition:all .2s ease;visibility:hidden}.mobile-menu.open{transform:scaleY(1);opacity:1;visibility:visible}@media(min-width:1024px){.mobile-menu{display:none!important}}@keyframes slideDown{from{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.mobile-link{font-size:1.125rem;font-weight:500;color:var(--text-main);transition:color .2s ease}.mobile-link:hover{color:var(--primary-500)}.mobile-link.mobile-link-contact{color:var(--primary-600);font-weight:700}.mobile-link.mobile-link-contact:hover{color:var(--primary-700)}.hero{display:flex;flex-direction:column;align-items:center;gap:3rem;text-align:center}@media(min-width:1024px){.hero{flex-direction:row;justify-content:space-between;text-align:left}}.hero-text{flex:1}.hero-text h1{font-size:2.25rem;font-weight:800;line-height:1.1;margin-bottom:1rem;letter-spacing:-.025em}@media(min-width:1024px){.hero-text h1{font-size:4.5rem}}.hero-text h1 strong{background:linear-gradient(to right,var(--primary-500),#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-text p{font-size:1rem;color:var(--text-muted);max-width:36rem;margin:0 auto 1.5rem}@media(min-width:1024px){.hero-text p{margin:0 0 2rem;font-size:1.25rem}}.hero-actions{display:flex;flex-wrap:nowrap;justify-content:center;gap:.5rem}@media(min-width:1024px){.hero-actions{justify-content:flex-start;gap:1rem}}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--slate-900);background-image:none;color:#fff;font-weight:600;padding:.625rem 1rem;font-size:.875rem;border-radius:9999px;transition:all .3s ease}@media(min-width:1024px){.btn-primary{padding:.875rem 2rem;font-size:1rem}}[data-theme=dark] .btn-primary{background-color:#fff;color:var(--slate-900)}.btn-primary:hover{background-color:var(--primary-700);color:#fff}.btn-glass,.btn-icon-glass{display:inline-flex;align-items:center;gap:.5rem;background:0 0;color:var(--text-main);font-weight:600;padding:.625rem 1rem;font-size:.875rem;border-radius:9999px;border:1px solid transparent;backdrop-filter:none;transition:all .3s ease}@media(min-width:1024px){.btn-glass,.btn-icon-glass{padding:.875rem 2rem;font-size:1rem}}.btn-glass:hover,.btn-icon-glass:hover{background-color:rgba(255,255,255,.5);color:var(--primary-500)}[data-theme=dark] .btn-glass:hover,[data-theme=dark] .btn-icon-glass:hover{background-color:rgba(30,41,59,.5)}.hero-img-container{position:relative;width:16rem;height:16rem;flex-shrink:0;aspect-ratio:1}@media(min-width:1024px){.hero-img-container{width:20rem;height:20rem}}.hero-glow{position:absolute;inset:0;background:linear-gradient(to top right,var(--primary-500),#a855f7);border-radius:50%;filter:blur(40px);opacity:.2;animation:pulse 2s cubic-bezier(.4,0,.6,1)infinite}@keyframes pulse{0%,100%{opacity:.2}50%{opacity:.4}}.hero-img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 30%;border:4px solid #fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=dark] .hero-img{border-color:var(--slate-800)}.timeline{position:relative;padding-left:.5rem}.timeline::before{content:'';position:absolute;top:0;bottom:0;left:8px;width:2px;background:var(--slate-200);z-index:0;transition:background-color .3s ease}[data-theme=dark] .timeline::before{background:var(--slate-700)}@media(min-width:1024px){.timeline::before{left:20px}}.timeline-item{position:relative;padding-left:1.2rem;margin-bottom:3rem}@media(min-width:1024px){.timeline-item{padding-left:3.5rem}}.timeline-item:hover .timeline-dot{transform:scale(1.25)}.timeline-dot{position:absolute;left:1px;top:6px;width:16px;height:16px;background-color:var(--bg-body);border:3px solid var(--primary-500);border-radius:50%;z-index:10;box-sizing:border-box;transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease}@media(min-width:1024px){.timeline-dot{left:11px;width:20px;height:20px;border-width:4px}}.timeline-dot.alt{border-color:var(--slate-300)}[data-theme=dark] .timeline-dot.alt{border-color:var(--slate-600)}.timeline-card{padding:1.5rem;border-radius:1rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.timeline-card:hover{border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25);transform:translateY(-.5rem)}[data-theme=dark] .timeline-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.exp-header{display:flex;flex-direction:column;justify-content:space-between;margin-bottom:1rem}@media(min-width:1024px){.exp-header{flex-direction:row;align-items:center}}.exp-title{font-size:1.25rem;font-weight:700}.exp-company{color:var(--primary-700);font-weight:500;display:flex;gap:.5rem;align-items:center}[data-theme=dark] .exp-company{color:var(--primary-400)}.exp-company img{width:1.25rem;height:1.25rem;object-fit:contain}.exp-date{font-size:.875rem;font-family:monospace;color:var(--slate-600);background-color:var(--slate-100);padding:.25rem .75rem;border-radius:9999px;width:fit-content;margin-top:.5rem;transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=dark] .exp-date{background-color:rgba(51,65,85,.5);color:var(--slate-300)}@media(min-width:1024px){.exp-date{margin-top:0}}.exp-list{list-style:disc;list-style-position:inside;font-size:.875rem;color:var(--text-muted);line-height:1.6}.exp-list li::marker{color:var(--primary-500)}.grid-2{display:grid;gap:1.5rem;align-items:stretch}@media(min-width:1024px){.grid-2{grid-template-columns:repeat(2,1fr)}}.cert-grid{display:grid;gap:1.5rem;align-items:start}@media(min-width:1024px){.cert-grid{grid-template-columns:repeat(3,1fr)}}.project-card{padding:1.5rem;border-radius:1rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;backface-visibility:hidden;transform-style:preserve-3d;perspective:1e3px;will-change:transform;padding:2rem;border-radius:1.5rem;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .project-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.icon-box{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.icon-box.blue-icon{background:rgba(59,130,246,.1);color:#3b82f6}.icon-box.green-icon{background:rgba(34,197,94,.1);color:#22c55e}.icon-box.purple-icon{background:rgba(168,85,247,.1);color:#a855f7}.icon-box.yellow-icon{background:rgba(234,179,8,.1);color:#eab308}.github-link{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--slate-500);font-size:1.25rem;transition:background-color .3s ease,color .3s ease}[data-theme=dark] .github-link{color:var(--slate-300)}.github-link:hover{background-color:var(--slate-900);color:#fff}.project-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.project-desc{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.tags-wrapper{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.skill-pill{display:inline-flex;padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:var(--slate-100);color:var(--slate-700);border:1px solid transparent;cursor:default;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .2s ease}[data-theme=dark] .skill-pill{background-color:var(--slate-800);color:var(--slate-300);border-color:var(--slate-700)}.skill-pill:hover{border-color:var(--primary-500);color:var(--primary-600);transform:translateY(-2px)}[data-theme=dark] .skill-pill:hover{color:var(--primary-400)}.edu-card{padding:1.5rem;border-radius:1rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;backface-visibility:hidden;transform-style:preserve-3d;perspective:1e3px;will-change:transform;border-left:4px solid var(--primary-500)}.edu-card:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .edu-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.edu-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.edu-header h3{font-size:1.125rem;font-weight:700;margin-bottom:0}.edu-header img{width:2.5rem;height:2.5rem;object-fit:contain}.edu-loc{color:var(--text-muted);font-size:.875rem}.edu-year{color:var(--slate-500);font-size:.75rem;margin-top:.25rem}[data-theme=dark] .edu-year{color:var(--slate-300)}.cert-card{padding:1.5rem;border-radius:1rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;backface-visibility:hidden;transform-style:preserve-3d;perspective:1e3px;will-change:transform;display:flex;flex-direction:column;height:auto;min-height:14rem}.cert-card:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .cert-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.cert-card:hover{border-color:rgba(249,115,22,.5)}.cert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.cert-icon{width:2.5rem;height:2.5rem;object-fit:contain;display:inline-flex;align-items:center;justify-content:center;font-size:2rem}.ext-link{color:var(--slate-500);transition:color .2s ease}[data-theme=dark] .ext-link{color:var(--slate-300)}.ext-link:hover{color:var(--primary-500)}.cert-title{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.cert-issuer{color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem}.cert-date{font-size:.75rem;color:var(--slate-500);margin-top:auto}[data-theme=dark] .cert-date{color:var(--slate-300)}.fa-docker{color:#0369a1}.fa-linkedin{color:#0077b5}.fa-aws{color:var(--primary-700)}[data-theme=dark] .fa-aws{color:var(--primary-400)}[data-theme=dark] .fa-docker{color:#2496ed}[data-theme=dark] .fa-linkedin{color:#38bdf8}details>summary{list-style:none;cursor:pointer;user-select:none}details>summary::-webkit-details-marker{display:none}.summary-content{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--primary-700);transition:color .3s ease}[data-theme=dark] .summary-content{color:var(--primary-300)}.summary-content:hover{color:var(--primary-800)}[data-theme=dark] .summary-content:hover{color:var(--primary-400)}details[open] .summary-chevron{transform:rotate(180deg)}.summary-chevron{transition:transform .3s ease;display:inline-block}.details-content{overflow:hidden;transition:height .3s ease,opacity .3s ease}.course-list{margin-top:.75rem;font-size:.75rem;color:var(--text-muted);list-style:disc;list-style-position:inside}.about-container{padding:1.5rem;border-radius:1rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;backface-visibility:hidden;transform-style:preserve-3d;perspective:1e3px;will-change:transform;padding:3rem 2rem;position:relative;overflow:hidden}.about-container:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .about-container:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.about-bg-glow{position:absolute;top:0;right:0;width:16rem;height:16rem;background-color:rgba(249,115,22,.1);border-radius:50%;filter:blur(64px);transform:translate(50%,-50%);pointer-events:none}.about-content-wrapper{position:relative;z-index:10}.about-grid{display:grid;gap:3rem}@media(min-width:1024px){.about-grid{grid-template-columns:repeat(3,1fr)}}.about-subtitle{font-size:1.125rem;font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.about-subtitle i{color:var(--primary-500)}.about-text{color:var(--text-muted);font-size:.875rem;line-height:1.7;text-align:justify}.filter-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}.filter-btn{padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:9999px;color:var(--slate-600);background-color:var(--slate-100);border:1px solid transparent;transition:all .3s ease}[data-theme=dark] .filter-btn{background-color:rgba(30,41,59,.5);color:var(--slate-300)}.filter-btn:hover{background-color:var(--primary-100);color:var(--primary-700)}[data-theme=dark] .filter-btn:hover{background-color:rgba(249,115,22,.2);color:var(--primary-400)}.filter-btn.active{background-color:var(--primary-700);color:#fff;box-shadow:0 4px 6px -1px rgba(194,65,12,.3)}.skills-grid{position:relative}.skills-grid .skill-card{padding:1.5rem;border-radius:1rem;height:100%;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease,color .3s ease}.skills-grid .skill-card:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .skills-grid .skill-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.skills-grid .skill-card.hidden{display:none}.skills-grid .skill-card.exiting{pointer-events:none;z-index:0}.skill-title{font-size:.875rem;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;border-bottom:1px solid var(--slate-200);padding-bottom:.5rem;transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=dark] .skill-title{color:var(--slate-300);border-color:var(--slate-700)}@keyframes fadeInCard{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutCard{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.contact-container{width:100%;max-width:60rem;margin:0 auto}@media(min-width:1024px){.contact-container{max-width:none;width:50%}}.contact-intro{text-align:center;margin-bottom:2.5rem}.contact-intro .section-title{margin-bottom:1rem}.contact-intro p{color:var(--text-muted)}.form-card{width:100%;padding:2rem;border-radius:1.5rem;position:relative;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);transition:transform .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.form-card:hover{transform:translateY(-.5rem);border-color:var(--primary-500);box-shadow:0 10px 25px -5px rgba(249,115,22,.25)}[data-theme=dark] .form-card:hover{box-shadow:0 10px 25px -5px rgba(249,115,22,.3)}.form-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}@media(min-width:1024px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-main);margin-left:.25rem;margin-bottom:0}.form-input{width:100%;padding:.75rem 1rem;font-family:inherit;color:var(--text-main);background-color:rgba(248,250,252,.5);border:1px solid var(--slate-200);border-radius:.75rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .3s ease,color .3s ease}[data-theme=dark] .form-input{background-color:rgba(15,23,42,.5);border-color:var(--slate-700)}.form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px rgba(249,115,22,.2)}textarea.form-input{resize:none;min-height:8rem}.resize-none{resize:none}.btn-submit{width:fit-content;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem auto 0;background-color:var(--primary-700);color:#fff;font-weight:700;padding:1rem;border-radius:.75rem;cursor:pointer;box-shadow:0 10px 15px -3px rgba(194,65,12,.2);transition:background-color .2s ease}.btn-submit:hover:not(:disabled){background-color:var(--primary-800)}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.toast{position:absolute;top:1rem;left:50%;transform:translateX(-50%)translateY(20px);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-radius:1.5rem;font-size:.875rem;font-weight:500;white-space:normal;width:90%;max-width:450px;opacity:0;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);transition:opacity .3s ease,transform .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease;pointer-events:none;z-index:20}.toast.visible{transform:translateX(-50%)translateY(0);opacity:1;pointer-events:auto}.toast.toast-success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}[data-theme=dark] .toast.toast-success{background-color:var(--slate-800);color:#4ade80;border-color:#22c55e}.toast.toast-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}[data-theme=dark] .toast.toast-error{background-color:var(--slate-800);color:#f87171;border-color:#ef4444}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(to right,var(--primary-500),#f59e0b);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform .2s ease;z-index:50;box-shadow:0 .25rem 1rem rgba(0,0,0,.2)}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-.25rem)}.footer{text-align:center;color:var(--slate-600);font-size:.875rem;padding:2rem 1.5rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom));margin-top:0;width:100%}[data-theme=dark] .footer{color:var(--slate-300)}.footer-socials{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.footer-socials a{color:var(--slate-600);font-size:1.5rem;transition:color .3s ease,transform .3s ease}[data-theme=dark] .footer-socials a{color:var(--slate-300)}.footer-socials a i{color:inherit!important}.footer-socials a:hover{color:var(--primary-500);transform:translateY(-3px)}.footer-legal{font-size:.75rem;color:var(--slate-600);margin-top:.75rem}[data-theme=dark] .footer-legal{color:var(--slate-300)}@media(max-width:1023px){.container{padding-left:1rem;padding-right:1rem}.section-title{font-size:1.5rem}.grid-3{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.animate-blob{animation:none}}@media print{.navbar,.back-to-top,.bg-decoration,#contact{display:none!important}body{background:#fff;color:#000}.glass{background:#fff;border:1px solid #ccc;backdrop-filter:none}.main-content{padding-top:0}.hero{padding-top:2rem}}