/* Reset and Base Styles */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap");

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

/* Headings: Poppins */
h1,
h2,
h3,
h4,
h5,
h6,
[class$="-title"],
[class*="-title "],
[class$="-heading"],
[class*="-heading "] {
    font-family: "Poppins", sans-serif;
}

/* Subtitles: Inter */
[class$="-subtitle"],
[class*="-subtitle "],
[class$="-description"],
[class*="-description "] {
    font-family: "Inter", sans-serif;
}

body {
    font-family: "Inter", Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    /* background-color: #f9fafb; */
    overflow-x: hidden;
}

/* Header Styles */
header {
    background-color: #fff;
    border-bottom: 0.0625rem solid #f8fafc;
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.01);
    padding: 0.3125rem 7.5rem;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 87.5rem;
    /* 87.5rem — matches content containers */
    margin: 0 auto;
    padding: 0;
    position: relative;
    height: 100%;
}

/* Logo Styles */
.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.5rem;
    font-weight: bold;
}

.logo img {
    height: 5rem !important;
    width: auto !important;
}

.logo-icon {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 1.2rem;
}

.logo-text {
    color: #1e40af;
    font-style: italic;
}

/* Navigation Links */
.nav-links {
    display: flex;
    list-style: none;
    gap: 1.5rem;
    /* 1.5rem */
    margin: 0;
}

.nav-links a {
    font-family: "Inter";
    color: #111827;
    text-decoration: none;
    font-size: 0.875rem;
    /* 0.875rem */
    font-weight: 500;
    line-height: 1.2143;
    /* 1.0625rem */
    padding: 0.625rem;
    /* 0.625rem — matches Figma nav item frame */
    transition: color 0.3s ease;
}

.nav-links a:hover {
    color: #2563eb;
}

/* Contact Button — sidebar instance hidden on desktop, shown only in mobile nav */
.nav-container .contact-btn {
    display: none;
}

.contact-btn {
    background: #2563eb;
    color: #fff;
    padding: 0.625rem 1.25rem;
    /* 0.625rem 1.25rem */
    border-radius: 0.5rem;
    /* 0.5rem */
    text-decoration: none;
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 1.0625rem */
    font-family: "Inter";
    transition:
        background 0.3s ease,
        transform 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    /* 0.375rem */
}

.contact-btn:hover {
    background: #1e40af;
    transform: translateY(-0.125rem);
}

.contact-btn .arrow {
    width: 1rem;
    height: 1rem;
    display: block;
}

/* Main Content Styles */
main {
    width: 100%;
}

section {
    background-color: #fff;
    padding: 2rem;
    /* margin-bottom: 2rem; */
    border-radius: 0.3125rem;
    /* box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1); */
}

h2 {
    margin-bottom: 1rem;
    color: #333;
}

/* Content Wrapper - Matches Navbar Width */
.content-wrapper {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Hero Section */
.hero {
    background-color: #d9d9d9;
    width: 100%;
    padding: 4rem 7.5rem 3.125rem 7.5rem;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
}

/* Layer 1: background image — luminosity blend + vertical flip */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/homeBg.jpg") center / cover no-repeat;
    mix-blend-mode: luminosity;
    transform: scaleY(-1);
    z-index: 0;
}

/* Layer 2: gradient fade to white at the bottom */
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 44.98%,
        #ffffff 100%
    );
    z-index: 1;
    pointer-events: none;
}

.hero-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 8rem;
    row-gap: 0;
    margin-bottom: 4.06rem;
    align-items: start;
    position: relative;
    z-index: 2;
}

.hero-buttons {
    grid-column: 1;
    grid-row: 2;
}

.hero-images {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
}

/* Badge */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    /* background-color: #fff; */
    /* padding: 0.5rem 1rem; */
    border-radius: 1.25rem;
    font-size: 0.75rem;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    color: #000000;
    margin-bottom: 0.625rem;
}

.dot-wrapper {
    width: 1rem;
    height: 1rem;
    background: #caf5d5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dot {
    width: 0.5rem;
    height: 0.5rem;
    background: #34c759;
    border-radius: 50%;
}

@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Hero Title */
.hero-title {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.3;
    color: #1f2937;
    margin-bottom: 1.56rem;
}

.hero-title .highlight {
    color: #2563eb;
}

/* Hero Buttons */
.hero-buttons {
    font-size: 0.875rem;
    font-weight: 600;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.btn {
    padding: 0.94rem 1.5rem;
    border-radius: 0.5rem;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.3s ease;
    display: inline-block;
    font-family: "Inter";
}

.btn-primary {
    background-color: #1f2937;
    color: #fff;
}

.btn-primary:hover {
    background-color: #111827;
    transform: translateY(-0.125rem);
}

.btn-secondary {
    background-color: transparent;
    color: #1f2937;
    border: 0.125rem solid #1f2937;
}

.btn-secondary:hover {
    background-color: #1f2937;
    color: #fff;
}

/* Hero Stats */
.hero-stats {
    /* background-color: #fff; */
    padding: 2.3rem 0 0 0;
    border-radius: 0.75rem;
    /* box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.05); */
}

.stats-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #000000;
    margin-bottom: 0.625rem;
}

.stats-description {
    font-size: 1.125rem;
    font-weight: 400;
    color: #4a4f54;
    line-height: 1;
    margin-bottom: 1.875rem;
}

/* Social Proof */
.social-proof {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.avatars {
    display: flex;
}

.avatars img {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 20%;
    border: 0.125rem solid #fff;
    margin-left: -0.625rem;
}

.avatars img:first-child {
    margin-left: 0;
}

.social-proof-text {
    font-size: 0.75rem;
    font-family: "Inter";
    font-weight: 500;
    line-height: 1.4;
    color: #111827;
}

.social-proof-text strong {
    color: #1f2937;
    display: block;
}

/* Hero Images Grid */
.hero-images {
    display: grid;
    grid-template-columns: 488fr 688fr;
    /* Figma: 30.5rem left / 43rem right */
    column-gap: 0.75rem;
    /* 1.3125rem = 1200 − 488 − 688 − 3 */
    row-gap: 0;
    align-items: start;
}

.image-large {
    height: 45.625rem;
    /* 45.625rem */
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
}

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

.image-grid {
    display: flex;
    flex-direction: column;
    gap: 1.1875rem;
    /* 1.1875rem = 802 − 783 */
}

.image-item {
    height: 22.1875rem;
    /* 22.1875rem */
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
}

#servicesCarousel {
    padding-block: 1rem;
}

/* About Hero Section */
.about-hero {
    background:
        linear-gradient(
            135deg,
            rgba(243, 244, 246, 0.7) 0%,
            rgba(249, 250, 251, 0.7) 100%
        ),
        url("/assets/aboutBg.jpg");
    width: 100%;
    padding: 3.375rem 7.5rem 0 7.5rem;
}

.about-hero-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.about-hero-content {
    margin-bottom: 3.4375rem;
    /* 3.4375rem gap to image */
}

.about-hero-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin-bottom: 1.25rem;
    /* 1.25rem gap to subtitle group */
}

.about-hero-subtitle {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 500;
    line-height: 1.2727;
    /* 28/22 */
    color: #111827;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to description */
}

.about-hero-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 28/18 */
    color: #4a4f54;
}

.about-hero-image {
    width: 100%;
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
}

.about-hero-image img {
    width: 100%;
    height: 37.5rem;
    /* 37.5rem */
    object-fit: cover;
    display: block;
}

/* Active nav link */
.nav-links a.active {
    color: #2563eb;
}

/* About Stats Section */
.about-stats {
    background: #f8fafc;
    width: 100%;
    padding: 2.19rem 7.5rem 6.875rem 7.5rem;
    /* 6.875rem bottom */
}

.about-stats-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.stats-numbers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    /* 1.25rem */
}

.stat-box {
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    /* 1px */
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.125rem;
    /* 3.125rem */
}

.stat-box .stat-number {
    font-family: "Poppins";
    font-size: 3rem;
    /* 3rem */
    font-weight: 700;
    line-height: 1.5;
    /* 72/48 */
    color: #2563eb;
    margin-bottom: 0;
}

.stat-label {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 500;
    line-height: 1.2222;
    /* 22/18 */
    color: #4a4f54;
}

/* Mission and Vision Section */
.mission-vision {
    background-color: #fff;
    width: 100%;
    padding: 8.75rem 7.5rem;
}

.mission-vision-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.mission-card,
.vision-card {
    border-radius: 1rem;
    padding: 3rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.mission-card:hover,
.vision-card:hover {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.9375rem 2.1875rem rgba(0, 0, 0, 0.15);
}

.mission-card {
    background-color: #0f172a;
    color: #fff;
}

.vision-card {
    background-color: #2563eb;
    color: #fff;
}

.mission-icon,
.vision-icon {
    width: fit-content;
    color: #fff;
}

.mission-title,
.vision-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.mission-description,
.vision-description {
    font-size: 1.25rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

/* Core Values Section */
.core-values {
    width: 100%;
    padding: 3.375rem 7.5rem 9.625rem 7.5rem;
}

.core-values-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 554fr 590fr;
    gap: 3.5rem;
    /* 3.5rem — derived from Figma column positions */
    align-items: start;
}

.core-values-image {
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
    position: sticky;
    top: 6.25rem;
}

.core-values-image img {
    width: 100%;
    height: 43.375rem;
    /* 43.375rem */
    object-fit: cover;
    display: block;
}

.core-values-content {
    display: flex;
    flex-direction: column;
    gap: 3.125rem;
    /* 3.125rem — between header and values list */
}

.core-values-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem gap to subtitle */
}

.core-values-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #4a4f54;
    margin: 0;
}

.values-list {
    display: flex;
    flex-direction: column;
}

.value-item {
    border-bottom: 0.0625rem solid rgba(74, 79, 84, 0.1);
    /* 1px */
    padding: 1.875rem 0;
    /* 1.875rem */
}

.value-item:first-child {
    padding-top: 0;
}

.value-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    /* 1.25rem */
    cursor: pointer;
}

.value-number {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 300;
    line-height: 1.2273;
    /* 27/22 */
    color: #4a4f54;
}

.value-name {
    font-family: "Poppins";
    font-size: 1.625rem;
    /* 1.625rem */
    font-weight: 600;
    line-height: 1.5;
    /* 39/26 */
    color: #111827;
    margin: 0;
    flex: 1;
}

.value-toggle {
    background: none;
    border: none;
    width: 1.5rem;
    /* 1.5rem */
    height: 1.5rem;
    /* 1.5rem */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4a4f54;
    flex-shrink: 0;
    padding: 0;
}

.value-toggle svg {
    transition: transform 0.3s ease;
}

.value-details {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #4a4f54;
    margin: 0.625rem 0 0 0;
    /* 0.625rem top gap */
    display: none;
}

.value-item-expanded .value-details {
    display: block;
}

.value-item-expanded .value-toggle svg {
    transform: rotate(180deg);
}

/* About CTA Section */
.about-cta {
    background-color: #fff;
    width: 100%;
    padding: 0 7.5rem;
    margin-block: 8.75rem;
    /* 8.75rem top/bottom spacing */
}

.about-cta-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.about-cta-content {
    background: #1e1e1e;
    border-radius: 0.75rem;
    /* 0.75rem */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 19.3125rem;
    /* 19.3125rem */
    text-align: center;
    overflow: hidden;
    position: relative;
}

.about-cta-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
        center / cover no-repeat;
    z-index: 0;
}

.about-cta-content::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(30, 30, 30, 0.6);
    z-index: 1;
}

.about-cta-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #ffffff;
    text-align: center;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to subtitle */
    position: relative;
    z-index: 2;
}

.about-cta-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #ffffff;
    text-align: center;
    margin-bottom: 2.1875rem;
    /* 2.1875rem gap to button */
    position: relative;
    z-index: 2;
}

.about-cta .btn-cta {
    background: #f8fafc;
    color: #111827;
    padding: 0.9375rem 1.5rem;
    /* 0.9375rem 1.5rem */
    height: 2.9375rem;
    /* 2.9375rem */
    font-family: "Inter";
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 17/14 */
    border-radius: 0.5rem;
    /* 0.5rem */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
}

.about-cta .btn-cta:hover {
    background-color: #f3f4f6;
}

/* Services Hero Section */
.services-hero {
    background-color: #2563eb;
    width: 100%;
    padding: 3.375rem 7.5rem;
    position: relative;
    overflow: hidden;
}

.services-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/servicesBg.jpg") center / cover no-repeat;
    mix-blend-mode: plus-darker;
    transform: scaleY(-1);
    z-index: 0;
}

.services-hero-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

.services-hero-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #fff;
    /* margin-bottom: 1.25rem; */
}

.services-hero-subtitle {
    font-size: 1.375rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.27;
    max-width: 56.25rem;
    margin: -3rem auto 2.5rem;
    padding: 3.43rem 0;
}

.services-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    max-width: 50rem;
    margin: -2.5rem auto 0;
}

.hero-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.hero-stat-number {
    font-size: 1.675rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1;
}

.hero-stat-label {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    font-weight: 500;
}

/* Services Details Section */
.services-details {
    background-color: #fff;
    width: 100%;
    padding: 7.5rem;
}

.services-details-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6.25rem;
    /* 6.25rem between items */
}

.service-detail-item {
    display: grid;
    grid-template-columns: 555fr 591fr;
    gap: 3.4375rem;
    /* 3.4375rem */
    align-items: center;
}

.service-detail-image {
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
}

.service-detail-image img {
    object-fit: cover;
    width: 100%;
    height: 25rem;
    /* 25rem */
    display: block;
}

.service-detail-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.service-detail-title {
    font-family: "Poppins";
    font-size: 1.875rem;
    /* 1.875rem */
    font-weight: 600;
    line-height: 1.5;
    /* 45/30 */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem gap to description */
}

.service-detail-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #4a4f54;
    margin: 0;
}

.btn-service {
    background: #111827;
    color: #f8fafc;
    border: 0.0625rem solid #111827;
    border-radius: 0.5rem;
    /* 0.5rem */
    padding: 0.9375rem 1.5rem;
    /* 0.9375rem 1.5rem */
    height: 2.9375rem;
    /* 2.9375rem */
    font-family: "Inter";
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 17/14 */
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    margin-top: 3.125rem;
    /* 3.125rem gap from description */
}

/* Industries Expertise Section */
.industries-expertise {
    background: #f8fafc;
    width: 100%;
    padding: 6.25rem 7.5rem;
    /* 6.25rem top/bottom */
}

.industries-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.industries-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to subtitle */
}

.industries-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.2222;
    /* 22/18 */
    color: #4a4f54;
    margin-bottom: 3.125rem;
    /* 3.125rem gap to cards */
}

.industries-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    /* 1.25rem */
}

.industry-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    /* 1px */
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.125rem;
    /* 3.125rem between icon and name */
    min-height: 13.875rem;
    /* 13.875rem */
}

.industry-icon {
    color: #4a4f54;
    width: 3.25rem;
    /* 3.25rem */
    height: 3.25rem;
    /* 3.25rem */
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.industry-name {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    line-height: 1.5;
    /* 30/20 */
    color: #111827;
    margin: 0;
}

/* Service Detail Page */
.service-page-hero {
    background-color: #fff;
    width: 100%;
    padding: 3rem 7.5rem 6rem;
    position: relative;
    overflow: hidden;
}

/* Layer 1: background image at 50% opacity */
.service-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/serviceDetailBg.jpg") center/cover no-repeat;
    opacity: 0.5;
    z-index: 0;
}

/* Layer 2: gradient fade to white at the bottom */
.service-page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 44.98%,
        #ffffff 100%
    );
    z-index: 1;
    pointer-events: none;
}

.service-page-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
}

.go-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #2563eb;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0.625rem;
    transition: gap 0.3s ease;
}

.go-back-link:hover {
    gap: 0.75rem;
}

.go-back-link svg {
    transition: transform 0.3s ease;
}

.go-back-link:hover svg {
    transform: translateX(-0.1875rem);
}

.service-page-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.875rem;
}

.service-page-image {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 1.875rem;
}

.service-page-image img {
    width: 100%;
    height: 31.25rem;
    object-fit: cover;
}

.service-page-content {
    max-width: 90rem;
    margin: 0 auto;
}

.service-content-title {
    font-size: 1.875rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.25rem;
    line-height: 1.83;
    font-family: "Poppins";
}

.service-content-text {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #4a4f54;
    margin-bottom: 1.5rem;
    font-family: "Inter";
}

.service-content-text:last-child {
    margin-bottom: 0;
}

/* What We Deliver Section */
.what-we-deliver {
    width: 100%;
    padding: 3.0625rem 7.5rem 6.25rem;
    /* 3.0625rem top = Figma y1209 − section start 1160 */
}

.what-we-deliver-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 554fr 590fr;
    /* Figma: 34.625rem image / 36.875rem content */
    gap: 3.5rem;
    /* 3.5rem = 730 − 120 − 554 */
    align-items: start;
}

.deliver-image {
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
    position: sticky;
    top: 6.25rem;
}

.deliver-image img {
    width: 100%;
    height: 43.375rem;
    /* 43.375rem */
    object-fit: cover;
}

.deliver-content {
    display: flex;
    flex-direction: column;
}

.deliver-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem to subtitle */
}

.deliver-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #4a4f54;
    margin: 0 0 3.125rem 0;
    /* 3.125rem to list = Frame 31 gap */
}

.deliver-list {
    display: flex;
    flex-direction: column;
}

.deliver-item {
    border-bottom: 0.0625rem solid rgba(74, 79, 84, 0.1);
    padding: 1.875rem 0;
    /* 1.875rem */
}

.deliver-item:first-child {
    padding-top: 0;
}

.deliver-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    /* 1.25rem */
    cursor: pointer;
}

.deliver-number {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 300;
    line-height: 1.2273;
    /* 27/22 */
    color: #4a4f54;
}

.deliver-name {
    font-family: "Poppins";
    font-size: 1.625rem;
    /* 1.625rem */
    font-weight: 600;
    line-height: 1.5;
    /* 39/26 */
    color: #111827;
    margin: 0;
    flex: 1;
}

.deliver-toggle {
    background: none;
    border: none;
    width: 1.5rem;
    /* 1.5rem */
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4a4f54;
    flex-shrink: 0;
    padding: 0;
}

.deliver-item-expanded .deliver-toggle svg {
    transform: rotate(180deg);
}

.deliver-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #4a4f54;
    margin: 0.625rem 0 0 0;
    /* 0.625rem from header = Frame 15 gap */
    display: none;
}

.deliver-item-expanded .deliver-description {
    display: block;
}

/* Our Core Services Section */
.core-services {
    background: #f8fafc;
    width: 100%;
    padding: 6.25rem 7.5rem;
    /* 6.25rem = Figma y2143 − section y2043 */
}

.core-services-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.core-services-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin-bottom: 0.625rem;
    /* 0.625rem to subtitle */
}

.core-services-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.2222;
    /* 22/18 */
    color: #4a4f54;
    margin-bottom: 3.125rem;
    /* 3.125rem to grid = Frame 30 gap */
}

.core-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    /* 1.25rem */
}

.core-service-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem */
    display: flex;
    flex-direction: column;
}

.core-service-icon {
    width: 3.25rem;
    /* 3.25rem */
    height: 3.25rem;
    color: #4a4f54;
    margin-bottom: 1.875rem;
    /* 1.875rem gap to text block */
    flex-shrink: 0;
}

.core-service-icon svg {
    width: 3.25rem;
    height: 3.25rem;
}

.core-service-name {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    line-height: 1.5;
    /* 30/20 */
    color: #111827;
    margin: 0 0 0.9375rem 0;
    /* 0.9375rem to description = Frame 89 gap */
}

.core-service-description {
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    line-height: 1.5;
    /* 24/16 */
    color: #4a4f54;
    margin: 0;
}

/* Development Process Section */
.development-process {
    width: 100%;
    padding: 7.813rem 7.5rem 0 7.5rem;
}

.development-process-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0 2rem;
}

.process-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.625rem;
    text-align: left;
    font-family: "Poppins";
}

.process-subtitle {
    font-size: 1.125rem;
    color: #4a4f54;
    margin-bottom: 4.06rem;
    text-align: left;
    font-family: "Inter";
}

.process-carousel {
    overflow: hidden;
    margin-bottom: 2.5rem;
}

.process-track {
    display: flex;
    transition: transform 0.5s ease;
    margin-block: 0.3125rem;
}

.process-step {
    min-width: calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
    width: calc(33.333% - 1rem);
    background-color: #fff;
    border: 0.0625rem solid #e5e7eb;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    /* gap: 1.5rem; */
    min-height: 12.5rem;
    flex-shrink: 0;
    box-sizing: border-box;
}

.process-track .process-step:first-child {
    border-radius: 1rem 0 0 1rem;
}

.process-track .process-step:last-child {
    border-radius: 0 1rem 1rem 0;
}

.process-number {
    font-size: 1.375rem;
    font-weight: 300;
    color: #4a4f54;
    letter-spacing: 0.05em;
    margin-bottom: 1.875rem;
}

.process-step-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.938rem;
    line-height: 1.3;
    font-family: "Poppins";
}

.process-step-description {
    font-size: 1.125rem;
    color: #4a4f54;
    font-weight: 500;
    line-height: 1.7;
    margin: 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    font-family: "Inter";
}

.process-dots {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}

.process-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background-color: #d1d5db;
    cursor: pointer;
    transition: all 0.3s ease;
}

.process-dot.active {
    background-color: #2563eb;
    width: 1.5rem;
    border-radius: 0.3125rem;
}

/* Case Studies Hero */
.case-studies-hero {
    background-color: #fff;
    width: 100%;
    padding: 3.375rem 7.5rem 0;
    /* 3.375rem top — matches Figma top: 9rem offset */
}

.case-studies-hero-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.case-studies-hero-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to subtitle */
}

.case-studies-hero-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 28/18 */
    color: #4a4f54;
}

/* Case Studies Grid Section */
.case-studies-grid-section {
    width: 100%;
    padding: 3.125rem 7.5rem 0;
    /* 3.125rem top — gap from hero content to grid */
}

.case-studies-grid-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.875rem 1.25rem;
    /* 3.875rem row / 1.25rem col */
}

.case-study-item {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    gap: 0.9375rem;
    /* 0.9375rem */
}

.case-study-image {
    width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    /* 0.75rem */
    background: #d9d9d9;
}

.case-study-image img {
    width: 100%;
    height: 25rem;
    /* 25rem */
    object-fit: cover;
    display: block;
}

.case-study-info {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    /* 0.375rem */
    padding: 0;
}

.case-study-title {
    font-family: "Poppins", sans-serif;
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.5;
    /* 1.875rem */
}

.case-study-tags {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 1.0625rem */
    color: #4a4f54;
    margin: 0;
}

/* Case Study Detail Hero */
.case-study-detail-hero {
    background-color: #d9d9d9;
    width: 100%;
    padding: 3rem 7.5rem 0;
    position: relative;
    overflow: hidden;
}

/* Layer 1: background image — horizontally flipped */
.case-study-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/caseBg.jpg") center/cover no-repeat;
    transform: scaleX(-1);
    z-index: 0;
}

/* Layer 2: gradient fade to white at the bottom */
.case-study-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 44.98%,
        #ffffff 100%
    );
    z-index: 1;
    pointer-events: none;
}

.case-study-detail-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
}

.case-study-detail-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.625rem;
    font-family: "Poppins";
}

.case-study-detail-subtitle {
    font-size: 1.125rem;
    color: #4a4f54;
    line-height: 1.56;
    margin-bottom: 3.125rem;
    font-family: "Inter";
}

.case-study-detail-image {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 0;
}

.case-study-detail-image img {
    width: 100%;
    height: 31.25rem;
    object-fit: cover;
}

/* Case Study Overview */
.case-study-overview {
    background-color: #fff;
    width: 100%;
    padding: 6.25rem 7.5rem;
}

.case-study-overview-container {
    max-width: 87.5rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 12.5rem 1fr;
    gap: 4rem;
    align-items: start;
}

.overview-section-title {
    font-size: 1.875rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
    position: sticky;
    top: 6.25rem;
    font-family: "Poppins";
}

.overview-content {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.overview-description {
    font-size: 1.125rem;
    color: #4a4f54;
    line-height: 1.75;
    margin: 0;
    font-family: "Inter";
}

.overview-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.overview-detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.overview-label {
    font-size: 1rem;
    font-family: "Inter";
    font-weight: 400;
    color: #6b7280;
}

.overview-value {
    font-family: "Inter", sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
}

/* Case Study Challenges */
.case-study-challenges {
    background: #f8fafc;
    width: 100%;
    padding: 5rem 7.5rem;
    /* 5rem = Figma y1370 − section y1290 */
}

.case-study-challenges-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.challenges-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem to subtitle */
}

.challenges-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 28/18 */
    color: #4a4f54;
    margin-bottom: 3.625rem;
    /* 3.625rem gap to cards = Figma y1576 − (y1370+148) */
}

.challenges-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    /* 1.25rem */
}

.challenge-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem */
    display: flex;
    flex-direction: column;
}

.challenge-icon {
    width: 3.25rem;
    /* 3.25rem */
    height: 3.25rem;
    color: #4a4f54;
    flex-shrink: 0;
    margin-bottom: 1.875rem;
    /* 1.875rem gap to text block */
}

.challenge-icon svg,
.challenge-icon img {
    width: 3.25rem;
    height: 3.25rem;
    color: #4a4f54;
}

.challenge-name {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    line-height: 1.5;
    /* 30/20 */
    color: #111827;
    margin: 1.875rem 0 0.938rem 0;
}

.challenge-description {
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    line-height: 1.5;
    /* 24/16 */
    color: #4a4f54;
    margin: 0;
}

/* Solutions in Action */
.solutions-in-action {
    background-color: #fff;
    width: 100%;
    padding: 8.75rem 7.5rem;
}

.solutions-in-action-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 554fr 590fr;
    gap: 3.5rem;
    /* 3.5rem */
    align-items: start;
}

.solutions-image {
    width: 100%;
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
    position: sticky;
    top: 6.25rem;
}

.solutions-image img {
    width: 100%;
    height: 43.375rem;
    /* 43.375rem */
    object-fit: cover;
    display: block;
}

.solutions-content {
    display: flex;
    flex-direction: column;
}

.solutions-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.5;
    /* 3.9375rem */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem */
}

.solutions-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 1.75rem */
    color: #4a4f54;
    margin: 0 0 1.25rem 0;
    /* 1.25rem */
}

.solutions-list {
    display: flex;
    flex-direction: column;
}

.solution-item {
    border-bottom: 0.0625rem solid rgba(74, 79, 84, 0.1);
    padding: 1.75rem 0;
    /* 1.75rem */
}

.solution-item:first-child {
    padding-top: 0;
    padding-bottom: 1.875rem;
    /* 1.875rem */
}

.solution-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
    /* 1.25rem */
    cursor: pointer;
}

.solution-info {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    /* 1.25rem */
    flex: 1;
}

.solution-number {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 300;
    line-height: 1.2273;
    /* 1.6875rem */
    color: #4a4f54;
}

.solution-name {
    font-family: "Poppins";
    font-size: 1.625rem;
    /* 1.625rem */
    font-weight: 600;
    line-height: 1.5;
    /* 2.4375rem */
    color: #111827;
    flex: 1;
    margin: 0;
}

.solution-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.5rem;
    /* 1.5rem */
    height: 1.5rem;
    /* 1.5rem */
    color: #4a4f54;
    transition: transform 0.2s ease;
}

.solution-toggle svg {
    stroke: currentColor;
    width: 1.125rem;
    height: 1.125rem;
}

.solution-item-expanded .solution-toggle {
    transform: rotate(180deg);
}

.solution-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 1.625rem */
    color: #4a4f54;
    margin: 0.625rem 0 0 0;
    /* 0.625rem top */
    display: none;
}

.solution-item-expanded .solution-description {
    display: block;
}

/* Key Outcomes */
.key-outcomes {
    background: #ffffff;
    width: 100%;
    padding: 0 7.5rem;
}

.key-outcomes-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.key-outcomes-title {
    font-family: "Poppins";
    font-size: 1.875rem;
    /* 1.875rem */
    font-weight: 600;
    line-height: 1.8333;
    /* 3.4375rem */
    color: #111827;
    text-align: center;
    margin-bottom: 1.5625rem;
    /* 1.5625rem */
}

.outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    /* 1.25rem */
}

.outcome-card {
    box-sizing: border-box;
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.outcome-number {
    font-family: "Poppins";
    font-size: 3.125rem;
    /* 3.125rem */
    font-weight: 700;
    line-height: 1.5;
    /* 4.6875rem */
    color: #2563eb;
    margin: 0 0 1.25rem 0;
    /* 1.25rem */
    align-self: stretch;
}

.outcome-label {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    line-height: 1.5;
    /* 1.875rem */
    color: #111827;
    margin: 0 0 0.9375rem 0;
    /* 0.9375rem */
    align-self: stretch;
}

.outcome-description {
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    line-height: 1.5;
    /* 1.5rem */
    color: #4a4f54;
    margin: 0;
    align-self: stretch;
}

/* Blog Detail Hero */
.blog-detail-hero {
    background-color: #fff;
    width: 100%;
    padding: 1rem 7.5rem 0;
    position: relative;
    overflow: hidden;
}

.blog-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/assets/blogDetailBg.jpg") center / cover no-repeat;
    transform: scaleX(-1);
    z-index: 0;
}

.blog-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 44.98%,
        #ffffff 100%
    );
    z-index: 1;
    pointer-events: none;
}

.blog-detail-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
}

.blog-detail-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.25rem;
    line-height: 1.3;
}

.blog-detail-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #4a4f54;
    margin-bottom: 3.185em;
}

.blog-detail-date {
    font-weight: 700;
}

.blog-detail-author {
    font-weight: 400;
}

.blog-detail-image {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 0;
}

.blog-detail-image img {
    width: 100%;
    height: 31.25rem;
    object-fit: cover;
}

/* Blog Content Section */
.blog-content-section {
    background-color: #fff;
    width: 100%;
    padding: 4rem 7.5rem 8.75rem 7.5rem;
    margin-bottom: 7.5rem;
}

.blog-content-container {
    max-width: 56.25rem;
    margin: 0 auto;
    padding: 0 2rem;
}

.blog-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    overflow-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
}

.blog-content img,
.blog-content table,
.blog-content pre,
.blog-content iframe {
    max-width: 100%;
}

.blog-intro {
    font-size: 1.05rem;
    color: #4b5563;
    line-height: 1.8;
    margin: 0;
    padding: 1.5rem;
    background-color: #f9fafb;
    border-radius: 0.75rem;
    border-left: 0.25rem solid #2563eb;
}

.content-heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1f2937;
    margin: 2rem 0 1rem;
}

.content-paragraph {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.8;
    margin: 0 0 1.5rem;
}

.content-list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.content-list-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.7;
}

.content-list-item svg {
    flex-shrink: 0;
    margin-top: 0.15rem;
    stroke: #2563eb;
}

.content-list-item span {
    flex: 1;
}

.content-sections {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 2rem 0;
}

.content-section-item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.section-item-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0;
}

.section-item-description {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.8;
    margin: 0;
}

.blog-conclusion {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 2.5rem;
    border-radius: 0.75rem;
    margin-top: 3rem;
    border-left: 0.25rem solid #2563eb;
}

.conclusion-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 1rem;
}

.conclusion-text {
    font-size: 1.05rem;
    color: #4b5563;
    line-height: 1.8;
    margin: 0;
}

/* Blog Hero */
.blog-hero {
    background-color: #fff;
    width: 100%;
    padding: 3.375rem 7.5rem 0rem 7.5rem;
}

.blog-hero-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.blog-hero-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to subtitle */
}

.blog-hero-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 28/18 */
    color: #4a4f54;
    margin-bottom: 1.875rem;
    /* 1.875rem gap to search */
}

.blog-search {
    position: relative;
    width: 25rem;
    /* 25rem */
}

.blog-search-icon {
    position: absolute;
    left: 1.625rem;
    /* 1.625rem from bar left */
    top: 50%;
    transform: translateY(-50%);
    color: #4a4f54;
    pointer-events: none;
    width: 1.5rem;
    /* 1.5rem */
    height: 1.5rem;
    /* 1.5rem */
}

.blog-search-input {
    width: 100%;
    height: 3.125rem;
    /* 3.125rem */
    padding: 0 1rem 0 4.0625rem;
    /* 4.0625rem left — text starts at 4.0625rem from bar left */
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    border-radius: 0.75rem;
    /* 0.75rem */
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    color: #4a4f54;
    box-sizing: border-box;
}

.blog-search-input:focus {
    outline: none;
    border-color: #2563eb;
}

.blog-search-input::placeholder {
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    color: #4a4f54;
}

/* Blog Grid Section */
.blog-grid-section {
    width: 100%;
    padding: 3.125rem 7.5rem 17rem 7.5rem;
    /* 3.125rem top */
}

.blog-grid-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem 1.875rem;
    /* 3.125rem row / 1.875rem col */
}

.blog-card {
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    /* 0.9375rem */
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.blog-card-image {
    width: 100%;
    border-radius: 0.75rem;
    /* 0.75rem */
    overflow: hidden;
    background: #d9d9d9;
}

.blog-card-image img {
    width: 100%;
    height: 15.625rem;
    /* 15.625rem */
    object-fit: cover;
}

.blog-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    /* 0.625rem */
}

.blog-card-title {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 700;
    line-height: 1.5;
    color: #111827;
    margin: 0;
}

.blog-card-meta {
    font-family: "Inter";
    font-size: 0.875rem;
    /* 0.875rem */
    font-weight: 400;
    line-height: 1.2143;
    color: #4a4f54;
    margin: 0;
}

.blog-card-meta strong {
    font-weight: 700;
}

.blog-card-excerpt {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-load-more {
    display: flex;
    justify-content: center;
    padding: 0 2rem;
}

.btn-load-more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background-color: #fff;
    border: 0.125rem solid #e5e7eb;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-load-more:hover {
    border-color: #2563eb;
    color: #2563eb;
}

.btn-load-more svg {
    transition: transform 0.3s ease;
}

.btn-load-more:hover svg {
    transform: translateY(0.1875rem);
}

/* Contact Section */
.contact-section {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 44.98%,
            #ffffff 100%
        ),
        #d9d9d9 url("/assets/contactBg.jpg") center/cover no-repeat;
    width: 100%;
    padding: 4.3125rem 7.5rem 0;
    position: relative;
}

.contact-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 483fr 688fr;
    gap: 1.8125rem;
    align-items: start;
    /* margin-bottom: 4.3125rem; */
}

.contact-companies {
    margin: 6.563rem auto 8.75rem !important;
}

.contact-info {
    display: flex;
    flex-direction: column;
}

.contact-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #111827;
    margin: 0 0 0.625rem 0;
    /* 0.625rem gap to description */
}

.contact-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.5556;
    /* 28/18 */
    color: #4a4f54;
    margin: 0 0 3.25rem 0;
    /* 3.25rem gap to contact-details = Figma 425−373 */
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 2.1875rem;
    font-family: "Inter";
    /* 2.1875rem = Frame 93 gap */
}

.contact-detail-item {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    /* 1.25rem */
}

.contact-icon {
    width: 2rem;
    /* 2rem */
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-detail-text {
    display: flex;
    flex-direction: column;
    gap: 0.3125rem;
    /* 0.3125rem = Frame 107 gap */
    flex: 1;
}

.contact-detail-label {
    font-family: "Inter";
    font-size: 1rem;
    /* 1rem */
    font-weight: 400;
    line-height: 1.75;
    /* 28/16 */
    color: #4a4f54;
    margin: 0;
}

.contact-detail-value {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 500;
    line-height: 1.5556;
    /* 28/18 */
    color: #111827;
    margin: 0;
}

/* Contact Form */
.contact-form-wrapper {
    box-sizing: border-box;
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    border-radius: 0.75rem;
    /* 0.75rem */
    padding: 1.875rem;
    /* 1.875rem all sides */
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
    /* 1.5625rem between field groups */
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    /* 1.25rem between Full Name and Email */
}

.form-group {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-top: 0.5rem;
}

.form-label {
    position: absolute;
    top: 2.1875rem;
    left: 1.4375rem;
    /* 1.75rem left padding minus 0.3125rem label padding */
    transform: translateY(-50%);
    padding: 0 0.3125rem;
    background: transparent;
    font-family: "Inter";
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.25;
    color: #4a4f54;
    opacity: 0.5;
    margin: 0;
    z-index: 1;
    white-space: nowrap;
    transition: all 0.3s ease;
    pointer-events: none;
}

.form-textarea ~ .form-label {
    top: 1.625rem;
    transform: none;
}

.form-input:focus ~ .form-label,
.form-input:not(:placeholder-shown) ~ .form-label,
.form-textarea:focus ~ .form-label,
.form-textarea:not(:placeholder-shown) ~ .form-label {
    top: 0;
    left: 0.75rem;
    transform: translateY(-50%);
    font-size: 0.75rem;
    color: #4a4f54;
    opacity: 1;
    background: #ffffff;
}

.required {
    color: #4a4f54;
}

.form-input,
.form-textarea {
    box-sizing: border-box;
    width: 100%;
    height: 3.375rem;
    /* 3.375rem */
    padding: 0 1.75rem;
    /* 1.75rem horizontal */
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.01);
    border-radius: 0.5rem;
    font-family: "Inter";
    font-weight: 500;
    font-size: 1rem;
    /* 1rem */
    line-height: 1.1875;
    /* 19/16 */
    color: #111827;
    outline: none;
}

.form-input:focus,
.form-textarea:focus {
    border-color: rgba(74, 79, 84, 0.3);
}

.form-input::placeholder,
.form-textarea::placeholder {
    font-family: "Inter";
    font-weight: 500;
    font-size: 1rem;
    color: #4a4f54;
    opacity: 0.5;
}

.form-textarea {
    height: 9.375rem;
    /* 9.375rem */
    padding: 1.125rem 1.75rem;
    /* 1.125rem top, 1.75rem sides */
    resize: vertical;
    line-height: 1.1875;
}

.form-captcha {
    margin: 0;
}

.captcha-placeholder {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 18.875rem;
    /* 18.875rem */
    height: 4.625rem;
    /* 4.625rem */
    padding: 0 0.625rem 0 0.75rem;
    background: #fafafa;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.01);
    border-radius: 0.5rem;
}

.captcha-placeholder input[type="checkbox"] {
    width: 1.5rem;
    /* 1.5rem */
    height: 1.5rem;
    background: #ffffff;
    border: 0.125rem solid #c1c1c1;
    border-radius: 0.0625rem;
    margin: 0 0.875rem 0 0;
    flex-shrink: 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.captcha-placeholder input[type="checkbox"]:checked {
    background: #2563eb;
    border-color: #2563eb;
}

.captcha-placeholder label {
    font-family: "Inter";
    font-weight: 500;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 17/14 */
    color: #111827;
    cursor: pointer;
    flex: 1;
}

.recaptcha-badge {
    font-family: "Roboto";
    font-weight: 500;
    font-size: 0.5rem;
    line-height: 1.125;
    color: #a6a6a6;
    text-align: center;
    flex-shrink: 0;
}

.btn-submit {
    box-sizing: border-box;
    width: 100%;
    height: 3.375rem;
    /* 3.375rem */
    padding: 0;
    background: #111827;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    border-radius: 0.5rem;
    font-family: "Inter";
    font-weight: 700;
    font-size: 1rem;
    /* 1rem */
    line-height: 1.1875;
    /* 19/16 */
    color: #ffffff;
    text-align: center;
    cursor: pointer;
}

.btn-submit:hover {
    background: #111827;
}

/* Contact Trusted Companies */
.contact-trusted-container {
    max-width: 87.5rem;
    margin: 5rem auto 0;
    padding: 0 2rem;
    text-align: center;
}

.contact-trusted-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 3rem;
}

.contact-companies-logos {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 3rem;
    align-items: center;
}

.contact-company-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.contact-company-logo:hover {
    opacity: 1;
}

.contact-company-logo img {
    max-width: 100%;
    height: auto;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.contact-company-logo:hover img {
    filter: grayscale(0%);
}

/* Trusted Companies Section */
.trusted-companies {
    background: linear-gradient(360deg, #f8fafc 0%, #ffffff 100%);
    width: 100%;
    padding: 0 7.5rem 8.75rem 7.5rem;
}

.trusted-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.trusted-title {
    font-family: "Poppins";
    font-size: 1.25rem;
    /* 1.25rem */
    font-weight: 600;
    line-height: 1.5;
    /* 30/20 */
    color: #111827;
    margin-bottom: 0.25rem;
    /* 0.25rem gap to subtitle */
    text-align: center;
}

.trusted-subtitle {
    font-family: "Poppins";
    font-size: 0.875rem;
    /* 0.875rem */
    font-weight: 400;
    line-height: 1.5;
    /* 21/14 */
    color: #4a4f54;
    margin-bottom: 1.875rem;
    text-align: center;
}

/* Companies Carousel */
.companies-carousel {
    overflow: hidden;
    position: relative;
    width: 100%;
    margin: 0 0 5.625rem 0;
}

.companies-track {
    display: flex;
    gap: 4rem;
    animation: scroll-companies 30s linear infinite;
    width: max-content;
}

.companies-track:hover {
    animation-play-state: paused;
}

@keyframes scroll-companies {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.company-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10.625rem;
    height: 4.5rem;
    min-width: 10.625rem;
    opacity: 0.6;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
}

.company-logo:hover {
    opacity: 1;
}

.company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.company-logo:hover img {
    filter: grayscale(0%);
}

/* Solutions We Deliver Section */
.solutions-section {
    /* background-color: #f8fafc; */
    margin: 8.75rem 0 0 0;
}

.solutions-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    /* line-height: 1.3; */
    margin-bottom: 0.25rem;
    text-align: left;
}

.solutions-subtitle {
    font-size: 1.125rem;
    color: #4a4f54;
    margin-bottom: 2.5rem;
    text-align: left;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.services-carousel-dots {
    display: none;
}

.service-card {
    background-color: #fff;
    border: 0.125rem solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 2rem 1.875rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: start;
    justify-content: flex-start;
    min-height: 13.75rem;
    transition: all 0.3s ease;
    position: relative;
}

.service-card:hover {
    border-color: #2563eb;
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.625rem 1.5625rem rgba(37, 99, 235, 0.1);
}

.service-card:hover .service-icon {
    opacity: 0;
    visibility: hidden;
    height: 0;
    margin-bottom: 0;
}

.service-card:hover .service-title {
    margin-top: 0;
    color: #2563eb;
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

.service-card:hover .service-link {
    opacity: 1;
    visibility: visible;
}

.service-icon {
    color: #1f2937;
    margin-bottom: 2rem;
    transition: all 0.3s ease;
}

.service-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.4;
    transition: all 0.3s ease;
}

.service-card .service-link {
    opacity: 0;
    visibility: hidden;
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    margin-top: auto;
}

.service-card .service-link:hover {
    gap: 0.75rem;
}

/* Why Choose Us Section */
.why-choose-us {
    background-color: #fff;
    width: 100%;
    padding: 8.75rem 7.5rem;
}

.why-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.why-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 4rem;
    margin-bottom: 4.75rem;
}

/* Left Side - Badge and Team */
.why-left {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.why-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4375rem;
    /* 0.4375rem */
    padding: 0.375rem 1.25rem;
    /* 0.375rem 1.25rem */
    border-radius: 0.375rem;
    /* 0.375rem */
    height: 1.875rem;
    /* 1.875rem */
    font-size: 0.75rem;
    /* 0.75rem */
    line-height: 1.5;
    /* 18/12 */
    font-weight: 600;
    color: #000000;
    width: fit-content;
    border: 0.0625rem solid #4a4f54;
    font-family: "Poppins";
}

/* Blue dot in why-badge: 8x8 #2563EB */
.badge-dot {
    width: 0.5rem;
    /* 0.5rem */
    height: 0.5rem;
    background: #2563eb;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.team-avatars {
    display: flex;
    align-items: center;
}

.team-avatars img {
    width: 2.125rem;
    /* 2.125rem */
    height: 2.125rem;
    /* 2.125rem */
    border-radius: 0.375rem;
    /* 0.375rem */
    border: 0.0625rem solid #fff;
    /* 1px */
    margin-left: -0.5rem;
    object-fit: cover;
}

.team-avatars img:first-child {
    margin-left: 0;
}

.team-count {
    width: 2.125rem;
    /* 2.125rem */
    height: 2.125rem;
    /* 2.125rem */
    border-radius: 0.375rem;
    /* 0.375rem */
    background-color: #1f2937;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.625rem;
    margin-left: -0.5rem;
    border: 0.0625rem solid #fff;
}

.team-text {
    font-size: 0.75rem;
    /* 0.75rem */
    line-height: 1.25;
    /* 15/12 */
    font-weight: 500;
    font-family: "Inter";
    color: #111827;
}

/* Right Side - Content */
.why-right {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.625rem;
}

.why-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    color: #111827;
    line-height: 1.3095;
    margin-bottom: 0.625rem;
    /* 55/42 */
}

.why-description {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    color: #4a4f54;
    line-height: 1.4444;
    /* 26/18 */
    margin-bottom: 1rem;
}

.why-right .btn-primary {
    padding: 0.9375rem 1.5rem;
    /* 0.9375rem 1.5rem */
    height: 2.9375rem;
    /* 2.9375rem */
    background: #111827;
    color: #f8fafc;
    border: 0.0625rem solid #111827;
    border-radius: 0.5rem;
    /* 0.5rem */
    font-family: "Inter";
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

/* Stats Cards */
.stats-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.stat-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(74, 79, 84, 0.1);
    /* 1px */
    border-radius: 0.75rem;
    /* 0.75rem */
    box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 21.875rem;
    /* 21.875rem */
}

.stat-number {
    font-family: "Poppins";
    font-size: 5rem;
    /* 5rem */
    font-weight: 700;
    line-height: 1.5;
    /* 120/80 */
    color: #111827;
    margin-bottom: 0.5rem;
}

.stat-text {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.2222;
    /* 22/18 */
    color: #111827;
    margin-bottom: 1.5rem;
    text-align: center;
}

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

.rating-number {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 700;
    line-height: 1.2273;
    /* 27/22 */
    color: #111827;
}

.rating-total {
    font-family: "Inter";
    font-size: 1.375rem;
    /* 1.375rem */
    font-weight: 700;
    line-height: 1.2273;
    color: #111827;
}

.stars {
    color: #fbbf24;
    font-size: 1.2rem;
    margin-left: 0.25rem;
}

/* Image Card */
.stat-card-image {
    padding: 0;
    overflow: hidden;
    border: none;
    box-shadow: none;
}

.stat-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.75rem;
    /* 0.75rem */
}

/* Blue Card */
.stat-card-blue {
    background: #2563eb;
    border: none;
    box-shadow: none;
    align-items: center;
    text-align: center;
}

.stat-year {
    font-family: "Poppins";
    font-size: 0.75rem;
    /* 0.75rem */
    font-weight: 700;
    line-height: 1.5;
    /* 18/12 */
    color: #ffffff;
    margin-bottom: 0.5rem;
}

.stat-number-large {
    font-family: "Poppins";
    font-size: 5rem;
    /* 5rem */
    font-weight: 700;
    line-height: 1.5;
    /* 120/80 */
    color: #ffffff;
    margin-bottom: 0.5rem;
}

.stat-text-white {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.2222;
    /* 22/18 */
    color: #ffffff;
}

/* Case Studies Section */
.case-studies {
    background-color: #f8fafc;
    width: 100%;
    padding: 6.25rem 7.5rem;
}

.case-studies-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.case-studies-title {
    font-family: "Poppins", sans-serif;
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    color: #111827;
    text-align: center;
    margin-bottom: 0.625rem;
    line-height: 1.3095;
    /* 3.4375rem */
}

.case-studies-subtitle {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 1.125rem;
    /* 1.125rem */
    line-height: 1.2222;
    /* 1.375rem */
    color: #4a4f54;
    text-align: center;
    margin-bottom: 4.375rem;
    /* 4.375rem gap to grid */
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.875rem 1.25rem;
    /* 3.875rem row / 1.25rem col */
    /* margin-bottom: 3rem; */
}

.portfolio-item {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    height: 25rem;
    text-decoration: none;
    color: inherit;
    display: block;
}

.portfolio-item:hover {
    transform: translateY(-0.3125rem);
}

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

.portfolio-item:hover img {
    transform: scale(1.05);
}

.portfolio-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.9) 0%,
        rgba(0, 0, 0, 0.7) 50%,
        rgba(0, 0, 0, 0) 100%
    );
    padding: 2.5rem 2rem 2rem;
    color: #fff;
}

.portfolio-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
}

.portfolio-tags {
    font-size: 0.875rem;
    font-family: "Inter";
    color: rgba(255, 255, 255, 0.8);
}

.case-studies-cta {
    padding-top: 6.6875rem;
    /* 6.6875rem gap from last card row */
    text-align: center;
}

.case-studies-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9375rem 1.5rem;
    /* 0.9375rem 1.5rem */
    height: 2.9375rem;
    /* 2.9375rem */
    background: #111827;
    color: #f8fafc;
    border: 0.0625rem solid #111827;
    border-radius: 0.5rem;
    /* 0.5rem */
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    text-decoration: none;
}

/* Testimonials Section */
.testimonials {
    background-color: #fff;
    width: 100%;
    padding: 8.75rem 7.5rem 0 7.5rem;
}

.testimonials-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 4.375rem 0 0 0;
}

.testimonials-title {
    font-size: 2.625rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.625rem;
}

.testimonials-subtitle {
    font-size: 1.125rem;
    color: #4a4f54;
    margin-bottom: 4rem;
}

.testimonials-carousel {
    position: relative;
    overflow: hidden;
    margin-bottom: 2rem;
    /* padding: 0 3.75rem; */
}

.testimonials-track {
    display: flex;
    /* gap: 1.5rem; */
    transition: transform 0.5s ease;
    margin-block: 0.3125rem;
}

.testimonial-card {
    min-width: calc(33.333% - 1rem);
    background-color: #fff;
    border: 0.0625rem solid #e5e7eb;
    padding: 1.875rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.testimonials-track .testimonial-card:first-child {
    border-radius: 1rem 0 0 1rem;
}

.testimonials-track .testimonial-card:last-child {
    border-radius: 0 1rem 1rem 0;
}

/* Carousel Navigation Buttons */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: #fff;
    border: 0.125rem solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.carousel-btn:hover {
    background-color: #2563eb;
    border-color: #2563eb;
    box-shadow: 0 0.25rem 0.75rem rgba(37, 99, 235, 0.3);
}

.carousel-btn:hover svg {
    stroke: #fff;
}

.carousel-btn svg {
    transition: stroke 0.3s ease;
}

.carousel-btn-prev {
    left: 0;
}

.carousel-btn-next {
    right: 0;
}

.company-logo-text {
    font-size: 1rem;
    font-weight: 600;
    color: #6b7280;
}

.company-logo-img {
    margin-bottom: 0.75rem;
}

.company-logo-img img {
    max-height: 2.5rem;
    max-width: 7.5rem;
    object-fit: contain;
}

.testimonial-text {
    font-size: 1.125rem;
    color: #4a4f54;
    line-height: 1.6;
    font-family: "Poppins";
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.testimonial-read-more {
    display: none;
    margin-top: 0.625rem;
    background: none;
    border: 0.0625rem solid #2563eb;
    color: #2563eb;
    padding: 0.25rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    cursor: pointer;
    font-family: "Poppins";
}

.testimonial-quote-wrap {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.testimonial-author img {
    width: 3.125rem;
    height: 3.125rem;
    border-radius: 50%;
    object-fit: cover;
}

.author-info {
    display: flex;
    flex-direction: column;
}

.author-info strong {
    font-size: 1.125rem;
    color: #111827;
    font-weight: 500;
}

.author-info span {
    font-weight: 500;
    font-size: 0.875rem;
    color: #111827;
}

/* Carousel Dots */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.carousel-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 10%;
    background-color: #4a4f54;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-dot.active {
    background-color: #2563eb;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 10%;
}

/* CTA Section */
.cta-section {
    width: 100%;
    padding: 0 7.5rem;
    margin-block: 8.75rem;
    /* 8.75rem top/bottom spacing */
}

.cta-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0;
}

.cta-content {
    background: #1e3a8a;
    border-radius: 0.75rem;
    /* 0.75rem */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 19.3125rem;
    /* 19.3125rem */
    text-align: center;
    overflow: hidden;
    position: relative;
}

.cta-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
        center / cover no-repeat;
    z-index: 0;
}

.cta-content::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(30, 30, 30, 0.6);
    z-index: 1;
}

.cta-title {
    font-family: "Poppins";
    font-size: 2.625rem;
    /* 2.625rem */
    font-weight: 600;
    line-height: 1.3095;
    /* 55/42 */
    color: #ffffff;
    text-align: center;
    margin-bottom: 0.625rem;
    /* 0.625rem gap to subtitle */
    position: relative;
    z-index: 2;
}

.cta-subtitle {
    font-family: "Inter";
    font-size: 1.125rem;
    /* 1.125rem */
    font-weight: 400;
    line-height: 1.4444;
    /* 26/18 */
    color: #ffffff;
    text-align: center;
    margin-bottom: 2.1875rem;
    /* 2.1875rem gap to button */
    position: relative;
    z-index: 2;
}

.btn-cta {
    background: #f8fafc;
    color: #111827;
    padding: 0.9375rem 1.5rem;
    /* 0.9375rem 1.5rem */
    height: 2.9375rem;
    /* 2.9375rem */
    font-family: "Inter";
    font-weight: 600;
    font-size: 0.875rem;
    /* 0.875rem */
    line-height: 1.2143;
    /* 17/14 */
    border-radius: 0.5rem;
    /* 0.5rem */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
}

.btn-cta:hover {
    background-color: #f3f4f6;
}

/* Footer Styles */
.footer {
    background-color: #111827;
    color: #fff;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 6.25rem 0 7.188rem 0;
    border-radius: 1.25rem 1.25rem 0 0;
}

.footer-watermark {
    position: absolute;
    bottom: -8rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12.5rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.04);
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    z-index: 0;
    line-height: 1;
}

.footer-container {
    max-width: 87.5rem;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 0.75fr 1.45fr 0.95fr;
    gap: 2rem;
    padding-bottom: 3rem;
    /* border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.1); */
    margin-bottom: 2rem;
}

/* Footer Brand */
.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.5rem;
    font-weight: bold;
}

.footer-logo img {
    height: 5rem !important;
    width: auto !important;
}

.footer-logo .logo-icon {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 1.2rem;
}

.footer-logo .logo-text {
    color: #fff;
    font-style: italic;
}

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

.footer-social a {
    width: 2.8125rem;
    height: 2.8125rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.3s ease;
}

.footer-social a:hover {
    background-color: #2563eb;
    color: #fff;
    transform: translateY(-0.1875rem);
}

/* Footer Links */
.footer-links {
    display: contents;
}

.footer-column {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 1.5rem;
}

.footer-heading {
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.footer-menu,
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-menu a,
.footer-contact a {
    color: #f8fafc;
    text-decoration: none;
    font-size: 1rem;
    transition: color 0.3s ease;
    font-family: "Inter";
    line-height: 1.25;
}

.footer-menu a:hover,
.footer-contact a:hover {
    color: #2563eb;
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    line-height: 1.6;
}

.footer-contact svg {
    flex-shrink: 0;
    margin-top: 0.2rem;
    color: #2563eb;
}

/* Footer Bottom */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "Inter";
}

.footer-copyright {
    font-size: 0.875rem;
    color: #f8fafc;
    margin: 0;
}

.footer-legal {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
}

.footer-legal a {
    color: #f8fafc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-legal a:hover {
    color: #fff;
}

.footer-legal span {
    color: rgba(255, 255, 255, 0.3);
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 0.4rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    z-index: 1001;
}

.mobile-menu-toggle span {
    width: 1.5625rem;
    height: 0.1875rem;
    background-color: #333;
    transition: all 0.3s ease;
    border-radius: 0.125rem;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(0.375rem, 0.375rem);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(0.375rem, -0.375rem);
}

/* Navigation Container */
.nav-container {
    display: flex;
    align-items: center;
    gap: 2rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* Responsive Design */

/* Tablet (48rem - 64rem) */
@media (max-width: 64rem) {
    header {
        padding: 1rem 0;
    }

    .navbar {
        padding: 0 1.5rem;
        max-width: 100%;
    }

    .nav-links {
        gap: 1.5rem;
    }

    .nav-links a {
        font-size: 0.95rem;
    }

    .content-wrapper {
        padding: 0 1.5rem;
    }

    section {
        padding: 1.5rem;
    }

    /* Hero Responsive */
    .hero {
        padding: 3rem 0;
    }

    .hero-container,
    .hero-images {
        padding: 0 1.5rem;
        gap: 2rem;
    }

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

    .hero-images {
        gap: 1rem;
    }

    .image-large img {
        height: 31.25rem;
    }

    .image-item img {
        height: 15rem;
    }

    /* About Hero Responsive */
    .about-hero {
        padding: 4rem 0;
    }

    .about-hero-container {
        padding: 0 1.5rem;
    }

    .about-hero-content {
        margin-bottom: 2.5rem;
    }

    .about-hero-title {
        font-size: 2.5rem;
    }

    .about-hero-subtitle {
        font-size: 1.15rem;
    }

    .about-hero-image img {
        height: 28.125rem;
    }

    /* About Stats Responsive */
    .about-stats {
        padding: 4rem 0;
    }

    .about-stats-container {
        padding: 0 1.5rem;
    }

    .about-stats-title {
        font-size: 1.8rem;
    }

    .stats-logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .stats-numbers {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .stat-box {
        padding: 2rem 1.5rem;
    }

    .stat-number {
        font-size: 3rem;
    }

    /* Mission and Vision Responsive */
    .mission-vision {
        padding: 4rem 0;
    }

    .mission-vision-container {
        padding: 0 1.5rem;
        gap: 1.5rem;
    }

    .mission-card,
    .vision-card {
        padding: 2.5rem 2rem;
    }

    .mission-title,
    .vision-title {
        font-size: 1.5rem;
    }

    /* Core Values Responsive */
    .core-values {
        padding: 4rem 0;
    }

    .core-values-container {
        padding: 0 1.5rem;
        gap: 3rem;
    }

    .core-values-image {
        top: 5.625rem;
    }

    .core-values-image img {
        height: 31.25rem;
    }

    .core-values-title {
        font-size: 2rem;
    }

    .value-name {
        font-size: 1.15rem;
    }

    /* About CTA Responsive */
    .about-cta {
        padding: 4rem 0;
    }

    .about-cta-container {
        padding: 0 1.5rem;
    }

    .about-cta-content {
        padding: 4rem 2.5rem;
    }

    .about-cta-title {
        font-size: 2rem;
    }

    .about-cta-subtitle {
        font-size: 1rem;
    }

    /* Services Hero Responsive */
    .services-hero {
        padding: 4rem 0;
    }

    .services-hero-container {
        padding: 0 1.5rem;
    }

    .services-hero-title {
        font-size: 3rem;
    }

    .services-hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 3.5rem;
    }

    .services-hero-stats {
        gap: 2.5rem;
    }

    .hero-stat-number {
        font-size: 3rem;
    }

    /* Services Details Responsive */
    .services-details {
        padding: 4rem 0;
    }

    .services-details-container {
        padding: 0 1.5rem;
        gap: 5rem;
    }

    .service-detail-item {
        gap: 3rem;
    }

    .service-detail-image img {
        height: 21.875rem;
    }

    .service-detail-title {
        font-size: 1.75rem;
    }

    .service-detail-description {
        font-size: 0.95rem;
    }

    /* Industries Expertise Responsive */
    .industries-expertise {
        padding: 4rem 0;
    }

    .industries-container {
        padding: 0 1.5rem;
    }

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

    .industries-subtitle {
        margin-bottom: 3rem;
    }

    .industries-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .industry-card {
        padding: 2rem 1.5rem;
    }

    .industry-name {
        font-size: 1rem;
    }

    /* Service Detail Page Responsive */
    .service-page-hero {
        padding: 2.5rem 0 5rem;
    }

    .service-page-container {
        padding: 0 1.5rem;
    }

    .service-page-title {
        font-size: 2.5rem;
    }

    .service-page-image img {
        height: 25rem;
    }

    .service-content-title {
        font-size: 1.75rem;
    }

    .service-content-text {
        font-size: 1rem;
    }

    /* What We Deliver Responsive */
    .what-we-deliver {
        padding: 5rem 0;
    }

    .what-we-deliver-container {
        padding: 0 1.5rem;
        gap: 4rem;
    }

    .deliver-image {
        top: 5.625rem;
    }

    .deliver-image img {
        height: 31.25rem;
    }

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

    .deliver-name {
        font-size: 1.15rem;
    }

    /* Core Services Responsive */
    .core-services {
        padding: 5rem 0;
    }

    .core-services-container {
        padding: 0 1.5rem;
    }

    .core-services-title {
        font-size: 2rem;
    }

    .core-services-subtitle {
        margin-bottom: 2.5rem;
    }

    .core-services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .core-service-card {
        padding: 2rem 1.75rem;
    }

    .core-service-name {
        font-size: 1.1rem;
    }

    /* Development Process Responsive */
    .development-process {
        padding: 5rem 0;
    }

    .development-process-container {
        padding: 0 1.5rem;
    }

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

    .process-subtitle {
        margin-bottom: 2.5rem;
    }

    .process-track {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .process-step {
        padding: 2rem 1.75rem;
    }

    .process-step-title {
        font-size: 1.15rem;
    }

    /* Case Studies Responsive */
    .case-studies-hero {
        padding: 3.5rem 0 2.5rem;
    }

    .case-studies-hero-container {
        padding: 0 1.5rem;
    }

    .case-studies-hero-title {
        font-size: 2.5rem;
    }

    .case-studies-hero-subtitle {
        font-size: 1rem;
    }

    .case-studies-grid-section {
        padding: 2.5rem 0 5rem;
    }

    .case-studies-grid-container {
        padding: 0 1.5rem;
        gap: 1.75rem;
    }

    .case-study-image img {
        height: 18.75rem;
    }

    .case-study-title {
        font-size: 1.25rem;
    }

    /* Case Study Detail Responsive */
    .case-study-detail-hero {
        padding: 2.5rem 0 0;
    }

    .case-study-detail-container {
        padding: 0 1.5rem;
    }

    .case-study-detail-title {
        font-size: 2.25rem;
    }

    .case-study-detail-image img {
        height: 25rem;
    }

    .case-study-overview {
        padding: 3.5rem 0 5rem;
    }

    .case-study-overview-container {
        padding: 0 1.5rem;
        gap: 3rem;
    }

    .overview-section-title {
        font-size: 1.5rem;
    }

    .overview-details {
        gap: 1.5rem;
    }

    /* Case Study Challenges Responsive */
    .case-study-challenges {
        padding: 4rem 0;
    }

    .case-study-challenges-container {
        padding: 0 1.5rem;
    }

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

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

    .challenges-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.75rem;
    }

    .challenge-card {
        padding: 2rem 1.75rem;
    }

    .challenge-icon {
        width: 3.25rem;
        height: 3.25rem;
    }

    .challenge-icon svg {
        width: 2.25rem;
        height: 2.25rem;
    }

    .challenge-name {
        font-size: 1.15rem;
    }

    /* Solutions in Action Responsive */
    .solutions-in-action {
        padding: 4rem 0;
    }

    .solutions-in-action-container {
        padding: 0 1.5rem;
        gap: 3rem;
    }

    .solutions-image {
        top: 5.625rem;
    }

    .solutions-image img {
        height: 31.25rem;
    }

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

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

    .solution-item {
        padding: 1.75rem 0;
    }

    .solution-number {
        font-size: 1.15rem;
        min-width: 2.25rem;
    }

    .solution-name {
        font-size: 1.05rem;
    }

    .solution-toggle {
        width: 2.25rem;
        height: 2.25rem;
    }

    .solution-description {
        padding-left: 3.25rem;
    }

    /* Key Outcomes Responsive */
    .key-outcomes {
        padding: 4rem 0;
    }

    .key-outcomes-container {
        padding: 0 1.5rem;
    }

    .key-outcomes-title {
        font-size: 2rem;
        margin-bottom: 3rem;
    }

    .outcomes-grid {
        gap: 2.5rem;
    }

    .outcome-number {
        font-size: 3rem;
    }

    .outcome-label {
        font-size: 1.05rem;
    }

    /* Blog Detail Responsive */
    .blog-detail-hero {
        padding: 2.5rem 0 0;
    }

    .blog-detail-container {
        padding: 0 1.5rem;
    }

    .blog-detail-title {
        font-size: 2.25rem;
    }

    .blog-detail-meta {
        font-size: 0.9rem;
        margin-bottom: 2rem;
    }

    .blog-detail-image img {
        height: 25rem;
    }

    /* Blog Content Responsive */
    .blog-content-section {
        padding: 3.5rem 0;
    }

    .blog-content-container {
        padding: 0 1.5rem;
    }

    .blog-intro {
        font-size: 1rem;
        padding: 1.25rem;
    }

    .content-heading {
        font-size: 1.6rem;
    }

    .section-item-title {
        font-size: 1.15rem;
    }

    .blog-conclusion {
        padding: 2rem;
    }

    .conclusion-title {
        font-size: 1.35rem;
    }

    /* Blog Responsive */
    .blog-hero {
        padding: 3.5rem 0 2.5rem;
    }

    .blog-hero-container {
        padding: 0 1.5rem;
    }

    .blog-hero-title {
        font-size: 2.5rem;
    }

    .blog-hero-subtitle {
        font-size: 1rem;
    }

    .blog-grid-section {
        padding: 2.5rem 0 5rem;
    }

    .blog-grid-container {
        padding: 0 1.5rem;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.75rem;
    }

    .blog-card-image img {
        height: 13.75rem;
    }

    .blog-card-title {
        font-size: 1.1rem;
    }

    /* Contact Responsive */
    .contact-section {
        padding: 5rem 0;
    }

    .contact-container {
        padding: 0 1.5rem;
        gap: 4rem;
    }

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

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

    .contact-form-wrapper {
        padding: 2.5rem 2rem;
    }

    .contact-trusted-container {
        margin-top: 4rem;
        padding: 0 1.5rem;
    }

    .contact-trusted-title {
        font-size: 1.8rem;
        margin-bottom: 2.5rem;
    }

    .contact-companies-logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5rem;
    }

    /* Trusted Companies Responsive */
    .trusted-companies {
        padding: 4rem 0;
    }

    .trusted-container {
        padding: 0 1.5rem;
    }

    .trusted-title {
        margin-bottom: 0.25rem;
        font-size: 1.8rem;
    }

    .companies-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    /* Solutions Responsive */
    .solutions-section {
        margin-top: 4rem;
    }

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

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }

    .service-card {
        padding: 2rem 1.5rem;
        min-height: 12.5rem;
    }

    /* Why Choose Us Responsive */
    .why-choose-us {
        padding: 4rem 0;
    }

    .why-container {
        padding: 0 1.5rem;
    }

    .why-content {
        gap: 3rem;
        margin-bottom: 3rem;
    }

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

    .stats-cards {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .stat-card {
        min-height: 15.625rem;
    }

    .stat-number {
        font-size: 3rem;
    }

    .stat-number-large {
        font-size: 4rem;
    }

    /* Case Studies Responsive */
    .case-studies {
        padding: 4rem 0;
    }

    .case-studies-container {
        padding: 0 1.5rem;
    }

    .case-studies-title {
        font-size: 2rem;
    }

    .case-studies-subtitle {
        margin-bottom: 3rem;
    }

    .portfolio-grid {
        gap: 1.25rem;
        margin-bottom: 2.5rem;
    }

    .portfolio-title {
        font-size: 1.3rem;
    }

    /* Testimonials Responsive */
    .testimonials {
        padding: 4rem 0;
    }

    .testimonials-container {
        padding: 0 1.5rem;
    }

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

    .testimonials-subtitle {
        margin-bottom: 3rem;
    }

    .testimonials-carousel {
        padding: 0 3.125rem;
    }

    .testimonial-card {
        min-width: calc(50% - 0.75rem);
        padding: 2rem 1.5rem;
    }

    .carousel-btn {
        width: 2.5rem;
        height: 2.5rem;
    }

    .carousel-btn-prev {
        left: 0;
    }

    .carousel-btn-next {
        right: 0;
    }

    /* CTA Responsive */
    .cta-section {
        padding: 4rem 0;
    }

    .cta-container {
        padding: 0 1.5rem;
    }

    .cta-content {
        padding: 4rem 2.5rem;
    }

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

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

    /* Footer Responsive */
    .footer {
        padding: 3rem 0 1.5rem;
    }

    .footer-watermark {
        font-size: 12rem;
    }

    .footer-container {
        padding: 0 1.5rem;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding-bottom: 2rem;
    }

    .footer-links {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}

/* Mobile (max-width: 48rem) */
@media (max-width: 48rem) {
    header {
        padding: 1rem 0;
    }

    .navbar {
        position: relative;
        padding: 0 1rem;
    }

    .mobile-menu-toggle {
        display: flex;
        position: relative;
        z-index: 10000;
    }

    .nav-container {
        position: fixed;
        top: 0;
        right: -100%;
        left: auto;
        transform: none;
        height: 100vh;
        width: 70%;
        max-width: 18.75rem;
        background-color: #fff;
        flex-direction: column;
        align-items: flex-start;
        padding: 5rem 2rem 2rem;
        box-shadow: -0.125rem 0 0.625rem rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
        gap: 2rem;
        overflow-y: auto;
        z-index: 9999;
    }

    .nav-container.active {
        right: 0;
    }

    .nav-links {
        flex-direction: column;
        gap: 1.5rem;
        width: 100%;
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links a {
        display: block;
        padding: 0.5rem 0;
        font-size: 1.1rem;
    }

    .contact-btn {
        display: none;
    }

    .nav-container .contact-btn {
        display: flex;
        width: 100%;
        justify-content: center;
        margin-top: 0.5rem;
    }

    .logo {
        font-size: 1.3rem;
    }

    .logo-icon {
        font-size: 1rem;
        padding: 0.4rem 0.6rem;
    }

    .content-wrapper {
        padding: 0 1rem;
    }

    section {
        padding: 1.5rem 1rem;
        margin-bottom: 1.5rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    footer {
        padding: 1.5rem 0;
        margin-top: 2rem;
    }

    footer p {
        padding: 0 1rem;
    }

    /* Hero Mobile Responsive */
    .hero {
        padding: 2rem 0;
    }

    .hero-container,
    .hero-images {
        padding: 0 1rem;
    }

    .hero-container {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

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

    .hero-title br {
        display: none;
    }

    .hero-buttons {
        grid-column: unset;
        grid-row: unset;
        flex-direction: row;
        gap: 0.75rem;
        margin-top: 0;
    }

    .hero-buttons .btn {
        flex: 1;
        width: auto;
        text-align: center;
        padding: 0.75rem 0.5rem;
        font-size: 0.85rem;
    }

    .hero-stats {
        padding: 1.5rem 0 0 0;
    }

    .stats-title {
        font-size: 1.1rem;
    }

    .stats-description {
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: 1rem;
    }

    /* Hero Images Mobile */
    .hero-images {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        margin-top: 1.5rem;
    }

    .hero-images .image-large {
        width: 100%;
        height: 14rem;
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .hero-images .image-large img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero-images .image-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    .hero-images .image-item {
        height: 9.5rem;
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .hero-images .image-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* About Hero Mobile */
    .about-hero {
        padding: 3rem 0;
    }

    .about-hero-container {
        padding: 0 1rem;
    }

    .about-hero-content {
        margin-bottom: 2rem;
    }

    .about-hero-title {
        font-size: 2rem;
    }

    .about-hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 1.25rem;
    }

    .about-hero-description {
        font-size: 0.95rem;
    }

    .about-hero-image img {
        height: 18.75rem;
    }

    /* About Stats Mobile */
    .about-stats {
        padding: 3rem 0;
    }

    .about-stats-container {
        padding: 0 1rem;
    }

    .about-stats-title {
        font-size: 1.5rem;
    }

    .about-stats-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .stats-logos {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-bottom: 2.5rem;
    }

    .stats-numbers {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .stat-box {
        padding: 1.75rem 1.5rem;
    }

    .stat-number {
        font-size: 2.5rem;
    }

    .stat-label {
        font-size: 0.95rem;
    }

    /* Mission and Vision Mobile */
    .mission-vision {
        padding: 3rem 0;
    }

    .mission-vision-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .mission-card,
    .vision-card {
        padding: 2rem 1.75rem;
    }

    .mission-title,
    .vision-title {
        font-size: 1.4rem;
    }

    .mission-description,
    .vision-description {
        font-size: 0.95rem;
    }

    /* Core Values Mobile */
    .core-values {
        padding: 3rem 0;
    }

    .core-values-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .core-values-image {
        position: static;
        order: 2;
    }

    .core-values-image img {
        height: 21.875rem;
    }

    .core-values-content {
        order: 1;
    }

    .core-values-title {
        font-size: 1.75rem;
    }

    .value-item {
        padding: 1.5rem 0;
    }

    .value-number {
        font-size: 1.3rem;
        min-width: 2.5rem;
    }

    .value-name {
        font-size: 1.1rem;
    }

    .value-toggle {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.1rem;
    }

    .value-details {
        padding-left: 3.4375rem;
    }

    /* About CTA Mobile */
    .about-cta {
        padding: 3rem 0;
    }

    .about-cta-container {
        padding: 0 1rem;
    }

    .about-cta-content {
        padding: 3rem 2rem;
        border-radius: 1rem;
    }

    /* Unsplash photo background — same as desktop */
    .about-cta-content::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
            center / cover no-repeat;
        z-index: 0;
    }

    .about-cta-title {
        font-size: 1.75rem;
    }

    .about-cta-subtitle {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .about-cta .btn-cta {
        padding: 0.9rem 2rem;
    }

    /* Services Hero Mobile */
    .services-hero {
        padding: 3rem 0;
    }

    .services-hero-container {
        padding: 0 1rem;
    }

    .services-hero-title {
        font-size: 2.25rem;
    }

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

    .services-hero-stats {
        grid-template-columns: 1fr;
        gap: 2rem;
        max-width: 18.75rem;
    }

    .hero-stat-number {
        font-size: 2.75rem;
    }

    .hero-stat-label {
        font-size: 0.95rem;
    }

    /* Services Details Mobile */
    .services-details {
        padding: 3rem 0;
    }

    .services-details-container {
        padding: 0 1rem;
        gap: 4rem;
    }

    .service-detail-item,
    .service-detail-reverse {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .service-detail-reverse .service-detail-content {
        order: 1;
    }

    .service-detail-reverse .service-detail-image {
        order: 2;
    }

    .service-detail-image img {
        height: 18.75rem;
    }

    .service-detail-title {
        font-size: 1.5rem;
    }

    .service-detail-description {
        font-size: 0.95rem;
    }

    .btn-service {
        width: 100%;
        text-align: center;
    }

    /* Industries Expertise Mobile */
    .industries-expertise {
        padding: 3rem 0;
    }

    .industries-container {
        padding: 0 1rem;
    }

    .industries-title {
        font-size: 1.75rem;
    }

    .industries-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2.5rem;
    }

    .industries-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .industry-card {
        padding: 2rem 1.5rem;
    }

    .industry-icon svg {
        width: 2.625rem;
        height: 2.625rem;
    }

    .industry-name {
        font-size: 1rem;
    }

    /* Service Detail Page Mobile */
    .service-page-hero {
        padding: 2rem 0 4rem;
    }

    .service-page-container {
        padding: 0 1rem;
    }

    .go-back-link {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .service-page-title {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .service-page-image {
        margin-bottom: 2.5rem;
    }

    .service-page-image img {
        height: 18.75rem;
    }

    .service-content-title {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .service-content-text {
        font-size: 0.95rem;
    }

    /* What We Deliver Mobile */
    .what-we-deliver {
        padding: 4rem 0;
    }

    .what-we-deliver-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .deliver-image {
        position: static;
        order: 2;
    }

    .deliver-image img {
        height: 21.875rem;
    }

    .deliver-content {
        order: 1;
    }

    .deliver-title {
        font-size: 1.75rem;
    }

    .deliver-subtitle {
        font-size: 0.95rem;
    }

    .deliver-item {
        padding: 1.5rem 0;
    }

    .deliver-number {
        font-size: 1.15rem;
        min-width: 2.1875rem;
    }

    .deliver-name {
        font-size: 1.1rem;
    }

    .deliver-toggle {
        width: 2.25rem;
        height: 2.25rem;
    }

    .deliver-description {
        padding-left: 3.125rem;
    }

    /* Core Services Mobile */
    .core-services {
        padding: 4rem 0;
    }

    .core-services-container {
        padding: 0 1rem;
    }

    .core-services-title {
        font-size: 1.75rem;
    }

    .core-services-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .core-services-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .core-service-card {
        padding: 2rem 1.5rem;
    }

    .core-service-icon svg {
        width: 2.25rem;
        height: 2.25rem;
    }

    .core-service-name {
        font-size: 1.05rem;
    }

    .core-service-description {
        font-size: 0.95rem;
    }

    /* Development Process Mobile */
    .development-process {
        padding: 4rem 0;
    }

    .development-process-container {
        padding: 0 1rem;
    }

    .process-title {
        font-size: 1.75rem;
    }

    .process-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .process-track {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .process-step {
        padding: 2rem 1.5rem;
        min-height: auto;
    }

    .process-number {
        font-size: 0.85rem;
    }

    .process-step-title {
        font-size: 1.1rem;
    }

    .process-step-description {
        font-size: 0.95rem;
    }

    .process-dots {
        display: none;
    }

    /* Case Studies Mobile */
    .case-studies-hero {
        padding: 3rem 0 2rem;
    }

    .case-studies-hero-container {
        padding: 0 1rem;
    }

    .case-studies-hero-title {
        font-size: 2rem;
    }

    .case-studies-hero-subtitle {
        font-size: 0.95rem;
    }

    .case-studies-grid-section {
        padding: 2rem 0 4rem;
    }

    .case-studies-grid-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .case-study-image img {
        height: 18.75rem;
    }

    .case-study-title {
        font-size: 1.2rem;
    }

    .case-study-tags {
        font-size: 0.85rem;
    }

    /* Case Study Detail Mobile */
    .case-study-detail-hero {
        padding: 2rem 0 0;
    }

    .case-study-detail-container {
        padding: 0 1rem;
    }

    .case-study-detail-title {
        font-size: 1.75rem;
        margin: 1.5rem 0 1rem;
    }

    .case-study-detail-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .case-study-detail-image img {
        height: 18.75rem;
        border-radius: 0.75rem;
    }

    .case-study-overview {
        padding: 3rem 0 4rem;
    }

    .case-study-overview-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .overview-section-title {
        font-size: 1.5rem;
        position: static;
    }

    .overview-description {
        font-size: 0.95rem;
    }

    .overview-details {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .overview-label {
        font-size: 0.85rem;
    }

    .overview-value {
        font-size: 1.05rem;
    }

    /* Case Study Challenges Mobile */
    .case-study-challenges {
        padding: 3rem 0;
    }

    .case-study-challenges-container {
        padding: 0 1rem;
    }

    .challenges-title {
        font-size: 1.75rem;
        margin-bottom: 0.75rem;
    }

    .challenges-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2.5rem;
    }

    .challenges-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .challenge-card {
        padding: 2rem 1.5rem;
    }

    .challenge-icon {
        width: 3rem;
        height: 3rem;
    }

    .challenge-icon svg {
        width: 2rem;
        height: 2rem;
    }

    .challenge-name {
        font-size: 1.1rem;
    }

    .challenge-description {
        font-size: 0.95rem;
    }

    /* Solutions in Action Mobile */
    .solutions-in-action {
        padding: 3rem 0;
    }

    .solutions-in-action-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .solutions-image {
        position: static;
        order: 1;
    }

    .solutions-image img {
        height: 21.875rem;
    }

    .solutions-content {
        order: 2;
        gap: 1.5rem;
    }

    .solutions-title {
        font-size: 1.75rem;
    }

    .solutions-subtitle {
        font-size: 0.95rem;
    }

    .solution-item {
        padding: 1.5rem 0;
    }

    .solution-number {
        font-size: 1.1rem;
        min-width: 2rem;
    }

    .solution-name {
        font-size: 1rem;
    }

    .solution-toggle {
        width: 2rem;
        height: 2rem;
    }

    .solution-description {
        padding-left: 3rem;
        font-size: 0.95rem;
    }

    /* Key Outcomes Mobile */
    .key-outcomes {
        padding: 3rem 0;
    }

    .key-outcomes-container {
        padding: 0 1rem;
    }

    .key-outcomes-title {
        font-size: 1.75rem;
        margin-bottom: 2.5rem;
    }

    .outcomes-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .outcome-number {
        font-size: 3rem;
    }

    .outcome-label {
        font-size: 1.05rem;
    }

    .outcome-description {
        font-size: 0.95rem;
    }

    /* Blog Detail Mobile */
    .blog-detail-hero {
        padding: 2rem 0 0;
    }

    .blog-detail-container {
        padding: 0 1rem;
    }

    .blog-detail-title {
        font-size: 1.75rem;
        margin: 1.5rem 0 1rem;
    }

    .blog-detail-meta {
        font-size: 0.85rem;
        margin-bottom: 2rem;
        flex-wrap: wrap;
    }

    .blog-detail-image img {
        height: 18.75rem;
        border-radius: 0.75rem;
    }

    /* Blog Content Mobile */
    .blog-content-section {
        padding: 3rem 0;
    }

    .blog-content-container {
        padding: 0 1rem;
    }

    .blog-content {
        gap: 1.5rem;
    }

    .blog-intro {
        font-size: 0.95rem;
        padding: 1rem;
    }

    .content-heading {
        font-size: 1.5rem;
        margin: 1.5rem 0 0.75rem;
    }

    .content-paragraph {
        font-size: 0.95rem;
    }

    .content-list {
        gap: 0.75rem;
        margin: 1rem 0;
    }

    .content-list-item {
        font-size: 0.95rem;
    }

    .content-sections {
        gap: 1.5rem;
        margin: 1.5rem 0;
    }

    .section-item-title {
        font-size: 1.1rem;
    }

    .section-item-description {
        font-size: 0.95rem;
    }

    .blog-conclusion {
        padding: 1.75rem;
        margin-top: 2rem;
    }

    .conclusion-title {
        font-size: 1.25rem;
    }

    .conclusion-text {
        font-size: 0.95rem;
    }

    /* Blog Mobile */
    .blog-hero {
        padding: 3rem 0 2rem;
    }

    .blog-hero-container {
        padding: 0 1rem;
    }

    .blog-hero-title {
        font-size: 2rem;
    }

    .blog-hero-subtitle {
        font-size: 0.95rem;
    }

    .blog-search {
        max-width: 100%;
    }

    .blog-search-input {
        padding: 0.75rem 1rem 0.75rem 2.75rem;
        font-size: 0.95rem;
    }

    .blog-grid-section {
        padding: 2rem 0 4rem;
    }

    .blog-grid-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 2.5rem;
    }

    .blog-card {
        gap: 1rem;
    }

    .blog-card-image img {
        height: 13.75rem;
    }

    .blog-card-title {
        font-size: 1.1rem;
    }

    .blog-card-meta {
        font-size: 0.8rem;
    }

    .blog-load-more {
        padding: 0 1rem;
    }

    .btn-load-more {
        width: 100%;
        justify-content: center;
    }

    /* Contact Mobile */
    .contact-section {
        padding: 4rem 0;
    }

    .contact-container {
        padding: 0 1rem;
        grid-template-columns: 1fr;
        gap: 3rem;
    }

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

    .contact-description {
        font-size: 0.95rem;
    }

    .contact-details {
        gap: 1.75rem;
    }

    .contact-icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .contact-icon svg {
        width: 1.25rem;
        height: 1.25rem;
    }

    .contact-form-wrapper {
        padding: 2rem 1.5rem;
    }

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

    .btn-submit {
        padding: 0.9rem 2rem;
        font-size: 1rem;
    }

    .contact-trusted-container {
        margin-top: 3rem;
        padding: 0 1rem;
    }

    .contact-trusted-title {
        font-size: 1.5rem;
        margin-bottom: 2rem;
    }

    .contact-companies-logos {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    /* Trusted Companies Mobile */
    .trusted-companies {
        padding: 3rem 0;
    }

    .trusted-container {
        padding: 0 1rem;
    }

    .trusted-title {
        margin-bottom: 0.25rem;
        font-size: 1.5rem;
    }

    .trusted-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .companies-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    /* Solutions Mobile */
    .solutions-section {
        margin-top: 3rem;
    }

    .solutions-title {
        font-size: 1.75rem;
    }

    .solutions-subtitle {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    /* Services carousel */
    .services-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
    }

    .services-grid::-webkit-scrollbar {
        display: none;
    }

    .service-card {
        flex: 0 0 100%;
        min-width: 100%;
        scroll-snap-align: start;
        padding: 1.5rem 1.25rem;
        min-height: 14rem;
        justify-content: space-between;
    }

    .service-card .service-link {
        opacity: 1;
        visibility: visible;
    }

    .service-title {
        font-size: 1rem;
    }

    .services-carousel-dots {
        display: none;
    }

    /* Why Choose Us Mobile */
    .why-choose-us {
        padding: 3rem 0;
    }

    .why-container {
        padding: 0 1rem;
    }

    .why-content {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 2rem;
    }

    .why-title {
        font-size: 1.75rem;
        line-height: 1.3;
    }

    .why-description {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    .team-avatars img,
    .team-count {
        width: 2.8125rem;
        height: 2.8125rem;
    }

    .why-right .btn {
        width: 100%;
        text-align: center;
        display: block;
        margin-top: 0.5rem;
    }

    .stats-cards {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .stat-card {
        padding: 2rem 1.5rem;
        min-height: auto;
    }

    .stat-card-image {
        display: flex;
        min-height: 13rem;
        padding: 0;
    }

    .stat-number {
        font-size: 2.5rem;
        margin-bottom: 0.5rem;
    }

    .stat-text {
        font-size: 0.875rem;
        margin-bottom: 1rem;
        line-height: 1.5;
        text-align: center;
    }

    .stat-number-large {
        font-size: 4rem;
    }

    /* Case Studies Mobile */
    .case-studies {
        padding: 3rem 0;
    }

    .case-studies-container {
        padding: 0 1rem;
    }

    .case-studies-title {
        font-size: 1.75rem;
        line-height: 1.3;
    }

    .case-studies-subtitle {
        font-size: 0.9rem;
        margin-bottom: 1.5rem;
    }

    /* Portfolio: keep desktop overlay style, single column on tablet/mobile */
    .portfolio-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        margin-bottom: 2rem;
    }

    .portfolio-item {
        position: relative;
        border-radius: 1rem;
        overflow: hidden;
        cursor: pointer;
        transition: transform 0.3s ease;
        height: 22rem;
        text-decoration: none;
        color: inherit;
        display: block;
    }

    .portfolio-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
        flex-shrink: 0;
        transition: transform 0.5s ease;
    }

    .portfolio-content {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(
            to top,
            rgba(0, 0, 0, 0.9) 0%,
            rgba(0, 0, 0, 0.7) 50%,
            rgba(0, 0, 0, 0) 100%
        );
        padding: 2.25rem 1.5rem 1.5rem;
        border-radius: 0;
        color: #fff;
    }

    .portfolio-title {
        font-family: "Poppins", sans-serif;
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 1.5;
        color: #fff;
        margin-bottom: 0.375rem;
    }

    .portfolio-tags {
        font-family: "Inter", sans-serif;
        font-size: 0.875rem;
        color: rgba(255, 255, 255, 0.8);
    }

    .case-studies-cta {
        padding-top: 2rem;
    }

    .case-studies-cta .btn {
        width: 100%;
        text-align: center;
        display: block;
    }

    /* Testimonials Mobile */
    .testimonials {
        padding: 3rem 0;
    }

    .testimonials-container {
        padding: 0 1rem;
    }

    .testimonials-title {
        font-size: 1.75rem;
    }

    .testimonials-subtitle {
        font-size: 0.95rem;
        margin-bottom: 2rem;
    }

    .testimonials-carousel {
        padding: 0;
    }

    .testimonial-card {
        min-width: 100%;
        padding: 1.5rem 1.25rem;
        border-radius: 0.75rem;
    }

    .testimonials-track .testimonial-card:first-child,
    .testimonials-track .testimonial-card:last-child {
        border-radius: 0.75rem;
    }

    .company-logo-text {
        font-size: 0.95rem;
    }

    .testimonial-text {
        font-size: 1rem;
        line-height: 1.7;
        color: #111827;
    }

    .testimonial-read-more {
        display: block;
        width: 100%;
        padding: 0.75rem 1rem;
        text-align: center;
        border-radius: 0.5rem;
        font-size: 0.9rem;
        margin-top: 0.75rem;
    }

    .testimonial-author img {
        width: 2.8125rem;
        height: 2.8125rem;
        border-radius: 0.375rem;
    }

    .author-info strong {
        font-size: 0.95rem;
    }

    .author-info span {
        font-size: 0.8rem;
    }

    /* CTA Mobile */
    .cta-section {
        padding: 3rem 0;
        margin-block: 2rem;
    }

    .cta-container {
        padding: 0 1rem;
    }

    .cta-content {
        padding: 3rem 2rem;
        border-radius: 1rem;
    }

    /* Unsplash photo background — same as desktop */
    .cta-content::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
            center / cover no-repeat;
        z-index: 0;
    }

    .cta-title {
        font-size: 1.75rem;
    }

    .cta-subtitle {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .btn-cta {
        padding: 0.9rem 2rem;
    }

    /* Footer Mobile */
    .footer {
        padding: 2.5rem 0 1.5rem;
    }

    .footer-watermark {
        font-size: 8rem;
    }

    .footer-container {
        padding: 0 1rem;
    }

    .footer-content {
        gap: 2.5rem;
        padding-bottom: 2rem;
        grid-template-columns: 1fr;
    }

    .footer-brand {
        gap: 1.5rem;
    }

    .footer-logo {
        font-size: 1.3rem;
    }

    .footer-logo .logo-icon {
        font-size: 1rem;
        padding: 0.4rem 0.6rem;
    }

    .footer-social a {
        width: 2.5rem;
        height: 2.5rem;
    }

    .footer-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 1.5rem;
    }

    .footer-column:last-child {
        grid-column: 1 / -1;
    }

    .footer-heading {
        font-size: 1rem;
    }

    .footer-menu,
    .footer-contact {
        gap: 0.85rem;
    }

    .footer-menu a,
    .footer-contact a,
    .footer-contact li {
        font-size: 0.9rem;
    }

    .footer-bottom {
        gap: 1rem;
        flex-direction: column;
    }

    .footer-copyright,
    .footer-legal {
        font-size: 0.85rem;
    }

    .footer-legal {
        gap: 0.75rem;
    }
}

/* Small Mobile (max-width: 30rem) */
@media (max-width: 30rem) {
    /* Navbar: padding 0.625rem 1rem, height 4.375rem */
    header {
        padding: 0.625rem 0;
        /* vertical only */
    }

    .navbar {
        height: 4.375rem;
        /* 4.375rem */
        align-items: center;
        padding: 0 1rem;
        /* 1rem sides — matchefooter-logos Figma mobile */
    }

    /* Logo: 5rem × 3.125rem */
    .logo img {
        width: 8rem !important;
        /* 5rem */
        height: auto !important;
    }

    /* Hamburger: 24×1.5rem, color #1C1B1F */
    .mobile-menu-toggle {
        padding: 0;
        width: 1.5rem;
        /* 1.5rem */
        height: 1.5rem;
        /* 1.5rem */
        justify-content: center;
    }

    .mobile-menu-toggle span {
        background-color: #1c1b1f;
        width: 1.5rem;
        /* 1.5rem, fill icon bounding box */
    }

    .nav-container {
        width: 85%;
    }

    /* Contact Us button hidden in mobile navbar per Figma (logo + hamburger only) */
    .contact-btn {
        display: none;
    }

    /* ============================================
       HOMEPAGE — Figma: Homepage V1 (24.5625rem mobile)
       Page 24.5625rem, content 360/22.5625rem, left gutter 16-1.0625rem
       ============================================ */

    /* ----- HERO (Frame 13, top 154, 360x341, left 17, gap 15)
       Header end 122 → Hero start 154 = 2rem gap */
    .hero {
        padding: 2rem 0 0;
        /* 2rem — content top 154 minus section top 122 */
        min-height: auto;
    }

    .hero-container {
        padding: 0 1rem;
        /* 1rem sides — calc(50% - 22.5625rem/2) = 1rem */
        max-width: none;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem */
        grid-template-columns: none;
        align-items: stretch;
        position: relative;
        z-index: 2;
    }

    /* Frame 15: badge + title, gap 10 */
    .hero-content {
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
        /* 0.625rem Frame 15 gap */
        padding: 0;
        max-width: none;
        align-items: flex-start;
    }

    /* Badge "Available for New Projects" (Frame 12, 178x18, gap 7) */
    .badge {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        gap: 0.4375rem;
        /* 0.4375rem */
        padding: 0;
        background: transparent;
        border: none;
        border-radius: 0;
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.5;
        /* 1.125rem */
        color: #000000;
        width: auto;
        align-self: flex-start;
    }

    /* Green dot: 12x12 outer halo (#34C759 opacity 0.2) with 6x6 inner solid dot */
    .dot-wrapper {
        position: relative;
        width: 0.75rem;
        /* 0.75rem */
        height: 0.75rem;
        background: rgba(52, 199, 89, 0.2);
        /* #34C759 @ 0.2 */
        border-radius: 50%;
        display: inline-block;
        flex-shrink: 0;
    }

    .dot-wrapper .dot {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 0.375rem;
        /* 0.375rem */
        height: 0.375rem;
        background: #34c759;
        border-radius: 50%;
        opacity: 1;
    }

    /* Hero title: Poppins 600 32/42 #111827 */
    .hero-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        /* 2rem */
        line-height: 1.3125;
        /* 2.625rem */
        color: #111827;
        margin: 0;
        width: 100%;
    }

    .hero-title .highlight {
        color: #2563eb;
        background: none;
        -webkit-text-fill-color: currentColor;
    }

    /* Frame 16: stats title + desc + social proof, gap 15 */
    .hero-stats {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
        margin: 0;
    }

    /* Stats title "18 Years of Experience": Poppins 600 18/27 #000 */
    .stats-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #000000;
        margin: 0 0 0.3125rem;
        /* 0.3125rem to description (Frame 9 gap) */
    }

    /* Stats description: Inter 400 16/19 #4A4F54 */
    .stats-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.1875;
        /* 1.1875rem */
        color: #4a4f54;
        margin: 0 0 0.9375rem;
        /* 0.9375rem to social proof (Frame 16 gap) */
    }

    /* Social proof: avatars row + text inline (Figma Group 4: avatars at left 0/29/58, text at left 107) */
    .social-proof {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.9375rem;
        /* 0.9375rem between avatars cluster and text */
        margin: 0;
    }

    /* Avatars: 3 overlapping 34x34, 6r, 1px white border, -0.3125rem overlap */
    .avatars {
        display: flex;
        flex-direction: row;
        flex-shrink: 0;
    }

    .avatars img {
        width: 2.125rem;
        /* 2.125rem */
        height: 2.125rem;
        border-radius: 0.375rem;
        /* 0.375rem */
        border: 1px solid #ffffff;
        margin-left: -0.3125rem;
        /* -0.3125rem overlap */
        object-fit: cover;
    }

    .avatars img:first-child {
        margin-left: 0;
    }

    /* "Loved by 500+ Founders": Inter 500 12/15 #111827 */
    .social-proof-text {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.25;
        /* 0.9375rem */
        color: #111827;
        margin: 0;
    }

    /* Hero buttons (Frame 14, 348x38, gap 10 horizontal) */
    .hero-buttons {
        display: flex;
        flex-direction: row;
        gap: 0.625rem;
        /* 0.625rem Frame 14 gap */
        margin: 0;
        padding: 0;
        align-items: flex-start;
        flex-wrap: nowrap;
    }

    /* Primary "Get a Free Consultation": 192x38, pad 10.5 16, bg #111827, 8r */
    .hero-buttons .btn-primary {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1rem;
        /* 0.6563rem 1rem */
        background: #111827;
        color: #f8fafc;
        border: 1px solid #111827;
        border-radius: 0.5rem;
        /* 0.5rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        text-align: center;
        height: 2.375rem;
        /* 2.375rem */
        width: 12rem;
        /* 12rem */
        flex: 0 0 auto;
        white-space: nowrap;
        text-decoration: none;
    }

    .hero-buttons .btn-primary:hover {
        background: #111827;
        color: #f8fafc;
        transform: none;
    }

    /* Secondary "See Our Projects": 146x38, pad 10.5 16, bg #F8FAFC, 1px #111827, 8r */
    .hero-buttons .btn-secondary {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1rem;
        /* 0.6563rem 1rem */
        background: #f8fafc;
        color: #111827;
        border: 1px solid #111827;
        border-radius: 0.5rem;
        /* 0.5rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        line-height: 1.2143;
        text-align: center;
        height: 2.375rem;
        /* 2.375rem */
        width: 9.125rem;
        /* 9.125rem */
        flex: 0 0 auto;
        white-space: nowrap;
        text-decoration: none;
    }

    .hero-buttons .btn-secondary:hover {
        background: #f8fafc;
        color: #111827;
        transform: none;
    }

    /* ----- HERO IMAGES (Rectangle 5 large + 2 small grid)
       Frame 13 hero text ends 495 → image-large 515 = 1.25rem gap
       image-large 361x180 → 0.625rem gap → image-grid (2x 175x220, gap 10) */
    .hero-images {
        padding: 0 1rem;
        /* 1rem sides */
        margin-top: 1.25rem;
        /* 1.25rem gap from content */
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
        /* 0.625rem image-large → image-grid */
        position: relative;
        z-index: 2;
    }

    .hero-images .image-large {
        width: 100%;
        height: 11.25rem;
        /* 11.25rem */
        border-radius: 0.75rem;
        /* 0.75rem */
        overflow: hidden;
        margin: 0;
    }

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

    .hero-images .image-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.625rem;
        /* 0.625rem */
    }

    .hero-images .image-item {
        height: 13.75rem;
        /* 13.75rem */
        border-radius: 0.75rem;
        /* 0.75rem */
        overflow: hidden;
    }

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

    /* ----- TRUSTED COMPANIES (Frame 116, 361x234, gap 30)
       Frame 25: title only (1.875rem) → gap 30 → Frame 117 logos wrap (10.875rem) */
    .trusted-companies {
        padding: 4.6875rem 0 0;
        margin: 0;
        background: transparent;
    }

    .trusted-container {
        padding: 0;
        max-width: none;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.875rem;
        /* 1.875rem — Frame 116 gap */
    }

    /* Trusted title: Poppins 600 20/30 #111827 center */
    .trusted-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        text-align: center;
        margin-bottom: 0.25rem;
        width: 100%;
    }

    /* Subtitle not shown in mobile Figma */
    .trusted-subtitle {
        /* display: none; */
    }

    /* Companies: infinite scroll carousel */
    .companies-carousel {
        overflow: hidden;
        padding: 0;
        margin: 0;
        width: 100%;
        position: relative;
    }

    .companies-track {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 2.5rem;
        /* 2.5rem */
        animation: scroll-companies 25s linear infinite;
        width: max-content;
        transform: none;
    }

    .companies-track:hover {
        animation-play-state: paused;
    }

    .company-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        height: 2.9375rem;
        /* 2.9375rem */
        flex: 0 0 auto;
        flex-shrink: 0;
        opacity: 1;
    }

    .company-logo:hover {
        opacity: 1;
    }

    .company-logo img {
        max-width: 9.375rem;
        /* 9.375rem */
        width: auto;
        height: 100%;
        object-fit: contain;
        filter: none;
    }

    .company-logo:hover img {
        filter: none;
    }

    /* ============================================
       ABOUT PAGE — Figma: About Us V1 (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- About Hero "Who We Are" ----- */
    .about-hero {
        padding: 0;
        background: #fff;
        position: relative;
        overflow: hidden;
    }

    .about-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("/assets/aboutBg.jpg") center / cover no-repeat;
        opacity: 0.5;
        z-index: 0;
    }

    .about-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 15.35%,
            #ffffff 114.25%
        );
        z-index: 1;
        pointer-events: none;
    }

    .about-hero-container {
        padding: 2.3125rem 1rem 0;
        /* 2.3125rem 1rem */
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        position: relative;
        z-index: 2;
    }

    .about-hero-content {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    .about-hero-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        /* 2rem */
        line-height: 1.5;
        /* 48/32 */
        color: #111827;
        margin: 0 0 1.25rem;
        /* 1.25rem */
    }

    .about-hero-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5556;
        /* 28/18 */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem */
    }

    .about-hero-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.75;
        /* 28/16 */
        color: #4a4f54;
        margin: 0;
    }

    .about-hero-image {
        border-radius: 0.75rem;
        /* 0.75rem */
        overflow: hidden;
        background: #d9d9d9;
    }

    .about-hero-image img {
        width: 100%;
        height: 21.875rem;
        /* 21.875rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    /* ----- About Stats / Trusted by 500+ ----- */
    .about-stats {
        padding: 2.125rem 0 0;
        /* 2.125rem gap from hero image */
        background-color: #fff;
    }

    .about-stats-container {
        padding: 0;
    }

    /* Title: Poppins 600, 1.25rem / 1.875rem, center, #111827 */
    .about-stats-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        line-height: 1.5;
        color: #111827;
        text-align: center;
        margin: 0 0 0.25rem;
        /* 0.25rem gap */
    }

    /* Subtitle: Poppins 400, 0.875rem / 1.3125rem, center, #4A4F54 */
    .about-stats-subtitle {
        font-family: "Poppins", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.5;
        color: #4a4f54;
        text-align: center;
        margin: 0 0 1.875rem;
        /* 1.875rem gap to logos */
    }

    /* Companies: infinite scroll carousel (matches desktop) */
    .companies-carousel {
        overflow: hidden;
        padding: 0;
        margin: 0 0 2.25rem;
    }

    .companies-track {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 2.5rem;
        /* 2.5rem */
        width: max-content;
        animation: scroll-companies 25s linear infinite;
    }

    .companies-track:hover {
        animation-play-state: paused;
    }

    .company-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        height: 2.9375rem;
        /* ~2.9375rem (Figma avg) */
        flex: 0 0 auto;
        flex-shrink: 0;
        opacity: 1;
    }

    /* Stats grid: 2 cols x 2 rows, gap 1.25rem */
    .stats-numbers {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
        /* 1.25rem */
        margin: 0;
    }

    /* Stat box: white bg, light border, 0.75rem radius, 0.625rem padding */
    .stat-box {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0.625rem;
        /* 0.625rem */
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        min-height: 6.3125rem;
        /* 6.3125rem */
        text-align: center;
    }

    .stat-box:hover {
        transform: none;
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-color: rgba(74, 79, 84, 0.1);
    }

    /* Number: Poppins 700, 1.875rem / 2.8125rem, #2563EB */
    .stat-number,
    #stat-num-1 {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.875rem;
        line-height: 1.5;
        color: #2563eb;
        text-align: center;
        margin: 0 0 0.125rem;
        /* 0.125rem */
    }

    /* Label: Inter 500, 0.875rem / 1.0625rem, #4A4F54 */
    .stat-label {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #4a4f54;
        text-align: center;
        margin: 0;
    }

    /* ----- Mission and Vision ----- */
    .mission-vision {
        padding: 5rem 0 0;
        /* 9.3125rem from stats grid */
    }

    .mission-vision-container {
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem between cards */
        grid-template-columns: none;
    }

    /* Each card: padding 1.875rem, gap 1.625rem, border-radius 0.75rem, min-h 21.875rem */
    .mission-card,
    .vision-card {
        box-sizing: border-box;
        padding: 1.875rem;
        gap: 1.625rem;
        /* 1.625rem */
        border-radius: 0.75rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-height: 21.875rem;
        /* 21.875rem */
    }

    .mission-card {
        background: #0f172a;
    }

    .vision-card {
        background: #2563eb;
    }

    .mission-card:hover,
    .vision-card:hover {
        transform: none;
        box-shadow: none;
    }

    .mission-icon svg,
    .vision-icon svg {
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
    }

    /* Title: Poppins 700, 1.375rem / 1.75rem, #FFFFFF */
    .mission-title,
    .vision-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.375rem;
        line-height: 1.2727;
        color: #ffffff;
        margin: 0;
    }

    /* Description: Inter 400, 1rem / 1.75rem, #FFFFFF */
    .mission-description,
    .vision-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.75;
        color: #ffffff;
        margin: 0;
    }

    /* ----- Core Values ----- */
    .core-values {
        padding: 6.25rem 0 0 0;
        /* 6.25rem from vision card */
    }

    .core-values-container {
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        gap: 2.4375rem;
        /* 2.4375rem from image to title block */
        grid-template-columns: none;
    }

    .core-values-image {
        order: 1;
        border-radius: 0.75rem;
        overflow: hidden;
        position: static;
        top: auto;
    }

    .core-values-image img {
        width: 100%;
        height: 21.875rem;
        /* 21.875rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    .core-values-content {
        order: 2;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Title: Poppins 600, 1.5rem / 2.25rem, #111827 — 0.625rem gap to subtitle */
    .core-values-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        line-height: 1.5;
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem */
    }

    /* Subtitle: Inter 400, 1rem / 1.625rem, #4A4F54 — 1.875rem gap to values list */
    .core-values-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.625;
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem */
    }

    .values-list {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .value-item {
        padding: 1.25rem 0;
        /* 1.25rem */
        border-bottom: 0.0625rem solid rgba(74, 79, 84, 0.1);
    }

    .value-item:first-child {
        padding-top: 0;
    }

    .value-item:last-child {
        border-bottom: 0.0625rem solid rgba(74, 79, 84, 0.1);
    }

    .value-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        /* 1.25rem */
        cursor: pointer;
    }

    /* Number: Inter 300, 1.25rem / 1.5rem, #4A4F54 */
    .value-number {
        font-family: "Inter", sans-serif;
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1.2;
        color: #4a4f54;
        min-width: 1.5625rem;
        /* 1.5625rem */
    }

    /* Name: Poppins 600, 1.25rem / 1.875rem, #111827 */
    .value-name {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        line-height: 1.5;
        color: #111827;
        margin: 0;
        flex: 1;
    }

    /* Toggle: 24x24, #4A4F54 */
    .value-toggle {
        width: 1.5rem;
        height: 1.5rem;
        min-width: 1.5rem;
        color: #4a4f54;
        border: none;
        background: none;
        padding: 0;
        border-radius: 0;
    }

    .value-toggle:hover {
        border: none;
        color: #4a4f54;
    }

    .value-toggle svg {
        width: 1.5rem;
        height: 1.5rem;
    }

    .value-details {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 24/16 */
        color: #4a4f54;
        margin: 0.625rem 0 0;
        /* 0.625rem top */
        padding-left: 0;
    }

    /* ----- About CTA ----- */
    .about-cta {
        padding: 6.25rem 0;
        /* 6.25rem from values list */
        margin-bottom: 0;
    }

    .about-cta-container {
        padding: 0 1rem;
    }

    /* Card: 22.5625rem × 19.3125rem, padding 3.1875rem top / 0.375rem sides (Frame 52 inside), 0.75rem radius */
    .about-cta-content {
        padding: 3.1875rem 0.375rem;
        /* 3.1875rem top, 0.375rem sides */
        border-radius: 0.75rem;
        text-align: center;
        min-height: 19.3125rem;
        /* 19.3125rem */
    }

    /* Unsplash photo background — same as desktop */
    .about-cta-content::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
            center / cover no-repeat;
        z-index: 0;
    }

    /* Title: Poppins 600, 1.5rem / 2.25rem, center, #FFFFFF */
    .about-cta-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        line-height: 1.5;
        color: #ffffff;
        text-align: center;
        margin: 0 0 0.625rem;
        /* 0.625rem gap */
    }

    /* Subtitle: Inter 400, 1rem / 1.625rem, center, #FFFFFF */
    .about-cta-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.625;
        color: #ffffff;
        text-align: center;
        margin: 0 0 2.1875rem;
        /* 2.1875rem gap to button */
    }

    /* Button: 153x38, padding 0.6563rem 1.5rem, bg #F8FAFC, 0.5rem radius */
    .about-cta .btn-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1.5rem;
        /* 0.6563rem 1.5rem */
        background: #f8fafc;
        color: #111827;
        border-radius: 0.5rem;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        line-height: 1.2143;
        text-align: center;
        width: auto;
        min-width: 9.5625rem;
        /* 9.5625rem */
        height: 2.375rem;
        /* 2.375rem */
    }

    .about-cta .btn-cta:hover {
        background: #f8fafc;
        transform: none;
    }

    /* ============================================
       SERVICES PAGE — Figma: Services V1 (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Services Hero "Our Services" -----
       Section bg blue #2563EB with image overlay, height 23.25rem
       Frame 13 (361x278) centered: gap 2.5rem (Frame 80 -> Frame 79)
       Frame 80 (180h): title + description, gap 1.25rem
       Frame 79 (58h): 3 stat boxes, gap 0.9375rem */
    .services-hero {
        padding: 2.09375rem 1rem;
        /* 2.0938rem top, 1rem sides */
        min-height: 23.25rem;
        /* 23.25rem */
        display: flex;
        align-items: center;
    }

    .services-hero-container {
        padding: 0;
        max-width: 22.5625rem;
        /* 22.5625rem */
        margin: 0 auto;
        text-align: center;
        width: 100%;
        position: relative;
        z-index: 1;
    }

    /* Title: Poppins 600, 2rem / 3rem, center, #FFFFFF */
    .services-hero-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        line-height: 1.5;
        color: #ffffff;
        margin: 0 0 1.25rem;
        /* 1.25rem to subtitle (Frame 80 gap) */
        text-align: center;
    }

    /* Description: Inter 500, 1.125rem / 1.75rem, center, #FFFFFF */
    .services-hero-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 1.125rem;
        line-height: 1.5556;
        color: #ffffff;
        margin: 0 0 2.5rem;
        /* 2.5rem to stats (Frame 13 gap) */
        padding: 0;
        max-width: none;
        text-align: center;
    }

    /* Stats row: 3 boxes, gap 0.9375rem */
    .services-hero-stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.9375rem;
        /* 0.9375rem */
        max-width: none;
        margin: 0;
    }

    /* Each stat box: gap 0.625rem between number and label */
    .hero-stat-item {
        gap: 0.625rem;
        /* 0.625rem */
    }

    /* Number: Poppins 700, 1.375rem / 2.0625rem, center, #FFFFFF */
    .hero-stat-number {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.375rem;
        line-height: 1.5;
        color: #ffffff;
        text-align: center;
        margin: 0;
    }

    /* Label: Inter 500, 0.75rem / 0.9375rem, center, #FFFFFF */
    .hero-stat-label {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        line-height: 1.25;
        color: #ffffff;
        text-align: center;
        margin: 0;
    }

    /* ----- Services Details (Frame 86) -----
       Top 542 (3.125rem from hero end at 492)
       gap 3.125rem between service items
       Each item: image (361x250) + content + button, gap 1.25rem */
    .services-details {
        padding: 3.125rem 0 6.25rem 0;
        /* 3.125rem from hero */
    }

    .services-details-container {
        padding: 0 1rem;
        gap: 3.125rem;
        /* 3.125rem Frame 86 gap */
    }

    /* Each service item: image stacked above content (mobile only) */
    .service-detail-item {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem between image and content (Frame 81 gap) */
        grid-template-columns: none;
    }

    /* Force image on top, content (title + desc + button) below
       regardless of .service-detail-reverse class — small mobile only */
    .service-detail-item .service-detail-image,
    .service-detail-reverse .service-detail-image {
        order: 1;
    }

    .service-detail-item .service-detail-content,
    .service-detail-reverse .service-detail-content {
        order: 2;
    }

    /* Image: 361 x 250, border-radius 0.75rem */
    .service-detail-image {
        border-radius: 0.75rem;
        overflow: hidden;
        box-shadow: none;
    }

    .service-detail-image img {
        width: 100%;
        height: 15.625rem;
        /* 15.625rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    .service-detail-item:hover .service-detail-image img {
        transform: none;
    }

    /* Content: title + description + button, gap 1.25rem (Frame 31) */
    .service-detail-content {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem Frame 31 gap */
    }

    /* Title: Poppins 600, 1.5rem / 2.25rem, #111827 — 0.625rem gap to description (Frame 15) */
    .service-detail-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        line-height: 1.5;
        color: #111827;
        margin: 0 0 -0.625rem;
        /* offset: net 0.625rem since parent has 1.25rem gap */
    }

    /* Description: Inter 400, 1rem / 1.5rem, #4A4F54 */
    .service-detail-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        color: #4a4f54;
        margin: 0;
    }

    /* Button "Explore More": 138x38, bg #111827, 0.5rem radius */
    .btn-service {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1.5rem;
        /* 0.6563rem 1.5rem */
        background: #111827;
        border: 1px solid #111827;
        color: #f8fafc;
        border-radius: 0.5rem;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        line-height: 1.2143;
        text-align: center;
        width: auto;
        min-width: 8.625rem;
        /* 8.625rem */
        height: 2.375rem;
        /* 2.375rem */
        margin-top: 0;
        align-self: flex-start;
    }

    .btn-service:hover {
        background: #111827;
        transform: none;
    }

    .industries-expertise {
        background: #f8fafc;
        padding: 2.5rem 1rem;
        /* 2.5rem 1rem */
    }

    .industries-container {
        padding: 0;
        max-width: none;
        margin: 0 auto;
    }

    .industries-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 36/24 */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem */
    }

    .industries-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.1875;
        /* 19/16 */
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem gap to grid */
    }

    .industries-grid {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        grid-template-columns: none;
    }

    .industry-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 0.9375rem 1.875rem;
        /* 0.9375rem 1.875rem */
        gap: 0.9375rem;
        /* 0.9375rem */
        background: #ffffff;
        border: 0.0625rem solid rgba(74, 79, 84, 0.1);
        box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        min-height: 7.125rem;
        /* 7.125rem */
    }

    .industry-card .industry-icon {
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
        /* 2.625rem */
        flex-shrink: 0;
        color: #4a4f54;
    }

    .industry-card .industry-name {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 27/18 */
        color: #111827;
        margin: 0;
    }

    .industry-card:hover {
        border-color: rgba(74, 79, 84, 0.1);
        transform: none;
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    }

    /* Icon: 42x42, #4A4F54 */
    .industry-icon {
        color: #4a4f54;
    }

    .industry-icon svg {
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
    }

    .industry-card:hover .industry-icon {
        color: #4a4f54;
    }

    /* Name: Poppins 700, 1.125rem / 1.6875rem, #111827, left-aligned */
    .industry-name {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.5;
        color: #111827;
        margin: 0;
        text-align: left;
    }

    /* ============================================
       SERVICE DETAIL PAGE — Figma: Services detail (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Service Page Hero (top 127, full-width blurred bg, fade to white)
       Header end 123 → Go Back 140 = 1.0625rem gap */
    .service-page-hero {
        padding: 1.125rem 0 0;
        /* 1.125rem — Go Back at top 140, header 122 */
        background: transparent;
    }

    .service-page-container {
        padding: 0 1rem;
        /* 1rem sides */
        max-width: none;
        margin: 0;
    }

    /* Go Back link (Frame 87, 69x16, top 140, left 14, gap 5)
       Arrow icon 16x16 #2563EB + "Go Back" Inter 400 12/15 #2563EB */
    .go-back-link {
        display: inline-flex;
        align-items: center;
        gap: 0.3125rem;
        /* 0.3125rem */
        padding: 0;
        margin: 0 0 2.125rem;
        /* 2.125rem to title (Go Back ends 156, Title at 190) */
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.25;
        /* 0.9375rem */
        color: #2563eb;
        text-decoration: none;
        background: transparent;
    }

    .go-back-link:hover {
        color: #2563eb;
        transform: none;
    }

    .go-back-link svg {
        width: 1rem;
        /* 1rem */
        height: 1rem;
        color: #2563eb;
        stroke: #2563eb;
        flex-shrink: 0;
    }

    /* Service page title (Frame 13, 361x96, top 190)
       "Web & App Development": Poppins 600 32/48 #111827 */
    .service-page-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        /* 2rem */
        line-height: 1.5;
        /* 3rem */
        color: #111827;
        margin: 0 0 1.875rem;
        /* 1.875rem to image (Title ends 286, Image 316) */
        text-align: left;
    }

    /* Service hero image (Mask group, 361x350, top 316, 12r) */
    .service-page-image {
        width: 100%;
        margin: 0 0 1.875rem;
        /* 1.875rem to content (Image ends 666, Frame 88 at 696) */
    }

    .service-page-image img {
        width: 100%;
        height: 21.875rem;
        /* 21.875rem */
        object-fit: cover;
        border-radius: 0.75rem;
        /* 0.75rem */
        display: block;
    }

    /* Service page content (Frame 88, 361x455, top 696)
       Inner: Frame 15 (title block, gap 10) → 20 gap to description */
    .service-page-content {
        margin: 0;
        max-width: none;
    }

    /* Content title "Build Scalable Digital Experiences That Drive Growth"
       Poppins 600 24/36 #111827 */
    .service-content-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to text (Frame 15 gap) */
    }

    /* Content text: Inter 400 16/24 #4A4F54 */
    .service-content-text {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 1.5rem;
        /* 1.5rem between paragraphs */
    }

    .service-content-text:last-child {
        margin-bottom: 0;
    }

    /* ----- What We Deliver (Frame 130, top 1211, 361x1014, gap 30)
       Frame 88 ends 1151 → Frame 130 1211 = 3.75rem gap
       Stack: image (400h) → 30 → title block (118h) → 30 → list (436h) */
    .what-we-deliver {
        padding: 3.75rem 0 0;
        /* 3.75rem from service-page-content */
        background: transparent;
        width: 100%;
    }

    .what-we-deliver-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 0;
        grid-template-columns: none;
        align-items: stretch;
    }

    /* Deliver image: 361x400, 12r (nubelson image) */
    .deliver-image {
        position: static;
        top: auto;
        width: 100%;
        margin: 0 0 1.875rem;
        /* 1.875rem (Frame 130 gap) */
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .deliver-image img {
        width: 100%;
        height: 25rem;
        /* 25rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    .deliver-content {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Title "What We Deliver": Poppins 600 24/36 #111827 */
    .deliver-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .deliver-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem to list (Frame 129 gap) */
    }

    /* Deliver list: accordion of 4 items */
    .deliver-list {
        display: flex;
        flex-direction: column;
        gap: 0;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* Each item: pad 30 0, border-bottom 1px rgba(74,79,84,.1)
       Collapsed = title row only (90h)
       Expanded = title row + 10 + description (166h) */
    .deliver-item {
        padding: 1.875rem 0;
        /* 1.875rem 0 */
        border-bottom: 1px solid rgba(74, 79, 84, 0.1);
        transition: none;
        list-style: none;
    }

    .deliver-item:first-child {
        padding-top: 0;
    }

    .deliver-item:last-child {
        border-bottom: 1px solid rgba(74, 79, 84, 0.1);
    }

    /* Title row (Frame 66): row, gap 20, align center */
    .deliver-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        /* 1.25rem */
        cursor: pointer;
    }

    /* "01"/"02"/etc: Inter 300 20/24 #4A4F54 */
    .deliver-number {
        font-family: "Inter", sans-serif;
        font-weight: 300;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.2;
        /* 1.5rem */
        color: #4a4f54;
        min-width: 0;
        margin: 0;
        flex-shrink: 0;
    }

    .deliver-item-expanded .deliver-number {
        color: #4a4f54;
    }

    /* Item name "Tailored Digital Solutions": Poppins 600 20/30 #111827 */
    .deliver-name {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        margin: 0;
        flex: 1;
    }

    /* Toggle arrow: 24x24 #4A4F54 */
    .deliver-toggle {
        background: none;
        border: none;
        width: 1.5rem;
        /* 1.5rem */
        height: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
        color: #4a4f54;
        flex-shrink: 0;
        transition: none;
    }

    .deliver-toggle:hover {
        color: #4a4f54;
    }

    .deliver-toggle svg {
        width: 1.5rem;
        height: 1.5rem;
        color: #4a4f54;
        stroke: #4a4f54;
    }

    .deliver-item-expanded .deliver-toggle svg {
        transform: rotate(180deg);
    }

    /* Description: Inter 400 16/24 #4A4F54, full width (no indent), margin-top 10 */
    .deliver-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0.625rem 0 0;
        /* 0.625rem gap from title row (Frame 15 gap) */
        padding-left: 0;
        display: none;
    }

    .deliver-item-expanded .deliver-description {
        display: block;
    }

    /* ----- Our Core Services (Frame 15 full-width, top 2305, 393x1448, bg #F8FAFC)
       Frame 130 ends 2225 → Core Services bg 2305 = 5rem gap
       Internal padding 40 16, content: title + 10 + subtitle + 10 + cards */
    .core-services {
        background-color: #f8fafc;
        width: 100%;
        padding: 2.5rem 1rem;
        /* 2.5rem 1rem (Figma padding) */
        margin: 2.5rem 0 0;
        /* 5rem from what-we-deliver */
    }

    .core-services-container {
        padding: 0;
        max-width: none;
        margin: 0;
    }

    /* "Our Core Services": Poppins 600 24/36 #111827 */
    .core-services-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle */
        text-align: left;
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .core-services-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 0.625rem;
        /* 0.625rem to grid (Frame 15 wrapper gap) */
        text-align: left;
    }

    /* Cards: stack column, gap 20 (Frame 27 gap) */
    .core-services-grid {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        margin: 0;
        padding: 0;
        grid-template-columns: none;
    }

    /* Each card: pad 30, gap 30, bg white, 1px rgba(74,79,84,.1), shadow 0 0.125rem 0.125rem rgba(0,0,0,.02), 12r */
    .core-service-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.875rem;
        /* 1.875rem */
        gap: 1.875rem;
        /* 1.875rem between icon and text */
        width: 100%;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        /* 0.75rem */
        min-height: 0;
    }

    .core-service-card:hover {
        transform: none;
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        background: #ffffff;
    }

    /* Icon: 42x42 #4A4F54 */
    .core-service-icon {
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
        color: #4a4f54;
        background: transparent;
        flex-shrink: 0;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .core-service-icon svg,
    .core-service-icon img {
        width: 2.625rem;
        height: 2.625rem;
        color: #4a4f54;
        fill: #4a4f54;
        stroke: #4a4f54;
    }

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

    /* Title "Web Application Development": Poppins 700 18/27 #111827 */
    .core-service-name {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to description (Frame 89 gap) */
        text-align: left;
    }

    /* Description: Inter 400 16/24 #4A4F54 */
    .core-service-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
        text-align: left;
    }

    /* ----- Development Process (Frame 40 title + Frame 90 carousel)
       Core Services bg ends 3753 → Frame 40 3813 = 3.75rem gap
       Frame 40 ends 3907 → Frame 90 carousel 3947 = 2.5rem gap */
    .development-process {
        width: 100%;
        padding: 3.75rem 0 0;
        /* 3.75rem from core-services */
        margin: 0;
    }

    .development-process-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0;
    }

    /* "Our Development Process": Poppins 600 24/36 #111827 */
    .process-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
        text-align: left;
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .process-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 2.5rem;
        /* 2.5rem to carousel */
        text-align: left;
    }

    /* Process carousel: horizontal scroll (Figma intent)
       Frame 90 393x276 overflow-x scroll, cards 340x270 touching */
    .process-carousel {
        overflow-x: auto;
        overflow-y: hidden;
        margin: 0 -1rem 1rem 0;
        /* extend right edge */
        padding: 0 0 0 0;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .process-carousel::-webkit-scrollbar {
        display: none;
    }

    .process-track {
        display: flex;
        flex-direction: row;
        gap: 0;
        transition: none;
        margin: 0;
        width: max-content;
        padding-right: 1rem;
    }

    /* Each card: 340x270, pad 30, gap 36, bg white, 1px rgba(74,79,84,.1), shadow */
    .process-step {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.875rem;
        /* 1.875rem */
        gap: 2.25rem;
        /* 2.25rem between number and content */
        width: 21.25rem;
        /* 21.25rem */
        min-width: 21.25rem;
        max-width: 21.25rem;
        height: 16.875rem;
        /* 16.875rem */
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0;
        flex-shrink: 0;
    }

    .process-track .process-step:first-child {
        border-radius: 0.75rem 0 0 0.75rem;
        /* 0.75rem top-left + bottom-left */
    }

    .process-track .process-step:last-child {
        border-radius: 0 0.75rem 0.75rem 0;
    }

    /* "01"/"02"/etc: Inter 300 22/27 #4A4F54 */
    .process-number {
        font-family: "Inter", sans-serif;
        font-weight: 300;
        font-size: 1.375rem;
        /* 1.375rem */
        line-height: 1.2273;
        /* 1.6875rem */
        color: #4a4f54;
        margin: 0;
        letter-spacing: 0;
    }

    /* "Discovery & Strategy": Poppins 700 20/30 #111827 */
    .process-step-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        margin: 0 0 0.9375rem;
        /* 0.9375rem to description (Frame 42 gap) */
    }

    /* Description: Poppins 500 16/24 #4A4F54 */
    .process-step-description {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
        white-space: normal;
        overflow-wrap: break-word;
    }

    /* Hide dots (not in Figma carousel) */
    .process-dots {
        display: none;
    }

    /* CTA section spacing: 6.25rem from process carousel (Frame 90 ends 4223, CTA 4323) */
    .development-process + .cta-section,
    .cta-section {
        /* shared .cta-section padding-top: 6.25rem already applies (6.25rem) */
    }

    /* ============================================
       CASE STUDIES PAGE — Figma: Case Studies V1 (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Hero "Case Studies" -----
       Top 154 (1.9375rem from header end at 123)
       Frame 15: title + description, gap 0.625rem */
    .case-studies-hero {
        padding: 1.9375rem 0 0;
        /* 1.9375rem — content top 9.625rem minus section start 7.6875rem */
        background-color: #d9d9d9;
        position: relative;
        overflow: hidden;
    }

    .case-studies-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("/assets/caseBg.jpg") center / cover no-repeat;
        transform: scaleX(-1);
        z-index: 0;
    }

    .case-studies-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 44.98%,
            #ffffff 100%
        );
        z-index: 1;
        pointer-events: none;
    }

    .case-studies-hero-container {
        padding: 0 1rem;
        /* 1rem sides */
        max-width: 22.5625rem;
        /* 22.5625rem */
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }

    /* Title: Poppins 600, 2rem / 3rem, #111827 */
    .case-studies-hero-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        line-height: 1.5;
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
    }

    /* Description: Inter 400, 1rem / 1.5rem, #4A4F54 */
    .case-studies-hero-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        color: #4a4f54;
        margin: 0;
    }

    /* ----- Case Studies Grid (Frame 131) -----
       Top 348 (2.5rem from hero end at 308)
       gap 2.5rem between cards */
    .case-studies-grid-section {
        padding: 2.5rem 0 0;
        /* 2.5rem gap from hero */
    }

    .case-studies-grid-container {
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        /* 2.5rem Frame 131 gap */
        grid-template-columns: none;
        max-width: none;
    }

    /* Each card: image + info, gap 0.9375rem (Frame 40 inner gap) */
    .case-study-item {
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem */
        margin-top: 0;
    }

    /* Image: 361 x 250, border-radius 0.75rem */
    .case-study-image {
        border-radius: 0.75rem;
        overflow: hidden;
        box-shadow: none;
        width: 100%;
    }

    .case-study-image img {
        width: 100%;
        height: 15.625rem;
        /* 15.625rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    .case-study-item:hover .case-study-image {
        box-shadow: none;
    }

    .case-study-item:hover .case-study-image img {
        transform: none;
    }

    /* Info: gap 0.375rem between title and subtitle (Frame 35 gap) */
    .case-study-info {
        display: flex;
        flex-direction: column;
        gap: 0.375rem;
        /* 0.375rem */
        padding: 0;
    }

    /* Title: Poppins 700, 1.125rem / 1.6875rem, #111827 */
    .case-study-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.5;
        color: #111827;
        margin: 0;
    }

    /* Tags/subtitle: Inter 400, 0.875rem / 1.0625rem, #4A4F54 */
    .case-study-tags {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #4a4f54;
        margin: 0;
    }

    /* ============================================
       CASE STUDY DETAIL PAGE — Figma: Case studies detail (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Case Study Detail Hero (top 127, full-width image bg + fade)
       Header end 123 → Go Back 140 = 1.0625rem gap */
    .case-study-detail-hero {
        padding: 1.0625rem 0 0;
        /* 1.0625rem from header */
        background: transparent;
    }

    .case-study-detail-container {
        padding: 0 1rem;
        /* 1rem sides */
        max-width: none;
        margin: 0;
    }

    /* Title (Frame 15 inside Frame 13): Poppins 600 32/48 #111827
       Frame 15 gap 10 → subtitle */
    .case-study-detail-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        /* 2rem */
        line-height: 1.5;
        /* 3rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
        text-align: left;
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .case-study-detail-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem to image (Title block 368 → Image 398) */
        text-align: left;
    }

    /* Hero image: 361x400, 12r */
    .case-study-detail-image {
        width: 100%;
        margin: 0;
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .case-study-detail-image img {
        width: 100%;
        height: 25rem;
        /* 25rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    /* ----- Overview (Frame 15, top 828, 361x362, gap 20)
       Hero image ends 798 → Overview 828 = 1.875rem gap */
    .case-study-overview {
        padding: 1.875rem 0 0;
        /* 1.875rem from hero image */
        margin: 0;
        background: transparent;
    }

    .case-study-overview-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0;
        gap: 0;
        display: block;
    }

    /* "Overview" title: Poppins 600 30/45 #111827 (Figma uses 30/45 not 24/36) */
    .overview-section-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.875rem;
        /* 1.875rem */
        line-height: 1.5;
        /* 2.8125rem */
        color: #111827;
        margin: 0 0 1.25rem;
        /* 1.25rem to content (Frame 15 wrapper gap) */
        position: static;
        top: auto;
        text-align: left;
    }

    /* Overview content wraps description + details, gap 20 */
    .overview-content {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem between description and details */
    }

    /* Overview description: Inter 400 16/24 #4A4F54 */
    .overview-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Meta details: Industry / Year row, gap 100 (Frame 93) */
    .overview-details {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6.25rem;
        /* 6.25rem */
        grid-template-columns: none;
        margin: 0;
    }

    .overview-detail-item {
        display: flex;
        flex-direction: column;
        gap: 0.3125rem;
        /* 0.3125rem (Frame 91 gap) */
    }

    /* Label "Industry"/"Year": Inter 400 16/28 #4A4F54 */
    .overview-label {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.75;
        /* 1.75rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Value "E-commerce"/"2026": Inter 500 20/28 #111827 */
    .overview-value {
        font-weight: 500;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.4;
        /* 1.75rem */
        color: #111827;
        margin: 0;
    }

    /* ----- Challenges (Frame 16, top 1250, 393x1053, full-width bg #F8FAFC)
       Overview ends 1190 → Challenges 1250 = 3.75rem gap
       Inside: pad 40 16, title block (190h, gap 10) → 20 → cards (763h, gap 20) */
    .case-study-challenges {
        background-color: #f8fafc;
        width: 100%;
        padding: 2.5rem 1rem;
        /* 2.5rem 1rem (Figma) */
        margin: 3.75rem 0 0;
        /* 3.75rem from overview */
    }

    .case-study-challenges-container {
        padding: 0;
        max-width: none;
        margin: 0;
    }

    /* Title "Unlocking Efficiency: …": Poppins 600 24/36 #111827 */
    .challenges-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
        padding-top: 0;
        text-align: left;
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .challenges-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 1.25rem;
        /* 1.25rem to cards (Frame 16 wrapper gap) */
        text-align: left;
    }

    /* Challenge cards: stacked, gap 20 (Frame 27 gap) */
    .challenges-grid {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        grid-template-columns: none;
        margin: 0;
        padding: 0;
    }

    /* Each card: pad 30, gap 30 (icon → text), bg white, 1px rgba(74,79,84,.1), shadow 0 0.125rem 0.125rem rgba(0,0,0,.02), 12r */
    .challenge-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.875rem;
        /* 1.875rem */
        gap: 1.875rem;
        /* 1.875rem */
        width: 100%;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        /* 0.75rem */
    }

    .challenge-card:hover {
        transform: none;
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    }

    /* Icon: 42x42 #4A4F54 (Figma uses flat outline icon, NOT gradient blue) */
    .challenge-icon {
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
        background: transparent;
        color: #4a4f54;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        margin: 0;
    }

    .challenge-icon svg,
    .challenge-icon img {
        width: 2.625rem;
        height: 2.625rem;
        stroke: #4a4f54;
        color: #4a4f54;
        fill: #4a4f54;
    }

    /* Name "Slow Platform Performance": Poppins 700 18/27 #111827 */
    .challenge-name {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to description (Frame 89 gap) */
    }

    /* Description: Inter 400 16/24 #4A4F54 */
    .challenge-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* ----- Solutions in Action (Hero image 2 + Frame 109)
       Challenges bg ends 2303 → Hero image 2 at 2363 = 3.75rem gap
       Hero image 2 ends 2713 → Frame 109 at 2750 = ~2.3125rem gap (round to 40) */
    .solutions-in-action {
        background-color: transparent;
        width: 100%;
        padding: 3.75rem 0 0;
        /* 3.75rem from challenges bg */
        margin: 0;
    }

    .solutions-in-action-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        /* 2.5rem between image and content (Hero img 2 → Frame 109) */
        grid-template-columns: none;
        align-items: stretch;
    }

    /* Hero image 2: 361x350, 12r */
    .solutions-image {
        position: static;
        top: auto;
        width: 100%;
        height: auto;
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .solutions-image img {
        width: 100%;
        height: 21.875rem;
        /* 21.875rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    /* .solutions-content: title + subtitle + list */
    .solutions-content {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    /* "EPHP Solutions in Action": Poppins 600 24/36 #111827 */
    .solutions-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
        text-align: left;
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .solutions-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem to list (Frame 109 gap) */
        text-align: left;
    }

    /* Solutions list: accordion items */
    .solutions-list {
        display: flex;
        flex-direction: column;
        gap: 0;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* Each item: pad 28 0, border-bottom 1px rgba(74,79,84,.1) (Figma uses 28 for items 2-5, 0/30 for item 1) */
    .solution-item {
        padding: 1.75rem 0;
        /* 1.75rem (Figma) */
        border-bottom: 1px solid rgba(74, 79, 84, 0.1);
        transition: none;
        list-style: none;
    }

    /* First item: no top padding (Figma Frame 65 pad 0 0 30) */
    .solution-item:first-child {
        padding: 0 0 1.875rem;
        /* 0 0 1.875rem */
    }

    .solution-item:last-child {
        border-bottom: 1px solid rgba(74, 79, 84, 0.1);
    }

    /* Solution header row (Frame 66): row, gap 20 (number + name + toggle) */
    .solution-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        /* 1.25rem */
        justify-content: flex-start;
        cursor: pointer;
    }

    /* .solution-info wraps number + name with same gap */
    .solution-info {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        /* 1.25rem (matches Frame 66 gap) */
        flex: 1;
        min-width: 0;
    }

    /* Number "01"/"02"/etc: Inter 300 20/24 #4A4F54 */
    .solution-number {
        font-family: "Inter", sans-serif;
        font-weight: 300;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.2;
        /* 1.5rem */
        color: #4a4f54;
        min-width: 0;
        margin: 0;
        flex-shrink: 0;
    }

    /* Name "Slow Platform Performance": Poppins 600 20/30 #111827 */
    .solution-name {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        font-family: "Poppins", sans-serif;
        margin: 0;
        flex: 1;
        min-width: 0;
    }

    /* Toggle: 24x24 #4A4F54 */
    .solution-toggle {
        background: none;
        border: none;
        width: 1.5rem;
        /* 1.5rem */
        height: 1.5rem;
        padding: 0;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #4a4f54;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    .solution-toggle:hover {
        background: none;
    }

    .solution-toggle svg {
        width: 1.5rem;
        height: 1.5rem;
        stroke: #4a4f54;
        color: #4a4f54;
    }

    .solution-item-expanded .solution-toggle {
        transform: rotate(180deg);
    }

    /* Description: Inter 400 16/24 #4A4F54, full-width (no indent), margin-top 10 */
    .solution-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0.625rem 0 0;
        /* 0.625rem gap (Frame 15 gap) */
        padding-left: 0;
        display: none;
    }

    .solution-item-expanded .solution-description {
        display: block;
    }

    /* ----- Key Outcomes (Frame 94, top 3548, 361x795, gap 25)
       Solutions ends 3468 → Outcomes 3548 = 5rem gap */
    .key-outcomes {
        background-color: transparent;
        width: 100%;
        padding: 5rem 0 0;
        /* 5rem from solutions */
        margin: 0;
    }

    .key-outcomes-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0;
    }

    /* "Key Outcomes Delivered" Poppins 600 24/36 #111827 center */
    .key-outcomes-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        text-align: center;
        margin: 0 0 1.5625rem;
        /* 1.5625rem to cards (Frame 94 gap) */
    }

    /* Outcomes grid: stack column, gap 20 (Frame 27 inside) */
    .outcomes-grid {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        grid-template-columns: none;
        margin: 0;
        padding: 0;
    }

    /* Each card: pad 20, gap 20, bg white, 1px rgba(74,79,84,.1), shadow 0 0.125rem 0.125rem rgba(0,0,0,.02), 12r, center text */
    .outcome-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1.25rem;
        /* 1.25rem */
        gap: 1.25rem;
        /* 1.25rem */
        width: 100%;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        /* 0.75rem */
        text-align: center;
    }

    /* Outcome number "30%"/"20%"/"40%": Poppins 700 30/45 #2563EB center */
    .outcome-number {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.875rem;
        /* 1.875rem */
        line-height: 1.5;
        /* 2.8125rem */
        color: #2563eb;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* Outcome label: Poppins 700 20/30 #111827 center */
    .outcome-label {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        text-align: center;
        margin: 0 0 0.625rem;
        /* 0.625rem to description (Frame 89 gap) */
        width: 100%;
    }

    /* Outcome description: Inter 400 16/24 #4A4F54 center */
    .outcome-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* ============================================
       BLOG DETAIL PAGE — Figma: Blog details (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Blog Detail Hero (top 127, full-width blurred bg + fade)
       Header end 123 → Go Back 140 = 1.0625rem gap */
    .blog-detail-hero {
        padding: 1.063rem 0 0;
        /* 4.375rem — content top 11.875rem minus section start ~7.5rem */
    }

    .blog-detail-container {
        padding: 0 1rem;
        /* 1rem sides — (393-361)/2 ≈ 1rem */
        max-width: none;
        margin: 0;
        position: relative;
        z-index: 2;
    }

    .blog-detail-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        /* 2rem */
        line-height: 1.5;
        /* 3rem */
        color: #111827;
        margin: 0 0 1.25rem;
        /* 1.25rem — Frame 13 gap to meta row */
        text-align: left;
    }

    .blog-detail-meta {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 0.375rem;
        /* 0.375rem */
        margin: 0 0 1.6875rem;
        /* 1.6875rem — gap to hero image (398-371=1.6875rem) */
        flex-wrap: wrap;
    }

    .blog-detail-date {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        color: #4a4f54;
    }

    .blog-detail-date strong,
    .blog-detail-date b {
        font-family: "Inter", sans-serif;
        font-weight: 700;
        color: #4a4f54;
    }

    /* Author span: Inter 400 14/17 #4A4F54 */
    .blog-detail-author {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        color: #4a4f54;
    }

    /* Hero image: 361x400, 12r */
    .blog-detail-image {
        width: 100%;
        margin: 0;
        border-radius: 0.75rem;
        overflow: hidden;
    }

    .blog-detail-image img {
        width: 100%;
        height: 25rem;
        /* 25rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    /* ----- Blog Content Section (Frame 15, top 828, 361x2518, gap 30)
       Hero image ends 798 → Content 828 = 1.875rem gap */
    .blog-content-section {
        padding: 0.938rem 0 0;
        /* 1.875rem from hero image */
        margin: 0;
        background: transparent;
    }

    .blog-content-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0;
    }

    /* .blog-content wraps all sections, tight 0.625rem gap, extra 1.25rem before headings */
    .blog-content {
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
        /* 0.625rem tight inter-element */
    }

    /* Override base .blog-intro callout: Figma shows plain paragraph (no bg/border) */
    .blog-intro {
        background-color: transparent;
        border-left: none;
        padding: 0;
        border-radius: 0;
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Section heading "What is POS Data...": Poppins 600 24/36 #111827
       Adds 1.25rem above (effective gap to previous = 10 base + 20 = 30, matches Figma) */
    .content-heading {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 1.25rem 0 0;
        /* 1.25rem top to make 30 total with .blog-content gap */
    }

    .content-heading:first-child {
        margin-top: 0;
    }

    /* Paragraph: Inter 400 16/24 #4A4F54 */
    .content-paragraph {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Checklist (Frame 98): flex column gap 15 (Figma) */
    .content-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem */
    }

    /* Each item (Frame 97): row, gap 15, align center
       Check icon 18x18 #2563EB + text Inter 400 16/28 #4A4F54 */
    .content-list-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.9375rem;
        /* 0.9375rem */
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.75;
        /* 1.75rem */
        color: #4a4f54;
        margin: 0;
    }

    .content-list-item svg {
        width: 1.125rem;
        /* 1.125rem */
        height: 1.125rem;
        stroke: #2563eb;
        color: #2563eb;
        fill: none;
        flex-shrink: 0;
        margin-top: 0;
    }

    .content-list-item span {
        flex: 1;
        font-family: inherit;
        font-weight: inherit;
        font-size: inherit;
        line-height: inherit;
        color: inherit;
    }

    /* Numbered subsections wrapper (Frame 27 inside Frame 70): gap 30 between cards
       Adds 1.25rem above to make effective gap 30 from previous element */
    .content-sections {
        display: flex;
        flex-direction: column;
        gap: 1.875rem;
        /* 1.875rem between subsection cards (Frame 27 inner gap) */
        margin: 1.25rem 0 0;
        /* 1.25rem top to make 30 total */
    }

    /* Each numbered card (Frame 27/28/29/30/31): bg white, 12r, no padding, no border, no shadow
       Inner gap 10 between title and description (Frame 89) */
    .content-section-item {
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
        /* 0.625rem (Frame 89 gap) */
        padding: 0;
        background: #ffffff;
        border: none;
        border-radius: 0.75rem;
        /* 0.75rem (Figma) */
        box-shadow: none;
        margin: 0;
    }

    /* Numbered title "1. Demand Forecasting": Poppins 700 18/27 #111827 */
    .section-item-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #111827;
        margin: 0;
    }

    /* Description: Inter 400 16/24 #4A4F54 */
    .section-item-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Conclusion callout (Frame 103): pad 20, bg rgba(37,99,235,0.1), border-left 0.125rem #2563EB
       Adds 1.25rem above to make effective gap 30 from previous */
    .blog-conclusion {
        background: rgba(37, 99, 235, 0.1);
        background-image: none;
        border-left: 0.125rem solid #2563eb;
        border-radius: 0;
        padding: 1.25rem;
        /* 1.25rem (Figma) */
        margin: 1.25rem 0 0;
        /* 1.25rem top to make 30 total */
    }

    /* "Conclusion": Poppins 700 20/28 #111827 */
    .conclusion-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.4;
        /* 1.75rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to text (Frame 103 gap) */
    }

    /* Conclusion text: Inter 400 16/24 #4A4F54 */
    .conclusion-text {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        margin: 0;
    }

    /* Bottom space before footer: 6.25rem (Content ends 3346 → Footer 3446) */
    .blog-content-section + .footer,
    .blog-content-section {
        padding-bottom: 6.25rem;
        /* 6.25rem to footer */
    }

    /* ============================================
       BLOG PAGE — Figma: Blog V1 (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Hero "Our Blogs" (Frame 13, top 154, 361x106)
       Header end 123 → Hero 154 = 1.9375rem gap
       Frame 15: title + subtitle, gap 10 */
    .blog-hero {
        padding: 1.9375rem 0 0;
        /* 1.9375rem from header */
        background-color: #ffffff;
    }

    .blog-hero-container {
        padding: 0 1rem;
        max-width: none;
    }

    /* Title: Poppins 600 32/48 #111827 */
    .blog-hero-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        line-height: 1.5;
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .blog-hero-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        color: #4a4f54;
        margin: 0 0 2rem;
        /* 2rem to search (Hero end 260 → Search 292) */
    }

    /* Search bar (Group 31, 361x46)
       White bg, 1px border rgba(74,79,84,.1), 12r
       Icon 18x18 #4A4F54 at left 21, text after 1.0625rem gap */
    .blog-search {
        box-sizing: border-box;
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        height: 2.875rem;
        /* 2.875rem */
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        border-radius: 0.75rem;
        padding: 0 1.3125rem;
        /* 1.3125rem sides */
        gap: 1.0625rem;
        /* 1.0625rem icon → text */
    }

    .blog-search-icon {
        width: 1.125rem;
        /* 1.125rem */
        height: 1.125rem;
        color: #4a4f54;
        flex-shrink: 0;
        position: static;
        left: auto;
        top: auto;
        transform: translateY(0%);
    }

    .blog-search-input {
        flex: 1;
        border: none;
        background: transparent;
        outline: none;
        padding: 0;
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #4a4f54;
        height: 100%;
    }

    .blog-search-input::placeholder {
        color: #4a4f54;
        opacity: 0.5;
    }

    /* ----- Blog Grid (Frame 96, top 370, 361x3585)
       Search ends 338 → Grid 370 = 2rem gap
       gap 50 between cards */
    .blog-grid-section {
        padding: 2rem 0 6.25rem 0;
        /* 2rem from search */
    }

    .blog-grid-container {
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        gap: 3.125rem;
        /* 3.125rem Frame 96 gap */
        margin-bottom: 3.125rem;
        /* 3.125rem gap to Load More */
        grid-template-columns: none;
        max-width: none;
    }

    /* Each card: image + content, gap 15 (Frame 46 gap) */
    .blog-card {
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem */
    }

    .blog-card:hover {
        transform: none;
    }

    /* Image: 361x250, 12r, no shadow */
    .blog-card-image {
        border-radius: 0.75rem;
        overflow: hidden;
        box-shadow: none;
        width: 100%;
    }

    .blog-card-image img {
        width: 100%;
        height: 15.625rem;
        /* 15.625rem */
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    .blog-card:hover .blog-card-image img {
        transform: none;
    }

    /* Content: title + meta, gap 10 (Frame 35 gap) */
    .blog-card-content {
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
        /* 0.625rem */
    }

    /* Title: Poppins 700 18/27 #111827 */
    .blog-card-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.5;
        color: #111827;
        margin: 0;
    }

    /* Meta: Inter 400 14/17 #4A4F54 ("Published On:" bold inline) */
    .blog-card-meta {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #4a4f54;
        margin: 0;
    }

    .blog-card-meta strong,
    .blog-card-meta b {
        font-weight: 700;
    }

    /* Excerpt not in Figma mobile */
    .blog-card-excerpt {
        display: none;
    }

    /* Load More button (Frame 49): 148x48, padding 15x24, gap 10
       white bg, 1px #111827 border, 8r */
    .blog-load-more {
        display: flex;
        justify-content: flex-start;
        padding: 0 1rem;
        margin: 0;
    }

    .btn-load-more {
        box-sizing: border-box;
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 0.9375rem 1.5rem;
        /* 0.9375rem 1.5rem */
        gap: 0.625rem;
        /* 0.625rem icon → text */
        background: #ffffff;
        border: 1px solid #111827;
        border-radius: 0.5rem;
        width: auto;
        min-width: 9.25rem;
        /* 9.25rem */
        height: 3rem;
        /* 3rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #111827;
    }

    .btn-load-more:hover {
        background: #ffffff;
        color: #111827;
        border-color: #111827;
        transform: none;
    }

    .btn-load-more svg,
    .btn-load-more img {
        width: 1.125rem;
        /* 1.125rem */
        height: 1.125rem;
        color: #000000;
        flex-shrink: 0;
    }

    /* ============================================
       CONTACT PAGE — Figma: Contact Us V1 (24.5625rem mobile)
       Content width 22.5625rem, 1rem side gutters
       ============================================ */

    /* ----- Section: Hero + Info + Form (top 154-1134) ----- */
    .contact-section {
        padding: 1.9375rem 0 0;
        /* 1.9375rem from header */
        background: #d9d9d9;
        overflow: hidden;
    }

    .contact-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("/assets/contactBg.jpg") center / cover no-repeat;
        transform: scaleX(-1);
        z-index: 0;
    }

    .contact-section::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 44.98%,
            #ffffff 100%
        );
        z-index: 1;
        pointer-events: none;
    }

    .contact-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 1.875rem;
        /* 1.875rem between contact-info and form */
        grid-template-columns: none;
        align-items: stretch;
        margin-bottom: 0;
        position: relative;
        z-index: 2;
    }

    /* ----- .contact-info contains title, description, and contact-details
       Hero (Frame 13): title + description, gap 10
       1.875rem gap → contact-details (Frame 93)
       Contact details: 3 items, gap 25 */
    .contact-info {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Title "Have a Project? Let's Connect.": Poppins 600 32/48 #111827 */
    .contact-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 2rem;
        line-height: 1.5;
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to description (Frame 15 gap) */
    }

    /* Description: Inter 400 16/24 #4A4F54 */
    .contact-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        color: #4a4f54;
        margin: 0 0 1.875rem;
        /* 1.875rem to contact details (Hero ends 332, Frame 93 at 362) */
    }

    /* Contact details: Frame 93, gap 25 between rows */
    .contact-details {
        display: flex;
        flex-direction: column;
        gap: 1.5625rem;
        /* 1.5625rem */
        margin-top: 0;
    }

    /* Each row: icon + text, gap 20 */
    .contact-detail-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        /* 1.25rem */
    }

    /* Icon: 32x32 color #4A4F54 */
    .contact-icon {
        width: 2rem;
        /* 2rem */
        height: 2rem;
        color: #4a4f54;
        background: transparent;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .contact-icon svg {
        width: 2rem;
        height: 2rem;
        color: #4a4f54;
        stroke: #4a4f54;
        fill: #4a4f54;
    }

    /* Text block: gap 2 between label and value (Frame 107) */
    .contact-detail-text {
        display: flex;
        flex-direction: column;
        gap: 0.125rem;
        /* 0.125rem */
        flex: 1;
    }

    /* Label "Email"/"Phone"/"Location": Inter 400 16/28 #4A4F54 */
    .contact-detail-label {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.75;
        color: #4a4f54;
        margin: 0;
    }

    /* Value (email/phone/address): Inter 500 16/24 #111827 */
    .contact-detail-value {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 1rem;
        line-height: 1.5;
        color: #111827;
        margin: 0;
        text-decoration: none;
    }

    /* ----- Form wrapper (Rectangle 49, 361x506) -----
       Bg white, 1px rgba(74,79,84,.1) border, 0px 0.125rem 0.125rem shadow, 12r
       Inner: padding ~1.875rem top, ~1rem sides, fields gap 0.9375rem */
    .contact-form-wrapper {
        box-sizing: border-box;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        padding: 1.875rem 1rem;
        /* 1.875rem top/bottom, 1rem sides */
    }

    .contact-form {
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem between fields */
    }

    /* Form row (Name + Email on desktop): stack on mobile, gap 15 */
    .form-row {
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem */
        grid-template-columns: none;
    }

    /* Each form-group: position relative for floating label */
    .form-group {
        position: relative;
        display: flex;
        flex-direction: column;
    }

    /* Floating label "Full Name *" style: positioned above input top border
       Padding 4 10, bg white, Inter 500 12/15 #4A4F54 */
    .form-label {
        position: absolute;
        top: -0.5rem;
        /* -0.5rem to sit on border */
        left: 0.75rem;
        /* 0.75rem from input edge */
        padding: 0.25rem 0.625rem;
        /* 0.25rem 0.625rem */
        background: #ffffff;
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        line-height: 1.25;
        color: #4a4f54;
        z-index: 1;
        margin: 0;
    }

    .form-label .required {
        color: #4a4f54;
    }

    /* Input/textarea: 44h, padding 14 21, bg white, border 1px rgba(74,79,84,.1), 8r */
    .form-input,
    .form-textarea {
        box-sizing: border-box;
        width: 100%;
        height: 2.75rem;
        /* 2.75rem */
        padding: 0.875rem 1.3125rem;
        /* 0.875rem 1.3125rem */
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.01);
        border-radius: 0.5rem;
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #111827;
        outline: none;
    }

    .form-input::placeholder,
    .form-textarea::placeholder {
        color: #4a4f54;
        opacity: 0.5;
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        line-height: 1.2143;
    }

    .form-input:focus,
    .form-textarea:focus {
        border-color: rgba(74, 79, 84, 0.3);
    }

    /* Textarea: 100h */
    .form-textarea {
        height: 6.25rem;
        /* 6.25rem */
        padding: 0.875rem 1.3125rem;
        resize: vertical;
        line-height: 1.2143;
    }

    /* reCAPTCHA: 329x74, bg #FAFAFA, 1px border, 8r, padding 12 inside */
    .form-captcha {
        margin: 0.3125rem 0 0;
        /* small spacing from message field */
    }

    .captcha-placeholder {
        box-sizing: border-box;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 4.625rem;
        /* 4.625rem */
        padding: 0 0.625rem 0 0.75rem;
        /* 0.75rem left, 0.625rem right */
        background: #fafafa;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 1px 0.125rem rgba(0, 0, 0, 0.01);
        border-radius: 0.5rem;
    }

    /* Checkbox: 24x24, bg white, 0.125rem #C1C1C1 border */
    .captcha-placeholder input[type="checkbox"] {
        width: 1.5rem;
        height: 1.5rem;
        background: #ffffff;
        border: 0.125rem solid #c1c1c1;
        border-radius: 0.0625rem;
        margin: 0 0.875rem 0 0;
        /* 0.875rem gap to label */
        flex-shrink: 0;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }

    .captcha-placeholder input[type="checkbox"]:checked {
        background: #2563eb;
        border-color: #2563eb;
    }

    /* "I'm not a robot": Inter 500 14/17 #111827 */
    .captcha-placeholder label {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #111827;
        cursor: pointer;
        flex: 1;
    }

    .recaptcha-badge {
        font-family: "Roboto", sans-serif;
        font-weight: 500;
        font-size: 0.5rem;
        line-height: 1.125;
        color: #a6a6a6;
        text-align: center;
        flex-shrink: 0;
    }

    /* Submit button: 329x44, bg #111827, 8r, Inter 700 14/17 #FFFFFF */
    .btn-submit {
        box-sizing: border-box;
        width: 100%;
        height: 2.75rem;
        /* 2.75rem */
        padding: 0;
        background: #111827;
        border: 1px solid rgba(74, 79, 84, 0.1);
        border-radius: 0.5rem;
        font-family: "Inter", sans-serif;
        font-weight: 700;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: #ffffff;
        text-align: center;
        cursor: pointer;
        margin-top: 0.3125rem;
        /* small space from captcha */
    }

    .btn-submit:hover {
        background: #111827;
        transform: none;
    }

    /* ----- Trusted Companies (Frame 116, 234h)
       Form ends 1134 → Trusted 1184 = 3.125rem gap
       Just title + logos (no subtitle on contact)
       Title → logos: 1.875rem */
    .trusted-container.contact-companies {
        margin: 3.125rem auto 6.25rem !important;
        /* 3.125rem top, 6.25rem bottom (to footer) */
        padding: 0 1rem;
        max-width: none;
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.875rem;
        /* 1.875rem */
    }

    .contact-companies .trusted-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 1.875rem */
        color: #111827;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* Companies: infinite scroll carousel */
    .contact-companies .companies-carousel {
        overflow: hidden;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .contact-companies .companies-track {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 2.5rem;
        /* 2.5rem */
        width: max-content;
        animation: scroll-companies 25s linear infinite;
    }

    .contact-companies .companies-track:hover {
        animation-play-state: paused;
    }

    .contact-companies .company-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        height: 2.9375rem;
        /* 2.9375rem */
        flex: 0 0 auto;
        flex-shrink: 0;
        opacity: 1;
    }

    .contact-companies .company-logo img {
        max-width: 9.375rem;
        width: auto;
        height: 100%;
        object-fit: contain;
        filter: none;
    }

    /* ============================================
       HOMEPAGE — Solutions / Why / Stats / Case Studies / Testimonials
       ============================================ */

    /* ----- SOLUTIONS WE DELIVER (Frame 30, top 1366, 361x380, gap 20)
       Trusted Frame 116 ends 1280 → Solutions 1366 = 5.375rem gap
       Inside: Frame 15 (title block 94h, gap 10) → 20 → carousel (266h, gap 30) */
    .solutions-section {
        margin: 5.375rem 0 0 !important;
        /* 5.375rem from trusted-companies */
        padding: 0;
        background: transparent;
    }

    /* "Solutions We Deliver": Poppins 600 24/36 #111827 left */
    .solutions-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        text-align: left;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
    }

    /* Subtitle: Inter 400 16/24 #4A4F54 */
    .solutions-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.5;
        /* 1.5rem */
        color: #4a4f54;
        text-align: left;
        margin: 0 0 1.25rem;
        /* 1.25rem to services (Frame 30 gap) */
    }

    /* Services grid: 1 card per row */
    .services-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        margin: 0;
        padding: 0;
        overflow: visible;
        max-width: none;
        flex-direction: unset;
        flex: unset;
        scroll-snap-type: unset;
    }

    .carousel-dots.services-carousel-dots {
        display: none;
    }

    /* Card: 361x182, grid — icon top row (1fr), title+arrow bottom row (auto) */
    .service-card {
        box-sizing: border-box;
        display: grid;
        grid-template-rows: 1fr auto;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "icon icon"
            "title link";
        padding: 1.875rem;
        /* 1.875rem */
        row-gap: 1.25rem;
        /* 1.25rem */
        column-gap: 1.25rem;
        /* 1.25rem */
        width: 100%;
        height: 11.375rem;
        /* 11.375rem */
        min-height: 11.375rem;
        background: #ffffff;
        border: 0.0625rem solid rgba(74, 79, 84, 0.1);
        box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        min-width: unset;
        flex: unset;
        scroll-snap-align: unset;
    }

    .service-card:hover {
        transform: none;
        border-color: rgba(74, 79, 84, 0.1);
        box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        background: #ffffff;
    }

    /* Icon: 42x42, pinned to bottom of top row */
    .service-card .service-icon,
    .service-card > svg:first-child,
    .service-card > img:first-child {
        grid-area: icon;
        width: 2.625rem;
        /* 2.625rem */
        height: 2.625rem;
        /* 2.625rem */
        align-self: end;
        color: #4a4f54;
        fill: #4a4f54;
        flex-shrink: 0;
        margin: 0;
    }

    .service-card .service-icon svg,
    .service-card .service-icon img {
        width: 100%;
        height: 100%;
        color: #4a4f54;
        fill: #4a4f54;
    }

    /* Title: Poppins 700 20/30 #111827, aligns to bottom of its cell */
    .service-card .service-title {
        grid-area: title;
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.25rem;
        /* 1.25rem */
        line-height: 1.5;
        /* 30/20 */
        color: #111827;
        margin: 0;
        align-self: end;
    }

    /* Arrow link: hide "Learn more" text, show only SVG in blue */
    .service-card .service-link {
        grid-area: link;
        display: flex;
        align-items: flex-end;
        align-self: end;
        font-size: 0;
        color: #2563eb;
        text-decoration: none;
        opacity: 1;
        visibility: visible;
    }

    .service-card .service-link svg {
        width: 1.25rem;
        /* 1.25rem */
        height: 1.25rem;
        /* 1.25rem */
        color: #2563eb;
        stroke: #2563eb;
        display: block;
        flex-shrink: 0;
    }

    .service-card .service-description {
        display: none;
    }

    /* ----- WHY CHOOSE US (top 1880)
       Solutions ends 1746 → Why badge 1880 = 8.375rem gap
       Stack: badge (30) → 21 → avatars (34) → 10 → text (30) → 20 → title+desc+btn */
    .why-choose-us {
        padding: 3.75rem 0 5rem 0;
        /* 8.375rem from solutions */
        background: transparent;
        margin: 0;
    }

    .why-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0 auto;
    }

    /* .why-content wraps .why-left + .why-right — stack column on mobile */
    .why-content {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 0;
        align-items: stretch;
    }

    .why-left,
    .why-right {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    /* Why badge "Why Choose Us" (Frame 12): 150x30, pad 6 20, gap 7, 1px #4A4F54, 6r */
    .why-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.4375rem;
        /* 0.4375rem */
        padding: 0.375rem 1.25rem;
        /* 0.375rem 1.25rem */
        background: transparent;
        border: 1px solid #4a4f54;
        border-radius: 0.375rem;
        /* 0.375rem */
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.5;
        /* 1.125rem */
        color: #000000;
        width: auto;
        height: 1.875rem;
        /* 1.875rem */
        align-self: flex-start;
        margin: 0 0 1.3125rem;
        /* 1.3125rem to team avatars */
    }

    /* Blue dot in why-badge: 8x8 #2563EB */
    .badge-dot {
        width: 0.5rem;
        /* 0.5rem */
        height: 0.5rem;
        background: #2563eb;
        border-radius: 50%;
        display: inline-block;
        flex-shrink: 0;
    }

    /* Team avatars: 4 photos 34x34 + "+10" badge, overlap -5
       Group 4 at top 1931, last rect 5 with bg #111827 and "+10" text */
    .team-avatars {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin: 0 0 0.625rem;
        /* 0.625rem to team-text */
    }

    .team-avatars img,
    .team-count {
        box-sizing: border-box;
        width: 2.125rem;
        /* 2.125rem */
        height: 2.125rem;
        border-radius: 0.375rem;
        /* 0.375rem */
        border: 1px solid #ffffff;
        margin-left: -0.3125rem;
        /* -0.3125rem overlap */
        object-fit: cover;
        flex-shrink: 0;
    }

    .team-avatars img:first-child {
        margin-left: 0;
    }

    .team-count {
        background: #111827;
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: "Inter", sans-serif;
        font-weight: 700;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.25;
        /* 0.9375rem */
    }

    /* Team text "Team of passionate professionals": Inter 500 12/15 #111827 */
    .team-text {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.25;
        /* 0.9375rem */
        color: #111827;
        margin: 0 0 1.25rem;
        /* 1.25rem to .why-right */
    }

    /* Why title: Poppins 600 24/36 #111827 */
    .why-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        margin: 0 0 0.625rem;
        /* 0.625rem to description (Frame 15 gap) */
        text-align: left;
    }

    /* Why description: Inter 400 16/26 #4A4F54 */
    .why-description {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.625;
        /* 1.625rem */
        color: #4a4f54;
        margin: 0 0 1.25rem;
        /* 1.25rem to button (Frame 31 gap) */
        text-align: left;
    }

    /* "Learn More About Us" button: 191x38, pad 10.5x24, bg #111827, 8r */
    .why-right .btn-primary {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1.5rem;
        /* 0.6563rem 1.5rem */
        background: #111827;
        color: #f8fafc;
        border: 1px solid #111827;
        border-radius: 0.5rem;
        /* 0.5rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        text-align: center;
        height: 2.375rem;
        /* 2.375rem */
        width: auto;
        min-width: 11.9375rem;
        /* 11.9375rem */
        white-space: nowrap;
        align-self: flex-start;
        text-decoration: none;
    }

    .why-right .btn-primary:hover {
        background: #111827;
        color: #f8fafc;
        transform: none;
    }

    /* ----- STATS CARDS (Frame 118, top 2413, 361x648, gap 15)
       Why-right ends 2357 → Stats cards 2413 = 3.5rem gap
       3 cards stacked, each 206h */
    .stats-cards {
        display: flex;
        flex-direction: column;
        gap: 0.9375rem;
        /* 0.9375rem (Frame 118 gap) */
        margin: 3.5rem 0 0;
        /* 3.5rem from why-right */
        padding: 0;
        grid-template-columns: none;
        max-width: none;
    }

    /* Generic .stat-card: 361x206, pad 30 40, gap 20, bg white, 1px rgba(74,79,84,.1), shadow, 12r */
    .stat-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 1.875rem 2.5rem;
        /* 1.875rem 2.5rem */
        gap: 1.25rem;
        /* 1.25rem */
        width: 100%;
        height: 12.875rem;
        /* 12.875rem */
        min-height: 12.875rem;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        /* 0.75rem */
    }

    .stat-card:hover {
        transform: none;
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
    }

    /* Stat number "100+": Poppins 700 40/60 #111827 center */
    .stat-card .stat-number {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 2.5rem;
        /* 2.5rem */
        line-height: 1.5;
        /* 3.75rem */
        color: #111827;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* Stat text: Inter 400 16/19 #111827 center */
    .stat-card .stat-text {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.1875;
        /* 1.1875rem */
        color: #111827;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* Rating row: "4.9" + "/5.0" + stars, gap 10 (Frame 33) */
    .rating {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.625rem;
        /* 0.625rem */
        margin: 0;
    }

    .rating-number,
    .rating-total {
        font-family: "Inter", sans-serif;
        font-weight: 700;
        font-size: 1.375rem;
        /* 1.375rem */
        line-height: 1.2273;
        /* 1.6875rem */
        color: #111827;
    }

    /* Stars: 5 black stars 16x16 each */
    .stars {
        display: inline-flex;
        color: #000000;
        font-size: 1rem;
        /* 1rem */
        line-height: 1;
        letter-spacing: 0;
    }

    /* Image stat card (AI chip): no padding, just image */
    .stat-card-image {
        padding: 0;
        overflow: hidden;
        align-items: stretch;
        background: #d9d9d9;
    }

    .stat-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0.75rem;
        display: block;
    }

    /* Blue stat card "18+": bg #2563EB, all text white */
    .stat-card-blue {
        background: #2563eb;
        border-color: #2563eb;
    }

    .stat-card-blue .stat-number,
    .stat-card-blue .stat-text,
    .stat-card-blue .stat-year,
    .stat-card-blue .stat-number-large,
    .stat-card-blue .stat-text-white {
        color: #ffffff;
    }

    /* "// 2008-2K26 //": Poppins 700 12/18 #FFFFFF center */
    .stat-year {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 0.75rem;
        /* 0.75rem */
        line-height: 1.5;
        /* 1.125rem */
        color: #ffffff;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* "18+" Poppins 700 40/60 #FFFFFF center */
    .stat-number-large {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 2.5rem;
        /* 2.5rem */
        line-height: 1.5;
        /* 3.75rem */
        color: #ffffff;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* "Delivering...": Inter 400 16/19 #FFFFFF center */
    .stat-text-white {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.1875;
        /* 1.1875rem */
        color: #ffffff;
        text-align: center;
        margin: 0;
        width: 100%;
    }

    /* ----- CASE STUDIES (Group 27, top 3141, full-width 393, bg #F8FAFC, 1567h)
       Stats cards end 3061 → bg 3141 = 5rem gap
       Inside bg: 60 padding-top → title (3201) → 46 → grid (3403) → 60 padding-bottom */
    .case-studies {
        /* margin: 5rem 0 0; 5rem from stats-cards */
        padding: 3.75rem 0;
        /* 3.75rem top + bottom inside bg */
        background: #f8fafc;
        width: 100%;
    }

    .case-studies-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0 auto;
    }

    /* Title "Transforming Challenges...": Poppins 600 24/36 #111827 center */
    .case-studies-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        text-align: center;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle (Frame 15 gap) */
    }

    /* Subtitle: Inter 400 16/19 #4A4F54 center */
    .case-studies-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.1875;
        /* 1.1875rem */
        color: #4a4f54;
        text-align: center;
        margin: 0 0 2.875rem;
        /* 2.875rem to grid */
    }

    /* Portfolio: desktop overlay style, single column on mobile */
    .portfolio-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
        margin: 0 0 1.875rem;
        padding: 0;
        max-width: none;
    }

    .portfolio-item {
        position: relative;
        display: block;
        flex-direction: initial;
        gap: 0;
        border-radius: 1rem;
        overflow: hidden;
        height: 20rem;
        background: transparent;
        box-shadow: none;
        cursor: pointer;
        text-decoration: none;
        color: inherit;
        transition: transform 0.3s ease;
    }

    .portfolio-item:hover {
        transform: none;
    }

    .portfolio-item:hover img {
        transform: none;
    }

    .portfolio-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
        display: block;
    }

    .portfolio-content {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        display: block;
        flex-direction: initial;
        gap: 0;
        padding: 2rem 1.25rem 1.25rem;
        background: linear-gradient(
            to top,
            rgba(0, 0, 0, 0.9) 0%,
            rgba(0, 0, 0, 0.7) 50%,
            rgba(0, 0, 0, 0) 100%
        );
        color: #fff;
    }

    .portfolio-title {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.5;
        color: #fff;
        margin: 0 0 0.375rem;
    }

    .portfolio-tags {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1.2143;
        color: rgba(255, 255, 255, 0.8);
        margin: 0;
    }

    /* "Discover All Case Studies" CTA — Frame 119 align-items: center centres the button */
    .case-studies-cta {
        margin: 1.875rem 0 0;
        /* 1.875rem from last card (Frame 119 gap) */
        text-align: center;
    }

    .case-studies-cta .btn-primary {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1.5rem;
        /* 0.6563rem 1.5rem */
        background: #111827;
        color: #f8fafc;
        border: 1px solid #111827;
        border-radius: 0.5rem;
        /* 0.5rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        text-align: center;
        height: 2.375rem;
        /* 2.375rem */
        width: 13.875rem;
        /* 13.875rem exact */
        white-space: nowrap;
        text-decoration: none;
    }

    .case-studies-cta .btn-primary:hover {
        background: #111827;
        color: #f8fafc;
        transform: none;
    }

    /* ----- TESTIMONIALS (Frame 40 + carousel)
       Case Studies bg ends 4708 → Frame 40 4788 = 5rem gap
       Frame 40 (title block) ends 4922 → carousel 4962 = 2.5rem gap
       Stack cards vertically on mobile (Figma is horizontal carousel) */
    .testimonials {
        padding: 5rem 0 0;
        /* 5rem from case-studies bg */
        background: transparent;
        margin: 0;
    }

    .testimonials-container {
        padding: 0 1rem;
        max-width: none;
        margin: 0 auto;
    }

    /* Title "Built on Trust, Proven by Clients": Poppins 600 24/36 #111827 */
    .testimonials-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #111827;
        text-align: left;
        margin: 0 0 0.625rem;
        /* 0.625rem to subtitle */
    }

    /* Subtitle: Inter 400 16/26 #4A4F54 */
    .testimonials-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.625;
        /* 1.625rem */
        color: #4a4f54;
        text-align: left;
        margin: 0 0 2.5rem;
        /* 2.5rem to carousel (Frame 40 → carousel gap) */
    }

    /* Carousel: horizontal scroll, 1 card per view (Frame 46, 361x397) */
    .testimonials-carousel {
        padding: 0;
        overflow: hidden;
        position: relative;
        margin: 0;
    }

    /* Track: horizontal flex; gap matches JS hardcoded gap=1.5rem for correct translateX */
    .testimonials-track {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
        /* 1.5rem — must match JS gap constant */
        width: 100%;
        animation: none;
        transition: transform 0.5s ease;
    }

    /* Each card (Frame 43): 361x396, pad 1.875rem, gap 2.25rem between children */
    .testimonial-card {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.875rem;
        /* 1.875rem */
        gap: 2.25rem;
        /* 2.25rem */
        min-width: 100%;
        flex: 0 0 100%;
        height: auto;
        background: #ffffff;
        border: 1px solid rgba(74, 79, 84, 0.1);
        box-shadow: 0px 0.125rem 0.125rem rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
        /* 0.75rem */
        opacity: 1;
    }

    .testimonials-track .testimonial-card:first-child,
    .testimonials-track .testimonial-card:last-child {
        border-radius: 0.75rem;
    }

    /* Quote wrap (Frame 115): column, gap 1.25rem */
    .testimonial-quote-wrap {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        /* 1.25rem */
        align-self: stretch;
        flex-grow: 1;
    }

    /* Quote text: Poppins 500 18/27 #4A4F54 */
    .testimonial-text {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #4a4f54;
        margin: 0;
        width: 100%;
        text-align: left;
    }

    /* Read More button (Frame 114): reset display to none — JS shows it when text > 7 lines */
    .testimonial-read-more {
        display: none;
        width: 100%;
        box-sizing: border-box;
        padding: 0.375rem 0;
        /* 0.375rem top/bottom */
        border: 1px solid #2563eb;
        border-radius: 0.5rem;
        /* 0.5rem */
        background: transparent;
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.5;
        /* 1.3125rem */
        text-align: center;
        color: #2563eb;
        cursor: pointer;
        margin-top: 0;
    }

    /* Author block (Frame 41): row, gap 0.9375rem, height 3rem */
    .testimonial-author {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.9375rem;
        /* 0.9375rem */
        width: 100%;
    }

    /* Avatar (Rectangle 29): 44x44, border-radius 0.375rem */
    .testimonial-author img {
        width: 2.75rem;
        /* 2.75rem */
        height: 2.75rem;
        border-radius: 0.375rem;
        /* 0.375rem */
        object-fit: cover;
        flex-shrink: 0;
    }

    .author-info {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-width: 0;
    }

    /* Name: Poppins 500 18/27 #111827 */
    .author-info strong {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 1.125rem;
        /* 1.125rem */
        line-height: 1.5;
        /* 1.6875rem */
        color: #111827;
    }

    /* Role: Poppins 500 14/21 #111827 */
    .author-info span {
        font-family: "Poppins", sans-serif;
        font-weight: 500;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.5;
        /* 1.3125rem */
        color: #111827;
    }

    /* Dots (Frame 51): centered row, gap 1.25rem, square 14x14, border-radius 0.125rem */
    .carousel-dots {
        display: flex;
        justify-content: center;
        gap: 1.25rem;
        /* 1.25rem */
        margin-top: 1rem;
    }

    .carousel-dot {
        width: 0.875rem;
        /* 0.875rem */
        height: 0.875rem;
        /* 0.875rem */
        border-radius: 0.125rem;
        /* 0.125rem */
        background-color: #4a4f54;
        cursor: pointer;
        transition: background-color 0.3s ease;
        flex-shrink: 0;
    }

    .carousel-dot.active {
        background-color: #2563eb;
        width: 0.875rem;
        height: 0.875rem;
        border-radius: 0.125rem;
    }

    /* Hide carousel nav arrows (Figma uses dots only) */
    .carousel-btn {
        display: none;
    }

    /* ----- CTA Section (Group 22) — Figma identical to About CTA -----
       Top 3986 (6.25rem from industries end at 3886)
       Card 361x309, 12r, padding 3.1875rem top / 0.375rem sides */
    .cta-section {
        padding: 6rem 0;
        /* 6.25rem gap from prev section */
        margin-block: 0;
    }

    .cta-container {
        padding: 0 1rem;
    }

    /* Card: #2563EB bg, 12r, image layer via ::before, content 3.1875rem top / 0.375rem sides */
    .cta-content {
        padding: 3.1875rem 0.375rem;
        /* 3.1875rem top, 0.375rem sides — Frame 52 offset */
        border-radius: 0.75rem;
        /* 0.75rem */
        text-align: center;
        min-height: 19.3125rem;
        /* 19.3125rem */
        background: #2563eb;
        overflow: hidden;
        position: relative;
    }

    /* Unsplash photo background — same as desktop */
    .cta-content::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80")
            center / cover no-repeat;
        z-index: 0;
    }

    /* Title: Poppins 600 24/36 #FFFFFF center */
    .cta-title {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        /* 1.5rem */
        line-height: 1.5;
        /* 2.25rem */
        color: #ffffff;
        text-align: center;
        margin: 0 0 0.625rem;
        /* 0.625rem — Frame 40 gap */
        position: relative;
        z-index: 2;
    }

    /* Subtitle: Inter 400 16/26 #FFFFFF center */
    .cta-subtitle {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.625;
        /* 1.625rem */
        color: #ffffff;
        text-align: center;
        margin: 0 0 2.1875rem;
        /* 2.1875rem — Frame 52 gap */
        position: relative;
        z-index: 2;
    }

    /* Button: 153x38, padding 0.6563rem 1.5rem, bg #F8FAFC, 8r, color #111827 */
    .btn-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.65625rem 1.5rem;
        /* 0.6563rem 1.5rem */
        background: #f8fafc;
        color: #111827;
        border-radius: 0.5rem;
        /* 0.5rem */
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        text-align: center;
        width: auto;
        min-width: 9.5625rem;
        /* 9.5625rem */
        height: 2.375rem;
        /* 2.375rem */
        position: relative;
        z-index: 2;
    }

    .btn-cta:hover {
        background: #f8fafc;
        transform: none;
    }

    /* Footer Small Mobile */
    /* Footer (Rectangle 35): bg #111827, border-radius 1.25rem top, padding 3.9375rem top 1.5rem bottom */
    .footer {
        padding: 3.9375rem 0 1.5rem;
        /* 3.9375rem top (logo at 3.9375rem from footer top), 1.5rem bottom */
        background: #111827;
        border-radius: 1.25rem 1.25rem 0 0;
        /* 1.25rem 1.25rem 0 0 */
    }

    /* "ephp" watermark: flows above copyright section on mobile */
    .footer-watermark {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        white-space: normal;
        font-size: 5rem;
        /* 5rem */
        background: linear-gradient(
            180deg,
            #ffffff 0%,
            #0f172a 88.68%,
            #0f172a 100%
        );
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: transparent;
        opacity: 1;
        text-align: center;
        font-weight: 400;
        margin: 2rem 0 0.5rem;
    }

    /* Container: 1.125rem sides (Frame 59 left: 1.125rem) */
    .footer-container {
        padding: 0 1.125rem;
        /* 1.125rem */
    }

    /* Content: column; 2.625rem gap between brand and links */
    .footer-content {
        display: flex;
        flex-direction: column;
        gap: 2.625rem;
        /* 2.625rem: brand ends at 11.9375rem, Frame 59 starts at 14.5625rem */
        padding-bottom: 0;
        margin-bottom: 0;
    }

    /* Brand: column, centered (logo + social centered in Figma) */
    .footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.625rem;
        /* ~0.625rem between logo and social */
    }

    .footer-logo {
        font-size: 1.1rem;
    }

    .footer-logo .logo {
        font-size: 0.9rem;
        padding: 0.3rem 0.5rem;
    }

    /* Social icons (Frame 120): row, centered, gap 0.625rem; 44x44, #F8FAFC 10% opacity, radius 6.25rem */
    .footer-social {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 0.625rem;
        /* 0.625rem */
    }

    .footer-social a {
        width: 2.75rem;
        /* 2.75rem */
        height: 2.75rem;
        /* 2.75rem */
        border-radius: 6.25rem;
        /* 6.25rem */
        background-color: rgba(248, 250, 252, 0.1);
        /* #F8FAFC @ 0.1 */
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, 0.5);
    }

    .footer-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem;
        /* 4.125rem (Frame 121 gap) */
        row-gap: 1.875rem;
        /* 1.875rem (Frame 59 gap) */
    }

    .footer-column:last-child {
        grid-column: 1 / -1;
    }

    .footer-heading {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
        font-size: 1rem;
        /* 1rem */
        line-height: 1.25;
        /* 1.25rem */
        color: #ffffff;
        margin: 0;
    }

    /* Quick Links / Featured Services items: Inter 400 0.875rem/1.25rem #F8FAFC, gap 0.9375rem */
    .footer-menu {
        gap: 0.9375rem;
        /* 0.9375rem */
    }

    .footer-menu a {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.4286;
        /* 1.25rem */
        color: #f8fafc;
    }

    /* Get In Touch items: column gap 1.25rem (Frame 56 gap) */
    .footer-contact {
        gap: 1.25rem;
        /* 1.25rem */
    }

    /* Each contact item: row, gap 0.625rem, align-items flex-start */
    .footer-contact li {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 0.625rem;
        /* 0.625rem */
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.4286;
        /* 1.25rem */
        color: #f8fafc;
    }

    .footer-contact a {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.4286;
        /* 1.25rem */
        color: #f8fafc;
    }

    /* Contact icons: 20x20 (marker, envelope, phone-call) */
    .footer-contact svg {
        width: 1.25rem;
        /* 1.25rem */
        height: 1.25rem;
        /* 1.25rem */
        flex-shrink: 0;
        color: #ffffff;
    }

    /* Footer bottom (Frame 122): column, centered, gap 0.625rem; margin-top 8rem (8rem spacer) */
    .footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.625rem;
        /* 0.625rem (Frame 122 gap) */
        margin-top: 0;
    }

    /* Copyright: Inter 400 0.875rem/1.0625rem #F8FAFC, centered */
    .footer-copyright {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        color: #f8fafc;
        text-align: center;
        margin: 0;
    }

    /* Legal links (Frame 78): row, centered, gap 0.9375rem */
    .footer-legal {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 0.9375rem;
        /* 0.9375rem */
    }

    /* Terms / Privacy: Inter 400 0.875rem/1.0625rem #F8FAFC */
    .footer-legal a {
        font-family: "Inter", sans-serif;
        font-weight: 400;
        font-size: 0.875rem;
        /* 0.875rem */
        line-height: 1.2143;
        /* 1.0625rem */
        color: #f8fafc;
        text-decoration: none;
    }

    /* Separator dot (Ellipse 4): 6x6 #4A4F54 */
    .footer-legal span {
        display: inline-block;
        width: 0.375rem;
        /* 0.375rem */
        height: 0.375rem;
        /* 0.375rem */
        background-color: #4a4f54;
        border-radius: 50%;
        font-size: 0;
        line-height: 0;
        vertical-align: middle;
    }
}
