﻿ /* --- CSS Variables --- */
 :root {
   --primary: #E63946;
   --secondary: #1D3557;
   --light: #F1FAEE;
   --dark: #0F172A;
   --gray-50: #f9fafb;
   --gray-100: #f3f4f6;
   --gray-200: #e5e7eb;
   --gray-300: #d1d5db;
   --gray-400: #9ca3af;
   --gray-500: #6b7280;
   --gray-600: #4b5563;
   --gray-700: #374151;
   --white: #ffffff;
   --glass-bg: rgba(255, 255, 255, 0.7);
   --glass-border: rgba(255, 255, 255, 0.3);
 }

 /* --- Reset & Base Styles --- */
 * {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 html {
   scroll-behavior: smooth;
 }

 .site-header {
   position: fixed;
   width: 100%;
   left: 0;
   top: 0;
   z-index: 1000;
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   box-sizing: border-box;
 }

 body {
   font-family: 'Inter', sans-serif;
   background-color: var(--gray-50);
   color: var(--gray-700);
   line-height: 1.5;
   overflow-x: hidden;
 }

 header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   max-width: 100vw;
   padding: 15px 5%;
   box-sizing: border-box;
   position: relative;
   z-index: 1000;
 }

 header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 20px;
   width: 100%;
   box-sizing: border-box;
 }

 .logo img {
   max-width: 150px;
   width: 100%;
   height: auto;
 }

 a {
   text-decoration: none;
   color: inherit;
   transition: color 0.3s ease;
 }

 ul {
   list-style: none;
 }

 img {
   max-width: 100%;
   height: auto;
 }

 /* --- Utility Classes --- */
 .container {
   width: 100%;
   max-width: 1280px;
   margin: 0 auto;
   padding: 0 1.5rem;
 }

 .flex {
   display: flex;
 }

 .flex-col {
   flex-direction: column;
 }

 .items-center {
   align-items: center;
 }

 .justify-between {
   justify-content: space-between;
 }

 .justify-center {
   justify-content: center;
 }

 .gap-2 {
   gap: 0.5rem;
 }

 .gap-4 {
   gap: 1rem;
 }

 .hidden {
   display: none;
 }

 /* Glassmorphism */
 .glass {
   background: var(--glass-bg);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   border: 1px solid var(--glass-border);
 }

 .glass-dark {
   background: rgba(29, 53, 87, 0.6);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .glass-card {
   background: rgba(255, 255, 255, 0.8);
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.5);
   box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   border-radius: 1rem;
 }

 .glass-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.15);
 }

 /* --- Animations --- */
 .reveal {
   opacity: 0;
   transform: translateY(30px);
   transition: all 0.8s ease-out;
 }

 .reveal.active {
   opacity: 1;
   transform: translateY(0);
 }

 @keyframes float {
   0% {
     transform: translateY(0px);
   }

   50% {
     transform: translateY(-15px);
   }

   100% {
     transform: translateY(0px);
   }
 }

 .animate-float {
   animation: float 6s ease-in-out infinite;
 }



 /* --- Header & Navigation --- */
 .site-header {
   position: fixed;
   width: 100%;
   top: 0;
   z-index: 100;
   padding: 1rem 0;
   transition: all 0.3s ease;
 }

 .site-header.sticky {
   padding: 0.5rem 0;
 }

 .nav-bar {
   border-radius: 1rem;
   padding: 3px 10px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
 }

 .logo {
   font-size: 1.25rem;
   font-weight: 800;
   display: flex;
   align-items: center;
   gap: 0.6rem;
   color: var(--secondary);
 }

 .logo-icon {
   width: 1.75rem;
   height: 1.75rem;
   background-color: var(--primary);
   border-radius: 0.4rem;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 0.9rem;
 }

 .desktop-menu {
   display: none;
 }

 .nav-link {
   font-size: 0.875rem;
   font-weight: 500;
   color: var(--gray-800);
   cursor: pointer;
   display: flex;
   align-items: center;
   gap: 0.4rem;
 }

 .nav-link:hover {
   color: var(--primary);
 }

 /* Desktop Mega Menu */
 .mega-menu-wrapper {
   position: relative;
 }

 .mega-menu-dropdown {
   position: absolute;
   left: 50%;
   top: 100%;
   width: 900px;
   padding-top: 1rem;
   transform: translateX(-50%) translateY(1rem);
   opacity: 0;
   visibility: hidden;
   transition: all 0.3s ease;
 }

 .mega-menu-wrapper:hover .mega-menu-dropdown {
   opacity: 1;
   visibility: visible;
   transform: translateX(-50%) translateY(0);
 }

 .mega-menu-content {
   background: white;
   border-radius: 1rem;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
   padding: 1.5rem;
   border: 1px solid var(--gray-100);
 }

 .mega-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 1rem;
 }

 .mega-item {
   display: flex;
   align-items: center;
   gap: 0.75rem;
   padding: 0.75rem;
   border-radius: 0.5rem;
 }

 .mega-item:hover {
   background: var(--gray-50);
 }

 .mega-icon {
   width: 2rem;
   height: 2rem;
   border-radius: 0.4rem;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 0.8rem;
 }

 .icon-blue {
   background: #dbeafe;
   color: #2563eb;
 }

 .icon-red {
   background: #fee2e2;
   color: #E63946;
 }

 /* Mobile Menu */
 .mobile-toggle {
   font-size: 1.5rem;
   color: var(--secondary);
   background: none;
   border: none;
   cursor: pointer;
 }

 .mobile-menu {
   display: none;
   position: fixed;
   width: 442px;
   top: 4.5rem;
   left: 1.5rem;
   right: 1.5rem;
   background: white;
   border-radius: 1rem;
   padding: 1.5rem;
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
   z-index: 1000;
   max-height: 80vh;
   overflow-y: auto;
   border: 1px solid var(--gray-100);
 }

 .mobile-menu.active {
   display: block;
 }

 @media (min-width: 1024px) {
   .mobile-menu {
     display: none !important;
   }
 }

 .mobile-nav-list {
   display: flex;
   flex-direction: column;
   gap: 0.5rem;
 }

 .mobile-nav-item {
   border-bottom: 1px solid var(--gray-100);
   padding: 0.75rem 0;
 }

 .mobile-nav-item:last-child {
   border-bottom: none;
 }

 /* Mobile Services Dropdown */
 .mobile-dropdown-btn {
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background: none;
   border: none;
   font-family: inherit;
   font-size: 1rem;
   font-weight: 600;
   color: var(--secondary);
   cursor: pointer;
 }

 .mobile-dropdown-content {
   display: none;
   padding-top: 1rem;
   flex-direction: column;
   gap: 0.45rem;
   max-height: min(58vh, 520px);
   overflow-y: auto;
   overscroll-behavior: contain;
   padding-right: 4px;
 }

 .mobile-dropdown-content.show {
   display: flex;
 }

 .mobile-sub-link {
   display: flex;
   align-items: center;
   gap: 0.75rem;
   font-size: 0.9rem;
   color: var(--gray-600);
   padding: 0.5rem;
 }

 .mobile-service-heading {
   display: block;
   margin: 12px 0 4px;
   padding: 0 0.5rem;
   color: var(--primary);
   font-size: 0.72rem;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
 }

 .mobile-service-heading:first-child {
   margin-top: 0;
 }

 .btn-quote {
   background: var(--primary);
   color: white;
   padding: 0.6rem 1.25rem;
   border-radius: 2rem;
   font-weight: 600;
   font-size: 0.875rem;
   display: none;
 }

 @media (min-width: 1024px) {
   .desktop-menu {
     display: flex;
     align-items: center;
     gap: 2rem;
   }

   .mobile-toggle {
     display: none;
   }

   .btn-quote {
     display: block;
   }
 }

 /* --- Hero Section --- */
 .hero-section {
   padding-top: 8rem;
   padding-bottom: 5rem;
   background: linear-gradient(135deg, #1D3557 0%, #0F172A 60%, #E63946 100%);
   position: relative;
   overflow: hidden;
   min-height: 80vh;
   display: flex;
   align-items: center;
 }

 .hero-bg-shape-1 {
   position: absolute;
   top: 0;
   right: 0;
   width: 24rem;
   height: 24rem;
   background-color: var(--primary);
   opacity: 0.2;
   border-radius: 50%;
   filter: blur(60px);
   transform: translate(50%, -50%);
 }

 .hero-bg-shape-2 {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 18rem;
   height: 18rem;
   background-color: #3b82f6;
   opacity: 0.2;
   border-radius: 50%;
   filter: blur(60px);
   transform: translate(-50%, 50%);
 }

 .hero-content-wrapper {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 3rem;
 }

 .hero-text {
   flex: 1;
   color: white;
 }

 .badge {
   display: inline-block;
   padding: 0.25rem 0.75rem;
   background: rgba(255, 255, 255, 0.1);
   border-radius: 9999px;
   border: 1px solid rgba(255, 255, 255, 0.2);
   font-size: 0.875rem;
   font-weight: 500;
   margin-bottom: 1.5rem;
 }

 .hero-title {
   font-size: 2.25rem;
   font-weight: 800;
   line-height: 1.2;
   margin-bottom: 1.5rem;
 }

 .text-gradient {
   background: linear-gradient(to right, #f87171, #fb923c);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
 }

 .hero-desc {
   font-size: 1.125rem;
   color: var(--gray-200);
   margin-bottom: 2rem;
   max-width: 36rem;
 }

 .hero-buttons {
   display: flex;
   flex-direction: column;
   gap: 1rem;
 }

 .btn-hero-primary {
   background-color: var(--primary);
   color: white;
   padding: 0.575rem 2rem;
   border-radius: 9999px;
   font-weight: 600;
   text-align: center;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
   transition: all 0.3s;
 }

 .btn-hero-primary:hover {
   background-color: #dc2626;
   box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.3);
 }

 .btn-hero-secondary {
   background: rgba(255, 255, 255, 0.1);
   backdrop-filter: blur(12px);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 0.875rem 2rem;
   border-radius: 9999px;
   font-weight: 600;
   text-align: center;
   transition: all 0.3s;
 }

 .btn-hero-secondary:hover {
   background: rgba(255, 255, 255, 0.2);
 }

 .hero-visual {
   flex: 1;
   position: relative;
   width: 100%;
 }

 .code-window {
   margin: 0px 40px;
   padding: 35px;
   border-radius: 1rem;
   position: relative;
   margin-bottom: 43px;
 }

 .code-dots {
   display: flex;
   gap: 0.5rem;
   margin-bottom: 1rem;
 }

 .dot {
   width: 0.75rem;
   height: 0.75rem;
   border-radius: 50%;
 }

 .dot-red {
   background-color: #ef4444;
 }

 .dot-yellow {
   background-color: #eab308;
 }

 .dot-green {
   background-color: #22c55e;
 }

 .code-content {
   font-family: monospace;
   font-size: 0.875rem;
   color: #d1d5db;
   line-height: 1.6;
 }

 .c-purple {
   color: #c084fc;
 }

 .c-blue {
   color: #60a5fa;
 }

 .c-yellow {
   color: #fde047;
 }

 .c-green {
   color: #4ade80;
 }

 .c-red {
   color: #f87171;
 }

 .float-icon {
   position: absolute;
   background: white;
   border-radius: 1rem;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
 }

 .float-1 {
   top: -1.5rem;
   right: -1.1rem;
   width: 4rem;
   height: 4rem;
   font-size: 1.875rem;
   color: #2563eb;
   animation: bounce 1s infinite alternate;
 }

 .float-2 {
   bottom: -2rem;
   left: -1rem;
   width: 3.5rem;
   height: 3.5rem;
   font-size: 1.5rem;
   color: var(--primary);
 }

 @keyframes bounce {
   from {
     transform: translateY(0);
   }

   to {
     transform: translateY(-10px);
   }
 }

 @media (min-width: 640px) {
   .hero-buttons {
     flex-direction: row;
   }
 }

 @media (min-width: 1024px) {
   .hero-section {
     padding-top: 5rem;
     padding-bottom: 4rem;
   }

   .hero-content-wrapper {
     flex-direction: row;
   }

   .hero-text {
     text-align: left;
   }

   .hero-title {
     font-size: 50px;
   }
 }

 /* --- Sections Common --- */
 .section-py {
   padding-top: 5rem;
   padding-bottom: 5rem;
 }

 .bg-gray {
   background-color: var(--gray-50);
 }

 .bg-white {
   background-color: #e639460f !important;
 }

 .section-header {
   text-align: center;
   max-width: 48rem;
   margin: 0 auto 2rem;
 }

 .subtitle {
   color: var(--primary);
   font-weight: 700;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   font-size: 0.875rem;
 }

 .title {
   font-size: 1.875rem;
   font-weight: 700;
   color: var(--secondary);
   margin-top: 0.5rem;
 }

 .desc {
   margin-top: 1rem;
   color: var(--gray-600);
 }

 @media (min-width: 1024px) {
   .title {
     font-size: 2.25rem;
   }
 }

 /* --- Services Grid --- */
 .grid-responsive {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.5rem;
 }

 @media (min-width: 768px) {
   .grid-responsive {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 @media (min-width: 1024px) {
   .grid-responsive {
     grid-template-columns: repeat(4, 1fr);
   }
 }

 .service-card {
   padding: 1.5rem;
 }

 .service-icon {
   width: 3rem;
   height: 3rem;
   border-radius: 0.5rem;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.25rem;
   margin-bottom: 1rem;
 }

 .icon-bg-blue {
   background-color: #dbeafe;
   color: #2563eb;
 }

 .icon-bg-red {
   background-color: #fee2e2;
   color: var(--primary);
 }

 .icon-bg-purple {
   background-color: #f3e8ff;
   color: #9333ea;
 }

 .icon-bg-green {
   background-color: #dcfce7;
   color: #16a34a;
 }

 /* Add other icon bg classes as needed based on HTML usage */

 .service-title {
   font-size: 1.25rem;
   font-weight: 700;
   color: var(--secondary);
   margin-bottom: 0.5rem;
 }

 .service-desc {
   font-size: 0.875rem;
   color: var(--gray-600);
   margin-bottom: 1rem;
 }

 .link-arrow {
   color: var(--primary);
   font-size: 0.875rem;
   font-weight: 600;
 }

 .link-arrow:hover {
   text-decoration: underline;
 }

 /* --- Process Section --- */
 .process-bg {
   position: absolute;
   inset: 0;
   background-color: var(--secondary);
   transform: skewY(3deg) scale(1.1);
   transform-origin: bottom right;
   z-index: -10;
 }

 .process-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 2rem;
 }

 @media (min-width: 768px) {
   .process-grid {
     grid-template-columns: repeat(4, 1fr);
   }
 }

 .process-step {
   position: relative;
 }

 .step-card {
   background: rgba(255, 255, 255, 0.1);
   backdrop-filter: blur(12px);
   border-radius: 0.75rem;
   padding: 1.5rem;
   border: 1px solid rgba(255, 255, 255, 0.2);
   text-align: center;
   transition: all 0.3s;
 }

 .step-card:hover {
   background: rgba(255, 255, 255, 0.2);
 }

 .step-number {
   width: 3.5rem;
   height: 3.5rem;
   margin: 0 auto 1rem;
   background-color: var(--primary);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 1.25rem;
   font-weight: 700;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
   border: 4px solid var(--secondary);
 }

 .step-title {
   font-size: 1.25rem;
   font-weight: 700;
   color: white;
   margin-bottom: 0.5rem;
 }

 .step-desc {
   color: #d1d5db;
   font-size: 0.875rem;
 }

 .connector-line {
   display: none;
   position: absolute;
   top: 50%;
   right: -1rem;
   width: 2rem;
   height: 0.25rem;
   background: rgba(255, 255, 255, 0.2);
   transform: translateY(-50%);
 }

 @media (min-width: 768px) {
   .connector-line {
     display: block;
   }
 }

 /* --- Projects --- */
 .projects-header {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: flex-end;
   margin-bottom: 3rem;
 }

 @media (min-width: 768px) {
   .projects-header {
     flex-direction: row;
   }
 }

 .view-all {
   color: var(--primary);
   font-weight: 600;
   margin-top: 1rem;
   display: flex;
   align-items: center;
   gap: 0.5rem;
 }

 .view-all:hover {
   color: #b91c1c;
 }

 .view-all:hover i {
   transform: translateX(4px);
 }

 .project-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 2rem;
 }

 @media (min-width: 768px) {
   .project-grid {
     grid-template-columns: repeat(3, 1fr);
   }
 }

 .project-card {
   background: white;
   border-radius: 1rem;
   overflow: hidden;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
   transition: all 0.3s;
 }

 .project-card:hover {
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
 }

 .project-img {
   height: 12rem;
   background-color: var(--gray-200);
   position: relative;
   overflow: hidden;
 }

 .img-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.4);
   opacity: 0;
   transition: opacity 0.3s;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .project-card:hover .img-overlay {
   opacity: 1;
 }

 .btn-overlay {
   color: white;
   border: 1px solid white;
   padding: 0.5rem 1rem;
   border-radius: 9999px;
   font-size: 0.875rem;
 }

 .project-info {
   padding: 1.5rem;
 }

 .tag {
   font-size: 0.75rem;
   font-weight: 700;
   color: var(--primary);
   background-color: #fef2f2;
   padding: 0.25rem 0.5rem;
   border-radius: 0.25rem;
 }

 .project-title {
   font-size: 1.25rem;
   font-weight: 700;
   color: var(--secondary);
   margin-top: 0.75rem;
 }

 /* --- About --- */
 .about-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 3rem;
   align-items: center;
 }

 @media (min-width: 1024px) {
   .about-grid {
     grid-template-columns: 1fr 1fr;
   }
 }

 .stat-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1.5rem;
   margin-top: 2rem;
 }

 .stat-num {
   font-size: 1.875rem;
   font-weight: 700;
   color: var(--primary);
 }

 .stat-label {
   font-size: 0.875rem;
   color: var(--gray-500);
 }

 /* --- Software --- */
 .software-section {
   background-color: var(--secondary);
   color: white;
   position: relative;
   overflow: hidden;
 }

 .soft-card {
   background: rgba(255, 255, 255, 0.05);
   backdrop-filter: blur(4px);
   border: 1px solid rgba(255, 255, 255, 0.1);
   padding: 2rem;
   border-radius: 1rem;
   transition: background 0.3s;
 }

 .soft-card:hover {
   background: rgba(255, 255, 255, 0.1);
 }

 .soft-icon {
   font-size: 2.25rem;
   color: var(--primary);
   margin-bottom: 1rem;
 }

 .soft-title {
   font-size: 1.5rem;
   font-weight: 700;
   margin-bottom: 0.5rem;
 }

 .soft-desc {
   color: var(--gray-300);
   font-size: 0.875rem;
   margin-bottom: 1.5rem;
 }

 .btn-link {
   color: white;
   border-bottom: 1px solid var(--primary);
   padding-bottom: 0.25rem;
   background: none;
   border-top: none;
   border-left: none;
   border-right: none;
   cursor: pointer;
 }

 .btn-link:hover {
   color: var(--primary);
 }

 /* --- Blog --- */
 .blog-card {
   background: white;
   border-radius: 1rem;
   overflow: hidden;
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
   transition: box-shadow 0.3s;
 }

 .blog-card:hover {
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
 }

 .blog-meta {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   font-size: 0.75rem;
   color: var(--gray-500);
   margin-bottom: 0.75rem;
 }

 .blog-title {
   font-size: 1.125rem;
   font-weight: 700;
   color: var(--secondary);
   margin-bottom: 0.75rem;
   cursor: pointer;
 }

 .blog-title:hover {
   color: var(--primary);
 }

 /* --- Contact --- */
 .contact-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 3rem;
 }

 @media (min-width: 1024px) {
   .contact-grid {
     grid-template-columns: 1fr 1fr;
   }
 }

 .form-group {
   margin-bottom: 1.5rem;
 }

 .form-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.5rem;
 }

 @media (min-width: 768px) {
   .form-grid {
     grid-template-columns: 1fr 1fr;
   }
 }

 .form-label {
   display: block;
   font-size: 0.875rem;
   font-weight: 500;
   color: var(--gray-700);
   margin-bottom: 0.5rem;
 }

 .form-input,
 .form-textarea {
   width: 100%;
   padding: 0.75rem 1rem;
   border-radius: 0.5rem;
   background-color: var(--gray-50);
   border: 1px solid var(--gray-200);
   outline: none;
   transition: all 0.2s;
 }

 .form-input:focus,
 .form-textarea:focus {
   border-color: var(--primary);
   box-shadow: 0 0 0 2px #fecaca;
 }

 .btn-submit {
   background-color: var(--primary);
   color: white;
   padding: 0.75rem 2rem;
   border-radius: 0.5rem;
   font-weight: 600;
   border: none;
   cursor: pointer;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
   transition: all 0.3s;
   width: 100%;
 }

 .btn-submit:hover {
   background-color: #dc2626;
 }

 @media (min-width: 768px) {
   .btn-submit {
     width: auto;
   }
 }

 .location-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.5rem;
 }

 @media (min-width: 768px) {
   .location-grid {
     grid-template-columns: 1fr 1fr;
   }
 }

 /* Home contact form polish */
 #contact.home-contact-section {
   position: relative;
   overflow: hidden;
   background:
     radial-gradient(circle at 8% 12%, rgba(227, 30, 36, 0.1), transparent 30%),
     radial-gradient(circle at 90% 85%, rgba(29, 53, 87, 0.08), transparent 34%),
     linear-gradient(135deg, #fff7f8 0%, #ffffff 44%, #f7fbff 100%) !important;
 }

 #contact.home-contact-section::before {
   content: "";
   position: absolute;
   inset: 26px;
   border: 1px solid rgba(29, 53, 87, 0.06);
   border-radius: 28px;
   pointer-events: none;
 }

 #contact.home-contact-section>.container {
   position: relative;
   z-index: 1;
 }

 #contact .contact-grid {
   align-items: center;
   gap: clamp(28px, 5vw, 64px);
 }

 #contact .contact-grid>div:first-child {
   position: relative;
   padding: clamp(28px, 3.6vw, 46px);
   border-radius: 26px;
   background: rgba(255, 255, 255, 0.88);
   border: 1px solid rgba(29, 53, 87, 0.1);
   box-shadow: 0 26px 70px rgba(15, 23, 42, 0.1);
   backdrop-filter: blur(14px);
   transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
 }

 #contact .contact-grid>div:first-child:hover {
   transform: translateY(-4px);
   border-color: rgba(227, 30, 36, 0.16);
   box-shadow: 0 30px 75px rgba(15, 23, 42, 0.11);
 }

 #contact .contact-grid>div:first-child::before {
   content: "";
   position: absolute;
   inset: 0;
   border-radius: inherit;
   background:
     linear-gradient(135deg, rgba(227, 30, 36, 0.06), transparent 42%),
     radial-gradient(circle at 95% 0%, rgba(29, 53, 87, 0.06), transparent 34%);
   pointer-events: none;
 }

 #contact .subtitle {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 10px;
   color: var(--primary);
   letter-spacing: 0.12em;
 }

 #contact .subtitle::before {
   content: "";
   width: 28px;
   height: 2px;
   border-radius: 999px;
   background: var(--primary);
 }

 #contact .title {
   color: #1d3557;
   letter-spacing: -0.02em;
 }

 #contact .contact-grid>div:first-child>* {
   position: relative;
   z-index: 1;
 }

 #contact .form-label {
   font-size: 0.95rem;
   font-weight: 700;
   color: #344258;
   margin-bottom: 0.65rem;
 }

 #contact .form-input,
 #contact .form-textarea {
   min-height: 56px;
   padding: 0.95rem 1.1rem;
   border-radius: 12px;
   background-color: #ffffff !important;
   border: 1px solid #dfe7ef;
   color: #0f172a;
   box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
   transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
 }

 #contact .form-input:hover,
 #contact .form-textarea:hover {
   border-color: rgba(227, 30, 36, 0.28);
   box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
 }

 #contact .form-input::placeholder,
 #contact .form-textarea::placeholder {
   color: #8a94a3;
 }

 #contact .form-input:focus,
 #contact .form-textarea:focus {
   border-color: var(--primary);
   background-color: #ffffff !important;
   box-shadow: 0 0 0 4px rgba(227, 30, 36, 0.12), 0 12px 28px rgba(15, 23, 42, 0.07);
   transform: translateY(-1px);
 }

 #contact .btn-submit {
   min-height: 56px;
   padding: 0.9rem 2.4rem;
   border-radius: 12px;
   background: linear-gradient(135deg, var(--primary), #ff4b55);
   box-shadow: 0 16px 34px rgba(227, 30, 36, 0.24);
   transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
 }

 #contact .btn-submit:hover {
   background: linear-gradient(135deg, #dc2626, var(--primary));
   transform: translateY(-2px);
   box-shadow: 0 20px 42px rgba(227, 30, 36, 0.3);
 }

 #contact .contact-info-wrap {
   position: relative;
 }

 #contact .contact-info-card {
   width: 100%;
   min-height: 360px;
   display: flex;
   align-items: center;
   padding: clamp(30px, 4vw, 48px);
   border-radius: 28px;
   background:
     linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.92)),
     radial-gradient(circle at 100% 0%, rgba(227, 30, 36, 0.08), transparent 35%);
   border: 1px solid rgba(29, 53, 87, 0.1);
   border-left: 7px solid var(--primary);
   box-shadow: 0 28px 78px rgba(15, 23, 42, 0.1);
   position: relative;
   overflow: hidden;
 }

 #contact .contact-info-card::before {
   content: "";
   position: absolute;
   width: 170px;
   height: 170px;
   right: -60px;
   top: -60px;
   border-radius: 50%;
   background: rgba(227, 30, 36, 0.09);
 }

 #contact .contact-info-list {
   position: relative;
   z-index: 1;
   display: grid;
   gap: 24px;
   width: 100%;
 }

 #contact .contact-info-actions {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 18px;
 }

 #contact .contact-info-item {
   display: flex;
   align-items: center;
   gap: 16px;
   padding: 14px 16px;
   border-radius: 18px;
   background: rgba(248, 250, 252, 0.85);
   border: 1px solid rgba(29, 53, 87, 0.06);
 }

 #contact .contact-info-address {
   align-items: flex-start;
   background: transparent;
   border-color: transparent;
   padding: 0;
 }

 #contact .contact-info-icon {
   flex: 0 0 52px;
   width: 52px;
   height: 52px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 16px;
   background: rgba(227, 30, 36, 0.1);
   color: var(--primary);
   font-size: 1.35rem;
 }

 #contact .contact-info-card .loc-text {
   text-align: left;
   color: var(--gray-700);
   font-size: 1.05rem;
   line-height: 1.65;
   margin: 0;
 }

 #contact .contact-info-card .loc-text strong {
   color: #344258;
   font-size: 1.08rem;
 }

 #contact .contact-info-link {
   text-decoration: none;
   color: var(--gray-800);
   font-weight: 750;
   font-size: 1.04rem;
   word-break: break-word;
 }

 #contact .location-card {
   transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
 }

 #contact .location-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 24px 65px rgba(15, 23, 42, 0.11) !important;
   border-left-color: #ff4b55 !important;
 }

 #contact .location-card i {
   transition: transform 0.3s ease, color 0.3s ease;
 }

 #contact .location-card:hover i {
   transform: translateY(-2px) scale(1.05);
 }

 @media (max-width: 767px) {
   #contact.home-contact-section::before {
     inset: 12px;
     border-radius: 18px;
   }

   #contact .contact-grid>div:first-child,
   #contact .contact-info-card {
     padding: 24px 18px;
     border-radius: 20px;
   }

   #contact .contact-info-card {
     min-height: auto;
   }

   #contact .contact-info-item {
     align-items: flex-start;
   }
 }

 .location-card {
   padding: 1.5rem;
   background-color: var(--gray-50);
   border-radius: 0.75rem;
 }

 .loc-title {
   font-weight: 700;
   color: var(--secondary);
   margin-bottom: 0.5rem;
 }

 .loc-text {
   font-size: 0.875rem;
   color: var(--gray-600);
 }

 /* --- Footer --- */
 .site-footer {
   background-color: var(--secondary);
   color: white;
   padding-top: 3rem;
   padding-bottom: 0rem;
   border-bottom: 8px solid var(--primary);
 }

 .footer-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 2rem;
   margin-bottom: 1rem;
 }

 @media (min-width: 768px) {
   .footer-grid {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 @media (min-width: 1024px) {
   .footer-grid {
     grid-template-columns: repeat(5, 1fr);
   }
 }

 .footer-text {
   font-size: 0.875rem;
   color: var(--gray-400);
   line-height: 1.6;
   margin-bottom: 1.5rem;
 }

 .social-links {
   display: flex;
   gap: 1rem;
 }

 .social-icon {
   width: 2rem;
   height: 2rem;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.1);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.3s;
 }

 .social-icon:hover {
   background-color: var(--primary);
 }

 .footer-heading {
   font-weight: 700;
   margin-bottom: 1rem;
   font-size: 1.125rem;
 }

 .footer-links li {
   margin-bottom: 0.5rem;
 }

 .footer-links a {
   font-size: 0.875rem;
   color: var(--gray-400);
 }

 .footer-links a:hover {
   color: var(--primary);
 }

 .newsletter-form {
   display: flex;
 }

 .news-input {
   width: 100%;
   padding: 0.5rem 0.75rem;
   background: rgba(255, 255, 255, 0.1);
   border-radius: 0.25rem 0 0 0.25rem;
   border: 1px solid rgba(255, 255, 255, 0.1);
   color: white;
   outline: none;
   font-size: 0.875rem;
 }

 .news-btn {
   background-color: var(--primary);
   padding: 0.5rem 1rem;
   border-radius: 0 0.25rem 0.25rem 0;
   border: none;
   color: white;
   cursor: pointer;
   transition: background 0.3s;
 }

 .news-btn:hover {
   background-color: #dc2626;
 }

 .footer-bottom {
   border-top: 1px solid rgba(255, 255, 255, 0.1);
   padding-top: 1rem;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: center;
   font-size: 0.875rem;
   color: var(--gray-500);
 }

 @media (min-width: 768px) {
   .footer-bottom {
     flex-direction: row;
   }
 }

 .bottom-links {
   display: flex;
   gap: 1.5rem;
   margin-top: 1rem;
 }

 @media (min-width: 768px) {
   .bottom-links {
     margin-top: 0;
   }
 }

 .bottom-links a:hover {
   color: white;
 }

 /* --- Chat Widget --- */
 .chat-container {
   position: fixed;
   bottom: 1.5rem;
   right: 1.5rem;
   z-index: 50;
   display: flex;
   flex-direction: column;
   align-items: flex-end;
 }

 .chat-widget {
   background: white;
   width: 20rem;
   border-radius: 1rem;
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
   overflow: hidden;
   margin-bottom: 1rem;
   border: 1px solid var(--gray-100);
   transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   transform-origin: bottom right;
 }

 .chat-widget.hidden-chat {
   transform: scale(0);
   opacity: 0;
   pointer-events: none;
 }

 .chat-widget.visible-chat {
   transform: scale(1);
   opacity: 1;
   pointer-events: auto;
 }

 .chat-header {
   background-color: var(--secondary);
   padding: 1rem;
   display: flex;
   justify-content: space-between;
   align-items: center;
 }

 .chat-header-info {
   display: flex;
   align-items: center;
   gap: 0.5rem;
 }

 .agent-avatar {
   width: 2rem;
   height: 2rem;
   background-color: #4ade80;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 0.75rem;
   border: 2px solid white;
 }

 .close-chat-btn {
   background: none;
   border: none;
   color: rgba(255, 255, 255, 0.7);
   cursor: pointer;
 }

 .close-chat-btn:hover {
   color: white;
 }

 .chat-body {
   height: 16rem;
   background-color: var(--gray-50);
   padding: 1rem;
   overflow-y: auto;
   display: flex;
   flex-direction: column;
   gap: 0.75rem;
 }

 .msg-row {
   display: flex;
   width: 100%;
 }

 .msg-row.start {
   justify-content: flex-start;
 }

 .msg-row.end {
   justify-content: flex-end;
 }

 .msg-bubble {
   padding: 0.5rem 0.75rem;
   font-size: 0.875rem;
   max-width: 85%;
   box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
 }

 .bubble-bot {
   background: white;
   border: 1px solid var(--gray-200);
   color: var(--gray-600);
   border-radius: 0 0.5rem 0.5rem 0.5rem;
 }

 .bubble-user {
   background: var(--primary);
   color: white;
   border-radius: 0.5rem 0 0.5rem 0.5rem;
 }

 .chat-input-area {
   padding: 0.75rem;
   background: white;
   border-top: 1px solid var(--gray-100);
 }

 .input-group {
   display: flex;
   align-items: center;
   gap: 0.5rem;
 }

 .chat-input {
   flex: 1;
   background-color: var(--gray-100);
   border-radius: 9999px;
   padding: 0.5rem 1rem;
   font-size: 0.875rem;
   border: none;
   outline: none;
 }

 .chat-input:focus {
   box-shadow: 0 0 0 1px var(--primary);
 }

 .send-btn {
   color: var(--primary);
   background: none;
   border: none;
   padding: 0.5rem;
   cursor: pointer;
 }

 .send-btn:hover {
   color: #b91c1c;
 }

 .chat-toggle-btn {
   width: 3.5rem;
   height: 3.5rem;
   background-color: var(--primary);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 1.5rem;
   box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
   border: none;
   cursor: pointer;
   transition: all 0.3s;
 }

 .chat-toggle-btn:hover {
   background-color: #dc2626;
   transform: scale(1.1);
 }

 @keyframes cardReveal {
   0% {
     opacity: 0;
     transform: scale(0.9) translateY(20px);
     filter: blur(5px);
   }

   100% {
     opacity: 1;
     transform: scale(1) translateY(0);
     filter: blur(0);
   }
 }

 @keyframes textShimmer {
   0% {
     background-position: -200% center;
   }

   100% {
     background-position: 200% center;
   }
 }

 .cyber-grid-container {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: 12px;
 }

 @media (max-width: 1024px) {
   .cyber-grid-container {
     grid-template-columns: repeat(3, 1fr);
   }
 }

 @media (max-width: 600px) {
   .cyber-grid-container {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 .cyber-card-compact {
   background: #1d3557;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 12px;
   padding: 12px 5px;
   text-align: center;
   transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
   box-shadow: 6px 6px 12px #162943, -3px -3px 10px #24416b;
 }

 .cyber-card-compact:hover {
   transform: translateY(-8px);
   border-color: #a8dadc;
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
   background: linear-gradient(145deg, #1e3a5f, #1a304e);
 }

 .icon-box-small {
   width: 35px;
   height: 35px;
   margin: 0 auto 8px;
   background: #1d3557;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 25px;
   box-shadow: inset 3px 3px 6px #162943, inset -2px -2px 6px #24416b;
 }

 .card-label {
   font-size: 15px;
   font-weight: 600;
   letter-spacing: 0.3px;
   margin: 0;
   color: #f1faee;
 }

 /* Entrance Animation */
 @keyframes fadeInRight {
   from {
     opacity: 0;
     transform: translateX(-30px);
   }

   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 /* 1. THE PARENT CONTAINER */
 .exp-container {
   display: flex;
   flex-wrap: wrap;
   /* Allows cards to move to the next line on mobile */
   align-items: stretch;
   /* CRITICAL: Forces all cards in a row to match the tallest one */
   gap: 24px;
   /* Clean, uniform spacing between your cards */
   width: 100%;
 }

 /* 2. THE CHILD CARD */
 .exp-card {
   flex: 1;
   min-width: 260px;
   height: 100%;
   /* CRITICAL: Tells the card to fill the stretched height */

   background: #ffffff;
   border-radius: 20px;
   position: relative;
   padding: 35px 25px;
   border: 1px solid #f0f4f8;
   transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
   overflow: hidden;
   box-shadow: 0 10px 30px rgba(26, 46, 76, 0.05);

   /* Inner layout alignment */
   display: flex;
   flex-direction: column;
 }

 .exp-image-wrap {
   width: 70px;
   height: 70px;
   background: #f8faff;
   border-radius: 15px;
   margin-bottom: 20px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: 0.5s;
   border: 1px solid #e1e8f0;
 }

 .exp-image-wrap img {
   width: 40px;
   height: 40px;
   object-fit: contain;
   transition: 0.5s;
 }

 .exp-tag {
   position: absolute;
   top: 15px;
   right: 15px;
   font-size: 35px;
   font-weight: 900;
   color: rgba(230, 57, 70, 0.05);
   transition: 0.5s;
 }

 .exp-card:hover {
   background: #1a2e4c;
   transform: translateY(-10px);
   box-shadow: 0 20px 40px rgba(26, 46, 76, 0.2);
 }

 .exp-card:hover .exp-title {
   color: #ffffff;
 }

 .exp-card:hover .exp-desc {
   color: rgba(255, 255, 255, 0.7);
 }

 .exp-card:hover .exp-tag {
   color: rgba(255, 255, 255, 0.15);
   transform: scale(1.1);
 }

 .exp-card:hover .exp-image-wrap {
   background: #e63946;
   border-color: #e63946;
 }

 .exp-card:hover .exp-image-wrap img {
   filter: brightness(0) invert(1);
 }

 .exp-title {
   font-size: 20px;
   font-weight: 700;
   color: #1a2e4c;
   margin-bottom: 12px;
   transition: 0.3s;
 }

 .exp-desc {
   font-family: sans-serif;
   font-size: 15px;
   color: #64748b;
   line-height: 1.6;
   margin-bottom: 20px;
   transition: 0.3s;
 }

 .exp-cta {
   font-weight: 700;
   color: #e63946;
   text-decoration: none;
   font-size: 14px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   margin-top: auto;
 }

 .exp-card:hover .exp-cta {
   color: #a8dadc;
 }

 /* Custom Scrollbar */
 .exp-container::-webkit-scrollbar {
   height: 4px;
 }

 .exp-container::-webkit-scrollbar-thumb {
   background: #e1e8f0;
   border-radius: 10px;
 }

 /* Responsive Logic */
 @media (max-width: 992px) {
   .exp-container {
     flex-wrap: nowrap;
     justify-content: flex-start;
     overflow-x: auto;
     overflow-y: hidden;
     padding-bottom: 10px;
     scroll-snap-type: x proximity;
     -webkit-overflow-scrolling: touch;
   }

   .exp-card {
     flex: 0 0 clamp(240px, 42vw, 300px);
     min-width: 0;
     scroll-snap-align: start;
   }
 }

 @media (max-width: 600px) {
   .exp-container {
     flex-direction: row;
     flex-wrap: nowrap;
     margin-top: 0px;
   }

   .exp-card {
     flex: 0 0 min(82vw, 280px);
     width: auto;
     min-width: 0;
   }
 }

 /* --- Header & Navigation Fix --- */
 .site-header {
   position: fixed;
   width: 100%;
   left: 0;
   top: 0;
   z-index: 1000;
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   transform: translateY(0);
   will-change: transform;
 }


 .site-header.sticky {
   padding: 0 !important;
   animation: stickyHeaderSlideDown 0.75s cubic-bezier(0.16, 1, 0.3, 1) both;
 }

 @keyframes stickyHeaderSlideDown {
   from {
     transform: translateY(-100%);
     opacity: 0.98;
   }

   to {
     transform: translateY(0);
     opacity: 1;
   }
 }

 .site-header.sticky .container {
   max-width: 100% !important;
   width: 100% !important;
   padding: 0 !important;
 }

 .site-header.sticky .nav-bar {
   width: 100% !important;
   max-width: 100% !important;
   border-radius: 0 !important;
   margin: 0 !important;
   padding: 15px 5% !important;
   background: rgba(255, 255, 255, 0.98);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
   border: none;
 }

 .site-header.sticky .logo img {
   width: 160px !important;
   transition: 0.3s;
 }

 :root {
   --primary-navy: #1d3557;
   --accent-red: #e63946;
   --light-bg: #f9fafb;
   --text-muted: #6c757d;
 }


 .services-section {
   padding: 40px 0;
   min-height: 100vh;
   display: flex;
   align-items: center;
 }

 .text-navy {
   color: var(--primary-navy);
 }

 .text-red {
   color: var(--accent-red);
 }

 /* Viewport Styling */
 .cards-viewport {
   height: 650px;
   overflow: hidden;
   position: relative;
   mask-image: linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);
   -webkit-mask-image: linear-gradient(to bottom, transparent, black 8%, black 92%, transparent);
 }

 .sliding-column {
   display: flex;
   flex-direction: column;
   gap: 24px;
 }

 /* --- Animation Logic --- */

 /* Column 1: Bottom to Top */
 .anim-col-up {
   animation: slideUp 25s linear infinite;
 }

 /* Column 2: Top to Bottom */
 .anim-col-down {
   animation: slideDown 25s linear infinite;
 }

 .sliding-column:hover {
   animation-play-state: paused;
 }

 /* Moves UP (Standard) */
 @keyframes slideUp {
   0% {
     transform: translateY(0);
   }

   100% {
     transform: translateY(calc(-50% - 12px));
   }
 }

 @keyframes slideDown {
   0% {
     transform: translateY(calc(-50% - 12px));
   }

   100% {
     transform: translateY(0);
   }
 }

 /* --- Card Design --- */
 .service-card {
   background: #ffffff;
   border-radius: 20px;
   padding: 30px;
   transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
   border: 1px solid rgba(0, 0, 0, 0.03);
   display: flex;
   flex-direction: column;
   height: 280px;
   width: 100%;
   position: relative;
   flex-shrink: 0;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
 }

 .icon-box {
   width: 50px;
   height: 50px;
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 22px;
 }

 .icon-box i {
   font-size: 1.3rem;
 }

 /* Icon Colors */
 .bg-blue-soft {
   background-color: #eef2ff;
   color: #4361ee;
 }

 .bg-pink-soft {
   background-color: #fff1f2;
   color: #f43f5e;
 }

 .bg-purple-soft {
   background-color: #f5f3ff;
   color: #8b5cf6;
 }

 .bg-green-soft {
   background-color: #f0fdf4;
   color: #22c55e;
 }

 .bg-orange-soft {
   background-color: #fff7ed;
   color: #f97316;
 }

 .bg-cyan-soft {
   background-color: #ecfeff;
   color: #0891b2;
 }

 .service-card h4 {
   font-weight: 700;
   margin-bottom: 12px;
   font-size: 1.2rem;
   color: var(--primary-navy);
 }

 .service-card p {
   font-size: 0.9rem;
   color: var(--text-muted);
   line-height: 1.6;
   margin-bottom: 15px;
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;
 }

 .learn-more {
   margin-top: auto;
   color: var(--accent-red);
   text-decoration: none;
   font-weight: 600;
   font-size: 0.85rem;
   display: flex;
   align-items: center;
   transition: 0.3s;
 }

 .learn-more i {
   margin-left: 6px;
   font-size: 0.8rem;
   transition: transform 0.3s;
 }

 .service-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 20px 40px rgba(29, 53, 87, 0.08);
   border-color: rgba(230, 57, 70, 0.2);
 }

 .service-card:hover .learn-more i {
   transform: translateX(5px);
 }

 .btn-custom {
   background-color: var(--accent-red);
   color: white;
   padding: 14px 40px;
   border-radius: 50px;
   font-weight: 600;
   transition: 0.3s;
   border: none;
   text-decoration: none;
   display: inline-block;
   box-shadow: 0 4px 15px rgba(230, 57, 70, 0.3);
 }

 .btn-custom:hover {
   background-color: var(--primary-navy);
   color: white;
   transform: translateY(-2px);
 }

 @media (max-width: 991px) {
   .cards-viewport {
     height: 500px;
     margin-top: 40px;
   }

   .service-card {
     height: 260px;
     padding: 20px;
   }
 }

 .contact-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 3rem;
   align-items: center;
   max-width: 1200px;
   margin: 0 auto;
 }

 /* Mobile responsive ke liye */
 @media (max-width: 768px) {
   .contact-grid {
     grid-template-columns: 1fr;
     gap: 2rem;
   }
 }

 /* Background Wrapper */
 .bg-animation-wrapper {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1;
   pointer-events: none;
 }

 /* Floating Blobs */
 .blob {
   position: absolute;
   border-radius: 50%;
   filter: blur(80px);
   opacity: 0.15;
   z-index: 1;
 }

 .blob-1 {
   width: 400px;
   height: 400px;
   background: #a8dadc;
   top: -100px;
   right: -50px;
   animation: float-blob 20s infinite alternate;
 }

 .blob-2 {
   width: 300px;
   height: 300px;
   background: #e63946;
   bottom: -50px;
   left: -50px;
   animation: float-blob 15s infinite alternate-reverse;
 }

 /* Moving Grid Effect */
 .moving-grid {
   position: absolute;
   width: 200%;
   height: 200%;
   top: -50%;
   left: -50%;
   background-image:
     linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
     linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
   background-size: 50px 50px;
   transform: rotate(15deg);
   animation: grid-move 60s linear infinite;
   z-index: 0;
 }

 /* Animations */
 @keyframes float-blob {
   0% {
     transform: translate(0, 0) scale(1);
   }

   100% {
     transform: translate(-50px, 100px) scale(1.2);
   }
 }

 @keyframes grid-move {
   0% {
     transform: rotate(15deg) translateY(0);
   }

   100% {
     transform: rotate(15deg) translateY(50px);
   }
 }

 /* Ensure container stays on top */
 .container {
   z-index: 2;
 }

 /* Bento Card Base */
 .bento-card {
   border-radius: 30px;
   transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
   border: 1px solid rgba(255, 255, 255, 0.05);
   position: relative;
   overflow: hidden;
 }

 /* Specific Card Styles */
 .blog-gradient {
   background: linear-gradient(135deg, rgba(69, 123, 157, 0.3) 0%, rgba(29, 53, 87, 0.8) 100%);
   backdrop-filter: blur(10px);
 }

 .secondary-glass {
   background: rgba(255, 255, 255, 0.03);
   backdrop-filter: blur(5px);
 }

 /* Hover Effects */
 .bento-card:hover {
   transform: scale(1.02);
   border-color: rgba(168, 218, 220, 0.4);
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
 }

 .secondary-glass:hover {
   background: rgba(255, 255, 255, 0.07);
 }

 /* Animations for icons */
 .btn-outline-light:hover,
 .btn-outline-danger:hover {
   transform: rotate(45deg);
 }

 .display {
   font-size: clamp(22px, 4vw, 36px);
 }

 .para {
   font-size: 16px;
 }

 .inner-hero {
   position: relative;
   height: 420px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: white;
   overflow: hidden;
 }

 /* Video background */
 .hero-video {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: -2;
 }

 /* Dark overlay on video */
 .inner-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.466);
   /* dark but video visible */
   z-index: -1;
 }

 /* Text */
 .inner-hero-content {
   position: relative;
   z-index: 2;
 }

 .inner-hero-content h1 {
   font-size: 48px;
   font-weight: 700;
   margin-bottom: 10px;
 }

 .inner-hero-content p {
   font-size: 18px;
 }

 /* Precise polygon shapes for the background number blocks */
 .shape-bg-down {
   clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
 }

 .shape-bg-up {
   clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
 }

 /* The main white card polygon */
 .shape-card {
   clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
 }

 /* Smooth Hover Effects */
 .infographic-card {
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
 }

 .infographic-card:hover {
   transform: translateY(-12px);
 }

 .infographic-card:hover .icon-container {
   transform: scale(1.1) rotate(5deg);
 }

 .icon-container {
   transition: transform 0.3s ease;
 }

 /* Responsive adjustments for mobile to ensure shapes don't overlap awkwardly */
 @media (max-width: 768px) {
   .shape-card {
     clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
   }
 }

 :root {
   --red-accent: #9f2730;
   --navy-dark: #14253c;
   --white-soft: #f8fafc;
 }

 .mission-container {
   background-color: var(--white-soft);
 }

 .mission-bento-grid {
   display: flex;
   flex-wrap: wrap;
   background: #ffffff;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 15px 35px rgba(20, 37, 60, 0.1);
   border: 1px solid rgba(20, 37, 60, 0.05);
 }

 .mission-info {
   flex: 1 1 500px;
   padding: 4rem;
   background-color: #ffffff;
 }

 .mission-cta {
   flex: 1 1 300px;
   padding: 4rem;
   background-color: var(--navy-dark);
   color: #ffffff;
   display: flex;
   flex-direction: column;
   justify-content: center;
 }

 .accent-line {
   width: 60px;
   height: 5px;
   background: var(--red-accent);
   margin-bottom: 1.5rem;
   border-radius: 10px;
 }

 .section-heading {
   color: var(--navy-dark);
   font-weight: 800;
   font-size: 2.5rem;
   margin-bottom: 1.5rem;
 }

 .main-content {
   color: #4b5563;
   font-size: 1.15rem;
   line-height: 1.8;
   margin-bottom: 0;
 }

 .cta-message {
   font-size: 1rem;
   line-height: 1.6;
   opacity: 0.9;
   margin-bottom: 2rem;
 }

 .contact-email {
   color: #ffffff;
   font-weight: 600;
   text-decoration: underline;
   text-decoration-color: var(--red-accent);
   text-underline-offset: 4px;
 }

 .btn-primary-custom {
   background-color: var(--red-accent);
   color: #ffffff;
   padding: 14px 28px;
   border-radius: 8px;
   text-decoration: none;
   font-weight: 700;
   text-align: center;
   transition: all 0.3s ease;
   display: inline-block;
   text-transform: uppercase;
   letter-spacing: 1px;
 }

 .btn-primary-custom:hover {
   background-color: #7d1f26;
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(159, 39, 48, 0.3);
   color: #ffffff;
 }

 /* Responsive adjustment */
 @media (max-width: 991px) {

   .mission-info,
   .mission-cta {
     padding: 2.5rem;
   }
 }

 :root {
   --navy: #14253c;
   --red: #9f2730;
   --gray-bg: #f8fafc;
 }

 .layered-design {
   background-color: #fff;
   overflow: hidden;
 }

 .mb-100 {
   margin-bottom: 80px;
 }

 .text-navy {
   color: var(--navy);
 }

 .text-red {
   color: var(--red);
 }

 .ls-1 {
   letter-spacing: 1.5px;
 }

 /* Overlapping Title Effect */
 .title-bg-text {
   position: absolute;
   font-size: 8rem;
   font-weight: 900;
   color: rgba(20, 37, 60, 0.03);
   top: -50px;
   left: -20px;
   z-index: 0;
   white-space: nowrap;
 }

 .red-bar {
   width: 60px;
   height: 6px;
   background: var(--red);
 }

 .lead-text {
   font-size: 18px;
   text-align: justify;
   line-height: 1.8;
   border-left: 1px solid #ddd;
   padding-left: 30px;
 }

 /* Dark Box Styling */
 .dark-box {
   background: var(--navy);
   border-radius: 4px;
   position: relative;
   box-shadow: 20px 20px 0px var(--red);
   /* Staggered shadow effect */
 }

 .text-light-muted {
   color: #a0aec0;
   font-size: 1.1rem;
 }

 .location-tag {
   border: 1px solid var(--red);
   color: var(--red);
   padding: 10px 20px;
   font-weight: bold;
   font-size: 0.9rem;
 }

 /* Paragraph Styling */
 .standard-p {
   font-size: 1.1rem;
   color: #4a5568;
   line-height: 1.8;
 }

 .compatibility-note {
   font-style: italic;
   color: var(--navy);
   font-size: 1.1rem;
 }

 .badge-red {
   background: var(--red);
   color: #fff;
   padding: 3px 12px;
   border-radius: 4px;
   font-style: normal;
   margin-right: 10px;
   font-size: 0.9rem;
 }

 /* Responsive */
 @media (max-width: 991px) {
   .title-bg-text {
     font-size: 4rem;
     top: -20px;
   }

   .lead-text {
     border-left: none;
     padding-left: 0;
     border-top: 1px solid #ddd;
     padding-top: 20px;
   }

   .dark-box {
     box-shadow: 10px 10px 0px var(--red);
   }
 }

 :root {
   --navy: #14253c;
   --red: #9f2730;
 }

 .text-navy {
   color: var(--navy);
 }

 .red-line {
   width: 50px;
   height: 3px;
   background: var(--red);
 }

 /* Main Card Style */
 .check-item {
   display: flex;
   align-items: center;
   padding: 22px 25px;
   background: #ffffff;
   border: 1px solid rgba(20, 37, 60, 0.1);
   border-radius: 16px;
   transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
   cursor: pointer;
   position: relative;
 }

 /* Custom Checkmark (Without Input) */
 .custom-check {
   height: 24px;
   width: 24px;
   background-color: var(--red);
   border-radius: 6px;
   margin-right: 18px;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
 }

 /* The "Tick" using Pseudo-element */
 .custom-check::after {
   content: "";
   width: 6px;
   height: 11px;
   border: solid white;
   border-width: 0 2px 2px 0;
   transform: rotate(45deg);
   margin-bottom: 2px;
 }

 .expertise-label {
   font-weight: 600;
   color: var(--navy);
   font-size: 1.05rem;
   transition: color 0.3s ease;
 }

 /* --- DYNAMIC HOVER STATE --- */
 .check-item:hover {
   background-color: var(--navy);
   border-color: var(--navy);
   transform: translateY(-8px);
   box-shadow: 0 15px 30px rgba(20, 37, 60, 0.25);
 }

 .check-item:hover .expertise-label {
   color: #ffffff;
 }

 .check-item:hover .custom-check {
   background-color: rgba(255, 255, 255, 0.2);
   /* Light glass effect on hover */
   transform: scale(1.1);
 }


 :root {
   --navy: #14253c;
   --red: #9f2730;
   --soft-gray: #fcfdfe;
 }

 /* --- Compact Expert Layout --- */
 .layered-design {
   background: white;
   padding: 60px 0;
 }

 .main-heading-style {
   font-size: 28px;
   font-weight: 900;
   color: var(--navy);
   line-height: 1.2;
   margin-bottom: 25px;
   position: relative;
 }

 .lead-text {
   font-size: 1.1rem;
   text-align: justify;
   line-height: 1.7;
   color: #334155;
   margin-bottom: 20px;
   padding-left: 25px;
   border-left: 2px solid #e2e8f0;
   position: relative;
   transition: all 0.5s ease;
 }

 .lead-text:hover {
   border-left-color: var(--red);
   transform: translateX(5px);
 }

 /* --- Compact Expertise Grid --- */
 .expertise-checklist {
   background-color: var(--soft-gray);
   padding: 0px 0 30px;
 }

 .header-content h2 {
   font-weight: 900;
   color: var(--navy);
   letter-spacing: -1px;
 }

 .check-item {
   display: flex;
   align-items: center;
   padding: 25px;
   background: #ffffff;
   border-radius: 20px;
   transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
   box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
   border: 1px solid rgba(226, 232, 240, 0.8);
   height: 100%;
   position: relative;
   overflow: hidden;
 }

 /* The "Expert" Indicator */
 .check-item::after {
   content: 'EXPERT';
   position: absolute;
   top: 15px;
   right: -30px;
   background: var(--red);
   color: white;
   font-size: 0.6rem;
   font-weight: 900;
   padding: 5px 40px;
   transform: rotate(45deg);
   opacity: 0;
   transition: 0.4s;
 }

 /* Single Checkmark Fix */
 .custom-check {
   width: 40px;
   height: 40px;
   background: rgba(159, 39, 48, 0.08);
   border-radius: 12px;
   margin-right: 15px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--red);
   font-size: 1.1rem;
   transition: all 0.4s ease;
   flex-shrink: 0;
 }

 /* Sirf ek hi icon aayega yahan se */
 .custom-check::before {
   content: '\f00c';
   font-family: 'Font Awesome 6 Free';
   font-weight: 900;
 }

 .expertise-label {
   font-weight: 800;
   color: var(--navy);
   font-size: 1.1rem;
   letter-spacing: -0.5px;
 }

 /* --- Hover Logic --- */
 .check-item:hover {
   transform: translateY(-8px);
   background: var(--navy);
   border-color: var(--navy);
   box-shadow: 0 15px 30px -12px rgba(20, 37, 60, 0.2);
 }

 .check-item:hover::after {
   opacity: 1;
   right: -25px;
 }

 .check-item:hover .expertise-label {
   color: #ffffff;
 }

 .check-item:hover .custom-check {
   background: var(--red);
   color: #ffffff;
 }

 .red-line {
   width: 45px;
   height: 5px;
   background: var(--red);
   border-radius: 10px;
   margin-bottom: 15px;
 }

 @media (max-width: 768px) {
   .main-heading-style {
     font-size: 1.6rem;
   }

   .layered-design,
   .expertise-checklist {
     padding: 40px 0;
   }
 }

 .practice-title {
   font-size: 18px;
   font-weight: 600;
   margin-top: 5px;
   margin-bottom: 10px;
   margin-left: 20px;
 }

 .practice-list {
   list-style: none;
   padding: 0;
   margin-left: 30px;
 }

 .practice-list li {
   font-size: 15px;
   color: #444;
   margin-bottom: 6px;
   position: relative;
   padding-left: 15px;
 }

 .practice-list li::before {
   content: "";
   width: 6px;
   height: 6px;
   background: red;
   /* dot red color */
   border-radius: 50%;
   position: absolute;
   left: 0;
   top: 7px;
 }




 .dba-section {
   padding: 0 0 60px;
   /* Reduced from 120px */
   background: #ffffff;
   position: relative;
   overflow: hidden;
 }

 /* Animated Background Blobs */
 .blob {
   position: absolute;
   width: 400px;
   height: 400px;
   background: radial-gradient(circle, rgba(230, 57, 70, 0.04) 0%, rgba(255, 255, 255, 0) 70%);
   border-radius: 50%;
   z-index: 0;
   filter: blur(40px);
 }

 .blob-1 {
   top: -5%;
   left: -5%;
 }

 .blob-2 {
   bottom: -5%;
   right: -5%;
 }

 .container {
   position: relative;
   z-index: 1;
 }

 .label-red {
   color: var(--accent-red);
   font-weight: 800;
   text-transform: uppercase;
   font-size: 0.7rem;
   /* Smaller font */
   letter-spacing: 2px;
   display: inline-block;
   margin-bottom: 12px;
   padding-left: 45px;
   position: relative;
   opacity: 0;
   transform: translateX(-15px);
   transition: var(--transition);
 }

 .label-red.visible {
   opacity: 1;
   transform: translateX(0);
 }

 .label-red::before {
   content: "";
   position: absolute;
   left: 0;
   top: 50%;
   width: 35px;
   height: 2px;
   background: var(--accent-red);
 }

 .section-title {
   opacity: 0;
   transform: translateY(20px);
   transition: var(--transition);
   transition-delay: 0.1s;
 }

 .section-title.visible {
   opacity: 1;
   transform: translateY(0);
 }

 /* Grid System */
 .dba-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px;
   /* Reduced gap */
   /* margin-top: 45px; */
 }

 .dba-card {
   background: white;
   padding: 35px 30px;
   /* Reduced padding for compact look */
   border-radius: 30px;
   /* Slightly smaller radius */
   border: 1px solid rgba(15, 23, 42, 0.06);
   transition: var(--transition);
   position: relative;
   overflow: hidden;
   display: flex;
   flex-direction: column;
   height: 100%;
   opacity: 0;
   transform: translateY(30px);
 }

 .dba-card.visible {
   opacity: 1;
   transform: translateY(0);
 }

 .dba-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
   border-color: rgba(230, 57, 70, 0.2);
 }

 .dba-card::after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 3px;
   background: var(--accent-red);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform 0.4s ease;
 }

 .dba-card:hover::after {
   transform: scaleX(1);
 }

 .icon-wrapper {
   width: 55px;
   /* Smaller icon wrapper */
   height: 55px;
   background: #fdf2f2;
   color: var(--accent-red);
   border-radius: 15px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.4rem;
   margin-bottom: 20px;
   transition: all 0.4s ease;
 }

 .dba-card:hover .icon-wrapper {
   background: var(--accent-red);
   color: white;
   transform: scale(1.05) rotate(5deg);
 }

 .dba-card h4 {
   font-weight: 700;
   font-size: 1.2rem;
   /* Reduced font size */
   margin-bottom: 12px;
   color: var(--primary-navy);
 }

 .dba-card p {
   color: #64748b;
   font-size: 16px;
   /* Reduced font size */
   line-height: 1.6;
   text-align: justify;
   margin-bottom: 0;
   flex-grow: 1;
 }

 .bg-watermark {
   position: absolute;
   right: -5px;
   bottom: -5px;
   font-size: 5rem;
   /* Reduced from 7rem */
   font-weight: 900;
   opacity: 0.02;
   transition: 0.5s;
   line-height: 1;
 }

 .dba-card:hover .bg-watermark {
   opacity: 0.04;
   transform: scale(1.1);
 }

 /* Responsive Breakpoints */
 @media (max-width: 1100px) {
   .dba-grid {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 @media (max-width: 768px) {
   .dba-section {
     padding: 60px 0;
   }

   .dba-grid {
     grid-template-columns: 1fr;
     gap: 20px;
   }

   .dba-card {
     padding: 30px 25px;
   }

   .section-title h2 {
     font-size: 1.8rem;
   }
 }

 .delay-1 {
   transition-delay: 0.05s;
 }

 .delay-2 {
   transition-delay: 0.1s;
 }

 .delay-3 {
   transition-delay: 0.15s;
 }


 .testimonial-section {
   padding: 40px 20px;
   background-color: var(--bg-light);
   display: flex;
   flex-direction: column;
   align-items: center;
   /* min-height: 100vh; */
   justify-content: center;
 }


 .header-group {
   text-align: center;
   margin-bottom: 20px;
 }

 .sub-title {
   color: var(--accent-red);
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.15em;
   font-size: 12px;
   display: block;
   margin-bottom: 8px;
 }

 .main-title {
   font-size: clamp(1.75rem, 4vw, 2.5rem);
   font-weight: 800;
   color: var(--primary-navy);
 }

 .highlight {
   color: var(--accent-red);
 }

 /* Main Card Layout */
 .testimonial-card {
   background: var(--card-bg);
   border-radius: 24px;
   display: flex;
   overflow: hidden;
   border: 1px solid rgba(29, 53, 87, 0.08);
   box-shadow: 0 25px 50px -12px rgba(29, 53, 87, 0.1);
   position: relative;
 }

 /* Left Side: Images */
 .image-container {
   flex: 0 0 42%;
   height: 420px;
   position: relative;
   background: var(--primary-navy);
   overflow: hidden;
 }

 .image-slide {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transform: scale(1.1);
   opacity: 0;
   transition: transform 1.2s ease, opacity 0.6s ease;
 }

 .image-slide.active {
   opacity: 1;
   transform: scale(1);
   z-index: 2;
 }

 /* Video Button Overlay */
 .play-btn {
   position: absolute;
   bottom: 25px;
   left: 25px;
   background: var(--accent-red);
   color: var(--white);
   border: none;
   padding: 12px 24px;
   border-radius: 50px;
   font-weight: 700;
   font-size: 11px;
   letter-spacing: 1px;
   display: flex;
   align-items: center;
   gap: 10px;
   cursor: pointer;
   box-shadow: 0 10px 20px rgba(230, 57, 70, 0.3);
   z-index: 10;
   transition: var(--transition-smooth);
 }

 .play-btn i {
   font-size: 18px;
 }

 .play-btn:hover {
   transform: translateY(-3px) scale(1.05);
   background: var(--primary-navy);
   box-shadow: 0 10px 20px rgba(29, 53, 87, 0.3);
 }

 /* Right Side: Text Content */
 .content-container {
   flex: 1;
   padding: 50px 60px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   position: relative;
   background: var(--white);
 }

 .card-slant {
   position: absolute;
   top: 0;
   left: -35px;
   height: 100%;
   width: 70px;
   background: var(--white);
   transform: skewX(-6deg);
   z-index: 5;
 }

 .quote-icon {
   font-size: 48px;
   color: var(--accent-red);
   opacity: 0.15;
   margin-bottom: 15px;
   position: relative;
   z-index: 6;
 }

 .text-wrapper {
   position: relative;
   min-height: 220px;
   z-index: 6;
 }

 .text-slide {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   opacity: 0;
   visibility: hidden;
   transform: translateY(20px);
 }

 .text-slide.active {
   position: relative;
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
 }

 .testimonial-text {
   font-size: 1.15rem;
   line-height: 1.6;
   color: #334155;
   margin-bottom: 30px;
   font-weight: 500;
 }

 .author-info {
   display: flex;
   align-items: center;
   gap: 20px;
 }

 .author-line {
   width: 40px;
   height: 3px;
   background: var(--accent-red);
   border-radius: 2px;
 }

 .author-name {
   font-size: 20px;
   font-weight: 800;
   color: var(--primary-navy);
   margin-bottom: 4px;
 }

 .author-title {
   font-size: 13px;
   text-transform: uppercase;
   font-weight: 700;
   color: var(--text-muted);
   letter-spacing: 0.5px;
 }

 /* Navigation Thumbnails */
 .thumb-navigation {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 20px;
   margin-top: 40px;
 }

 .thumb-btn {
   width: 50px;
   height: 50px;
   border-radius: 50%;
   object-fit: cover;
   cursor: pointer;
   opacity: 0.5;
   filter: grayscale(100%);
   border: 3px solid transparent;
   transition: var(--transition-smooth);
 }

 .thumb-btn:hover {
   opacity: 0.8;
   transform: scale(1.1);
 }

 .thumb-btn.active {
   width: 65px;
   height: 65px;
   opacity: 1;
   filter: grayscale(0%);
   border-color: var(--accent-red);
   box-shadow: 0 10px 20px rgba(230, 57, 70, 0.2);
   transform: translateY(-5px);
 }

 /* Responsive adjustments */
 @media (max-width: 768px) {
   .testimonial-section {
     padding: 40px 15px;
   }

   .testimonial-card {
     flex-direction: column;
     border-radius: 20px;
   }

   .image-container {
     flex: 0 0 320px;
     width: 100%;
   }

   .card-slant {
     display: none;
   }

   .content-container {
     padding: 12px 15px;
   }

   .text-wrapper {
     min-height: 200px;
   }

   .testimonial-text {
     font-size: 1rem;
   }

   .thumb-navigation {
     margin-top: 30px;
     gap: 12px;
   }

   .thumb-btn {
     width: 45px;
     height: 45px;
   }

   .thumb-btn.active {
     width: 55px;
     height: 55px;
   }
 }

 /* Section Specific Styles - Scope to .sp-wrapper to avoid global conflicts */
 .sp-wrapper {
   --brand-primary: #e63946;
   --bg-deep: #1d3557;
   /* Background color inside the section */
   --surface-glass: rgba(255, 255, 255, 0.03);
   --surface-glass-hover: rgba(255, 255, 255, 0.06);
   --border-glass: rgba(255, 255, 255, 0.08);
   --clr-text-main: #f1faee;
   --clr-text-muted: #a8dadc;
   --anim-smooth: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
   background-color: var(--bg-deep);
   padding: 30px 20px 40px;
   font-family: 'Inter', sans-serif;
   -webkit-font-smoothing: antialiased;
 }

 .sp-container {
   max-width: 1100px;
   margin: 0 auto;
 }

 .sp-header {
   margin-bottom: 20px;
   text-align: left;
 }

 .sp-badge {
   color: var(--brand-primary);
   font-weight: 700;
   font-size: 10px;
   letter-spacing: 0.15em;
   text-transform: uppercase;
   display: inline-block;
   margin-bottom: 0px;
   padding: 2px 12px;
   background: rgba(230, 57, 70, 0.1);
   border-radius: 4px;
 }

 .sp-title {
   font-size: clamp(2rem, 5vw, 2.5rem);
   font-weight: 800;
   letter-spacing: -0.03em;
   line-height: 1.2;
   color: var(--clr-text-main);
 }

 .sp-title span {
   color: var(--brand-primary);
 }

 .sp-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 25px;
 }

 .sp-card {
   background: var(--surface-glass);
   padding: 15px 20px;
   border-radius: 24px;
   border: 1px solid var(--border-glass);
   transition: var(--anim-smooth);
   display: flex;
   flex-direction: column;
   text-decoration: none;
   /* In case you make them links */
 }

 .sp-card:hover {
   background: var(--surface-glass-hover);
   border-color: rgba(230, 57, 70, 0.4);
   transform: translateY(-8px);
 }

 .sp-icon-wrap {
   width: 54px;
   height: 54px;
   background: rgba(255, 255, 255, 0.04);
   border-radius: 14px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 22px;
   color: var(--clr-text-muted);
   margin-bottom: 24px;
   transition: var(--anim-smooth);
   border: 1px solid var(--border-glass);
 }

 .sp-card:hover .sp-icon-wrap {
   color: var(--brand-primary);
   background: rgba(230, 57, 70, 0.1);
   border-color: rgba(230, 57, 70, 0.2);
   transform: scale(1.1);
 }

 .sp-card-title {
   font-size: 1.35rem;
   font-weight: 700;
   margin-bottom: 12px;
   color: #ffffff;
   line-height: 1.3;
 }

 .sp-card-desc {
   font-size: 0.95rem;
   color: var(--clr-text-muted);
   opacity: 0.8;
   line-height: 1.7;
 }

 @media (max-width: 768px) {
   .sp-header {
     text-align: center;
   }
 }

 .cm-light-section {
   --primary-clr: #e63946;
   --text-main: #1a1a1a;
   --bg-light: #ffffff;
   --accent-bg: #fff5f5;
   padding: 50px 20px;
   background-color: var(--bg-light);
   font-family: 'Inter', sans-serif;
   display: flex;
   justify-content: center;
   overflow: hidden;
   /* To prevent scrollbars during animation */
 }

 .cm-container {
   max-width: 900px;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 5px;
   background: var(--accent-bg);
   padding: 26px 50px;
   border-radius: 32px;
   border: 1px solid rgba(230, 57, 70, 0.1);
   position: relative;
   overflow: hidden;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);

   /* Animation for the whole container */
   animation: fadeInUp 0.8s ease-out forwards;
 }

 /* Decorative Element Animation */
 .cm-container::before {
   content: 'Ã¢Å“ÂÃ¯Â¸Â';
   position: absolute;
   top: -20px;
   right: -10px;
   font-size: 120px;
   opacity: 0.06;
   transform: rotate(15deg);
   animation: floatEmoji 4s ease-in-out infinite;
 }

 .cm-badge {
   color: var(--primary-clr);
   font-weight: 800;
   font-size: 12px;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   display: flex;
   align-items: center;
   gap: 8px;
   animation: slideInLeft 0.6s ease-out 0.2s both;
 }

 .cm-title {
   font-size: clamp(1.8rem, 5vw, 2.5rem);
   font-weight: 800;
   color: var(--text-main);
   line-height: 1.2;
   margin: 0;
   animation: slideInLeft 0.6s ease-out 0.4s both;
 }

 .cm-highlight {
   color: var(--primary-clr);
 }

 .cm-content-body {
   font-size: 1.15rem;
   line-height: 1.7;
   color: var(--text-main);
   margin: 0;
   max-width: 750px;
   animation: slideInLeft 0.6s ease-out 0.6s both;
 }

 .cm-list {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 10px;
   z-index: 1;
 }

 .cm-tag {
   background: #ffffff;
   padding: 10px 22px;
   border-radius: 50px;
   font-size: 0.95rem;
   font-weight: 600;
   color: var(--text-main);
   box-shadow: 0 4px 12px rgba(230, 57, 70, 0.08);
   border: 1px solid rgba(230, 57, 70, 0.15);
   transition: all 0.3s ease;

   /* Staggered animation for tags */
   animation: scaleIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
 }

 /* Delay for each tag */
 .cm-tag:nth-child(1) {
   animation-delay: 0.8s;
 }

 .cm-tag:nth-child(2) {
   animation-delay: 0.9s;
 }

 .cm-tag:nth-child(3) {
   animation-delay: 1.0s;
 }

 .cm-tag:hover {
   background: var(--primary-clr);
   color: #ffffff;
   transform: translateY(-5px);
   box-shadow: 0 8px 20px rgba(230, 57, 70, 0.2);
 }

 /* --- Keyframe Animations --- */
 @keyframes fadeInUp {
   from {
     opacity: 0;
     transform: translateY(30px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @keyframes slideInLeft {
   from {
     opacity: 0;
     transform: translateX(-30px);
   }

   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 @keyframes scaleIn {
   from {
     opacity: 0;
     transform: scale(0.8);
   }

   to {
     opacity: 1;
     transform: scale(1);
   }
 }

 @keyframes floatEmoji {

   0%,
   100% {
     transform: rotate(15deg) translateY(0);
   }

   50% {
     transform: rotate(20deg) translateY(-15px);
   }
 }

 @media (max-width: 768px) {
   .cm-container {
     padding: 40px 24px;
   }

   .cm-title {
     font-size: 1.8rem;
   }
 }

 .wd-dark-section {
   --primary-clr: #e63946;
   --text-main: #f1faee;
   --text-muted: #a8dadc;
   --bg-dark: #1d3557;
   --accent-bg: rgba(255, 255, 255, 0.03);

   padding: 60px 20px;
   background-color: var(--bg-dark);
   font-family: 'Inter', sans-serif;
   display: flex;
   justify-content: center;
   overflow: hidden;
 }

 .wd-container {
   max-width: 900px;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 10px;
   background: var(--accent-bg);
   padding: 50px;
   border-radius: 32px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   position: relative;
   overflow: hidden;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
   animation: fadeInUp 0.8s ease-out forwards;
 }

 /* Decorative Element Animation */
 .wd-container::before {
   content: 'Ã°Å¸Å’Â';
   position: absolute;
   top: -20px;
   right: -20px;
   font-size: 147px;
   opacity: 0.05;
   transform: rotate(15deg);
   animation: floatEmoji 4s ease-in-out infinite;
 }

 .wd-badge {
   color: var(--primary-clr);
   font-weight: 800;
   font-size: 12px;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   display: flex;
   align-items: center;
   gap: 8px;
   animation: slideInLeft 0.6s ease-out 0.2s both;
 }

 .wd-title {
   font-size: 36px;
   font-weight: 800;
   color: var(--text-main);
   line-height: 1.2;
   margin: 0;
   animation: slideInLeft 0.6s ease-out 0.4s both;
 }

 .wd-highlight {
   color: var(--primary-clr);
 }

 .wd-content-body {
   font-size: 18px;
   line-height: 1.7;
   color: var(--text-main);
   margin: 0;
   max-width: 750px;
   animation: slideInLeft 0.6s ease-out 0.6s both;
 }

 /* Keyframe Animations */
 @keyframes fadeInUp {
   from {
     opacity: 0;
     transform: translateY(30px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @keyframes slideInLeft {
   from {
     opacity: 0;
     transform: translateX(-30px);
   }

   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 @keyframes floatEmoji {

   0%,
   100% {
     transform: rotate(15deg) translateY(0);
   }

   50% {
     transform: rotate(20deg) translateY(-15px);
   }
 }

 @media (max-width: 768px) {
   .wd-container {
     padding: 40px 24px;
   }

   .wd-title {
     font-size: 1.8rem;
   }
 }

 .faq-dropdown-section {
   --primary-clr: #e63946;
   --text-main: #1d3557;
   --text-muted: #64748b;
   --bg-white: #ffffff;
   --border-clr: #edf2f7;
   padding: 50px 20px;
   background-color: var(--bg-white);
   font-family: 'Inter', sans-serif;
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 .faq-header {
   text-align: center;
   margin-bottom: 20px;
   animation: fadeIn 0.8s ease-out;
 }

 .faq-header h2 {
   font-size: clamp(2rem, 5vw, 2.5rem);
   font-weight: 800;
   color: var(--text-main);
   margin: 0;
 }

 .faq-header span {
   color: var(--primary-clr);
 }

 .faq-container {
   max-width: 1134px;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 12px;
 }

 /* Accordion Item */
 .faq-item {
   border: 1px solid var(--border-clr);
   border-radius: 16px;
   overflow: hidden;
   background: #fff;
   transition: all 0.3s ease;
 }

 .faq-item:hover {
   border-color: var(--primary-clr);
 }

 .faq-item.active {
   border-color: var(--primary-clr);
   box-shadow: 0 10px 20px rgba(230, 57, 70, 0.05);
 }

 /* Question Header */
 .faq-question-btn {
   width: 100%;
   padding: 15px 30px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background: #fafafa;
   border: none;
   cursor: pointer;
   text-align: left;
   outline: none;
 }

 .faq-question-btn h3 {
   font-size: 20px;
   font-weight: 700;
   color: var(--text-main);
   margin: 0;
   padding-right: 20px;
   transition: 0.3s;
 }

 .faq-item.active .faq-question-btn h3 {
   color: var(--primary-clr);
 }

 /* Icon Animation */
 .faq-icon {
   width: 24px;
   height: 24px;
   position: relative;
   transition: transform 0.4s ease;
 }

 .faq-icon::before,
 .faq-icon::after {
   content: '';
   position: absolute;
   background-color: var(--primary-clr);
   transition: transform 0.4s ease;
 }

 /* Horizontal line */
 .faq-icon::before {
   width: 100%;
   height: 2px;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
 }

 /* Vertical line (makes it a plus) */
 .faq-icon::after {
   width: 2px;
   height: 100%;
   left: 50%;
   top: 0;
   transform: translateX(-50%);
 }

 .faq-item.active .faq-icon {
   transform: rotate(180deg);
 }

 .faq-item.active .faq-icon::after {
   transform: translateX(-50%) rotate(90deg);
   opacity: 0;
 }

 .faq-answer-wrapper {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.4s cubic-bezier(0, 1, 0, 1);
   background: #fafafa;
 }

 .faq-item.active .faq-answer-wrapper {
   max-height: 1000px;
   transition: max-height 0.4s cubic-bezier(1, 0, 1, 0);
 }

 .faq-answer-content {
   padding: 0 44px 10px 50px;
   color: var(--text-muted);
   font-size: 18px;
   line-height: 1.7;
 }

 @keyframes fadeIn {
   from {
     opacity: 0;
     transform: translateY(-10px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @media (max-width: 768px) {
   .faq-question-btn {
     padding: 20px;
   }

   .faq-answer-content {
     padding: 0 20px 20px 20px;
   }

   .faq-question-btn h3 {
     font-size: 1.05rem;
   }
 }


 .cta-section {
   --primary-red: #e63946;
   --dark-blue: #1d3557;
   --white: #ffffff;
   padding: 0px 20px 40px;
   background-color: var(--white);
   display: flex;
   justify-content: center;
 }

 .cta-card {
   max-width: 1100px;
   width: 100%;
   background: var(--dark-blue);
   border-radius: 20px;
   padding: 35px 40px;
   text-align: center;
   position: relative;
   color: var(--white);
   box-shadow: 0 10px 30px rgba(29, 53, 87, 0.1);
   overflow: hidden;
   animation: fadeInUp 0.6s ease-out;
 }

 .cta-card::before {
   content: '';
   position: absolute;
   top: -50%;
   right: -10%;
   width: 400px;
   height: 400px;
   background: radial-gradient(circle, rgba(230, 57, 70, 0.15) 0%, transparent 70%);
   z-index: 0;
 }

 .cta-content {
   position: relative;
   z-index: 1;
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 .cta-badge {
   color: var(--primary-red);
   font-size: 0.7rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 2px;
   margin-bottom: 10px;
 }

 .cta-title {
   font-size: clamp(1.8rem, 4vw, 2.6rem);
   font-weight: 800;
   line-height: 1.2;
   margin-bottom: 12px;
   max-width: 900px;
 }

 .cta-title span {
   color: var(--primary-red);
 }

 .cta-subtitle {
   font-size: 18px;
   opacity: 0.8;
   margin-bottom: 25px;
   max-width: 750px;
   line-height: 1.5;
 }

 .cta-btn-group {
   display: flex;
   justify-content: center;
   gap: 15px;
   flex-wrap: wrap;
   width: 100%;
 }

 .cta-btn {
   text-decoration: none;
   padding: 12px 30px;
   border-radius: 10px;
   font-weight: 700;
   font-size: 1rem;
   display: flex;
   align-items: center;
   gap: 10px;
   transition: all 0.3s ease;
 }

 .btn-call {
   background: var(--primary-red);
   color: white;
 }

 .btn-call:hover {
   background: #d62839;
   transform: translateY(-2px);
 }

 .btn-whatsapp {
   background: #25D366;
   color: white;
 }

 .btn-whatsapp:hover {
   background: #1eb956;
   transform: translateY(-2px);
 }

 .cta-footer-text {
   margin-top: 15px;
   font-size: 18px;
   opacity: 0.6;
 }

 @keyframes fadeInUp {
   from {
     opacity: 0;
     transform: translateY(20px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @media (max-width: 768px) {
   .cta-card {
     padding: 30px 20px;
   }

   .cta-btn {
     width: 100%;
     justify-content: center;
   }

   .cta-title {
     font-size: 1.6rem;
   }
 }

 .container2 {
   max-width: 1300px;
   margin: 0 auto;
   /* padding: 60px 20px 40px; */
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
   align-items: center;
 }

 .image-grid {
   display: flex;
   gap: 20px;
   align-items: center;
 }

 .main-img-wrapper {
   position: relative;
   flex: 1.2;
 }

 .side-img-wrapper {
   display: flex;
   flex-direction: column;
   gap: 20px;
   flex: 1;
 }

 .img-card {
   border-radius: 30px;
   width: 100%;
   display: block;
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
   object-fit: cover;
 }

 .main-img {
   height: 538px;
 }

 .side-img {
   height: 260px;
 }

 .rocket-badge {
   position: absolute;
   top: -15px;
   right: -35px;
   background-color: #e12e2e;
   width: 80px;
   height: 80px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 8px solid white;
   box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
   z-index: 10;
 }

 .rocket-badge i {
   color: white;
   font-size: 24px;
   transform: rotate(-45deg);
 }

 .about-label {
   display: flex;
   align-items: center;
   gap: 15px;
   margin-bottom: 12px;
 }

 .blue-line {
   width: 40px;
   height: 2px;
   background-color: #2563eb;
 }

 .label-text {
   color: #2563eb;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 2px;
   font-size: 12px;
 }

 h2 {
   font-size: 30px;
   color: #0f172a;
   font-weight: 800;
   line-height: 1.2;
   margin-bottom: 15px;
 }

 .description {
   color: #4c5b70;
   font-size: 18px;
   margin-bottom: 10px;
   text-align: justify !important;
 }

 @media (max-width: 992px) {
   .container2 {
     grid-template-columns: 1fr;
     gap: 30px;
   }

   .image-grid {
     max-width: 600px;
     margin: 0 auto;
   }
 }

 @media (max-width: 1024px) {
   .about-section {
     flex-direction: column;
     text-align: center;
     gap: 60px;
   }

   .image-container {
     width: 100%;
     max-width: 600px;
   }

   h2 {
     font-size: 32px;
   }

   p {
     /* text-align: justify; */
   }

   .label-wrap {
     justify-content: center;
   }
 }

 @media (max-width: 600px) {
   .image-container {
     flex-direction: column;
     gap: 15px;
   }

   .side-img-box {
     flex-direction: row;
   }

   .rocket-badge {
     width: 65px;
     height: 65px;
     right: -10px;
     border-width: 5px;
   }

   .rocket-badge i {
     font-size: 20px;
   }

   h2 {
     font-size: 26px;
   }
 }

 .stats-section {
   padding: 30px 0;
 }

 .stats-container {
   max-width: 1300px;
   margin: 0 auto;
   padding: 0 15px;
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 15px;
 }

 .stat-card {
   background: white;
   padding: 25px 15px;
   border-radius: 35px;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
 }

 .icon-box {
   width: 50px;
   height: 50px;
   border-radius: 15px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 12px;
 }

 .stat-number {
   font-size: 32px;
   font-weight: 900;
   color: #0f172a;
   margin: 0;
 }

 .stat-label {
   color: #94a3b8;
   font-size: 9px;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: 0.1em;
   margin-top: 5px;
 }

 .bg-blue {
   background-color: #eef2ff;
   color: #4f46e5;
 }

 .bg-red {
   background-color: #fef2f2;
   color: #ef4444;
 }

 .bg-purple {
   background-color: #f5f3ff;
   color: #9333ea;
 }

 .bg-green {
   background-color: #f0fdf4;
   color: #22c55e;
 }

 :root {
   --navy: #1d3557;
   --red: #9f2730;
   --slate: #64748b;
 }

 .values-section-wrapper {
   padding: 60px 0 100px;
   text-align: center;
   background-color: #fcfcfc;
   width: 100%;
 }

 .values-section-wrapper * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: 'Inter', sans-serif;
 }

 .values-section-wrapper .main-title {
   font-size: 38px;
   font-weight: 900;
   color: #0f172a;
   margin-bottom: 10px;
 }

 .values-section-wrapper .dots-wrapper {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-bottom: 80px;
 }

 .values-section-wrapper .dot {
   height: 6px;
   width: 30px;
   border-radius: 10px;
 }

 .values-section-wrapper .dot-navy {
   background: var(--navy);
 }

 .values-section-wrapper .dot-red {
   background: var(--red);
 }

 .values-section-wrapper .values-grid {
   display: grid;
   grid-template-columns: repeat(5, 1fr);
   gap: 10px;
   max-width: 1315px;
   margin: 50px auto 0;
   padding: 0 20px;
 }

 .values-section-wrapper .value-card {
   position: relative;
   opacity: 0;
   transform: translateY(40px);
   transition: all 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   cursor: pointer;
 }

 .values-section-wrapper .value-card.is-visible {
   opacity: 1;
   transform: translateY(0);
 }

 .values-section-wrapper .shape-block {
   position: absolute;
   width: 100px;
   height: 160px;
   display: flex;
   padding: 20px;
   color: white;
   font-size: 36px;
   font-weight: 900;
   z-index: 1;
 }

 .values-section-wrapper .card-body {
   position: relative;
   background: white;
   padding: 50px 30px;
   box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
   z-index: 5;
   text-align: left;
   height: 100%;
   display: flex;
   flex-direction: column;
   transition: all 0.4s ease;
 }

 .values-section-wrapper .type-top:hover .card-body {
   background: var(--navy);
 }

 .values-section-wrapper .type-bottom:hover .card-body {
   background: var(--red);
 }

 .values-section-wrapper .value-card:hover .v-title,
 .values-section-wrapper .value-card:hover .v-desc {
   color: white;
 }

 .values-section-wrapper .value-card:hover .icon-circle {
   background: white;
 }

 .values-section-wrapper .type-top:hover .icon-circle i {
   color: var(--navy);
 }

 .values-section-wrapper .type-bottom:hover .icon-circle i {
   color: var(--red);
 }

 .values-section-wrapper .type-top .shape-block {
   background: var(--navy);
   top: -55px;
   left: 0;
   clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
   align-items: flex-start;
 }

 .values-section-wrapper .type-top .card-body {
   margin-left: 20px;
   margin-top: 10px;
   clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 100%);
 }

 .values-section-wrapper .type-bottom .shape-block {
   background: var(--red);
   bottom: -66px;
   left: 0;
   clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
   align-items: flex-end;
 }

 .values-section-wrapper .type-bottom .card-body {
   margin-left: 20px;
   margin-bottom: 20px;
   clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
 }

 .values-section-wrapper .v-title {
   font-size: 20px;
   font-weight: 800;
   margin-bottom: 15px;
 }

 .values-section-wrapper .navy-text {
   color: var(--navy);
 }

 .values-section-wrapper .red-text {
   color: var(--red);
 }

 .values-section-wrapper .v-desc {
   color: var(--slate);
   font-size: 16px;
   line-height: 1.6;
   text-align: justify;
 }

 .values-section-wrapper .icon-container {
   margin-top: auto;
   display: flex;
   justify-content: flex-end;
   padding-top: 20px;
 }

 .values-section-wrapper .icon-circle {
   width: 55px;
   height: 55px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--navy);
   border: 3px solid white;
   transition: 0.3s;
 }

 .values-section-wrapper .type-bottom .icon-circle {
   background: var(--red);
 }

 .values-section-wrapper .icon-circle i {
   color: white;
 }

 @media (max-width: 768px) {
   .values-section-wrapper {
     padding: 40px 0;
   }

   .values-section-wrapper .values-grid {
     grid-template-columns: 1fr;
     gap: 80px;
   }

   .values-section-wrapper .value-card {
     max-width: 400px;
     margin: 0 auto;
   }

   .values-section-wrapper .shape-block {
     top: -52px !important;
     bottom: auto !important;
     left: 0 !important;
     align-items: flex-start !important;
     height: 140px !important;
     clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%) !important;
   }

   .values-section-wrapper .card-body {
     margin-left: 20px !important;
     margin-top: 10px !important;
     margin-bottom: 0 !important;
     clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 100%) !important;
   }
 }

 @media (max-width: 768px) {
   .inner-hero-content h1 {
     font-size: 40px;
     line-height: 1.2;
     margin-bottom: 8px;
     padding: 0 15px;
   }
 }

 @media (max-width: 480px) {
   .inner-hero-content h1 {
     font-size: 24px;
   }
 }

 @media (max-width: 768px) {
   .hero-title {
     text-align: center !important;
     display: block;
     width: 100%;
     font-size: 30px;
     line-height: 1.3;
     padding: 0 10px;
   }

   .text-gradient {
     display: inline-block;
   }
 }

 .mobile-dropdown-content {
   display: none;
   flex-direction: column;
   padding-left: 1.5rem;
   transition: all 0.3s ease;
 }

 .mobile-dropdown-content.show {
   display: flex !important;
 }

 .fa-chevron-down {
   transition: transform 0.3s ease;
 }



 .site-footer {
   background-color: #1d3557;
   color: #cbd5e1;
   padding: 40px 0 0px;
   border-top: 2px solid #9f2730;
 }

 .site-footer .container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
 }

 .footer-grid {
   display: grid;
   grid-template-columns: 1.2fr 0.7fr 1.5fr 1.2fr;
   gap: 30px;
 }

 .footer-logo img {
   width: 160px;
   height: auto;
   margin-bottom: 12px;
   display: block;
 }

 .footer-text {
   line-height: 1.5;
   font-size: 15px;
   color: #94a3b8;
   margin-bottom: 28px;
   padding-right: 20px;
 }

 .merged-column {
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 .merged-column .footer-heading {
   text-align: center;
   width: 100%;
   margin-bottom: 25px;
   display: block;
 }

 .footer-heading {
   color: #ffffff;
   font-size: 22px;
   font-weight: 700;
   margin-bottom: 20px;
   position: relative;
   text-transform: uppercase;
 }

 .footer-heading::after {
   content: '';
   position: absolute;
   left: 0;
   bottom: -6px;
   width: 25px;
   height: 2px;
   background-color: #9f2730;
 }

 .merged-column .footer-heading::after {
   left: 50% !important;
   transform: translateX(-50%);
 }

 .services-merged-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 30px;
   width: 100%;
   text-align: left;
 }

 .footer-links {
   list-style: none;
   padding: 0;
   margin: 0;
 }

 .footer-links li {
   margin-bottom: 8px;
 }

 .footer-links a {
   color: #94a3b8;
   text-decoration: none;
   font-size: 15px;
   transition: 0.3s;
 }

 .footer-links a:hover {
   color: #ffffff;
   padding-left: 5px;
 }

 .social-links {
   display: flex;
   gap: 10px;
 }

 .social-icon {
   width: 32px;
   height: 32px;
   background: rgba(255, 255, 255, 0.08);
   border-radius: 4px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 14px;
   transition: 0.3s;
 }

 .footer-bottom {
   /* margin-top: 12px; */
   /* padding-top: 15px; */
   border-top: 1px solid rgba(255, 255, 255, 0.05);
   text-align: center;
   font-size: 15px;
   color: #c3dcff;
 }

 @media (max-width: 768px) {
   .footer-grid {
     grid-template-columns: 1fr;
     text-align: center;
   }

   .footer-logo img {
     margin: 0 auto 12px;
   }

   .services-merged-grid {
     grid-template-columns: 1fr;
     text-align: center;
   }

   .footer-heading {
     text-align: center;
   }

   .footer-heading::after {
     left: 50% !important;
     transform: translateX(-50%);
   }

   .social-links {
     justify-content: center;
   }
 }

 .footer-bottom {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   padding: 15px 0;
 }

 .footer-bottom p {
   margin: 0;
 }

 .footer-links a {
   /* margin-left: 12px; */
   text-decoration: none;
 }

 @media (max-width: 600px) {
   .footer-bottom {
     flex-direction: column;
     text-align: center;
     gap: 10px;
   }

   .footer-links a {
     margin: 0 10px;
   }
 }

 @keyframes iParableFadeUp {
   from {
     opacity: 0;
     transform: translateY(30px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .ipa-animate {
   opacity: 0;
   /* Hidden by default */
   transition: opacity 0.8s ease-out, transform 0.8s ease-out;
 }

 /* Trigger class */
 .ipa-visible {
   animation: iParableFadeUp 0.8s ease-out forwards;
 }

 .delay-1 {
   animation-delay: 0.1s;
 }

 .delay-2 {
   animation-delay: 0.3s;
 }

 .delay-3 {
   animation-delay: 0.5s;
 }

 .delay-4 {
   animation-delay: 0.6s;
 }

 .delay-5 {
   animation-delay: 0.7s;
 }

 .delay-6 {
   animation-delay: 0.8s;
 }

 .about-section {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   min-height: 100vh;
   padding: 50px 8%;
   gap: 60px;
   overflow: hidden;
 }

 .visual-container {
   flex: 1;
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .robot-base {
   width: 100%;
   max-width: 450px;
   height: auto;
   filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.15));
   border-radius: 30px;
 }

 .hologram-overlay {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 100%;
   height: 100%;
   max-width: 320px;
   max-height: 320px;
   pointer-events: none;
 }

 .logo-item {
   position: absolute;
   width: 55px;
   height: 55px;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   cursor: pointer;
   background: transparent;
   animation: floatTogether 4s ease-in-out infinite;
   pointer-events: auto;
 }

 .logo-item img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
 }

 .logo-item:hover {
   transform: scale(1.2) !important;
   filter: drop-shadow(0 10px 15px rgba(231, 76, 60, 0.4));
   z-index: 10;
 }

 .oracle {
   top: 16%;
   left: 48%;
 }

 .mysql {
   top: 5%;
   right: 0%;
 }

 .postgres {
   bottom: 38%;
   left: 49%;
 }

 .sqlserver {
   bottom: 47%;
   right: -5%;
 }

 @keyframes floatTogether {

   0%,
   100% {
     transform: translateY(0);
   }

   50% {
     transform: translateY(-25px);
   }
 }

 .about-content {
   flex: 1;
   max-width: 550px;
   display: flex;
   flex-direction: column;
   justify-content: center;
 }

 .about-content h2 {
   font-size: 3rem;
   color: #e74c3c;
   margin-bottom: 20px;
   /* text-transform: uppercase; */
   letter-spacing: 1px;
   line-height: 1.2;
 }

 .about-content p {
   line-height: 1.8;
   font-size: 16px;
   margin-bottom: 10px;
   text-align: justify;
   color: #555555;
 }

 @media (max-width: 992px) {
   .about-section {
     flex-direction: column;
     /* text-align: center; */
     padding: 39px 20px;
     gap: 20px;
   }

   .robot-base {
     max-width: 300px;
   }

   .hologram-overlay {
     max-width: 250px;
     max-height: 250px;
   }

   .oracle {
     top: 20%;
     left: 46%;
   }

   .mysql {
     top: 5%;
     right: 4%;
   }

   .postgres {
     bottom: 34%;
     left: 46%;
   }

   .sqlserver {
     bottom: 45%;
     right: 0%;
   }

   .logo-item {
     width: 45px;
     height: 45px;
   }

   .about-content h2 {
     font-size: 2.2rem;
   }
 }

 .expert {
   background-color: #f8fafc;
   padding: 40px 20px;
   color: #1a2e4c;
 }

 @media (max-width: 992px) {
   .expert {
     padding: 20px 15px;
   }
 }

 .iparable-dba-section {
   padding: 50px 0;
   background-color: #0a1d37;
   background-image: radial-gradient(circle at 1.5px 1.5px, rgba(255, 255, 255, 0.05) 1px, transparent 0);
   background-size: 25px 25px;
   text-align: center;
 }

 .dba-content-card {
   max-width: 900px;
   margin: 0 auto;
   padding: 10px 20px;
 }

 .dba-tag {
   color: #e31e24;
   background: rgba(227, 30, 36, 0.1);
   padding: 10px 25px;
   border-radius: 50px;
   font-weight: 700;
   font-size: 18px;
   text-transform: uppercase;
   border: 1px solid rgba(227, 30, 36, 0.3);
 }

 .dba-heading {
   font-size: 30px !important;
   color: #ffffff;
   margin: 20px 0 15px;
   font-weight: 700;
   line-height: 1.2;
 }

 .text-red {
   color: #e31e24;
 }

 .dba-description {
   color: #cbd5e1;
   font-size: 1rem;
   line-height: 1.6;
   max-width: 750px;
   margin: 0 auto 30px;
 }

 .dba-description strong {
   color: #ffffff;
   font-weight: 600;
 }

 .dba-platforms {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 4px;
   flex-wrap: wrap;
 }

 .platform-icon {
   width: 100x;
   height: 100px;
   background: transparent;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: transform 0.3s ease;
 }

 .platform-icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
 }

 .platform-icon:hover {
   transform: scale(1.1);
 }

 @media (max-width: 768px) {
   .iparable-dba-section {
     padding: 30px 0;
   }

   .dba-heading {}

   .platform-icon {
     width: 60px;
     height: 60px;
   }
 }

 .iparable-why-choose {
   padding: 50px 0;
   background-color: #ffffff;
   font-family: 'Inter', sans-serif;
 }

 .section-main-title {
   text-align: center;
   font-size: 2rem;
   color: #0a1d37;
   font-weight: 800;
   margin-bottom: 40px;
   text-transform: capitalize;
 }

 .section-main-title span {
   color: #e31e24;
   position: relative;
 }

 /* Clean Grid Layout */
 .minimal-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 15px;
   max-width: 1100px;
   margin: 0 auto;
   padding: 0 15px;
 }

 .grid-card {
   background: #f9fafb;
   border: 1px solid #e5e7eb;
   padding: 20px;
   border-radius: 12px;
   text-align: center;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .grid-card:hover {
   background: #ffffff;
   border-color: #e31e24;
   transform: translateY(-5px);
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
 }

 .card-icon {
   font-size: 22px;
   color: #e31e24;
   margin-bottom: 12px;
 }

 .grid-card p {
   color: #0a1d37;
   font-size: 0.9rem;
   font-weight: 500;
   line-height: 1.5;
   margin: 0;
 }

 @media (max-width: 1024px) {
   .minimal-grid {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 @media (max-width: 600px) {
   .minimal-grid {
     grid-template-columns: 1fr;
   }

   .section-main-title {
     font-size: 1.6rem;
   }

   .grid-card {
     padding: 15px;
   }
 }

 .ipa-animate {
   opacity: 0;
   transform: translateY(30px);
   transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .ipa-visible {
   opacity: 1;
   transform: translateY(0);
 }

 .ipa-pill {
   background: #f8fafc;
   border: 1px solid #e2e8f0;
   padding: 10px 20px;
   border-radius: 8px;
   font-weight: 600;
   transition: 0.3s;
 }

 .ipa-pill:hover {
   border-color: #e31e24;
   transform: translateY(-2px);
   background: #fff;
 }

 .btn-red-rounded {
   display: inline-block;
   width: fit-content;
   padding: 8px 25px;
   background-color: #e31e24;
   color: #ffffff !important;
   border: 2px solid #e31e24;
   text-decoration: none;
   font-size: 15px;
   font-weight: 600;
   border-radius: 50px;
   text-align: center;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .btn-red-rounded:hover {
   background-color: #e31e24;
   color: #ffffff !important;
   transform: translateY(-2px);
   box-shadow: 0 5px 15px rgba(227, 30, 36, 0.4);
 }

 /* ============================================================
   COMPLETE BRANDED RED THEME - STRIP & POPUP
   ============================================================ */

 .dba-cta-full-width {
   width: 100% !important;
   background: #1a2e4c !important;
   padding: 60px 0 !important;
   display: block !important;
   clear: both !important;
   font-family: 'Segoe UI', Roboto, sans-serif !important;
 }

 .cta-inner-content {
   max-width: 1200px !important;
   margin: 0 auto !important;
   display: flex !important;
   justify-content: space-between !important;
   align-items: center !important;
   padding: 0 40px !important;
 }

 .cta-text-side h2 {
   color: #ffffff !important;
   font-size: 36px !important;
   font-weight: 800 !important;
   margin: 0 !important;
 }

 .cta-text-side h2 span {
   color: #e31e24 !important;
 }

 .cta-text-side p {
   color: #cbd5e1 !important;
   font-size: 18px !important;
   margin-top: 10px !important;
 }

 .btn-red-action,
 .popup-submit-btn {
   background-color: #e31e24 !important;
   color: #ffffff !important;
   text-transform: uppercase !important;
   font-weight: 700 !important;
   letter-spacing: 1px !important;
   cursor: pointer !important;
   transition: all 0.3s ease !important;
   border: none !important;
 }

 .btn-red-action {
   padding: 10px 45px !important;
   font-size: 16px !important;
   border-radius: 50px !important;
   box-shadow: 0 4px 15px rgba(227, 30, 36, 0.3) !important;
 }

 .popup-submit-btn {
   width: 100% !important;
   padding: 15px !important;
   border-radius: 8px !important;
   font-size: 16px !important;
   margin-top: 10px !important;
 }

 .btn-red-action:hover,
 .popup-submit-btn:hover {
   background-color: #ff3137 !important;
   transform: translateY(-3px) !important;
   box-shadow: 0 8px 20px rgba(227, 30, 36, 0.4) !important;
 }

 .aesthetic-popup-overlay {
   display: none;
   position: fixed !important;
   top: 0 !important;
   left: 0 !important;
   width: 100% !important;
   height: 100% !important;
   background: rgba(15, 23, 42, 0.9) !important;
   backdrop-filter: blur(8px) !important;
   z-index: 999999 !important;
   justify-content: center !important;
   align-items: center !important;
 }

 .popup-card {
   background: #ffffff !important;
   padding: 40px !important;
   border-radius: 15px !important;
   width: 90% !important;
   max-width: 420px !important;
   position: relative !important;
   border-top: 6px solid #e31e24 !important;
   box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3) !important;
 }

 .popup-form-header h3 {
   font-size: 26px !important;
   color: #1a2e4c !important;
   text-align: center !important;
   margin-bottom: 20px !important;
 }

 .close-x {
   position: absolute !important;
   top: 15px !important;
   right: 20px !important;
   font-size: 30px !important;
   color: #94a3b8 !important;
   background: none !important;
   border: none !important;
   cursor: pointer !important;
 }

 .close-x:hover {
   color: #e31e24 !important;
 }

 .field-wrap input,
 .field-wrap textarea {
   width: 100% !important;
   padding: 12px 15px !important;
   margin-bottom: 15px !important;
   border: 1px solid #e2e8f0 !important;
   border-radius: 8px !important;
   background: #f8fafc !important;
   box-sizing: border-box !important;
 }

 .field-wrap input:focus,
 .field-wrap textarea:focus {
   outline: none !important;
   border-color: #e31e24 !important;
   background: #fff !important;
   box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.1) !important;
 }

 @media (max-width: 768px) {
   .cta-inner-content {
     flex-direction: column !important;
     text-align: center !important;
     padding: 0 20px !important;
   }

   .cta-button-side {
     margin-top: 30px !important;
   }

   .cta-text-side h2 {
     font-size: 28px !important;
   }
 }


 /* ============================================================
   EXPERT STATS SECTION - COMPACT NAVY & RED THEME
   ============================================================ */

 /* 1. Section Wrapper */
 .expert-stats-navy {
   background-color: #1a2e4c !important;
   background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
   background-size: 40px 40px;
   padding: 35px 0 !important;
   width: 100% !important;
   overflow: hidden;
 }

 .stats-container {
   max-width: 1140px !important;
   margin: 0 auto !important;
   display: grid !important;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
   gap: 20px !important;
   padding: 0 20px !important;
 }

 .stat-box {
   position: relative !important;
   background: rgba(255, 255, 255, 0.02) !important;
   border: 1px solid transparent !important;
   background-image: linear-gradient(#1a2e4c, #1a2e4c),
     linear-gradient(145deg, rgba(227, 30, 36, 0.4) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
   background-origin: border-box !important;
   background-clip: padding-box, border-box !important;

   border-radius: 20px !important;
   padding: 25px 15px !important;
   text-align: center !important;
   transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
   cursor: default;
 }

 .stat-box:hover {
   transform: translateY(-8px) !important;
   background-image: linear-gradient(#1a2e4c, #1a2e4c),
     linear-gradient(145deg, #e31e24 0%, rgba(227, 30, 36, 0.3) 100%) !important;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
 }

 .stat-icon-circle {
   width: 45px !important;
   height: 45px !important;
   background: rgba(227, 30, 36, 0.1) !important;
   color: #e31e24 !important;
   border-radius: 12px !important;
   display: flex !important;
   justify-content: center !important;
   align-items: center !important;
   margin: 0 auto 12px auto !important;
   font-size: 20px !important;
   transition: 0.4s ease !important;
 }

 .stat-box:hover .stat-icon-circle {
   background: #e31e24 !important;
   color: #ffffff !important;
   transform: rotateY(180deg) !important;
 }

 .stat-val {
   color: #ffffff !important;
   font-size: 42px !important;
   font-weight: 800 !important;
   margin: 0 !important;
   line-height: 1 !important;
   letter-spacing: -1px !important;
 }

 .stat-val::after {
   font-size: 20px !important;
   color: #e31e24 !important;
   margin-left: 2px !important;
   font-weight: 600 !important;
 }

 .stat-box:nth-child(2) .stat-val::after,
 .stat-box:nth-child(3) .stat-val::after {
   content: '+' !important;
 }

 .stat-box:nth-child(4) .stat-val::after {
   content: '%' !important;
 }

 .stat-label {
   color: #94a3b8 !important;
   font-size: 13px !important;
   font-weight: 600 !important;
   text-transform: uppercase !important;
   letter-spacing: 1.2px !important;
   margin-top: 8px !important;
   display: block !important;
 }

 @media (max-width: 768px) {
   .expert-stats-navy {
     padding: 30px 0 !important;
   }

   .stats-container {
     gap: 12px !important;
   }

   .stat-val {
     font-size: 32px !important;
   }

   .stat-box {
     padding: 20px 10px !important;
   }
 }

 /* Section Wrapper */
 .ipa-compact-section {
   background-color: #0a1d37 !important;
   padding: 60px 20px !important;
   /* REDUCED PADDING */
   position: relative;
   overflow: hidden;
   font-family: 'Inter', sans-serif;
 }

 .ipa-bento-bg {
   position: absolute;
   inset: 0;
   background:
     linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
     linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
     radial-gradient(circle at 50% -10%, rgba(227, 30, 36, 0.12), transparent 40%);
   background-size: 96px 96px, 96px 96px, auto;
   opacity: 0.9;
   pointer-events: none;
   z-index: 0;
 }

 .ipa-compact-section::before,
 .ipa-compact-section::after {
   content: "";
   position: absolute;
   pointer-events: none;
   z-index: 1;
 }

 .ipa-compact-section::before {
   inset: 38px 7% auto auto;
   width: min(360px, 32vw);
   height: min(220px, 24vw);
   border: 1px solid rgba(255, 255, 255, 0.06);
   border-radius: 18px;
 }

 .ipa-compact-section::after {
   left: 5%;
   bottom: 42px;
   width: min(300px, 28vw);
   height: min(190px, 22vw);
   border: 1px solid rgba(227, 30, 36, 0.08);
   border-radius: 18px;
 }

 .ipa-container {
   max-width: 1200px;
   margin: 0 auto;
   position: relative;
   z-index: 10;
 }

 .ipa-compact-section input,
 .ipa-compact-section textarea,
 .ipa-compact-section select,
 .about-section input,
 .about-section textarea,
 .about-section select {
   position: relative;
   z-index: 20;
 }

 .ipa-header {
   text-align: center;
   margin-bottom: 45px;
   /* Compact margin */
 }

 .ipa-header h2 {
   font-size: 36px;
   font-weight: 800;
   color: #fff;
   margin-bottom: 5px;
 }

 .ipa-header p {
   color: #94a3b8;
   font-size: 16px;
 }

 /* 3-Column Grid */
 .ipa-grid-3 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   /* 3 Boxes in 1 Row */
   gap: 20px;
   /* Tight gap */
 }

 /* Card Styling */
 .ipa-card-box {
   position: relative;
   background: rgba(255, 255, 255, 0.02);
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 20px;
   padding: 20px !important;
   /* COMPACT PADDING */
   transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
   overflow: hidden;
   backdrop-filter: blur(15px);
   display: flex;
   flex-direction: column;
 }

 .card-inner {
   position: relative;
   z-index: 2;
 }

 .ipa-compact-section .card-icon {
   width: 58px;
   height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 26px;
   color: #e31e24;
   margin-bottom: 18px;
   border-radius: 16px;
   background: linear-gradient(135deg, rgba(227, 30, 36, 0.16), rgba(227, 30, 36, 0.06));
   border: 1px solid rgba(227, 30, 36, 0.22);
   box-shadow: 0 14px 30px rgba(227, 30, 36, 0.08);
   transition: all 0.35s ease;
 }

 .ipa-compact-section .ipa-card-box:hover .card-icon {
   color: #ffffff;
   background: linear-gradient(135deg, #e31e24, #ff5a60);
   border-color: rgba(255, 255, 255, 0.18);
   box-shadow: 0 18px 38px rgba(227, 30, 36, 0.28);
   transform: translateY(-4px) scale(1.04);
 }

 .ipa-card-box h3 {
   font-size: 19px;
   font-weight: 700;
   color: #fff;
   margin-bottom: 4px;
   line-height: 1.3;
 }

 .ipa-card-box p {
   color: #94a3b8;
   font-size: 14.5px;
   line-height: 1.5;
   margin: 0;
 }

 /* Hover & Glow Effect */
 .ipa-card-box:hover {
   background: rgba(255, 255, 255, 0.05);
   border-color: rgba(227, 30, 36, 0.4);
   transform: translateY(-8px);
 }

 .bento-glow {
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(227, 30, 36, 0.12) 0%, transparent 60%);
   opacity: 0;
   transition: opacity 0.3s;
 }

 .ipa-card-box:hover .bento-glow {
   opacity: 1;
 }

 /* Responsive */
 @media (max-width: 992px) {
   .ipa-grid-3 {
     grid-template-columns: repeat(2, 1fr);
   }
 }

 @media (max-width: 600px) {
   .ipa-grid-3 {
     grid-template-columns: 1fr;
   }

   .ipa-compact-section {
     padding: 40px 15px !important;
   }
 }

 /* Safe fixes: menu and mobile overflow only */
 :root {
   --menu-red: #e31e24;
   --menu-navy: #1d3557;
   --menu-line: #e5e7eb;
 }

 img,
 video,
 iframe {
   max-width: 100%;
 }

 .inner-hero-content h1,
 .hero-title {
   overflow-wrap: anywhere;
 }

 @media (min-width: 1024px) {
   .mega-menu-dropdown {
     width: min(1180px, calc(100vw - 48px)) !important;
     max-height: 600px;
     overflow: hidden !important;
     border: 1px solid var(--menu-line);
     border-radius: 8px !important;
     background: #ffffff;
     box-shadow: 0 22px 55px rgba(16, 35, 63, 0.14) !important;
   }

   .mega-menu-container {
     display: grid !important;
     grid-template-columns: 340px minmax(0, 1fr);
     min-height: 320px !important;
     max-height: 520px;
     overflow: hidden;
     background: #ffffff;
   }

   .mega-sidebar {
     width: auto !important;
     padding: 18px !important;
     border-right: 1px solid var(--menu-line);
     background: #f8fafc !important;
   }

   .sidebar-item {
     display: flex !important;
     align-items: center;
     gap: 10px;
     width: 100%;
     min-height: 52px;
     margin-bottom: 8px;
     border: 0;
     border-radius: 8px;
     background: transparent;
     color: #475467;
     text-align: left;
     white-space: normal;
   }

   .sidebar-item:hover,
   .sidebar-item.active {
     background: #ffffff !important;
     color: var(--menu-red) !important;
     box-shadow: 0 8px 20px rgba(16, 35, 63, 0.07);
   }

   .mega-content-area {
     min-width: 0;
     padding: 13px !important;
     overflow: hidden;
   }

   .mega-pane {
     display: none !important;
   }

   .mega-pane.active {
     display: block !important;
   }

   .pane-grid {
     display: grid !important;
     grid-template-columns: repeat(2, minmax(150px, 1fr));
     align-items: start;
     gap: 9px !important;
   }

   .pane-grid h6 {
     grid-column: 1 / -1;
     margin: 10px 0 0 !important;
     color: var(--menu-navy);
     font-size: 0.78rem;
     font-weight: 800;
     letter-spacing: 0.08em;
     text-transform: uppercase;
   }

   .pane-grid h6:first-child {
     margin-top: 0 !important;
   }

   .pane-grid a {
     display: flex !important;
     align-items: center;
     gap: 8px;
     min-height: 48px !important;
     padding: 10px 12px !important;
     border: 1px solid var(--menu-line) !important;
     border-radius: 8px !important;
     color: #334155 !important;
     font-weight: 650 !important;
     line-height: 1.25 !important;
   }

   .pane-grid a i {
     flex: 0 0 auto;
     color: var(--menu-red);
   }

   .pane-grid a:hover {
     border-color: rgba(227, 30, 36, 0.28) !important;
     background: #fff8f8;
   }
 }

 @media (max-width: 767px) {
   body {
     overflow-x: hidden;
   }

   .hero-buttons,
   .cta-btn-group {
     display: grid !important;
     grid-template-columns: 1fr;
   }
 }

 /* Development service detail pages */
 .dev-detail-page {
   background: #f7f9fc;
   color: #172033;
 }

 .dev-detail-section {
   position: relative;
   padding: clamp(56px, 8vw, 96px) 0;
   overflow: hidden;
 }

 .dev-detail-section::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background:
     linear-gradient(135deg, rgba(227, 30, 36, 0.045), transparent 34%),
     radial-gradient(circle at 88% 10%, rgba(29, 53, 87, 0.06), transparent 24rem);
 }

 .dev-detail-section>.container {
   position: relative;
   z-index: 1;
 }

 .dev-intro-grid {
   display: grid;
   grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
   gap: clamp(24px, 4vw, 44px);
   align-items: stretch;
 }

 .dev-intro-card,
 .dev-copy-card,
 .dev-service-card,
 .dev-cta-panel {
   border: 1px solid rgba(226, 232, 240, 0.92);
   border-radius: 8px;
   background: rgba(255, 255, 255, 0.96);
   box-shadow: 0 16px 42px rgba(16, 35, 63, 0.08);
 }

 .dev-intro-card {
   padding: clamp(24px, 4vw, 38px);
   background:
     linear-gradient(145deg, #10233f 0%, #1d3557 74%, #243b61 100%);
   color: #ffffff;
 }

 .dev-kicker {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   min-height: 32px;
   padding: 7px 12px;
   border-radius: 999px;
   background: rgba(227, 30, 36, 0.12);
   color: #ffb4b7;
   border: 1px solid rgba(255, 255, 255, 0.14);
   font-size: 0.78rem;
   font-weight: 850;
   letter-spacing: 0.08em;
   text-transform: uppercase;
 }

 .dev-intro-card h2,
 .dev-heading h2,
 .dev-cta-panel h2 {
   letter-spacing: 0;
   text-wrap: balance;
 }

 .dev-intro-card h2 {
   margin: 18px 0 14px;
   font-size: clamp(2rem, 4vw, 3.35rem);
   line-height: 1.08;
   font-weight: 900;
 }

 .dev-intro-card p {
   color: #dbe5f2;
   line-height: 1.75;
   margin: 0;
 }

 .dev-copy-stack {
   display: grid;
   gap: 16px;
 }

 .dev-copy-card {
   padding: clamp(22px, 3vw, 30px);
 }

 .dev-copy-card p {
   color: #64748b;
   line-height: 1.78;
   margin: 0;
   text-wrap: pretty;
 }

 .dev-copy-card strong {
   color: #10233f;
 }

 .dev-heading {
   max-width: 820px;
   margin: 0 auto clamp(28px, 4vw, 44px);
   text-align: center;
 }

 .dev-heading .dev-kicker {
   color: #e31e24;
   background: rgba(227, 30, 36, 0.08);
   border-color: rgba(227, 30, 36, 0.16);
 }

 .dev-heading h2 {
   margin: 16px 0 12px;
   color: #10233f;
   font-size: clamp(2rem, 4.6vw, 3.8rem);
   line-height: 1.08;
   font-weight: 900;
 }

 .dev-heading p {
   color: #64748b;
   line-height: 1.75;
   margin: 0;
 }

 .dev-services-grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 16px;
 }

 .dev-service-card {
   position: relative;
   min-height: 100%;
   padding: 24px;
   overflow: hidden;
   transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
 }

 .dev-service-card::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: 0;
   background: radial-gradient(circle at 20% 0%, rgba(227, 30, 36, 0.12), transparent 46%);
   transition: opacity 0.28s ease;
 }

 .dev-service-card:hover {
   transform: translateY(-7px);
   border-color: rgba(227, 30, 36, 0.32);
   box-shadow: 0 24px 56px rgba(16, 35, 63, 0.13);
 }

 .dev-service-card:hover::before {
   opacity: 1;
 }

 .dev-service-icon {
   position: relative;
   width: 48px;
   height: 48px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 18px;
   border-radius: 8px;
   background: #fff1f2;
   color: #e31e24;
   font-size: 1.15rem;
   box-shadow: 0 10px 24px rgba(16, 35, 63, 0.09);
 }

 .dev-service-card h3,
 .dev-service-card p {
   position: relative;
 }

 .dev-service-card h3 {
   color: #10233f;
   font-size: 1.08rem;
   font-weight: 900;
   line-height: 1.3;
   margin-bottom: 11px;
 }

 .dev-service-card p {
   color: #64748b;
   font-size: 0.95rem;
   line-height: 1.65;
   margin: 0;
 }

 .dev-outro {
   color: #ffffff;
   background:
     linear-gradient(135deg, #08162b 0%, #10233f 64%, #18375d 100%);
 }

 .dev-outro::before {
   background:
     radial-gradient(circle at 12% 10%, rgba(227, 30, 36, 0.18), transparent 26rem),
     linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent);
 }

 .dev-cta-panel {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 22px;
   align-items: center;
   padding: clamp(26px, 5vw, 44px);
   background: rgba(255, 255, 255, 0.08);
   border-color: rgba(255, 255, 255, 0.14);
   color: #ffffff;
 }

 .dev-cta-panel h2 {
   color: #ffffff;
   font-size: clamp(1.9rem, 4vw, 3.2rem);
   line-height: 1.08;
   font-weight: 900;
   margin-bottom: 12px;
 }

 .dev-cta-panel p {
   color: #dbe5f2;
   max-width: 860px;
   line-height: 1.75;
   margin: 0;
 }

 .dev-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-height: 48px;
   padding: 13px 20px;
   border-radius: 8px;
   background: #e31e24;
   color: #ffffff;
   font-weight: 850;
   box-shadow: 0 18px 38px rgba(227, 30, 36, 0.28);
   transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
 }

 .dev-btn:hover {
   color: #ffffff;
   background: #c71920;
   transform: translateY(-2px);
   box-shadow: 0 22px 48px rgba(227, 30, 36, 0.34);
 }

 @media (max-width: 1199px) {
   .dev-services-grid {
     grid-template-columns: repeat(3, minmax(0, 1fr));
   }
 }

 @media (max-width: 991px) {

   .dev-intro-grid,
   .dev-cta-panel {
     grid-template-columns: 1fr;
   }
 }

 @media (max-width: 767px) {
   .dev-services-grid {
     grid-template-columns: 1fr;
   }

   .dev-btn {
     width: 100%;
   }
 }

 /* Unique visual directions for unfinished Development pages */
 .dev-theme-woo {
   --dev-accent: #96588a;
   --dev-accent-2: #7f54b3;
   --dev-soft: #fbf7fc;
   --dev-dark: #2f1f3f;
   background:
     radial-gradient(circle at 10% 8%, rgba(150, 88, 138, 0.12), transparent 24rem),
     linear-gradient(180deg, #fff 0%, #fbf7fc 100%);
 }

 .dev-theme-big {
   --dev-accent: #006bb6;
   --dev-accent-2: #00a7e1;
   --dev-soft: #f0f8ff;
   --dev-dark: #082f49;
   background:
     linear-gradient(135deg, rgba(0, 107, 182, 0.08), transparent 34%),
     repeating-linear-gradient(90deg, rgba(0, 107, 182, 0.04) 0 1px, transparent 1px 72px),
     #f8fbff;
 }

 .dev-theme-magento {
   --dev-accent: #f26322;
   --dev-accent-2: #d94f16;
   --dev-soft: #fff7ed;
   --dev-dark: #3b1d0d;
   background:
     radial-gradient(circle at 90% 12%, rgba(242, 99, 34, 0.15), transparent 24rem),
     linear-gradient(180deg, #fffaf5 0%, #ffffff 48%, #fff7ed 100%);
 }

 .dev-theme-wordpress {
   --dev-accent: #21759b;
   --dev-accent-2: #0f9fcf;
   --dev-soft: #f0f9ff;
   --dev-dark: #11384d;
   background:
     radial-gradient(circle at 14% 18%, rgba(33, 117, 155, 0.13), transparent 26rem),
     linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%);
 }

 .dev-theme-php {
   --dev-accent: #777bb4;
   --dev-accent-2: #4f5d95;
   --dev-soft: #f5f6ff;
   --dev-dark: #232744;
   background:
     linear-gradient(135deg, rgba(119, 123, 180, 0.11), transparent 32%),
     radial-gradient(circle at 80% 10%, rgba(79, 93, 149, 0.12), transparent 24rem),
     #f8f9ff;
 }

 .dev-detail-page[class*="dev-theme-"] .dev-intro-card {
   background:
     linear-gradient(145deg, var(--dev-dark) 0%, color-mix(in srgb, var(--dev-dark), var(--dev-accent) 36%) 68%, var(--dev-accent) 100%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-intro-card,
 .dev-detail-page[class*="dev-theme-"] .dev-copy-card,
 .dev-detail-page[class*="dev-theme-"] .dev-service-card,
 .dev-detail-page[class*="dev-theme-"] .dev-cta-panel {
   border-radius: var(--theme-radius, 8px);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-kicker,
 .dev-detail-page[class*="dev-theme-"] .dev-heading .dev-kicker {
   color: var(--dev-accent);
   background: color-mix(in srgb, var(--dev-accent), #ffffff 90%);
   border-color: color-mix(in srgb, var(--dev-accent), #ffffff 78%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-intro-card .dev-kicker {
   color: #ffffff;
   background: rgba(255, 255, 255, 0.12);
   border-color: rgba(255, 255, 255, 0.2);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-service-icon {
   background: color-mix(in srgb, var(--dev-accent), #ffffff 88%);
   color: var(--dev-accent);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-service-card::before {
   background: radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--dev-accent), transparent 78%), transparent 48%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-service-card:hover,
 .dev-detail-page[class*="dev-theme-"] .dev-copy-card:hover {
   border-color: color-mix(in srgb, var(--dev-accent), #ffffff 62%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-outro {
   background:
     linear-gradient(135deg, var(--dev-dark) 0%, color-mix(in srgb, var(--dev-dark), var(--dev-accent) 30%) 62%, var(--dev-accent) 100%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-btn {
   background: var(--dev-accent);
   box-shadow: 0 18px 38px color-mix(in srgb, var(--dev-accent), transparent 68%);
 }

 .dev-detail-page[class*="dev-theme-"] .dev-btn:hover {
   background: var(--dev-accent-2);
   box-shadow: 0 22px 48px color-mix(in srgb, var(--dev-accent), transparent 58%);
 }

 .dev-theme-woo .dev-intro-grid {
   grid-template-columns: minmax(320px, 0.76fr) minmax(0, 1.24fr);
 }

 .dev-theme-woo .dev-intro-card {
   min-height: 460px;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
 }

 .dev-theme-woo .dev-copy-stack {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .dev-theme-woo .dev-copy-card {
   display: flex;
   align-items: flex-end;
   min-height: 220px;
   background: linear-gradient(180deg, #ffffff 0%, var(--dev-soft) 100%);
 }

 .dev-theme-woo .dev-services-grid {
   grid-template-columns: repeat(6, minmax(0, 1fr));
 }

 .dev-theme-woo .dev-service-card {
   grid-column: span 2;
 }

 .dev-theme-woo .dev-service-card:nth-child(1),
 .dev-theme-woo .dev-service-card:nth-child(2) {
   grid-column: span 3;
 }

 .dev-theme-big .dev-intro-grid {
   align-items: center;
 }

 .dev-theme-big .dev-intro-card {
   clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
   padding-right: clamp(34px, 5vw, 56px);
 }

 .dev-theme-big .dev-copy-card {
   border-left: 4px solid var(--dev-accent);
 }

 .dev-theme-big .dev-services-grid {
   grid-template-columns: repeat(10, minmax(0, 1fr));
 }

 .dev-theme-big .dev-service-card {
   grid-column: span 2;
   background:
     linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
 }

 .dev-theme-big .dev-service-card:nth-child(3) {
   transform: translateY(24px);
 }

 .dev-theme-magento .dev-intro-grid {
   grid-template-columns: minmax(0, 1fr);
 }

 .dev-theme-magento .dev-intro-card {
   display: grid;
   grid-template-columns: minmax(0, 0.72fr) minmax(240px, 0.28fr);
   gap: 24px;
   align-items: end;
 }

 .dev-theme-magento .dev-intro-card::after {
   content: "M2";
   justify-self: end;
   color: rgba(255, 255, 255, 0.16);
   font-size: clamp(5rem, 14vw, 10rem);
   line-height: 0.8;
   font-weight: 900;
 }

 .dev-theme-magento .dev-copy-stack {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .dev-theme-magento .dev-services-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .dev-theme-magento .dev-service-card:first-child {
   grid-row: span 2;
   display: flex;
   flex-direction: column;
   justify-content: center;
   min-height: 330px;
 }

 .dev-theme-wordpress .dev-intro-grid {
   grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
 }

 .dev-theme-wordpress .dev-intro-card {
   order: 2;
   background:
     linear-gradient(145deg, var(--dev-dark) 0%, #155a78 70%, var(--dev-accent-2) 100%);
 }

 .dev-theme-wordpress .dev-copy-stack {
   order: 1;
 }

 .dev-theme-wordpress .dev-copy-card {
   position: relative;
   padding-left: clamp(30px, 5vw, 58px);
 }

 .dev-theme-wordpress .dev-copy-card::before {
   content: "";
   position: absolute;
   left: 24px;
   top: 28px;
   bottom: 28px;
   width: 3px;
   border-radius: 999px;
   background: var(--dev-accent);
 }

 .dev-theme-wordpress .dev-services-grid {
   grid-template-columns: repeat(12, minmax(0, 1fr));
 }

 .dev-theme-wordpress .dev-service-card {
   grid-column: span 4;
 }

 .dev-theme-wordpress .dev-service-card:nth-child(4),
 .dev-theme-wordpress .dev-service-card:nth-child(5) {
   grid-column: span 6;
 }

 .dev-theme-php .dev-intro-grid {
   grid-template-columns: minmax(0, 1fr);
 }

 .dev-theme-php .dev-intro-card {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 28px;
   align-items: center;
 }

 .dev-theme-php .dev-intro-card::after {
   content: "<?php";
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: min(260px, 34vw);
   min-height: 150px;
   border-radius: 8px;
   background: rgba(255, 255, 255, 0.1);
   color: rgba(255, 255, 255, 0.72);
   font-family: Consolas, Monaco, monospace;
   font-size: clamp(2rem, 5vw, 4rem);
   font-weight: 900;
 }

 .dev-theme-php .dev-copy-stack {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .dev-theme-php .dev-services-grid {
   grid-template-columns: repeat(5, minmax(220px, 1fr));
   overflow-x: auto;
   padding-bottom: 10px;
   scroll-snap-type: x proximity;
 }

 .dev-theme-php .dev-service-card {
   scroll-snap-align: start;
 }

 @media (max-width: 1199px) {

   .dev-theme-woo .dev-services-grid,
   .dev-theme-big .dev-services-grid,
   .dev-theme-wordpress .dev-services-grid {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .dev-theme-woo .dev-service-card,
   .dev-theme-woo .dev-service-card:nth-child(1),
   .dev-theme-woo .dev-service-card:nth-child(2),
   .dev-theme-big .dev-service-card,
   .dev-theme-wordpress .dev-service-card,
   .dev-theme-wordpress .dev-service-card:nth-child(4),
   .dev-theme-wordpress .dev-service-card:nth-child(5) {
     grid-column: auto;
   }

   .dev-theme-big .dev-service-card:nth-child(3) {
     transform: none;
   }
 }

 @media (max-width: 991px) {

   .dev-theme-woo .dev-intro-grid,
   .dev-theme-big .dev-intro-grid,
   .dev-theme-wordpress .dev-intro-grid {
     grid-template-columns: 1fr;
   }

   .dev-theme-woo .dev-copy-stack,
   .dev-theme-magento .dev-copy-stack,
   .dev-theme-php .dev-copy-stack {
     grid-template-columns: 1fr;
   }

   .dev-theme-big .dev-intro-card {
     clip-path: none;
   }

   .dev-theme-wordpress .dev-intro-card,
   .dev-theme-wordpress .dev-copy-stack {
     order: initial;
   }

   .dev-theme-magento .dev-intro-card,
   .dev-theme-php .dev-intro-card {
     grid-template-columns: 1fr;
   }

   .dev-theme-magento .dev-intro-card::after,
   .dev-theme-php .dev-intro-card::after {
     display: none;
   }
 }

 @media (max-width: 767px) {

   .dev-theme-woo .dev-services-grid,
   .dev-theme-big .dev-services-grid,
   .dev-theme-magento .dev-services-grid,
   .dev-theme-wordpress .dev-services-grid {
     grid-template-columns: 1fr;
   }

   .dev-theme-woo .dev-intro-card {
     min-height: auto;
   }

   .dev-theme-php .dev-services-grid {
     grid-template-columns: 1fr;
     overflow: visible;
   }
 }

 /* ============================================================
   Global alignment, type, spacing and mobile consistency fixes
   ============================================================ */
 :root {
   --site-gutter: clamp(16px, 4vw, 32px);
   --section-space: clamp(44px, 5vw, 60px);
   --section-gap: clamp(22px, 3vw, 36px);
   --card-gap: clamp(16px, 2vw, 24px);
   --body-copy: clamp(0.95rem, 0.32vw + 0.88rem, 1.05rem);
   --title-lg: clamp(2rem, 3.6vw, 3.25rem);
   --title-md: clamp(1.75rem, 2.7vw, 2.5rem);
   --title-sm: clamp(1.15rem, 1vw, 1.35rem);
 }

 html,
 body {
   width: 100%;
   max-width: 100%;
   overflow-x: hidden;
 }

 body {
   font-size: var(--body-copy);
   text-rendering: optimizeLegibility;
 }

 .container,
 .site-header .container,
 .site-footer .container,
 .ipa-container,
 .container2,
 .stats-container,
 .cta-inner-content,
 .footer-grid,
 .minimal-grid,
 .ipa-grid-3,
 .dev-detail-section>.container {
   width: min(100%, 1400px);
   max-width: 1400px;
   margin-left: auto !important;
   margin-right: auto !important;
   /* padding-left: var(--site-gutter) !important; */
   /* padding-right: var(--site-gutter) !important; */
 }

 .site-header .container {
   width: min(100%, 1280px);
   max-width: 1280px;
 }

 section,
 .section-py,
 .about-section,
 .expert,
 .iparable-dba-section,
 .iparable-why-choose,
 .dba-cta-full-width,
 .testimonial-section,
 .ipa-compact-section,
 .dev-detail-section,
 .mission-container,
 .values-section-wrapper {
   padding-top: var(--section-space) !important;
   padding-bottom: var(--section-space) !important;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 .hero-title,
 .title,
 .display,
 .section-heading,
 .section-main-title,
 .dba-heading,
 .ipa-header h2,
 .dev-intro-card h2,
 .dev-heading h2,
 .dev-cta-panel h2,
 .inner-hero-content h1,
 .cta-text-side h2,
 .popup-form-header h3,
 .footer-heading {
   letter-spacing: 0 !important;
   overflow-wrap: anywhere;
   text-wrap: balance;
 }

 .hero-title,
 .inner-hero-content h1 {
   font-size: var(--title-lg) !important;
   line-height: 1.12 !important;
 }

 .title,
 .display,
 .section-heading,
 .section-main-title,
 .dba-heading,
 .ipa-header h2,
 .dev-intro-card h2,
 .dev-heading h2,
 .dev-cta-panel h2,
 .cta-text-side h2,
 h2 {
   font-size: var(--title-md) !important;
   line-height: 1.18 !important;
 }

 .service-title,
 .soft-title,
 .project-title,
 .blog-title,
 .step-title,
 .exp-title,
 .grid-card p,
 .ipa-card-box h3,
 .dev-service-card h3,
 h3 {
   font-size: var(--title-sm) !important;
   line-height: 1.35 !important;
 }

 p,
 .para,
 .desc,
 .description,
 .hero-desc,
 .dba-description,
 .service-desc,
 .soft-desc,
 .dev-copy-card p,
 .dev-heading p,
 .dev-service-card p,
 .dev-cta-panel p,
 .ipa-header p,
 .ipa-card-box p,
 .footer-text,
 .footer-links a,
 .footer-links span {
   font-size: var(--body-copy) !important;
   line-height: 1.65 !important;
 }

 .section-header,
 .dev-heading,
 .ipa-header,
 .header-group {
   margin-bottom: var(--section-gap) !important;
 }

 .grid-responsive,
 .process-grid,
 .project-grid,
 .contact-grid,
 .form-grid,
 .about-grid,
 .dev-intro-grid,
 .dev-services-grid,
 .dev-copy-stack,
 .minimal-grid,
 .ipa-grid-3,
 .stats-container,
 .footer-grid {
   gap: var(--card-gap) !important;
 }

 .glass-card,
 .service-card,
 .step-card,
 .project-card,
 .blog-card,
 .soft-card,
 .grid-card,
 .ipa-card-box,
 .dev-service-card,
 .dev-copy-card,
 .dev-intro-card,
 .location-card,
 .stat-box,
 .exp-card,
 .bento-card {
   height: 100%;
 }

 .hero-section {
   min-height: min(760px, 92vh) !important;
   padding-top: 60px !important;
   padding-bottom: var(--section-space) !important;
 }

 .hero-section>.container {
   width: min(calc(100% - 80px), 1400px) !important;
   max-width: 1400px !important;
   margin-left: auto !important;
   margin-right: auto !important;
 }

 .hero-content-wrapper {
   align-items: center !important;
   gap: clamp(28px, 5vw, 64px) !important;
 }

 .hero-text {
   max-width: 620px;
 }

 .hero-desc {
   max-width: 38rem;
 }

 #home.hero-section {
   min-height: 790px !important;
   padding-top: 60px !important;
   padding-bottom: 0 !important;
   align-items: center !important;
 }

 #home.hero-section>.container {
   width: min(calc(100% - 300px), 1540px) !important;
   max-width: 1540px !important;
   margin-left: auto !important;
   margin-right: auto !important;
 }

 #home .hero-content-wrapper {
   display: grid !important;
   grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.82fr) !important;
   gap: clamp(36px, 5vw, 78px) !important;
   align-items: center !important;
   padding-bottom: 0 !important;
 }

 #home .hero-text {
   max-width: 820px !important;
   text-align: left !important;
 }

 #home .hero-title {
   font-size: clamp(2.7rem, 3.75vw, 3.75rem) !important;
   /* line-height: 1.15 !important; */
   font-weight: 800 !important;
   margin-bottom: 5px !important;
 }

 #home .hero-desc {
   max-width: 620px !important;
   font-size: clamp(1.15rem, 1.45vw, 1.45rem) !important;
   line-height: 1.55 !important;
   margin-bottom: 2rem !important;
 }

 #home .btn-hero-primary {
   min-width: 200px;
   min-height: 3px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 999px;
   font-size: 1.1rem;
   /* font-weight: 800; */
 }

 #home .hero-visual {
   display: flex;
   justify-content: flex-end;
   align-items: flex-end;
   min-width: 0;
 }

 #home .image-wrapper {
   display: block !important;
   width: min(100%, 560px);
 }

 #home .image-wrapper>img {
   width: 100% !important;
   max-width: 560px !important;
   height: auto !important;
   display: block;
 }

 #home .carousel-stage {
   left: 31% !important;
   top: 45% !important;
   width: 110px !important;
   height: 110px !important;
 }

 #home .carousel-rotator img {
   width: 110px !important;
   height: 110px !important;
 }

 @media (max-width: 1199px) {
   #home.hero-section>.container {
     width: min(calc(100% - 80px), 1400px) !important;
   }

   #home .hero-content-wrapper {
     grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr) !important;
   }
 }

 @media (max-width: 991px) {
   #home.hero-section {
     min-height: auto !important;
     padding-top: 130px !important;
     padding-bottom: 44px !important;
   }

   #home.hero-section>.container {
     width: min(calc(100% - 40px), 760px) !important;
   }

   #home .hero-content-wrapper {
     grid-template-columns: 1fr !important;
     text-align: center;
   }

   #home .hero-title {
     font-size: clamp(28px, 7vw, 3.2rem) !important;
     /* min-height: 3.45em; */
     display: block;
     text-align: center !important;
     overflow-wrap: normal !important;
     word-break: normal !important;
     white-space: normal !important;
   }

   #home .hero-title .text-gradient {
     white-space: nowrap;
   }

   #home .hero-text {
     max-width: 100% !important;
     text-align: center !important;
   }

   #home .hero-desc {
     min-height: 4.75em;
     display: flex;
     align-items: center;
     justify-content: center;
   }

   #home .hero-buttons {
     justify-content: center;
     min-height: 66px;
   }

   #home .hero-visual {
     justify-content: center;
   }

   #home .image-wrapper {
     width: min(100%, 420px);
   }
 }

 .about-section {
   min-height: auto !important;
   display: grid !important;
   grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
   align-items: center !important;
   gap: clamp(28px, 4vw, 52px) !important;
 }

 .visual-container,
 .about-content {
   width: 100% !important;
   max-width: none !important;
 }

 .visual-container {
   min-height: 100% !important;
 }

 .robot-base {
   width: min(100%, 460px) !important;
 }

 .about-content {
   align-self: center !important;
 }

 .about-content p {
   text-align: justify !important;
   text-align-last: left;
 }

 .iparable-why-choose {
   background:
     linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
 }

 .iparable-why-choose .minimal-grid {
   grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
   gap: 18px !important;
   padding-left: 0 !important;
   padding-right: 0 !important;
 }

 .iparable-why-choose .grid-card {
   position: relative;
   overflow: hidden;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   text-align: left !important;
   min-height: 170px;
   padding: 26px 22px !important;
   background: #ffffff !important;
   border: 1px solid rgba(29, 53, 87, 0.1) !important;
   border-radius: 18px !important;
   box-shadow: 0 14px 35px rgba(15, 23, 42, 0.07) !important;
 }

 .iparable-why-choose .grid-card::before {
   content: "";
   position: absolute;
   inset: 0;
   border-top: 4px solid #e31e24;
   opacity: 0;
   transition: opacity 0.3s ease;
 }

 .iparable-why-choose .grid-card:hover {
   transform: translateY(-6px) !important;
   border-color: rgba(227, 30, 36, 0.28) !important;
   box-shadow: 0 20px 45px rgba(15, 23, 42, 0.12) !important;
 }

 .iparable-why-choose .grid-card:hover::before {
   opacity: 1;
 }

 .iparable-why-choose .card-icon {
   width: 46px;
   height: 46px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 18px !important;
   border-radius: 14px;
   color: #e31e24 !important;
   background: rgba(227, 30, 36, 0.09);
   font-size: 20px !important;
 }

 .iparable-why-choose .grid-card p {
   text-align: left !important;
   font-weight: 650 !important;
   color: #10243f !important;
 }

 .expert-stats-navy,
 .stats-container,
 .stat-box,
 .stat-val,
 .stat-label {
   text-align: center !important;
 }

 .stat-box {
   align-items: center !important;
 }

 .py-5:has(.blog-gradient),
 .py-5:has(.blog-gradient) .row,
 .py-5:has(.blog-gradient) .bento-card,
 .py-5:has(.blog-gradient) h2,
 .py-5:has(.blog-gradient) h3,
 .py-5:has(.blog-gradient) h4,
 .py-5:has(.blog-gradient) p {
   text-align: left !important;
 }

 .py-5:has(.blog-gradient) {
   padding-top: var(--section-space) !important;
   padding-bottom: var(--section-space) !important;
 }

 .py-5:has(.blog-gradient) .mb-5 {
   margin-bottom: var(--section-gap) !important;
 }

 .hero-buttons,
 .cta-btn-group {
   align-items: center;
   gap: 14px !important;
 }

 .hero-visual,
 .image-wrapper {
   min-width: 0;
 }

 .image-wrapper img,
 .visual-container img,
 .robot-base,
 .main-img,
 .side-img {
   max-width: 100%;
   /* height: auto; */
 }

 .mobile-menu {
   left: var(--site-gutter) !important;
   right: var(--site-gutter) !important;
   width: auto !important;
   max-width: none !important;
   max-height: calc(100vh - 6rem) !important;
   overflow-y: auto !important;
 }

 .mobile-nav-link,
 .mobile-contact-link {
   display: flex;
   align-items: center;
   min-height: 44px;
   color: var(--secondary);
   font-size: 1rem;
   font-weight: 650;
 }

 .mobile-contact-link {
   justify-content: center;
   margin-top: 8px;
   border-radius: 999px;
   background: var(--primary);
   color: #ffffff;
 }

 .mobile-dropdown-btn.is-open .fa-chevron-down {
   transform: rotate(180deg);
 }

 .mobile-dropdown-content.show {
   display: grid !important;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 6px;
 }

 .mobile-service-heading {
   grid-column: 1 / -1;
 }

 @media (max-width: 1199px) {
   .desktop-menu {
     gap: 1.2rem !important;
   }

   .nav-link {
     font-size: 0.82rem !important;
   }

   .dev-services-grid,
   .grid-responsive {
     grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
   }
 }

 @media (max-width: 991px) {

   .hero-content-wrapper,
   .about-grid,
   .contact-grid,
   .dev-intro-grid,
   .dev-cta-panel,
   .container2,
   .footer-grid {
     grid-template-columns: 1fr !important;
     flex-direction: column !important;
   }

   .hero-text,
   .about-content,
   .cta-text-side,
   .cta-button-side,
   .dev-cta-panel,
   .projects-header {
     text-align: center !important;
   }

   .hero-desc,
   .about-content p,
   .description,
   .dev-copy-card p,
   .dev-heading p,
   .dev-cta-panel p {
     text-align: center !important;
     margin-left: auto !important;
     margin-right: auto !important;
   }

   .hero-buttons,
   .cta-btn-group,
   .cta-inner-content,
   .dba-platforms {
     justify-content: center !important;
   }

   .projects-header {
     align-items: center !important;
   }

   .footer-grid {
     display: grid !important;
     gap: 28px !important;
   }

   .merged-column,
   .merged-column .footer-heading,
   .footer-heading {
     align-items: flex-start !important;
     text-align: left !important;
   }

   .merged-column .footer-heading::after {
     left: 0 !important;
     transform: none !important;
   }
 }

 @media (max-width: 767px) {
   :root {
     --site-gutter: 16px;
     --section-space: 34px;
     --card-gap: 16px;
     --body-copy: 0.96rem;
     --title-lg: clamp(2rem, 9vw, 2.45rem);
     --title-md: clamp(1.6rem, 7vw, 2rem);
     --title-sm: 1.1rem;
   }

   .site-header {
     padding: 0.65rem 0 !important;
   }

   .nav-bar {
     min-height: 58px;
     padding: 6px 10px !important;
     border-radius: 12px !important;
   }

   .logo img {
     max-width: 136px !important;
   }

   .mobile-menu {
     top: 4.6rem !important;
     max-height: calc(100vh - 6rem) !important;
     padding: 1rem !important;
     border-radius: 12px !important;
   }

   .mobile-nav-list {
     gap: 0 !important;
   }

   .mobile-nav-item {
     padding: 0.45rem 0 !important;
   }

   .mobile-dropdown-content {
     padding-left: 0 !important;
     grid-template-columns: 1fr !important;
     gap: 4px !important;
     max-height: min(56vh, 440px) !important;
   }

   .mobile-sub-link {
     min-height: 40px;
     padding: 8px 10px !important;
     border-radius: 8px;
     background: #f8fafc;
   }

   .hero-section {
     min-height: auto !important;
     padding-top: 100px !important;
   }

   .hero-section>.container {
     width: min(calc(100% - 32px), 1400px) !important;
   }

   .hero-title,
   .inner-hero-content h1 {
     text-align: center !important;
     padding: 0 !important;
   }

   .hero-desc,
   .inner-hero-content p {
     font-size: 1rem !important;
   }

   .hero-buttons,
   .cta-btn-group {
     display: grid !important;
     grid-template-columns: 1fr !important;
     width: 100%;
   }

   .btn-hero-primary,
   .btn-hero-secondary,
   .dev-btn,
   .btn-submit,
   .btn-red-action {
     width: 100% !important;
     justify-content: center;
   }

   .hero-visual {
     width: min(100%, 340px) !important;
     margin: 0 auto;
   }

   .carousel-stage {
     left: 20% !important;
     top: 32% !important;
     width: 74px !important;
     height: 74px !important;
     transform: translate(-50%, -50%) !important;
     animation: none !important;
   }

   .carousel-rotator img {
     width: 74px !important;
     height: 74px !important;
     left: 50% !important;
     top: 50% !important;
     transform: translate(-50%, -50%) !important;
   }

   .minimal-grid,
   .ipa-grid-3,
   .grid-responsive,
   .process-grid,
   .project-grid,
   .contact-grid,
   .form-grid,
   .dev-services-grid,
   .dev-copy-stack,
   .stats-container,
   .services-merged-grid {
     grid-template-columns: 1fr !important;
   }

   .service-card,
   .step-card,
   .project-info,
   .soft-card,
   .grid-card,
   .ipa-card-box,
   .dev-service-card,
   .dev-copy-card,
   .dev-intro-card,
   .popup-card,
   .location-card {
     padding: 22px !important;
   }

   .about-section,
   .cta-inner-content {
     /* gap: 24px !important; */
   }

   .about-section {
     grid-template-columns: 1fr !important;
   }

   .visual-container,
   .about-content,
   .dba-content-card,
   .dev-heading,
   .section-header {
     max-width: 100% !important;
   }

   .about-content,
   .about-content h2 {
     text-align: left !important;
   }

   .about-content p {
     text-align: justify !important;
   }

   .iparable-why-choose .minimal-grid {
     grid-template-columns: 1fr !important;
   }

   .iparable-why-choose .grid-card {
     min-height: auto;
     padding: 20px !important;
   }

   .platform-icon {
     width: 64px !important;
     height: 64px !important;
   }

   .footer-grid,
   .footer-bottom {
     text-align: left !important;
   }

   .footer-bottom {
     flex-direction: column !important;
     gap: 14px !important;
     align-items: center !important;
     justify-content: center !important;
     text-align: center !important;
   }

   .footer-bottom p,
   .footer-bottom .footer-links {
     width: 100%;
     justify-content: center !important;
     text-align: center !important;
   }

   .footer-bottom .footer-links {
     display: flex;
     flex-wrap: wrap;
     gap: 8px 16px;
   }

   .footer-links.contact-list li,
   .footer-links li {
     align-items: flex-start;
   }

   .im-workspace-container,
   .im-properties-list {
     overflow: hidden !important;
   }

   .im-prop-item[data-aos],
   .im-comp-card[data-aos] {
     transform: none !important;
   }
 }

 @media (max-width: 420px) {
   :root {
     --title-lg: 2rem;
     --title-md: 1.55rem;
     --body-copy: 0.95rem;
   }

   .container,
   .site-header .container,
   .site-footer .container,
   .ipa-container,
   .container2,
   .stats-container,
   .cta-inner-content,
   .footer-grid,
   .minimal-grid,
   .ipa-grid-3,
   .dev-detail-section>.container {
     padding-left: 14px !important;
     padding-right: 14px !important;
   }
 }

 #contact .title {
   font-size: 30px !important;
   line-height: 1.2 !important;
 }

 /* Home About section reference-style redesign */
 .about-section {
   width: min(calc(100% - 48px), 1240px);
   margin-left: auto !important;
   margin-right: auto !important;
   min-height: auto !important;
   display: grid !important;
   grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr) !important;
   gap: clamp(24px, 4vw, 52px) !important;
   align-items: center !important;
   padding: clamp(34px, 4.5vw, 58px) clamp(18px, 3vw, 30px) !important;
   background:
     radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.18), transparent 26%),
     radial-gradient(circle at 88% 78%, rgba(239, 59, 66, 0.16), transparent 28%),
     linear-gradient(135deg, #071525 0%, #0b1f36 42%, #f8fafc 42%, #ffffff 100%);
   border-radius: 28px;
   box-shadow: 0 28px 90px rgba(15, 23, 42, 0.12);
   overflow: visible !important;
   position: relative;
   isolation: isolate;
   margin-top: 42px !important;
   margin-bottom: 56px !important;
   animation: aboutSectionReveal 0.8s ease both;
 }

 .about-section::before {
   content: "";
   position: absolute;
   inset: 18px;
   border: 1px solid rgba(255, 255, 255, 0.16);
   border-radius: 22px;
   pointer-events: none;
   z-index: 0;
 }

 .about-section::after {
   content: "";
   position: absolute;
   width: 180px;
   height: 180px;
   right: 26px;
   top: 26px;
   background: linear-gradient(135deg, rgba(239, 59, 66, 0.16), rgba(56, 189, 248, 0.12));
   border-radius: 50%;
   filter: blur(8px);
   pointer-events: none;
   z-index: 0;
 }

 .about-section .visual-container {
   width: 100% !important;
   max-width: 460px !important;
   min-height: auto !important;
   justify-self: center;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: visible;
   z-index: 1;
 }

 .about-section .visual-container::before {
   content: "";
   position: absolute;
   inset: -18px;
   /* border-radius: 40px; */
   /* background:
     linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(56, 189, 248, 0.07)),
     linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent); */
   /* border: 1px solid rgba(255, 255, 255, 0.16); */
   /* box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22); */
   z-index: -1;
 }

 .about-section .visual-container::after {
   content: "";
   position: absolute;
   width: 64%;
   height: 24%;
   left: 18%;
   bottom: -14px;
   background: rgba(56, 189, 248, 0.22);
   border-radius: 50%;
   filter: blur(28px);
   z-index: -2;
   animation: aboutGlowPulse 3.8s ease-in-out infinite;
 }

 .about-section .robot-base {
   width: 100% !important;
   max-width: 460px !important;
   height: auto !important;
   aspect-ratio: auto;
   object-fit: contain;
   object-position: center;
   border-radius: 34px !important;
   filter: none !important;
   box-shadow: 0 34px 84px rgba(0, 0, 0, 0.28);
   animation: aboutRobotFloat 5.5s ease-in-out infinite;
 }

 .about-section .hologram-overlay {
   position: absolute;
   inset: 0;
   transform: none !important;
   width: 100% !important;
   height: 100% !important;
   max-width: none !important;
   max-height: none !important;
   pointer-events: none;
 }

 .about-section .logo-item {
   position: absolute;
   width: clamp(48px, 4.4vw, 62px) !important;
   height: clamp(48px, 4.4vw, 62px) !important;
   /* border-radius: 50%; */
   /* background: rgba(255, 255, 255, 0.92); */
   /* border: 1px solid rgba(255, 255, 255, 0.7); */
   /* box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22), 0 0 0 6px rgba(255, 255, 255, 0.1); */
   padding: 10px;
   animation: aboutLogoFloat 4s ease-in-out infinite !important;
   pointer-events: auto;
   backdrop-filter: blur(12px);
   will-change: transform;
 }

 .about-section .logo-item img {
   width: 100%;
   height: 100%;
   object-fit: contain;
 }

 .about-section .oracle {
   top: 35%;
   left: 52%;
   animation-delay: 0s !important;
 }

 .about-section .mysql {
   top: 24%;
   right: 16%;
   animation-delay: 0.35s !important;
 }

 .about-section .postgres {
   bottom: 41%;
   left: 51%;
   animation-delay: 0.7s !important;
 }

 .about-section .sqlserver {
   bottom: 49%;
   right: 14%;
   animation-delay: 1.05s !important;
 }

 .about-section .about-content {
   width: 100% !important;
   max-width: 640px !important;
   align-self: center !important;
   background:
     linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94)),
     radial-gradient(circle at 100% 0%, rgba(239, 59, 66, 0.1), transparent 34%);
   border: 1px solid rgba(15, 23, 42, 0.08);
   border-left: 7px solid #ef3b42;
   border-radius: 26px;
   box-shadow: 0 28px 76px rgba(15, 23, 42, 0.14);
   padding: clamp(24px, 3.2vw, 38px) !important;
   margin-left: clamp(-26px, -2.2vw, 0px);
   position: relative;
   z-index: 2;
   overflow: hidden;
   animation: aboutContentRise 0.85s ease both;
 }

 .about-section .about-content::before {
   content: "";
   position: absolute;
   width: 160px;
   height: 160px;
   top: -72px;
   right: -60px;
   border-radius: 50%;
   background: rgba(239, 59, 66, 0.08);
   pointer-events: none;
 }

 .about-section .about-content::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 100%;
   height: 5px;
   background: linear-gradient(90deg, #ef3b42, #38bdf8);
 }

 .about-section .about-content h2 {
   color: #ef3b42 !important;
   font-size: clamp(2.05rem, 3vw, 3rem) !important;
   line-height: 1.14 !important;
   margin-bottom: 16px !important;
 }

 .about-section .about-content p {
   color: #3f4652 !important;
   font-size: clamp(1rem, 1.18vw, 1.12rem) !important;
   line-height: 1.68 !important;
   text-align: justify !important;
   margin-bottom: 14px !important;
 }

 @keyframes aboutSectionReveal {
   from {
     opacity: 0;
     transform: translateY(18px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 @keyframes aboutContentRise {
   from {
     opacity: 0;
     transform: translateX(18px);
   }

   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 @keyframes aboutRobotFloat {

   0%,
   100% {
     transform: translateY(0);
   }

   50% {
     transform: translateY(-10px);
   }
 }

 @keyframes aboutLogoFloat {

   0%,
   100% {
     transform: translateY(0);
   }

   50% {
     transform: translateY(-24px);
   }
 }

 @keyframes aboutGlowPulse {

   0%,
   100% {
     opacity: 0.55;
     transform: scale(1);
   }

   50% {
     opacity: 0.9;
     transform: scale(1.08);
   }
 }

 @media (max-width: 991px) {
   .about-section {
     grid-template-columns: 1fr !important;
     width: min(calc(100% - 32px), 760px);
     max-width: 760px;
     gap: 24px !important;
     padding: 34px 22px !important;
     background:
       radial-gradient(circle at 18% 15%, rgba(56, 189, 248, 0.18), transparent 32%),
       linear-gradient(180deg, #071525 0%, #0b1f36 38%, #ffffff 38%, #ffffff 100%);
   }

   .about-section .visual-container {
     max-width: 400px !important;
   }

   .about-section .robot-base {
     max-width: 400px !important;
   }

   .about-section .about-content {
     max-width: 100% !important;
     margin-left: 0;
   }
 }

 @media (max-width: 640px) {
   .about-section {
     width: min(calc(100% - 24px), 520px);
     padding: 28px 14px !important;
     gap: 20px !important;
     border-radius: 20px;
   }

   .about-section::before {
     inset: 10px;
     border-radius: 16px;
   }

   .about-section .visual-container {
     max-width: 320px !important;
   }

   .about-section .robot-base {
     max-width: 320px !important;
     border-radius: 22px !important;
   }

   .about-section .logo-item {
     width: 44px !important;
     height: 44px !important;
     padding: 7px;
   }

   .about-section .about-content {
     border-radius: 18px;
     padding: 22px 18px !important;
   }

   .about-section .about-content h2 {
     font-size: clamp(1.8rem, 8vw, 2.25rem) !important;
   }
 }

 @media (max-width: 420px) {
   .about-section {
     width: min(calc(100% - 18px), 390px);
     padding: 22px 10px !important;
   }

   .about-section .visual-container {
     max-width: 280px !important;
   }

   .about-section .robot-base {
     max-width: 280px !important;
   }

   .about-section .about-content {
     padding: 20px 15px !important;
   }

   .about-section .about-content p {
     line-height: 1.58 !important;
     text-align: justify !important;
   }
 }

 @media (prefers-reduced-motion: reduce) {

   .about-section,
   .about-section .about-content,
   .about-section .robot-base,
   .about-section .visual-container::after {
     animation: none !important;
   }
 }

 html {
   overflow-x: hidden !important;
   overflow-y: auto !important;
 }

 body {
   overflow-x: hidden !important;
   overflow-y: auto !important;
 }

 body>section,
 body>main,
 body>footer,
 .site-footer,
 .section-py,
 .about,
 .case,
 .audit-section,
 .services-section,
 .about-section,
 .expert-stats-navy,
 .iparable-why-choose,
 .dev-detail-section,
 .ipa-compact-section {
   overflow-y: visible !important;
   scrollbar-width: auto;
 }

 .oracle-section,
 .mysql-section,
 .section-white,
 .sql-main-container,
 .sql-white-container,
 .pg-main-container,
 .pg-white-container,
 .m-main-container,
 .m-white-container,
 .db2-wrapper,
 .audit-section,
 body>[class$="-section"] {
   max-width: 100%;
   overflow-x: hidden;
   overflow-x: clip;
 }

 .oracle-section .container,
 .mysql-section .container,
 .section-white .container,
 .sql-main-container .container,
 .sql-white-container .container,
 .pg-main-container .container,
 .pg-white-container .container,
 .m-main-container .container,
 .m-white-container .container,
 .db2-wrapper,
 .audit-section .container,
 body>[class$="-section"]>.container {
   min-width: 0;
 }

 body>section {
   max-width: 100%;
   overflow-x: hidden;
   overflow-x: clip;
 }

 body>section:not(.mobile-menu):not(.mega-menu-dropdown) {
   overflow-y: visible !important;
 }


 .logos-container {
   overflow: hidden;
   padding: 34px 0 38px;
   background:
     linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.94)),
     linear-gradient(rgba(29, 53, 87, 0.055) 1px, transparent 1px),
     linear-gradient(90deg, rgba(29, 53, 87, 0.055) 1px, transparent 1px),
     #ffffff;
   background-size: 100% 100%, 44px 44px, 44px 44px, 100% 100%;
   position: relative;
   width: 100%;
 }

 .logos-heading {
   color: #1d3557;
   font-size: clamp(1.6rem, 3vw, 2.35rem);
   font-weight: 900;
   line-height: 1.2;
   text-align: center;
   margin: 0 20px 26px;
   position: relative;
   z-index: 1;
 }

 .logos-container::before,
 .logos-container::after {
   position: absolute;
   top: 0;
   width: 150px;
   height: 100%;
   content: "";
   z-index: 2;
 }

 .logos-container::before {
   left: 0;
   background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
 }

 .logos-container::after {
   right: 0;
   background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
 }

 .logos-slider {
   display: flex;
   width: max-content;
   position: relative;
   z-index: 1;
 }

 .logos-slide {
   display: flex;
   align-items: center;
   gap: 42px;
   padding-right: 42px;
   flex-shrink: 0;
   animation: scrollMarquee 25s linear infinite;
 }

 /* Logo Images Styling */
 .logos-slide img {
   width: 190px;
   height: 76px;
   object-fit: contain;
   opacity: 1;
   transition: all 0.3s ease;
   background: #ffffff;
   border: 1px solid rgba(29, 53, 87, 0.08);
   border-radius: 10px;
   padding: 10px 18px;
   box-shadow: 0 12px 28px rgba(29, 53, 87, 0.1);
   filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.18));
 }

 .logos-slide img:hover {
   opacity: 1;
   transform: scale(1.05);
 }

 @media (max-width: 768px) {
   .logos-container {
     padding: 28px 0 32px;
   }

   .logos-heading {
     margin-bottom: 20px;
   }

   .logos-slide {
     gap: 28px;
     padding-right: 28px;
   }

   .logos-slide img {
     width: 150px;
     height: 64px;
     padding: 8px 14px;
   }
 }

 .logos-slider:hover .logos-slide {
   animation-play-state: paused;
 }

 @keyframes scrollMarquee {
   from {
     transform: translateX(0);
   }

   to {
     transform: translateX(-100%);
   }
 }
/* Desktop services menu: shared across all pages. */
@media (min-width: 1024px) {
  .site-header .mega-menu-dropdown {
    padding-top: 0;
    border-radius: 18px !important;
    border-color: #dce4ef;
    box-shadow: 0 24px 65px rgba(16, 35, 63, 0.18) !important;
  }

  .site-header .mega-menu-container {
    border-radius: 18px;
    background: #f8faff;
    max-height: min(480px, calc(100dvh - 110px));
    min-height: min(300px, calc(100dvh - 110px)) !important;
    grid-template-columns: 300px minmax(0, 1fr);
  }

  .site-header .mega-sidebar {
    background:
      radial-gradient(circle at 0% 100%, transparent 90px, rgba(115, 148, 192, 0.13) 91px 92px, transparent 93px 132px, rgba(115, 148, 192, 0.09) 133px 134px, transparent 135px),
      radial-gradient(ellipse at 100% 0%, #ffe8ed, transparent 65%),
      linear-gradient(145deg, #f4f7fd, #e7effa) !important;
    border-right: 1px solid #dce5f1;
    padding: 14px !important;
    min-height: 0;
    overflow-y: auto;
  }

  .site-header .sidebar-item {
    color: #415570;
    min-height: 48px;
    padding: 10px 12px;
    margin-bottom: 6px;
    border-left: 4px solid transparent;
    border-radius: 12px;
    transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
  }

  .site-header .sidebar-item i {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.72);
  }

  .site-header .sidebar-item:hover,
  .site-header .sidebar-item.active {
    background: linear-gradient(110deg, #fff, #fff3f4) !important;
    border-left-color: #e63946;
    color: #d92f3e !important;
    box-shadow: 0 5px 16px rgba(67, 85, 112, 0.09);
  }

  .site-header .sidebar-item.active i,
  .site-header .sidebar-item:hover i {
    background: #ffe5e8;
  }

  .site-header .mega-content-area {
    min-height: 0;
    padding: 18px 20px !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #bdcadd transparent;
    background: radial-gradient(ellipse at 100% 100%, #eaf0fb, transparent 65%),
      radial-gradient(ellipse at 100% 0%, #fff0f2, transparent 55%), #f9fbff;
  }

  .site-header .pane-grid a {
    min-height: 40px !important;
    padding: 6px 12px !important;
    gap: 12px;
    font-size: 0.875rem;
    background: rgba(255, 255, 255, 0.94);
    border-color: #e1e7f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 10px rgba(19, 38, 64, 0.035);
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
  }

  .site-header .pane-grid a i,
  .site-header .pane-grid a .service-menu-icon {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 9px;
    background: #f1f5fb;
    background: color-mix(in srgb, currentColor 9%, white);
    font-size: 1rem;
    line-height: 1;
  }

  .site-header .pane-grid a:hover i {
    transform: none;
  }

  .site-header .pane-grid a:hover,
  .site-header .pane-grid a:focus-visible {
    transform: none;
    background: #fff;
    border-color: #ef9aa3 !important;
    color: #c82c3b !important;
    box-shadow: 0 5px 16px rgba(155, 47, 69, 0.10);
  }

  .site-header .pane-grid a:focus-visible {
    outline: 2px solid #e63946;
    outline-offset: 2px;
  }

  .site-header .pane-grid {
    gap: 10px 14px !important;
  }

  .site-header .pane-grid h6 {
    margin: 8px 0 2px !important;
    font-size: 0.72rem;
    line-height: 1.3;
  }

  .site-header .pane-grid h6:first-child {
    margin-top: 0 !important;
  }
}

/* Shared background treatment for service-page contact banners.
   Background layers keep the existing copy, spacing and buttons untouched. */
body :is(.cta-banner, .curved-cta, .curved-cta-card,
  .curved-cta-banner, .curved-cta-wrapper, .dba-curved-cta-banner,
  .db2-premium-cta-banner) {
  background-color: #0b192e;
  background-image:
    radial-gradient(ellipse at 100% 0%, transparent 0 34%, rgba(255, 137, 148, 0.13) 34.1% 34.25%, transparent 34.4% 43%, rgba(255, 137, 148, 0.08) 43.1% 43.25%, transparent 43.4%),
    radial-gradient(ellipse at 0% 100%, transparent 0 29%, rgba(113, 188, 255, 0.12) 29.1% 29.25%, transparent 29.4% 39%, rgba(113, 188, 255, 0.07) 39.1% 39.25%, transparent 39.4%),
    radial-gradient(ellipse at 100% 5%, rgba(211, 64, 96, 0.30), transparent 49%),
    radial-gradient(ellipse at 0% 100%, rgba(34, 113, 179, 0.36), transparent 52%),
    linear-gradient(120deg, #102b49 0%, #0b192e 44%, #121d35 72%, #302037 100%);
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: inset 0 1px 0 rgba(192, 216, 255, 0.18),
    inset 0 -1px 0 rgba(127, 169, 223, 0.1),
    0 20px 50px rgba(10, 25, 47, 0.22);
}
