.chat-widget-section{position:relative;z-index:1;padding:2rem;max-width:900px;margin:-2rem auto 0;animation:chatWidgetFadeIn .6s ease-out}@keyframes chatWidgetFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-widget-container{padding:0;overflow:hidden;border-radius:1.5rem;box-shadow:var(--shadow-lg),0 0 0 1px #0000000a;transition:var(--transition)}.chat-widget-container:hover{box-shadow:var(--shadow-lg),var(--shadow-glow)}.chat-widget-header{padding:2rem 2rem 1.5rem;text-align:center;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--accent-light) 0%,transparent 100%)}.chat-widget-title{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.chat-widget-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.5;max-width:560px;margin:0 auto}.chat-widget-messages{min-height:280px;max-height:420px;overflow-y:auto;padding:1.5rem 2rem 1rem;display:flex;flex-direction:column;gap:1rem}.chat-bubble{display:flex;gap:.75rem;align-items:flex-start;max-width:85%;animation:chatBubbleIn .35s ease-out}@keyframes chatBubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble-user{align-self:flex-end;flex-direction:row-reverse}.chat-bubble-assistant{align-self:flex-start}.chat-bubble-avatar{flex-shrink:0;font-size:.7rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:.35rem .6rem;border-radius:.5rem;white-space:nowrap}.chat-bubble-user .chat-bubble-avatar{display:none}.chat-bubble-content{display:flex;flex-direction:column;gap:.25rem}.chat-bubble-text{font-size:.95rem;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.chat-bubble-user .chat-bubble-text{background:var(--accent);color:#fff;padding:.75rem 1rem;border-radius:1rem 1rem .25rem;box-shadow:var(--shadow-sm)}.chat-bubble-assistant .chat-bubble-text{background:var(--bg-secondary);color:var(--text-primary);padding:.75rem 1rem;border-radius:1rem 1rem 1rem .25rem;border:1px solid var(--border-color)}.chat-bubble-error .chat-bubble-text{background:#ef44441a;border-color:#ef44444d}.chat-bubble-time{font-size:.7rem;color:var(--text-muted);padding-left:.5rem}.chat-bubble-user .chat-bubble-time{text-align:right;padding-left:0;padding-right:.5rem}.chat-typing-indicator{display:flex;gap:.35rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem 1rem 1rem .25rem}.chat-typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:chatTyping 1.2s ease-in-out infinite}.chat-typing-indicator span:nth-child(2){animation-delay:.15s}.chat-typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes chatTyping{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-widget-error{padding:.75rem 2rem;font-size:.875rem;color:#dc2626;background:#ef444414;border-top:1px solid rgba(239,68,68,.2)}.chat-widget-input-wrap{display:flex;gap:.75rem;padding:1.25rem 2rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.chat-widget-input{flex:1;padding:.875rem 1.25rem;font-size:.95rem;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:1rem;outline:none;transition:var(--transition-fast)}.chat-widget-input::placeholder{color:var(--text-muted)}.chat-widget-input:hover:not(:disabled){border-color:var(--accent)}.chat-widget-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.chat-widget-input:disabled{opacity:.7;cursor:not-allowed}.chat-widget-send{padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:1rem;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.chat-widget-send:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-widget-send:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.chat-widget-section{padding:1.5rem 1rem;margin-top:-1.5rem}.chat-widget-header{padding:1.5rem 1.5rem 1rem}.chat-widget-messages{min-height:240px;max-height:320px;padding:1rem 1.5rem}.chat-bubble{max-width:92%}.chat-widget-input-wrap{flex-direction:column;padding:1rem 1.5rem}.chat-widget-send{width:100%}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.theme-toggle{position:fixed;top:2rem;right:2rem;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:50%;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition);z-index:1000}.theme-toggle:hover{transform:scale(1.1) rotate(15deg);box-shadow:var(--shadow-lg);background:var(--accent-light)}.hero{position:relative;padding:8rem 2rem 6rem;text-align:center;overflow:hidden;min-height:60vh;display:flex;align-items:center;justify-content:center}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:pulse 8s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--gradient-1);top:-200px;left:-200px;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--gradient-2);bottom:-150px;right:-150px;animation-delay:2s}.orb-3{width:300px;height:300px;background:var(--gradient-3);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:4s}[data-theme=dark] .gradient-orb{opacity:.2}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:2rem;box-shadow:var(--shadow-lg);transition:var(--transition)}.hero-content{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:4rem 3rem;animation:fadeInUp 1s ease-out}.hero-badge-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}.hero-badge{background:var(--accent-light);color:var(--accent);padding:.5rem 1.25rem;border-radius:2rem;font-size:.875rem;font-weight:600;border:1px solid var(--accent);transition:var(--transition-fast);animation:fadeIn .8s ease-out}.hero-badge:nth-child(1){animation-delay:.1s}.hero-badge:nth-child(2){animation-delay:.2s}.hero-badge:nth-child(3){animation-delay:.3s}.hero-badge:nth-child(4){animation-delay:.4s}.hero-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--accent);color:#fff}.hero-name{font-size:clamp(3rem,6vw,5rem);font-weight:800;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp 1s ease-out .2s both}.hero-role{font-size:clamp(1.25rem,2.5vw,1.75rem);color:var(--text-secondary);margin-bottom:2rem;font-weight:500;animation:fadeInUp 1s ease-out .4s both}.hero-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem;animation:fadeInUp 1s ease-out .6s both}.contact-link{display:flex;align-items:center;gap:.5rem;color:var(--accent);text-decoration:none;transition:var(--transition);font-weight:500;padding:.5rem 1rem;border-radius:.5rem;position:relative}.contact-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent);transition:var(--transition);transform:translate(-50%)}.contact-link:hover:after{width:80%}.contact-link:hover{color:var(--accent-hover);background:var(--accent-light)}.contact-icon{font-size:1.1rem}.contact-location{color:var(--text-muted);font-size:.95rem}.hero-summary{font-size:1.125rem;line-height:1.9;color:var(--text-secondary);max-width:750px;margin:0 auto;animation:fadeInUp 1s ease-out .8s both}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:6rem 2rem;width:100%;position:relative;z-index:1}.section{margin-bottom:6rem;opacity:0;animation:fadeInUp .8s ease-out forwards}.section.animate-fade-in-up{opacity:1}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:4rem;color:var(--text-primary);letter-spacing:-.02em;text-align:center;display:flex;align-items:center;justify-content:center;gap:2rem}.section-title-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);max-width:150px}.timeline{position:relative;padding-left:3rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),transparent);border-radius:2px}.timeline-item{position:relative;margin-bottom:3rem}.timeline-marker{position:absolute;left:-3.5rem;top:1rem;width:1rem;height:1rem;background:var(--accent);border-radius:50%;border:3px solid var(--bg-primary);box-shadow:0 0 0 4px var(--accent-light),var(--shadow-md);z-index:2}.timeline-content{margin-left:2rem}.experience-card{padding:3rem;transition:var(--transition)}.experience-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.experience-company{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.experience-location{color:var(--text-secondary);font-size:1rem}.experience-period{color:var(--accent);font-size:.95rem;font-weight:600;white-space:nowrap;padding:.5rem 1rem;background:var(--accent-light);border-radius:1rem}.experience-role{font-size:1.25rem;font-weight:600;color:var(--accent);margin-bottom:2rem}.experience-details{margin-top:2rem}.experience-subtitle{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--accent);display:inline-block}.experience-list{list-style:none;padding-left:0}.experience-list li{padding-left:2rem;position:relative;margin-bottom:1rem;line-height:1.8;color:var(--text-secondary)}.experience-list li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:700;font-size:1.2rem}.project-card{background:var(--bg-secondary);border-radius:1rem;padding:2rem;margin-top:2rem;border-left:4px solid var(--accent);transition:var(--transition);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--accent-light),transparent);opacity:0;transition:var(--transition)}.project-card:hover:before{opacity:.1}.project-card:hover{transform:translate(8px);box-shadow:var(--shadow-md)}.project-card.highlight-card{border-left-color:#f59e0b;background:linear-gradient(135deg,var(--bg-secondary),var(--accent-light))}.project-header{margin-bottom:1.5rem}.project-type{display:inline-block;background:var(--accent-light);color:var(--accent);padding:.375rem .875rem;border-radius:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.project-type.incident{background:#f59e0b1a;color:#f59e0b}.project-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.project-tech{color:var(--text-muted);font-size:.9rem;font-style:italic}.project-problem{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8}.project-list{list-style:none;padding-left:0;margin-bottom:1.5rem}.project-list li{padding-left:2rem;position:relative;margin-bottom:.875rem;line-height:1.8;color:var(--text-secondary)}.project-list li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:700}.project-outcome{color:var(--text-primary);font-weight:600;line-height:1.8;padding-top:1.5rem;border-top:2px solid var(--border-color)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.skill-category{padding:2rem;transition:var(--transition);position:relative;overflow:hidden}.skill-category:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent-light),transparent);opacity:0;transition:var(--transition)}.skill-category:hover:before{opacity:1}.skill-category:hover{transform:translateY(-8px) rotate(1deg);box-shadow:var(--shadow-lg),var(--shadow-glow)}.skill-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.skill-category-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;position:relative;z-index:1}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem;position:relative;z-index:1}.skill-tag{background:var(--bg-primary);color:var(--text-secondary);padding:.625rem 1.25rem;border-radius:.75rem;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);transition:var(--transition-fast);cursor:default}.skill-tag:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-sm)}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.certificate-card{padding:0;overflow:hidden;cursor:pointer;transition:var(--transition);animation:fadeInUp .8s ease-out both}.certificate-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg),var(--shadow-glow)}.certificate-preview{width:100%;height:200px;background:linear-gradient(135deg,var(--accent-light),var(--bg-secondary));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.certificate-preview:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%239C92AC" fill-opacity="0.1"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');opacity:.3}.certificate-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1}.certificate-icon{font-size:3rem;opacity:.5}.certificate-placeholder-text{color:var(--text-muted);font-size:.875rem}.certificate-info{padding:2rem}.certificate-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.certificate-field{font-size:1rem;color:var(--accent);font-weight:600;margin-bottom:.75rem}.certificate-issuer{font-size:.95rem;color:var(--text-secondary);margin-bottom:.5rem}.certificate-date,.certificate-duration,.certificate-honours{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.certificate-view-btn{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:var(--transition-fast);width:100%}.certificate-view-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.education-summary{padding:3rem;margin-top:2rem}.education-summary-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;text-align:center}.education-list{display:flex;flex-direction:column;gap:1.5rem}.education-item{padding:1.5rem;background:var(--bg-primary);border-radius:1rem;border-left:4px solid var(--accent);transition:var(--transition)}.education-item:hover{transform:translate(8px);box-shadow:var(--shadow-md)}.education-degree{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.education-institution{color:var(--text-secondary);margin-bottom:.25rem}.education-date{color:var(--text-muted);font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:fadeIn .3s ease-out}.modal-content{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:2rem;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:fadeInUp .4s ease-out;position:relative}.modal-close{position:absolute;top:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;font-size:1.5rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);z-index:1}.modal-close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}.modal-header{padding:3rem 3rem 2rem;text-align:center;border-bottom:1px solid var(--border-color)}.modal-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.modal-subtitle{font-size:1.25rem;color:var(--accent);font-weight:600;margin-bottom:.5rem}.modal-issuer{color:var(--text-secondary);font-size:1.125rem}.modal-body{padding:2rem 3rem 3rem}.certificate-image-container{margin-bottom:2rem;border-radius:1rem;overflow:hidden;background:var(--bg-secondary);min-height:400px;display:flex;align-items:center;justify-content:center}.certificate-image{width:100%;height:auto;display:block}.certificate-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center}.certificate-icon-large{font-size:4rem;opacity:.3}.certificate-placeholder-note{font-size:.875rem;color:var(--text-muted);margin-top:.5rem}.certificate-details{background:var(--bg-secondary);padding:2rem;border-radius:1rem}.certificate-details p{margin-bottom:1rem;color:var(--text-secondary);line-height:1.8}.certificate-details strong{color:var(--text-primary)}.certificate-verify-link{display:inline-block;margin-top:1rem;color:var(--accent);text-decoration:none;font-weight:600;transition:var(--transition-fast)}.certificate-verify-link:hover{color:var(--accent-hover);text-decoration:underline}.footer{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);padding:3rem 2rem;margin-top:6rem;position:relative;z-index:1}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.footer-link{color:var(--accent);text-decoration:none;font-weight:500;transition:var(--transition);position:relative}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:var(--transition)}.footer-link:hover:after{width:100%}.footer-link:hover{color:var(--accent-hover)}.footer-separator{color:var(--text-muted);font-weight:300}.footer-copyright{color:var(--text-muted);font-size:.875rem;margin-top:1rem}@media (max-width: 768px){.theme-toggle{top:1rem;right:1rem;width:3rem;height:3rem;font-size:1.25rem}.hero{padding:6rem 1.5rem 4rem;min-height:auto}.hero-content{padding:2.5rem 2rem}.main-content{padding:4rem 1.5rem}.section-title{flex-direction:column;gap:1rem}.section-title-line{max-width:100px}.timeline{padding-left:2rem}.timeline-marker{left:-2.5rem}.timeline-content{margin-left:1rem}.experience-card{padding:2rem 1.5rem}.experience-header{flex-direction:column}.experience-period{align-self:flex-start}.skills-grid,.certificates-grid{grid-template-columns:1fr}.hero-contact,.footer-contact{flex-direction:column;gap:1rem}.contact-separator,.footer-separator{display:none}.modal-content{margin:1rem;max-height:95vh}.modal-header,.modal-body{padding:2rem 1.5rem}}@media (max-width: 480px){.hero{padding:5rem 1rem 3rem}.hero-content{padding:2rem 1.5rem}.main-content{padding:3rem 1rem}.experience-card,.project-card,.skill-category,.education-item,.certificate-card,.certificate-info{padding:1.5rem}.orb-1,.orb-2,.orb-3{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #fafbfc;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .8);--bg-glass: rgba(255, 255, 255, .7);--text-primary: #0a0e27;--text-secondary: #4b5563;--text-muted: #6b7280;--border-color: rgba(229, 231, 235, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .12);--shadow-glow: 0 0 30px rgba(59, 130, 246, .15);--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .1);--gradient-1: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-2: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-3: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-bg: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--transition: all .4s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0a0e27;--bg-secondary: #1a1f3a;--bg-card: rgba(26, 31, 58, .8);--bg-glass: rgba(26, 31, 58, .6);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: rgba(51, 65, 85, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(96, 165, 250, .2);--accent: #60a5fa;--accent-hover: #3b82f6;--accent-light: rgba(96, 165, 250, .15);--gradient-bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient-bg);background-attachment:fixed;color:var(--text-primary);line-height:1.6;transition:background .3s ease,color .3s ease;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:0}html{scroll-behavior:smooth}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .8s ease-out}.animate-slide-in-right{animation:slideInRight .6s ease-out}
