:root{--color-primary: #012B64;--color-secondary: #00DEFF;--color-accent: #FF6B47;--color-text-primary: #2c3e50;--color-text-secondary: #555;--color-text-light: #777;--color-text-white: #ffffff;--color-bg-white: #ffffff;--color-bg-light: #f8f9fa;--color-bg-footer: #E8F4F8;--color-bg-dark: #1a1a1a;--gradient-primary: linear-gradient(135deg, #012B64 0%, #00DEFF 100%);--gradient-secondary: linear-gradient(to right, #00DEFF, #012B64);--gradient-overlay: linear-gradient(135deg, rgba(1, 43, 100, .9) 0%, rgba(0, 222, 255, .8) 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-2xl: 6rem;--font-primary: "Roboto", sans-serif;--font-heading: "Raleway", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1280px}[data-theme=dark]{--color-text-primary: #e0e0e0;--color-text-secondary: #b0b0b0;--color-bg-white: #1a1a1a;--color-bg-light: #2a2a2a}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);color:var(--color-text-primary);background-color:var(--color-bg-white);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-primary);margin-bottom:var(--spacing-sm)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}a{color:inherit;text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--color-secondary)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.5}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-fluid{max-width:100%;padding:0 var(--spacing-md)}section{padding:var(--spacing-2xl) 0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-white{color:var(--color-text-white)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.hidden{display:none!important}.visible{display:block!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-moz-selection{background-color:var(--color-secondary);color:var(--color-text-white)}::selection{background-color:var(--color-secondary);color:var(--color-text-white)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--color-bg-light)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}@media (max-width: 1024px){html{font-size:15px}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}section{padding:var(--spacing-xl) 0}.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){html{font-size:14px}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}section{padding:var(--spacing-lg) 0}.container{padding:0 var(--spacing-sm)}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}.faq-section{padding:4rem 0;background:var(--color-bg, #f8fafc)}.faq-container{max-width:800px;margin:0 auto;padding:0 1.5rem}.faq-section h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--color-primary, #012B64);margin-bottom:2rem;text-align:center}.faq-item{border:1px solid var(--color-border, #e2e8f0);border-radius:.5rem;margin-bottom:.75rem;overflow:hidden;background:#fff}.faq-item[open]{border-color:var(--color-accent, #00DEFF)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-weight:600;color:var(--color-text, #1e293b);cursor:pointer;list-style:none;gap:1rem}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-size:1.25rem;font-weight:400;flex-shrink:0;color:var(--color-primary, #012B64);transition:transform .2s}.faq-item[open] .faq-question:after{content:"−"}.faq-answer{padding:0 1.25rem 1rem;color:var(--color-text-muted, #475569);line-height:1.7}.faq-answer p{margin:0}@media (max-width: 768px){.faq-section{padding:2.5rem 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fadeIn{animation:fadeIn .6s ease-out forwards}.animate-fadeInUp{animation:fadeInUp .8s ease-out forwards}.animate-fadeInDown{animation:fadeInDown .8s ease-out forwards}.animate-fadeInLeft{animation:fadeInLeft .8s ease-out forwards}.animate-fadeInRight{animation:fadeInRight .8s ease-out forwards}.animate-scaleIn{animation:scaleIn .5s ease-out forwards}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-rotate{animation:rotate 2s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #00deff80}.hover-rotate{transition:transform var(--transition-base)}.hover-rotate:hover{transform:rotate(5deg)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.spinner{width:40px;height:40px;border:4px solid rgba(0,222,255,.2);border-top-color:var(--color-secondary);border-radius:50%;animation:rotate 1s linear infinite}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: no-preference){.scroll-reveal:not(.revealed){animation:fallback-reveal .6s ease-out 1.5s forwards}}@keyframes fallback-reveal{to{opacity:1;transform:translateY(0)}}@keyframes fillBar{0%{width:0}to{width:var(--progress)}}.skill-bar-fill{animation:fillBar 1.5s ease-out forwards}.counter{transition:all .3s ease}.typing-text{overflow:hidden;border-right:2px solid var(--color-secondary);white-space:nowrap;animation:typing 3s steps(40) 1s forwards,blink .75s step-end infinite}@keyframes rotate3D{0%{transform:perspective(1000px) rotateY(0)}to{transform:perspective(1000px) rotateY(360deg)}}.rotate-3d{animation:rotate3D 2s ease-out forwards}.gradient-animated{background-size:200% 200%;animation:gradientShift 3s ease infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.animate-fadeInLeft,.animate-fadeInRight{animation:fadeInUp .8s ease-out forwards}}
