body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#4f46e5;--secondary-color:#7c3aed;--accent-color:#c026d3;--background:#f8fafc;--section-bg:#fff;--text-color:#1e293b;--light-text:#64748b;--border-color:#e2e8f0;--success-color:#10b981;--error-color:#ef4444;--gradient-primary:linear-gradient(135deg,#4f46e5,#7c3aed);--gradient-secondary:linear-gradient(135deg,#7c3aed,#c026d3);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#f8fafc;background-color:var(--background);color:#1e293b;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6}.main-page-layout{margin:0 auto;max-width:1200px;padding:0 1.5rem}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:1rem}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#7c3aed);background:var(--gradient-primary);-webkit-background-clip:text;font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem}h2{color:#1e293b;color:var(--text-color);display:inline-block;font-size:clamp(2rem,4vw,3rem);margin-bottom:2rem;position:relative}h2:after{background:linear-gradient(135deg,#4f46e5,#7c3aed);background:var(--gradient-primary);border-radius:2px;bottom:-.5rem;content:"";height:4px;left:0;position:absolute;width:60px}h3{color:#1e293b;color:var(--text-color);font-size:1.5rem}p{color:#64748b;color:var(--light-text);margin-bottom:1rem}a{color:#4f46e5;color:var(--primary-color);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}a:hover{color:#7c3aed;color:var(--secondary-color)}section{padding:5rem 0}.primary-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);background:var(--gradient-primary);border:none;border-radius:.75rem;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.8rem 1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.primary-btn:hover{box-shadow:0 8px 24px #4f46e559;color:#fff;transform:translateY(-3px) scale(1.02)}.secondary-btn{background:#0000;border:2px solid #4f46e5;border:2px solid var(--primary-color);border-radius:.75rem;color:#4f46e5;color:var(--primary-color);cursor:pointer;display:inline-block;font-weight:600;padding:.8rem 1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.secondary-btn:hover{background:#4f46e5;background:var(--primary-color);box-shadow:0 6px 20px #4f46e540;color:#fff;transform:translateY(-3px) scale(1.02)}@media (max-width:768px){section{padding:3rem 0}.main-page-layout{padding:0 1rem}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.75rem,3vw,2.5rem)}.primary-btn,.secondary-btn{font-size:.9rem;padding:.7rem 1.2rem}}@media (max-width:480px){section{padding:2rem 0}h1{font-size:clamp(1.75rem,3vw,2.5rem)}h2{font-size:clamp(1.5rem,2.5vw,2rem)}}@media (max-width:900px){.main-content{margin-left:0;padding:20px 8px}.sidebar{flex-direction:row;justify-content:flex-start;min-height:auto;position:static;width:100%}.sidebar,section{padding:16px 8px}}@media (max-width:700px){.main-page-layout{padding:0 4px}.company-projects-section,.featured-works-section,.hero-section,.recent-posts-section{flex-direction:column;padding:18px 8px}.posts-list{flex-direction:column;gap:12px}.works-list{gap:10px}.work-card{flex-direction:column;gap:8px;padding:10px 8px}.skills-section,.timeline-section{padding:18px 8px}.skills-list span{font-size:.95rem;padding:6px 10px}}@media (max-width:600px){.portfolio-container{padding:10px}.portfolio-header h1{font-size:1.5rem}h2{font-size:1.1rem}}.nav{animation:slideDown .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:var(--shadow-sm);left:0;padding:1rem 0;position:fixed;right:0;top:0;z-index:1000}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.nav-content{align-items:center;display:flex;justify-content:space-between}.nav-logo{-webkit-text-fill-color:#0000;background:var(--gradient-primary);background-clip:text;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text-color);font-weight:500;padding:.5rem 0;position:relative}.nav-links a:after{background:var(--gradient-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transition:var(--transition);width:0}.nav-links a:hover:after{width:100%}.nav-accent{background:linear-gradient(180deg,#4f46e5,#7c3aed 50%,#c026d3);bottom:0;left:0;opacity:.9;pointer-events:none;position:absolute;top:0;width:4px}.nav-divider{background:linear-gradient(180deg,#0000,#0000001a,#0000);flex-shrink:0;height:28px;width:1px}.nav-logo{align-items:center;display:inline-flex;gap:0;text-decoration:none;transition:transform .25s ease,opacity .25s ease}.nav-logo:hover{opacity:.95;transform:translateX(2px)}.nav-logo-mark{-webkit-text-fill-color:#fff;align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:8px;box-shadow:0 1px 3px #4f46e540;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;justify-content:center;letter-spacing:.02em;padding:.5rem 1rem;transition:box-shadow .25s ease,transform .25s ease,background .25s ease;white-space:nowrap}.nav-logo:hover .nav-logo-mark{box-shadow:0 2px 8px #4f46e559;transform:scale(1.02)}.nav-logo-sep{background:linear-gradient(180deg,#0000,#0000001f,#0000);flex-shrink:0;height:1.25rem;margin:0 .75rem;width:1px}.nav-logo-label{-webkit-text-fill-color:currentColor;color:var(--light-text);font-size:.9375rem;font-weight:500;letter-spacing:.04em;transition:color .25s ease}.nav-logo:hover .nav-logo-label{color:var(--primary-color)}.nav-auth{margin-left:.5rem}.nav-auth,.nav-signin-card{align-items:center;display:flex}.nav-signin-card{background:linear-gradient(145deg,#fffffff2,#f8fafcfa);border:1px solid #4f46e51f;border-radius:14px;box-shadow:0 2px 12px #4f46e514,inset 0 1px 0 #fffc;flex-direction:column;gap:.5rem;padding:.6rem 1rem .75rem;transition:box-shadow .25s ease,border-color .25s ease}.nav-signin-card:hover{border-color:#4f46e533;box-shadow:0 4px 20px #4f46e51f,inset 0 1px 0 #fffc}.nav-signin-label{color:var(--light-text);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nav-signin-wrap{align-items:center;display:flex}.nav-signin-wrap iframe{border-radius:10px!important;margin:0!important}.nav-user-box{background:linear-gradient(145deg,#fffffffa,#f8fafcfa);border:1px solid #4f46e51f;border-radius:12px;box-shadow:0 2px 10px #4f46e50f,inset 0 1px 0 #fffc;padding:.5rem .85rem}.nav-user-box:hover{border-color:#4f46e533;box-shadow:0 2px 12px #4f46e51a,inset 0 1px 0 #fffc}.nav-user{align-items:center;display:flex;gap:.6rem}.nav-user-avatar{border:2px solid #4f46e540;border-radius:50%;box-shadow:0 1px 4px #00000014;height:36px;object-fit:cover;width:36px}.nav-user-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:center;overflow:hidden;position:relative}.nav-user-avatar-placeholder:before{content:attr(data-normal);content:attr(data-initial);text-transform:uppercase}.nav-user-avatar-placeholder:after{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff1a;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.nav-user-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.nav-user-name{color:var(--text-color);font-size:.9rem;font-weight:600}.nav-user-email,.nav-user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-email{color:var(--light-text);font-size:.75rem}.nav-user-logout{background:#4f46e51a;border:1px solid #4f46e540;border-radius:8px;color:var(--primary-color);cursor:pointer;font-size:.85rem;font-weight:500;padding:.45rem .85rem;transition:background .2s,color .2s,border-color .2s}.nav-user-logout:hover{background:#4f46e526;border-color:#4f46e566}.hero{align-items:center;background:linear-gradient(135deg,var(--background) 0,var(--section-bg) 100%);display:flex;min-height:100vh;padding-top:8rem;text-align:center}.hero.hero-with-bg{background:#0000;overflow:hidden;position:relative}.hero-bg{z-index:0}.hero-bg,.hero-bg-canvas,.hero-bg-overlay{inset:0;position:absolute}.hero-bg-overlay{background:linear-gradient(180deg,#ffffffd1,#f8fafce6);pointer-events:none;z-index:2}.hero-with-bg .hero-content{position:relative;z-index:10}.hero-with-bg .hero-content h1:not(.hero-name){text-shadow:0 1px 2px #fffc}.hero-with-bg .hero-content p{text-shadow:0 1px 1px #fff9}.hero-content{animation:fadeIn 1s ease-out;margin:0 auto;max-width:800px}.hero-content h1{animation:fallDown 1s ease-out forwards;font-size:3rem;margin-bottom:1rem}@keyframes fallDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.hero-content p{animation:slideUp .8s ease-out .2s backwards;color:var(--light-text);font-size:1.25rem;margin-bottom:2rem}.hero-buttons{animation:slideUp .8s ease-out .4s backwards;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.hero-scroll-cta{align-items:center;bottom:2rem;color:var(--primary-color);display:flex;flex-direction:column;gap:.75rem;left:50%;opacity:1;position:absolute;text-decoration:none;transform:translateX(-50%);transition:color .2s ease,transform .2s ease,opacity .3s ease,visibility .3s ease;visibility:visible;z-index:10}.hero-scroll-cta:hover{color:#4338ca}.hero-scroll-cta:hover .hero-scroll-arrow{border-color:var(--primary-color);color:#4338ca;transform:translateY(4px)}.hero-scroll-cta-hidden{opacity:0;transform:translateX(-50%) translateY(10px);visibility:hidden}.hero-scroll-label{font-size:.8rem;font-weight:600;letter-spacing:.12em;opacity:.9;text-transform:uppercase}.hero-scroll-arrow{align-items:center;animation:scrollArrowBounce 2s ease-in-out infinite;background:#ffffffeb;border:2px solid #4f46e559;border-radius:50%;box-shadow:0 4px 14px #4f46e51f;display:flex;height:52px;justify-content:center;transition:border-color .2s ease,color .2s ease,transform .2s ease;width:52px}.hero-scroll-arrow svg{display:block}@keyframes scrollArrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.skills{background-color:var(--section-bg)}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.skill-category{animation:fadeInUp .6s ease-out backwards;background:var(--background);border:1px solid var(--border-color);border-radius:1.5rem;box-shadow:var(--shadow-md);padding:2rem;transition:var(--transition)}.skill-category:first-child{animation-delay:.2s}.skill-category:nth-child(2){animation-delay:.4s}.skill-category:nth-child(3){animation-delay:.6s}.skill-category:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.skill-category h3{color:var(--primary-color);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.skill-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.skill-item{background:var(--section-bg);border:1px solid var(--border-color);border-radius:2rem;color:var(--text-color);font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.skill-item:hover{background:var(--gradient-primary);border-color:#0000;color:#fff;transform:translateY(-2px) scale(1.05)}.experience{background-color:var(--section-bg);padding:4rem 0}.timeline{animation:fadeIn 1s ease-out;margin:4rem auto;max-width:1200px;padding:2rem 0;position:relative}.timeline:before{animation:growLine 1.5s ease-out;background:linear-gradient(180deg,#6366f1,#8b5cf6,#d946ef);border-radius:2px;bottom:0;box-shadow:0 0 20px #6366f14d;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:4px;z-index:1}@keyframes growLine{0%{height:0}to{height:100%}}.timeline-item{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;padding:2rem;position:relative;width:50%;z-index:1}.timeline-item.left{left:0;padding-right:3rem}.timeline-item.right{left:50%;padding-left:3rem}.timeline-item:before{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 0 0 4px var(--background),0 0 0 8px #6366f133;content:"";height:24px;position:absolute;top:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:24px;z-index:2}.timeline-item.left:before{right:-12px}.timeline-item.right:before{left:-12px}.timeline-date{background:var(--background);border:2px solid #6366f11a;border-radius:1rem;box-shadow:0 4px 6px #6366f11a;color:#6366f1;font-size:1.1rem;font-weight:600;padding:.5rem 1.2rem;position:absolute;top:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2}.timeline-item.left .timeline-date{right:-140px}.timeline-item.right .timeline-date{left:-140px}.timeline-logo-container{align-items:center;background:var(--section-bg);border:2px solid var(--border-color);border-radius:50%;box-shadow:var(--shadow-md);display:flex;height:50px;justify-content:center;position:absolute;top:5.5rem;width:50px;z-index:2}.timeline-item.left .timeline-logo-container{right:-25px}.timeline-item.right .timeline-logo-container{left:-25px}.timeline-content{background:var(--section-bg);border:1px solid #6366f11a;border-radius:1.5rem;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:2rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:0}.timeline-content:hover{border-color:#6366f133;box-shadow:0 15px 40px #6366f126;transform:translateY(-5px) scale(1.02)}.timeline-content h3{color:#6366f1;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.timeline-content p{color:#8b5cf6;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.timeline-content ul{list-style:none;margin:0;padding:0}.timeline-content ul li{color:var(--text-color);line-height:1.6;margin-bottom:.8rem;padding-left:1.5rem;position:relative}.timeline-content ul li:before{color:#8b5cf6;content:"→";font-weight:700;left:0;position:absolute}.projects{background-color:var(--background)}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.project-card{animation:fadeInUp .6s ease-out backwards;background:var(--section-bg);border:1px solid var(--border-color);border-radius:1.5rem;box-shadow:var(--shadow-md);overflow:hidden;transition:all .4s ease}.project-card:first-child{animation-delay:.2s}.project-card:nth-child(2){animation-delay:.4s}.project-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-5px) scale(1.02)}.project-image{height:200px;object-fit:cover;width:100%}.project-content{padding:1.5rem}.project-content h3{color:var(--text-color);font-size:1.5rem;margin-bottom:1rem}.project-content p{color:var(--light-text);margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tech-tag{background:var(--background);border:1px solid var(--border-color);border-radius:1rem;color:var(--light-text);font-size:.8rem;padding:.25rem .75rem;transition:all .3s ease}.tech-tag:hover{background:var(--gradient-primary);border-color:#0000;color:#fff;transform:translateY(-2px) scale(1.05)}.project-links{display:flex;gap:1rem;margin-top:1.5rem}.contact{background:linear-gradient(135deg,var(--section-bg) 0,var(--background) 100%);padding:6rem 0;text-align:center}.contact-content{animation:fadeIn 1s ease-out;margin:0 auto;max-width:700px}.contact h2{color:var(--heading-color);font-size:2.5rem;margin-bottom:1.5rem}.contact p{color:var(--text-color);font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.social-links{gap:2rem;margin-top:3rem}.social-link,.social-links{display:flex;justify-content:center}.social-link{align-items:center;background:var(--background);border:1px solid var(--border-color);border-radius:50%;box-shadow:var(--shadow-md);color:var(--primary-color);font-size:2.5rem;padding:1rem;transition:all .4s ease-in-out}.social-link:first-child{animation-delay:.2s}.social-link:nth-child(2){animation-delay:.4s}.social-link:hover{background:var(--gradient-primary);border-color:#0000;box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-5px) scale(1.15) rotate(5deg)}.contact-form-container{background:var(--background);border:1px solid var(--border-color);box-shadow:var(--shadow-md);margin-top:2rem}.contact-form .form-group{margin-bottom:1.5rem;text-align:left}.contact-form label{color:var(--heading-color);display:block;font-weight:600;margin-bottom:.5rem}.contact-form .form-input,.contact-form .form-textarea{background:var(--section-bg);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-color);font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.contact-form .form-input:focus,.contact-form .form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #6366f140;outline:none}.contact-form .submit-btn{background:var(--gradient-primary);border:none;border-radius:2rem;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.contact-form .submit-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.contact-form .loading-spinner{align-items:center;display:flex;justify-content:center}.contact-form .spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;margin-right:.5rem;width:24px}.contact-form .success-message{align-items:center;color:#10b981;display:flex;font-weight:500;justify-content:center;margin-top:1.5rem}.contact-form .success-icon{font-size:1.5rem;margin-right:.5rem}.contact-form .error-message{align-items:center;color:#ef4444;display:flex;font-weight:500;justify-content:center;margin-top:1.5rem}.contact-form .error-icon{font-size:1.5rem;margin-right:.5rem}@media (max-width:768px){.contact{padding:4rem 0}.contact h2{font-size:2rem}.contact p{font-size:1rem}.social-links{gap:1.5rem;margin-top:2rem}.social-link{font-size:2rem;padding:.8rem}.contact-form-container{padding:2rem}}@media (max-width:480px){.social-links{gap:1rem}.social-link{font-size:1.8rem;padding:.6rem}.contact-form-container{padding:1.5rem}}.footer{background:var(--text-color);color:#fff;padding:2rem 0;text-align:center}.footer-content{align-items:center;display:flex;justify-content:space-between}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:#fff;opacity:.8;transition:var(--transition)}.footer-links a:hover{color:var(--primary-color);opacity:1}@media (max-width:768px){.nav-divider,.nav-links{display:none}.nav-signin-card{padding:.5rem .85rem .6rem}.nav-signin-label{font-size:.7rem}.hero{min-height:auto;padding-top:6rem}.hero-content{padding:2rem 0}.hero-buttons{align-items:center;flex-direction:column}.hero-buttons .primary-btn,.hero-buttons .secondary-btn{max-width:300px;width:100%}.projects-grid,.skills-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:1rem}.footer-links{flex-wrap:wrap;justify-content:center}.timeline:before{left:30px}.timeline-item{padding-left:80px;padding-right:0;width:100%}.timeline-item.right{left:0;padding-left:80px}.timeline-item:before{left:20px!important;right:auto!important}.timeline-date{display:inline-block;left:0!important;margin-bottom:1rem;position:relative;right:auto!important;top:0}.timeline-logo-container{height:40px;left:5px!important;position:absolute;right:auto!important;top:2rem;width:40px}.company-logo{height:auto;width:24px}.timeline-content{z-index:0}}@media (max-width:480px){.nav{padding:.8rem 0}.hero-content p{font-size:1.1rem}.project-card,.skill-category{padding:1.5rem}.social-link{font-size:1.2rem;padding:.6rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.chatbot-fab-wrap{align-items:flex-end;bottom:28px;display:flex;flex-direction:column;position:fixed;right:28px;z-index:2147483647}.chatbot-fab-cloud{animation:chatbot-cloud-in .35s ease-out;background:#fff;border:1px solid #c4b5fd80;border-radius:16px;bottom:calc(100% + 12px);box-shadow:0 4px 20px #5b21b633,0 2px 8px #0000000f;color:#4c1d95;font-size:.9rem;font-weight:600;padding:10px 16px;pointer-events:none;position:absolute;right:0;white-space:nowrap}.chatbot-fab-cloud:after{border-left:8px solid #0000;border-right:8px solid #0000;border-top:10px solid #fff;bottom:-8px;content:"";filter:drop-shadow(0 1px 2px rgba(0,0,0,.06));height:0;position:absolute;right:24px;width:0}@keyframes chatbot-cloud-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chatbot-fab{align-items:center;background:linear-gradient(135deg,#5b21b6,#7c3aed);border:none;border-radius:999px;box-shadow:0 6px 20px #5b21b666;cursor:pointer;display:flex;gap:12px;height:72px;justify-content:center;opacity:1;overflow:hidden;padding:0;position:relative;transition:width .35s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,transform .3s ease;visibility:visible;width:72px}.chatbot-fab:not(.open):not(.just-closed):not(.cooldown):hover{box-shadow:0 8px 28px #5b21b680;gap:8px;justify-content:flex-start;padding-left:4px;padding-right:20px;width:280px}.chatbot-fab.cooldown{cursor:default;pointer-events:none}.chatbot-fab.cooldown:hover{box-shadow:0 6px 20px #5b21b666;width:72px}.chatbot-fab.cooldown:hover .fab-label{max-width:0;opacity:0}.chatbot-fab .fab-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:64px;justify-content:center;min-height:64px;min-width:64px;width:64px}.chatbot-fab .fab-img{height:40px;object-fit:contain;pointer-events:none;width:40px}.chatbot-fab .fab-fallback{color:#fff;display:none;font-size:1.4rem;font-weight:700}.chatbot-fab .fab-fallback.show{display:block}.chatbot-fab .fab-label{color:#fff;font-size:1rem;font-weight:600;letter-spacing:.02em;max-width:0;opacity:0;overflow:hidden;transform:translateX(8px);transition:opacity .3s ease .1s,max-width .35s cubic-bezier(.4,0,.2,1),transform .3s ease .1s;white-space:nowrap}.chatbot-fab:hover .fab-label{max-width:220px;opacity:1;transform:translateX(0)}.chatbot-fab.just-closed .fab-label,.chatbot-fab.open .fab-label{display:none}.chatbot-fab.just-closed:hover .fab-label{max-width:0;opacity:0}.chatbot-overlay{background:#0000000f;inset:0;position:fixed;z-index:2147483646}.chatbot-panel{background:linear-gradient(165deg,#faf5ff,#f5f3ff 28%,#fefefe 60%,#f8f7ff);border:1px solid #c4b5fd59;border-radius:20px;bottom:100px;box-shadow:0 12px 48px #0000001a,0 4px 12px #5b21b614;display:flex;flex-direction:column;height:620px;max-height:calc(100vh - 140px);max-width:calc(100vw - 56px);overflow:hidden;position:fixed;right:28px;width:480px;z-index:2147483647}.chatbot-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fffffff2,#faf5fffa);border-bottom:1px solid #c4b5fd4d;padding:16px 20px}.chatbot-header,.chatbot-header-left{align-items:center;display:flex;gap:12px}.chatbot-header-left{flex:1 1;min-width:0}.chatbot-header-user{align-items:center;background:#fffc;border:1px solid #c4b5fd40;border-radius:999px;box-shadow:0 1px 4px #0000000a;display:flex;gap:8px;margin-right:4px;padding:6px 12px}.chatbot-header-user-avatar{border:1px solid #c4b5fd4d;border-radius:50%;height:28px;object-fit:cover;width:28px}.chatbot-header-user-name{color:#4c1d95;font-size:.8rem;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatbot-header-avatar{border-radius:50%;flex-shrink:0;height:52px;overflow:visible;position:relative;width:52px}.chatbot-header-avatar img{border-radius:50%;height:100%;object-fit:cover;position:relative;width:100%;z-index:1}.chatbot-header-avatar .avatar-ring{background:#ede9fe;border:1px solid #ddd6fe;border-radius:50%;inset:-2px;position:absolute;transition:box-shadow .3s ease;z-index:0}.chatbot-header-avatar .avatar-fallback{align-items:center;background:#5b21b6;border-radius:50%;color:#fff;display:none;font-size:.9rem;font-weight:600;inset:0;justify-content:center;position:absolute;z-index:1}.chatbot-header-avatar .avatar-fallback.show{display:flex}.chatbot-header-text{flex:1 1;min-width:0}.chatbot-header-text h3{color:#4c1d95;font-size:1.15rem;font-weight:600;margin:0}.chatbot-header-text .status{color:#6b7280;font-size:.75rem;font-weight:400}.chatbot-close{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;font-size:1.35rem;height:38px;line-height:1;transition:background .2s,color .2s,border-color .2s,transform .2s;width:38px}.chatbot-close:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151;transform:scale(1.05)}.chatbot-messages{background:radial-gradient(ellipse 120% 80% at 50% -20%,#a78bfa1f 0,#0000 50%),radial-gradient(ellipse 80% 50% at 100% 100%,#7c3aed0f 0,#0000 45%),linear-gradient(180deg,#0000,#0000 70%,#f5f3ff80);display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.chatbot-messages .message{align-items:flex-end;display:flex;gap:10px}.chatbot-messages .message.user{flex-direction:row-reverse}.chatbot-messages .message.user .msg-bubble{background:#ede9fe;border:1px solid #ddd6fe;border-radius:18px 18px 4px 18px;color:#4c1d95}.chatbot-messages .msg-avatar{align-items:center;background:#5b21b6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:38px;justify-content:center;overflow:hidden;position:relative;width:38px}.chatbot-messages .msg-avatar img{height:100%;object-fit:cover;width:100%}.chatbot-messages .msg-avatar .msg-avatar-fallback{align-items:center;display:none;inset:0;justify-content:center;position:absolute}.chatbot-messages .msg-avatar .msg-avatar-fallback.show{display:flex}.chatbot-messages .msg-bubble{background:#fff;border:1px solid #e5e7eb;border-radius:18px 18px 18px 4px;box-shadow:0 1px 2px #0000000a;color:#374151;font-size:1rem;line-height:1.55;max-width:85%;padding:14px 18px}.chatbot-messages .msg-bubble.streaming:after{animation:chatbot-stream-cursor .8s ease-in-out infinite;background:#5b21b6;content:"";display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}.chatbot-messages .msg-bubble .msg-markdown{word-break:break-word}.chatbot-messages .msg-bubble .msg-markdown p{margin:0 0 .5em}.chatbot-messages .msg-bubble .msg-markdown p:last-child{margin-bottom:0}.chatbot-messages .msg-bubble .msg-markdown strong{color:inherit;font-weight:600}.chatbot-messages .msg-bubble .msg-markdown ol,.chatbot-messages .msg-bubble .msg-markdown ul{margin:.4em 0;padding-left:1.25em}.chatbot-messages .msg-bubble .msg-markdown li{margin:.2em 0}.chatbot-messages .msg-bubble .msg-markdown a{border-bottom:1px solid #5b21b666;color:#5b21b6;text-decoration:none}.chatbot-messages .msg-bubble .msg-markdown a:hover{border-bottom-color:#5b21b6}.chatbot-messages .msg-bubble .msg-markdown h1,.chatbot-messages .msg-bubble .msg-markdown h2,.chatbot-messages .msg-bubble .msg-markdown h3{font-size:1em;font-weight:600;line-height:1.3;margin:.6em 0 .3em}.chatbot-messages .msg-bubble .msg-markdown h1:first-child,.chatbot-messages .msg-bubble .msg-markdown h2:first-child,.chatbot-messages .msg-bubble .msg-markdown h3:first-child{margin-top:0}.chatbot-messages .msg-bubble .msg-markdown code{background:#0000000f;border-radius:4px;font-size:.9em;padding:.15em .4em}.chatbot-messages .msg-bubble .msg-markdown pre{background:#0000000f;border-radius:8px;margin:.5em 0;overflow-x:auto;padding:.75em}.chatbot-messages .msg-bubble .msg-markdown pre code{background:none;padding:0}.chatbot-messages .msg-bubble .msg-markdown blockquote{border-left:3px solid #e5e7eb;color:#6b7280;margin:.5em 0;padding-left:1em}@keyframes chatbot-stream-cursor{0%,50%{opacity:1}51%,to{opacity:0}}.chatbot-messages .msg-bubble.typing{display:flex;gap:4px;padding:16px 20px}.chatbot-messages .msg-bubble.typing span{animation:chatbot-bounce .6s ease-in-out infinite;background:#9ca3af;border-radius:50%;height:6px;width:6px}.chatbot-messages .msg-bubble.typing span:nth-child(2){animation-delay:.1s}.chatbot-messages .msg-bubble.typing span:nth-child(3){animation-delay:.2s}@keyframes chatbot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chatbot-email-cta{align-self:stretch;margin:8px 0;padding:0 4px}.chatbot-email-cta-btn{align-items:center;background:linear-gradient(135deg,#5b21b6,#7c3aed);border:none;border-radius:14px;box-shadow:0 4px 14px #5b21b659;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:10px;padding:14px 20px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.chatbot-email-cta-btn:hover{box-shadow:0 6px 20px #5b21b673;transform:translateY(-1px)}.chatbot-email-cta-btn:active{transform:translateY(0)}.chatbot-email-cta-btn .email-cta-icon{font-size:1.25rem;line-height:1}.chatbot-email-form{background:#fafafa;border:1px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;gap:12px;padding:16px}.chatbot-email-form .chatbot-email-input,.chatbot-email-form .chatbot-email-textarea{border:1px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:.95rem;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.chatbot-email-form .chatbot-email-input:focus,.chatbot-email-form .chatbot-email-textarea:focus{border-color:#5b21b6;box-shadow:0 0 0 3px #5b21b61f}.chatbot-email-form .chatbot-email-textarea{min-height:80px;resize:vertical}.chatbot-email-error{color:#b91c1c;font-size:.85rem;margin:0}.chatbot-email-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.chatbot-email-cancel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:background .2s,color .2s}.chatbot-email-cancel:hover:not(:disabled){background:#f3f4f6;color:#374151}.chatbot-email-submit{background:linear-gradient(135deg,#5b21b6,#6d28d9);border:none;border-radius:10px;box-shadow:0 2px 8px #5b21b640;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:background .2s,box-shadow .2s}.chatbot-email-submit:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#7c3aed);box-shadow:0 4px 12px #5b21b659}.chatbot-email-submit:disabled{cursor:not-allowed;opacity:.8}.chatbot-input-wrap{background:linear-gradient(180deg,#faf5ffb3,#f5f3fff2);border-top:1px solid #c4b5fd4d;display:flex;gap:10px;padding:16px}.chatbot-input-wrap input{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#1f2937;flex:1 1;font-size:.9rem;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.chatbot-input-wrap input:focus{border-color:#5b21b6;box-shadow:0 0 0 3px #5b21b61f}.chatbot-input-wrap input::placeholder{color:#9ca3af}.chatbot-input-wrap .send-btn{background:linear-gradient(135deg,#5b21b6,#6d28d9);border:none;border-radius:12px;box-shadow:0 2px 8px #5b21b640;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 22px;transition:background .2s,box-shadow .2s}.chatbot-input-wrap .send-btn:hover{background:linear-gradient(135deg,#6d28d9,#7c3aed);box-shadow:0 4px 12px #5b21b659}@media (max-width:768px){.chatbot-panel{bottom:100px;height:min(620px,calc(100vh - 100px));left:12px;max-height:calc(100dvh - 100px);max-width:none;right:12px;width:auto}.chatbot-fab-wrap{bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}}@media (max-width:480px){.chatbot-panel{border-bottom:none;border-left:none;border-radius:20px 20px 0 0;border-right:none;bottom:0;box-shadow:0 -4px 24px #0000001f;height:calc(100dvh - 80px);left:0;max-height:none;right:0;width:100%}.chatbot-fab-wrap{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}.chatbot-fab{height:64px;width:64px}.chatbot-fab:not(.open):hover{width:260px}.chatbot-fab .fab-icon{height:56px;min-height:56px;min-width:56px;width:56px}.chatbot-fab .fab-img{height:36px;width:36px}.chatbot-fab .fab-label{font-size:.9rem}.chatbot-fab:hover .fab-label{max-width:180px}}.contact-form-container{background:var(--section-bg);border-radius:1.5rem;box-shadow:0 10px 30px #0000001a;margin:2rem auto;max-width:500px;padding:2.5rem;transition:transform .3s ease}.contact-form-container:hover{transform:translateY(-5px)}.contact-form{gap:1.8rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.8rem}.form-group label{color:var(--text-color);font-size:1.1rem;font-weight:600}.form-input,.form-textarea{background:var(--background);border:2px solid var(--border-color);border-radius:1rem;color:var(--text-color);font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #e754801a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--light-text);opacity:.7}.form-textarea{min-height:150px;resize:vertical}.submit-btn{align-items:center;background:var(--primary-color);border:none;border-radius:1rem;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1.2rem;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:var(--secondary-color);box-shadow:0 8px 15px #e7548033;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.loading-spinner{align-items:center;display:flex;gap:.5rem}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.error-message,.success-message{align-items:center;animation:slideIn .3s ease;border-radius:1rem;display:flex;gap:.8rem;justify-content:center;margin-top:1rem;padding:1.2rem;text-align:center}.success-message{background:#10b981;color:#fff}.error-message{background:#ef4444;color:#fff}.error-icon,.success-icon{font-size:1.2rem;font-weight:700}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.contact-form-container{margin:1rem;padding:1.5rem}.form-group label,.submit-btn{font-size:1rem}.submit-btn{padding:1rem}}
/*# sourceMappingURL=main.1f20cced.css.map*/