@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");

body {
    transition: opacity ease-in 0.2s;
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    line-height: normal;
    background: #fff;
}

#overlay-load {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    /* or rgba(255,255,255,0.6) for transparent white */
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.8s ease-out;
    pointer-events: none;
}

a {
    text-decoration: none;
    color: black;
}
p {
    text-align: justify;
}
button {
    outline: none;
    border: none;
    background-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
    margin: 0;
    margin-bottom: 0 !important;
}

img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.form-control:focus {
    box-shadow: none !important;
}

:root {
    /* spacing */
    --spacing-1: 4px;
    --spacing-2: 8px;
    --spacing-3: 12px;
    --spacing-4: 16px;
    --spacing-5: 20px;
    --spacing-6: 24px;
    --spacing-7: 28px;
    --spacing-8: 32px;
    --spacing-9: 36px;
    --spacing-10: 40px;
    --spacing-11: 44px;
    --spacing-12: 48px;
    --spacing-13: 52px;
    --spacing-14: 56px;
    --spacing-15: 60px;
    --spacing-16: 64px;
    --spacing-17: 68px;
    --spacing-18: 72px;
    --spacing-19: 76px;
    --spacing-20: 80px;
    --spacing-21: 120px;

    /* font-size */
    --font-size-h1: 48px;
    --font-size-h2: 40px;
    --font-size-h3: 36px;
    --font-size-h4: 32px;
    --font-size-h5: 24px;
    --font-size-h6: 20px;
    --font-size-h7: 16px;

    --font-size-body-lg: 18px;
    --font-size-body-md: 16px;
    --font-size-body-sm: 14px;
    --font-size-body-xs: 12px;

    /* Font Weights */
    --font-weight-regular: 300;
    --font-weight-medium: 500;

    /* Main Colors */
    --secondary-color-1: #121212;
    --secondary-color-2: #ffffff;
    --primary-color: #0052a9;
    --hover-color: #262626;
    --border-color: #0052a969;
    --light-bg: #0052a908;

    /* Accent/Support Colors */
    --color-2: #abc7ff;
    --color-3: #02c9a8;
    --color-4: #b5bfff;
    --color-5: #84e8da;
}

.container {
    margin: 0 auto;
    padding: 0;
    max-width: 1040px;
}

.container-fluid {
    margin: 0 auto;
    max-width: 1920px;
}

.section-spacing1 {
    padding: var(--spacing-20) 0;
}

.section-spacing2 {
    padding: var(--spacing-10) 0;
}

.h1 {
    font-size: var(--font-size-h1);
}

.h2 {
    font-size: var(--font-size-h2);
}

.h3 {
    font-size: var(--font-size-h3);
}

.h4 {
    font-size: var(--font-size-h4);
}

.h5 {
    font-size: var(--font-size-h5);
}

.h6 {
    font-size: var(--font-size-h6);
}

.h7 {
    font-size: var(--font-size-h7);
}

.body-text-lg {
    font-size: var(--font-size-body-lg);
}

.body-text-md {
    font-size: var(--font-size-body-md);
}

.body-text-sm {
    font-size: var(--font-size-body-sm);
}

.body-text-xs {
    font-size: var(--font-size-body-xs);
}

.fw-regular {
    font-weight: var(--font-weight-regular);
}

.fw-medium {
    font-weight: var(--font-weight-medium);
}

.primary-color {
    color: var(--primary-color);
}

.secondary-color1 {
    color: var(--secondary-color-1);
}

.secondary-color2 {
    color: var(--secondary-color-2);
}

.hover-color {
    color: var(--hover-color);
}

.btn {
    display: flex;
    padding: var(--spacing-4) var(--spacing-6);
    justify-content: center;
    align-items: center;
    gap: var(--spacing-2);
    font-size: var(--font-size-body-md);
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    border: none;
    border-radius: var(--spacing-1);
    font-weight: var(--font-weight-regular);
    line-height: normal;
}

.btn.primary-btn {
    color: var(--secondary-color-2);
    background-color: var(--primary-color);
}

.btn.secondary-btn {
    background-color: transparent;
    color: var(--secondary-color-1);
}

.btn.secondary-btn:hover {
    background-color: transparent;
    color: var(--primary-color);
}

.btn.primary-btn:hover {
    background-color: var(--hover-color);
    color: var(--secondary-color-2);
}

.icons {
    width: 20px;
    height: 20px;
}

.pb-40 {
    padding-bottom: var(--spacing-10);
}

.light-bg {
    background-color: var(--light-bg);
}

.primary-bg {
    background-color: var(--primary-color);
}

img.ratio-9-16 {
    aspect-ratio: 9 / 16;
    object-fit: cover;
}

img.ratio-3-4 {
    aspect-ratio: 3 / 4;
    /* Optional: makes the image responsive within its container */
    object-fit: cover;
    /* Optional: ensures the image fills the container without stretching, cropping as necessary */
}

img.ratio-4-3 {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

img.ratio-16-9 {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.card {
    border-radius: 10px;
    border: 1px solid transparent;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}

.mail-linkedin svg {
    pointer-events: none;
}


#breadcrumb {
}

#breadcrumb .breadcrumb-item.active {
    color: var(--primary-color) !important;
}

header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 90px;
    z-index: 1;
}

header .navbar-brand img {
    height: var(--spacing-15);
}

main {
    margin-top: 90px;
}

footer {
    padding: var(--spacing-8) 0;
    border-top: 1px solid var(--border-color);
    background-color: var(--primary-color);
    color: var(--secondary-color-2);
}

header .navbar {
    padding: var(--spacing-4) 0 !important;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--secondary-color-2);
}

header .navbar-nav {
    gap: 24px;
}

header .navbar .nav-link {
    text-align: left;
    font-size: var(--font-size-body-md);
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    font-weight: var(--font-weight-regular);
    color: var(--secondary-color-1);
}

header .navbar .nav-link:hover {
    color: var(--hover-color);
}

header .navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: var(--primary-color) !important;
    font-weight: var(--font-weight-medium);
}

header .navbar-nav .nav-link.active:hover {
    color: var(--hover-color) !important;
    font-weight: var(--font-weight-medium);
}

.h1,
.h3,
.h2,
.h4,
.h5,
.h6,
.h7 {
    color: var(--primary-color);
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.h6,
.h7 {
    letter-spacing: 0.8px;
}

input {
    border-radius: 0px !important;
    height: var(--spacing-12);
}

#statement-section,
#capability-section {
    background-image: url(/Data/bg-img.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#framework-section,
#trust-section,
#journey-section,
#engagement-section,
#blogs-listing {
    background-image: url(/Data/bg-img1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Home */

#hero-section h1,
#hero-section .text {
    padding-bottom: var(--spacing-10);
}

#hero-section .text p {
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-body-md);
    color: var(--hover-color);
}

#hero-section .typewriter {
    font-size: var(--font-size-body-lg);
    color: var(--secondary-color-1);
    font-weight: var(--font-weight-regular);
    padding-bottom: var(--spacing-10);
}

#metrics-section .metrics-cards {
    padding: var(--spacing-5);
    border: 1px solid var(--border-color);
    transition: border-color 0.15s ease-in-out color 0.15s ease-in-out;
    border-radius: 10px;
}

#metrics-section .metrics-cards:hover {
    box-shadow: 1px 1px 13px -1px var(--border-color);
    border: 1px solid var(--border-color);
}

#metrics-section .metrics-cards h3 {
    font-size: var(--font-size-h3);
    color: var(--primary-color);
}

#metrics-section .metrics-cards:hover h3 {
    /* color: var(--secondary-color); */
}

#framework-section img {
    height: 600px;
    background: var(--light-bg);
}

#Testimonials .card {
    padding: var(--spacing-9);
    min-height: 288px;
    border: 1px solid var(--border-color);
}

#Testimonials .card .card-body {
    padding: 0;
}

#Testimonials .card:hover {
    border: 1px solid var(--border-color);
    box-shadow: 1px 1px 13px -1px var(--border-color);
}

#Testimonials .card:hover .comment {
    color: var(--primary-color);
}

#trust-section .trust-logos {
    gap: var(--spacing-20);
}

#trust-section .trust-logos .logo {
    width: fit-content;
    height: 50px;
}

/* About */

#journey-section .part p:not(:last-child) {
    padding-bottom: var(--spacing-5);
}

#experience-section .experiences .count p:not(:last-child),
#experience-section .experiences .count h6 {
    padding-bottom: var(--spacing-2);
}

#experience-section .experiences .count:first-child {
    border-color: var(--hover-color) !important;
    margin-bottom: var(--spacing-10);
}

#experience-section .experiences .count {
    border-left: 2px solid var(--border-color);
    padding-left: var(--spacing-8);
}

#capability-section .capability-cards .card {
    padding: var(--spacing-8);
    height: 100%;
}

#capability-section .capability-cards .card h6 {
    padding-bottom: var(--spacing-3);
}

#capability-section .capability-cards .card:hover {
    border: 1px solid var(--border-color);
}

#capability-section .capability-cards .card:hover h6 {
    color: var(--primary-color);
}

#philosophy-section p:not(:last-child) {
    padding-bottom: var(--spacing-6);
}

/* services */

/* #all-services .services-cards .service-card {
    height: 300px;
    position: relative;
} */

#all-services .services-cards .service-card {
    height: 380px;
    position: relative;
}

/* #all-services .services-cards .service-card img {
  max-width: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  border-radius: 0px;
} */

/* 🔧 FIX: prevent awkward body/head cuts */
#all-services .services-cards .service-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center; /* ⭐ protects faces */
    aspect-ratio: 16 / 9;
    border-radius: 0px;
}

/* 🔧 FIX: space between service images */
#all-services .services-cards .row {
    row-gap: var(--spacing-2);
    --bs-gutter-x: var(--spacing-2);
}

#service-intro h1 {
    padding-bottom: var(--spacing-6);
}

#all-services .services-cards .service-card .overlay-items {
    opacity: 0;
    padding: var(--spacing-8);
    transition: opacity 0.15s ease-in-out;
    top: 0;
}

#all-services .services-cards .service-card .overlay-items h6 {
    padding-bottom: var(--spacing-2);
}

#all-services .services-cards .service-card:hover .overlay-items {
    opacity: 1;
}

#engagement-section .col-md-10 h3,
#engagement-section .col-md-10 h6,
#engagement-section .col-md-10 p:not(:last-child) {
    padding-bottom: var(--spacing-12);
}

#all-services .services-cards #sercard1 .overlay-items {
    background-color: var(--primary-color);
    color: var(--secondary-color-2);
}

#all-services .services-cards #sercard2 .overlay-items {
    background-color: var(--color-2);
}

#all-services .services-cards #sercard3 .overlay-items {
    background-color: var(--color-3);
}

#all-services .services-cards #sercard4 .overlay-items {
    background-color: var(--hover-color);
    color: var(--secondary-color-2);
}

#all-services .services-cards #sercard5 .overlay-items {
    background-color: var(--color-4);
}

#all-services .services-cards #sercard6 .overlay-items {
    background-color: var(--color-5);
}

/* services-internal */

#about-services .about-services p,
#about-services .about-services li:not(:last-child) {
    padding-bottom: var(--spacing-3);
}

#about-services .about-services {
    position: sticky;
    top: 129px;
}

#about-services .services-images img:not(:last-child) {
    padding-bottom: var(--spacing-5);
}

/* Blogs */

#blogs-listing .blogcard {
    display: flex;
    background-color: transparent;
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-6);
    padding: var(--spacing-6);
}

#blogs-listing .blogcard .h5 {
    color: var(--primary-color);
}

#blogs-listing .blogcard p {
    color: var(--hover-color);
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}

#blogs-listing .blogcard:hover .h5 {
    color: var(--primary-color);
}

#blogs-listing .blogcard:hover {
    border: 1px solid var(--border-color);
    background-color: var(--secondary-color-2);
    box-shadow: 1px 1px 13px -1px var(--border-color);
}

#blogs-listing {
    padding: var(--spacing-6) 0;
}

#blogs-listing .blogcard .thumb-blog-img {
    max-width: 320px;
}

#blogs-listing .blogcard:hover h5 {
    color: var(--primary-color);
}

#blogs-listing .blogcard p.blog-subheading {
    padding: var(--spacing-4) 0;
}

#blogs-listing .pagination {
    display: flex;
    padding: var(--spacing-4);
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--border-color);
}

#blogs-listing .pagination .controls {
    display: flex;
    gap: var(--spacing-3);
    align-items: center;
    justify-content: center;
}

/* Blog-Internal */

#Blogsection .blog .blog-header .genre-date {
    padding: var(--spacing-3) 0;
}

#Blogsection .blog .blog-img {
    padding-top: var(--spacing-10);
}

#Blogsection .blog .blog-body .content {
    padding-top: var(--spacing-10);
}

#Blogsection .blog .blog-body .content h4,
#Blogsection .blog .blog-body .content .h7,
#Blogsection .blog .blog-body .content p {
    padding-bottom: var(--spacing-5);
    color: var(--secondary-color-1);
}

#Blogsection .blog .blog-body .content p {
    font-weight: var(--font-weight-regular);
}

#Blogsection .blog .blog-body .content p:last-child,
#Blogsection .blog .blog-body .content div:last-child,
#Blogsection .blog .blog-body .content .h4:last-child,
#Blogsection .blog .blog-body .content .h7:last-child {
    padding-bottom: 0;
}

#Blogsection {
    border-bottom: 1px solid var(--border-color);
}

#Blogsection .blog .blog-body .content .h7 {
    font-weight: bold;
}

#Blogsection .blog-body p.quote {
    font-size: var(--font-size-body-lg);
    font-style: italic;
    padding-left: var(--spacing-5);
    border-left: 1px solid var(--secondary-color-1);
    color: var(--hover-color);
}

/* contact */

section#form {
    padding-bottom: var(--spacing-10);
}

#form #contact-form input,
#form #contact-form button {
    margin-bottom: var(--spacing-8) !important;
}

/* media queries  */
@media (max-width: 992px) {
    .container {
        padding: 0 var(--spacing-5) !important;
    }

    .container-fluid {
        padding: 0 var(--spacing-3);
    }

    .h1 {
        font-size: var(--font-size-h4);
    }

    .h3 {
        font-size: var(--font-size-h5);
    }

    .body-text-lg {
        font-size: var(--font-size-body-md);
    }

    .body-text-md {
        font-size: var(--font-size-body-sm);
    }

    .btn {
        padding: var(--spacing-3) var(--spacing-4);
        font-size: var(--font-size-body-sm);
    }

    header .navbar {
        padding: var(--spacing-6) 0 !important;
    }

    .section-spacing1 {
        padding: var(--spacing-10) 0;
    }

#framework-section img {
    height: 240px;
    background: var(--light-bg);
}
    /* home */
    #hero-section h1,
    #hero-section .text,
    #hero-section .typewriter {
        padding-bottom: var(--spacing-6);
    }

    .hero-section-img {
        /* display: none; */
        padding-top: var(--spacing-10);
    }

    #hero-section .row {
        flex-direction: column-reverse;
    }

    #metrics-section .metrics-cards h3 {
        font-size: var(--font-size-h5);
        color: var(--primary-color);
    }

    #metrics-section .metrics-cards {
        border: 1px solid var(--border-color);
    }

    #Testimonials .card {
        min-height: 238px;
        border: 1px solid var(--border-color);
    }

    #Testimonials h3,
    #trust-section h3 {
        padding-bottom: var(--spacing-5) !important;
    }

    #Testimonials .card .comment {
        color: var(--primary-color);
    }

    #Testimonials .row,
    #trust-section .trust-logos {
        gap: var(--spacing-6);
        --bs-gutter-y: 0;
    }

    footer {
        padding: var(--spacing-5) 0;
    }

    .footer,
    .footer .mail-linkedin {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-3) !important;
        align-self: stretch;
    }

    /* About */
    #intro-section .row {
        flex-direction: column-reverse;
        gap: var(--spacing-6);
    }

    #journey-section .part p:not(:first-child),
    #philosophy-section p {
        font-size: var(--font-size-body-sm) !important;
    }

    #experience-section .experiences .count {
        padding-left: var(--spacing-5);
    }

    #capability-section .capability-cards .card h6 {
        color: var(--primary-color);
    }

    #capability-section .capability-cards .card {
        border: 1px solid var(--border-color);
        padding: var(--spacing-5);
    }

    #capability-section .capability-cards .row {
        gap: var(--spacing-6);
        --bs-gutter-y: 0;
    }

    /* services */
    /* #all-services .services-cards .service-card {
        height: 240px !important;
    } */

    /* 🔧 FIX: avoids face cropping on mobile */
    #all-services .services-cards .service-card {
        height: 260px !important;
    }

    #all-services .services-cards .service-card .overlay-items {
        opacity: 1;
        height: fit-content !important;
        bottom: 0;
        padding: var(--spacing-3);
        top: auto;
    }

    #all-services .services-cards .service-card .overlay-items .h6 {
        font-size: var(--font-size-h7);
    }

    #engagement-section .col-md-10 h6 {
        font-size: var(--font-size-h7);
    }

    #engagement-section .col-md-10 h3,
    #engagement-section .col-md-10 h6,
    #engagement-section .col-md-10 p:not(:last-child) {
        padding-bottom: var(--spacing-6);
    }

    /* services-internal */
    #about-services .about-services {
        padding-bottom: var(--spacing-6);
    }

    /* Blogs */
    #blogs-listing {
        padding: 0;
    }

    #blogs-listing .blogcard {
        flex-direction: column;
        gap: var(--spacing-4);
        padding: var(--spacing-5) 0;
        border-bottom: 1px solid var(--border-color);
    }

    #blogs-listing .blogcard .thumb-blog-img {
        max-width: 100%;
    }

    #blogs-listing .blogcard:hover {
        background-color: transparent;
    }

    #blogs-listing .blogcard .h5 {
        color: var(--primary-color);
        font-size: var(--font-size-h7);
    }

    #blogs-listing .blogcard p.blog-subheading {
        padding: var(--spacing-2) 0;
    }

    #blogs-listing .pagination {
        flex-direction: column;
        gap: 16px;
    }

    /* Blogs Internal */
    #Blogsection .blog .blog-body .content .h4 {
        font-size: var(--font-size-h6);
    }

    #Blogsection .blog .blog-body .content p {
        font-size: var(--font-size-body-sm);
    }

    #Blogsection .blog-body p.quote {
        font-size: var(--font-size-body-md) !important;
        padding-left: var(--spacing-5);
    }
}

@media (max-width: 576px) {
    header .navbar-brand img {
        max-height: 40px;
        width: auto;
    }
}

@media (max-width: 400px) {
    header .navbar-brand img {
        height: 32px;
    }
}
