@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.services-carousel{max-width:1000px;margin:auto;margin-bottom:2rem}.services-carousel h3{margin-bottom:1rem;font-size:1.55rem}.carousel-container{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);grid-column-gap:20px;grid-row-gap:20px;padding-bottom:0;justify-content:center}.service-card{max-width:1000px;background:#ffffff0a;border-radius:8px;padding:18px;box-sizing:border-box;transition:transform .2s,box-shadow .2s,border-color .2s;color:inherit;cursor:pointer;min-width:100%}.service-card h4{margin:0 0 8px}.service-card p{margin:0;opacity:.9}.service-card.active{transform:translateY(-6px);border:1px solid rgba(255,255,255,.06);box-shadow:0 6px 18px #0003}@media (max-width: 600px){.service-card{flex:1 1 90%;max-width:100%}}@media (min-width: 601px) and (max-width: 900px){.service-card{flex:1 1 46%;max-width:48%}}@media (min-width: 901px){.service-card{flex:1 1 30%;max-width:32%}}#messages{scrollbar-width:thin;scrollbar-color:#bbb transparent}#messages::-webkit-scrollbar{width:8px;background:transparent}#messages::-webkit-scrollbar-thumb{background:#bbb;border-radius:8px}#messages::-webkit-scrollbar-track{background:transparent}.typing-dots{display:inline-block;height:1em;vertical-align:middle}.typing-dots span{display:inline-block;width:.4em;height:.4em;margin:0 .1em;background:#fff;border-radius:50%;opacity:.7;animation:typing-bounce 1s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.7}40%{transform:translateY(-8px);opacity:1}}.chat-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000;z-index:1000;display:flex;align-items:flex-end;justify-content:flex-end}.chat-modal{animation:chatIn .2s}@keyframes chatIn{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-fab{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;background:#fff;color:#222;border:none;box-shadow:0 2px 8px #00000026;font-size:2rem;cursor:pointer;z-index:1100;display:flex;align-items:center;justify-content:center;transition:background .2s}.chat-fab:hover{background:#f0f0f0}.chat-close{position:absolute;top:10px;right:18px;background:transparent;border:none;color:#888;font-size:2rem;cursor:pointer;z-index:1200;line-height:1}.chat-close:hover{color:#222}#chatbox.chat-modal{position:relative;bottom:0;right:0;margin:30px 30px 40px 0}#messages .message{margin:8px 0;padding:6px 12px;border-radius:12px;max-width:75%;word-break:break-word;display:inline-block;clear:both}#messages .bot-message{background:#0ea5e9;color:#fff;text-align:left;float:left;border-bottom-left-radius:0}#messages .user-message{background:#fff;color:#222;text-align:right;float:right;border-bottom-right-radius:0}#chatbox{width:500px;height:600px;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;position:fixed;bottom:20px;right:20px;background-color:#111827b3;color:#fff}#messages{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;margin-bottom:10px}#input{width:100%;margin-top:0;margin-bottom:0;border-radius:5px;border:1px solid #ccc;padding:8px;box-sizing:border-box}@media (max-width: 600px){.chat-modal-overlay{align-items:stretch;justify-content:center;background:#00000073}#chatbox.chat-modal{width:100vw!important;height:100vh!important;margin:0!important;border-radius:0!important;padding:14px!important;position:fixed!important;inset:0!important}#messages{flex:1 1 auto;overflow-y:auto}.chat-close{top:12px;right:12px;font-size:1.8rem}.chat-fab{bottom:18px;right:18px;width:56px;height:56px;font-size:1.6rem}}:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-900: #0c4a6e;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--white: #ffffff;--black: #000000}[data-theme=dark]{--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--text-primary: var(--white);--text-secondary: var(--gray-300);--text-muted: var(--gray-400);--border-color: var(--gray-700)}[data-theme=light]{--bg-primary: var(--white);--bg-secondary: var(--gray-50);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--border-color: var(--gray-200)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.container{max-width:1600px;margin:0 auto;padding:0 3rem}.header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .3s ease}.header.scrolled{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000001a}[data-theme=dark] .header.scrolled{background:#111827e6}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none}.logo span{color:var(--primary-500)}.nav-links{display:flex;gap:2rem;list-style:none;position:absolute;left:50%;transform:translate(-50%)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;position:relative;transition:color .3s ease}.nav-link:hover{color:var(--primary-500)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--primary-500);transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:var(--bg-secondary);border:none;padding:.5rem;border-radius:.5rem;cursor:pointer;color:var(--text-secondary);transition:all .3s ease}.theme-toggle:hover{background:var(--primary-500);color:#fff}.theme-toggle img{width:20px}.cta-button{background:var(--primary-500);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:600;transition:all .3s ease;border:none;cursor:pointer}.cta-button:hover{background:var(--primary-600);transform:translateY(-2px)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-50),var(--bg-primary));z-index:-1}[data-theme=dark] .hero-bg{background:linear-gradient(135deg,var(--gray-900),var(--gray-800))}.hero-content{display:flex;align-items:center;justify-content:space-around;text-align:center;margin:0 10vw}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.hero-title span{color:var(--primary-500)}.hero-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1.5rem}.hero-description{font-size:1.125rem;color:var(--text-muted);margin-bottom:2.5rem;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-secondary{background:transparent;color:var(--text-secondary);border:2px solid var(--border-color);padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-secondary:hover{border-color:var(--primary-500);color:var(--primary-500)}.hero-image img{max-width:400px}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.section{padding:5rem 0}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;color:var(--text-primary)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text{font-size:1.125rem;line-height:1.7;color:var(--text-secondary)}.about-text p{margin-bottom:1.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.skill-card{background:var(--bg-secondary);padding:2rem;border-radius:1rem;text-align:center;transition:all .3s ease}.skill-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.skill-icon{font-size:3rem;margin-bottom:1rem;color:var(--primary-500)}.skill-name{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.skill-description{color:var(--text-muted);line-height:1.6}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.project-card{background:var(--bg-secondary);border-radius:1rem;overflow:hidden;transition:all .3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.project-image{width:100%;height:200px;background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem}.project-image img{height:200px;width:50%;object-fit:cover}.project-content{padding:1.5rem}.project-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.project-description{color:var(--text-muted);margin-bottom:1rem;line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--primary-500);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.project-links{display:flex;gap:1rem}.project-link{color:var(--primary-500);text-decoration:none;font-weight:600;transition:color .3s ease}.project-link:hover{color:var(--primary-600)}@media (max-width: 1360px){.hero-content{margin:0 20vw}.hero-image img{max-width:200px;width:100%;margin:0 auto}}@media (max-width: 1024px){.hero-content{flex-direction:column;align-items:center;text-align:center;gap:2rem}.hero-image img{max-width:200px;width:100%;margin:0 auto}}@media (max-width: 768px){.nav-links{display:none}.about-content{grid-template-columns:1fr;gap:2rem}.hero{padding:4rem 0 3rem}.hero-title{font-size:clamp(2.25rem,8vw,3.5rem)}.hero-subtitle{font-size:1.35rem}.hero-description{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center;gap:.75rem}.section{padding:3rem 0}.section-title{font-size:2rem}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr}.container{padding:0 .5rem}.hero-title{font-size:clamp(2rem,9vw,3rem)}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:.95rem}}.about-stats{display:flex;justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.stat-card{background:var(--bg-secondary);padding:1.5rem;border-radius:1rem;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0000001a}.stat-card h3{font-size:2rem;font-weight:700;color:var(--primary-500);margin-bottom:.5rem}.stat-card p{color:var(--text-muted);font-weight:500}.experience-timeline{max-width:800px;margin:0 auto}.experience-item{display:flex;gap:2rem;margin-bottom:3rem;position:relative}.experience-item:before{content:"";position:absolute;left:100px;top:0;bottom:-3rem;width:2px;background:var(--primary-500)}.experience-item:last-child:before{display:none}.experience-period{min-width:100px;font-weight:600;color:var(--primary-500)}.experience-content{flex:1}.experience-role{font-size:1.25rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.experience-company{font-size:1rem;color:var(--primary-500);margin-bottom:.75rem;font-weight:500}.experience-description{color:var(--text-secondary);line-height:1.6}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto}.contact-info h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.contact-info>p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.contact-methods{margin-bottom:2rem}.contact-method{margin-bottom:1rem}.contact-method strong{display:block;color:var(--text-primary);margin-bottom:.25rem}.contact-method a,.contact-method span{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.contact-method a:hover{color:var(--primary-500)}.social-links{display:flex;gap:1rem}.social-links a{color:var(--primary-500);text-decoration:none;font-weight:600;transition:color .3s ease}.social-links a:hover{color:var(--primary-600)}.contact-form{background:var(--bg-secondary);padding:2rem;border-radius:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500)}.footer{background:var(--bg-secondary);padding:2rem 0;border-top:1px solid var(--border-color)}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-text p{color:var(--text-muted);margin-bottom:.25rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--primary-500)}@media (max-width: 768px){.contact-content{grid-template-columns:1fr;gap:2rem}.experience-item{flex-direction:column;gap:1rem}.experience-item:before{left:20px}.stats-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:1rem;text-align:center}}.tech-scroll-container{width:100%;overflow:hidden;background:#0000;padding:1rem 0;position:relative}.tech-scroll{margin:40px 0;display:flex;align-items:center;gap:2rem;white-space:nowrap}.backwards{animation:scroll-horizontal-backwards 60s linear infinite}.forwards{animation:scroll-horizontal-forwards 60s linear infinite}.tech-scroll span{font-size:1rem;font-weight:600;color:var(--text-secondary);transition:all .3s ease;opacity:.8}.tech-scroll span:not(:has(+span)):hover{color:var(--primary-500);opacity:1;transform:scale(1.1)}.tech-scroll-container:hover .tech-scroll{animation-play-state:paused}.tech-item{display:flex;justify-content:space-between;align-items:center;gap:10px}.tech-icon-png{width:50px}@keyframes scroll-horizontal-backwards{0%{transform:translate(0)}to{transform:translate(-74%)}}@keyframes scroll-horizontal-forwards{0%{transform:translate(-64.8%)}to{transform:translate(0)}}@media (max-width: 768px){.tech-scroll{gap:1.5rem;animation-duration:20s}.tech-scroll span{font-size:1rem}}.social-icon{width:25px}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px}.toast{min-width:300px;max-width:400px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 30px #0003;animation:toastSlideIn .3s ease-out;overflow:hidden}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-info{border-left:4px solid #3b82f6}.toast-content{display:flex;align-items:center;padding:12px 16px;gap:12px}.toast-icon{font-size:1.2rem;flex-shrink:0}.toast-icon img{width:20px;height:20px}.toast-message{flex:1;color:var(--text-primary);font-weight:500;font-size:.9rem;line-height:1.4}.toast-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast{animation:toastSlideIn .3s ease-out,toastSlideOut .3s ease-in 4.7s forwards}@keyframes toastSlideOut{to{transform:translate(100%);opacity:0}}.toast:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:currentColor;animation:toastProgress 5s linear forwards;opacity:.3}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media (max-width: 768px){.toast-container{bottom:10px;right:10px;left:10px}.toast{min-width:auto;max-width:none}}
