@charset "UTF-8";:root,[data-bs-theme=dark]{--tech-primary: #2563eb;--tech-secondary: #0e7490;--tech-accent: #38bdf8;--tech-surface: #070b14;--tech-surface-elevated: #0f172a;--tech-surface-alt: #0a1224;--tech-text: #e2e8f0;--tech-text-muted: #94a3b8;--tech-border: #1e293b;--tech-glow: rgba(37, 99, 235, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--bs-primary: var(--tech-primary);--bs-secondary: var(--tech-secondary)}[data-bs-theme=light]{--tech-surface: #ffffff;--tech-surface-elevated: #f8fafc;--tech-surface-alt: #f8fafc;--tech-text: #0f172a;--tech-text-muted: #64748b;--tech-border: #e2e8f0;--tech-glow: rgba(37, 99, 235, .08);--bs-body-bg: #ffffff;--bs-body-color: #0f172a}[data-bs-theme=dark]{--bs-body-bg: var(--tech-surface);--bs-body-color: var(--tech-text)}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-color:var(--bs-body-bg);color:var(--bs-body-color);line-height:1.75;font-size:1.125rem}.navbar{transition:background-color .3s ease,box-shadow .3s ease;padding-top:1rem;padding-bottom:1rem}.navbar-scrolled{background-color:#ffffffeb!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md)}[data-bs-theme=dark] .navbar-scrolled{background-color:#070b14eb!important;box-shadow:0 4px 12px #0000004d}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--tech-primary)!important;letter-spacing:-.5px}.navbar-brand .navbar-logo{height:36px;width:36px;border-radius:10px;object-fit:cover;box-shadow:var(--shadow-sm)}.nav-link{position:relative;border-radius:6px;transition:all .25s cubic-bezier(.25,.1,.25,1);padding:.5rem 1rem!important;margin:0 .25rem}.nav-link:hover,.nav-link:focus{color:var(--tech-primary)!important;background:#2563eb0d}.nav-link.active{color:var(--tech-primary)!important;background:#2563eb0f}.nav-link.active:after{content:"";position:absolute;bottom:4px;left:.75rem;right:.75rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tech-primary),var(--tech-secondary))}#home{background:linear-gradient(135deg,#2d4f8a,#3570cd,#5688f4,#7baaf7);background-size:300% 300%;animation:gradientShift 20s ease-in-out infinite;position:relative;overflow:hidden;padding:6rem 0}#home:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(56,189,248,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}#home h1{font-size:3.5rem;font-weight:700;text-shadow:0 4px 20px rgba(0,0,0,.25);position:relative;z-index:1;letter-spacing:-1px}#home p.lead{font-size:1.35rem;color:#ffffffd9;text-shadow:0 2px 8px rgba(0,0,0,.15);position:relative;z-index:1}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}section{padding-top:8rem;padding-bottom:8rem;margin-bottom:6rem}section:nth-child(2n){background:#f8fafc;border-radius:24px}section .container{max-width:960px}[data-bs-theme=dark] section:nth-child(2n){background:#0a1224}section h2{position:relative;display:inline-block;width:100%;text-align:center;font-size:2.25rem;font-weight:600;margin-bottom:3.5rem;letter-spacing:-.5px}section h2:after{content:"";display:block;width:48px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--tech-primary),var(--tech-secondary));margin:16px auto 0}.card{border:1px solid var(--tech-border);border-radius:12px;box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.25,.1,.25,1);background:var(--bs-body-bg)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 0 1px #2563eb14}.card-body{padding:2rem}.card-title{font-weight:600;color:var(--tech-primary);font-size:1.15rem;margin-bottom:.75rem}.card-text{line-height:1.8;color:var(--bs-body-color);opacity:.8;font-size:.95rem}.about-img{max-width:100%;max-height:400px;border-radius:16px;box-shadow:var(--shadow-md)}.contact-img{max-width:100%;max-height:320px;border-radius:16px;box-shadow:var(--shadow-md)}.service-card .service-img-col{display:flex;align-items:center;justify-content:center;padding:1.25rem}.service-card .service-img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:var(--bs-body-bg)}.service-card .card-body{padding:1.5rem 1.5rem 1.5rem .5rem;text-align:left}.service-card .card-body .card-title{margin-bottom:.75rem;font-size:1.1rem}.service-card .card-body .card-text{font-size:1rem;line-height:1.75;opacity:.8}.card i.bi{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,var(--tech-primary),var(--tech-secondary));color:#fff!important;font-size:1.35rem;margin-bottom:1.25rem;box-shadow:0 4px 12px #2563eb40}#reviews .card{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible}#reviews .card:hover{transform:none;box-shadow:none!important}#reviews .card .card-body{padding:0}#reviews .card .card-text{position:relative;background:var(--bs-body-bg);border:1px solid var(--tech-border);border-radius:16px;padding:2rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);font-size:1rem;line-height:1.8}#reviews .card .card-text:before{content:"“";position:absolute;top:.75rem;right:1.25rem;font-size:4rem;line-height:1;color:var(--tech-primary);opacity:.1;font-family:Georgia,serif;pointer-events:none}#reviews .card .card-text:after{content:"";position:absolute;bottom:-7px;left:32px;width:14px;height:14px;background:var(--bs-body-bg);border-bottom:1px solid var(--tech-border);border-right:1px solid var(--tech-border);transform:rotate(45deg)}#reviews .card .blockquote-footer{margin:.5rem 0 0 24px;padding:0;border:none;color:var(--tech-text-muted);font-size:.9rem;text-align:left}#reviews .card .blockquote-footer:before{content:"— ";color:var(--tech-primary)}#contact{background:linear-gradient(135deg,#2563eb05,#0e749005);border-radius:16px;padding:8rem 3rem;margin-top:2rem;margin-bottom:12rem}#contact i.bi{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--tech-primary),var(--tech-secondary));color:#fff;margin-right:.75rem;font-size:1.1rem}#contact strong{color:var(--tech-primary);font-weight:600}#contact .contact-note{color:var(--tech-text-muted);font-size:.9rem;margin-top:2rem}footer{border-radius:24px 24px 0 0;padding:4rem 0;margin-top:8rem;background:linear-gradient(180deg,#0f172a,#070b14)!important;border-top:1px solid var(--tech-border)}footer p{margin-bottom:.5rem;font-size:.9rem;color:var(--tech-text-muted)}footer a{color:var(--tech-accent)!important;text-decoration:none;transition:color .3s ease}footer a:hover{color:#fff!important}[data-bs-theme=light] footer{background:linear-gradient(180deg,#f8fafc,#fff)!important;border-top:1px solid var(--tech-border);color:#475569!important}[data-bs-theme=light] footer p{color:#64748b}[data-bs-theme=light] footer a{color:#2563eb!important}[data-bs-theme=light] footer a:hover{color:#1e40af!important}.btn-link{transition:all .25s cubic-bezier(.25,.1,.25,1);border-radius:8px;padding:.5rem}.btn-link:hover{color:var(--tech-primary)!important;background:#2563eb0d}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}[data-bs-theme=dark] .card{background-color:var(--tech-surface-elevated);box-shadow:0 4px 12px #00000040;border-color:#1e293b99}[data-bs-theme=dark] .card:hover{box-shadow:0 12px 32px #00000059,0 0 0 1px #2563eb1a}[data-bs-theme=dark] #contact{background:linear-gradient(135deg,#2563eb0a,#0e74900a);border-color:#1e293b99}@media (max-width: 768px){body{font-size:1rem}.display-4,#home h1{font-size:2.5rem}.lead{font-size:1.1rem}#home{padding:4rem 0}section{padding-top:5rem;padding-bottom:5rem;margin-bottom:4rem}section h2{font-size:1.875rem;margin-bottom:2.5rem}#contact{padding:5rem 1.5rem;margin-bottom:8rem}footer{margin-top:6rem;padding:3rem 0}}.navbar-nav .nav-item{text-wrap:nowrap}#theme-toggle,#language-toggle{padding:0 10px}
