@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}@tailwind base;@tailwind components;@tailwind utilities;:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-monospace:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;--text-base-size:1rem;--text-scale-ratio:1.25;--text-xs:calc(var(--text-base-size) / (var(--text-scale-ratio) * var(--text-scale-ratio)));--text-sm:calc(var(--text-base-size) / var(--text-scale-ratio));--text-md:var(--text-base-size);--text-lg:calc(var(--text-base-size) * var(--text-scale-ratio));--text-xl:calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio));--text-2xl:calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));--text-3xl:calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));--text-4xl:calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));--background-color-light:#fff;--text-color-light:#1a202c;--text-muted-light:#4a5568;--primary-color-light:#2b6cb0;--accent-color-light:#c05621;--header-bg-light:hsla(0,0%,100%,.8);--header-text-light:var(--text-color-light);--footer-bg-light:#f7fafc;--footer-text-light:var(--text-muted-light);--mobile-nav-bg-light:hsla(0,0%,100%,.95);--mobile-nav-text-light:var(--text-color-light);--text-light-r:26;--text-light-g:32;--text-light-b:44;--primary-light-r:43;--primary-light-g:108;--primary-light-b:176;--transition:all 0.25s ease-in-out;--box-shadow-sm:0 1px 3px 0 rgba(0,0,0,.07),0 1px 2px 0 rgba(0,0,0,.04);--box-shadow-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.05);--border-radius:6px;--chatbot-border-radius:12px}body.dark-mode{--background-color-dark:#121212;--text-color-dark:#e2e8f0;--text-muted-dark:#a0aec0;--primary-color-dark:#63b3ed;--accent-color-dark:#f56565;--header-bg-dark:rgba(26,32,44,.85);--header-text-dark:var(--text-color-dark);--footer-bg-dark:#1a202c;--footer-text-dark:var(--text-muted-dark);--mobile-nav-bg-dark:rgba(26,32,44,.95);--mobile-nav-text-dark:var(--text-color-dark);--text-dark-r:226;--text-dark-g:232;--text-dark-b:240;--primary-dark-r:99;--primary-dark-g:179;--primary-dark-b:237;line-height:1.7}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--text-md);line-height:1.7;color:var(--text-color-light);background-color:var(--background-color-light);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark-mode{color:var(--text-color-dark);background-color:var(--background-color-dark)}a{color:var(--primary-color-light);text-decoration:none;transition:color var(--transition)}body.dark-mode a{color:var(--primary-color-dark)}a:focus,a:hover{color:var(--accent-color-light);outline:2px solid transparent;outline-offset:2px}body.dark-mode a:focus,body.dark-mode a:hover{color:var(--accent-color-dark)}h1,h2,h3,h4,h5,h6{margin-bottom:1.25rem;line-height:1.3;font-weight:700;letter-spacing:-.01em}h1{font-size:var(--text-3xl);letter-spacing:-.025em}h2{font-size:var(--text-2xl);letter-spacing:-.02em}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin-bottom:1.25rem;max-width:65ch}.container{max-width:1100px;margin-left:auto;margin-right:auto;padding:0 1.5rem}header{background-color:var(--header-bg-light);color:var(--header-text-light);position:fixed;width:100%;top:0;z-index:100;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease;box-shadow:none}header.scrolled{box-shadow:var(--box-shadow-md);background-color:hsla(0,0%,100%,.95)}body.dark-mode header{background-color:var(--header-bg-dark);color:var(--header-text-dark);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}body.dark-mode header.scrolled{background-color:rgba(26,32,44,.95)}nav{justify-content:space-between;padding:1rem 0;width:100%;position:relative}.logo,nav{display:flex;align-items:center}.logo{flex-shrink:0}.logo a{display:inline-block;transition:opacity .3s ease;color:inherit}.logo-image{height:40px;width:40px;transition:color .3s ease;color:inherit}.logo a:focus .logo-image,.logo a:hover .logo-image{color:var(--accent-color-light)}body.dark-mode .logo a:focus .logo-image,body.dark-mode .logo a:hover .logo-image{color:var(--accent-color-dark)}.nav-menu{display:flex;justify-content:center;flex-grow:1;list-style:none;margin:0;padding:0}.nav-menu li:not(:last-child){margin-right:1.75rem}.nav-menu a{color:inherit;font-weight:500;padding:.5rem .25rem;position:relative;transition:color .3s ease,background-color .3s ease}.nav-menu a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--primary-color-light);transition:width .3s ease}body.dark-mode .nav-menu a:after{background-color:var(--primary-color-dark)}.nav-menu a:focus:after,.nav-menu a:hover:after{width:100%}.nav-menu a:focus,.nav-menu a:hover{color:var(--primary-color-light);background-color:transparent}body.dark-mode .nav-menu a:focus,body.dark-mode .nav-menu a:hover{color:var(--primary-color-dark);background-color:transparent;text-shadow:none}.header-controls{display:flex;align-items:center;flex-shrink:0;gap:.5rem}.hamburger{display:none;cursor:pointer;background:none;border:none;padding:10px;z-index:1001;color:inherit}.hamburger span{display:block;width:25px;height:2px;background-color:currentColor;margin:5px 0;transition:all .3s ease-in-out}@media (max-width:768px){ul.nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background-color:var(--mobile-nav-bg-light);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1rem 0;box-shadow:var(--box-shadow-md);z-index:1000;transition:background-color .3s ease}body.dark-mode ul.nav-menu{background-color:var(--mobile-nav-bg-dark)}ul.nav-menu.active{display:flex}ul.nav-menu li{margin:0;width:100%}ul.nav-menu li a{display:block;padding:.9rem 1.5rem;color:var(--mobile-nav-text-light);font-weight:500;text-align:left;border-bottom:1px solid rgba(var(--text-light-r),var(--text-light-g),var(--text-light-b),.1)}ul.nav-menu li:last-child a{border-bottom:none}body.dark-mode ul.nav-menu a{color:var(--mobile-nav-text-dark);border-bottom-color:rgba(var(--text-dark-r),var(--text-dark-g),var(--text-dark-b),.1)}ul.nav-menu a:after{display:none}ul.nav-menu a:focus,ul.nav-menu a:hover{background-color:rgba(var(--primary-light-r),var(--primary-light-g),var(--primary-light-b),.1);color:var(--primary-color-light)}body.dark-mode ul.nav-menu a:focus,body.dark-mode ul.nav-menu a:hover{background-color:rgba(var(--primary-dark-r),var(--primary-dark-g),var(--primary-dark-b),.2);color:var(--primary-color-dark)}.hamburger{display:block;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.header-controls{margin-right:calc(1.5rem + 40px + .5rem)}nav .logo{padding-left:1.5rem}nav .nav-menu.active{display:flex}.hamburger.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}}#animation-toggle,#dark-mode-toggle{background:none;border:none;cursor:pointer;font-size:1.25rem;color:inherit;transition:color var(--transition);padding:.6rem;display:block}#animation-toggle:focus,#animation-toggle:hover,#dark-mode-toggle:focus,#dark-mode-toggle:hover{color:var(--primary-color-light)}body.dark-mode #animation-toggle:focus,body.dark-mode #animation-toggle:hover,body.dark-mode #dark-mode-toggle:focus,body.dark-mode #dark-mode-toggle:hover{color:var(--primary-color-dark)}#dark-mode-toggle{position:relative}#dark-mode-toggle .fa-moon,#dark-mode-toggle .fa-sun{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity .3s ease}#dark-mode-toggle .fa-moon{opacity:1}#dark-mode-toggle .fa-sun,body.dark-mode #dark-mode-toggle .fa-moon{opacity:0}body.dark-mode #dark-mode-toggle .fa-sun{opacity:1}#main-content{position:relative;z-index:2;padding-top:100px;background:transparent}.section{padding:5rem 0;position:relative}#hero{padding:8rem 0 7rem;min-height:90vh;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--text-color-light);background-color:transparent}body.dark-mode #hero{color:var(--text-color-dark)}#hero h1{font-size:var(--text-4xl);font-weight:900;margin-bottom:.75rem;color:var(--text-color-light)}body.dark-mode #hero h1{color:var(--text-color-dark)}#hero h2{font-size:var(--text-xl);color:var(--primary-color-light);margin-bottom:2rem;font-weight:400}body.dark-mode #hero h2{color:var(--primary-color-dark)}#hero p{font-size:var(--text-lg);color:var(--text-muted-light);margin-left:auto;margin-right:auto;line-height:1.8}body.dark-mode #hero p{color:var(--text-muted-dark)}.cta-buttons{margin-top:2.5rem}.cta-button{display:inline-block;padding:.9rem 2rem;margin:.75rem;text-decoration:none;border-radius:var(--border-radius);transition:transform .2s ease-out,background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;font-weight:500;font-size:var(--text-md);letter-spacing:.025em}.cta-button:focus,.cta-button:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-md);outline:2px solid transparent;outline-offset:3px}.cta-button.primary{background-color:var(--accent-color-light);color:#fff;box-shadow:var(--box-shadow-sm)}body.dark-mode .cta-button.primary{background-color:var(--accent-color-dark);color:#1a202c}.cta-button.primary:focus,.cta-button.primary:hover{background-color:#c5301b}body.dark-mode .cta-button.primary:focus,body.dark-mode .cta-button.primary:hover{background-color:#e53e3e}.cta-button.secondary{border:2px solid var(--primary-color-light);color:var(--primary-color-light);background-color:transparent}.cta-button.secondary:focus,.cta-button.secondary:hover{background-color:var(--primary-color-light);color:#fff}body.dark-mode .cta-button.secondary{border-color:var(--primary-color-dark);color:var(--primary-color-dark)}body.dark-mode .cta-button.secondary:focus,body.dark-mode .cta-button.secondary:hover{background-color:var(--primary-color-dark);color:var(--background-color-dark)}.cta-button.secondary[download]:before{content:"\f019";font-family:Font Awesome\ 6 Free,FontAwesome;font-weight:900;margin-right:.5em}footer{background-color:var(--footer-bg-light);color:var(--footer-text-light);text-align:center;padding:2.5rem 0;margin-top:5rem;border-top:1px solid #e2e8f0}body.dark-mode footer{background-color:var(--footer-bg-dark);color:var(--footer-text-dark);border-top:1px solid #2d3748}footer .container{text-align:center}footer .container p{display:inline-block;text-align:center;margin-left:auto;margin-right:auto}.background-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .7s ease-in-out}.background-container.container-visible{opacity:1;visibility:visible}.background-container.container-hidden{opacity:0;visibility:hidden}.background-container canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background-color-light)}body.dark-mode ::-webkit-scrollbar-track{background:var(--background-color-dark)}::-webkit-scrollbar-thumb{background:#a0aec0;border-radius:4px}body.dark-mode ::-webkit-scrollbar-thumb{background:#4a5568}::-webkit-scrollbar-thumb:hover{background:var(--primary-color-light)}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--primary-color-dark)}.contact-container,.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.contact-item,.skill-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--background-color-light);color:var(--text-color-light);padding:1.5rem;border-radius:var(--border-radius);transition:transform .2s ease-out,background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;text-decoration:none;border:1px solid #e2e8f0;box-shadow:var(--box-shadow-sm);cursor:pointer}body.dark-mode .contact-item,body.dark-mode .skill-icon{background-color:#1a202c;border-color:#2d3748;color:var(--text-color-dark)}.contact-item:focus,.contact-item:hover,.skill-icon:focus,.skill-icon:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--box-shadow-md);background-color:var(--primary-color-light);color:#fff;border-color:var(--primary-color-light)}body.dark-mode .contact-item:focus,body.dark-mode .contact-item:hover,body.dark-mode .skill-icon:focus,body.dark-mode .skill-icon:hover{background-color:var(--primary-color-dark);color:#1a202c;border-color:var(--primary-color-dark)}.contact-item i,.skill-icon i{font-size:2rem;margin-bottom:.75rem;transition:color .2s ease,transform .2s ease-out}.contact-item:focus i,.contact-item:hover i,.skill-icon:focus i,.skill-icon:hover i{color:#fff;transform:scale(1.1)}body.dark-mode .contact-item:focus i,body.dark-mode .contact-item:hover i,body.dark-mode .skill-icon:focus i,body.dark-mode .skill-icon:hover i{color:#1a202c}.contact-item span,.skill-icon span{font-size:var(--text-sm);font-weight:500;text-align:center}#chatbot-container{position:fixed;bottom:20px;right:20px;width:60px;height:60px;background-color:var(--background-color-light);border:1px solid #e2e8f0;border-radius:50%;overflow:hidden;box-shadow:var(--box-shadow-md);transition:width .3s ease,height .3s ease,border-radius .3s ease,background-color .3s ease;display:flex;flex-direction:column;z-index:1000}body.dark-mode #chatbot-container{background-color:#1a202c;border-color:#2d3748}#chatbot-container:not(.chatbot-closed){width:300px;height:400px;border-radius:var(--chatbot-border-radius)}#chatbot-header{background-color:var(--primary-color-light);color:#fff;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}body.dark-mode #chatbot-header{background-color:var(--primary-color-dark)}#chatbot-container.chatbot-closed #chatbot-header{background-color:var(--primary-color-light);width:100%;height:100%;border-radius:50%;display:flex;justify-content:center;align-items:center;padding:0}body.dark-mode #chatbot-container.chatbot-closed #chatbot-header{background-color:var(--primary-color-dark)}#chatbot-header h3{margin:0;font-size:var(--text-md)}#chatbot-container.chatbot-closed #chatbot-header h3{display:none}#chatbot-toggle{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}#chatbot-container.chatbot-closed #chatbot-toggle{font-size:1.5rem}.close-icon,.open-icon{transition:opacity .3s ease,transform .3s ease}#chatbot-container.chatbot-closed .close-icon{display:none}#chatbot-container.chatbot-closed .open-icon{display:block}#chatbot-container:not(.chatbot-closed) .open-icon{display:none}#chatbot-container:not(.chatbot-closed) .close-icon{display:block}#chatbot-messages{flex-grow:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column}#chatbot-container.chatbot-closed #chatbot-messages{display:none}#chatbot-form{display:flex;padding:10px;border-top:1px solid #e2e8f0;flex-shrink:0}body.dark-mode #chatbot-form{border-top-color:#2d3748}#chatbot-container.chatbot-closed #chatbot-form{display:none}#chatbot-input{flex-grow:1;border:1px solid #cbd5e0;padding:.6rem .8rem;border-radius:20px;margin-right:10px;background-color:#f7fafc;color:var(--text-color-light);font-size:var(--text-sm)}body.dark-mode #chatbot-input{background-color:#2d3748;color:var(--text-color-dark);border-color:#4a5568}#chatbot-input:focus{outline:none;border-color:var(--primary-color-light);box-shadow:0 0 0 2px rgba(var(--primary-light-r),var(--primary-light-g),var(--primary-light-b),.3)}body.dark-mode #chatbot-input:focus{border-color:var(--primary-color-dark);box-shadow:0 0 0 2px rgba(var(--primary-dark-r),var(--primary-dark-g),var(--primary-dark-b),.3)}#send-button{background-color:var(--primary-color-light);color:#fff;border:none;border-radius:50%;width:38px;height:38px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease;flex-shrink:0}body.dark-mode #send-button{background-color:var(--primary-color-dark);color:#1a202c}#send-button:focus,#send-button:hover{background-color:var(--accent-color-light);transform:scale(1.05)}body.dark-mode #send-button:focus,body.dark-mode #send-button:hover{background-color:var(--accent-color-dark)}#send-button i{font-size:.9rem}.chatbot-message{max-width:85%;padding:.6rem .9rem;margin-bottom:.75rem;border-radius:16px;line-height:1.5;font-size:var(--text-sm);opacity:0;transform:translateY(10px);animation:fadeInMessage .4s .1s forwards}@keyframes fadeInMessage{to{opacity:1;transform:translateY(0)}}.chatbot-message.user{align-self:flex-end;background-color:var(--primary-color-light);color:#fff}body.dark-mode .chatbot-message.user{background-color:var(--primary-color-dark);color:#1a202c}.chatbot-message.bot{align-self:flex-start;background-color:#e2e8f0;color:var(--text-color-light)}body.dark-mode .chatbot-message.bot{background-color:#2d3748;color:var(--text-color-dark)}#projects{padding:5rem 0}.project-item{background-color:var(--background-color-light);border-radius:var(--border-radius);padding:2rem;margin-bottom:2.5rem;transition:var(--transition);border:1px solid #e2e8f0;box-shadow:var(--box-shadow-sm);position:relative}body.dark-mode .project-item{background-color:#1a202c;border-color:#2d3748;color:var(--text-color-dark)}.project-item:focus-within,.project-item:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-md)}.featured-project{border:2px solid var(--primary-color-light);overflow:hidden}body.dark-mode .featured-project{border-color:var(--primary-color-dark)}.featured-project:after{content:"Featured";position:absolute;top:15px;right:-55px;background:var(--accent-color-light);color:#fff;padding:5px 50px;transform:rotate(45deg);font-size:var(--text-xs);font-weight:700;box-shadow:0 2px 5px rgba(0,0,0,.2);z-index:1;text-align:center;width:180px}body.dark-mode .featured-project:after{background:var(--accent-color-dark)}.project-item h3{margin-top:0;color:var(--primary-color-light);font-size:var(--text-xl);border-bottom:2px solid var(--accent-color-light);padding-bottom:.5rem;margin-bottom:1rem}body.dark-mode .project-item h3{color:var(--primary-color-dark);border-bottom-color:var(--accent-color-dark)}.project-item p{margin-bottom:1rem;line-height:1.7;font-size:var(--text-md)}.project-features{list-style-type:none;padding-left:0;margin-bottom:1.5rem}.project-features li:before{content:"✓";color:var(--accent-color-light);position:absolute;left:0;top:1px;font-weight:700;font-size:1.1em}body.dark-mode .project-features li:before{color:var(--accent-color-dark)}.project-tech{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{display:inline-block;background-color:rgba(var(--primary-light-r),var(--primary-light-g),var(--primary-light-b),.1);color:var(--primary-color-light);padding:.3rem .75rem;border-radius:16px;font-size:var(--text-xs);transition:var(--transition);font-weight:500}body.dark-mode .tech-tag{background-color:rgba(var(--primary-dark-r),var(--primary-dark-g),var(--primary-dark-b),.2);color:var(--primary-color-dark)}.tech-tag:focus,.tech-tag:hover{background-color:var(--primary-color-light);color:#fff;transform:translateY(-2px)}body.dark-mode .tech-tag:focus,body.dark-mode .tech-tag:hover{background-color:var(--primary-color-dark);color:var(--background-color-dark)}.project-link{display:inline-block;padding:.7rem 1.4rem;background-color:var(--primary-color-light);color:#fff;text-decoration:none;border-radius:var(--border-radius);transition:var(--transition);font-weight:500;margin-top:1rem;margin-right:.5rem;font-size:var(--text-sm)}body.dark-mode .project-link{background-color:var(--primary-color-dark);color:var(--background-color-dark)}.project-link:focus,.project-link:hover{background-color:var(--accent-color-light);color:#fff;transform:translateY(-2px)}body.dark-mode .project-link:focus,body.dark-mode .project-link:hover{background-color:var(--accent-color-dark);color:#fff}.project-link i{margin-left:.5em}#blog{padding:5rem 0}.coming-soon-container{text-align:center;padding:3rem 2rem;background-color:#f9f9f9;border-radius:var(--border-radius);box-shadow:var(--box-shadow-md);max-width:600px;margin:0 auto}body.dark-mode .coming-soon-container{background-color:#1a202c;box-shadow:0 0 30px rgba(var(--primary-dark-r),var(--primary-dark-g),var(--primary-dark-b),.1)}.coming-soon-title{font-size:var(--text-2xl);color:var(--primary-color-light);margin-bottom:1rem}body.dark-mode .coming-soon-title{color:var(--primary-color-dark)}.coming-soon-text{font-size:var(--text-lg);color:var(--accent-color-light);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem}body.dark-mode .coming-soon-text{color:var(--accent-color-dark)}.coming-soon-description{font-size:var(--text-md);line-height:1.7;color:var(--text-muted-light)}body.dark-mode .coming-soon-description{color:var(--text-muted-dark)}.sun{position:absolute;width:100px;height:100px;background-color:gold;border-radius:50%;box-shadow:0 0 30px gold,0 0 60px #fffacd;top:50px;left:50px;animation:pulseSun 4s ease-in-out infinite;z-index:0}@keyframes pulseSun{0%,to{transform:scale(1);box-shadow:0 0 30px gold,0 0 60px #fffacd}50%{transform:scale(1.05);box-shadow:0 0 45px gold,0 0 75px #fffacd,0 0 100px gold}}@media (max-width:480px){.container{padding:0 1rem}#hero h1,h1{font-size:var(--text-2xl)}#hero h2{font-size:var(--text-lg)}.cta-button{width:100%;margin-left:0;margin-right:0;margin-bottom:.75rem}.cta-buttons .cta-button:last-child{margin-bottom:0}.contact-container,.skills-container{grid-template-columns:1fr}}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-to-content:focus{position:static;width:auto;height:auto;padding:10px;margin:10px;background-color:var(--primary-color-light);color:#fff;text-align:center;border-radius:var(--border-radius);z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .5s ease-in forwards}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-delay{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in 1s ease-out .5s forwards;opacity:0}.animate-fade-in-delay{animation:fade-in-delay 1s ease-out 1.5s forwards;opacity:0}