/* === Flowdeck design tokens (existing palette, centralized) === */
:root {
    --fd-navy: #1e3a8a;
    --fd-blue: #1e40af;
    --fd-blue-bright: #1d4ed8;
    --fd-blue-soft: #3b82f6;
    --fd-outline: #93c5fd;
    --fd-text: #333333;
    --fd-muted: #6b7280;
    --fd-slate: #374151;
    --fd-nav: #4b5563;
    --fd-gray: #e5e7eb;
    --fd-surface: #ffffff;
    --fd-surface-2: #f8fafc;
    --fd-radius-sm: 0.75rem;
    --fd-radius-md: 1.25rem;
    --fd-radius-lg: 1.75rem;
    --fd-radius-pill: 999px;
    --fd-gradient-surface: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    --fd-shadow: 0 4px 32px rgba(30, 58, 138, 0.08);
    --fd-shadow-lg: 0 28px 64px rgba(30, 58, 138, 0.14);
    --fd-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --fd-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --fd-ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --fd-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --fd-reveal-duration: 0.78s;
    --fd-reveal-shift: 1.75rem;
    /* Sticky navbar visual height anchor (compact bar + logo) — hero/mastheads use padding-top, not margin-top */
    --fd-navbar-logo-height: clamp(32px, 4.5vw + 1.25rem, 48px);
    --fd-navbar-logo-max-width: min(11rem, 46vw);
    --fd-navbar-offset: clamp(3.75rem, 10vw + 2rem, 5rem);
    --fd-footer-logo-height: clamp(2.75rem, 6vw + 1rem, 3.5rem);
    --fd-footer-logo-max-width: min(7.5rem, 72vw);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--fd-navbar-offset);
    overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

*::selection {
    background: rgba(30, 64, 175, 0.22);
    color: var(--fd-navy);
}

img,
video {
    max-width: 100%;
    height: auto;
}

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: var(--fd-font);
            line-height: 1.6;
            color: #333;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
            min-width: 0;
        }

        /* Sticky Navigation — compact; translucent bar applied when scrolled (`.navbar.navbar--scrolled`) */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: transparent;
    padding: 0.75rem 0;
    box-shadow: none;
    border-bottom: 1px solid transparent;
    z-index: 1000;
    transition: all 0.3s ease;
}

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            min-height: calc(var(--fd-navbar-logo-height) + 0.75rem);
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            width: auto;
            height: auto;
        }

        /* .logo-icon {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, #1e40af, #3b82f6);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 1.2rem;
        } */

        .logo-text {
            font-size: 1.1rem;
            font-weight: 600;
            color: #1e40af;
        }

        .nav-links {
            display: flex;
            list-style: none;
            gap: 2.5rem;
            align-items: center;
        }

        .nav-links a {
            text-decoration: none;
            color: #4b5563;
            font-weight: 500;
            font-size: 0.95rem;
            transition: color 0.3s ease;
            position: relative;
        }

        .nav-links a:hover,
        .nav-links a.active {
            color: #1e40af;
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: #1e40af;
            transition: width 0.3s ease;
        }

        .nav-links a:hover::after,
        .nav-links a:active::after {
            width: 100%;
        }

        .contact-btn {
            background: #1e40af;
            color: white !important;
            padding: 0.75rem 1.5rem;
            border-radius: 25px;
            font-weight: 600;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            text-decoration: none;
        }

        .contact-btn:hover {
            background: #1d4ed8;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(30, 64, 175, 0.3);
        }

        .contact-btn::after {
            display: none;
        }

        /* Hero Section — full-bleed under fixed navbar; navbar clearance lives on .hero-container only */
        .hero {
            background: #e5e7eb;
            padding: 0;
            margin-top: 0;
            min-height: 100vh;
            display: grid;
            grid-template-columns: 1fr 1fr;
            justify-items: stretch;
            align-items: stretch;
            position: relative;
            overflow: hidden;
            column-gap: 1rem;
            row-gap: 0;
        }

        .hero-container {
            padding: calc(var(--fd-navbar-offset) + 4rem) 2rem 4rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            place-items: flex-end;
            height: 100%;
        }

        .hero-content {
            width: 100%;
            max-width: 500px;
        }

        .hero-content h1 {
            font-size: 3.5rem;
            font-weight: 700;
            color: #374151;
            line-height: 1.1;
            margin-bottom: 1.5rem;
        }

        .hero-content .highlight {
            color: #1e40af;
        }

        .hero-content p {
            font-size: 1.1rem;
            color: #6b7280;
            line-height: 1.7;
            margin-bottom: 2.5rem;
            max-width: 500px;
        }

        .hero-buttons {
            display: flex;
            gap: 1rem;
            align-items: center;
        }

        .btn-primary {
            background: #1e40af;
            color: white;
            padding: 1rem 2rem;
            border-radius: 25px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            font-size: 0.95rem;
        }

        .btn-primary:hover {
            background: #1d4ed8;
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(30, 64, 175, 0.3);
        }

        .btn-secondary {
            background: transparent;
            color: #1e40af;
            padding: 1rem 2rem;
            border: 2px solid #93c5fd;
            border-radius: 25px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
            cursor: pointer;
            font-size: 0.95rem;
        }

        .btn-secondary:hover {
            background: #1e40af;
            color: white;
            border-color: #1e40af;
            transform: translateY(-2px);
        }

        .hero-image {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-image img {
            width: 100%;
            height: 100%;
            min-height: 100vh;
            object-fit: cover;
            object-position: center;
            border-radius: 0;
            box-shadow: none;
            transition: transform 0.3s ease;
        }

        /* Mobile Menu Toggle */
        .mobile-menu-toggle {
            display: none;
            flex-direction: column;
            cursor: pointer;
            gap: 4px;
        }

        .mobile-menu-toggle span {
            width: 25px;
            height: 3px;
            background: #1e40af;
            border-radius: 2px;
            transition: all 0.3s ease;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .nav-links {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                flex-direction: column;
                padding: 2rem;
                box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
                gap: 1.5rem;
            }

            .nav-links.active {
                display: flex;
            }

            .mobile-menu-toggle {
                display: flex;
            }

            .hero {
                grid-template-columns: 1fr;
                padding: 0;
                row-gap: 0;
            }

            .hero-container {
                max-width: none;
                padding: var(--fd-navbar-offset) 1rem 1rem;
                text-align: center;
            }

            .hero-headline,
            .hero-content h1 {
                font-size: 2.5rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
            }

            .btn-primary,
            .btn-secondary {
                width: 100%;
                max-width: 250px;
                text-align: center;
            }

            .hero-figure .hero-image img {
                min-height: 0;
            }
        }

        @media (max-width: 480px) {
            .nav-container {
                padding: 0 1rem;
            }

            .hero {
                padding: 0 0 clamp(2rem, 8vw, 3.75rem);
            }

            .hero-container {
                padding: var(--fd-navbar-offset) 1rem 1rem;
            }

            .hero-headline,
            .hero-content h1 {
                font-size: 2rem;
            }

            .hero-lead,
            .hero-content p {
                font-size: 1rem;
            }
        }

        /* Animation for scroll effect */
        .fade-in {
            opacity: 0;
            transform: translate3d(0, 1.5rem, 0);
            animation: fdHeroIn var(--fd-reveal-duration, 0.72s) var(--fd-ease-out, ease) forwards;
        }

        @keyframes fdHeroIn {
            to {
                opacity: 1;
                transform: translate3d(0, 0, 0);
            }
        }

        .delay-1 { animation-delay: 0.12s; }
        .delay-2 { animation-delay: 0.24s; }
        .delay-3 { animation-delay: 0.36s; }

        /* About Section — base layout; detailed styling in .about-section block near design tokens */
        .about-section {
            padding: 80px 0;
            background: #ffffff;
            display: flex;
            align-items: center;
        }

        .about-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: center;
        }

        /* Discover Button */
        .discover-btn {
            background: #1e3a8a;
            color: white;
            padding: 1rem 2.5rem;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
            font-family: inherit;
        }

        .discover-btn:hover {
            background: #1e40af;
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(30, 58, 138, 0.4);
        }

        .discover-btn:active {
            transform: translateY(-1px);
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .about-container {
                gap: 4rem;
            }
        }

        @media (max-width: 768px) {
            .about-section {
                padding: 60px 0;
            }

            .about-container {
                grid-template-columns: 1fr;
                gap: 3rem;
                padding: 0 1rem;
                text-align: center;
            }
        }

        @media (max-width: 480px) {
            .about-container {
                padding: 0 1rem;
            }

            .discover-btn {
                width: 100%;
                max-width: 280px;
            }
        }

        /* Animation Effects (legacy page load — homepage sections use .js-reveal instead) */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Services Section */
        .services-section {
            padding: 80px 0;
            background: #fff;
            min-height: 100vh;
            display: flex;
            align-items: center;
        }

        .services-container {
            min-height: 100vh;
            background: #e5e7eb;
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem 2rem 4rem 2rem;
        }

        /* Services Header */
        .services-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .services-title {
            font-size: 3.5rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 1.5rem;
            line-height: 1.1;
        }

        .services-description {
            font-size: 1.1rem;
            color: #374151;
            line-height: 1.7;
            max-width: 600px;
            margin: 0 auto;
        }

        /* Services Grid */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 3rem;
        }

        /* Service Card */
        .service-card {
            background: transparent;
            backdrop-filter: blur(10px);
            border: 2px solid rgba(107, 114, 128, 0.2);
            border-radius: 20px;
            padding: 2.5rem;
            text-align: left;
            transition: all 0.3s ease;
            position: relative;
            min-height: 280px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
            border-color: rgba(30, 58, 138, 0.3);
        }

        /* Service Icon */
        .service-icon {
            width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.9);
            border: 2px solid rgba(107, 114, 128, 0.2);
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
            transition: all 0.3s ease;
        }

        .service-icon i {
            font-size: 1.5rem;
            color: #374151;
        }

        .service-card:hover .service-icon {
            background: #1e3a8a;
            border-color: #1e3a8a;
        }

        .service-card:hover .service-icon i {
            color: white;
        }

        /* Service Content */
        .service-title {
            font-size: 1.4rem;
            font-weight: 600;
            color: #1e3a8a;
            margin-bottom: 1rem;
            line-height: 1.3;
        }

        .service-description {
            font-size: 0.95rem;
            color: #374151;
            line-height: 1.6;
            margin-bottom: 1.5rem;
            flex-grow: 1;
        }

        /* Read More Link */
        .read-more {
            color: #1e3a8a;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.9rem;
            transition: all 0.3s ease;
            align-self: flex-start;
            position: relative;
        }

        .read-more::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: #1e3a8a;
            transition: width 0.3s ease;
        }

        .read-more:hover {
            color: #1e40af;
        }

        .read-more:hover::after {
            width: 100%;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .services-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }
            
            .services-title {
                font-size: 3rem;
            }
        }

        @media (max-width: 768px) {
            .services-section {
                padding: 60px 0;
            }
            
            .services-container {
                padding: 0 1rem;
            }
            
            .services-header {
                margin-bottom: 3rem;
            }
            
            .services-title {
                font-size: 2.5rem;
                margin-bottom: 1rem;
            }
            
            .services-description {
                font-size: 1rem;
            }
            
            .services-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
                margin-top: 2rem;
            }
            
            .service-card {
                padding: 2rem;
                min-height: 250px;
            }
        }

        @media (max-width: 480px) {
            .services-title {
                font-size: 2rem;
            }
            
            .services-description {
                font-size: 0.95rem;
                padding: 0 1rem;
            }
            
            .service-card {
                padding: 1.5rem;
                min-height: 220px;
            }
            
            .service-title {
                font-size: 1.2rem;
            }
            
            .service-description {
                font-size: 0.9rem;
            }
        }

        /* Animation Effects */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Reset and Base Styles */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: var(--fd-font);
            line-height: 1.6;
            color: #333;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        /* Institute Section */
        .institute-section {
            padding: 80px 0;
            background: #ffffff;
            min-height: 100vh;
            display: flex;
            align-items: center;
        }

        .institute-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: center;
        }

        /* Institute Content */
        .institute-content {
            padding: 2rem 0;
        }

        .institute-title {
            font-size: 4rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 1rem;
            line-height: 1.1;
            letter-spacing: -0.02em;
        }

        .institute-subtitle {
            font-size: 2.2rem;
            font-weight: 600;
            color: #374151;
            margin-bottom: 2.5rem;
            line-height: 1.2;
        }

        .academy-title {
            font-size: 1.8rem;
            font-weight: 600;
            color: #1e3a8a;
            margin-bottom: 1.5rem;
            line-height: 1.3;
        }

        .institute-description {
            font-size: 1rem;
            color: #6b7280;
            line-height: 1.7;
            margin-bottom: 3rem;
            max-width: 500px;
        }

        /* Apply Button */
        .apply-btn {
            background: #1e3a8a;
            color: white;
            padding: 1rem 2.5rem;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
            font-family: inherit;
        }

        .apply-btn:hover {
            background: #1e40af;
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(30, 58, 138, 0.4);
        }

        .apply-btn:active {
            transform: translateY(-1px);
        }

        /* Institute Image */
        .institute-image {
            border-radius: 20px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            transition: transform 0.3s ease;
        }

        .institute-image:hover {
            transform: translateY(-10px);
        }

        .institute-image img {
            width: 100%;
            height: 100%;
            min-height: 500px;
            object-fit: cover;
            object-position: center;
            display: block;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .institute-container {
                gap: 4rem;
            }
            
            .institute-title {
                font-size: 3.5rem;
            }
            
            .institute-subtitle {
                font-size: 2rem;
            }
            
            .academy-title {
                font-size: 1.6rem;
            }
        }

        @media (max-width: 768px) {
            .institute-section {
                padding: 60px 0;
            }
            
            .institute-container {
                grid-template-columns: 1fr;
                gap: 3rem;
                padding: 0 1rem;
                text-align: left;
            }
            
            .institute-title {
                font-size: 3rem;
                margin-bottom: 1.5rem;
            }
            
            .institute-subtitle {
                font-size: 1.8rem;
                margin-bottom: 2rem;
            }
            
            .academy-title {
                font-size: 1.5rem;
                margin-bottom: 1.5rem;
            }
            
            .institute-description {
                font-size: 1rem;
                max-width: none;
                margin-bottom: 2.5rem;
            }
            
            .institute-image img {
                min-height: 400px;
            }
            
            .apply-btn {
                width: 100%;
                max-width: 280px;
            }
        }

        @media (max-width: 480px) {
            .institute-container {
                padding: 0 1rem;
            }
            
            .institute-title {
                font-size: 2.5rem;
            }
            
            .institute-subtitle {
                font-size: 1.5rem;
            }
            
            .academy-title {
                font-size: 1.3rem;
            }
            
            .institute-description {
                font-size: 0.95rem;
            }
            
            .institute-image img {
                min-height: 350px;
            }
        }

        /* Animation Effects */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fadeInRight {
            from {
                opacity: 0;
                transform: translateX(30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .institute-title {
            animation: fadeInUp 0.8s ease-out;
        }

        .institute-subtitle {
            animation: fadeInUp 0.8s ease-out 0.1s both;
        }

        .academy-title {
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        .institute-description {
            animation: fadeInUp 0.8s ease-out 0.3s both;
        }

        .apply-btn {
            animation: fadeInUp 0.8s ease-out 0.4s both;
        }

        .institute-image {
            animation: fadeInRight 0.8s ease-out 0.2s both;
        }

        /* Success Stories Section */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        .success-stories {
            padding: 80px 0;
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
            position: relative;
            overflow: hidden;
        }

        .success-stories::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="%23000" opacity="0.02"/><circle cx="80" cy="80" r="1" fill="%23000" opacity="0.02"/><circle cx="40" cy="60" r="1" fill="%23000" opacity="0.02"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;
            pointer-events: none;
        }

        .section-title {
            font-size: 3.5rem;
            font-weight: 800;
            color: #1e3a8a;
            text-align: center;
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
            background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .section-subtitle {
            font-size: 1.125rem;
            color: #6b7280;
            text-align: center;
            max-width: 600px;
            margin: 0 auto 4rem;
            line-height: 1.7;
        }

        .carousel-wrapper {
            position: relative;
            max-width: 1000px;
            margin: 0 auto;
        }

        .carousel-container {
            overflow: hidden;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            padding: 20px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
        }

        .carousel-track {
            display: flex;
            transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
            gap: 20px;
            will-change: transform;
        }

        .story-card {
            min-width: calc(33.333% - 14px);
            background: #1e3a8a;
            border-radius: 16px;
            padding: 2rem;
            color: white;
            position: relative;
            transform: scale(0.95);
            opacity: 0.7;
            transition:
                transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.65s ease;
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
            overflow: hidden;
        }

        .story-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(147, 51, 234, 0.1) 100%);
            pointer-events: none;
        }

        .story-card.active {
            transform: scale(1);
            opacity: 1;
            box-shadow: 0 20px 40px rgba(30, 58, 138, 0.4);
        }

        .card-header {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
            position: relative;
            z-index: 2;
        }

        .avatar {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            overflow: hidden;
            border: 3px solid rgba(255, 255, 255, 0.2);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }

        .avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .client-info h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .client-info p {
            font-size: 0.875rem;
            opacity: 0.8;
            font-weight: 400;
        }

        .story-content {
            position: relative;
            z-index: 2;
        }

        .story-content p {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 1.5rem;
            opacity: 0.95;
        }

        .story-date {
            font-size: 0.875rem;
            opacity: 0.7;
            font-weight: 500;
            position: relative;
            z-index: 2;
        }

        .carousel-navigation {
            display: flex;
            gap: 1rem;
            justify-content: center;
            margin-top: 2rem;
        }

        .nav-btn {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            border: none;
            background: white;
            color: #1e3a8a;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        .nav-btn:hover {
            background: #1e3a8a;
            color: white;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(30, 58, 138, 0.3);
        }

        .nav-btn:active {
            transform: translateY(0);
        }

        .carousel-indicators {
            display: flex;
            justify-content: center;
            gap: 0.5rem;
            margin-top: 1.5rem;
        }

        .indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            border: none;
            background: rgba(30, 58, 138, 0.3);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .indicator.active {
            background: #1e3a8a;
            transform: scale(1.2);
        }

        .indicator:hover {
            background: #1e3a8a;
            transform: scale(1.1);
        }

        @media (max-width: 375px) {

           .card-header {
            display: flex;
            flex-direction: column;
            align-items:flex-start;
            gap: 1rem;
            margin-bottom: 1.5rem;
            position: relative;
            z-index: 2;
        }

            #carousel-track {
                gap: 0px;
            }

            .carousel-track {
                gap: 0px;
            }

            .section-title {
                font-size: 2.5rem;
            }
         
            .story-card {
                padding: 15px;
                min-width: calc(100% - 100px) !important;
                margin-right: 3px;
                width: 100%;
            }
            
            .carousel-container {
                padding: 20 0 !important;
            }
            
            .success-stories {
                padding: 60px 0;
            }
        }

        @media (max-width: 562px) {

            .section-title {
                font-size: 2.5rem;
            }
         
            .story-card {
                min-width: calc(100% - 60px) !important;
                margin: 0 20px !important;
            }
            
            .carousel-container {
                padding: 10px;
            }
            
            .success-stories {
                padding: 60px 0;
            }
        }

        @media (max-width: 768px) {
            .section-title {
                font-size: 2.5rem;
            }
            
            .story-card {
                min-width: calc(100% - 40px);
                margin: 0 10px;
            }
            
            .carousel-container {
                padding: 15px;
            }
            
            .success-stories {
                padding: 60px 0;
            }
        }

        @media (max-width: 1024px) {
            .story-card {
                min-width: calc(50% - 10px);
            }
        }

 /**FAQ**/

/* Container Styles */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    margin-top: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Header Styles */
.header {
    text-align: center;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 2px solid #f0f0f0;
}

.main-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1e3a8a;
    margin-bottom: 1rem;
}

.subtitle {
    font-size: 1.1rem;
    color: #6b7280;
    max-width: 600px;
    margin: 0 auto;
}

/* FAQ Grid Layout */
.faq-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

/* FAQ Item Styles */
.faq-item {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
}

.faq-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(45deg, #667eea, #764ba2);
}

.faq-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12);
}

/* Icon Styles */
.icon {
    width: 50px;
    height: 50px;
    background: #1d4ed8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    color: white;
    font-size: 1.2rem;
    font-weight: bold;
}

/* Question Styles */
.question {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
    line-height: 1.3;
    position: relative;
    transition: color 0.3s ease;
}

.faq-item:hover .question {
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Answer Styles */
.answer {
    color: #555;
    font-size: 1rem;
    line-height: 1.7;
}

/* Animation Keyframes */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Staggered Animation Delays */
.faq-item:nth-child(1) { animation-delay: 0.1s; }
.faq-item:nth-child(2) { animation-delay: 0.2s; }
.faq-item:nth-child(3) { animation-delay: 0.3s; }
.faq-item:nth-child(4) { animation-delay: 0.4s; }

/* Responsive Design - Tablet */
@media (min-width: 768px) {
    .faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Responsive Design - Desktop */
@media (min-width: 1024px) {
    .container {
        padding: 3rem;
        margin-top: 3rem;
    }
    
    .main-title {
        font-size: 3rem;
    }
    
    .question {
        font-size: 1.6rem;
    }
}

/* Responsive Design - Mobile */
@media (max-width: 767px) {
    .container {
        margin: 1rem;
        padding: 1.5rem;
        border-radius: 15px;
    }
    
    .main-title {
        font-size: 2rem;
    }
    
    .question {
        font-size: 1.3rem;
    }
    
    .faq-item {
        padding: 1.5rem;
    }
}

/* Responsive Design - Small Mobile */
@media (max-width: 480px) {
    .container {
        margin: 0.5rem;
    }
    
    .main-title {
        font-size: 1.8rem;
    }
    
    .subtitle {
        font-size: 1rem;
    }
}

/* Portfolio Section Style */
/* Portfolio Slider Section */
.portfolio-slider-section {
    padding: 80px 0;
    background: #e5e7eb;
    overflow: hidden;
}

.portfolio-slider-container {
    max-width: 100%;
    margin: 0 auto;
}

/* Header */
.portfolio-slider-header {
    text-align: center;
    margin-bottom: 3rem;
    padding: 0 2rem;
}

.portfolio-slider-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1e3a8a;
    margin-bottom: 0.5rem;
}

.portfolio-slider-subtitle {
    font-size: 1.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 1rem;
}

.portfolio-slider-description {
    font-size: 1rem;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
}

/* Slider Wrapper */
.slider-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
}

/* Slider Track - Continuous Animation */
.slider-track {
    display: flex;
    gap: 2rem;
    animation: fdMarqueeScroll 45s linear infinite;
    width: fit-content;
    will-change: transform;
}

/* Pause animation on hover */
.slider-track:hover {
    animation-play-state: paused;
}

/* Continuous Scroll Animation */
@keyframes fdMarqueeScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Portfolio Item */
.portfolio-item {
    flex-shrink: 0;
    width: 280px;
}

/* Portfolio Card */
.portfolio-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.portfolio-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Portfolio Image */
.portfolio-image {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.portfolio-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.portfolio-card:hover .portfolio-image img {
    transform: scale(1.1);
}

/* Portfolio Overlay */
.portfolio-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(30, 58, 138, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.portfolio-card:hover .portfolio-overlay {
    opacity: 1;
}

.view-project {
    padding: 0.75rem 1.5rem;
    background: white;
    color: #1e3a8a;
    text-decoration: none;
    border-radius: 25px;
    font-weight: 600;
    transition: all 0.3s ease;
    transform: translateY(20px);
}

.portfolio-card:hover .view-project {
    transform: translateY(0);
}

.view-project:hover {
    background: #fbbf24;
    color: #1e3a8a;
    transform: scale(1.05);
}

/* Portfolio Info */
.portfolio-info {
    padding: 1.25rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.portfolio-badge {
    display: inline-block;
    padding: 0.4rem 0.9rem;
    background: #1e3a8a;
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 15px;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: fit-content;
}

.portfolio-badge.software {
    background: #10b981;
}

.portfolio-badge.mobile {
    background: #7c3aed;
}

.portfolio-badge.branding {
    background: #ec4899;
}

.portfolio-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #374151;
    margin: 0;
}

/* Discover More Button */
.discover-more-container {
    text-align: center;
    margin-top: 3rem;
    padding: 0 2rem;
}

.discover-more-btn {
    display: inline-block;
    padding: 1.25rem 3rem;
    background: #1e3a8a;
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
}

.discover-more-btn:hover {
    background: #1e40af;
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(30, 58, 138, 0.4);
}

/* Animation for header elements */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.portfolio-slider-title {
    animation: fadeInDown 0.6s ease-out;
}

.portfolio-slider-subtitle {
    animation: fadeInDown 0.6s ease-out 0.1s both;
}

.portfolio-slider-description {
    animation: fadeInDown 0.6s ease-out 0.2s both;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .portfolio-slider-title {
        font-size: 2.2rem;
    }
    
    .portfolio-slider-subtitle {
        font-size: 1.6rem;
    }
    
    .portfolio-item {
        width: 260px;
    }
    
    .slider-track {
        animation: fdMarqueeScroll 35s linear infinite;
    }
}

@media (max-width: 768px) {
    .portfolio-slider-section {
        padding: 60px 0;
    }
    
    .portfolio-slider-header {
        margin-bottom: 2rem;
        padding: 0 1rem;
    }
    
    .portfolio-slider-title {
        font-size: 2rem;
    }
    
    .portfolio-slider-subtitle {
        font-size: 1.4rem;
    }
    
    .portfolio-slider-description {
        font-size: 0.95rem;
    }
    
    .portfolio-item {
        width: 240px;
    }
    
    .slider-track {
        gap: 1.5rem;
        animation: fdMarqueeScroll 30s linear infinite;
    }
    
    .discover-more-btn {
        padding: 1rem 2.5rem;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .portfolio-slider-section {
        padding: 50px 0;
    }
    
    .portfolio-slider-title {
        font-size: 1.8rem;
    }
    
    .portfolio-slider-subtitle {
        font-size: 1.2rem;
    }
    
    .portfolio-item {
        width: 220px;
    }
    
    .portfolio-image {
        height: 160px;
    }
    
    .slider-track {
        gap: 1rem;
        animation: fdMarqueeScroll 25s linear infinite;
    }
    
    .discover-more-container {
        margin-top: 2rem;
    }
    
    .discover-more-btn {
        padding: 0.9rem 2rem;
        font-size: 0.95rem;
        width: 90%;
        max-width: 300px;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .slider-track {
        animation: none;
    }
    
    .portfolio-slider-title,
    .portfolio-slider-subtitle,
    .portfolio-slider-description {
        animation: none;
    }
    
    .portfolio-card:hover,
    .view-project:hover,
    .discover-more-btn:hover {
        transform: none;
    }
}

/* Print Styles */
@media print {
    .portfolio-slider-section {
        padding: 40px 0;
    }
    
    .slider-track {
        animation: none;
        flex-wrap: wrap;
    }
    
    .portfolio-item {
        page-break-inside: avoid;
    }
}


/* Footer Styles */
.footer {
    background-color: #1e3a8a;
    color: #a5b8d0;
    padding-top: 4rem;
}

.footer-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Logo and Social Media Section */
.footer-brand {
    margin-bottom: 3rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: baseline;
    max-width: 300px;
}

.logo {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

.logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background-color: none;
    border-radius: 6px;
    margin-right: 0.75rem;
    color: #1e3a5f;
}

.logo-text {
    font-size: 1.1rem;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.social-links {
    display: flex;
    gap: 1rem;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #a5b8d0;
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.social-link:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

/* Footer Links Section */
.footer-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
    padding-bottom: 3rem;
}

.footer-column {
    min-width: 0;
}

.footer-heading {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 1.5rem;
    letter-spacing: 0.3px;
}

.footer-list {
    list-style: none;
}

.footer-list li {
    margin-bottom: 0.75rem;
}

.footer-link {
    color: #a5b8d0;
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
    display: block;
}

.footer-link:hover {
    color: #ffffff;
}

/* Footer Bottom Section */
.footer-bottom {
    padding: 0.5rem 0 3rem 0;
    border-top: 1px solid rgba(165, 184, 208, 0.2);
    max-width: 1200px;
    margin: 0 auto;
}

.footer-bottom-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.copyright {
    font-size: 0.9rem;
    color: #a5b8d0;
}

.footer-bottom-links {
    display: flex;
    gap: 1.5rem;
}

.footer-bottom-link {
    color: #a5b8d0;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.footer-bottom-link:hover {
    color: #ffffff;
}




/* Responsive Design - Large Desktop */
@media (min-width: 1024px) {
    .footer-container {
        padding: 0 3rem;
    }
    
    .footer-links {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}

/* Responsive Design - Tablet */
@media (max-width: 768px) {
    .footer {
        padding-top: 3rem;
    }
    
    .footer-container {
        padding: 0 1.5rem;
    }
    
    .footer-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-bottom: 2rem;
        padding-bottom: 2rem;
    }
    
    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    
    .footer-bottom-links {
        order: -1;
    }
}

/* Responsive Design - Mobile */
@media (max-width: 480px) {
    .footer-container {
        padding: 0 1rem;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .social-links {
        justify-content: center;
    }
    
    .logo {
        justify-content: center;
        text-align: center;
    }
    
    .footer-bottom-links {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    

}

/* Animation Effects */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.footer-column {
    animation: fadeInUp 0.6s ease;
}

.footer-column:nth-child(1) { animation-delay: 0.1s; }
.footer-column:nth-child(2) { animation-delay: 0.2s; }
.footer-column:nth-child(3) { animation-delay: 0.3s; }

/* Focus Styles for Accessibility */
.social-link:focus,
.footer-link:focus,
.footer-bottom-link:focus {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Print Styles */
@media print {
    .footer {
        background-color: transparent !important;
        color: #000 !important;
    }
    
    .social-links {
        display: none;
    }
}

/**About Us Page CSS Styling**/

/* About Us Hero Section */
.about-hero {
    position: relative;
    width: 100%;
    height: 60vh;
    min-height: 400px;
    background-image: url("image/About\ Us\ Banner.jpg") ;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

/* Overlay for better text readability */
.about-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.39);
    z-index: 1;
}

/* Container */
.about-hero-container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
}

/* About Us Title */
.about-hero-title {
    font-size: 5rem;
    font-weight: 700;
    color: #1e3a8a;
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    animation: fadeInUp 1s ease-out;
}

/* Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .about-hero-title {
        font-size: 4.5rem;
    }
}

@media (max-width: 768px) {
    .about-hero {
        height: 50vh;
        min-height: 350px;
        justify-content: center;
        text-align: center;
    }
    
    .about-hero-container {
        padding: 0 1rem;
    }
    
    .about-hero-title {
        font-size: 3.5rem;
    }
}

@media (max-width: 480px) {
    .about-hero {
        height: 45vh;
        min-height: 300px;
    }
    
    .about-hero-title {
        font-size: 2.8rem;
    }
}

/* Alternative background images for variety */
@media (max-width: 768px) {
    .about-hero {
        background-image: url('image/About Us Banner.jpg');
        background-position: center center;
    }
}

/* Hover effect for interactive elements */
.about-hero:hover .about-hero-title {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

/* Parallax effect on scroll (optional) */
@media (prefers-reduced-motion: no-preference) {
    .about-hero {
        background-attachment: fixed;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .about-hero-overlay {
        background: rgba(0, 0, 0, 0.5);
    }
    
    .about-hero-title {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    }
}

/* About Text Section 2nd Section */
.about-text-section {
    padding: 80px 0;
    background: #ffffff;
    min-height: 70vh;
    display: flex;
    align-items: center;
}

.about-text-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Main Heading */
.about-main-heading {
    font-size: 3.2rem;
    font-weight: 700;
    color: #374151;
    line-height: 1.2;
    margin-bottom: 3rem;
    letter-spacing: -0.01em;
}

/* Content Container */
.about-content {
    margin-top: 2rem;
}

/* Paragraphs */
.about-paragraph {
    font-size: 1.3rem;
    color: #374151;
    line-height: 1.7;
    margin-bottom: 2rem;
    font-weight: 400;
    text-align: left;
}

.about-paragraph:last-child {
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .about-main-heading {
        font-size: 2.8rem;
        margin-bottom: 2.5rem;
    }
    
    .about-paragraph {
        font-size: 1.2rem;
        margin-bottom: 1.8rem;
    }
}

@media (max-width: 768px) {
    .about-text-section {
        padding: 60px 0;
    }
    
    .about-text-container {
        padding: 0 1.5rem;
    }
    
    .about-main-heading {
        font-size: 2.3rem;
        margin-bottom: 2rem;
        line-height: 1.3;
    }
    
    .about-paragraph {
        font-size: 1.1rem;
        margin-bottom: 1.5rem;
        line-height: 1.6;
    }
}

@media (max-width: 480px) {
    .about-text-section {
        padding: 50px 0;
    }
    
    .about-text-container {
        padding: 0 1rem;
    }
    
    .about-main-heading {
        font-size: 1.9rem;
        margin-bottom: 1.5rem;
        line-height: 1.4;
    }
    
    .about-paragraph {
        font-size: 1rem;
        margin-bottom: 1.2rem;
        line-height: 1.6;
    }
}

/* Animation Effects */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.about-main-heading {
    animation: fadeInUp 0.8s ease-out;
}

.about-paragraph {
    animation: fadeInUp 0.8s ease-out both;
}

.about-paragraph:nth-child(1) {
    animation-delay: 0.2s;
}

.about-paragraph:nth-child(2) {
    animation-delay: 0.4s;
}

.about-paragraph:nth-child(3) {
    animation-delay: 0.6s;
}

/* Typography Enhancement */
.about-main-heading {
    word-spacing: 0.05em;
}

.about-paragraph {
    word-spacing: 0.02em;
}

/* Print Styles */
@media print {
    .about-text-section {
        padding: 40px 0;
    }
    
    .about-main-heading {
        font-size: 2rem;
        color: #000;
    }
    
    .about-paragraph {
        font-size: 1rem;
        color: #000;
        margin-bottom: 1rem;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .about-main-heading,
    .about-paragraph {
        color: #000;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .about-main-heading,
    .about-paragraph {
        animation: none;
    }
}

/** Who we are Section **/
       .who-we-are-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .who-we-are {
            padding: 80px 0;
            background: #d1d5db;
            position: relative;
        }

        .content-wrapper {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .image-container {
            position: relative;
            animation: fadeInLeft 1s ease-out;
        }

        .image-frame {
            background: white;
            padding: 20px;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            position: relative;
            overflow: hidden;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .image-frame:hover {
            transform: translateY(-8px);
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
        }

        .image-frame img {
            width: 100%;
            height: auto;
            border-radius: 12px;
            display: block;
            position: relative;
            z-index: 1;
        }

        .image-overlay {
            position: absolute;
            top: 20px;
            left: 20px;
            right: 20px;
            bottom: 20px;
            background: linear-gradient(135deg, rgba(30, 58, 138, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%);
            border-radius: 12px;
            pointer-events: none;
            z-index: 2;
            opacity: 0;
            transition: opacity 0.4s ease;
        }

        .image-frame:hover .image-overlay {
            opacity: 1;
        }

        .text-container {
            padding: 40px;
            background: white;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
            position: relative;
            animation: fadeInRight 1s ease-out;
        }

        .text-container::before {
            content: '';
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background: linear-gradient(135deg, #1e3a8a, #3b82f6);
            border-radius: 20px;
            z-index: -1;
            opacity: 0;
            transition: opacity 0.4s ease;
        }

        .text-container:hover::before {
            opacity: 0.1;
        }

        .section-title {
            font-size: 3.5rem;
            font-weight: 800;
            color: #1e3a8a;
            margin-bottom: 1.5rem;
            letter-spacing: -0.02em;
            line-height: 1.1;
        }

        .section-description {
            font-size: 1.125rem;
            line-height: 1.8;
            color: #374151;
            font-weight: 400;
        }

        @keyframes fadeInLeft {
            from {
                opacity: 0;
                transform: translateX(-50px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes fadeInRight {
            from {
                opacity: 0;
                transform: translateX(50px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @media (max-width: 1024px) {
            .content-wrapper {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .section-title {
                font-size: 2.5rem;
            }

            .text-container {
                padding: 30px;
            }

            .who-we-are {
                padding: 60px 0;
            }
        }

        @media (max-width: 768px) {
            .section-title {
                font-size: 2rem;
            }

            .section-description {
                font-size: 1rem;
            }

            .text-container {
                padding: 25px;
            }

            .image-frame {
                padding: 15px;
            }

            .who-we-are {
                padding: 40px 0;
            }
        }

        @media (max-width: 480px) {
            .section-title {
                font-size: 1.75rem;
            }

            .content-wrapper {
                gap: 30px;
            }
        }

        /** Our Vision **/
       .our-vision-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .our-vision {
            padding: 80px 0;
            background: #0D2C54;
            position: relative;
        }

         /** Our Mission **/
       .our-mission-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .our-mission {
            padding: 80px 0;
            background: #ffffff;
            position: relative;
        }

        /** Meet The Team **/
         .meet-team-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px;
            background: #d1d5db;
        }

        .meet-team {
            padding: 80px 0;
        }

        .team-title {
            font-size: 3rem;
            font-weight: 800;
            color: #1e3a8a;
            text-align: center;
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .team-subtitle {
            font-size: 1.125rem;
            color: #374151;
            text-align: center;
            max-width: 700px;
            margin: 0 auto 4rem;
            line-height: 1.7;
        }

        .team-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            max-width: 1100px;
            margin: 0 auto;
        }

        .team-card {
            background: white;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: all 0.4s ease;
            position: relative;
        }

        .team-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 50px rgba(30, 58, 138, 0.2);
        }

        .team-image {
            position: relative;
            width: 100%;
            height: 280px;
            overflow: hidden;
        }

        .team-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease;
        }

        .team-card:hover .team-image img {
            transform: scale(1.1);
        }

        .image-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(180deg, rgba(30, 58, 138, 0) 0%, rgba(30, 58, 138, 0.3) 100%);
            opacity: 0;
            transition: opacity 0.4s ease;
        }

        .team-card:hover .image-overlay {
            opacity: 1;
        }

        .team-info {
            padding: 1.5rem;
            text-align: center;
        }

        .social-links {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-bottom: 1rem;
        }

        .social-icon {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background: #1e3a8a;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .social-icon:hover {
            background: #3b82f6;
            transform: translateY(-3px);
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
        }

        .team-name {
            font-size: 1.375rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 0.5rem;
        }

        .team-role {
            font-size: 1rem;
            color: #6b7280;
            font-weight: 500;
        }

        @media (max-width: 1024px) {
            .team-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 25px;
            }

            .team-title {
                font-size: 2.5rem;
            }
        }

        @media (max-width: 768px) {
            .team-grid {
                grid-template-columns: 1fr;
                max-width: 400px;
            }

            .team-title {
                font-size: 2rem;
            }

            .team-subtitle {
                font-size: 1rem;
                margin-bottom: 3rem;
            }

            .meet-team {
                padding: 60px 0;
            }

            .team-image {
                height: 320px;
            }
        }

        @media (max-width: 480px) {
            .team-title {
                font-size: 1.75rem;
            }

            .team-image {
                height: 280px;
            }

            .team-name {
                font-size: 1.25rem;
            }

            .team-role {
                font-size: 0.9375rem;
            }
        }

        /** Contact CTA **/

        .cta-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 30px;
        }

        .contact-cta {
            background: white;
            padding: 40px 20px 40px 20px;
            margin-bottom: 40px;
            position: relative;
        }

        .border-line {
            height: 2px;
            background: #21272A;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 1200px;
        }

        .top-line {
            top: 0;
        }

        .bottom-line {
            bottom: 0;
        }

        .cta-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 40px;
        }

        .cta-text {
            flex: 1;
        }

        .cta-question {
            font-size: 1.125rem;
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 0.25rem;
        }

        .cta-message {
            font-size: 1.125rem;
            color: #6b7280;
            font-weight: 400;
        }

        .cta-button-wrapper {
            flex-shrink: 0;
        }

        .cta-button {
            display: inline-block;
            padding: 14px 40px;
            background: #1e3a8a;
            color: white;
            text-decoration: none;
            border-radius: 100px;
            font-size: 1rem;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.2);
        }

        .cta-button:hover {
            background: #1e40af;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(30, 58, 138, 0.3);
        }

        .cta-button:active {
            transform: translateY(0);
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.2);
        }

        @media (max-width: 768px) {
            .cta-content {
                flex-direction: column;
                text-align: center;
                gap: 30px;
            }

            .cta-question,
            .cta-message {
                font-size: 1rem;
            }

            .contact-cta {
                padding: 40px 0;
            }

            .cta-button {
                padding: 12px 32px;
                font-size: 0.9375rem;
            }

            .border-line {
                width: 85%;
            }
        }

        @media (max-width: 480px) {
            .cta-question,
            .cta-message {
                font-size: 0.9375rem;
            }

            .cta-button {
                width: 100%;
                max-width: 300px;
            }
        }

        /* About Us Animation */

        /* Base animation states - elements start invisible */
        .animate-on-scroll {
            opacity: 0;
            transform: translate3d(0, 2.5rem, 0);
            transition:
                opacity var(--fd-reveal-duration, 0.72s) var(--fd-ease-out, ease-out),
                transform var(--fd-reveal-duration, 0.72s) var(--fd-ease-out, ease-out);
        }

        .animate-on-scroll.fade-in-up {
            opacity: 0;
            transform: translate3d(0, 2.5rem, 0);
        }

        .animate-on-scroll.fade-in-left {
            opacity: 0;
            transform: translate3d(-2.5rem, 0, 0);
        }

        .animate-on-scroll.fade-in-right {
            opacity: 0;
            transform: translate3d(2.5rem, 0, 0);
        }

        .animate-on-scroll.fade-in {
            opacity: 0;
            transform: translate3d(0, 0, 0) scale(0.96);
        }

        .animate-on-scroll.zoom-in {
            opacity: 0;
            transform: translate3d(0, 0, 0) scale(0.88);
        }

        /* Active state when element is in view */
        .animate-on-scroll.animated {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
        }

        /* Stagger animations for multiple elements */
        .animate-on-scroll.delay-1 {
            transition-delay: 0.1s;
        }

        .animate-on-scroll.delay-2 {
            transition-delay: 0.2s;
        }

        .animate-on-scroll.delay-3 {
            transition-delay: 0.3s;
        }

        .animate-on-scroll.delay-4 {
            transition-delay: 0.4s;
        }

        .animate-on-scroll.delay-5 {
            transition-delay: 0.5s;
        }

        /* Specific element animations */
        .team-card {
            opacity: 0;
            transform: translate3d(0, 1.5rem, 0);
            transition:
                opacity 0.65s var(--fd-ease-out, ease-out),
                transform 0.65s var(--fd-ease-out, ease-out);
        }

        .team-card.animated {
            opacity: 1;
            transform: translateY(0);
        }

        /* Smooth transitions for all animated elements */
        .animate-on-scroll,
        .team-card,
        .image-frame,
        .text-container {
            will-change: transform, opacity;
        }

        /* Performance optimization */
        @media (prefers-reduced-motion: reduce) {
            .animate-on-scroll,
            .team-card,
            .image-frame,
            .text-container {
                animation: none !important;
                transition: none !important;
                opacity: 1 !important;
                transform: none !important;
            }

            .fade-in,
            .fade-in.delay-1,
            .fade-in.delay-2,
            .fade-in.delay-3 {
                animation: none !important;
                opacity: 1 !important;
                transform: none !important;
            }
        }

        /* Portfolio Header Section */
        .portfolio-header-section {
            margin-top: 6.5rem;
            position: relative;
            padding: 80px 0 80px 0;
            background: #e5e7eb;
            overflow: hidden;
            max-height: 304px;
        }

        .portfolio-header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* Portfolio Section */
        .portfolio-section {
            position: relative;
            padding: 80px 0 100px;
            background: #fff;
            overflow: hidden;
        }

        .portfolio-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* Decorative Elements */
        .decorative-circle {
            position: absolute;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: float 6s ease-in-out infinite;
        }

        .decorative-circle.top-left {
            top: 0;
            left: 20px;
        }

        .decorative-circle.bottom-right {
            bottom: -90px;
            right: -30px;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
        }

        .circle-outer {
            position: absolute;
            width: 60px;
            height: 60px;
            background: #0D2C54;
            border-radius: 50%;
            z-index: 1;
        }

        .circle-middle {
            position: absolute;
            width: 45px;
            height: 45px;
            background: #FFDD55;
            border-radius: 50%;
            z-index: 2;
        }

        .circle-inner {
            position: absolute;
            width: 22px;
            height: 22px;
            background: #FF004F;
            border-radius: 50%;
            z-index: 3;
        }

        .decorative-wave {
            position: absolute;
            bottom: 100px;
            right: 100px;
            width: 180px;
            height: 180px;
            z-index: 1;
        }

        .wave-svg {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 150px;
            right: -30px;
        }

        .wave-path {
            stroke-dasharray: 5, 5;
            animation: dash 20s linear infinite;
        }

        @keyframes dash {
            to { stroke-dashoffset: -100; }
        }

        /* Header Section */
        .portfolio-header {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 3rem;
            opacity: 0;
            animation: fadeInDown 0.8s ease-out forwards;
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .dotted-line-left,
        .dotted-line-right {
            flex: 1;
            height: 2px;
            background-image: linear-gradient(to right, #3b82f6 50%, transparent 50%);
            background-size: 15px 2px;
            background-repeat: repeat-x;
            max-width: 150px;
        }

        .portfolio-title {
            font-size: 3rem;
            font-weight: 700;
            color: #1e3a8a;
            white-space: nowrap;
            text-align: center;
        }

        /* Tabs */
        .portfolio-tabs {
            display: flex;
            justify-content: center;
            gap: 1rem;
            margin-bottom: 3rem;
            flex-wrap: wrap;
            opacity: 0;
            animation: fadeInUp 0.8s ease-out 0.2s forwards;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .tab-btn {
            padding: 0.75rem 1.5rem;
            background: white;
            border: 2px solid transparent;
            border-radius: 25px;
            font-size: 0.95rem;
            font-weight: 600;
            color: #374151;
            cursor: pointer;
            transition: all 0.3s ease;
            font-family: inherit;
        }

        .tab-btn:hover {
            background: #f3f4f6;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        }

        .tab-btn.active {
            background: #0D2C54;
            color: white;
            border-color: #0D2C54;
            box-shadow: 0 5px 20px rgba(124, 58, 237, 0.3);
        }

        /* Portfolio Grid */
        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
            margin-bottom: 3rem;
        }

        .portfolio-item {
            opacity: 0;
            animation: fadeInScale 0.6s ease-out forwards;
        }

        @keyframes fadeInScale {
            from {
                opacity: 0;
                transform: scale(0.9);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .portfolio-item:nth-child(1) { animation-delay: 0.1s; }
        .portfolio-item:nth-child(2) { animation-delay: 0.2s; }
        .portfolio-item:nth-child(3) { animation-delay: 0.3s; }
        .portfolio-item:nth-child(4) { animation-delay: 0.4s; }
        .portfolio-item:nth-child(5) { animation-delay: 0.5s; }
        .portfolio-item:nth-child(6) { animation-delay: 0.6s; }
        .portfolio-item:nth-child(7) { animation-delay: 0.7s; }
        .portfolio-item:nth-child(8) { animation-delay: 0.8s; }
        .portfolio-item:nth-child(9) { animation-delay: 0.9s; }
        .portfolio-item:nth-child(10) { animation-delay: 1s; }
        .portfolio-item:nth-child(11) { animation-delay: 1.1s; }
        .portfolio-item:nth-child(12) { animation-delay: 1.2s; }

        .portfolio-item.hidden {
            display: none;
        }


        /* Portfolio Card */
        .portfolio-card {
            background: white;
            border-radius: 0px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .portfolio-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
        }

        .portfolio-image {
            position: relative;
            width: 100%;
            height: 220px;
            overflow: hidden;
        }

        .portfolio-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .portfolio-card:hover .portfolio-image img {
            transform: scale(1.1);
        }

        .portfolio-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(30, 58, 138, 0.9);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .portfolio-card:hover .portfolio-overlay {
            opacity: 1;
        }

        .view-project {
            padding: 0.75rem 1.5rem;
            background: white;
            color: #1e3a8a;
            text-decoration: none;
            border-radius: 25px;
            font-weight: 600;
            transition: all 0.3s ease;
            transform: translateY(20px);
        }

        .portfolio-card:hover .view-project {
            transform: translateY(0);
        }

        .view-project:hover {
            background: #fbbf24;
            color: #1e3a8a;
            transform: scale(1.05);
        }

        /* Portfolio Info */
        .portfolio-info {
            padding: 1.25rem;
        }

        .portfolio-badge {
            display: inline-block;
            padding: 0.4rem 0.9rem;
            background: #1e3a8a;
            color: white;
            font-size: 0.75rem;
            font-weight: 600;
            border-radius: 15px;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .portfolio-badge.mobile {
            background: #7c3aed;
        }

        .portfolio-badge.software {
            background: #10b981;
        }

        .portfolio-badge.branding {
            background: #ec4899;
        }

        .portfolio-name {
            font-size: 1.1rem;
            font-weight: 600;
            color: #374151;
            margin: 0;
        }

        /* View All Button */
        .view-all-container {
            text-align: center;
            margin-top: 3rem;
            opacity: 0;
            animation: fadeInUp 0.8s ease-out 0.5s forwards;
        }

        .view-all-btn {
            display: inline-block;
            padding: 1rem 2.5rem;
            background: #1e3a8a;
            color: white;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1rem;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
        }

        .view-all-btn:hover {
            background: #1e40af;
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(30, 58, 138, 0.4);
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .portfolio-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 1.5rem;
            }
            
            .portfolio-title {
                font-size: 2.5rem;
            }
        }

        @media (max-width: 768px) {
            .portfolio-section {
                padding: 60px 0 80px;
            }
            
            .portfolio-container {
                padding: 0 1rem;
            }
            
            .portfolio-header {
                gap: 1rem;
                margin-bottom: 2rem;
            }
            
            .portfolio-title {
                font-size: 2rem;
            }
            
            .dotted-line-left,
            .dotted-line-right {
                max-width: 80px;
            }
            
            .portfolio-tabs {
                gap: 0.75rem;
                margin-bottom: 2rem;
            }
            
            .tab-btn {
                padding: 0.6rem 1.2rem;
                font-size: 0.85rem;
            }
            
            .portfolio-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.25rem;
            }
            
            .portfolio-image {
                height: 180px;
            }
            
            .decorative-circle {
                width: 50px;
                height: 50px;
            }
            
            .circle-outer {
                width: 50px;
                height: 50px;
            }
            
            .circle-middle {
                width: 38px;
                height: 38px;
            }
            
            .circle-inner {
                width: 18px;
                height: 18px;
            }
            
            .decorative-wave {
                width: 120px;
                height: 120px;
                bottom: 60px;
                right: 60px;
            }
        }

        @media (max-width: 480px) {
            .portfolio-title {
                font-size: 1.8rem;
            }
            
            .portfolio-tabs {
                flex-direction: column;
                align-items: stretch;
            }
            
            .tab-btn {
                width: 100%;
                text-align: center;
            }
            
            .portfolio-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }
            
            .portfolio-image {
                height: 200px;
            }
            
            .dotted-line-left,
            .dotted-line-right {
                display: none;
            }
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            .portfolio-item,
            .portfolio-header,
            .portfolio-tabs,
            .view-all-container,
            .decorative-circle {
                animation: none;
                opacity: 1;
            }
            
            .portfolio-card:hover,
            .view-project:hover,
            .tab-btn:hover {
                transform: none;
            }
        }

        /* Services Page */

        /* Our Services Header Section */
        .services-header-section {
            margin-top: 120px;
            padding: 80px 0 60px;
            background: #ffffff;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .services-header-container {
            max-width: 900px;
            margin: 0 auto;
            padding: 0 2rem;
            text-align: center;
        }

        

        /* Title */
        .services-header-title {
            font-size: 4rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 1.5rem;
            line-height: 1.2;
            letter-spacing: -0.02em;
        }

        /* Description */
        .services-header-description {
            font-size: 1.3rem;
            color: #374151;
            line-height: 1.7;
            font-weight: 400;
            max-width: 800px;
            margin: 0 auto;
        }

        /* Animation Effects */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .services-header-title {
            animation: fadeInUp 0.8s ease-out;
        }

        .services-header-description {
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .services-header-title {
                font-size: 3.5rem;
            }
            
            .services-header-description {
                font-size: 1.2rem;
            }
        }

        @media (max-width: 768px) {
            .services-header-section {
                padding: 60px 0 50px;
            }
            
            .services-header-container {
                padding: 0 1.5rem;
            }
            
            .services-header-title {
                font-size: 2.8rem;
                margin-bottom: 1.25rem;
            }
            
            .services-header-description {
                font-size: 1.1rem;
                line-height: 1.6;
            }
        }

        @media (max-width: 480px) {
            .services-header-section {
                padding: 50px 0 40px;
            }
            
            .services-header-container {
                padding: 0 1rem;
            }
            
            .services-header-title {
                font-size: 2.2rem;
                margin-bottom: 1rem;
            }
            
            .services-header-description {
                font-size: 1rem;
                line-height: 1.6;
            }
        }

        /* High Contrast Mode */
        @media (prefers-contrast: high) {
            .services-header-title {
                color: #000;
            }
            
            .services-header-description {
                color: #000;
            }
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            .services-header-title,
            .services-header-description {
                animation: none;
            }
        }

        /* Print Styles */
        @media print {
            .services-header-section {
                padding: 40px 0 30px;
            }
            
            .services-header-title {
                font-size: 2.5rem;
                color: #000;
            }
            
            .services-header-description {
                font-size: 1rem;
                color: #000;
            }
        }

        /* Service Detail Section */
        .service-detail-section {
            position: relative;
            padding: 30px 0;
            background: #ffffff;
            overflow: hidden;
        }

        .service-detail-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 3rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            position: relative;
        }

        /* Left Content */
        .service-detail-content {
            padding-right: 2rem;
            z-index: 2;
            background: white;
        }

        .service-detail-title {
            font-size: 3.5rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 1.5rem;
            line-height: 1.2;
            letter-spacing: -0.02em;
        }

        .service-detail-description {
            font-size: 1.05rem;
            color: #374151;
            line-height: 1.7;
            font-weight: 400;
        }

        /* Right Image */
        .service-detail-image {
            position: relative;
            z-index: 2;
            background: white;
            padding-left: 2rem;
        }

        .service-detail-image img {
            width: 100%;
            height: auto;
            border-radius: 15px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
        }

        .service-detail-image:hover img {
            transform: scale(1.02);
        }

        /* Image Badge */
        .image-badge {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: #3b82f6;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            display: flex;
            gap: 1rem;
            align-items: center;
            box-shadow: 0 5px 20px rgba(59, 130, 246, 0.4);
            z-index: 3;
        }

        .badge-views,
        .badge-tag {
            color: white;
            font-size: 0.85rem;
            font-weight: 600;
        }

        .badge-views {
            position: relative;
            padding-right: 1rem;
        }

        .badge-views::after {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 12px;
            background: rgba(255, 255, 255, 0.5);
        }

        /* Animation Effects */
        @keyframes fadeInLeft {
            from {
                opacity: 0;
                transform: translateX(-30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes fadeInRight {
            from {
                opacity: 0;
                transform: translateX(30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .service-detail-content {
            animation: fadeInLeft 0.8s ease-out;
        }

        .service-detail-image {
            animation: fadeInRight 0.8s ease-out 0.2s both;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .service-detail-container {
                gap: 3rem;
                padding: 2.5rem;
            }
            
            .service-detail-title {
                font-size: 3rem;
            }
            
            .service-detail-description {
                font-size: 1rem;
            }
        }

        @media (max-width: 768px) {
            .service-detail-section {
                padding: 40px 0;
            }
            
            .service-detail-container {
                grid-template-columns: 1fr;
                gap: 2rem;
                padding: 2rem;
                margin: 0 1rem;
            }
            
            .vertical-dotted-line {
                display: none;
            }
            
            .service-detail-content {
                padding-right: 0;
            }
            
            .service-detail-image {
                padding-left: 0;
            }
            
            .service-detail-title {
                font-size: 2.5rem;
                margin-bottom: 1.25rem;
            }
            
            .service-detail-description {
                font-size: 1rem;
                line-height: 1.6;
            }
            
            .image-badge {
                bottom: 15px;
            }
        }

        @media (max-width: 480px) {
            .service-detail-container {
                padding: 1.5rem;
                margin: 0 0.5rem;
            }
            
            .service-detail-title {
                font-size: 2rem;
                margin-bottom: 1rem;
            }
            
            .service-detail-description {
                font-size: 0.95rem;
            }
            
            .image-badge {
                padding: 0.4rem 0.8rem;
                gap: 0.75rem;
            }
            
            .badge-views,
            .badge-tag {
                font-size: 0.75rem;
            }
        }

        /* High Contrast Mode */
        @media (prefers-contrast: high) {
            .service-detail-container {
                border-color: #000;
            }
            
            .service-detail-title {
                color: #000;
            }
            
            .service-detail-description {
                color: #000;
            }
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            .service-detail-content,
            .service-detail-image {
                animation: none;
            }
            
            .service-detail-image:hover img {
                transform: none;
            }
        }

        /* Print Styles */
        @media print {
            .service-detail-section {
                padding: 30px 0;
            }
            
            .service-detail-container {
                border: 1px solid #000;
                padding: 2rem;
            }
            
            .service-detail-title {
                font-size: 2rem;
                color: #000;
            }
            
            .service-detail-description {
                font-size: 0.9rem;
                color: #000;
            }
            
            .image-badge {
                display: none;
            }
            
            .vertical-dotted-line {
                display: none;
            }
        }

        /* Services Call to Action Section */
        .cta-section {
            padding: 50px 2rem;
            background: #fff;
        }

        .cta-container-new {
            max-width: 1120px;
            margin: 0 auto;
            background: linear-gradient(135deg, #1e293b 0%, #475569 50%, #64748b 100%);
            border-radius: 30px;
            padding: 80px 60px;
            position: relative;
            overflow: hidden;
        }

        .cta-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 3rem;
            position: relative;
            z-index: 2;
        }

        /* Title */
        .cta-title {
            font-size: 2rem;
            font-weight: 700;
            color: #ffffff;
            line-height: 1.3;
            max-width: 443px;
            letter-spacing: -0.02em;
        }

        /* Button */
        .cta-button {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            padding: 1.25rem 2.5rem;
            background: #1e3a8a;
            color: #ffffff;
            text-decoration: none;
            border-radius: 100px;
            font-size: 1.1rem;
            font-weight: 600;
            transition: all 0.3s ease;
            white-space: nowrap;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .cta-button:hover {
            background: #1e40af;
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
        }

        .cta-button:active {
            transform: translateY(-1px);
        }

        .phone-icon {
            width: 20px;
            height: 20px;
            color: #ffffff;
            transition: transform 0.3s ease;
        }

        .cta-button:hover .phone-icon {
            transform: rotate(15deg);
        }

        /* Animation Effects */
        @keyframes fadeInScale {
            from {
                opacity: 0;
                transform: scale(0.95);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .cta-container {
            animation: fadeInScale 0.8s ease-out;
        }

        @keyframes slideInLeft {
            from {
                opacity: 0;
                transform: translateX(-30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes slideInRight {
            from {
                opacity: 0;
                transform: translateX(30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .cta-title {
            animation: slideInLeft 0.8s ease-out 0.2s both;
        }

        .cta-button {
            animation: slideInRight 0.8s ease-out 0.4s both;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .cta-container {
                padding: 60px 50px;
            }
            
            .cta-title {
                font-size: 2.5rem;
            }
            
            .cta-button {
                padding: 1.1rem 2rem;
                font-size: 1rem;
            }
        }

        @media (max-width: 768px) {
            .cta-section {
                padding: 60px 1rem;
            }
            
            .cta-container {
                padding: 50px 40px;
                border-radius: 25px;
            }
            
            .cta-content {
                flex-direction: column;
                text-align: center;
                gap: 2rem;
            }
            
            .cta-title {
                font-size: 2.2rem;
                max-width: 100%;
            }
            
            .cta-button {
                width: 100%;
                max-width: 300px;
                justify-content: center;
            }
        }

        @media (max-width: 480px) {
            .cta-section {
                padding: 50px 0.75rem;
            }
            
            .cta-container {
                padding: 40px 30px;
                border-radius: 20px;
            }
            
            .cta-title {
                font-size: 1.8rem;
                line-height: 1.4;
            }
            
            .cta-button {
                padding: 1rem 1.75rem;
                font-size: 0.95rem;
                max-width: 100%;
            }
        }

        /* High Contrast Mode */
        @media (prefers-contrast: high) {
            .cta-container {
                background: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #333333 100%);
                border: 2px solid #ffffff;
            }
            
            .cta-button {
                border: 2px solid #ffffff;
            }
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            .cta-container,
            .cta-title,
            .cta-button {
                animation: none;
            }
            
            .cta-button:hover,
            .cta-button:hover .phone-icon {
                transform: none;
            }
        }

        /* Print Styles */
        @media print {
            .cta-section {
                padding: 40px 0;
            }
            
            .cta-container {
                background: #333333;
                padding: 40px;
                border-radius: 15px;
            }
            
            .cta-title {
                font-size: 1.5rem;
            }
            
            .cta-button {
                background: #1e3a8a;
                padding: 0.75rem 1.5rem;
                font-size: 0.9rem;
            }
        }


        /* Contact Us Page */
        /* Contact Cards Section */
        .contact-cards-section {
            padding: 80px 2rem;
        }

        .contact-cards-container {
            background: #0D2C54;
            padding: 50px 4rem;
            max-width: 1120px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }

        /* Contact Card */
        .contact-card {
            background: #ffffff;
            padding: 3rem 2rem;
            border-radius: 20px;
            text-align: center;
            transition: all 0.3s ease;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
        }

        .contact-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
        }

        /* Contact Icon */
        .contact-icon {
            width: 60px;
            height: 60px;
            background: #f1f5f9;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem;
            color: #1e3a8a;
            transition: all 0.3s ease;
        }

        .contact-card:hover .contact-icon {
            background: #1e3a8a;
            color: #ffffff;
            transform: scale(1.1);
        }

        /* Contact Title */
        .contact-title {
            font-size: 1.5rem;
            font-weight: 600;
            color: #1e293b;
            margin-bottom: 1rem;
        }

        /* Contact Detail */
        .contact-detail {
            font-size: 1rem;
            color: #64748b;
            line-height: 1.6;
            font-weight: 400;
        }

        /* Animation Effects */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .contact-card {
            animation: fadeInUp 0.6s ease-out both;
        }

        .contact-card:nth-child(1) {
            animation-delay: 0.1s;
        }

        .contact-card:nth-child(2) {
            animation-delay: 0.2s;
        }

        .contact-card:nth-child(3) {
            animation-delay: 0.3s;
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .contact-cards-container {
                gap: 1.5rem;
            }
            
            .contact-card {
                padding: 2.5rem 1.75rem;
            }
            
            .contact-title {
                font-size: 1.3rem;
            }
            
            .contact-detail {
                font-size: 0.95rem;
            }
        }

        @media (max-width: 768px) {
            .contact-cards-section {
                padding: 60px 1rem;
            }
            
            .contact-cards-container {
                grid-template-columns: 1fr;
                gap: 1.5rem;
                max-width: 500px;
            }
            
            .contact-card {
                padding: 2.5rem 2rem;
            }
        }

        @media (max-width: 480px) {
            .contact-cards-section {
                padding: 50px 0.75rem;
            }
            
            .contact-card {
                padding: 2rem 1.5rem;
            }
            
            .contact-icon {
                width: 50px;
                height: 50px;
                margin-bottom: 1.25rem;
            }
            
            .contact-icon svg {
                width: 20px;
                height: 20px;
            }
            
            .contact-title {
                font-size: 1.2rem;
                margin-bottom: 0.75rem;
            }
            
            .contact-detail {
                font-size: 0.9rem;
            }
        }

        /* High Contrast Mode */
        @media (prefers-contrast: high) {
            .contact-cards-section {
                background: #000000;
            }
            
            .contact-card {
                border: 2px solid #333333;
            }
            
            .contact-title {
                color: #000000;
            }
            
            .contact-detail {
                color: #333333;
            }
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            .contact-card {
                animation: none;
            }
            
            .contact-card:hover,
            .contact-card:hover .contact-icon {
                transform: none;
            }
        }

        /* Print Styles */
        @media print {
            .contact-cards-section {
                padding: 40px 0;
                background: #ffffff;
            }
            
            .contact-cards-container {
                display: block;
            }
            
            .contact-card {
                page-break-inside: avoid;
                margin-bottom: 2rem;
                box-shadow: none;
                border: 1px solid #000000;
            }
            
            .contact-icon {
                background: #e5e7eb;
            }
            
            .contact-title {
                color: #000000;
            }
            
            .contact-detail {
                color: #000000;
            }
        }

        /* Contact Form Style */
        .contact-section {
            padding: 80px 0;
            background: #e5e7eb;
        }

        .contact-container {
            max-width: 1120px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .contact-header {
            text-align: center;
            margin-bottom: 60px;
        }

        .contact-title {
            font-size: 2.5rem;
            font-weight: 800;
            color: #1f2937;
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
        }

        .contact-subtitle {
            font-size: 1.125rem;
            color: #1f2937;
            font-weight: 400;
        }

        .contact-content {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 50px;
            align-items: start;
        }

        .contact-image {
            position: relative;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            height: 100%;
            min-height: 500px;
        }

        .contact-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        } 

        .contact-form-wrapper {
            background: white;
            padding: 40px;
            border-radius: 16px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
        }

        .form-title {
            font-size: 1.875rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 0.5rem;
        }

        .form-subtitle {
            font-size: 0.9375rem;
            color: #6b7280;
            margin-bottom: 2rem;
        }

        .contact-form {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .form-group {
            display: flex;
            flex-direction: column;
        }

        .form-input,
        .form-textarea {
            width: 100%;
            padding: 14px 18px;
            border: 1px solid #d1d5db;
            border-radius: 8px;
            font-size: 0.9375rem;
            font-family: inherit;
            transition: all 0.3s ease;
            background: white;
            color: #1f2937;
        }

        .form-input:focus,
        .form-textarea:focus {
            outline: none;
            border-color: #1e3a8a;
            box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1);
        }

        .form-input::placeholder,
        .form-textarea::placeholder {
            color: #9ca3af;
        }

        .form-textarea {
            resize: vertical;
            min-height: 120px;
        }

        .submit-button {
            width: 100%;
            padding: 16px;
            background: #1e3a8a;
            color: white;
            border: none;
            border-radius: 100px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
            margin-top: 10px;
        }

        .submit-button:hover {
            background: #1e40af;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(30, 58, 138, 0.4);
        }

        .submit-button:active {
            transform: translateY(0);
        }

        @media (max-width: 1024px) {
            .contact-content {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .contact-image {
                min-height: 400px;
            }
        }

        @media (max-width: 768px) {
            .contact-section {
                padding: 60px 0;
            }

            .contact-title {
                font-size: 2rem;
            }

            .contact-subtitle {
                font-size: 1rem;
            }

            .contact-header {
                margin-bottom: 40px;
            }

            .contact-form-wrapper {
                padding: 30px 20px;
            }

            .form-title {
                font-size: 1.5rem;
            }

            .form-row {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            .contact-image {
                min-height: 350px;
            }

            .contact-badge {
                font-size: 1.125rem;
                padding: 14px 50px;
                bottom: 30px;
            }
        }

        @media (max-width: 480px) {
            .contact-title {
                font-size: 1.75rem;
            }

            .contact-form-wrapper {
                padding: 25px 15px;
            }

            .form-title {
                font-size: 1.375rem;
            }

            .form-subtitle {
                font-size: 0.875rem;
            }

            .contact-badge {
                font-size: 1rem;
                padding: 12px 40px;
                bottom: 20px;
            }
        }

        /* Contact Us Notification Styles */
        .notification {
            position: fixed;
            top: 20px;
            right: 20px;
            padding: 1rem 1.5rem;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            z-index: 9999;
            opacity: 0;
            transform: translateX(400px);
            transition: all 0.3s ease;
            max-width: 400px;
        }

        .notification.show {
            opacity: 1;
            transform: translateX(0);
        }

        .notification-content {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .notification-icon {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            flex-shrink: 0;
        }

        .notification-message {
            font-size: 0.95rem;
            font-weight: 500;
            line-height: 1.4;
        }

        /* Success Notification */
        .notification-success {
            background: #10b981;
            color: white;
        }

        .notification-success .notification-icon {
            background: rgba(255, 255, 255, 0.2);
        }

        /* Error Notification */
        .notification-error {
            background: #ef4444;
            color: white;
        }

        .notification-error .notification-icon {
            background: rgba(255, 255, 255, 0.2);
        }

        /* Button Loading State */
        button[type="submit"]:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .notification {
                top: 10px;
                right: 10px;
                left: 10px;
                max-width: none;
            }
        }

        /* Google Map */

        .location-section {
            padding: 80px 0;
            background: white;
        }

        .location-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }


        .map-wrapper {
            display: grid;
            grid-template-rows: 2fr;
            gap: 40px;
            align-items: start;
        }

        .map-embed {
            width: 100%;
            height: 600px;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            position: relative;
        }

        .map-embed iframe {
            display: block;
        }

        .location-details {
            display: flex;
            flex-direction: column;
            gap: 25px;
            position: sticky;
            top: 20px;
        }

        .directions-button {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: 40%;
            margin: 0 auto 0 auto;
            padding: 16px;
            background: #1e3a8a;
            color: white;
            text-decoration: none;
            border-radius: 100px;
            font-size: 1rem;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
            margin-top: 10px;
        }

        .directions-button:hover {
            background: #1e40af;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(30, 58, 138, 0.4);
        }

        .directions-button svg {
            flex-shrink: 0;
        }

        @media (max-width: 1024px) {
            .map-wrapper {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .map-embed {
                height: 500px;
            }

            .location-details {
                position: static;
            }
        }

        @media (max-width: 768px) {
            .location-section {
                padding: 60px 0;
            }

            .map-embed {
                height: 400px;
            }

            .detail-card {
                padding: 20px;
                gap: 15px;
            }
        }

        @media (max-width: 480px) {
            .location-title {
                font-size: 1.75rem;
            }

            .map-embed {
                height: 350px;
                border-radius: 12px;
            }

            .directions-button {
                padding: 14px;
                width: 100%;
                font-size: 0.9375rem;
            }
        }


        /* Testimonials Section */
        .testimonials-section {
            padding: 80px 0;
            background: #f5f5f5;
        }

        .testimonials-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* Section Header */
        .testimonials-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .testimonials-title {
            font-size: 3rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 1rem;
        }

        .testimonials-subtitle {
            font-size: 1.1rem;
            color: #6b7280;
            max-width: 600px;
            margin: 0 auto;
        }

        /* Filter Tabs */
        .testimonial-tabs {
            display: flex;
            justify-content: center;
            gap: 1rem;
            margin-bottom: 3rem;
            flex-wrap: wrap;
        }

        .testimonial-tab-btn {
            padding: 0.75rem 1.5rem;
            background: white;
            border: 2px solid transparent;
            border-radius: 25px;
            font-size: 0.95rem;
            font-weight: 600;
            color: #374151;
            cursor: pointer;
            transition: all 0.3s ease;
            font-family: inherit;
        }

        .testimonial-tab-btn:hover {
            background: #f3f4f6;
            transform: translateY(-2px);
        }

        .testimonial-tab-btn.active {
            background: #1e3a8a;
            color: white;
            border-color: #1e3a8a;
        }

        /* Testimonials Grid */
        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-bottom: 3rem;
        }

        .testimonial-card {
            background: #1e3a8a;
            border-radius: 20px;
            padding: 2rem;
            color: white;
            transition: all 0.3s ease;
            animation: fadeInUp 0.6s ease-out both;
        }

        .testimonial-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(30, 58, 138, 0.3);
        }

        .testimonial-card.hidden {
            display: none;
        }

        /* Client Profile */
        .client-profile {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .client-avatar {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid rgba(255, 255, 255, 0.2);
        }

        .client-info {
            flex: 1;
        }

        .client-name {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .client-location {
            font-size: 0.875rem;
            opacity: 0.8;
        }

        /* Testimonial Content */
        .testimonial-text {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 1.5rem;
            opacity: 0.95;
        }

        .testimonial-date {
            font-size: 0.875rem;
            opacity: 0.7;
            display: block;
        }

        /* Video Card Styles */
        .video-card {
            padding: 0;
            overflow: hidden;
        }

        .video-wrapper {
            position: relative;
            width: 100%;
            height: 250px;
            background: #000;
            overflow: hidden;
        }

        .video-wrapper video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .play-overlay {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            cursor: pointer;
            transition: all 0.3s ease;
            pointer-events: none;
        }

        .video-wrapper:hover .play-overlay {
            transform: translate(-50%, -50%) scale(1.1);
        }

        .video-card .testimonial-content {
            padding: 1.5rem 2rem 2rem 2rem;
        }

        /* Submit Review Button */
        .submit-review-container {
            text-align: center;
        }

        .submit-review-btn {
            padding: 1rem 2.5rem;
            background: #1e3a8a;
            color: white;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
        }

        .submit-review-btn:hover {
            background: #1e40af;
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(30, 58, 138, 0.4);
        }

        /* Modal Styles */
        .review-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            align-items: center;
            justify-content: center;
            padding: 2rem;
        }

        .review-modal.active {
            display: flex;
        }

        .modal-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(5px);
        }

        .modal-content {
            position: relative;
            background: white;
            border-radius: 20px;
            padding: 3rem;
            max-width: 700px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            animation: modalSlideIn 0.3s ease-out;
        }

        @keyframes modalSlideIn {
            from {
                opacity: 0;
                transform: translateY(-50px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .modal-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            width: 40px;
            height: 40px;
            border: none;
            background: #f3f4f6;
            border-radius: 50%;
            font-size: 1.5rem;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .modal-close:hover {
            background: #e5e7eb;
            transform: rotate(90deg);
        }

        .modal-title {
            font-size: 2rem;
            font-weight: 700;
            color: #1e3a8a;
            margin-bottom: 0.5rem;
        }

        .modal-subtitle {
            font-size: 1rem;
            color: #6b7280;
            margin-bottom: 2rem;
        }

        /* Review Type Selector */
        .review-type-selector {
            display: flex;
            gap: 1rem;
            margin-bottom: 2rem;
        }

        .review-type-btn {
            flex: 1;
            padding: 1rem;
            background: white;
            border: 2px solid #e5e7eb;
            border-radius: 10px;
            font-size: 0.95rem;
            font-weight: 600;
            color: #374151;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        .review-type-btn:hover {
            border-color: #1e3a8a;
            background: #f3f4f6;
        }

        .review-type-btn.active {
            background: #1e3a8a;
            color: white;
            border-color: #1e3a8a;
        }

        .review-type-btn svg {
            stroke-width: 2;
        }

        /* Form Styles */
        .review-form {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        .form-group {
            display: flex;
            flex-direction: column;
        }

        .form-group label {
            font-size: 0.9rem;
            font-weight: 600;
            color: #374151;
            margin-bottom: 0.5rem;
        }

        .form-group input,
        .form-group textarea,
        .form-group select {
            padding: 0.875rem 1rem;
            border: 2px solid #e5e7eb;
            border-radius: 10px;
            font-size: 0.95rem;
            font-family: inherit;
            transition: all 0.3s ease;
        }

        .form-group input:focus,
        .form-group textarea:focus,
        .form-group select:focus {
            outline: none;
            border-color: #1e3a8a;
            box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1);
        }

        .form-group textarea {
            resize: vertical;
        }

        .form-help {
            font-size: 0.85rem;
            color: #6b7280;
            margin-top: 0.5rem;
        }

        /* File Upload */
        .file-upload-wrapper {
            position: relative;
        }

        .file-input {
            position: absolute;
            opacity: 0;
            width: 0;
            height: 0;
        }

        .file-label {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            border: 2px dashed #cbd5e1;
            border-radius: 10px;
            background: #f8f9fa;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .file-label:hover {
            border-color: #1e3a8a;
            background: #f3f4f6;
        }

        .file-label svg {
            margin-bottom: 0.5rem;
            color: #6b7280;
        }

        .file-name {
            font-size: 0.9rem;
            color: #6b7280;
        }

        /* Checkbox Group */
        .checkbox-group {
            margin-top: 0.5rem;
        }

        .checkbox-label {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            cursor: pointer;
            font-size: 0.9rem;
            color: #374151;
        }

        .checkbox-label input[type="checkbox"] {
            margin-top: 0.25rem;
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

        /* Submit Button */
        .submit-btn {
            padding: 1rem 2rem;
            background: #1e3a8a;
            color: white;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        .submit-btn:hover:not(:disabled) {
            background: #1e40af;
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(30, 58, 138, 0.3);
        }

        .submit-btn:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        .btn-loading {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .spinner {
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        /* Animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .testimonial-card:nth-child(1) { animation-delay: 0.1s; }
        .testimonial-card:nth-child(2) { animation-delay: 0.2s; }
        .testimonial-card:nth-child(3) { animation-delay: 0.3s; }
        .testimonial-card:nth-child(4) { animation-delay: 0.4s; }
        .testimonial-card:nth-child(5) { animation-delay: 0.5s; }
        .testimonial-card:nth-child(6) { animation-delay: 0.6s; }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .testimonials-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 1.5rem;
            }
            
            .testimonials-title {
                font-size: 2.5rem;
            }
        }

        @media (max-width: 768px) {
            .testimonials-section {
                padding: 60px 0;
            }
            
            .testimonials-container {
                padding: 0 1rem;
            }
            
            .testimonials-title {
                font-size: 2rem;
            }
            
            .testimonials-subtitle {
                font-size: 1rem;
            }
            
            .testimonials-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .testimonial-tabs {
                flex-direction: column;
                gap: 0.75rem;
            }
            
            .testimonial-tab-btn {
                width: 100%;
            }
            
            .modal-content {
                padding: 2rem 1.5rem;
            }
            
            .modal-title {
                font-size: 1.75rem;
            }
            
            .form-row {
                grid-template-columns: 1fr;
            }
            
            .review-type-selector {
                flex-direction: column;
            }
        }

        @media (max-width: 480px) {
            .testimonials-title {
                font-size: 1.75rem;
            }
            
            .testimonial-card {
                padding: 1.5rem;
            }
            
            .client-avatar {
                width: 50px;
                height: 50px;
            }
            
            .client-name {
                font-size: 1.1rem;
            }
            
            .modal-content {
                padding: 1.5rem 1rem;
                max-height: 95vh;
            }
            
            .modal-close {
                top: 1rem;
                right: 1rem;
                width: 35px;
                height: 35px;
            }
            
            .submit-review-btn {
                width: 100%;
            }
        }

/* ========== Agency UI refresh (uses --fd-* tokens; original hex values preserved) ========== */

.navbar {
    /* Transparent until scrolled — sits over hero/masthead so those sections must bleed to top with padding-top (not margin-top) */
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid transparent;
    box-shadow: none !important;
    padding: 0.75rem 0;
    transition:
        background-color 0.45s var(--fd-ease-out, ease),
        backdrop-filter 0.45s ease,
        box-shadow 0.45s var(--fd-ease-out, ease),
        border-color 0.35s ease;
}

.navbar.navbar--scrolled {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border-bottom-color: rgba(30, 58, 138, 0.09);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.8) inset,
        0 12px 40px rgba(30, 58, 138, 0.07);
}

.nav-container {
    max-width: 1240px;
    gap: 0.75rem;
}

.navbar-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    line-height: 0;
    text-decoration: none;
    border-radius: var(--fd-radius-sm, 6px);
    align-self: center;
}

.navbar-logo-link:focus-visible {
    outline: 2px solid var(--fd-primary, #1e40af);
    outline-offset: 4px;
}

.navbar .logo img,
.navbar-logo-link img,
img.navbar-logo-img {
    display: block;
    height: var(--fd-navbar-logo-height);
    width: auto;
    max-width: var(--fd-navbar-logo-max-width);
    max-height: var(--fd-navbar-logo-height);
    object-fit: contain;
    object-position: left center;
}

@media (max-width: 768px) {
    .nav-container {
        padding-inline: clamp(0.75rem, 3.5vw, 1.25rem);
        gap: 0.5rem;
    }

    .navbar-logo-link {
        max-width: calc(100% - 2.75rem);
    }

    .navbar .logo img,
    .navbar-logo-link img,
    img.navbar-logo-img {
        --fd-navbar-logo-height: clamp(28px, 7.5vw, 38px);
        --fd-navbar-logo-max-width: min(9rem, 48vw);
        height: var(--fd-navbar-logo-height);
        max-height: var(--fd-navbar-logo-height);
        max-width: var(--fd-navbar-logo-max-width);
    }

    .mobile-menu-toggle {
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .navbar .logo img,
    .navbar-logo-link img,
    img.navbar-logo-img {
        --fd-navbar-logo-height: clamp(26px, 8vw, 32px);
        --fd-navbar-logo-max-width: min(7.5rem, 44vw);
        height: var(--fd-navbar-logo-height);
        max-height: var(--fd-navbar-logo-height);
        max-width: var(--fd-navbar-logo-max-width);
    }
}

.nav-links a {
    font-size: 0.92rem;
    letter-spacing: 0.01em;
}

.contact-btn {
    border-radius: var(--fd-radius-pill, 999px);
    box-shadow: 0 8px 24px rgba(30, 64, 175, 0.25);
}

.hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    /* Override legacy place-items:flex-end — hero-figure has only absolutely positioned kids, */
    /* so justify-items:flex-end collapses its column width to ~0 */
    justify-items: stretch;
    align-items: stretch;
    column-gap: clamp(0.75rem, 2vw, 1.85rem);
    row-gap: 0;
    background:
        radial-gradient(ellipse 100% 70% at 15% 40%, rgba(30, 64, 175, 0.09) 0%, transparent 52%),
        radial-gradient(ellipse 80% 60% at 92% 8%, rgba(147, 197, 253, 0.42) 0%, transparent 48%),
        linear-gradient(165deg, #f8fafc 0%, var(--fd-gray) 45%, #eef1f6 100%);
    min-height: 100vh;
    margin-top: 0;
    /* Fixed navbar overlays hero; inset copy column only (.hero-container), not hero-figure */
    padding: 0;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.055) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(160deg, black 0%, black 45%, transparent 92%);
    -webkit-mask-image: linear-gradient(160deg, black 0%, black 45%, transparent 92%);
    pointer-events: none;
    z-index: 0;
}

.hero-container,
.hero-figure {
    position: relative;
    z-index: 1;
}

.hero-container {
    padding-top: calc(var(--fd-navbar-offset) + clamp(2rem, 5vw, 4rem));
    padding-right: clamp(0.5rem, 2vw, 1.5rem);
    padding-bottom: clamp(2rem, 5vw, 4rem);
    padding-left: clamp(1rem, 4vw, 2.75rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    place-items: stretch;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    justify-self: stretch;
    align-self: stretch;
    overflow: hidden;
}

.hero .hero-content {
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1.35vw, 1rem);
    width: 100%;
    max-width: min(36rem, 100%);
    min-width: 0;
    padding-top: clamp(1rem, 2.85vw, 2.75rem);
    overflow-wrap: break-word;
}

.hero .hero-content .hero-badge,
.hero .hero-content .hero-headline,
.hero .hero-content .hero-lead {
    margin-bottom: 0;
}

.hero .hero-content > .hero-badge {
    align-self: flex-start;
    max-width: 100%;
}

.hero-headline {
    font-size: clamp(2.35rem, 4.8vw, 3.85rem);
    font-weight: 800;
    letter-spacing: -0.038em;
    line-height: 1.04;
    color: #1f2937;
    margin-bottom: clamp(1.1rem, 2.5vw, 1.5rem);
    text-wrap: balance;
    overflow-wrap: break-word;
    hyphens: auto;
}

.hero-content .highlight {
    font-weight: 800;
    background: linear-gradient(118deg, var(--fd-navy) 0%, var(--fd-blue) 52%, var(--fd-blue-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@supports not (background-clip: text) {
    .hero-content .highlight {
        color: var(--fd-blue);
        -webkit-text-fill-color: currentColor;
        background: none;
    }
}

.hero-lead {
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    line-height: 1.72;
    color: #5b6475;
    margin-bottom: clamp(1.75rem, 3vw, 2.35rem);
    max-width: 32rem;
    font-weight: 400;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.3rem, 1vw, 0.45rem);
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
    padding: clamp(0.32rem, 1.1vw, 0.4rem) clamp(0.55rem, 2.2vw, 0.9rem);
    border-radius: var(--fd-radius-pill, 999px);
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.85);
    box-shadow:
        0 2px 4px rgba(30, 58, 138, 0.04),
        0 16px 40px rgba(30, 58, 138, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
    color: #4a5568;
    font-size: clamp(0.4375rem, 0.42vw + 0.46rem, 0.625rem);
    font-weight: 700;
    letter-spacing: clamp(0.04em, 0.1vw, 0.065em);
    text-transform: uppercase;
    white-space: normal;
    text-wrap: balance;
    overflow-wrap: break-word;
    line-height: 1.35;
    margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.hero-badge-dot {
    width: clamp(5px, 1.15vw, 7px);
    height: clamp(5px, 1.15vw, 7px);
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(145deg, var(--fd-blue-soft), var(--fd-navy));
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.22);
    animation: fd-pulse 2.4s ease-in-out infinite;
}

@keyframes fd-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.72; transform: scale(0.9); }
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 0.95rem;
    align-items: center;
}

.hero .hero-cta-primary {
    padding: 1rem 1.9rem;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    box-shadow:
        0 1px 2px rgba(30, 58, 138, 0.06),
        0 12px 28px rgba(30, 64, 175, 0.28);
}

.hero .hero-cta-primary:hover {
    box-shadow:
        0 4px 12px rgba(30, 58, 138, 0.12),
        0 18px 36px rgba(30, 64, 175, 0.32);
}

.hero .hero-cta-secondary {
    padding: 1rem 1.9rem;
    font-weight: 600;
    border-width: 1.5px;
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hero .hero-cta-secondary:hover {
    background: var(--fd-blue);
}

.hero-figure {
    margin: 0;
    padding: 0;
    margin-block: 0;
    padding-block: 0;
    justify-self: stretch;
    min-width: 0;
    align-self: stretch;
    /* hero-image is position:absolute (no in-flow height); keep the column from collapsing */
    min-height: 100vh;
    height: 100%;
    overflow: hidden;
}

.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-width: none;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
}

.hero-image::before,
.hero-image::after {
    display: none;
}

.hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center 40%;
    border-radius: 0;
    position: absolute;
    inset: 0;
    z-index: 0;
    transform-origin: center center;
}

@media (min-width: 769px) {
    .hero-image img {
        /* Slight zoom crops baked-in letterboxing / framing in source files */
        transform: scale(1.07);
    }
}

.btn-primary,
.btn-secondary {
    border-radius: var(--fd-radius-pill, 999px);
    font-size: 0.94rem;
    padding: 0.95rem 1.85rem;
}

.culture-strip {
    padding: clamp(3.25rem, 8vw, 5.25rem) 0;
    background:
        linear-gradient(180deg, #f8fafc 0%, #ffffff 42%, #fafafa 100%);
    border-block: 1px solid rgba(30, 58, 138, 0.07);
    position: relative;
}

.culture-strip::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(200px, 40vw);
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--fd-blue-soft), transparent);
    opacity: 0.55;
    pointer-events: none;
}

.culture-strip-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2rem);
}

.culture-strip-header {
    text-align: center;
    max-width: min(72rem, 100%);
    margin: 0 auto clamp(2rem, 4vw, 2.75rem);
}

.culture-eyebrow {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.65rem;
    padding: 0.35rem 0.75rem;
    background: rgba(30, 64, 175, 0.06);
    border: 1px solid rgba(30, 64, 175, 0.1);
    border-radius: var(--fd-radius-pill, 999px);
}

.culture-title {
    font-size: clamp(1rem, 0.85vw + 0.72rem, 1.28rem);
    font-weight: 700;
    color: var(--fd-navy);
    letter-spacing: -0.025em;
    line-height: 1.35;
    max-width: 62rem;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1100px) {
    .culture-title {
        white-space: nowrap;
        font-size: clamp(1.05rem, 0.55vw + 0.78rem, 1.22rem);
    }
}

.culture-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3px;
    background: rgba(15, 23, 42, 0.06);
    padding: 3px;
}

.culture-cell {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    box-shadow: none;
    border: none;
    transition:
        transform 0.5s var(--fd-ease-out),
        filter 0.45s ease;
}

.culture-cell::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(30, 58, 138, 0.12) 100%);
    opacity: 0;
    transition: opacity 0.45s ease;
    pointer-events: none;
    z-index: 1;
}

.culture-cell:hover {
    transform: none;
    box-shadow: none;
    filter: brightness(1.03);
}

.culture-cell:hover::after {
    opacity: 1;
}

.culture-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.65s var(--fd-ease-out);
}

.culture-cell:hover img {
    transform: scale(1.05);
}

@media (max-width: 900px) {
    .culture-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .culture-grid {
        grid-template-columns: 1fr;
    }

    .culture-title {
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .culture-cell:hover img,
    .culture-cell img {
        transform: none;
    }

    .culture-cell:hover {
        filter: none;
    }

    .culture-cell::after,
    .culture-cell:hover::after {
        opacity: 0;
        transition: none;
    }
}

.institute-section {
    position: relative;
    isolation: isolate;
    min-height: auto;
    padding: clamp(4.5rem, 11vw, 7rem) 0;
    display: block;
    background:
        radial-gradient(ellipse 80% 60% at 100% 35%, rgba(30, 64, 175, 0.06) 0%, transparent 52%),
        linear-gradient(180deg, #ffffff 0%, var(--fd-surface-2) 45%, #f1f5f9 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
    overflow: hidden;
}

.institute-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fd-navy), var(--fd-blue-soft));
    opacity: 0.88;
    pointer-events: none;
    z-index: 0;
}

.institute-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.042) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(195deg, black 0%, black 32%, transparent 88%);
    -webkit-mask-image: linear-gradient(195deg, black 0%, black 32%, transparent 88%);
    pointer-events: none;
    z-index: 0;
}

.institute-section .institute-container {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: clamp(1rem, 4vw, 2.75rem);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: clamp(2rem, 5.5vw, 3.75rem);
    align-items: center;
}

.institute-section .institute-content {
    padding: clamp(0.35rem, 2vw, 1rem) 0;
    max-width: 36.5rem;
}

.institute-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.8rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(30, 64, 175, 0.12);
    border-radius: var(--fd-radius-pill, 999px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.92) inset;
}

.institute-section .institute-title {
    margin-bottom: clamp(0.45rem, 1.2vw, 0.65rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
    color: var(--fd-navy);
}

.institute-section .institute-subtitle {
    margin-bottom: 0.45rem;
    font-size: clamp(1.02rem, 1.1vw + 0.88rem, 1.2rem);
    font-weight: 600;
    color: var(--fd-slate);
    letter-spacing: -0.012em;
    line-height: 1.35;
}

.institute-academy {
    margin: 0 0 clamp(1.1rem, 2.5vw, 1.45rem);
    font-size: clamp(1.32rem, 2vw, 1.62rem);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -0.022em;
}

.institute-academy__name {
    background: linear-gradient(118deg, var(--fd-navy) 0%, var(--fd-blue) 48%, var(--fd-blue-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@supports not (background-clip: text) {
    .institute-academy__name {
        color: var(--fd-blue);
        -webkit-text-fill-color: currentColor;
        background: none;
    }
}

.institute-section .institute-description {
    font-size: clamp(1rem, 0.35vw + 0.92rem, 1.08rem);
    line-height: 1.72;
    color: var(--fd-muted);
    margin-bottom: clamp(1.65rem, 3.5vw, 2.15rem);
    max-width: 38rem;
    text-wrap: pretty;
}

.institute-section .apply-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    border-radius: var(--fd-radius-pill, 999px);
    padding: 0.95rem 1.95rem;
    font-size: 0.94rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    background: var(--fd-navy);
    color: #fff !important;
    box-shadow:
        0 1px 2px rgba(30, 58, 138, 0.06),
        0 12px 28px rgba(30, 64, 175, 0.28);
    transition:
        transform 0.35s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
        box-shadow 0.35s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
        background-color 0.25s ease;
}

.institute-section .apply-btn:hover {
    background: var(--fd-blue);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow:
        0 4px 12px rgba(30, 58, 138, 0.12),
        0 18px 36px rgba(30, 64, 175, 0.32);
}

.institute-section .apply-btn:active {
    transform: translateY(0);
}

.institute-figure {
    margin: 0;
}

.institute-media {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    min-height: clamp(300px, 52vw, 520px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 22px 48px rgba(30, 58, 138, 0.12),
        0 0 0 1px rgba(30, 58, 138, 0.08);
}

.institute-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, rgba(30, 64, 175, 0.12) 0%, transparent 48%);
    pointer-events: none;
}

.institute-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(300px, 52vw, 520px);
    object-fit: cover;
    object-position: center 42%;
    transform-origin: center center;
    transition: transform 1s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

@media (min-width: 769px) {
    .institute-media img {
        transform: scale(1.05);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .institute-media:hover img {
        transform: scale(1.08);
    }
}

@media (max-width: 900px) {
    .institute-section .institute-container {
        grid-template-columns: 1fr;
        gap: clamp(1.75rem, 4vw, 2.5rem);
        text-align: center;
    }

    .institute-section .institute-content {
        margin-inline: auto;
        text-align: center;
    }

    .institute-section .institute-description {
        margin-inline: auto;
    }

    .institute-section .apply-btn {
        width: 100%;
        max-width: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .institute-media img {
        transform: none !important;
        transition: none !important;
    }

    .institute-section .apply-btn:hover {
        transform: none;
    }
}

.about-section {
    position: relative;
    isolation: isolate;
    min-height: auto;
    padding: clamp(4.5rem, 11vw, 7rem) 0;
    display: block;
    background:
        radial-gradient(ellipse 85% 70% at 0% 45%, rgba(30, 64, 175, 0.055) 0%, transparent 52%),
        linear-gradient(180deg, #ffffff 0%, var(--fd-surface-2) 72%, #f1f5f9 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
    overflow: hidden;
}

.about-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fd-navy), var(--fd-blue-soft));
    opacity: 0.9;
    pointer-events: none;
    z-index: 0;
}

.about-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.045) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(170deg, black 0%, black 35%, transparent 88%);
    -webkit-mask-image: linear-gradient(170deg, black 0%, black 35%, transparent 88%);
    pointer-events: none;
    z-index: 0;
}

.about-section .about-container {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: clamp(1rem, 4vw, 2.75rem);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(2rem, 5.5vw, 4rem);
    align-items: center;
}

.about-figure {
    margin: 0;
}

.about-media {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    min-height: clamp(300px, 50vw, 520px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.6) inset,
        0 20px 40px rgba(30, 58, 138, 0.11),
        0 0 0 1px rgba(30, 58, 138, 0.08);
}

.about-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, rgba(30, 64, 175, 0.14) 0%, transparent 42%, transparent 100%);
    pointer-events: none;
}

.about-media img {
    width: 100%;
    height: 100%;
    min-height: clamp(300px, 50vw, 520px);
    object-fit: cover;
    object-position: center 40%;
    display: block;
    transform: scale(1.03);
    transform-origin: center center;
    transition: transform 1s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .about-media:hover img {
        transform: scale(1.06);
    }
}

.about-section .about-content {
    padding: clamp(0.5rem, 2vw, 1.25rem) 0;
}

.about-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.8rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(30, 64, 175, 0.12);
    border-radius: var(--fd-radius-pill, 999px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.about-section .about-title {
    margin-bottom: clamp(0.85rem, 2vw, 1.25rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
    color: var(--fd-navy);
}

.about-section .about-subtitle {
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
    line-height: 1.3;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: var(--fd-slate);
    text-wrap: balance;
}

.about-subtitle-accent {
    font-weight: 700;
    background: linear-gradient(118deg, var(--fd-navy) 0%, var(--fd-blue) 50%, var(--fd-blue-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@supports not (background-clip: text) {
    .about-subtitle-accent {
        color: var(--fd-blue);
        -webkit-text-fill-color: currentColor;
        background: none;
    }
}

.about-section .about-description {
    font-size: clamp(1rem, 0.35vw + 0.92rem, 1.12rem);
    line-height: 1.75;
    color: var(--fd-muted);
    max-width: 34rem;
    margin-bottom: clamp(1.75rem, 4vw, 2.25rem);
}

.about-section .about-content .discover-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: var(--fd-radius-pill, 999px);
    padding: 0.95rem 1.85rem;
    font-size: 0.94rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow:
        0 1px 2px rgba(30, 58, 138, 0.06),
        0 12px 28px rgba(30, 64, 175, 0.28);
}

.about-section .about-content .discover-btn:hover {
    color: #fff;
}

@media (max-width: 900px) {
    .about-section .about-container {
        grid-template-columns: 1fr;
        gap: clamp(2rem, 5vw, 2.75rem);
        text-align: center;
    }

    .about-section .about-content {
        text-align: center;
    }

    .about-section .about-description {
        margin-left: auto;
        margin-right: auto;
    }

    .about-section .about-content .discover-btn {
        width: 100%;
        max-width: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-media img {
        transform: none !important;
        transition: none !important;
    }
}

.about-section .about-title,
.institute-title,
.services-title {
    font-size: clamp(2.5rem, 5vw, 3.75rem);
}

.institute-subtitle {
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    font-weight: 600;
    color: var(--fd-slate);
}

.services-section {
    position: relative;
    isolation: isolate;
    min-height: auto;
    padding: clamp(4.25rem, 10vw, 6.5rem) 0;
    background:
        radial-gradient(ellipse 70% 55% at 50% 0%, rgba(30, 64, 175, 0.055) 0%, transparent 55%),
        var(--fd-surface-2);
}

.services-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.04) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(185deg, black 0%, black 40%, transparent 95%);
    -webkit-mask-image: linear-gradient(185deg, black 0%, black 40%, transparent 95%);
    pointer-events: none;
}

.services-container {
    position: relative;
    z-index: 1;
    min-height: auto;
    max-width: 1240px;
    margin-inline: auto;
    border-radius: var(--fd-radius-lg);
    padding: clamp(2.25rem, 5vw, 3.25rem) clamp(1.5rem, 4vw, 2.75rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.35) 100%),
        linear-gradient(165deg, var(--fd-gray) 0%, #e8ecf3 45%, #eef2f7 100%);
    border: 1px solid rgba(30, 58, 138, 0.09);
    box-shadow:
        var(--fd-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.services-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(1.25rem, 4vw, 2.5rem);
    right: clamp(1.25rem, 4vw, 2.5rem);
    height: 2px;
    border-radius: var(--fd-radius-pill, 999px);
    background: linear-gradient(90deg, transparent 0%, var(--fd-blue-soft) 35%, var(--fd-navy) 50%, var(--fd-blue-soft) 65%, transparent 100%);
    opacity: 0.75;
    pointer-events: none;
}

.services-header {
    text-align: center;
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
    max-width: 44rem;
    margin-inline: auto;
}

.services-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.8rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(30, 64, 175, 0.12);
    border-radius: var(--fd-radius-pill, 999px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

.services-section .services-title {
    margin-bottom: clamp(0.75rem, 2vw, 1.1rem);
    letter-spacing: -0.032em;
    line-height: 1.06;
    color: var(--fd-navy);
}

.services-section .services-description {
    font-size: clamp(1rem, 0.4vw + 0.9rem, 1.15rem);
    line-height: 1.68;
    color: var(--fd-slate);
    max-width: 36rem;
    margin-inline: auto;
    text-wrap: balance;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.15rem, 2.5vw, 1.65rem);
    margin-top: 0;
}

.service-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(30, 58, 138, 0.1);
    border-radius: var(--fd-radius-md);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 2px 18px rgba(30, 58, 138, 0.05);
    padding: clamp(1.65rem, 2.8vw, 2.15rem);
    min-height: 17.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
    transition:
        transform 0.45s var(--fd-ease-out),
        box-shadow 0.45s var(--fd-ease-out),
        border-color 0.35s ease;
}

.service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fd-navy), var(--fd-blue-soft));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .service-card:hover {
        transform: translateY(-6px);
        border-color: rgba(30, 64, 175, 0.22);
        box-shadow:
            var(--fd-shadow),
            0 20px 40px rgba(30, 58, 138, 0.1);
    }

    .service-card:hover::before {
        transform: scaleX(1);
    }
}

.service-icon {
    width: 3.25rem;
    height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    border-radius: var(--fd-radius-sm);
    background: linear-gradient(145deg, rgba(30, 64, 175, 0.08) 0%, rgba(147, 197, 253, 0.28) 100%);
    border: 1px solid rgba(30, 64, 175, 0.14);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
    transition:
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.45s var(--fd-ease-out);
}

.service-icon i {
    font-size: 1.35rem;
    color: var(--fd-blue);
    transition: color 0.35s ease, transform 0.45s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .service-card:hover .service-icon {
        background: linear-gradient(135deg, var(--fd-navy) 0%, var(--fd-blue) 100%);
        border-color: transparent;
        box-shadow: 0 10px 28px rgba(30, 64, 175, 0.28);
        transform: scale(1.02);
    }

    .service-card:hover .service-icon i {
        color: #fff;
    }
}

.services-section .service-title {
    font-size: clamp(1.15rem, 0.5vw + 1rem, 1.35rem);
    font-weight: 700;
    color: var(--fd-navy);
    margin-bottom: 0.65rem;
    line-height: 1.25;
    letter-spacing: -0.018em;
}

.services-section .service-description {
    font-size: clamp(0.9rem, 0.25vw + 0.85rem, 0.98rem);
    line-height: 1.62;
    color: var(--fd-muted);
    margin-bottom: 1.35rem;
    flex-grow: 1;
}

.services-section .read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    align-self: flex-start;
    margin-top: auto;
    padding: 0;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: var(--fd-blue);
    background: none;
    border: none;
    cursor: pointer;
}

.services-section .read-more__text {
    position: relative;
    padding-bottom: 2px;
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
    transition: background-size 0.35s var(--fd-ease-out), color 0.25s ease;
}

.services-section .read-more::after {
    content: "→";
    font-size: 1.05em;
    line-height: 1;
    transition: transform 0.35s var(--fd-ease-out);
}

.services-section .read-more:hover {
    color: var(--fd-navy);
}

.services-section .read-more:hover .read-more__text {
    background-size: 100% 2px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .services-section .read-more:hover::after {
        transform: translateX(4px);
    }
}

@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-card::before {
        transform: scaleX(1);
        opacity: 0.35;
    }

    .service-card:hover,
    .service-card:hover .service-icon {
        transform: none;
    }

    .services-section .read-more:hover::after {
        transform: none;
    }
}

.stats-band {
    position: relative;
    isolation: isolate;
    color: #fff;
    padding: clamp(3rem, 7vw, 4.5rem) clamp(1.25rem, 4vw, 2.5rem);
    overflow: hidden;
    background:
        radial-gradient(ellipse 120% 80% at 20% 20%, rgba(147, 197, 253, 0.22) 0%, transparent 50%),
        radial-gradient(ellipse 90% 70% at 88% 80%, rgba(30, 64, 175, 0.45) 0%, transparent 45%),
        linear-gradient(125deg, #152a66 0%, var(--fd-navy) 32%, var(--fd-blue) 58%, #1d4ed8 100%);
}

.stats-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("image/index%20banner%201.avif") center / cover no-repeat;
    opacity: 0.18;
    pointer-events: none;
    z-index: 0;
}

.stats-band__veil {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(15, 35, 85, 0.75) 0%, rgba(30, 58, 138, 0.82) 45%, rgba(22, 45, 95, 0.88) 100%);
}

.stats-band-inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.85rem, 2vw, 1.25rem);
    text-align: center;
    align-items: stretch;
}

.stat-item {
    position: relative;
    padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1rem, 2vw, 1.35rem);
    border-radius: var(--fd-radius-md, 1.25rem);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 18px 40px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition:
        transform 0.45s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
        border-color 0.35s ease,
        box-shadow 0.45s ease;
}

.stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22%;
    bottom: 22%;
    right: calc(-0.5 * clamp(0.85rem, 2vw, 1.25rem));
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    pointer-events: none;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .stat-item:hover {
        transform: translateY(-4px);
        border-color: rgba(255, 255, 255, 0.28);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.22) inset,
            0 24px 48px rgba(0, 0, 0, 0.18);
    }
}

.stat-figure {
    display: block;
    font-size: clamp(2rem, 4.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.08;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0.5rem;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.15);
}

.stat-figure--range {
    letter-spacing: -0.02em;
}

.stat-figure__suffix {
    font-weight: 800;
    letter-spacing: -0.03em;
}

.stat-figure__suffix--tight {
    font-weight: 700;
    font-size: 0.72em;
    letter-spacing: 0.02em;
    opacity: 0.92;
}

.stat-figure__dash {
    font-weight: 700;
    opacity: 0.85;
    margin: 0 0.02em;
}

.stat-label {
    display: block;
    font-size: clamp(0.82rem, 0.35vw + 0.76rem, 0.94rem);
    line-height: 1.45;
    opacity: 0.9;
    font-weight: 500;
    letter-spacing: 0.01em;
    max-width: 13.5rem;
    margin-inline: auto;
}

@media (max-width: 900px) {
    .stats-band-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stat-item:not(:last-child)::after {
        display: none;
    }

    .stat-item:nth-child(1)::after,
    .stat-item:nth-child(3)::after {
        display: block;
        top: 18%;
        bottom: 18%;
        right: calc(-0.5 * clamp(0.85rem, 2vw, 1.25rem));
    }
}

@media (max-width: 560px) {
    .stats-band-inner {
        grid-template-columns: 1fr;
    }

    .stat-item::after {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .stat-item:hover {
        transform: none;
    }
}

.success-stories {
    background:
        radial-gradient(ellipse 90% 65% at 50% -10%, rgba(30, 64, 175, 0.07) 0%, transparent 55%),
        var(--fd-gradient-surface, linear-gradient(145deg, #f1f5f9 0%, #e8edf5 45%, #f8fafc 100%));
    padding: clamp(3.5rem, 9vw, 6rem) 0;
    position: relative;
    overflow: hidden;
}

.success-stories::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.045) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(185deg, black 0%, black 55%, transparent 96%);
    -webkit-mask-image: linear-gradient(185deg, black 0%, black 55%, transparent 96%);
    pointer-events: none;
}

.success-stories .success-stories__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin-inline: auto;
    margin-top: 0;
    margin-bottom: 0;
    padding: clamp(2.25rem, 5vw, 3.25rem) clamp(1.25rem, 4vw, 2rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    background: linear-gradient(168deg, rgba(255, 255, 255, 0.96) 0%, rgba(252, 253, 255, 0.98) 100%);
    border-radius: var(--fd-radius-lg);
    border: 1px solid rgba(30, 58, 138, 0.09);
    box-shadow:
        var(--fd-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.success-stories__eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.8rem;
    background: rgba(30, 64, 175, 0.06);
    border: 1px solid rgba(30, 64, 175, 0.11);
    border-radius: var(--fd-radius-pill, 999px);
}

.success-stories .section-title {
    margin-bottom: 0.65rem;
    letter-spacing: -0.032em;
    background: linear-gradient(135deg, var(--fd-navy) 0%, var(--fd-blue-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.success-stories .section-subtitle {
    max-width: 40rem;
    margin-bottom: clamp(1.75rem, 4vw, 2.35rem);
    line-height: 1.68;
    text-wrap: balance;
}

.success-stories .carousel-wrapper {
    align-self: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
}

.carousel-wrapper--marquee {
    --fd-stories-marquee: 42s;
}

.carousel-wrapper--marquee .carousel-container {
    overflow: hidden;
    border-radius: var(--fd-radius-md);
    padding: clamp(0.85rem, 2vw, 1.15rem) 0;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(30, 58, 138, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}

.carousel-wrapper--marquee .carousel-track {
    gap: clamp(0.9rem, 2vw, 1.25rem);
}

.carousel-track--marquee {
    width: max-content;
    animation: none;
    transition: none !important;
    will-change: transform;
}

.carousel-wrapper--marquee-static .carousel-track--marquee {
    will-change: auto;
}

.carousel-wrapper--marquee .story-card {
    flex: 0 0 auto;
    width: clamp(16.5rem, calc(100vw - 3.5rem), 21rem);
    min-width: clamp(16.5rem, calc(100vw - 3.5rem), 21rem) !important;
    max-width: min(22rem, calc(100vw - 3.5rem)) !important;
    margin: 0 !important;
    transform: none;
    opacity: 1;
    background: linear-gradient(152deg, rgba(30, 58, 138, 0.94) 0%, rgba(30, 64, 175, 0.9) 42%, rgba(29, 78, 216, 0.88) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--fd-radius-md);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.14) inset,
        0 16px 36px rgba(30, 58, 138, 0.22);
    padding: clamp(1.35rem, 3vw, 1.75rem);
    transition:
        transform 0.45s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
        box-shadow 0.45s ease,
        border-color 0.35s ease;
}

.carousel-wrapper--marquee .story-card::before {
    background: linear-gradient(135deg, rgba(147, 197, 253, 0.18) 0%, transparent 55%);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .carousel-wrapper--marquee .story-card:hover {
        transform: translateY(-4px);
        border-color: rgba(255, 255, 255, 0.24);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.2) inset,
            0 22px 48px rgba(30, 58, 138, 0.28);
    }
}

.carousel-wrapper--marquee .story-content p {
    line-height: 1.65;
    font-size: clamp(0.94rem, 0.3vw + 0.88rem, 1.02rem);
}

.carousel-wrapper--marquee .client-info h3 {
    letter-spacing: -0.02em;
}

.carousel-navigation--marquee {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.85rem;
    margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.carousel-wrapper--marquee-static .carousel-navigation--marquee {
    display: none;
}

.carousel-wrapper--marquee-static .carousel-container {
    mask-image: none;
    -webkit-mask-image: none;
}

.carousel-wrapper--marquee-static .carousel-track {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 100%;
}

.carousel-wrapper--marquee-static .story-card {
    flex: 1 1 280px;
    max-width: 22rem;
}

.success-stories .discover-more-container {
    margin-top: clamp(1.5rem, 3vw, 2rem);
}

/* Success stories marquee — override legacy .story-card min-width/margin rules (≤768 / ≤562) */
.success-stories .carousel-wrapper--marquee {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.success-stories .carousel-wrapper--marquee .carousel-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.success-stories .carousel-wrapper--marquee .carousel-track {
    min-width: 0;
}

.success-stories .carousel-wrapper--marquee .story-card {
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .success-stories .success-stories__inner {
        padding-inline: clamp(0.85rem, 3.5vw, 1.5rem);
    }

    .success-stories .carousel-wrapper--marquee .carousel-container {
        mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
    }

    .success-stories .carousel-wrapper--marquee .story-card {
        width: clamp(15.5rem, calc(100vw - 2.75rem), 20rem) !important;
        min-width: clamp(15.5rem, calc(100vw - 2.75rem), 20rem) !important;
        max-width: calc(100vw - 2.75rem) !important;
        margin: 0 !important;
        padding: clamp(1.15rem, 3.2vw, 1.5rem) !important;
    }

    .carousel-wrapper--marquee-static .carousel-track {
        padding-inline: 0;
    }

    .carousel-wrapper--marquee-static .story-card {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 600px) {
    .success-stories .section-subtitle {
        padding-inline: 0.25rem;
    }

    .success-stories .carousel-wrapper--marquee .carousel-track {
        gap: clamp(0.65rem, 2.5vw, 0.9rem);
    }

    .success-stories .carousel-wrapper--marquee .story-card {
        width: clamp(14.5rem, calc(100vw - 2.25rem), 18.5rem) !important;
        min-width: clamp(14.5rem, calc(100vw - 2.25rem), 18.5rem) !important;
        max-width: calc(100vw - 2.25rem) !important;
    }

    .carousel-navigation--marquee {
        gap: 0.65rem;
        margin-top: clamp(1rem, 3vw, 1.35rem);
    }

    .carousel-navigation--marquee .nav-btn {
        width: 2.75rem;
        height: 2.75rem;
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .success-stories .success-stories__inner {
        padding-inline: clamp(0.65rem, 3vw, 1rem);
    }

    .success-stories .carousel-wrapper--marquee .story-card {
        width: clamp(13.75rem, calc(100vw - 1.85rem), 17.5rem) !important;
        min-width: clamp(13.75rem, calc(100vw - 1.85rem), 17.5rem) !important;
        max-width: calc(100vw - 1.85rem) !important;
        padding: clamp(1rem, 3vw, 1.25rem) !important;
    }

    .success-stories .carousel-wrapper--marquee .story-content p {
        font-size: 0.92rem;
    }

    .success-stories .carousel-wrapper--marquee .client-info h3 {
        font-size: 1.05rem;
    }
}

@media (max-width: 380px) {
    .success-stories .carousel-wrapper--marquee .story-card {
        width: clamp(13rem, calc(100vw - 1.5rem), 16.5rem) !important;
        min-width: clamp(13rem, calc(100vw - 1.5rem), 16.5rem) !important;
        max-width: calc(100vw - 1.5rem) !important;
    }

    .success-stories .carousel-wrapper--marquee .card-header {
        gap: 0.75rem;
    }

    .success-stories .carousel-wrapper--marquee .avatar {
        width: 52px;
        height: 52px;
    }
}

@media (max-width: 320px) {
    .success-stories .success-stories__inner {
        padding-inline: 0.65rem;
    }

    .success-stories .carousel-wrapper--marquee .carousel-container {
        mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
    }

    .success-stories .carousel-wrapper--marquee .story-card {
        width: calc(100vw - 1.3rem) !important;
        min-width: calc(100vw - 1.3rem) !important;
        max-width: calc(100vw - 1.3rem) !important;
        padding: 0.95rem !important;
    }

    .success-stories .carousel-wrapper--marquee .story-content p {
        font-size: 0.875rem;
        line-height: 1.55;
    }
}

.story-card {
    background: linear-gradient(155deg, var(--fd-navy) 0%, var(--fd-blue) 55%, #1e4b9e 100%);
    border-radius: var(--fd-radius-md);
}

.story-card::before {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(30, 58, 138, 0.05) 100%);
}

.container .header {
    text-align: center;
    padding: clamp(3rem, 8vw, 5rem) 0 1rem;
}

.container .main-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--fd-navy);
    letter-spacing: -0.03em;
    margin-bottom: 0.75rem;
}

.container .subtitle {
    color: var(--fd-muted);
    font-size: 1.1rem;
    max-width: 32rem;
    margin: 0 auto;
}

.faq-section {
    position: relative;
    isolation: isolate;
    padding: clamp(3.5rem, 9vw, 5.75rem) clamp(1rem, 4vw, 1.5rem);
    background:
        radial-gradient(ellipse 85% 50% at 50% -15%, rgba(30, 64, 175, 0.06) 0%, transparent 55%),
        linear-gradient(180deg, #f1f5f9 0%, #ffffff 48%, var(--fd-surface-2) 100%);
    overflow: hidden;
}

.faq-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.042) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(185deg, black 0%, black 50%, transparent 94%);
    -webkit-mask-image: linear-gradient(185deg, black 0%, black 50%, transparent 94%);
    pointer-events: none;
}

.faq-section__shell {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin-inline: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: clamp(2.1rem, 5vw, 2.85rem) clamp(1.25rem, 4vw, 2rem) !important;
    background: linear-gradient(168deg, rgba(255, 255, 255, 0.97) 0%, rgba(252, 253, 255, 0.995) 100%);
    border-radius: var(--fd-radius-lg);
    border: 1px solid rgba(30, 58, 138, 0.09);
    box-shadow:
        var(--fd-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.faq-section__eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fd-blue);
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.8rem;
    background: rgba(30, 64, 175, 0.06);
    border: 1px solid rgba(30, 64, 175, 0.11);
    border-radius: var(--fd-radius-pill, 999px);
}

.faq-section .faq-section__header {
    text-align: center;
    margin-bottom: clamp(1.85rem, 4vw, 2.5rem);
    padding-bottom: clamp(1.35rem, 3vw, 1.75rem);
    border-bottom: 1px solid rgba(30, 58, 138, 0.08);
}

.faq-section .main-title {
    font-size: clamp(1.85rem, 3.5vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.032em;
    line-height: 1.12;
    margin-bottom: 0.65rem;
    background: linear-gradient(118deg, var(--fd-navy) 0%, var(--fd-blue) 45%, var(--fd-blue-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@supports not (background-clip: text) {
    .faq-section .main-title {
        color: var(--fd-navy);
        -webkit-text-fill-color: currentColor;
        background: none;
    }
}

.faq-section .subtitle {
    font-size: clamp(1rem, 0.35vw + 0.92rem, 1.12rem);
    line-height: 1.65;
    max-width: 36rem;
    margin-inline: auto;
    color: var(--fd-muted);
    text-wrap: balance;
}

.faq-section .faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.1rem, 2.2vw, 1.35rem);
    margin-top: 0;
    padding-bottom: clamp(0.25rem, 1vw, 0.5rem);
}

@media (min-width: 768px) {
    .faq-section .faq-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.faq-section .faq-item {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--fd-radius-md);
    padding: clamp(1.35rem, 3vw, 1.8rem);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.96) 100%);
    border: 1px solid rgba(30, 58, 138, 0.1);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 8px 28px rgba(30, 58, 138, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
        transform 0.45s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
        box-shadow 0.45s ease,
        border-color 0.35s ease;
    animation: none !important;
}

.faq-section .faq-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fd-navy), var(--fd-blue-soft));
    z-index: 0;
    opacity: 0.92;
}

.faq-section .faq-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 90% 70% at 100% -20%, rgba(59, 130, 246, 0.1) 0%, transparent 58%);
    pointer-events: none;
    z-index: 0;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .faq-section .faq-item:hover {
        transform: translateY(-5px);
        border-color: rgba(30, 64, 175, 0.18);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95) inset,
            0 20px 48px rgba(30, 58, 138, 0.11);
    }
}

.faq-section .faq-item__icon {
    position: relative;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    font-size: 1.05rem;
    color: #fff;
    background: linear-gradient(145deg, var(--fd-navy) 0%, var(--fd-blue) 100%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 10px 24px rgba(30, 64, 175, 0.28);
    transition: transform 0.45s var(--fd-ease-out, cubic-bezier(0.16, 1, 0.3, 1)), box-shadow 0.45s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .faq-section .faq-item:hover .faq-item__icon {
        transform: scale(1.05);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.28) inset,
            0 12px 28px rgba(30, 64, 175, 0.32);
    }
}

.faq-section .faq-item .question {
    position: relative;
    z-index: 1;
    font-size: clamp(1.08rem, 0.4vw + 0.98rem, 1.22rem);
    font-weight: 700;
    color: var(--fd-navy);
    margin-bottom: 0.6rem;
    line-height: 1.32;
    letter-spacing: -0.018em;
    transition: color 0.3s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .faq-section .faq-item:hover .question {
        color: var(--fd-blue);
    }
}

.faq-section .faq-item .answer {
    position: relative;
    z-index: 1;
    font-size: clamp(0.94rem, 0.25vw + 0.88rem, 1.02rem);
    line-height: 1.68;
    color: var(--fd-muted);
    margin: 0;
}

.portfolio-slider-section {
    position: relative;
    padding: clamp(4rem, 10vw, 6rem) 0;
    background:
        radial-gradient(120% 80% at 50% -10%, rgba(59, 130, 246, 0.06), transparent 55%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 38%, var(--fd-surface) 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
    border-bottom: 1px solid rgba(30, 58, 138, 0.06);
}

.portfolio-slider-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.portfolio-slider-header {
    margin-bottom: clamp(2rem, 4.5vw, 2.85rem);
    padding: 0;
}

.portfolio-slider__eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--fd-blue-bright);
    margin: 0 0 0.6rem;
}

.portfolio-slider-header .portfolio-slider-title,
.portfolio-slider-header .portfolio-slider-subtitle,
.portfolio-slider-header .portfolio-slider-description {
    animation: none;
}

.portfolio-slider-header .portfolio-slider-title {
    font-size: clamp(2rem, 1.2vw + 1.65rem, 2.65rem);
    letter-spacing: -0.035em;
    color: var(--fd-navy);
}

.portfolio-slider-header .portfolio-slider-subtitle {
    font-size: clamp(1.2rem, 0.6vw + 1.05rem, 1.55rem);
    font-weight: 600;
    color: var(--fd-slate);
    margin-bottom: 0.65rem;
}

.portfolio-slider-header .portfolio-slider-description {
    font-size: clamp(0.94rem, 0.25vw + 0.88rem, 1.04rem);
    line-height: 1.65;
    color: var(--fd-muted);
    max-width: 36rem;
}

.portfolio-slider-section .portfolio-info {
    padding: 1.35rem 1.35rem 1.45rem;
    gap: 0.35rem;
}

.portfolio-slider-section .portfolio-badge {
    padding: 0.28rem 0.7rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    border-radius: var(--fd-radius-pill);
    background: rgba(30, 58, 138, 0.07);
    color: var(--fd-navy);
    border: 1px solid rgba(30, 58, 138, 0.14);
    box-shadow: none;
}

.portfolio-slider-section .portfolio-badge.software {
    background: rgba(16, 185, 129, 0.09);
    color: #047857;
    border-color: rgba(16, 185, 129, 0.22);
}

.portfolio-slider-section .portfolio-badge.mobile {
    background: rgba(124, 58, 237, 0.09);
    color: #5b21b6;
    border-color: rgba(124, 58, 237, 0.2);
}

.portfolio-slider-section .portfolio-badge.branding {
    background: rgba(236, 72, 153, 0.08);
    color: #9d174d;
    border-color: rgba(236, 72, 153, 0.2);
}

.portfolio-slider-section .portfolio-name {
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #1f2937;
}

.slider-wrapper.portfolio-marquee {
    mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}

.slider-wrapper.portfolio-marquee--static {
    mask-image: none;
    -webkit-mask-image: none;
}

.slider-track.slider-track--marquee {
    width: max-content;
    animation: none !important;
    transition: none !important;
    will-change: transform;
}

.slider-wrapper.portfolio-marquee--static .slider-track.slider-track--marquee {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    transform: none !important;
    will-change: auto;
}

.portfolio-slider-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.85rem;
    margin-top: clamp(1.15rem, 2.8vw, 1.65rem);
    margin-right: auto;
    margin-left: auto;
}

.portfolio-marquee--static .portfolio-slider-nav {
    display: none;
}

.portfolio-slider-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 1px solid rgba(30, 58, 138, 0.14);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--fd-navy);
    cursor: pointer;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.75) inset,
        0 10px 24px rgba(30, 58, 138, 0.1);
    transition:
        transform 0.25s var(--fd-ease-out),
        box-shadow 0.25s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .portfolio-slider-btn:hover {
        transform: translateY(-2px);
        border-color: rgba(30, 58, 138, 0.24);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.85) inset,
            0 14px 32px rgba(30, 58, 138, 0.14);
        color: var(--fd-blue-bright);
    }
}

.portfolio-slider-btn:active {
    transform: scale(0.97);
}

.portfolio-slider-btn:focus-visible {
    outline: 2px solid var(--fd-outline);
    outline-offset: 3px;
}

.portfolio-slider-section .discover-more-container {
    margin-top: clamp(2rem, 4vw, 2.75rem);
}

.portfolio-card {
    border-radius: var(--fd-radius-md);
    overflow: hidden;
    border: 1px solid rgba(30, 58, 138, 0.08);
    box-shadow: var(--fd-shadow);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
}

.portfolio-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: var(--fd-shadow-lg);
}

.portfolio-image img {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.portfolio-card:hover .portfolio-image img {
    transform: scale(1.06);
}

.footer {
    position: relative;
    padding-top: clamp(3.25rem, 7vw, 5rem);
    padding-bottom: 0;
    background: linear-gradient(165deg, #152a52 0%, #1e3a7a 38%, var(--fd-navy) 62%, #141d3a 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    color: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(147, 197, 253, 0.15) 18%,
        rgba(147, 197, 253, 0.65) 50%,
        rgba(147, 197, 253, 0.15) 82%,
        transparent 100%
    );
    pointer-events: none;
}

.footer::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(120% 55% at 50% -10%, rgba(96, 165, 250, 0.14), transparent 52%),
        radial-gradient(ellipse 55% 45% at 100% 110%, rgba(15, 23, 42, 0.55), transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.footer .footer-container {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 900px) {
    .footer .footer-container {
        grid-template-columns: minmax(280px, 1.05fr) minmax(0, 1.9fr);
        align-items: start;
    }
}

.footer-logo-link {
    display: inline-block;
    max-width: 100%;
    text-decoration: none;
    border-radius: var(--fd-radius-sm);
    transition: opacity 0.25s ease, transform 0.3s var(--fd-ease-out);
}

.footer-logo-link:hover {
    opacity: 0.92;
}

.footer-logo-link:focus-visible {
    outline: 2px solid var(--fd-outline);
    outline-offset: 4px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer-logo-link:hover {
        transform: translateY(-2px);
    }
}

.footer-brand {
    margin-bottom: 0;
    gap: clamp(1.15rem, 2.5vw, 1.65rem);
    max-width: min(22rem, 100%);
}

.footer .logo {
    margin-bottom: 0;
    align-items: center;
    max-width: 100%;
}

.footer .logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    min-width: 0;
    max-width: 100%;
    margin-right: 0;
    padding: clamp(0.3rem, 1.2vw, 0.4rem) clamp(0.35rem, 1.5vw, 0.5rem);
    border-radius: var(--fd-radius-sm);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 4px 16px rgba(15, 23, 42, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.3s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer-logo-link:hover .logo-icon {
        background: rgba(96, 165, 250, 0.14);
        border-color: rgba(147, 197, 253, 0.32);
        box-shadow:
            0 8px 24px rgba(15, 23, 42, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
}

.footer .logo-icon img,
img.footer-logo-img {
    display: block;
    width: auto;
    height: var(--fd-footer-logo-height);
    max-width: var(--fd-footer-logo-max-width);
    max-height: var(--fd-footer-logo-height);
    object-fit: contain;
    object-position: center;
}

@media (max-width: 768px) {
    .footer-brand {
        max-width: 100%;
    }

    .footer .logo-icon img,
    img.footer-logo-img {
        --fd-footer-logo-height: clamp(2.5rem, 8vw + 0.5rem, 3rem);
        --fd-footer-logo-max-width: min(6.5rem, 65vw);
        height: var(--fd-footer-logo-height);
        max-height: var(--fd-footer-logo-height);
        max-width: var(--fd-footer-logo-max-width);
    }
}

@media (max-width: 480px) {
    .footer-brand {
        align-items: center;
        text-align: center;
    }

    .footer .logo {
        justify-content: center;
        width: 100%;
    }

    .footer-logo-link {
        margin-inline: auto;
    }

    .footer .logo-icon img,
    img.footer-logo-img {
        --fd-footer-logo-height: clamp(2.25rem, 10vw + 0.35rem, 2.75rem);
        --fd-footer-logo-max-width: min(5.75rem, 58vw);
        height: var(--fd-footer-logo-height);
        max-height: var(--fd-footer-logo-height);
        max-width: var(--fd-footer-logo-max-width);
    }

    .footer-paragraph {
        max-width: 100%;
    }
}

@media (max-width: 380px) {
    .footer .logo-icon img,
    img.footer-logo-img {
        --fd-footer-logo-height: clamp(2rem, 11vw, 2.5rem);
        --fd-footer-logo-max-width: min(5rem, 52vw);
        height: var(--fd-footer-logo-height);
        max-height: var(--fd-footer-logo-height);
        max-width: var(--fd-footer-logo-max-width);
    }
}

.footer-paragraph {
    font-size: clamp(0.9rem, 0.2vw + 0.86rem, 0.98rem);
    line-height: 1.7;
    color: rgba(203, 213, 225, 0.88);
    max-width: 26rem;
}

.footer-links {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: clamp(1.5rem, 3vw, 2.75rem);
    margin-bottom: 0;
    padding-bottom: clamp(2rem, 4vw, 2.75rem);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 640px) {
    .footer-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.footer-heading {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(248, 250, 252, 0.98);
    margin-bottom: 1.1rem;
}

.footer-list li {
    margin-bottom: 0.35rem;
}

.footer .footer-list .footer-link {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.65rem;
    margin-left: -0.65rem;
    font-size: 0.94rem;
    font-weight: 500;
    color: rgba(203, 213, 225, 0.92);
    text-decoration: none;
    border-radius: var(--fd-radius-sm);
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer .footer-list .footer-link:hover {
        color: #fff;
        background: rgba(255, 255, 255, 0.08);
        transform: translateX(3px);
    }
}

.footer .social-links {
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-top: 0.15rem;
}

.footer .social-link {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 999px;
    color: rgba(226, 232, 240, 0.85);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.3s ease,
        transform 0.3s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer .social-link:hover {
        color: #fff;
        background: rgba(96, 165, 250, 0.2);
        border-color: rgba(147, 197, 253, 0.45);
        box-shadow: 0 8px 24px rgba(30, 58, 138, 0.35);
        transform: translateY(-3px);
    }
}

.footer-bottom {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    padding: 1.35rem 0 clamp(1.75rem, 4vw, 2.5rem);
    border-top: none;
}

.footer-bottom .footer-container {
    padding-top: 0;
}

.footer-bottom-content {
    padding-top: 0;
}

.copyright {
    font-size: 0.86rem;
    letter-spacing: 0.02em;
    color: rgba(148, 163, 184, 0.9);
}

.footer-bottom-links {
    gap: 0.35rem 1.25rem;
    flex-wrap: wrap;
}

.footer-bottom-link {
    font-size: 0.86rem;
    font-weight: 500;
    color: rgba(148, 163, 184, 0.95);
    text-decoration: none;
    padding: 0.35rem 0.55rem;
    border-radius: var(--fd-radius-sm);
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer-bottom-link:hover {
        color: #fff;
        background: rgba(255, 255, 255, 0.06);
    }
}

/* Footer link columns: full-width centered row (≤340px), aligned with legal links */
@media (max-width: 340px) {
    .footer .footer-container {
        padding-inline: max(0.5rem, 2.5vw);
    }

    .footer-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem clamp(0.35rem, 2vw, 0.75rem);
        width: 100%;
        justify-items: stretch;
        text-align: center;
        margin-bottom: 0;
        padding-bottom: clamp(1.35rem, 4vw, 1.75rem);
    }

    .footer-column {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        min-width: 0;
    }

    .footer-heading {
        font-size: clamp(0.58rem, 2.8vw, 0.68rem);
        letter-spacing: 0.08em;
        margin-bottom: 0.55rem;
        width: 100%;
        line-height: 1.25;
    }

    .footer-list {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.15rem;
    }

    .footer-list li {
        margin-bottom: 0;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .footer .footer-list .footer-link {
        margin-left: 0;
        justify-content: center;
        padding: 0.28rem 0.2rem;
        font-size: clamp(0.68rem, 3vw, 0.78rem);
        line-height: 1.35;
        width: auto;
        max-width: 100%;
        text-align: center;
    }

    .footer .social-links {
        justify-content: center;
        width: 100%;
        gap: 0.45rem;
    }

    .footer .social-link {
        width: 2.15rem;
        height: 2.15rem;
    }

    .footer-bottom {
        width: 100%;
    }

    .footer-bottom-content {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 0.85rem;
        width: 100%;
    }

    .footer-bottom-links {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        gap: 0.35rem clamp(0.65rem, 3vw, 1rem);
        order: -1;
    }

    .footer-bottom-link {
        font-size: clamp(0.72rem, 3.2vw, 0.82rem);
        padding: 0.3rem 0.4rem;
    }

    .copyright {
        width: 100%;
        text-align: center;
        font-size: clamp(0.72rem, 3vw, 0.8rem);
        line-height: 1.45;
    }
}

@media (max-width: 340px) and (hover: hover) and (prefers-reduced-motion: no-preference) {
    .footer .footer-list .footer-link:hover {
        transform: none;
    }
}

.discover-more-btn {
    border-radius: var(--fd-radius-pill, 999px);
}

@media (prefers-reduced-motion: reduce) {
    .hero-badge-dot {
        animation: none;
    }
}

/* Hero: stack copy above image before columns get too narrow (overlap at ~1075px) */
@media (max-width: 1075px) {
    .hero {
        grid-template-columns: 1fr;
        row-gap: 0;
        min-height: auto;
    }

    .hero-container {
        justify-self: stretch;
        align-items: center;
        place-items: center;
        text-align: center;
        min-height: auto;
        height: auto;
        padding-top: calc(var(--fd-navbar-offset) + clamp(1.5rem, 4vw, 2.5rem));
        padding-right: clamp(1rem, 3vw, 1.5rem);
        padding-bottom: clamp(1.25rem, 3vw, 1.75rem);
        padding-left: clamp(1rem, 3vw, 1.5rem);
    }

    .hero .hero-content {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        align-self: stretch;
        align-items: center;
        text-align: center;
        padding-top: clamp(0.5rem, 2vw, 1.25rem);
    }

    .hero-headline {
        font-size: clamp(2rem, 4.2vw, 2.85rem);
        text-align: center;
        width: 100%;
    }

    .hero-lead {
        max-width: min(32rem, 100%);
        margin-inline: auto;
        text-align: center;
    }

    .hero .hero-content > .hero-badge,
    .hero-badge {
        align-self: center;
        margin-inline: auto;
        text-align: center;
        justify-content: center;
        max-width: 100%;
        width: fit-content;
        font-size: clamp(0.4rem, 0.38vw + 0.42rem, 0.5625rem);
        letter-spacing: 0.05em;
        padding: clamp(0.28rem, 1vw, 0.36rem) clamp(0.5rem, 2vw, 0.75rem);
    }

    .hero-buttons {
        justify-content: center;
        width: 100%;
    }

    .hero-figure {
        min-height: min(52vh, 30rem);
        height: auto;
        width: 100%;
    }
}

@media (min-width: 1076px) and (max-width: 1280px) {
    .hero-headline {
        font-size: clamp(2.1rem, 3.4vw, 3.15rem);
    }

    .hero-badge {
        max-width: 100%;
        font-size: clamp(0.4125rem, 0.36vw + 0.44rem, 0.5875rem);
    }
}

@media (max-width: 480px) {
    .hero-badge {
        font-size: clamp(0.3625rem, 0.3vw + 0.38rem, 0.4875rem);
        padding: 0.22rem 0.45rem;
    }
}

/* Hero CTAs — stack and center below 425px (overrides legacy btn max-width rules) */
@media (max-width: 425px) {
    .hero .hero-content {
        align-items: center;
    }

    .hero-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        gap: 0.65rem;
    }

    .hero-buttons .hero-cta-primary,
    .hero-buttons .hero-cta-secondary,
    .hero-buttons .btn-primary,
    .hero-buttons .btn-secondary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        max-width: min(18.5rem, 100%);
        margin-inline: auto;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .mobile-menu-toggle.is-open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .mobile-menu-toggle.is-open span:nth-child(2) {
        opacity: 0;
    }
    .mobile-menu-toggle.is-open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
    .hero {
        grid-template-columns: 1fr;
        padding: 0;
        align-items: stretch;
        row-gap: 0;
    }

    .hero-container {
        text-align: center;
        align-items: center;
        place-items: center;
        justify-self: stretch;
        min-height: auto;
        height: auto;
        padding-top: calc(var(--fd-navbar-offset) + clamp(1.25rem, 4vw, 1.75rem));
        padding-right: 1rem;
        padding-bottom: clamp(1.25rem, 4vw, 1.75rem);
        padding-left: 1rem;
    }

    .hero .hero-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        align-self: stretch;
        text-align: center;
        padding-top: clamp(0.75rem, 2.5vw, 1.85rem);
    }

    .hero .hero-content > .hero-badge,
    .hero-badge {
        align-self: center;
        margin-inline: auto;
        text-align: center;
        justify-content: center;
        max-width: 100%;
        width: fit-content;
        font-size: clamp(0.3875rem, 0.34vw + 0.4rem, 0.5375rem);
        letter-spacing: 0.045em;
        padding: clamp(0.26rem, 0.9vw, 0.34rem) clamp(0.48rem, 1.8vw, 0.68rem);
    }

    .hero-headline {
        text-align: center;
        width: 100%;
    }

    .hero-lead {
        margin-inline: auto;
        max-width: 100%;
        text-align: center;
    }

    .hero-buttons {
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    .hero-figure {
        position: relative;
        width: 100%;
        min-width: 0;
        justify-self: stretch;
        padding: 0;
        margin: 0;
        margin-block: 0;
        padding-block: 0;
        min-height: min(58vh, 32rem);
        align-self: stretch;
    }

    .hero-image {
        position: absolute;
        inset: 0;
        max-width: 100%;
        margin: 0;
        border-radius: 0;
    }

    .hero-image img {
        min-height: 0;
        max-height: none;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}

/* ========== Flowdeck motion system (scroll reveals + micro-interactions) ========== */

.js-reveal {
    opacity: 0;
    transform: translate3d(0, var(--fd-reveal-shift), 0);
    transition:
        opacity 0.82s var(--fd-ease-out),
        transform 0.82s var(--fd-ease-out);
    will-change: transform, opacity;
}

.js-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    will-change: auto;
}

.js-reveal--left {
    transform: translate3d(calc(-1 * var(--fd-reveal-shift)), 0, 0);
}

.js-reveal--left.is-revealed {
    transform: translate3d(0, 0, 0);
}

.js-reveal--right {
    transform: translate3d(var(--fd-reveal-shift), 0, 0);
}

.js-reveal--right.is-revealed {
    transform: translate3d(0, 0, 0);
}

.js-reveal--scale {
    transform: translate3d(0, var(--fd-reveal-shift), 0) scale(0.94);
}

.js-reveal--scale.is-revealed {
    transform: translate3d(0, 0, 0) scale(1);
}

.services-grid .service-card.js-reveal:nth-child(1) { transition-delay: 0.04s; }
.services-grid .service-card.js-reveal:nth-child(2) { transition-delay: 0.1s; }
.services-grid .service-card.js-reveal:nth-child(3) { transition-delay: 0.16s; }
.services-grid .service-card.js-reveal:nth-child(4) { transition-delay: 0.22s; }
.services-grid .service-card.js-reveal:nth-child(5) { transition-delay: 0.28s; }
.services-grid .service-card.js-reveal:nth-child(6) { transition-delay: 0.34s; }

.culture-grid .culture-cell.js-reveal:nth-child(1) { transition-delay: 0.06s; }
.culture-grid .culture-cell.js-reveal:nth-child(2) { transition-delay: 0.12s; }
.culture-grid .culture-cell.js-reveal:nth-child(3) { transition-delay: 0.18s; }
.culture-grid .culture-cell.js-reveal:nth-child(4) { transition-delay: 0.24s; }

.stats-band .stat-item.js-reveal:nth-child(1) { transition-delay: 0.05s; }
.stats-band .stat-item.js-reveal:nth-child(2) { transition-delay: 0.12s; }
.stats-band .stat-item.js-reveal:nth-child(3) { transition-delay: 0.19s; }
.stats-band .stat-item.js-reveal:nth-child(4) { transition-delay: 0.26s; }

.faq-grid .faq-item.js-reveal:nth-child(1) { transition-delay: 0.04s; }
.faq-grid .faq-item.js-reveal:nth-child(2) { transition-delay: 0.1s; }
.faq-grid .faq-item.js-reveal:nth-child(3) { transition-delay: 0.16s; }
.faq-grid .faq-item.js-reveal:nth-child(4) { transition-delay: 0.22s; }

.institute-content .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.institute-content .js-reveal:nth-child(2) { transition-delay: 0.09s; }
.institute-content .js-reveal:nth-child(3) { transition-delay: 0.14s; }
.institute-content .js-reveal:nth-child(4) { transition-delay: 0.19s; }
.institute-content .js-reveal:nth-child(5) { transition-delay: 0.24s; }
.institute-content .js-reveal:nth-child(6) { transition-delay: 0.3s; }

.about-content .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.about-content .js-reveal:nth-child(2) { transition-delay: 0.1s; }
.about-content .js-reveal:nth-child(3) { transition-delay: 0.16s; }
.about-content .js-reveal:nth-child(4) { transition-delay: 0.22s; }
.about-content .js-reveal:nth-child(5) { transition-delay: 0.28s; }
.about-content .js-reveal:nth-child(6) { transition-delay: 0.34s; }
.about-content .js-reveal:nth-child(7) { transition-delay: 0.4s; }

.services-header .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.services-header .js-reveal:nth-child(2) { transition-delay: 0.1s; }
.services-header .js-reveal:nth-child(3) { transition-delay: 0.16s; }

.culture-strip-header .js-reveal:nth-child(1) { transition-delay: 0.05s; }
.culture-strip-header .js-reveal:nth-child(2) { transition-delay: 0.12s; }

.portfolio-slider-header .js-reveal:nth-child(1) { transition-delay: 0.05s; }
.portfolio-slider-header .js-reveal:nth-child(2) { transition-delay: 0.1s; }
.portfolio-slider-header .js-reveal:nth-child(3) { transition-delay: 0.15s; }
.portfolio-slider-header .js-reveal:nth-child(4) { transition-delay: 0.2s; }

.container .header .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.container .header .js-reveal:nth-child(2) { transition-delay: 0.12s; }

.faq-section .faq-section__header .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.faq-section .faq-section__header .js-reveal:nth-child(2) { transition-delay: 0.1s; }
.faq-section .faq-section__header .js-reveal:nth-child(3) { transition-delay: 0.16s; }

.success-stories__inner > .js-reveal:nth-child(1) { transition-delay: 0.04s; }
.success-stories__inner > .js-reveal:nth-child(2) { transition-delay: 0.1s; }
.success-stories__inner > .js-reveal:nth-child(3) { transition-delay: 0.16s; }
.success-stories__inner > .js-reveal:nth-child(4) { transition-delay: 0.22s; }
.success-stories__inner > .js-reveal:nth-child(5) { transition-delay: 0.28s; }

.portfolio-slider-section .slider-wrapper.js-reveal { transition-delay: 0.12s; }
.portfolio-slider-section .discover-more-container.js-reveal { transition-delay: 0.24s; }

.contact-cards-container .contact-card.js-reveal:nth-child(1) { transition-delay: 0.07s; }
.contact-cards-container .contact-card.js-reveal:nth-child(2) { transition-delay: 0.14s; }
.contact-cards-container .contact-card.js-reveal:nth-child(3) { transition-delay: 0.21s; }

.services-page .about-section .about-figure.js-reveal {
    transition-delay: 0.06s;
}

.testimonials-grid .testimonial-card.js-reveal:nth-child(1) { transition-delay: 0.04s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(2) { transition-delay: 0.09s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(3) { transition-delay: 0.14s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(4) { transition-delay: 0.19s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(5) { transition-delay: 0.24s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(6) { transition-delay: 0.29s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(7) { transition-delay: 0.34s; }
.testimonials-grid .testimonial-card.js-reveal:nth-child(8) { transition-delay: 0.39s; }

.portfolio-section .portfolio-tabs.js-reveal { transition-delay: 0.05s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(1) { transition-delay: 0.04s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(2) { transition-delay: 0.07s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(3) { transition-delay: 0.1s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(4) { transition-delay: 0.13s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(5) { transition-delay: 0.16s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(6) { transition-delay: 0.19s; }
.portfolio-section .portfolio-item.js-reveal:nth-child(n + 7) { transition-delay: 0.22s; }

.contact-form-wrapper.js-reveal { transition-delay: 0.08s; }

.hero-image img {
    transition: transform 1.1s var(--fd-ease-out);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .hero:hover .hero-image img {
        transform: scale(1.12);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) and (max-width: 768px) {
    .hero:hover .hero-image img {
        transform: scale(1.04);
    }
}

.btn-primary,
.btn-secondary,
.discover-btn,
.apply-btn,
.discover-more-btn,
.contact-btn,
.submit-btn,
.read-more {
    transition:
        transform 0.35s var(--fd-ease-out),
        box-shadow 0.35s var(--fd-ease-out),
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.btn-primary:active,
.btn-secondary:active,
.discover-btn:active,
.apply-btn:active {
    transform: scale(0.98);
}

.nav-links a {
    transition:
        color 0.25s var(--fd-ease-smooth),
        opacity 0.25s ease;
}

.carousel-container {
    transition: box-shadow 0.45s var(--fd-ease-out);
}

.success-stories .carousel-wrapper.is-focused .carousel-container {
    box-shadow: 0 28px 56px rgba(30, 58, 138, 0.12);
}

.nav-btn {
    transition:
        transform 0.3s var(--fd-ease-spring),
        background-color 0.25s ease,
        color 0.25s ease,
        box-shadow 0.3s ease;
}

.portfolio-slider-section .slider-wrapper {
    transition: opacity 0.5s var(--fd-ease-out);
}

.footer-link,
.footer-bottom-link {
    transition: color 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.mobile-menu-toggle span {
    transition: transform 0.35s var(--fd-ease-out), opacity 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
    .js-reveal,
    .js-reveal.is-revealed {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    .services-grid .service-card.js-reveal,
    .culture-grid .culture-cell.js-reveal,
    .stats-band .stat-item.js-reveal,
    .faq-grid .faq-item.js-reveal,
    .institute-content .js-reveal,
    .about-content .js-reveal,
    .meet-team .team-card.js-reveal,
    .about-team__header .js-reveal,
    .contact-cards-container .contact-card.js-reveal,
    .testimonials-grid .testimonial-card.js-reveal,
    .portfolio-section .portfolio-item.js-reveal,
    .portfolio-section .portfolio-tabs.js-reveal,
    .services-page .about-section .about-figure.js-reveal,
    .services-page .about-section .about-content .js-reveal {
        transition-delay: 0s !important;
    }

    .hero-image img {
        transition: none !important;
        transform: none !important;
    }

    .slider-track {
        animation: none !important;
    }

    .carousel-track {
        transition: none !important;
    }

    .footer-logo-link:hover,
    .footer .footer-list .footer-link:hover,
    .footer .social-link:hover {
        transform: none;
    }

    .footer-column {
        animation: none !important;
    }
}

/* ========== Inner pages — align with index.html art direction ========== */

.services-header-section {
    margin-top: 0;
    padding: calc(var(--fd-navbar-offset) + clamp(2.5rem, 6.5vw, 4rem)) 0 clamp(2rem, 4.5vw, 3.25rem);
    background:
        radial-gradient(ellipse 90% 55% at 10% 0%, rgba(30, 64, 175, 0.06), transparent 52%),
        radial-gradient(ellipse 70% 50% at 92% 18%, rgba(147, 197, 253, 0.22), transparent 48%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 50%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(30, 58, 138, 0.07);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.services-header-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(12.5rem, 42vw);
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--fd-blue-soft), transparent);
    opacity: 0.55;
    pointer-events: none;
}

.services-header-container {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
    text-align: center;
}

.services-header-section .culture-eyebrow {
    margin-bottom: 0.85rem;
}

.services-header-title {
    font-size: clamp(2rem, 2.4vw + 1.15rem, 3.4rem);
    font-weight: 800;
    letter-spacing: -0.036em;
    line-height: 1.07;
    color: var(--fd-navy);
    margin-bottom: clamp(0.65rem, 1.8vw, 1.1rem);
    animation: none;
}

.services-header-description {
    font-size: clamp(1rem, 0.32vw + 0.93rem, 1.13rem);
    line-height: 1.72;
    color: var(--fd-muted);
    max-width: 40rem;
    margin: 0 auto;
    font-weight: 400;
    animation: none;
}

.portfolio-header-section {
    margin-top: 0;
    max-height: none;
    min-height: 0;
    padding: calc(var(--fd-navbar-offset) + clamp(2.5rem, 6vw, 3.85rem)) 0 clamp(2rem, 4vw, 3rem);
    background:
        radial-gradient(ellipse 88% 58% at 12% 25%, rgba(30, 64, 175, 0.07), transparent 54%),
        linear-gradient(165deg, var(--fd-surface-2) 0%, var(--fd-surface) 52%, #eef2f7 100%);
    border-bottom: 1px solid rgba(30, 58, 138, 0.07);
}

.portfolio-header-section .decorative-circle,
.portfolio-header-section .decorative-wave {
    opacity: 0.26;
    pointer-events: none;
}

.portfolio-header-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
    text-align: center;
    position: relative;
    z-index: 2;
}

.portfolio-header-section .culture-eyebrow {
    margin-bottom: 1rem;
}

.portfolio-header-section .portfolio-title {
    font-size: clamp(1.75rem, 2.1vw + 1rem, 2.85rem);
    font-weight: 800;
    letter-spacing: -0.034em;
    color: var(--fd-navy);
    line-height: 1.08;
}

.portfolio-section {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(3.5rem, 7vw, 5.5rem);
    background: linear-gradient(180deg, var(--fd-surface) 0%, var(--fd-surface-2) 100%);
}

.portfolio-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.about-hero {
    margin-top: 0;
    padding-top: var(--fd-navbar-offset);
    min-height: min(52vh, 32rem);
    height: auto;
    justify-content: flex-start;
    align-items: flex-end;
    padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.about-hero-overlay {
    background: linear-gradient(105deg, rgba(15, 23, 42, 0.78) 0%, rgba(30, 58, 138, 0.52) 42%, rgba(30, 64, 175, 0.22) 100%);
}

.about-hero-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.about-hero-title {
    font-size: clamp(2.35rem, 4.5vw, 3.85rem);
    font-weight: 800;
    letter-spacing: -0.038em;
    line-height: 1.05;
    color: #f8fafc;
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.35);
    animation: none;
}

.about-hero .culture-eyebrow {
    color: rgba(248, 250, 252, 0.95);
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    margin-bottom: 0.9rem;
}

@media (prefers-reduced-motion: reduce) {
    .about-hero {
        background-attachment: scroll;
    }
}

body > section.service-detail-section:nth-child(odd) {
    background: var(--fd-surface);
}

body > section.service-detail-section:nth-child(even) {
    background: linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 100%);
}

.service-detail-container {
    max-width: 1240px;
    padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem);
    gap: clamp(2rem, 4vw, 3.5rem);
}

.service-detail-title {
    font-size: clamp(1.85rem, 2.1vw + 1rem, 2.85rem);
    font-weight: 800;
    letter-spacing: -0.032em;
    color: var(--fd-navy);
}

.service-detail-description {
    font-size: clamp(1rem, 0.28vw + 0.94rem, 1.08rem);
    line-height: 1.72;
    color: var(--fd-muted);
}

.service-detail-image img {
    border-radius: var(--fd-radius-md);
    box-shadow: var(--fd-shadow);
    border: 1px solid rgba(30, 58, 138, 0.08);
}

.testimonials-section {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(3.5rem, 7vw, 5.5rem);
    background: linear-gradient(180deg, var(--fd-surface) 0%, var(--fd-surface-2) 55%, var(--fd-surface) 100%);
}

.testimonials-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.contact-cards-section {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
    background: var(--fd-surface);
}

.contact-cards-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.contact-section {
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3.5rem, 7vw, 5rem);
    background: linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 100%);
}

.contact-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.about-text-section {
    padding: clamp(3rem, 7vw, 5rem) 0;
    background: var(--fd-surface);
}

.about-text-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.about-main-heading {
    font-size: clamp(1.35rem, 1.5vw + 0.95rem, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.028em;
    line-height: 1.35;
    color: var(--fd-navy);
}

.about-content .about-paragraph {
    font-size: clamp(1rem, 0.25vw + 0.92rem, 1.06rem);
    line-height: 1.75;
    color: var(--fd-muted);
}

.who-we-are,
.our-vision,
.our-mission {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.who-we-are .image-frame img,
.our-vision .image-frame img,
.our-mission .image-frame img {
    border-radius: var(--fd-radius-md);
    box-shadow: var(--fd-shadow);
}

.who-we-are {
    background: var(--fd-surface-2);
}

.our-vision {
    background: var(--fd-surface);
}

.our-mission {
    background: linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 100%);
}

.who-we-are-container,
.our-vision-container,
.our-mission-container {
    max-width: 1240px;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.who-we-are .section-title,
.our-vision .section-title,
.our-mission .section-title {
    font-size: clamp(1.65rem, 1.8vw + 0.95rem, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--fd-navy);
}

.who-we-are .section-description,
.our-vision .section-description,
.our-mission .section-description {
    font-size: clamp(1rem, 0.22vw + 0.93rem, 1.05rem);
    line-height: 1.72;
    color: var(--fd-muted);
}

.services-header-section .js-reveal:nth-child(1) {
    transition-delay: 0.04s;
}

.services-header-section .js-reveal:nth-child(2) {
    transition-delay: 0.1s;
}

.services-header-section .js-reveal:nth-child(3) {
    transition-delay: 0.16s;
}

.portfolio-header-section .js-reveal:nth-child(1) {
    transition-delay: 0.04s;
}

.portfolio-header-section .js-reveal:nth-child(2) {
    transition-delay: 0.1s;
}

.about-hero-container .js-reveal:nth-child(1) {
    transition-delay: 0.05s;
}

.about-hero-container .js-reveal:nth-child(2) {
    transition-delay: 0.11s;
}

/* ========== About page (aligned with index strips) ========== */

.about-section.about-section--reverse .about-container > .about-figure {
    order: 2;
}

.about-section.about-section--reverse .about-container > .about-content {
    order: 1;
}

.about-section.about-section--alt {
    background:
        radial-gradient(ellipse 80% 55% at 100% 20%, rgba(147, 197, 253, 0.12), transparent 50%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, #ffffff 55%, var(--fd-surface-2) 100%);
}

.about-section.about-section--alt::before {
    opacity: 0.65;
}

/* About page masthead — asymmetric layout: editorial column + at-a-glance rail */
.about-masthead {
    position: relative;
    isolation: isolate;
    padding:
        calc(var(--fd-navbar-offset) + clamp(2rem, 5vw, 3.5rem)) 0
        clamp(3.25rem, 8vw, 5.25rem);
    background:
        radial-gradient(ellipse 55% 42% at 8% 18%, rgba(129, 140, 248, 0.11), transparent 58%),
        linear-gradient(185deg, #f1f5f9 0%, var(--fd-surface) 45%, #f8fafc 100%);
    border-bottom: 1px solid rgba(30, 58, 138, 0.06);
}

.about-masthead__ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(ellipse 52% 48% at 92% 8%, rgba(59, 130, 246, 0.12), transparent 58%),
        radial-gradient(ellipse 38% 36% at 62% 92%, rgba(147, 197, 253, 0.14), transparent 55%);
    opacity: 0.95;
}

.about-masthead__inner {
    position: relative;
    z-index: 1;
    max-width: min(72rem, 100%);
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
}

.about-masthead__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 19.25rem);
    gap: clamp(2rem, 5vw, 3.75rem);
    align-items: start;
}

.about-masthead__main {
    position: relative;
    padding-left: 0;
}

@media (min-width: 901px) {
    .about-masthead__main::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.35rem;
        bottom: 0.35rem;
        width: 3px;
        border-radius: var(--fd-radius-pill);
        background: linear-gradient(
            180deg,
            rgba(59, 130, 246, 0.55) 0%,
            rgba(30, 58, 138, 0.35) 52%,
            rgba(147, 197, 253, 0.45) 100%
        );
        opacity: 0.55;
        pointer-events: none;
    }

    .about-masthead__crumb,
    .about-masthead__eyebrow,
    .about-masthead__title,
    .about-masthead__lead {
        padding-left: clamp(1.1rem, 2vw, 1.5rem);
    }
}

.about-masthead__rail {
    position: relative;
}

.about-masthead__rail-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fd-muted);
    margin: 0 0 0.65rem;
}

.about-masthead__crumb {
    margin-bottom: clamp(1rem, 2.5vw, 1.35rem);
}

.about-masthead__crumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    list-style: none;
    font-size: clamp(0.78rem, 0.2vw + 0.72rem, 0.84rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--fd-muted);
}

.about-masthead__crumb li {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.about-masthead__crumb li:not(:last-child)::after {
    content: "/";
    color: rgba(107, 114, 128, 0.55);
    font-weight: 500;
    margin-left: 0.65rem;
}

.about-masthead__crumb a {
    color: var(--fd-slate);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .about-masthead__crumb a:hover {
        color: var(--fd-navy);
        border-bottom-color: rgba(30, 58, 138, 0.35);
    }
}

.about-masthead__eyebrow {
    font-size: clamp(0.78rem, 0.25vw + 0.72rem, 0.82rem);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fd-blue-bright);
    margin-bottom: 0.55rem;
}

.about-masthead__title {
    display: flex;
    flex-direction: column;
    gap: clamp(0.05rem, 0.6vw, 0.3rem);
    font-size: clamp(2.15rem, 4.2vw + 0.85rem, 3.75rem);
    font-weight: 700;
    letter-spacing: -0.038em;
    line-height: 1.04;
    color: var(--fd-navy);
    margin: 0 0 clamp(1.25rem, 2.8vw, 1.75rem);
    text-wrap: balance;
}

.about-masthead__title-pre {
    font-weight: 600;
    color: var(--fd-slate);
}

.about-masthead__title-em {
    font-weight: 800;
    letter-spacing: -0.042em;
    background: linear-gradient(
        118deg,
        var(--fd-navy) 0%,
        var(--fd-blue) 48%,
        var(--fd-blue-soft) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

@supports not (background-clip: text) {
    .about-masthead__title-em {
        color: var(--fd-blue);
        -webkit-text-fill-color: currentColor;
        background: none;
    }
}

.about-masthead__lead {
    font-size: clamp(1.04rem, 0.42vw + 0.95rem, 1.2rem);
    line-height: 1.78;
    color: var(--fd-slate);
    max-width: 42rem;
    margin: 0;
    text-wrap: pretty;
}

.about-masthead__rail .about-masthead__pillars {
    list-style: none;
    margin: 0;
    padding: clamp(1.2rem, 2.5vw, 1.55rem);
    display: flex;
    flex-direction: column;
    gap: 0;
    border-radius: var(--fd-radius-md);
    border: 1px solid rgba(30, 58, 138, 0.1);
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 12px 40px rgba(30, 58, 138, 0.07);
}

.about-masthead__rail .about-masthead__pillar {
    padding: clamp(0.8rem, 1.6vw, 0.95rem) 0;
    border-bottom: 1px solid rgba(30, 58, 138, 0.08);
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
    background: transparent;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.28rem;
}

.about-masthead__rail .about-masthead__pillar:first-of-type {
    padding-top: 0;
}

.about-masthead__rail .about-masthead__pillar:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.about-masthead__rail .about-masthead__pillar-kicker {
    font-size: 0.65625rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fd-muted);
}

.about-masthead__rail .about-masthead__pillar-value {
    font-size: clamp(0.92rem, 0.28vw + 0.86rem, 1.02rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--fd-navy);
}

.about-masthead__rail .about-masthead__pillar-value--link {
    text-decoration: underline;
    text-decoration-color: rgba(30, 64, 175, 0.35);
    text-underline-offset: 0.2em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.about-masthead__rail .about-masthead__pillar-value--link:hover {
    color: var(--fd-primary, #1e40af);
    text-decoration-color: currentColor;
}

.about-masthead__rail .about-masthead__pillar-value--link:focus-visible {
    outline: 2px solid var(--fd-outline, #3b82f6);
    outline-offset: 3px;
    border-radius: 2px;
}

.about-masthead__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1rem;
    margin-top: clamp(2.25rem, 4.5vw, 3rem);
    padding-top: clamp(1.5rem, 3vw, 2.15rem);
    border-top: 1px solid rgba(30, 58, 138, 0.08);
}

.about-masthead__btn {
    padding-inline: clamp(1.35rem, 3vw, 1.75rem);
}

.about-masthead__btn--ghost {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(30, 58, 138, 0.18);
    color: var(--fd-navy);
    box-shadow: 0 4px 18px rgba(30, 58, 138, 0.06);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .about-masthead__btn--ghost:hover {
        background: #ffffff;
        border-color: rgba(30, 58, 138, 0.28);
    }
}

.about-masthead__main .about-masthead__eyebrow.js-reveal {
    transition-delay: 0.04s;
}

.about-masthead__main .about-masthead__title.js-reveal {
    transition-delay: 0.1s;
}

.about-masthead__main .about-masthead__lead.js-reveal {
    transition-delay: 0.16s;
}

.about-masthead__rail .js-reveal {
    transition-delay: 0.22s;
}

.about-masthead__actions.js-reveal {
    transition-delay: 0.28s;
}

@media (max-width: 900px) {
    .about-masthead__grid {
        grid-template-columns: 1fr;
        gap: clamp(1.75rem, 4vw, 2.5rem);
    }

    .about-masthead__rail-label {
        text-align: center;
    }

    .about-masthead__rail .about-masthead__pillars {
        max-width: 28rem;
        margin-inline: auto;
    }
}

@media (max-width: 480px) {
    .about-masthead__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .about-masthead__actions .about-masthead__btn {
        display: flex;
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

.meet-team {
    position: relative;
    isolation: isolate;
    padding: clamp(4.25rem, 9vw, 6.5rem) 0 clamp(4.75rem, 10vw, 7.25rem);
    background:
        radial-gradient(ellipse 85% 55% at 50% -25%, rgba(59, 130, 246, 0.11), transparent 58%),
        radial-gradient(ellipse 48% 42% at 102% 45%, rgba(30, 64, 175, 0.07), transparent 52%),
        radial-gradient(ellipse 42% 38% at -5% 75%, rgba(147, 197, 253, 0.12), transparent 52%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 40%, #eef2f7 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
}

.meet-team::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.045) 1.25px, transparent 1.25px);
    background-size: 24px 24px;
    mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 92%, transparent 100%);
    opacity: 0.7;
    pointer-events: none;
    z-index: 0;
}

.meet-team-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
    background: transparent;
    position: relative;
    z-index: 1;
}

.about-team__header {
    text-align: center;
    max-width: 46rem;
    margin-inline: auto;
    margin-bottom: clamp(3rem, 6.5vw, 4.35rem);
}

.about-team__header .services-description {
    margin-left: auto;
    margin-right: auto;
}

.meet-team .services-eyebrow {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(30, 64, 175, 0.14);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 10px 28px rgba(30, 58, 138, 0.07);
    margin-bottom: clamp(0.95rem, 2vw, 1.2rem);
}

.meet-team .about-team__header .services-title {
    margin-bottom: clamp(0.85rem, 2vw, 1.15rem);
    letter-spacing: -0.036em;
    line-height: 1.05;
    color: var(--fd-navy);
    font-size: clamp(2rem, 3.5vw + 0.85rem, 2.9rem);
    font-weight: 800;
}

.meet-team .about-team__header .services-description {
    font-size: clamp(1.02rem, 0.35vw + 0.93rem, 1.14rem);
    line-height: 1.72;
    color: var(--fd-slate);
    max-width: 34rem;
    text-wrap: balance;
    opacity: 0.96;
}

.meet-team .team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.35rem, 3.2vw, 2rem);
    max-width: 920px;
    margin: 0 auto;
}

.meet-team .team-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(1.85rem, 3.5vw, 2.35rem) clamp(1.35rem, 2.8vw, 1.65rem) clamp(1.6rem, 3vw, 2rem);
    border-radius: var(--fd-radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 2px 12px rgba(30, 58, 138, 0.04),
        0 20px 48px rgba(15, 23, 42, 0.06);
    transition:
        transform 0.5s var(--fd-ease-out),
        box-shadow 0.5s ease,
        border-color 0.35s ease,
        background 0.35s ease;
    overflow: visible;
}

.meet-team .team-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.5) 0%,
        transparent 42%,
        transparent 100%
    );
    opacity: 0.85;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .meet-team .team-card:hover {
        transform: translateY(-8px);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 4px 20px rgba(30, 58, 138, 0.07),
            0 28px 56px rgba(15, 23, 42, 0.09);
        border-color: rgba(147, 197, 253, 0.45);
        background: rgba(255, 255, 255, 0.78);
    }
}

.meet-team .team-image {
    position: relative;
    width: clamp(6.75rem, 17vw, 8.5rem);
    height: clamp(6.75rem, 17vw, 8.5rem);
    margin: 0 auto clamp(1.2rem, 2.8vw, 1.55rem);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow:
        0 0 0 4px rgba(255, 255, 255, 0.95),
        0 0 0 5px rgba(30, 58, 138, 0.1),
        0 14px 36px rgba(30, 58, 138, 0.14);
    z-index: 1;
}

.meet-team .team-image img {
    border-radius: 50%;
    transform: scale(1.02);
}

.meet-team .image-overlay {
    border-radius: 50%;
    background: linear-gradient(
        165deg,
        rgba(30, 58, 138, 0) 35%,
        rgba(30, 58, 138, 0.22) 100%
    );
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .meet-team .team-card:hover .team-image img {
        transform: scale(1.08);
    }
}

.meet-team .team-info {
    position: relative;
    z-index: 1;
    padding: 0;
    width: 100%;
}

.meet-team .team-name {
    font-size: clamp(1.08rem, 0.45vw + 0.98rem, 1.28rem);
    font-weight: 800;
    letter-spacing: -0.022em;
    color: var(--fd-navy);
    margin: 0 0 0.4rem;
    line-height: 1.2;
}

.meet-team .team-role {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--fd-muted);
    margin: 0 0 1.15rem;
    line-height: 1.4;
}

.meet-team .social-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
    padding-top: 0.15rem;
}

.meet-team .social-icon {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: var(--fd-navy);
    border: 1px solid rgba(30, 58, 138, 0.11);
    box-shadow: 0 2px 10px rgba(30, 58, 138, 0.06);
}

.meet-team .social-icon svg {
    width: 18px;
    height: 18px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .meet-team .social-icon:hover {
        background: var(--fd-navy);
        color: #ffffff;
        border-color: var(--fd-navy);
        transform: translateY(-3px);
        box-shadow: 0 10px 22px rgba(30, 58, 138, 0.24);
    }
}

@media (prefers-reduced-motion: reduce) {
    .meet-team .team-card,
    .meet-team .team-card:hover,
    .meet-team .team-image img,
    .meet-team .team-card:hover .team-image img,
    .meet-team .social-icon,
    .meet-team .social-icon:hover {
        transition: none !important;
        transform: none !important;
    }
}

@media (max-width: 900px) {
    .meet-team .team-grid {
        grid-template-columns: 1fr;
        max-width: 24rem;
    }
}

.contact-cta.about-page-cta {
    padding: clamp(3.5rem, 7.5vw, 5.5rem) clamp(1.25rem, 5vw, 2.5rem);
    margin-bottom: 0;
    border: none;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse 90% 100% at 0% 45%, rgba(96, 165, 250, 0.22), transparent 58%),
        radial-gradient(ellipse 65% 85% at 100% 15%, rgba(30, 58, 138, 0.38), transparent 52%),
        radial-gradient(ellipse 55% 75% at 45% 105%, rgba(15, 23, 42, 0.45), transparent 48%),
        linear-gradient(128deg, #172554 0%, var(--fd-navy) 28%, var(--fd-blue) 55%, #2563eb 92%);
}

.contact-cta.about-page-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 80% 75% at 82% 12%, rgba(255, 255, 255, 0.14), transparent 55%),
        radial-gradient(ellipse 45% 50% at 8% 88%, rgba(255, 255, 255, 0.07), transparent 48%);
}

.contact-cta.about-page-cta::after {
    content: "";
    position: absolute;
    inset: -30% 35% 20% -20%;
    background: radial-gradient(circle at 40% 40%, rgba(147, 197, 253, 0.2), transparent 62%);
    filter: blur(48px);
    opacity: 0.85;
    pointer-events: none;
}

.contact-cta.about-page-cta .cta-container {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    padding: 0;
}

.contact-cta.about-page-cta .cta-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.75rem, 4vw, 3.25rem);
    align-items: center;
}

.contact-cta.about-page-cta .cta-text {
    max-width: 44rem;
}

.contact-cta.about-page-cta .cta-question {
    color: rgba(248, 250, 252, 0.99);
    font-size: clamp(1.35rem, 1.6vw + 1.05rem, 2.05rem);
    font-weight: 800;
    letter-spacing: -0.028em;
    line-height: 1.14;
    margin: 0;
    text-wrap: balance;
}

.contact-cta.about-page-cta .cta-message {
    color: rgba(226, 232, 240, 0.82);
    font-size: clamp(1rem, 0.3vw + 0.94rem, 1.12rem);
    line-height: 1.68;
    margin: 0.65rem 0 0;
    max-width: 36rem;
    font-weight: 400;
}

.contact-cta.about-page-cta .cta-button-wrapper {
    flex-shrink: 0;
}

.contact-cta.about-page-cta .cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.05rem 2.35rem;
    font-size: 0.97rem;
    font-weight: 700;
    letter-spacing: 0.015em;
    background: #ffffff;
    color: var(--fd-navy);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 16px 42px rgba(15, 23, 42, 0.28);
    transition:
        transform 0.38s var(--fd-ease-out),
        box-shadow 0.38s ease,
        background 0.25s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .contact-cta.about-page-cta .cta-button:hover {
        background: #ffffff;
        transform: translateY(-3px);
        color: var(--fd-navy);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 22px 52px rgba(15, 23, 42, 0.32),
            0 0 0 1px rgba(255, 255, 255, 0.35);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-cta.about-page-cta .cta-button:hover {
        transform: none;
    }
}

@media (max-width: 768px) {
    .contact-cta.about-page-cta .cta-content {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .contact-cta.about-page-cta .cta-text {
        max-width: 36rem;
    }

    .contact-cta.about-page-cta .cta-message {
        margin-left: auto;
        margin-right: auto;
    }

    .contact-cta.about-page-cta .cta-button {
        width: 100%;
        max-width: 20rem;
    }
}

.meet-team .team-grid .team-card.js-reveal:nth-child(1) {
    transition-delay: 0.05s;
}

.meet-team .team-grid .team-card.js-reveal:nth-child(2) {
    transition-delay: 0.12s;
}

.meet-team .team-grid .team-card.js-reveal:nth-child(3) {
    transition-delay: 0.18s;
}

.about-team__header .js-reveal:nth-child(1) {
    transition-delay: 0.04s;
}

.about-team__header .js-reveal:nth-child(2) {
    transition-delay: 0.1s;
}

.about-team__header .js-reveal:nth-child(3) {
    transition-delay: 0.16s;
}

/* Testimonials page — align with about: mesh background, glass cards, refined tabs */
.testimonials-page .testimonials-section {
    position: relative;
    isolation: isolate;
    padding: clamp(4rem, 9vw, 6.25rem) 0 clamp(4.25rem, 9vw, 6.5rem);
    background:
        radial-gradient(ellipse 85% 55% at 50% -25%, rgba(59, 130, 246, 0.11), transparent 58%),
        radial-gradient(ellipse 48% 42% at 102% 45%, rgba(30, 64, 175, 0.07), transparent 52%),
        radial-gradient(ellipse 42% 38% at -5% 75%, rgba(147, 197, 253, 0.12), transparent 52%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 40%, #eef2f7 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
}

.testimonials-page .testimonials-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.045) 1.25px, transparent 1.25px);
    background-size: 24px 24px;
    mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 92%, transparent 100%);
    opacity: 0.65;
    pointer-events: none;
    z-index: 0;
}

.testimonials-page .testimonials-container {
    position: relative;
    z-index: 1;
    margin-inline: auto;
}

.testimonials-page .testimonial-tabs {
    justify-content: center;
    gap: 0.4rem;
    margin-bottom: clamp(2.25rem, 4.5vw, 3rem);
    padding: 0.4rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(30, 58, 138, 0.1);
    border-radius: var(--fd-radius-pill);
    box-shadow: 0 8px 28px rgba(30, 58, 138, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.testimonials-page .testimonial-tab-btn {
    padding: 0.65rem 1.35rem;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--fd-radius-pill);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--fd-slate);
}

.testimonials-page .testimonial-tab-btn:hover {
    background: rgba(30, 58, 138, 0.06);
    transform: translateY(-1px);
}

.testimonials-page .testimonial-tab-btn.active {
    background: var(--fd-navy);
    color: #ffffff;
    border-color: rgba(30, 58, 138, 0.35);
    box-shadow: 0 10px 28px rgba(30, 58, 138, 0.2);
}

.testimonials-page .testimonials-grid {
    gap: clamp(1.25rem, 2.8vw, 1.75rem);
    margin-bottom: clamp(2.25rem, 4vw, 3rem);
}

.testimonials-page .testimonial-card {
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(30, 58, 138, 0.1);
    border-radius: var(--fd-radius-md);
    color: var(--fd-text);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 14px 40px rgba(30, 58, 138, 0.08);
    animation: none;
    padding: clamp(1.35rem, 2.5vw, 1.65rem);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .testimonials-page .testimonial-card:hover {
        transform: translateY(-6px);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 22px 50px rgba(30, 58, 138, 0.12);
        border-color: rgba(147, 197, 253, 0.45);
    }
}

.testimonials-page .testimonial-card.video-card {
    padding: 0;
}

.testimonials-page .video-card .testimonial-content {
    padding: clamp(1.15rem, 2.5vw, 1.5rem) clamp(1.35rem, 2.5vw, 1.65rem)
        clamp(1.35rem, 2.5vw, 1.65rem);
}

.testimonials-page .video-wrapper {
    height: clamp(200px, 32vw, 260px);
}

.testimonials-page .client-profile {
    margin-bottom: clamp(1rem, 2vw, 1.25rem);
}

.testimonials-page .client-name {
    color: var(--fd-navy);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.testimonials-page .client-location {
    color: var(--fd-muted);
    opacity: 1;
}

.testimonials-page .testimonial-text {
    color: var(--fd-slate);
    opacity: 1;
    line-height: 1.68;
}

.testimonials-page .testimonial-date {
    color: var(--fd-muted);
    opacity: 1;
    font-weight: 600;
    font-size: 0.8125rem;
}

.testimonials-page .client-avatar {
    border: 3px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px rgba(30, 58, 138, 0.12);
}

.testimonials-page .submit-review-container {
    margin-top: 0.5rem;
}

.testimonials-page .submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2.25rem;
    border-radius: var(--fd-radius-pill);
    font-size: 0.97rem;
    font-weight: 700;
    font-family: inherit;
    background: var(--fd-navy);
    color: #ffffff;
    border: 1px solid rgba(30, 58, 138, 0.45);
    box-shadow: 0 14px 36px rgba(30, 58, 138, 0.22);
    cursor: pointer;
    transition:
        transform 0.35s var(--fd-ease-out),
        box-shadow 0.35s ease,
        background 0.25s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .testimonials-page .submit-review-btn:hover {
        background: var(--fd-blue);
        transform: translateY(-2px);
        box-shadow: 0 18px 44px rgba(30, 58, 138, 0.28);
    }
}

/* Portfolio page — match about-style grid, tabs, and cards */
.portfolio-page .portfolio-section {
    position: relative;
    isolation: isolate;
    padding: clamp(4rem, 9vw, 6.25rem) 0 clamp(4.25rem, 9vw, 6.5rem);
    background:
        radial-gradient(ellipse 85% 55% at 50% -25%, rgba(59, 130, 246, 0.11), transparent 58%),
        radial-gradient(ellipse 48% 42% at 102% 45%, rgba(30, 64, 175, 0.07), transparent 52%),
        radial-gradient(ellipse 42% 38% at -5% 75%, rgba(147, 197, 253, 0.12), transparent 52%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 40%, #eef2f7 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.06);
}

.portfolio-page .portfolio-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(30, 58, 138, 0.045) 1.25px, transparent 1.25px);
    background-size: 24px 24px;
    mask-image: linear-gradient(180deg, transparent 0%, black 10%, black 92%, transparent 100%);
    opacity: 0.65;
    pointer-events: none;
    z-index: 0;
}

.portfolio-page .portfolio-container {
    position: relative;
    z-index: 1;
}

.portfolio-page .portfolio-tabs {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: clamp(2.25rem, 4.5vw, 3rem);
    padding: 0.4rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(30, 58, 138, 0.1);
    border-radius: var(--fd-radius-pill);
    box-shadow: 0 8px 28px rgba(30, 58, 138, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.portfolio-page .tab-btn {
    padding: 0.65rem 1.25rem;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--fd-radius-pill);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--fd-slate);
}

.portfolio-page .tab-btn:hover {
    background: rgba(30, 58, 138, 0.06);
    box-shadow: none;
}

.portfolio-page .tab-btn.active {
    background: var(--fd-navy);
    color: #ffffff;
    border-color: rgba(30, 58, 138, 0.35);
    box-shadow: 0 10px 28px rgba(30, 58, 138, 0.2);
}

.portfolio-page .portfolio-item {
    animation: none !important;
}

.portfolio-page .portfolio-grid {
    gap: clamp(1.25rem, 2.5vw, 1.65rem);
}

.portfolio-page .portfolio-card {
    border-radius: var(--fd-radius-md);
    border: 1px solid rgba(30, 58, 138, 0.1);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 12px 36px rgba(30, 58, 138, 0.08);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .portfolio-page .portfolio-card:hover {
        transform: translateY(-6px);
        border-color: rgba(147, 197, 253, 0.45);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 22px 48px rgba(30, 58, 138, 0.12);
    }
}

.portfolio-page .portfolio-name {
    color: var(--fd-navy);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.portfolio-page .portfolio-badge {
    font-weight: 700;
}

/* Contact page — cards, form, and map aligned with site tokens */
.contact-page .contact-cards-section {
    position: relative;
    padding: clamp(3rem, 6vw, 4.75rem) 0;
    background:
        radial-gradient(ellipse 55% 40% at 12% 0%, rgba(59, 130, 246, 0.06), transparent 55%),
        linear-gradient(180deg, var(--fd-surface) 0%, var(--fd-surface-2) 100%);
    border-bottom: 1px solid rgba(30, 58, 138, 0.07);
}

.contact-page .contact-cards-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.25vw, 1.35rem);
    background: transparent;
    padding: 0 clamp(1rem, 4vw, 2rem);
    max-width: 1240px;
    margin-inline: auto;
}

.contact-page .contact-card {
    animation: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(0.45rem, 1.2vw, 0.72rem);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(30, 58, 138, 0.1);
    border-radius: var(--fd-radius-md);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        var(--fd-shadow);
    padding: clamp(1.5rem, 3vw, 2.05rem);
    transition:
        transform 0.35s var(--fd-ease-out),
        border-color 0.25s ease,
        box-shadow 0.35s ease,
        background 0.25s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .contact-page .contact-card:hover {
        transform: translateY(-5px);
        border-color: rgba(147, 197, 253, 0.45);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 1) inset,
            0 22px 48px rgba(30, 58, 138, 0.11);
        background: rgba(255, 255, 255, 0.98);
    }

    .contact-page .contact-card:hover .contact-icon {
        background: rgba(30, 64, 175, 0.12);
        color: var(--fd-blue-bright);
        transform: translateY(-1px);
        box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.15);
    }
}

.contact-page .contact-card:active {
    transform: translateY(-2px);
}

.contact-page .contact-card .contact-title {
    color: var(--fd-navy);
    font-weight: 800;
    letter-spacing: -0.026em;
    font-size: clamp(1rem, 0.55vw + 0.9rem, 1.125rem);
    margin: 0;
    font-family: var(--fd-font);
}

.contact-page .contact-card .contact-detail {
    margin: 0;
    color: var(--fd-muted);
    font-size: clamp(0.9rem, 0.22vw + 0.84rem, 0.975rem);
    line-height: 1.58;
    font-weight: 500;
}

.contact-page .contact-detail.contact-detail--phones {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.35rem;
    justify-content: center;
    align-items: center;
}

.contact-page .contact-detail-sep {
    opacity: 0.45;
    font-weight: 600;
}

.contact-page .contact-detail a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition:
        color 0.2s ease,
        border-color 0.2s ease;
}

@media (hover: hover) {
    .contact-page .contact-detail a:hover {
        color: var(--fd-blue-bright);
        border-bottom-color: rgba(59, 130, 246, 0.45);
    }
}

.contact-page .contact-icon {
    width: clamp(3.1rem, 5.5vw, 3.65rem);
    height: clamp(3.1rem, 5.5vw, 3.65rem);
    margin: 0;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(30, 64, 175, 0.08);
    color: var(--fd-navy);
    transition:
        transform 0.35s var(--fd-ease-out),
        background 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
}

.contact-page .contact-icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.contact-page .contact-section {
    padding: clamp(3rem, 7vw, 5.25rem) 0;
    background:
        radial-gradient(ellipse 72% 48% at 88% 18%, rgba(59, 130, 246, 0.1), transparent 52%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 52%, var(--fd-surface-2) 100%);
}

.contact-page .contact-container {
    max-width: 1240px;
    padding-inline: clamp(1rem, 4vw, 2rem);
}

.contact-page .location-container {
    max-width: 1240px;
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2rem);
}

.contact-page .contact-header {
    margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
    max-width: 38rem;
    margin-inline: auto;
    text-wrap: balance;
}

.contact-page .contact-header .contact-title {
    font-size: clamp(1.85rem, 2.2vw + 1rem, 2.55rem);
    font-weight: 800;
    letter-spacing: -0.034em;
    line-height: 1.08;
    color: var(--fd-navy);
    margin: 0 0 0.5rem;
}

.contact-page .contact-header .contact-subtitle {
    color: var(--fd-muted);
    font-size: clamp(1rem, 0.24vw + 0.93rem, 1.08rem);
    line-height: 1.62;
    margin: 0;
    font-weight: 500;
}

.contact-page .contact-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: clamp(1.35rem, 3vw, 2.5rem);
    align-items: stretch;
}

.contact-page .contact-image {
    position: relative;
    overflow: hidden;
    border-radius: var(--fd-radius-md);
    min-height: clamp(268px, 36vw, 420px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.65) inset,
        var(--fd-shadow);
    border: 1px solid rgba(30, 58, 138, 0.09);
}

.contact-page .contact-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.contact-page .contact-form-wrapper {
    border-radius: var(--fd-radius-md);
    border: 1px solid rgba(30, 58, 138, 0.1);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.96) inset,
        var(--fd-shadow-lg);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: clamp(1.65rem, 3.2vw, 2.35rem);
}

.contact-page .form-intro {
    margin-bottom: clamp(1.25rem, 3vw, 1.85rem);
    padding-bottom: clamp(1rem, 2.5vw, 1.35rem);
    border-bottom: 1px solid rgba(30, 58, 138, 0.08);
}

.contact-page .form-title {
    color: var(--fd-navy);
    font-weight: 800;
    letter-spacing: -0.028em;
    font-size: clamp(1.35rem, 1.35vw + 0.94rem, 1.625rem);
    margin: 0 0 0.35rem;
    line-height: 1.15;
}

.contact-page .form-subtitle {
    color: var(--fd-muted);
    font-size: clamp(0.9rem, 0.22vw + 0.84rem, 1rem);
    margin: 0;
    line-height: 1.55;
}

.contact-page .contact-field-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--fd-slate);
    margin-bottom: 0.4rem;
    letter-spacing: 0.015em;
    font-family: var(--fd-font);
}

.contact-page .contact-field-label span[aria-hidden="true"] {
    color: var(--fd-blue-soft);
    font-weight: 800;
}

.contact-page .contact-form {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 2vw, 1rem);
}

.contact-page .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(0.7rem, 2vw, 1rem);
}

.contact-page .form-input,
.contact-page .form-textarea {
    border-radius: var(--fd-radius-sm);
    border: 1px solid rgba(30, 58, 138, 0.14);
    padding: 0.78rem 1rem;
    font-size: 0.96875rem;
    font-family: var(--fd-font);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
    background: rgba(255, 255, 255, 0.92);
}

.contact-page .form-input:focus,
.contact-page .form-textarea:focus {
    outline: none;
    border-color: var(--fd-blue-soft);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

.contact-page .form-input::placeholder,
.contact-page .form-textarea::placeholder {
    color: #9ca3af;
}

.contact-page .form-textarea {
    resize: vertical;
    min-height: 7rem;
}

.contact-page .submit-button {
    width: 100%;
    padding: 0.95rem 1.25rem;
    margin-top: 0.15rem;
    border-radius: var(--fd-radius-pill);
    font-weight: 700;
    border: none;
    font-family: var(--fd-font);
    cursor: pointer;
    background: linear-gradient(165deg, var(--fd-blue) 0%, var(--fd-navy) 88%);
    color: #ffffff;
    box-shadow: 0 14px 36px rgba(30, 58, 138, 0.24);
    transition:
        transform 0.35s var(--fd-ease-out),
        box-shadow 0.35s ease,
        filter 0.25s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .contact-page .submit-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 42px rgba(30, 58, 138, 0.3);
    }
}

.contact-page .submit-button:active {
    transform: translateY(0);
}

.contact-page .location-section {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 6rem);
    background:
        radial-gradient(ellipse 62% 45% at 50% -8%, rgba(59, 130, 246, 0.08), transparent 58%),
        linear-gradient(180deg, var(--fd-surface-2) 0%, var(--fd-surface) 48%, var(--fd-surface-2) 100%);
    border-top: 1px solid rgba(30, 58, 138, 0.07);
}

.contact-page .location-section__intro {
    text-align: center;
    max-width: 38rem;
    margin: 0 auto clamp(2rem, 4.5vw, 3rem);
}

.contact-page .location-section__eyebrow {
    display: inline-block;
    margin: 0 0 0.5rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--fd-blue-bright);
    font-family: var(--fd-font);
}

.contact-page .location-section__title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.75rem, 2.1vw + 0.92rem, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.034em;
    line-height: 1.1;
    color: var(--fd-navy);
    font-family: var(--fd-font);
}

.contact-page .location-section__lead {
    margin: 0;
    font-size: clamp(0.95rem, 0.26vw + 0.87rem, 1.05rem);
    line-height: 1.62;
    color: var(--fd-muted);
    font-weight: 500;
}

.contact-page .location-map-card {
    max-width: 960px;
    margin-inline: auto;
    border-radius: var(--fd-radius-lg);
    overflow: hidden;
    border: 1px solid rgba(30, 58, 138, 0.11);
    background: rgba(255, 255, 255, 0.65);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        var(--fd-shadow-lg);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.contact-page .location-map-card__viewport {
    position: relative;
    background: rgba(226, 232, 240, 0.5);
}

.contact-page .location-map-card__viewport::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(30, 58, 138, 0.08);
}

.contact-page .map-embed.map-embed--contact {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    min-height: clamp(220px, 42vw, 380px);
    max-height: min(72vh, 520px);
    height: auto;
}

.contact-page .map-embed.map-embed--contact iframe {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.contact-page .location-map-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.35rem;
    padding: clamp(1.05rem, 3vw, 1.35rem) clamp(1.2rem, 3.25vw, 1.85rem);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.65) 0%, #ffffff 100%);
}

.contact-page .location-map-card__meta {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    flex: 1;
    min-width: min(100%, 16rem);
}

.contact-page .location-map-card__pin {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--fd-radius-sm);
    background: rgba(30, 64, 175, 0.09);
    color: var(--fd-navy);
}

.contact-page .location-map-card__text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    text-align: left;
}

.contact-page .location-map-card__name {
    font-size: clamp(1rem, 0.35vw + 0.9rem, 1.12rem);
    font-weight: 800;
    letter-spacing: -0.024em;
    color: var(--fd-navy);
    font-family: var(--fd-font);
}

.contact-page .location-map-card__addr {
    font-size: clamp(0.88rem, 0.2vw + 0.82rem, 0.96rem);
    line-height: 1.5;
    color: var(--fd-muted);
    font-weight: 500;
}

.contact-page .location-map-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-shrink: 0;
    padding: 0.72rem 1.35rem;
    border-radius: var(--fd-radius-pill);
    font-size: 0.9rem;
    font-weight: 700;
    font-family: var(--fd-font);
    text-decoration: none;
    color: #ffffff;
    background: linear-gradient(165deg, var(--fd-blue) 0%, var(--fd-navy) 90%);
    border: 1px solid rgba(30, 58, 138, 0.25);
    box-shadow: 0 10px 28px rgba(30, 58, 138, 0.22);
    transition:
        transform 0.35s var(--fd-ease-out),
        box-shadow 0.35s ease,
        filter 0.25s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .contact-page .location-map-card__cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 36px rgba(30, 58, 138, 0.28);
    }
}

.contact-page .location-map-card__cta:active {
    transform: translateY(0);
}

@media (max-width: 640px) {
    .contact-page .location-map-card__footer {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .contact-page .location-map-card__meta {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .contact-page .location-map-card__text {
        text-align: center;
    }

    .contact-page .location-map-card__cta {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-page .location-map-card__cta,
    .contact-page .location-map-card__cta:hover {
        transition: none;
        transform: none;
    }
}

.contact-page .contact-header .js-reveal:nth-child(1) {
    transition-delay: 0.04s;
}

.contact-page .contact-header .js-reveal:nth-child(2) {
    transition-delay: 0.1s;
}

.contact-page .location-section__intro .js-reveal:nth-child(1) {
    transition-delay: 0.03s;
}

.contact-page .location-section__intro .js-reveal:nth-child(2) {
    transition-delay: 0.08s;
}

.contact-page .location-section__intro .js-reveal:nth-child(3) {
    transition-delay: 0.13s;
}

@media (max-width: 1024px) {
    .contact-page .contact-content {
        grid-template-columns: 1fr;
    }

    .contact-page .contact-image {
        max-height: min(52vh, 420px);
        min-height: 240px;
    }
}

@media (max-width: 768px) {
    .contact-page .contact-cards-container {
        grid-template-columns: 1fr;
        max-width: 22rem;
        margin-inline: auto;
    }

    .contact-page .form-row {
        grid-template-columns: 1fr;
    }

    .contact-page .contact-detail.contact-detail--phones {
        flex-direction: column;
    }

    .contact-page .contact-detail-sep {
        display: none;
    }

    .contact-page .submit-button:active {
        transform: scale(0.99);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-page .contact-card,
    .contact-page .contact-icon,
    .contact-page .contact-card:active,
    .contact-page .submit-button {
        transition: none;
        transform: none;
    }

    .contact-page .submit-button:hover {
        transform: none;
    }

    .contact-page .contact-card:hover,
    .contact-page .contact-card:hover .contact-icon {
        transform: none;
    }
}

/* ========== Narrow mobile (≤380px): index + shared layouts down to ~320px ========== */
@media (max-width: 380px) {
    html {
        -webkit-text-size-adjust: 100%;
    }

    .nav-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .navbar-logo-link {
        max-width: calc(100% - 2.5rem);
    }

    .navbar .logo img,
    .navbar-logo-link img,
    img.navbar-logo-img {
        --fd-navbar-logo-height: clamp(24px, 9vw, 30px);
        --fd-navbar-logo-max-width: min(6.75rem, 42vw);
        height: var(--fd-navbar-logo-height);
        max-height: var(--fd-navbar-logo-height);
        max-width: var(--fd-navbar-logo-max-width);
    }

    .hero-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .hero .hero-content > .hero-badge,
    .hero-badge {
        font-size: clamp(0.35rem, 0.28vw + 0.36rem, 0.5rem);
        letter-spacing: 0.04em;
        padding: 0.24rem 0.5rem;
        gap: 0.28rem;
        line-height: 1.3;
    }

    .hero-badge-dot {
        width: 5px;
        height: 5px;
        box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.22);
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        gap: 0.65rem;
    }

    .hero .hero-cta-primary,
    .hero .hero-cta-secondary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        max-width: min(18.5rem, 100%);
        margin-inline: auto;
        box-sizing: border-box;
    }

    .culture-strip-inner {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .about-section .about-container {
        padding-inline: max(0.65rem, 3.25vw);
        gap: clamp(1.25rem, 4vw, 1.85rem);
    }

    .about-media,
    .about-media img {
        min-height: min(260px, 58vw);
    }

    .services-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .stats-band {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .stat-label {
        max-width: 100%;
    }

    .institute-section .institute-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .success-stories .success-stories__inner {
        padding-inline: max(0.65rem, 3.25vw);
        padding-block: clamp(1.25rem, 4vw, 1.85rem);
        border-radius: var(--fd-radius-md);
    }

    .success-stories .carousel-wrapper--marquee .story-card {
        width: calc(100vw - 1.3rem) !important;
        min-width: calc(100vw - 1.3rem) !important;
        max-width: calc(100vw - 1.3rem) !important;
        margin: 0 !important;
        padding: clamp(1.05rem, 3.5vw, 1.3rem) !important;
    }

    .faq-section {
        padding-inline: max(0.45rem, 2.5vw);
    }

    .faq-section__shell {
        padding-inline: max(0.65rem, 3.25vw) !important;
        padding-block: clamp(1.25rem, 4vw, 2rem) !important;
        border-radius: var(--fd-radius-md);
    }

    .portfolio-slider-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .portfolio-item {
        width: min(220px, calc(100vw - 2.5rem));
    }

    .portfolio-slider-section .portfolio-info {
        padding: 1.1rem 0.95rem 1.2rem;
    }

    .discover-more-btn {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .footer-container {
        padding-inline: max(0.65rem, 3.25vw);
    }

    .about-section .about-title,
    .institute-title,
    .services-title {
        font-size: clamp(1.8rem, 7vw + 0.75rem, 2.35rem);
    }

    .success-stories .section-title {
        font-size: clamp(1.55rem, 6.5vw + 0.65rem, 2rem);
    }
}

/* ========== Modern polish: anchor offset, focus rings, reveal easing ========== */
section[id],
[id="home"],
[id="institute"],
[id="about-intro"],
[id="services-intro"],
[id="testimonials-intro"],
[id="portfolio-intro"],
[id="contact-intro"] {
    scroll-margin-top: var(--fd-navbar-offset);
}

.nav-links a:focus-visible,
.about-masthead__crumb a:focus-visible,
.contact-btn:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.discover-btn:focus-visible,
.apply-btn:focus-visible,
.discover-more-btn:focus-visible,
.nav-btn:focus-visible,
.footer-link:focus-visible,
.footer-bottom-link:focus-visible,
.read-more:focus-visible,
.tab-btn:focus-visible,
.testimonial-tab-btn:focus-visible,
.meet-team .social-icon:focus-visible,
.contact-cta.about-page-cta .cta-button:focus-visible,
.testimonials-page .submit-review-btn:focus-visible,
.contact-page .contact-detail a:focus-visible,
.contact-page .location-map-card__cta:focus-visible,
.contact-page .submit-button:focus-visible {
    outline: 2px solid var(--fd-blue-soft);
    outline-offset: 3px;
}