*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #6366f1;--secondary-color: #8b5cf6;--accent-color: #06b6d4;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-dark: #0f172a;--text-primary: #1e293b;--text-secondary: #64748b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}html{scroll-snap-type:y mandatory;scroll-behavior:smooth;scroll-padding-top:0}body{font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden}.container{margin:0 auto;padding:0 24px}@media (max-width: 768px){.container{width:100%;padding:0 16px}}@media (max-width: 768px){html{scroll-snap-type:none}section{scroll-snap-align:none!important;scroll-snap-stop:normal!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.navbar{position:fixed;top:0;left:0;right:0;background:#fffffffa;box-shadow:0 2px 10px #0000001a;z-index:1000;padding:15px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:70px}.navbar .container{display:flex;justify-content:space-between;align-items:center;position:relative}.logo a{font-size:1.2rem;font-weight:700;color:var(--primary-color);text-decoration:none;z-index:1002;position:relative}.nav-links{display:flex;gap:30px;align-items:center;transition:all .4s ease-in-out}.nav-links a{color:var(--text-primary);text-decoration:none;font-weight:500;transition:color .3s ease;font-size:.9rem;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;right:0;background-color:var(--primary-color);transition:width .3s ease}.nav-links a:hover:after{width:100%;left:0}.nav-links a:hover{color:var(--primary-color)}.cta-secondary{background:var(--primary-color);color:#fff!important;padding:10px 20px;border-radius:30px;font-weight:500;transition:all .3s ease;border:none;cursor:pointer;font-size:.95rem;display:inline-block}.cta-secondary:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:10px;z-index:1001;position:relative;flex-shrink:0}.mobile-menu-btn span{display:block;width:25px;height:3px;background-color:var(--primary-color, #6366f1);margin:4px 0;transition:all .3s ease;border-radius:3px}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}@media (max-width: 768px){.mobile-menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center}.nav-links{display:flex;position:fixed;top:0;right:-100%;width:80%;max-width:350px;height:100vh;background:#fff;flex-direction:column;justify-content:flex-start;padding:100px 30px 40px;box-shadow:-5px 0 15px #0000001a;transition:right .4s ease-in-out;z-index:1000}.nav-links.active{right:0}.nav-links a,.nav-links .cta-secondary{width:100%;text-align:center;padding:12px 0;font-size:1.1rem}.nav-links a:after{display:none}.nav-links .cta-secondary{margin-top:20px}body.menu-open:after{content:"";position:fixed;inset:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}.hero{min-height:100vh;height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;font-size:.9rem;scroll-snap-align:start;scroll-snap-stop:always;padding-top:70px}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(138,92,246,.3) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;text-align:center;color:#fff;padding:80px 0}.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:24px;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-subheadline{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-bottom:48px;opacity:.95;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6}.cta-primary{display:inline-block;padding:18px 48px;background:#fff;color:var(--primary-color);font-size:1.2rem;font-weight:600;border-radius:50px;text-decoration:none;transition:all .3s ease;box-shadow:0 8px 20px #0003;cursor:pointer;border:none}.cta-primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d}.hero-visual{margin-top:48px;opacity:.9;cursor:pointer;transition:transform .3s ease,opacity .3s ease}.chat-preview{display:inline-flex;align-items:center;gap:12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;border-radius:24px;font-size:1.1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1024px){.hero-content{padding:60px 0}.hero h1{font-size:2.5rem;margin-bottom:20px}.hero-subheadline{font-size:1.2rem;margin-bottom:32px}.cta-primary{padding:14px 32px;font-size:1rem}}@media (max-width: 768px){.hero{height:auto;min-height:100vh;padding:80px 0 60px}.hero-content{padding:40px 0}.hero h1{font-size:2rem;margin-bottom:16px}.hero-subheadline{font-size:1.1rem;margin-bottom:24px}}@media (max-width: 480px){.hero h1{font-size:1.75rem}.hero-subheadline{font-size:1rem}.cta-primary{width:100%;text-align:center}}.skills-section{min-height:100vh;height:100vh;padding:140px 0 100px;background:var(--bg-secondary);display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:60px;color:var(--text-primary)}.skills-carousel-wrapper{position:relative;display:flex;align-items:center;gap:20px}.skills-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 0;scrollbar-width:thin;scrollbar-color:var(--primary-color) transparent;scroll-behavior:smooth;flex:1}.skills-carousel::-webkit-scrollbar{height:8px}.skills-carousel::-webkit-scrollbar-track{background:transparent}.skills-carousel::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}.carousel-nav-btn{background:#fff;border:2px solid var(--primary-color);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease,opacity .3s ease;flex-shrink:0;color:var(--primary-color);box-shadow:var(--shadow-sm)}.carousel-nav-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.1);box-shadow:var(--shadow-md)}.carousel-nav-btn:active{transform:scale(.95)}.carousel-nav-btn svg{width:24px;height:24px}.skill-card{min-width:300px;background:#fff;padding:40px 32px;border-radius:16px;box-shadow:var(--shadow-md);scroll-snap-align:start;transition:all .3s ease;text-align:center}.skill-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.skill-icon{width:80px;height:80px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:20px;font-size:2.5rem}.skill-title{font-size:1.4rem;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.skill-description{font-size:1rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 1024px){.section-title{font-size:2rem;margin-bottom:30px}}@media (max-width: 768px){.skills-section{height:100vh;min-height:100vh;padding:100px 0}.section-title{font-size:1.75rem;margin-bottom:24px}.carousel-nav-btn{display:none}.skills-carousel{padding:15px 5px}.skill-card{min-width:250px;margin:0 8px;padding:20px}}@media (max-width: 480px){.section-title{font-size:1.5rem}.skill-card{min-width:200px}}.chatbot-section{padding:100px 0 40px;background:#fff;min-height:100vh;height:100vh;display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}.chatbot-intro{text-align:center;height:20vh;margin-bottom:32px;display:flex;flex-direction:column;justify-content:center}.chatbot-intro h2{font-size:2.5rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.chatbot-container{width:70vw;max-height:calc(100vh - 240px);height:70vh;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 8px 30px #0000001f;overflow:hidden;border:1px solid #e2e8f0;display:flex;flex-direction:column}.chatbot-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:20px 28px;display:flex;align-items:center;gap:12px}.chatbot-header h3{font-size:1rem;font-weight:600}.chat-messages{height:70vh;padding:28px;overflow-y:auto;background:#f8fafc}.chat-message{margin-bottom:20px;display:flex;gap:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble{max-width:85%;padding:8px 14px;border-radius:14px;background:#fff;box-shadow:0 1px 3px #0000000d;font-size:.9rem;line-height:1.4}.chat-message.bot .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.chat-input-area{padding:12px 16px;background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;position:relative;align-items:flex-end}.chat-input-wrapper{flex:1;position:relative;display:flex;align-items:flex-end}.chat-input{flex:1;padding:10px 16px 10px 44px;border:1px solid #e2e8f0;border-radius:24px;font-size:.95rem;outline:none;transition:all .2s ease;min-height:44px;max-height:120px;resize:none;overflow-y:auto;font-family:inherit;line-height:1.5;width:100%;scrollbar-width:none;-ms-overflow-style:none}.chat-input::-webkit-scrollbar{display:none}.chat-input.has-files{padding-top:48px}.chat-input:focus{border-color:var(--primary-color)}.chat-input:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.6}.chat-message.streaming .message-bubble{animation:pulse 1.5s ease-in-out infinite}.chat-plus-btn{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;background:transparent;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;color:#94a3b8;z-index:10}.chat-plus-btn:hover{background:#f1f5f9;color:var(--primary-color)}.chat-plus-btn.active{background:#e0f2fe;color:var(--primary-color);transform:translateY(-50%) rotate(45deg)}.attachment-popup{position:absolute;bottom:75%;left:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px #0000001a;min-width:107px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s ease;z-index:1000}.attachment-popup.active{opacity:1;visibility:visible;transform:translateY(0)}.attachment-option{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;cursor:pointer;transition:all .15s ease;color:#334155;font-size:.7rem}.attachment-option:hover{background:#f8fafc;color:var(--primary-color)}.attachment-icon{flex-shrink:0;color:#64748b;transition:color .15s ease}.attachment-option:hover .attachment-icon{color:var(--primary-color)}.file-preview-area{position:absolute;left:44px;top:8px;right:16px;display:none;gap:4px;flex-wrap:wrap;z-index:5;align-items:center;pointer-events:auto;background:transparent;min-height:36px}.file-preview-area.has-files{display:flex}.file-preview-item{position:relative;display:flex;align-items:center;gap:4px;padding:2px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.7rem;color:#334155;flex-shrink:0}.file-preview-item.image-preview{padding:2px}.file-preview-image{width:32px;height:32px;object-fit:cover;border-radius:4px}.file-preview-icon{flex-shrink:0;width:16px;height:16px;color:#64748b;margin:0 4px}.file-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;max-width:80px;padding-right:4px}.file-preview-item.image-preview .file-preview-name{display:none}.file-preview-remove{position:absolute;top:1px;right:1px;width:10px;height:10px;background:#000;color:#fff;border:1px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;line-height:1;transition:all .2s ease}.file-preview-remove:hover{background:#dc2626;transform:scale(1.1)}.message-files{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.message-file-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#ffffff26;border-radius:6px;font-size:.75rem}.message-file-item.image-preview{padding:3px}.message-file-image{width:40px;height:40px;object-fit:cover;border-radius:4px}.message-file-icon{width:18px;height:18px}.message-file-name{color:#ffffffe6;font-size:.7rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{line-height:1.5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.calendly-button{display:block;margin:11px auto 0;padding:5px 13px;background:#fff;color:var(--primary-color);font-weight:600;font-size:.7rem;border-radius:24px;text-decoration:none;transition:all .3s ease;box-shadow:0 2px 8px #00000026;border:2px solid white;text-align:center;width:fit-content}.calendly-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000040;background:#fffffff2}.calendly-loader{display:flex;align-items:center;justify-content:center;gap:10px;margin:11px auto 0;padding:8px 16px;width:fit-content}.loader-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-text{color:#fff;font-size:.85rem;font-weight:500}.typing-indicator .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;animation:typing 1.4s ease-in-out infinite}@keyframes typing{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.alternate-contact{text-align:center;font-size:.95rem;color:var(--text-secondary);height:10vh;display:flex;align-items:center;justify-content:center}.alternate-contact div{width:100%}.alternate-contact a{color:var(--primary-color);text-decoration:none;font-weight:500}@media (max-width: 768px){.chatbot-section{padding:0 0 20px}.chatbot-section .container{padding:0}.chatbot-intro{padding:120px 16px 5px;height:30vh;margin-bottom:0}.chatbot-intro h2{font-size:1rem;padding-bottom:5px;margin-bottom:0}.alternate-contact{height:5vh}.chatbot-intro p{font-size:.7rem}.chatbot-container{width:100vw;margin:0;max-width:100%;border-radius:0}.chatbot-header{padding:2px 20px}.chatbot-header h3{font-size:.9rem}.chat-messages{gap:10px;padding:15px}.message-bubble{max-width:90%;padding:6px 10px;font-size:.7rem}.chat-input-container{padding:8px}.chat-input{font-size:16px;min-height:38px;padding:10px 15px}.chat-send-btn{padding:0 12px;font-size:.8rem;height:38px}.send-btn{padding:10px 20px}}@media (max-width: 480px){.chat-messages{height:70vh}}.about-section{min-height:100vh;height:100vh;padding:140px 0 80px;background:var(--bg-secondary);display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}.about-content{max-width:900px;margin:0 auto;display:flex;gap:60px;align-items:center}.about-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.about-text h2{font-size:2.5rem;font-weight:700;margin:0;color:var(--text-primary)}.profile-picture-mobile{display:none}.about-text p{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:20px}.about-highlights{list-style:none;margin-top:32px}.about-highlights li{padding:12px 0;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:12px}.about-highlights li:before{content:"✓";color:var(--primary-color);font-weight:700;font-size:1.3rem}.about-image{flex-shrink:0}.profile-picture{width:280px;height:280px;border-radius:50%;object-fit:cover;box-shadow:0 10px 40px #00000026;border:6px solid white;transition:all .3s ease}.profile-picture:hover{transform:scale(1.05);box-shadow:0 15px 50px #6366f14d}@media (max-width: 768px){.about-section{height:auto;min-height:100vh;padding:100px 0}.about-text p{font-size:.85rem;margin-bottom:10px}.about-content{flex-direction:column;text-align:center}.about-highlights{margin-top:5px}.about-highlights li{padding:3px 0}.about-image{display:none}.about-header{justify-content:center;gap:12px;margin-bottom:15px}.about-text h2{font-size:1.8rem}.profile-picture-mobile{display:block;width:55px;height:55px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #00000026;border:3px solid white}.about-text{margin-bottom:30px}.about-highlights li:before{font-size:1rem}}.faq-section{min-height:100vh;height:100vh;padding:140px 0 80px;background:#fff;display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}.faq-container{max-width:800px;margin:0 auto}.faq-item{margin-bottom:20px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid #e2e8f0}.faq-question{width:100%;padding:24px 28px;background:#fff;border:none;text-align:right;font-size:1.15rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease;font-family:inherit;color:var(--text-primary)}.faq-question:hover{background:var(--bg-secondary)}.faq-answer{padding:0 28px;max-height:0;overflow:hidden;transition:all .3s ease;color:var(--text-secondary);line-height:1.7}.faq-item.active .faq-answer{padding:0 28px 24px;max-height:500px}.faq-icon{transition:transform .3s ease}.faq-item.active .faq-icon{transform:rotate(180deg)}@media (max-width: 768px){.faq-section{height:100vh;min-height:100vh;padding:100px 0}.faq-item{padding:7px;margin-bottom:7px}.faq-question{font-size:1rem;padding:15px 28px}}.final-cta-section{padding:80px 0;background:linear-gradient(135deg,#667eea,#764ba2);text-align:center;color:#fff;position:relative;overflow:hidden}.final-cta-section:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.final-cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:32px}.footer{background:var(--bg-dark);color:#fff;padding:48px 0 32px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:32px}.footer-section h4{font-size:1.2rem;margin-bottom:16px;font-weight:600}.footer-section p,.footer-section a{color:#ffffffb3;text-decoration:none;line-height:1.8;display:block}.footer-section a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);color:#fff9;font-size:.95rem}@media (max-width: 768px){.footer-content{flex-direction:column;text-align:center}.footer-section{margin-bottom:30px}.footer-bottom{padding-top:20px;font-size:.85rem}}
