/* ---------------------         ----------------------- */

/*=============================================*
 * OUR LOCATIONS
 *==============================================*/

.our-locations-section {
    width: 100%;
    background: #fff;
    padding: 20px 80px;
}

.our-locations-container {
    width: min(96%, 2300px);
    margin: 0 auto;
}

/*=============================================*
 * Heading
 *==============================================*/

.our-location-heading {
    text-align: center;
    margin-bottom: 90px;
}

.our-location-heading h2 {
    font-family: "Chillax", sans-serif;
    font-size: 72px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
}

.our-location-heading p {
    font-family: "Chillax", sans-serif;
    font-size: 18px;
    color: #666;
}

/*=============================================*
 * Row
 *==============================================*/

.location-row {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 90px;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 40px
}

/*=============================================*
 * Left
 *==============================================*/

.location-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.country-row {
    display: flex;
    align-items: center;
    gap: 22px;
}

.country-flag {
    width: 92px;
    display: block;
}

.country-row h3 {
    font-family: "Poppins", sans-serif;
    font-size: 60px;
    font-weight: 500;
    color: #222;
    margin: 0;
}

.location-address-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
}

.location-address {
    margin: 0;
    flex: 1;

    font-family: "Poppins", sans-serif;
    font-size: 19px;
    line-height: 1.8;
    color: #555;
}

.google-map-link {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.google-map-link img {
    width: 48px;
    height: 48px;
    display: block;
    transition: transform 0.25s ease;
}

.google-map-link:hover img {
    transform: scale(1.08);
}

/*=============================================*
 * Right
 *==============================================*/

.location-right {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    align-content: center;
}

.contact-card {
    flex: 1 1 calc(50% - 14px);
    min-width: 320px;

    display: flex;
    align-items: center;
    gap: 24px;

    border: 1px solid #d9d9d9;
    background: #fff;
    padding: 28px 32px;
}

.contact-icon {
    width: 58px;
    flex-shrink: 0;
}

.contact-icon img {
    width: 58px;
    display: block;
}

.contact-card>div:last-child {
    flex: 1;
    min-width: 0;
}

.contact-card h4 {
    margin: 0 0 8px;

    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #333;
}

.contact-card p {
    margin: 0;

    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #444;

    overflow-wrap: anywhere;
    word-break: break-word;
}

.location-divider {
    border: 0;
    border-top: 1px solid #ececec;
}


/*=============================================*
 * Tablet
 *==============================================*/

@media (max-width: 992px) {

    .our-locations-section {
        padding: 70px 40px;
    }

    .location-row {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .location-left {
        align-items: center;
        text-align: center;
    }

    .location-address-row {
        justify-content: center;
    }

    .location-right {
        justify-content: center;
    }

    .contact-card {
        flex: 1 1 calc(50% - 14px);
        min-width: 260px;
    }
}

/*=============================================*
 * Mobile
 *==============================================*/

@media (max-width: 768px) {

    .our-locations-section {
        padding: 70px 20px;
    }

    .our-location-heading {
        margin-bottom: 60px;
    }

    .our-location-heading h2 {
        font-size: 42px;
    }

    .our-location-heading p {
        font-size: 16px;
        line-height: 1.8;
    }

    .country-row {
        gap: 16px;
    }

    .country-row h3 {
        font-size: 38px;
    }

    .country-flag {
        width: 64px;
    }

    .location-address-row {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 18px;
    }

    .location-address {
        text-align: center;
    }

    .google-map-link {
        align-self: center;
    }

    .google-map-link img {
        width: 40px;
        height: 40px;
    }

    .location-right {
        flex-direction: column;
        gap: 18px;
    }

    .contact-card {
        min-width: 100%;
        padding: 22px;
    }

    .contact-card h4 {
        font-size: 20px;
    }

    .contact-card p {
        font-size: 16px;
    }
}

/* ---------------------         ---------------------- */

/* ==========================
   ABOUT US BANNER
========================== */

.about-us-banner-section {
    position: relative;
    width: 100%;
    min-height: 700px;
    background-image: url('/assets/images/about-us-banner.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 120px 20px 80px;
    z-index: 1;
    background-position: bottom;
}

.about-us-corner-img {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    width: 280px;
    animation: float-corner 8s ease-in-out infinite;
}

.about-us-corner-img.top-right {
    top: 0;
    right: -160px;
}

.about-watermark-section {
    position: relative;
    width: 100%;
    background: #fff;

    display: flex;
    justify-content: center;
    align-items: center;

    padding-top: 40px;
    padding-bottom: 0;
    /* No gap below */
    overflow: visible;
    /* Prevent clipping */
}

.about-us-watermark {
    font-size: clamp(120px, 18vw, 260px);
    font-weight: 800;
    line-height: 0.8;
    /* Reduces empty space */
    color: rgba(0, 0, 0, 0.04);
    white-space: nowrap;
    margin: 0;
}

.about-image-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #fff;

    min-height: 100svh;
    /* Better than 100vh on modern mobile browsers */
    padding: 60px 0;
}

.about-image {
    width: min(75vw, 1100px);
    max-width: 1100px;
    height: auto;
    display: block;

    border-radius: 55px;
    transform-origin: center;
    will-change: transform;
}

@media (min-width: 1600px) {
    .about-image {
        width: min(70vw, 1300px);
    }
}

@media (max-width: 1200px) {
    .about-image {
        width: 82%;
        border-radius: 40px;
    }
}

@media (max-width: 992px) {
    .about-watermark-section {
        padding-top: 20px;
    }

    .about-image-section {
        min-height: 80svh;
    }

    .about-image {
        width: 90%;
        border-radius: 30px;
    }
}

@media (max-width: 768px) {
    .about-watermark-section {
        padding-top: 10px;
    }

    .about-us-watermark {
        font-size: clamp(70px, 18vw, 120px);
        line-height: 0.9;
    }

    .about-image-section {
        min-height: 65svh;
        padding: 30px 0;
    }

    .about-image {
        width: 94%;
        border-radius: 20px;
    }
}

@media (max-width: 480px) {
    .about-image-section {
        min-height: 55svh;
    }

    .about-image {
        width: 96%;
        border-radius: 16px;
    }

}

/*==================================================
  BUSINESS SECTION
==================================================*/

.business-section {
    position: relative;
    background: #050505;
    color: #fff;
    overflow: hidden;
    margin-top: -2px;
}

.business-container {
    width: min(92%, 1400px);
    margin: 0 auto;

    display: flex;
    justify-content: space-between;

    height: 100vh;
}

/*==================================================
  LEFT
==================================================*/

.business-left {
    width: 42%;
    height: 100vh;

    position: relative;

    display: flex;
    align-items: center;
    padding-top: 8%;
}

.business-left-content {
    max-width: 520px;
}

.business-subtitle {
    display: inline-block;

    color: #ff7900;

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 20px;
}

.business-title {
    font-size: clamp(48px, 5vw, 74px);

    line-height: 1.05;

    margin-bottom: 25px;

    font-weight: 700;
}

.business-description {
    color: rgba(255, 255, 255, .72);

    line-height: 1.9;

    font-size: 16px;

    margin-bottom: 45px;
}

.business-main-image {
    width: 440px;

    display: block;
}

/*==================================================
  RIGHT
==================================================*/

.business-right {
    width: 58%;

    height: 100vh;

    position: relative;

    overflow: hidden;

    display: flex;

    justify-content: center;

    align-items: center;
}

/*==================================================
  CARD TRACK
==================================================*/

.cards-track {
    position: relative;

    width: min(600px, 100%);

    height: 100%;
}

/*==================================================
  CARD
==================================================*/

.business-card {

    position: absolute;

    top: 50%;

    left: 50%;

    width: min(100%, 600px);

    min-height: 560px;
    padding: 42px;

    transform: translate(-50%, -50%);

    background: #3B3B3B;

    border-radius: 28px;

    display: flex;

    flex-direction: column;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .45);

    will-change: transform, opacity;
    backface-visibility: hidden;

    border: 1px solid rgba(255, 255, 255, .08);
}

.card-top {
    margin-bottom: 25px;
}

.business-card h3 {

    font-size: 30px;

    font-weight: 700;

    margin-bottom: 15px;
}

.business-card p {

    color: rgba(255, 255, 255, .72);

    line-height: 1.8;

    font-size: 15px;
}

/*==================================================
  GRID
==================================================*/
.tech-grid-wrapper {
    margin-top: auto;
    background: #696969;
    border-radius: 28px;
    padding: clamp(16px, 2vw, 28px);
}

.tech-grid {
    display: grid;

    /* Always 5 columns but responsive */
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: clamp(12px, 1.5vw, 22px);
}

.tech-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.tech-icon {
    width: 100%;
    aspect-ratio: 1;

    max-width: 80px;

    border-radius: 16px;
    background: #050505;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 10px;
}

.tech-icon img {
    width: 60%;
    height: 60%;
    mix-blend-mode: lighten;
    object-fit: contain;
}

.tech-item span {
    color: #fff;
    font-size: clamp(11px, 0.9vw, 15px);
    font-weight: 500;
    line-height: 1.3;
}

/*==================================================
  IMAGE
==================================================*/

.card-image-wrapper {
    margin-top: auto;

    display: flex;
    justify-content: center;
    align-items: center;

    flex: 1;
}

.card-image-wrapper img {
    width: min(320px, 90%);
    max-height: 260px;
    object-fit: contain;
    display: block;
}


/*==================================================
  LAPTOP
==================================================*/

@media (max-width:1200px) {

    .business-container {
        gap: 60px;
    }

    .business-left {
        width: 40%;
    }

    .business-right {
        width: 60%;
    }

    .business-title {
        font-size: 52px;
    }

    .business-card {
        min-height: 330px;
        padding: 28px;
    }

    .cards-track {
        width: 400px;
    }

    .business-main-image {
        width: 260px;
    }

}

/*==================================================
  TABLET
==================================================*/

@media (max-width:991px) {

    .business-section {

        padding: 80px 0;
    }

    .business-container {

        display: block;

        height: auto;
    }

    .business-left {

        width: 100%;

        height: auto;

        margin-bottom: 60px;
    }

    .business-left-content {

        max-width: 700px;
    }

    .business-title {

        font-size: 48px;
    }

    .business-description {

        max-width: 650px;
    }

    .business-main-image {

        width: 260px;

        margin-top: 30px;
    }

    .business-right {

        width: 100%;

        height: auto;

        overflow: visible;
    }

    /* ---------- Horizontal Scroll ---------- */

    .cards-track {

        position: relative;

        display: flex;

        gap: 24px;

        width: 100%;

        height: auto;

        overflow-x: auto;

        overflow-y: hidden;

        scroll-snap-type: x mandatory;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 12px;

    }

    .cards-track::-webkit-scrollbar {
        display: none;
    }

    .business-card {

        position: relative;

        top: auto;

        left: auto;

        transform: none !important;

        opacity: 1 !important;

        flex: 0 0 420px;

        min-height: 320px;

        scroll-snap-align: center;
    }

}

/*==================================================
  MOBILE
==================================================*/

@media (max-width:768px) {

    .business-section {

        padding: 70px 0;
    }

    .business-title {

        font-size: 40px;
    }

    .business-subtitle {

        font-size: 13px;
    }

    .business-description {

        font-size: 15px;

        line-height: 1.8;
    }

    .business-main-image {

        width: 220px;
    }

    .business-card {

        flex: 0 0 88%;

        min-height: 300px;

        border-radius: 22px;

        padding: 22px;
    }

    .business-card h3 {

        font-size: 24px;
    }

    .business-card p {

        font-size: 14px;
    }

    .tech-grid {
        gap: 8px;
    }

    .tech-icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .tech-icon img {
        width: 60%;
        height: 60%;
    }

    .tech-item span {
        font-size: 8px;
        line-height: 1.2;
    }

    .card-image-wrapper img {

        width: 140px;
    }

}

/*==================================================
  SMALL MOBILE
==================================================*/

@media (max-width:480px) {

    .business-section {

        padding: 60px 0;
    }

    .business-title {

        font-size: 34px;
    }

    .business-description {

        font-size: 14px;
    }

    .business-card {

        flex: 0 0 94%;

        min-height: 280px;

        padding: 20px;
    }

    .business-card h3 {

        font-size: 22px;
    }

    .business-main-image {

        width: 180px;
    }

    .card-image-wrapper img {

        width: 120px;
    }

    .tech-grid {

        grid-template-columns: repeat(5, 1fr);
    }

}

@media (hover:hover) {

    .business-card {

        transition:
            transform .45s,
            box-shadow .45s;
    }

    .business-card:hover {

        box-shadow:
            0 30px 80px rgba(0, 0, 0, .55);

    }

    .tech-icon {

        transition: transform .35s;
    }

    .tech-item:hover .tech-icon {

        transform: translateY(-6px);
    }

}

/*==================================================*
 * INNOVATION SECTION
 *==================================================*/

.innovation-section {
    width: 100%;
    background: #fff;
    padding: 100px 0;
}

.innovation-container {
    width: min(92%, 1400px);
    margin: 0 auto;
}

/*==================================================*
 * HEADING
 *==================================================*/

.innovation-heading {
    margin-bottom: 55px;
}

.innovation-heading span {
    display: block;
    font-size: 28px;
    font-weight: 300;
    color: #555;
    margin-bottom: 8px;
}

.innovation-heading h2 {
    font-size: clamp(44px, 4vw, 52px);
    line-height: 1.05;
    font-weight: 700;
    color: #111;
}

/*==================================================*
 * CONTENT
 *==================================================*/

.innovation-content {
    display: flex;
    align-items: stretch;
    gap: 22px;
}

/*==================================================*
 * LEFT IMAGE AREA
 *==================================================*/

.innovation-images {
    width: 50%;
    display: flex;
    gap: 14px;
}

.innovation-image-large {
    flex: 1.25;
}

.innovation-image-small {
    flex: .9;
}

.innovation-image-large img,
.innovation-image-small img {
    width: 100%;
    height: 430px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

/*==================================================*
 * RIGHT CARD
 *==================================================*/

.innovation-card {
    width: 50%;
    background: #f5f5f5;
    border-radius: 18px;

    padding: 38px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.innovation-card h3 {
    font-size: 17px;
    font-weight: 600;
    color: #111;
    margin-bottom: 18px;
    line-height: 1.5;
}

.innovation-card p {
    font-size: 14px;
    line-height: 1.9;
    color: #666;
    margin-bottom: 16px;
}

.innovation-card p:last-child {
    margin-bottom: 0;
}

/*==================================================*
 * LARGE DESKTOP
 *==================================================*/

@media (max-width:1400px) {

    .innovation-container {
        width: 95%;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 390px;
    }

    .innovation-card {
        padding: 34px;
    }

}

/*==================================================*
 * LAPTOP
 *==================================================*/

@media (max-width:1200px) {

    .innovation-heading h2 {
        font-size: 58px;
    }

    .innovation-content {
        gap: 18px;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 340px;
    }

    .innovation-card {
        padding: 28px;
    }

    .innovation-card h3 {
        font-size: 16px;
    }

    .innovation-card p {
        font-size: 12px;
    }

}

/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width:991px) {

    .innovation-section {
        padding: 80px 0;
    }

    .innovation-heading {
        margin-bottom: 40px;
    }

    .innovation-heading span {
        font-size: 22px;
    }

    .innovation-heading h2 {
        font-size: 48px;
    }

    .innovation-content {
        flex-direction: column;
    }

    .innovation-images,
    .innovation-card {
        width: 100%;
    }

    .innovation-images {
        gap: 16px;
    }

    .innovation-image-large {
        flex: 1.2;
    }

    .innovation-image-small {
        flex: .8;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 340px;
    }

    .innovation-card {
        padding: 30px;
    }

    .innovation-card h3 {
        font-size: 18px;
    }

    .innovation-card p {
        font-size: 14px;
    }

}

/*==================================================*
 * MOBILE
 *==================================================*/

@media (max-width:768px) {

    .innovation-section {
        padding: 70px 0;
    }

    .innovation-heading span {
        font-size: 20px;
    }

    .innovation-heading h2 {
        font-size: 38px;
    }

    .innovation-images {
        flex-direction: column;
    }

    .innovation-image-large,
    .innovation-image-small {
        flex: none;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 260px;
    }

    .innovation-card {
        width: 100%;
        padding: 24px;
        border-radius: 16px;
    }

    .innovation-card h3 {
        font-size: 17px;
    }

    .innovation-card p {
        font-size: 14px;
        line-height: 1.8;
    }

}

/*==================================================*
 * SMALL MOBILE
 *==================================================*/

@media (max-width:480px) {

    .innovation-section {
        padding: 60px 0;
    }

    .innovation-heading span {
        font-size: 18px;
    }

    .innovation-heading h2 {
        font-size: 32px;
    }

    .innovation-images {
        gap: 14px;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 220px;
        border-radius: 14px;
    }

    .innovation-card {
        padding: 20px;
        border-radius: 14px;
    }

    .innovation-card h3 {
        font-size: 16px;
        margin-bottom: 14px;
    }

    .innovation-card p {
        font-size: 13px;
        line-height: 1.75;
    }

}

/*==================================================*
 * MISSION SECTION
 *==================================================*/

.mission-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    padding: 90px 0px;
}

.mission-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mission-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.08);
}

.mission-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*==================================================*
 * CARDS WRAPPER
 *==================================================*/
/* 
.mission-cards {
    width: min(1700px, 95%);
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 42px;
} */

.mission-cards {
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 48px;
    box-sizing: border-box;

    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 32px;
}

/*==================================================*
 * CARD
 *==================================================*/

.mission-card {
    position: relative;
    flex: 1 1 0;
    max-width: 510px;
    min-width: 340px;
    width: 100%;
    min-height: 540px;
    padding: 70px 52px 55px;
    display: flex;
    flex-direction: column;
    border-radius: 34px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.68);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
    border: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow:
        0 10px 35px rgba(0, 0, 0, 0.06),
        0 25px 80px rgba(0, 0, 0, 0.08);
    transition: transform .45s ease, box-shadow .45s ease, background .45s ease;
    will-change: transform;
}

.mission-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.25),
            rgba(255, 255, 255, 0.05));
    pointer-events: none;
}

.mission-card::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -35%;
    width: 45%;
    height: 220%;
    transform: rotate(18deg);
    background: linear-gradient(to right,
            transparent,
            rgba(255, 255, 255, 0.22),
            transparent);
    opacity: .4;
}

/*==================================================*
 * HOVER
 *==================================================*/

.mission-card:hover {
    transform: translateY(-12px);
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(255, 255, 255, 0.65);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.08),
        0 35px 90px rgba(0, 0, 0, 0.12);
}

/*==================================================*
 * ICON
 *==================================================*/

.mission-icon {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 52px;
    flex-shrink: 0;
}

.mission-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/*==================================================*
 * TITLE
 *==================================================*/

.mission-card h3 {
    margin: 0 0 34px;
    font-size: 58px;
    line-height: 1.05;
    letter-spacing: -1px;
    color: #202020;
    font-weight: 700;
}

.mission-card h3 .light {
    font-weight: 300;
    margin-right: 12px;
}

/*==================================================*
 * DESCRIPTION
 *==================================================*/

.mission-card p {
    margin: 0;
    font-size: 20px;
    line-height: 1.75;
    color: #454545;
    font-weight: 400;
    max-width: 100%;
}

/*==================================================*
 * OPTIONAL GLASS GLOW
 *==================================================*/

.mission-card .glass-circle {
    position: absolute;
    right: -80px;
    top: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(rgba(255, 255, 255, 0.22),
            transparent 70%);
    pointer-events: none;
}


/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width: 991px) {
    .mission-section {
        height: 100vh;
        padding: 90px 0;
    }

    .mission-overlay {
        position: relative;
    }

    .mission-cards {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 20px;
        gap: 20px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .mission-cards::-webkit-scrollbar {
        display: none;
    }

    .mission-card {
        flex: 0 0 400px;
        width: 400px;
        min-height: 470px;
        padding: 48px 36px;
        scroll-snap-align: center;
        transform: none !important;
        opacity: 1 !important;
    }

    .mission-icon {
        width: 72px;
        height: 72px;
        margin-bottom: 36px;
    }

    .mission-card h3 {
        font-size: 42px;
    }

    .mission-card p {
        font-size: 17px;
    }
}

/*==================================================*
 * MOBILE
 *==================================================*/

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

    .mission-card {
        flex: 0 0 90%;
        width: auto;
        min-height: 420px;
        padding: 40px 30px;
        border-radius: 28px;
    }

    .mission-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 30px;
    }

    .mission-card h3 {
        font-size: 36px;
        margin-bottom: 22px;
    }

    .mission-card p {
        font-size: 16px;
        line-height: 1.7;
    }
}

/*==================================================*
 * SMALL MOBILE
 *==================================================*/

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

    .mission-cards {
        padding: 0 16px;
        gap: 16px;
    }

    .mission-card {
        flex: 0 0 92%;
        min-height: 380px;
        padding: 28px 22px;
        border-radius: 24px;
    }

    .mission-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 24px;
    }

    .mission-card h3 {
        font-size: 30px;
        margin-bottom: 18px;
    }

    .mission-card p {
        font-size: 15px;
        line-height: 1.65;
    }
}

/*=============================================*
*CONTACT HERO*
*==============================================*/

.contact-banner {
    position: relative;
    width: 100%;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background-image: url('/assets/images/contact-us-banner.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-banner-content {
    width: 100%;
    max-width: 760px;
    z-index: 2;
}

.contact-banner-content h1 {
    margin-bottom: 24px;
    font-family: "Chillax", sans-serif;
    font-size: clamp(32px, 5vw, 60px);
    font-weight: 700;
    line-height: 1.1;
    color: #181818;
}

.contact-banner-content h1 span {
    background: linear-gradient(90deg, #F26822 0%, #F8B23C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.contact-banner-content p {
    max-width: 620px;
    margin: 0 auto;
    font-family: "Poppins", sans-serif;
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.8;
    /* color: #666; */
}

/*=============================================*
*BOTTOM WATERMARK*
*==============================================*/

.contact-watermark-section {
    position: relative;
    margin-top: -70px;
    background: #fff;
    height: 160px;
    overflow: hidden;
}

.contact-watermark-section h2 {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    white-space: nowrap;
    font-family: "Chillax", sans-serif;
    font-size: 170px;
    line-height: 1;
    font-weight: 700;
    color: #ECECEC;
    letter-spacing: 3px;
    user-select: none;
    pointer-events: none;
}

/*=============================================*
*LAPTOP*
*==============================================*/

@media (max-width: 1400px) {
    .contact-banner-content h1 {
        font-size: 70px;
    }

    .contact-banner-content p {
        font-size: 22px;
    }

    .contact-watermark-section h2 {
        font-size: 150px;
    }
}

/*=============================================*
*TABLET*
*==============================================*/

@media (max-width: 992px) {
    .contact-banner {
        height: 620px;
    }

    .contact-banner-content {
        padding: 0 20px;
    }

    .contact-banner-content h1 {
        font-size: 58px;
    }

    .contact-banner-content p {
        font-size: 20px;
    }

    .contact-watermark-section {
        height: 120px;
    }

    .contact-watermark-section h2 {
        font-size: 95px;
    }
}

/*=============================================*
*MOBILE*
*==============================================*/

@media (max-width: 767px) {
    .contact-banner {
        height: 480px;
    }

    .contact-banner-content h1 {
        font-size: 42px;
    }

    .contact-banner-content p {
        font-size: 16px;
        line-height: 1.7;
    }

    .scroll-circle {
        display: none;
    }

    .contact-watermark-section {
        height: 150px;
        margin-top: -30px;
    }

    .contact-watermark-section h2 {
        font-size: 38px;
        top: 35px;
    }
}

/*=============================================*
 * CONTACT FORM
 *=============================================*/

.contact-form-section {
    width: 100%;
    min-height: calc(100vh - 110px);
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: clamp(40px, 5vh, 70px) clamp(20px, 2vw, 30px); */
    padding: 20px;
    background: #ffffff;
    /* width: min(96%, 2300px); */
    /* margin: 0 auto; */
}

.contact-form-wrapper {
    width: 100%;
    max-width: 1550px;
    background: #f8f8f8;
    border-radius: 26px;
    padding: clamp(28px, 2.6vw, 44px) 0px;
    display: grid;
    grid-template-columns: 1fr 0.95fr;
    gap: clamp(40px, 5vw, 90px);
    position: relative;
    overflow: hidden;
}

/*==========================
LEFT
==========================*/

.contact-form-left {
    display: flex;
    flex-direction: column;
    padding: 0 40px;
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 8px 18px;
    border: 1px solid #d7d7d7;
    border-radius: 999px;
    background: #fff;
    margin-bottom: 28px;
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.78rem, 0.7vw, 0.92rem);
}

.contact-badge img {
    width: 18px;
    height: 18px;
}

.contact-title {
    font-family: "Chillax", sans-serif;
    font-size: clamp(2.7rem, 3.2vw, 4rem);
    font-weight: 700;
    line-height: 1.02;
    color: #343434;
    margin-bottom: 24px;
}

.contact-description {
    max-width: 470px;
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.95rem, 0.95vw, 1.08rem);
    line-height: 1.75;
    color: #6c6c6c;
    margin-bottom: 24px;
}

/*==========================
Office Cards
==========================*/

.office-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 12px;
}

.office-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #ececec;
}

.office-row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.office-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ff6b1a;
    /* Orange background */
    display: flex;
    align-items: center;
    justify-content: center;
}

.office-icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.office-title {
    font-family: "Chillax", sans-serif;
    font-size: clamp(1rem, 1vw, 1.12rem);
    font-weight: 700;
    color: #303030;
    margin-bottom: 4px;
}

.office-address {
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.84rem, 0.82vw, 0.95rem);
    line-height: 1.55;
    color: #666;
}

.office-phone {
    display: flex;
    gap: 16px;
    margin-top: 18px;
    align-items: center;
}

.office-phone span {
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.88rem, 0.88vw, 1rem);
    font-weight: 600;
}

/*==========================
Bottom Cards
==========================*/

.bottom-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.info-card {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #ececec;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.info-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.info-left img {
    width: 42px;
}

.info-title {
    font-family: "Chillax", sans-serif;
    font-size: clamp(1rem, 1vw, 1.1rem);
    font-weight: 600;
    color: #222;
}

.info-subtitle {
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.82rem, 0.82vw, 0.92rem);
    color: #666;
    margin-top: 2px;
}

.download-icon {
    width: 18px;
    cursor: pointer;
}

/*==========================
RIGHT
==========================*/

.contact-form-right {
    display: flex;
    flex-direction: column;
    padding: clamp(28px, 2.6vw, 52px) 40px;
}

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

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

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

.form-group label {
    margin-bottom: 8px;
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.95rem, 0.95vw, 1.05rem);
    color: #3c3c3c;
}

.form-group input,
.form-group textarea {
    width: 100%;
    border: 1px solid #cfcfcf;
    border-radius: 14px;
    padding: 14px 18px;
    font-family: "Chillax", sans-serif;
    font-size: clamp(0.9rem, 0.9vw, 1rem);
    outline: none;
    transition: .25s;
    background: #fff;
}

.form-group input {
    height: 56px;
}

.form-group textarea {
    resize: none;
    height: 190px;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #ff6b1a;
}

/*==========================
Button
==========================*/


.contact-form-submit-btn {
    height: 60px;
    padding: 0px 8px 0 32px;
    border: 1px solid #d8d8d8;
    border-radius: 40px;
    background: #fff;
    color: #111;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    font-size: 18px;
}

.contact-form-submit-btn-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ff7900;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.office-cards,
.bottom-info {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.office-card,
.info-card {
    flex: 1 1 calc(50% - 9px);
    min-width: 320px;
}

/* Tablet */
@media (max-width: 1200px) {

    .contact-form-wrapper {
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 30px;
    }

    .office-card,
    .info-card {
        flex: 1 1 calc(50% - 9px);
    }
}

/* Mobile */
@media (max-width: 425px) {

    .contact-form-section {
        min-height: auto;
        padding: 20px 16px;
    }

    .contact-form-wrapper {
        padding: 24px;
        border-radius: 20px;
    }

    .contact-form-left,
    .contact-form-right {
        padding: 0;
    }

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

    .office-card,
    .info-card {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .contact-submit-btn {
        width: 100%;
        justify-content: space-between;
    }
}

/* Contact form specific input wrapper */

.contact-input input,
.contact-input textarea {
    padding-block: 18px;
    /* Increase top & bottom padding */
}

.contact-input input {
    height: 64px;

}

.contact-input textarea {
    min-height: 220px;
    padding-top: 18px;
    padding-bottom: 18px;
}

.contact-form-download {
    cursor: pointer;
}

/*=============================================
OUR LOCATIONS
==============================================*/

.our-locations-section {
    width: 100%;
    background: #fff;
    padding: 20px 80px;
}

/* .our-locations-container {
    /* width: 100%;
    max-width: 1600px; */
/* margin: auto; */
/* padding: 0 0px; 

} */

/*=============================================
Heading
==============================================*/

.our-location-heading {
    text-align: center;
    margin-bottom: 20px;
}

.our-location-heading h2 {
    font-family: "Chillax", sans-serif;
    font-size: 72px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
}

.our-location-heading p {
    font-family: "Chillax", sans-serif;
    font-size: 18px;
    color: #666;
}

/*=============================================
Row
==============================================*/

/* .location-row {
    display: grid;
    grid-template-columns: 620px 1fr;
    gap: 90px;
    align-items: start;
    margin-bottom: 20px;
    margin-top: 20px;
} */

/*=============================================
Left
==============================================*/

.location-image {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 */
    overflow: hidden;
    background: #f5f5f5;
}

.location-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.country-row {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 40px;
}

.country-flag {
    width: 92px;
}

.country-row h3 {
    font-family: "Poppins", sans-serif;
    font-size: 60px;
    font-weight: 500;
    color: #222;
}

.location-address-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-top: 22px;
}

.location-address {
    margin: 0;
    flex: 1;

    font-family: "Poppins", sans-serif;
    font-size: 19px;
    line-height: 1.8;
    color: #555;
}

.google-map-link {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.google-map-link img {
    width: 48px;
    /* Adjust as needed */
    height: 48px;
    display: block;
    transition: transform 0.25s ease;
}

.google-map-link:hover img {
    transform: scale(1.08);
}

/*=============================================*
*Right*
*==============================================*/

.location-right {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    align-content: flex-start;
    padding-top: 110px;
}

.contact-card {
    flex: 1 1 calc(50% - 14px);
    min-width: 320px;

    display: flex;
    align-items: center;
    gap: 24px;

    border: 1px solid #d9d9d9;
    background: #fff;
    padding: 28px 32px;
}

.contact-icon {
    width: 58px;
    flex-shrink: 0;
}

.contact-icon img {
    width: 58px;
    display: block;
}

.contact-card>div:last-child {
    flex: 1;
    min-width: 0;
}

.contact-card h4 {
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px;
}

.contact-card p {
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #444;
    margin: 0;

    overflow-wrap: anywhere;
    word-break: break-word;
}

/*=============================================
Laptop
==============================================*/

@media(max-width:1400px) {

    .location-row {
        grid-template-columns: 460px 1fr;
        gap: 60px;
    }

    .country-row h3 {
        font-size: 48px;
    }

    .location-right {
        padding-top: 60px;
    }

}

/*=============================================
Tablet
==============================================*/

@media(max-width:992px) {

    .our-locations-container {
        padding: 0 40px;
    }

    .location-row {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .location-right {
        padding-top: 0;
    }

    .contact-card {
        flex: 1 1 calc(50% - 14px);
        min-width: 260px;
    }

}

/*=============================================
Mobile
==============================================*/

@media(max-width:768px) {

    .location-address-row {
        gap: 16px;
    }

    .location-address {
        font-size: 16px;
    }

    .google-map-link img {
        width: 40px;
        height: 40px;
    }

    .our-locations-section {
        padding: 70px 0;
    }

    .our-locations-container {
        padding: 0 20px;
    }


    .our-location-heading h2 {
        font-size: 42px;
    }

    .our-location-heading p {
        font-size: 16px;
        line-height: 1.8;
    }

    .country-row {
        margin-top: 28px;
    }

    .country-row h3 {
        font-size: 38px;
    }

    .country-flag {
        width: 64px;
    }

    .location-address {
        font-size: 16px;
    }

    .location-right {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .contact-card {
        flex: 1 1 100%;
        min-width: 100%;
        padding: 22px;
    }

    .contact-card h4 {
        font-size: 20px;
    }

    .contact-card p {
        font-size: 16px;
    }

    .google-map-link {
        font-size: 17px;
    }

}

.our-locations-container {
    width: min(96%, 2300px);
    margin: 0 auto;
}

/* ---------------------         ---------------------- */

/* ==========================
   ABOUT US BANNER
========================== */

.about-us-banner-section {
    position: relative;
    width: 100%;
    min-height: 700px;
    background-image: url('/assets/images/about-us-banner.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 120px 20px 80px;
    z-index: 1;
    background-position: bottom;
}

.about-us-corner-img {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    width: 280px;
    animation: float-corner 8s ease-in-out infinite;
}

.about-us-corner-img.top-right {
    top: 0;
    right: -160px;
}

.about-watermark-section {
    position: relative;
    width: 100%;
    background: #fff;

    display: flex;
    justify-content: center;
    align-items: center;

    padding-top: 40px;
    padding-bottom: 0;
    /* No gap below */
    overflow: visible;
    /* Prevent clipping */
}

.about-us-watermark {
    font-size: clamp(120px, 18vw, 260px);
    font-weight: 800;
    line-height: 0.8;
    /* Reduces empty space */
    color: rgba(0, 0, 0, 0.04);
    white-space: nowrap;
    margin: 0;
}

.about-image-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #fff;

    min-height: 100svh;
    /* Better than 100vh on modern mobile browsers */
    padding: 60px 0;
}

.about-image {
    width: min(75vw, 1100px);
    max-width: 1100px;
    height: auto;
    display: block;

    border-radius: 55px;
    transform-origin: center;
    will-change: transform;
}

@media (min-width: 1600px) {
    .about-image {
        width: min(70vw, 1300px);
    }
}

@media (max-width: 1200px) {
    .about-image {
        width: 82%;
        border-radius: 40px;
    }
}

@media (max-width: 992px) {
    .about-watermark-section {
        padding-top: 20px;
    }

    .about-image-section {
        min-height: 80svh;
    }

    .about-image {
        width: 90%;
        border-radius: 30px;
    }
}

@media (max-width: 768px) {
    .about-watermark-section {
        padding-top: 10px;
    }

    .about-us-watermark {
        font-size: clamp(70px, 18vw, 120px);
        line-height: 0.9;
    }

    .about-image-section {
        min-height: 65svh;
        padding: 30px 0;
    }

    .about-image {
        width: 94%;
        border-radius: 20px;
    }
}

@media (max-width: 480px) {
    .about-image-section {
        min-height: 55svh;
    }

    .about-image {
        width: 96%;
        border-radius: 16px;
    }
}

/*==================================================
  BUSINESS SECTION
==================================================*/

.business-section {
    position: relative;
    background: #050505;
    color: #fff;
    overflow: hidden;
    margin-top: -2px;
}

.business-container {
    width: min(92%, 1400px);
    margin: 0 auto;

    display: flex;
    justify-content: space-between;

    height: 100vh;
}

/*==================================================
  LEFT
==================================================*/

.business-left {
    width: 42%;
    height: 100vh;

    position: relative;

    display: flex;
    align-items: center;
}

.business-left-content {
    max-width: 520px;
}

.business-subtitle {
    display: inline-block;

    color: #ff7900;

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 20px;
}

.business-title {
    font-size: clamp(48px, 5vw, 74px);

    line-height: 1.05;

    margin-bottom: 25px;

    font-weight: 700;
}

.business-description {
    color: rgba(255, 255, 255, .72);

    line-height: 1.9;

    font-size: 16px;

    margin-bottom: 45px;
}

.business-main-image {
    width: 340px;

    display: block;
}

/*==================================================
  RIGHT
==================================================*/

.business-right {
    width: 58%;

    height: 100vh;

    position: relative;

    overflow: hidden;

    display: flex;

    justify-content: center;

    align-items: center;
}

/*==================================================
  CARD TRACK
==================================================*/

.cards-track {
    position: relative;

    width: min(600px, 100%);

    height: 100%;
}

/*==================================================
  CARD
==================================================*/

.business-card {

    position: absolute;

    top: 50%;

    left: 50%;

    width: min(100%, 600px);

    min-height: 560px;
    padding: 42px;

    transform: translate(-50%, -50%);

    background: #3B3B3B;

    border-radius: 28px;

    display: flex;

    flex-direction: column;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .45);

    will-change: transform, opacity;
    backface-visibility: hidden;

    border: 1px solid rgba(255, 255, 255, .08);
}

.card-top {
    margin-bottom: 25px;
}

.business-card h3 {

    font-size: 30px;

    font-weight: 700;

    margin-bottom: 15px;
}

.business-card p {

    color: rgba(255, 255, 255, .72);

    line-height: 1.8;

    font-size: 15px;
}

/*==================================================
  GRID
==================================================*/
.tech-grid-wrapper {
    margin-top: auto;
    background: #696969;
    border-radius: 28px;
    padding: clamp(16px, 2vw, 28px);
}

.tech-grid {
    display: grid;

    /* Always 5 columns but responsive */
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: clamp(12px, 1.5vw, 22px);
}

.tech-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.tech-icon {
    width: 100%;
    aspect-ratio: 1;

    max-width: 80px;

    border-radius: 16px;
    background: #050505;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 10px;
}

.tech-icon img {
    width: 60%;
    height: 60%;
    mix-blend-mode: lighten;
    object-fit: contain;
}

.tech-item span {
    color: #fff;
    font-size: clamp(11px, 0.9vw, 15px);
    font-weight: 500;
    line-height: 1.3;
}

/*==================================================
  IMAGE
==================================================*/

.card-image-wrapper {
    margin-top: auto;

    display: flex;
    justify-content: center;
    align-items: center;

    flex: 1;
}

.card-image-wrapper img {
    width: min(320px, 90%);
    max-height: 260px;
    object-fit: contain;
    display: block;
}

/*==================================================
  LARGE LAPTOP
==================================================*/

@media (max-width:1400px) {

    .business-container {
        width: 95%;
    }

    .business-title {
        font-size: 60px;
    }

    .cards-track {
        width: 430px;
    }

    .business-main-image {
        width: 300px;
    }

}

/*==================================================
  LAPTOP
==================================================*/

@media (max-width:1200px) {

    .business-container {
        gap: 60px;
    }

    .business-left {
        width: 40%;
    }

    .business-right {
        width: 60%;
    }

    .business-title {
        font-size: 52px;
    }

    .business-card {
        min-height: 330px;
        padding: 28px;
    }

    .cards-track {
        width: 400px;
    }

    .business-main-image {
        width: 260px;
    }

}

/*==================================================
  TABLET
==================================================*/

@media (max-width:991px) {

    .business-section {

        padding: 80px 0;
    }

    .business-container {

        display: block;

        height: auto;
    }

    .business-left {

        width: 100%;

        height: auto;

        margin-bottom: 60px;
    }

    .business-left-content {

        max-width: 700px;
    }

    .business-title {

        font-size: 48px;
    }

    .business-description {

        max-width: 650px;
    }

    .business-main-image {

        width: 260px;

        margin-top: 30px;
    }

    .business-right {

        width: 100%;

        height: auto;

        overflow: visible;
    }

    /* ---------- Horizontal Scroll ---------- */

    .cards-track {

        position: relative;

        display: flex;

        gap: 24px;

        width: 100%;

        height: auto;

        overflow-x: auto;

        overflow-y: hidden;

        scroll-snap-type: x mandatory;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 12px;

    }

    .cards-track::-webkit-scrollbar {
        display: none;
    }

    .business-card {

        position: relative;

        top: auto;

        left: auto;

        transform: none !important;

        opacity: 1 !important;

        flex: 0 0 420px;

        min-height: 320px;

        scroll-snap-align: center;
    }

}

/*==================================================
  MOBILE
==================================================*/

@media (max-width:768px) {

    .business-section {

        padding: 70px 0;
    }

    .business-title {

        font-size: 40px;
    }

    .business-subtitle {

        font-size: 13px;
    }

    .business-description {

        font-size: 15px;

        line-height: 1.8;
    }

    .business-main-image {

        width: 220px;
    }

    .business-card {

        flex: 0 0 88%;

        min-height: 300px;

        border-radius: 22px;

        padding: 22px;
    }

    .business-card h3 {

        font-size: 24px;
    }

    .business-card p {

        font-size: 14px;
    }

    .tech-grid {
        gap: 8px;
    }

    .tech-icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .tech-icon img {
        width: 60%;
        height: 60%;
    }

    .tech-item span {
        font-size: 8px;
        line-height: 1.2;
    }

    .card-image-wrapper img {

        width: 140px;
    }

}

/*==================================================
  SMALL MOBILE
==================================================*/

@media (max-width:480px) {

    .business-section {

        padding: 60px 0;
    }

    .business-title {

        font-size: 34px;
    }

    .business-description {

        font-size: 14px;
    }

    .business-card {

        flex: 0 0 94%;

        min-height: 280px;

        padding: 20px;
    }

    .business-card h3 {

        font-size: 22px;
    }

    .business-main-image {

        width: 180px;
    }

    .card-image-wrapper img {

        width: 120px;
    }

    .tech-grid {

        grid-template-columns: repeat(5, 1fr);
    }

}

@media (hover:hover) {

    .business-card {

        transition:
            transform .45s,
            box-shadow .45s;
    }

    .business-card:hover {

        box-shadow:
            0 30px 80px rgba(0, 0, 0, .55);

    }

    .tech-icon {

        transition: transform .35s;
    }

    .tech-item:hover .tech-icon {

        transform: translateY(-6px);
    }

}

/*==================================================*
 * INNOVATION SECTION
 *==================================================*/

.innovation-section {
    width: 100%;
    background: #fff;
    padding: 100px 0;
}

.innovation-container {
    width: min(92%, 1400px);
    margin: 0 auto;
}

/*==================================================*
 * HEADING
 *==================================================*/

.innovation-heading {
    margin-bottom: 55px;
}

.innovation-heading span {
    display: block;
    font-size: 28px;
    font-weight: 300;
    color: #555;
    margin-bottom: 8px;
}

.innovation-heading h2 {
    font-size: clamp(44px, 4vw, 52px);
    line-height: 1.05;
    font-weight: 700;
    color: #111;
}

/*==================================================*
 * CONTENT
 *==================================================*/

.innovation-content {
    display: flex;
    align-items: stretch;
    gap: 22px;
}

/*==================================================*
 * LEFT IMAGE AREA
 *==================================================*/

.innovation-images {
    width: 50%;
    display: flex;
    gap: 14px;
}

.innovation-image-large {
    flex: 1.25;
}

.innovation-image-small {
    flex: .9;
}

.innovation-image-large img,
.innovation-image-small img {
    width: 100%;
    height: 430px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

/*==================================================*
 * RIGHT CARD
 *==================================================*/

.innovation-card {
    width: 50%;
    background: #f5f5f5;
    border-radius: 18px;

    padding: 38px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.innovation-card h3 {
    font-size: 17px;
    font-weight: 600;
    color: #111;
    margin-bottom: 18px;
    line-height: 1.5;
}

.innovation-card p {
    font-size: 14px;
    line-height: 1.9;
    color: #666;
    margin-bottom: 16px;
}

.innovation-card p:last-child {
    margin-bottom: 0;
}

/*==================================================*
 * LARGE DESKTOP
 *==================================================*/

@media (max-width:1400px) {

    .innovation-container {
        width: 95%;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 390px;
    }

    .innovation-card {
        padding: 34px;
    }

}

/*==================================================*
 * LAPTOP
 *==================================================*/

@media (max-width:1200px) {

    .innovation-heading h2 {
        font-size: 58px;
    }

    .innovation-content {
        gap: 18px;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 340px;
    }

    .innovation-card {
        padding: 28px;
    }

    .innovation-card h3 {
        font-size: 16px;
    }

    .innovation-card p {
        font-size: 12px;
    }

}

/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width:991px) {

    .innovation-section {
        padding: 80px 0;
    }

    .innovation-heading {
        margin-bottom: 40px;
    }

    .innovation-heading span {
        font-size: 22px;
    }

    .innovation-heading h2 {
        font-size: 48px;
    }

    .innovation-content {
        flex-direction: column;
    }

    .innovation-images,
    .innovation-card {
        width: 100%;
    }

    .innovation-images {
        gap: 16px;
    }

    .innovation-image-large {
        flex: 1.2;
    }

    .innovation-image-small {
        flex: .8;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 340px;
    }

    .innovation-card {
        padding: 30px;
    }

    .innovation-card h3 {
        font-size: 18px;
    }

    .innovation-card p {
        font-size: 14px;
    }

}

/*==================================================*
 * MOBILE
 *==================================================*/

@media (max-width:768px) {

    .innovation-section {
        padding: 70px 0;
    }

    .innovation-heading span {
        font-size: 20px;
    }

    .innovation-heading h2 {
        font-size: 38px;
    }

    .innovation-images {
        flex-direction: column;
    }

    .innovation-image-large,
    .innovation-image-small {
        flex: none;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 260px;
    }

    .innovation-card {
        width: 100%;
        padding: 24px;
        border-radius: 16px;
    }

    .innovation-card h3 {
        font-size: 17px;
    }

    .innovation-card p {
        font-size: 14px;
        line-height: 1.8;
    }

}

/*==================================================*
 * SMALL MOBILE
 *==================================================*/

@media (max-width:480px) {

    .innovation-section {
        padding: 60px 0;
    }

    .innovation-heading span {
        font-size: 18px;
    }

    .innovation-heading h2 {
        font-size: 32px;
    }

    .innovation-images {
        gap: 14px;
    }

    .innovation-image-large img,
    .innovation-image-small img {
        height: 220px;
        border-radius: 14px;
    }

    .innovation-card {
        padding: 20px;
        border-radius: 14px;
    }

    .innovation-card h3 {
        font-size: 16px;
        margin-bottom: 14px;
    }

    .innovation-card p {
        font-size: 13px;
        line-height: 1.75;
    }

}

/*==================================================*
 * OUR PROCESS
 *==================================================*/

.process-section {
    width: 100%;
    background: #fff;
    padding: 120px 0;
    overflow: hidden;
}

.process-container {
    width: min(1500px, 92%);
    margin: 0 auto;
}

/*==================================================*
 * HEADER
 *==================================================*/

.process-header {
    max-width: 720px;
    margin-bottom: 90px;
}

.process-header h2 {
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 700;
    line-height: 1.1;
    color: #222;
    margin-bottom: 24px;
}

.process-header p {
    font-size: 20px;
    line-height: 1.8;
    color: #666;
}

/*==================================================*
 * WRAPPER
 *==================================================*/

.process-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

/*==================================================*
 * CARD
 *==================================================*/

.process-card {
    position: relative;
    flex: 1;
    min-width: 290px;
    padding-top: 50px;
}

/*==================================================*
 * NUMBER
 *==================================================*/

.process-number {

    left: 8px;
    top: 8px;

    font-size: 145px;
    font-weight: 700;
    line-height: .8;

    color: #ff6518;
}

/*==================================================*
 * PROCESS SECTION
 *==================================================*/

.process-section {
    width: 100%;
    padding: 120px 0;
    background: #fff;
    overflow: hidden;
}

.process-container {
    width: min(1500px, 92%);
    margin: 0 auto;
}

/*==================================================*
 * HEADER
 *==================================================*/

.process-header {
    max-width: 720px;
    margin-bottom: 90px;
}

.process-header h2 {
    font-size: 72px;
    font-weight: 700;
    line-height: 1.05;
    color: #222;
    margin-bottom: 28px;
}

.process-header p {
    font-size: 22px;
    line-height: 1.7;
    color: #666;
}

/*==================================================*
 * PROCESS WRAPPER
 *==================================================*/

.process-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}

/*==================================================*
 * CARD
 *==================================================*/

.process-card {
    position: relative;
    flex: 1;
    min-width: 0;
    min-height: 430px;
}

/*==================================================*
 * NUMBER
 *==================================================*/

.process-number {
    position: absolute;
    top: 8px;
    left: 0;

    font-size: 150px;
    font-weight: 700;
    line-height: .8;

    color: #ff6418;

    z-index: 3;
}

/*==================================================*
 * SHAPE
 *==================================================*/

.process-shape {
    position: absolute;
    top: 8px;
    left: 56px;

    width: 72px;
    height: 285px;

    z-index: 2;
}

/* Shadow */
.process-shape::before {
    content: "";

    position: absolute;
    inset: 0;

    clip-path: polygon(82% 0,
            100% 0,
            18% 100%,
            0 100%);

    background: linear-gradient(to right,
            rgba(0, 0, 0, .34) 0%,
            rgba(0, 0, 0, .22) 22%,
            rgba(0, 0, 0, .12) 46%,
            rgba(0, 0, 0, .05) 70%,
            transparent 100%);

    transform: translate(-12px, 10px);

    filter: blur(12px);

    opacity: 1;

    z-index: -1;
}

/* White Panel */
.process-shape::after {
    content: "";

    position: absolute;
    inset: 0;

    background: #fff;

    clip-path: polygon(82% 0,
            100% 0,
            18% 100%,
            0 100%);
}

/*==================================================*
 * CONTENT
 *==================================================*/

.process-content {
    position: relative;
    z-index: 5;

    padding-top: 58px;
    padding-left: 108px;
}

.process-icon {
    width: 58px;
    height: 58px;

    margin-bottom: 24px;
}

.process-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.process-content h3 {
    margin: 0 0 14px;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.15;

    color: #222;
}

.process-content p {
    width: 220px;

    margin: 0;

    font-size: 16px;
    line-height: 1.85;
    font-weight: 400;

    color: #666;
}

/*==================================================*
 * LARGE LAPTOP
 *==================================================*/

@media(max-width:1400px) {

    .process-wrapper {
        gap: 24px;
    }

    .process-number {
        font-size: 138px;
    }

    .process-shape {
        left: 52px;
        width: 66px;
        height: 260px;
    }

    .process-content {
        padding-top: 54px;
        padding-left: 98px;
    }

    .process-icon {
        width: 54px;
        height: 54px;
        margin-bottom: 22px;
    }

    .process-content h3 {
        font-size: 28px;
    }

    .process-content p {
        width: 205px;
        font-size: 15px;
    }

}

/*==================================================*
 * LAPTOP
 *==================================================*/

@media(max-width:1200px) {

    .process-header {
        margin-bottom: 70px;
    }

    .process-wrapper {
        gap: 20px;
    }

    .process-number {
        font-size: 122px;
    }

    .process-shape {
        top: 8px;
        left: 46px;

        width: 58px;
        height: 225px;
    }

    .process-content {
        padding-top: 48px;
        padding-left: 86px;
    }

    .process-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 20px;
    }

    .process-content h3 {
        font-size: 26px;
    }

    .process-content p {
        width: 185px;
        font-size: 15px;
        line-height: 1.8;
    }

}

/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width:991px) {

    .process-section {
        padding: 90px 0;
    }

    .process-container {
        width: 100%;
        padding-left: 20px;
    }

    .process-header {
        max-width: 620px;
        margin-bottom: 60px;
        padding-right: 20px;
    }

    .process-header h2 {
        font-size: 54px;
    }

    .process-header p {
        font-size: 18px;
    }

    .process-wrapper {
        overflow-x: auto;
        overflow-y: hidden;

        justify-content: flex-start;

        gap: 26px;

        padding-right: 20px;
        padding-bottom: 12px;

        scroll-snap-type: x mandatory;

        -webkit-overflow-scrolling: touch;
    }

    .process-wrapper::-webkit-scrollbar {
        display: none;
    }

    .process-card {
        flex: 0 0 340px;
        min-height: 380px;

        scroll-snap-align: start;
    }

    .process-number {
        font-size: 125px;
    }

    .process-shape {
        top: 8px;
        left: 48px;

        width: 60px;
        height: 235px;
    }

    .process-content {
        padding-top: 48px;
        padding-left: 90px;
    }

    .process-icon {
        width: 48px;
        height: 48px;
    }

    .process-content h3 {
        font-size: 28px;
    }

    .process-content p {
        width: 190px;
        font-size: 15px;
    }

}

/*==================================================*
 * MOBILE
 *==================================================*/

@media (max-width:768px) {

    .process-section {
        padding: 70px 0;
    }

    .process-header {
        margin-bottom: 50px;
    }

    .process-header h2 {
        font-size: 44px;
    }

    .process-header p {
        font-size: 16px;
        line-height: 1.7;
    }

    .process-wrapper {
        gap: 22px;
    }

    .process-card {
        flex: 0 0 300px;
        min-height: 360px;
    }

    .process-number {
        font-size: 110px;
    }

    .process-shape {
        top: 8px;
        left: 42px;

        width: 54px;
        height: 205px;
    }

    .process-shape::before {
        transform: translate(-10px, 8px);
        filter: blur(10px);
    }

    .process-content {
        padding-top: 42px;
        padding-left: 78px;
    }

    .process-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 18px;
    }

    .process-content h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .process-content p {
        width: 170px;
        font-size: 14px;
        line-height: 1.7;
    }

}

/*==================================================*
 * SMALL MOBILE
 *==================================================*/

@media (max-width:480px) {

    .process-section {
        padding: 60px 0;
    }

    .process-container {
        padding-left: 16px;
    }

    .process-header {
        padding-right: 16px;
        margin-bottom: 42px;
    }

    .process-header h2 {
        font-size: 38px;
    }

    .process-header p {
        font-size: 15px;
    }

    .process-wrapper {
        gap: 18px;
        padding-right: 16px;
    }

    .process-card {
        flex: 0 0 280px;
        min-height: 340px;
    }

    .process-number {
        font-size: 98px;
    }

    .process-shape {
        left: 38px;

        width: 48px;
        height: 185px;
    }

    .process-content {
        padding-top: 38px;
        padding-left: 68px;
    }

    .process-icon {
        width: 40px;
        height: 40px;
    }

    .process-content h3 {
        font-size: 22px;
    }

    .process-content p {
        width: 160px;
        font-size: 13px;
        line-height: 1.65;
    }

}

.process-content p {
    width: 205px;
    font-size: 15px;
}


/*==================================================*
 * LAPTOP
 *==================================================*/

@media(max-width:1200px) {

    .process-header {
        margin-bottom: 70px;
    }

    .process-wrapper {
        gap: 20px;
    }

    .process-number {
        font-size: 122px;
    }

    .process-shape {
        top: 8px;
        left: 46px;

        width: 58px;
        height: 225px;
    }

    .process-content {
        padding-top: 48px;
        padding-left: 86px;
    }

    .process-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 20px;
    }

    .process-content h3 {
        font-size: 26px;
    }

    .process-content p {
        width: 185px;
        font-size: 15px;
        line-height: 1.8;
    }

}

/*==================================================*
 * TABLET
 *==================================================*/

@media (max-width:991px) {

    .process-section {
        padding: 90px 0;
    }

    .process-container {
        width: 100%;
        padding-left: 20px;
    }

    .process-header {
        max-width: 620px;
        margin-bottom: 60px;
        padding-right: 20px;
    }

    .process-header h2 {
        font-size: 54px;
    }

    .process-header p {
        font-size: 18px;
    }

    .process-wrapper {
        overflow-x: auto;
        overflow-y: hidden;

        justify-content: flex-start;

        gap: 26px;

        padding-right: 20px;
        padding-bottom: 12px;

        scroll-snap-type: x mandatory;

        -webkit-overflow-scrolling: touch;
    }

    .process-wrapper::-webkit-scrollbar {
        display: none;
    }

    .process-card {
        flex: 0 0 340px;
        min-height: 380px;

        scroll-snap-align: start;
    }

    .process-number {
        font-size: 125px;
    }

    .process-shape {
        top: 8px;
        left: 48px;

        width: 60px;
        height: 235px;
    }

    .process-content {
        padding-top: 48px;
        padding-left: 90px;
    }

    .process-icon {
        width: 48px;
        height: 48px;
    }

    .process-content h3 {
        font-size: 28px;
    }

    .process-content p {
        width: 190px;
        font-size: 15px;
    }

}

/*==================================================*
 * MOBILE
 *==================================================*/

@media (max-width:768px) {

    .process-section {
        padding: 70px 0;
    }

    .process-header {
        margin-bottom: 50px;
    }

    .process-header h2 {
        font-size: 44px;
    }

    .process-header p {
        font-size: 16px;
        line-height: 1.7;
    }

    .process-wrapper {
        gap: 22px;
    }

    .process-card {
        flex: 0 0 300px;
        min-height: 360px;
    }

    .process-number {
        font-size: 110px;
    }

    .process-shape {
        top: 8px;
        left: 42px;

        width: 54px;
        height: 205px;
    }

    .process-shape::before {
        transform: translate(-10px, 8px);
        filter: blur(10px);
    }

    .process-content {
        padding-top: 42px;
        padding-left: 78px;
    }

    .process-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 18px;
    }

    .process-content h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .process-content p {
        width: 170px;
        font-size: 14px;
        line-height: 1.7;
    }

}

/*==================================================*
 * SMALL MOBILE
 *==================================================*/

@media (max-width:480px) {

    .process-section {
        padding: 60px 0;
    }

    .process-container {
        padding-left: 16px;
    }

    .process-header {
        padding-right: 16px;
        margin-bottom: 42px;
    }

    .process-header h2 {
        font-size: 38px;
    }

    .process-header p {
        font-size: 15px;
    }

    .process-wrapper {
        gap: 18px;
        padding-right: 16px;
    }

    .process-card {
        flex: 0 0 280px;
        min-height: 340px;
    }

    .process-number {
        font-size: 98px;
    }

    .process-shape {
        left: 38px;

        width: 48px;
        height: 185px;
    }

    .process-content {
        padding-top: 38px;
        padding-left: 68px;
    }

    .process-icon {
        width: 40px;
        height: 40px;
    }

    .process-content h3 {
        font-size: 22px;
    }

    .process-content p {
        width: 160px;
        font-size: 13px;
        line-height: 1.65;
    }

}

.form-error {
    display: block;
    margin-top: 6px;

    color: #e53935;
    font-size: 13px;
    font-weight: 400;
}

/*=============================================
PORTFOLIO WATERMARK
==============================================*/

.portfolio-watermark {
    position: absolute;
    left: 50%;
    bottom: -15%;
    transform: translateX(-50%);

    font-size: clamp(90px, 16vw, 300px);
    font-weight: 800;
    line-height: 1;

    color: rgba(0, 0, 0, 0.03);
    white-space: nowrap;

    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* Large Desktop */
@media (max-width: 1440px) {
    .portfolio-watermark {
        bottom: -15%;
        font-size: clamp(90px, 15vw, 240px);
    }
}

/* Laptop */
@media (max-width: 1200px) {
    .portfolio-watermark {
        bottom: -15%;
        font-size: clamp(80px, 14vw, 180px);
    }
}

/* Tablet */
@media (max-width: 992px) {
    .portfolio-watermark {
        bottom: -15%;
        font-size: clamp(70px, 13vw, 140px);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .portfolio-watermark {
        bottom: -8%;
        font-size: clamp(50px, 12vw, 90px);
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .portfolio-watermark {
        bottom: -4%;
        font-size: clamp(36px, 11vw, 60px);
    }
}

.contact-input>.iti {
    width: 100%;
}

.contact-input>.iti input.iti__tel-input {
    width: 100%;
    height: 65px;
    padding: 0 20px;
    border: 1px solid #d9d9d9;
    border-radius: 18px;
    font-size: 18px;
    background: #fff;
}

/* Search input inside country dropdown */

.iti__search-input {
    all: unset;
    box-sizing: border-box;

    width: calc(100% - 20px);

    margin: 10px;

    padding: 8px 16px;

    border: 1px solid #ddd;

    border-radius: 8px;

    font-size: 15px;

    font-family: inherit;

    background: #fff;
}


/*==================================================*
 * OUR PROCESS
 *==================================================*/

.process-section {
    width: 100%;
    background: #fff;
    padding: 120px 0 40px 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 0, 0, 0.397);
}

.process-container {
    width: min(1500px, 92%);
    margin: 0 auto;
}

/*==================================================*
 * HEADER
 *==================================================*/

.process-header {
    max-width: 720px;
    margin-bottom: 90px;
}

.process-header h2 {
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 700;
    line-height: 1.1;
    color: #222;
    margin-bottom: 24px;
}

.process-header p {
    font-size: 20px;
    line-height: 1.8;
    color: #666;
}

/*==================================================*
 * WRAPPER
 *==================================================*/

.process-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

/*==================================================*
 * CARD
 *==================================================*/

.process-card {
    position: relative;
    flex: 1;
    min-width: 290px;
    padding-top: 50px;
}

/*==================================================*
 * NUMBER
 *==================================================*/

.process-number {

    left: 8px;
    top: 8px;

    font-size: 145px;
    font-weight: 600;
    line-height: .8;
    opacity: 25%;
    color: #ff6518;
}

/*==================================================*
 * SHAPE
 *==================================================*/

.process-shape {
    position: absolute;
    top: 8px;
    left: 56px;

    width: 72px;
    height: 285px;

    z-index: 2;
}

/* Shadow */
.process-shape::before {
    content: "";

    position: absolute;
    inset: 0;

    clip-path: polygon(98% 0,
            100% 0,
            2% 100%,
            0 100%);

    background: black;

    transform: translate(-12px, 10px);

    filter: blur(12px);

    opacity: 1;

    z-index: -1;
}

/* White Panel */
.process-shape::after {
    content: "";

    position: absolute;
    inset: 0;

    background: #fff;

    clip-path: polygon(98% 0,
            100% 0,
            2% 100%,
            0 100%);
}

/*==================================================*
 * CONTENT
 *==================================================*/

.process-content {
    position: relative;
    z-index: 5;

    padding-top: 18px;
    padding-left: 92px;
}

.process-icon {
    width: 58px;
    height: 58px;

    margin-bottom: 24px;
}

.process-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.process-content h3 {
    margin: 0 0 14px;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.15;

    color: #222;
}

.process-content p {
    width: 220px;

    margin: 0;

    font-size: 16px;
    line-height: 1.85;
    font-weight: 400;

    color: #666;
}

/*==================================================*
 * LARGE LAPTOP
 *==================================================*/

@media(max-width:1400px) {

    .process-wrapper {
        gap: 24px;
    }

    .process-number {
        font-size: 138px;
    }

    .process-shape {
        left: 52px;
        width: 66px;
        height: 260px;
    }

    .process-content {
        padding-top: 54px;
        padding-left: 98px;
    }

    .process-icon {
        width: 54px;
        height: 54px;
        margin-bottom: 22px;
    }

    .process-content h3 {
        font-size: 28px;
    }
}

/*==================================================*
 * HORIZONTAL SCROLLER
 *==================================================*/

@media (max-width: 991px) {
    .process-wrapper {
        display: flex;
        flex-wrap: nowrap;
        gap: 24px;

        overflow-x: auto;
        overflow-y: hidden;

        padding-bottom: 12px;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }

    .process-wrapper::-webkit-scrollbar {
        display: none;
    }

    .process-card {
        flex: 0 0 320px;
        min-width: 320px;

        scroll-snap-align: start;
    }
}

@media (max-width: 768px) {
    .process-card {
        flex: 0 0 290px;
        min-width: 290px;
    }

    .process-header {
        margin-bottom: 50px;
    }

    .process-header h2 {
        font-size: 42px;
    }

    .process-header p {
        font-size: 17px;
    }
}

@media (max-width: 480px) {
    .process-container {
        width: calc(100% - 20px);
        margin-left: 20px;
    }

    .process-card {
        flex: 0 0 270px;
        min-width: 270px;
    }

    .process-number {
        font-size: 120px;
    }

    .process-content {
        padding-left: 70px;
    }

    .process-content h3 {
        font-size: 26px;
    }

    .process-content p {
        width: 180px;
    }
}

/*  */