@font-face{font-family:'Poppins';src:url('../fonts/poppins/Poppins-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Poppins';src:url('../fonts/poppins/Poppins-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Poppins';src:url('../fonts/poppins/Poppins-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Poppins';src:url('../fonts/poppins/Poppins-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Work Sans';src:url('../fonts/work-sans/WorkSans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Work Sans';src:url('../fonts/work-sans/WorkSans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Work Sans';src:url('../fonts/work-sans/WorkSans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Work Sans';src:url('../fonts/work-sans/WorkSans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}:root{--primary-900:#0e3f8a;--primary-700:#1f6feb;--primary-500:#2d7ef6;--primary-300:#5ca0ff;--neutral-900:#0b1b33;--neutral-700:#2c3f58;--neutral-500:#5a6b7d;--neutral-200:#d5deeb;--neutral-100:#f4f7fb;--white:#ffffff;--font-heading:'Poppins','Segoe UI',sans-serif;--font-body:'Work Sans','Segoe UI',sans-serif;--transition-base:all 0.3s ease;--shadow-soft:0 12px 32px rgba(31,111,235,0.08);--shadow-strong:0 18px 40px rgba(31,111,235,0.18);scroll-behavior:smooth}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--neutral-700);background-color:var(--white);line-height:1.6;font-size:1rem}a{color:var(--primary-700);text-decoration:none}a:hover,a:focus{color:var(--primary-500);text-decoration:none}img{max-width:100%;height:auto}section{padding:80px 0}.section-title{max-width:720px;margin:0 auto 48px;text-align:center}.section-title h2{font-family:var(--font-heading);font-weight:600;color:var(--neutral-900);font-size:2.5rem;margin-bottom:16px}.section-title p{color:var(--neutral-500);margin:0}.preloader{position:fixed;inset:0;display:grid;place-items:center;background:rgba(255,255,255,0.94);z-index:9999;transition:opacity 0.4s ease,visibility 0.4s ease}.preloader.hidden{opacity:0;visibility:hidden}.preloader .spinner{width:64px;height:64px;border:6px solid rgba(31,111,235,0.18);border-top-color:var(--primary-700);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar{transition:var(--transition-base)}.navbar-brand{font-family:var(--font-heading);font-weight:700;font-size:1.375rem;color:var(--neutral-900)}.navbar-brand span{color:var(--primary-700)}.navbar-nav .nav-link{font-weight:500;color:var(--neutral-500);padding:0.75rem 1rem;transition:var(--transition-base)}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--primary-700)}.navbar.sticky{box-shadow:0 8px 20px rgba(10,31,68,0.08);background-color:rgba(255,255,255,0.96);backdrop-filter:blur(12px)}.btn-primary{background:linear-gradient(135deg,var(--primary-700),var(--primary-500));border:none;box-shadow:var(--shadow-soft);font-weight:600;padding:0.75rem 1.75rem}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-900),var(--primary-700));box-shadow:var(--shadow-strong)}.btn-outline-primary{color:var(--primary-700);border-width:2px;font-weight:600;padding:0.7rem 1.6rem}.btn-outline-primary:hover{color:var(--white);background-color:var(--primary-700);border-color:var(--primary-700)}.badge-soft{display:inline-flex;align-items:center;border-radius:999px;padding:0.35rem 0.85rem;background-color:rgba(45,126,246,0.12);color:var(--primary-700);font-weight:600;font-size:0.8125rem;letter-spacing:0.04em;text-transform:uppercase}.hero{position:relative;background:linear-gradient(180deg,rgba(236,243,255,0.9),#ffffff 70%);padding:140px 0 120px}.hero .container{position:relative;z-index:2}.hero-illustration{position:relative;max-width:520px;margin:0 auto}.hero-illustration::after{content:'';position:absolute;inset:10% 12% 12% 10%;border-radius:42px;background:rgba(92,160,255,0.18);filter:blur(28px);z-index:-1}.hero-collage{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);width:min(100%,520px);aspect-ratio:1/1;margin:0 auto;padding:8px;column-gap:8px;row-gap:2px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-soft);isolation:isolate}.hero-collage::after{content:'';position:absolute;inset:12% 10% 10% 12%;border-radius:36px;background:rgba(92,160,255,0.24);filter:blur(36px);z-index:-1}.hero-collage__item{position:relative;overflow:hidden;transition:transform .8s ease,opacity .8s ease;transition-delay:var(--collage-delay,0s)}.hero-collage__item img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.hero-collage__item--tall{grid-column:1;grid-row:1/span 2;border-radius:24px 0 0 24px}.hero-collage__item--top{grid-column:2;grid-row:1;border-radius:0 24px 0 0}.hero-collage__item--bottom{grid-column:2;grid-row:2;border-radius:0 0 24px 0}.hero-collage__item:nth-child(1){--collage-delay:.12s}.hero-collage__item:nth-child(2){--collage-delay:.28s}.hero-collage__item:nth-child(3){--collage-delay:.44s}[data-aos] .hero-collage__item{opacity:0;transform:translateY(32px) scale(1.05)}[data-aos].aos-animate .hero-collage__item{opacity:1;transform:translateY(0) scale(1)}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,4vw,3.5rem);color:var(--neutral-900);font-weight:700}.hero-subtitle{font-size:1.125rem;color:var(--neutral-500);max-width:520px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin-top:48px}.metric-card{padding:20px 24px;border-radius:18px;background:var(--white);box-shadow:var(--shadow-soft);text-align:left}.metric-card h3{font-family:var(--font-heading);font-size:2rem;font-weight:600;color:var(--primary-700);margin-bottom:4px}.metric-card p{margin:0;color:var(--neutral-500)}.features-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.feature-card{padding:32px;border-radius:24px;background:var(--white);box-shadow:var(--shadow-soft);transition:var(--transition-base);position:relative;overflow:hidden}.feature-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,126,246,0.12),rgba(15,63,138,0.08));opacity:0;transition:var(--transition-base)}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong)}.feature-card:hover::before{opacity:1}.feature-card img,.feature-card svg{width:56px;height:56px;margin-bottom:22px}.feature-card h3{font-size:1.375rem;font-weight:600;color:var(--neutral-900)}.feature-card p{margin-bottom:0;color:var(--neutral-500)}.service-card{background-color:var(--white);border-radius:24px;padding:32px;box-shadow:0 16px 36px rgba(9,40,84,0.08);height:100%;display:flex;flex-direction:column;gap:16px}.service-card header{display:flex;align-items:center;gap:16px}.service-card header img{width:48px;height:48px}.service-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.service-card ul li{position:relative;padding-left:22px;color:var(--neutral-500)}.service-card ul li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--primary-300)}.service-card .btn{margin-top:auto}.location-map{width:100%;height:200px;object-fit:cover;margin-top:16px;border-radius:20px}.portfolio-filter{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:40px}.filter-btn{border:1px solid rgba(31,111,235,0.16);background:var(--white);border-radius:999px;padding:10px 20px;font-weight:600;color:var(--neutral-500);transition:var(--transition-base)}.filter-btn.active,.filter-btn:hover{background:var(--primary-700);color:var(--white);border-color:var(--primary-700)}.portfolio-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.portfolio-card{background:var(--white);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);transition:var(--transition-base);display:flex;flex-direction:column;height:100%}.portfolio-card figure{margin:0;overflow:hidden}.portfolio-card img{transition:transform 0.5s ease}.portfolio-card:hover img{transform:scale(1.06)}.portfolio-card .card-body{padding:24px;display:flex;flex-direction:column;gap:12px}.portfolio-card .card-body h3{font-family:var(--font-heading);font-size:1.375rem;color:var(--neutral-900);margin-bottom:0}.portfolio-card .tags{display:flex;flex-wrap:wrap;gap:8px}.portfolio-card .tag{padding:4px 12px;background:rgba(31,111,235,0.1);border-radius:999px;font-size:0.8125rem;color:var(--primary-700)}.stat-card{background:linear-gradient(140deg,rgba(47,110,238,0.92),rgba(18,60,144,0.9));color:var(--white);border-radius:28px;padding:36px;box-shadow:var(--shadow-strong)}.stat-card h3{font-family:var(--font-heading);font-size:3rem;margin:0 0 12px}.testimonial-card{background:var(--white);border-radius:24px;padding:32px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:20px}.testimonial-card .client{display:flex;align-items:center;gap:16px}.testimonial-card .client-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:var(--white);display:grid;place-items:center;font-weight:600}.testimonial-card .rating{color:#f4b400;font-size:1.1rem}.pricing-card{background:var(--white);border-radius:28px;padding:40px 32px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px}.pricing-card.recommended::before{content:'Most Popular';position:absolute;top:24px;right:-48px;width:200px;text-align:center;background:linear-gradient(135deg,var(--primary-700),var(--primary-500));color:var(--white);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:6px 0;transform:rotate(45deg)}.pricing-card h3{font-family:var(--font-heading);font-weight:600;color:var(--neutral-900)}.pricing-card .price{font-size:2.5rem;font-weight:700;color:var(--primary-700)}.pricing-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.pricing-card ul li{display:flex;align-items:center;gap:12px;color:var(--neutral-500)}.pricing-card ul li::before{content:'✔';color:var(--primary-500);font-weight:600}.blog-card{border-radius:24px;overflow:hidden;background:var(--white);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;height:100%}.blog-card figure{margin:0;position:relative}.blog-card figure span{position:absolute;bottom:16px;left:16px;background:rgba(12,53,112,0.85);color:var(--white);padding:6px 12px;border-radius:999px;font-size:0.8rem}.blog-card .card-body{padding:28px;display:flex;flex-direction:column;gap:12px}.blog-card h3{font-family:var(--font-heading);font-size:1.375rem;color:var(--neutral-900);margin-bottom:0}.blog-card p{color:var(--neutral-500);margin-bottom:0}.blog-card .card-footer{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(20,52,94,0.08);color:var(--neutral-500);font-size:0.9rem}.cta-banner{background:linear-gradient(120deg,rgba(18,60,144,0.96),rgba(45,126,246,0.9));color:var(--white);border-radius:36px;padding:64px;box-shadow:var(--shadow-strong);position:relative;overflow:hidden}.cta-banner::after{content:'';position:absolute;top:-80px;right:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,0.06)}.cta-banner h3{font-family:var(--font-heading);font-size:clamp(2rem,3vw,2.8rem);font-weight:600;margin-bottom:20px}.site-footer{background:#071733;color:rgba(255,255,255,0.78);padding:80px 0 40px}.site-footer .footer-brand{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--white)}.site-footer a{color:rgba(255,255,255,0.65);transition:var(--transition-base)}.site-footer a:hover{color:var(--white)}.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,0.08);margin-top:40px;padding-top:24px;font-size:0.875rem}.social-links{display:flex;gap:16px}.social-links a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,0.1);display:grid;place-items:center}.form-control,.form-select{padding:0.8rem 1rem;border-radius:16px;border:1px solid rgba(12,53,112,0.18);background-color:#f8fbff;transition:var(--transition-base)}.form-control:focus,.form-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 0.25rem rgba(45,126,246,0.15)}textarea.form-control{min-height:160px}.accordion-item{border:none;border-radius:20px !important;margin-bottom:16px;box-shadow:var(--shadow-soft)}.accordion-button{border-radius:20px !important;font-weight:600;color:var(--neutral-900);padding:1.25rem 1.5rem}.accordion-button:not(.collapsed){color:var(--primary-700);background-color:rgba(31,111,235,0.12);box-shadow:none}.table-custom{border-collapse:separate;border-spacing:0;width:100%;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft)}.table-custom thead{background:rgba(31,111,235,0.12)}.table-custom th{font-family:var(--font-heading);font-weight:600;color:var(--neutral-900);padding:16px 20px}.table-custom td{padding:16px 20px;color:var(--neutral-500);border-top:1px solid rgba(20,52,94,0.08)}.bg-soft-primary{background:rgba(31,111,235,0.08) !important}.text-gradient{background:linear-gradient(135deg,var(--primary-700),var(--primary-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.shadow-soft{box-shadow:var(--shadow-soft) !important}.rounded-24{border-radius:24px !important}.transition-base{transition:var(--transition-base)}.fade-slide-up{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}.fade-slide-up.appeared{opacity:1;transform:translateY(0)}@media (max-width:1200px){.hero{padding:120px 0 100px}.cta-banner{padding:48px 40px}}@media (max-width:992px){section{padding:64px 0}.hero{padding-top:120px}.hero .row{text-align:center}.navbar-collapse{padding:16px;background:rgba(255,255,255,0.95);border-radius:18px}.cta-banner{text-align:center}.cta-banner::after{display:none}}@media (max-width:768px){.hero-title{font-size:clamp(2.15rem,7vw,2.9rem)}.metric-card{text-align:center}.pricing-card{padding:32px 24px}.cta-banner{padding:40px 28px}}@media (max-width:576px){.hero{padding-top:100px}.feature-card,.service-card,.testimonial-card,.pricing-card{padding:24px;border-radius:20px}.section-title h2{font-size:2rem}.cta-banner{border-radius:28px}.site-footer{padding:64px 0 32px}}