@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    /*! Colors */
    --dark-blue: #0B1F3A;
    --dark-blue-bg: #172F4A;
    --medium-blue-bg: #082F5D;
    --light-blue-bg: #1E3A8A;
    --super-light-blue-bg: #2563EB;
    --primary-blue: var(--super-light-blue-bg);
    /* RGB helpers for opacity-driven colors (R G B) */
    --medium-blue-bg-rgb: 8 47 93;
    --light-blue-bg-rgb: 30 58 138;
    --super-light-blue-bg-rgb: 37 99 235;

    /* Grays */
    --dark-white: #BBBDC0;
    --medium-white: #E5E7EB;
    --light-white: #F8FAFC;

    /* Fonts */
    --dark-font: #111827;
    --medium-font: #1F2937;
    --light-font: #374151;

    /* extra */
    --whatsapp-green: #67C15E;
    --phone-blue: #3B82F6;
    --email-purple: #8B5CF6;

    /*! font size  */

    /* DESKTOP */

    /* Headings */
    --small-head: 24px;
    --medium-head: 32px;
    --big-head: 40px;

    /* Paragraphs */
    --small-para: 16px;
    --big-para: 18px;

    /* Buttons */
    --btn-font: 18px;

    /* Labels */
    --mini-text: 13px;

    /* !PADDING */

    /* Top-Bottom | Left-Right */
    --container-padding: 70px 50px;

    /* btn padding */
    --primary-btn-padding: 15px 25px;

    /* nav padding */
    --nav-padding: 20px 50px;

    /* hero padding */
    --hero-padding: 50px 50px;
    /* !NAVBAR HEIGHT */


    /* ===============================
   !SPACING
=============================== */

    --space-xs: 5px;
    --space-sm: 10px;
    --space-md: 15px;
    --space-lg: 20px;
    --space-xl: 30px;


    /* ===============================
      ! GAP
    =============================== */

    --small-gap: 10px;
    --medium-gap: 20px;
    --big-gap: 30px;
    --section-gap: 50px;

    /* ===============================
       !FONT FAMILY
    =============================== */

    --primary-font: 'Montserrat', sans-serif;

    /* ===============================
       !ICON SIZE
    =============================== */

    --mini-icon: 14px;
    --medium-icon: 20px;
    --big-icon: 30px;
    /* logo */
    --logo-height: 40px;
    --ham-logo-height: 25px;
    --ham-icon-height: 20px;


    /* !max-width */
    --max-width: 2000px;


}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html::-webkit-scrollbar {
    display: none;
}

body {
    font-family: var(--primary-font) !important;
    color: var(--dark-font);
    background-color: var(--light-white);
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;

}

main {
    flex: 1 0 auto;
}

header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(248, 250, 252, 0.72);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    backdrop-filter: blur(16px) saturate(180%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
}

.section-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--space-sm);
    text-align: center;
}

.section-heading h2 {
    font-size: var(--small-para);
    color: var(--medium-blue-bg);
    text-transform: uppercase;
    /* font-weight: 600; */
}

.section-heading h1 {
    font-size: var(--small-head);
    color: var(--dark-font);
    text-align: center;
}

.section-description {
    color: var(--light-font);
    line-height: 1.7;
}

.section-head-seperator {
    width: 150px;
    height: 5px;
    background-image: url('../images/icons/hero-horizontal-seperator.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-seperator {
    background-image: url('../images/icons/hero-horizontal-seperator.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 400px;
    height: 5px;
}

.blue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--medium-blue-bg);
    color: var(--medium-white);
    padding: var(--primary-btn-padding);
    border-radius: 5px;
    border: none;
    cursor: pointer;
    font-size: var(--btn-font);
    transition: background-color 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
}

.blue-btn:hover {
    background-color: var(--dark-blue-bg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* trans btn  */

.trans-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    padding: var(--primary-btn-padding);
    border-radius: 5px;
    border: none;
    box-shadow: inset 0 0 0 1px var(--medium-white);
    cursor: pointer;
    font-size: var(--btn-font);
    transition: all 0.3s ease;
    text-decoration: none;
    color: var(--medium-white);
    /* text-transform: uppercase; */
    text-transform: capitalize;
}

.trans-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--light-white);

}

/* =========================
   SMALL TITLE
========================= */

.side__title {
    font-size: var(--mini-text);
    color: var(--super-light-blue-bg);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.4;
}

/* =========================
   MAIN LAYOUT
========================= */

.side-head-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--section-gap);
}

/* =========================
   LEFT SIDE
========================= */

.section-side-head {
    flex: 1 1 45%;
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: var(--space-md);

    padding-right: var(--space-lg);

    border-right: 1px solid rgba(0, 0, 0, 0.06);
}

/* =========================
   RIGHT SIDE
========================= */

.side-head-content {
    flex: 1 1 55%;
    min-width: 0;
    display: flex;
    justify-content: end;
    padding-left: var(--space-lg);
}

/* =========================
   MAIN HEADING
========================= */

.side__subhead {
    font-size: var(--big-head);
    line-height: 1.05;
    font-weight: 600;
    color: var(--dark-font);

    word-break: keep-all;
    overflow-wrap: break-word;
}

/* =========================
   DESCRIPTION
========================= */

.side__description {
    font-size: var(--small-para);
    line-height: 1.8;
    color: var(--light-font);

    max-width: 65ch;
}



/* ! MEDIA QUERIES */


@media (max-width: 992px) {

    .side-head-container {
        gap: var(--space-xl);
    }

    .section-side-head {
        padding-right: var(--space-md);
    }

    .side-head-content {
        padding-left: var(--space-md);
    }
}

/* ===============================
   TABLET
================================= */
@media (max-width: 768px) {
    :root {

        /* Headings */
        --small-head: 18px;
        --medium-head: 28px;
        --big-head: 34px;

        /* Paragraphs */
        --small-para: 15px;
        --big-para: 16px;

        /* Buttons */
        --btn-font: 16px;

        /* Labels */
        --mini-text: 12px;

        /* !PADDING */
        /* Top-Bottom | Left-Right */
        --container-padding: 50px 30px;
        /* btn padding */
        --primary-btn-padding: 12px 20px;
        /* nav padding */
        --nav-padding: 15px 20px;
        /* hero padding */
        --hero-padding: 30px 50px;

        /* ===============================
            ! GAP
            =============================== */
        --small-gap: 8px;
        --medium-gap: 16px;
        --big-gap: 24px;
        --section-gap: 40px;

        /* ===============================
           !ICON SIZE
        =============================== */
        --mini-icon: 12px;
        /* logo */
        --logo-height: 35px;
        /* ham */
        --ham-logo-height: 25px;
        /* ham */
        --ham-icon-height: 18px;
        /* navbar */
        /* --navbar-height: 70px; */
    }

    .side-head-container {
        flex-direction: column;
        align-items: flex-start;

        gap: var(--space-lg);
    }

    .section-side-head {
        width: 100%;

        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);

        padding-right: 0;
        padding-bottom: var(--space-md);
    }

    .side-head-content {
        width: 100%;
        padding-left: 0;
    }

    .side__description {
        max-width: 100%;
    }
}

/* ===============================
   MOBILE
================================= */
@media (max-width: 576px) {
    :root {

        /* Headings */
        --small-head: 16px;
        --medium-head: 24px;
        --big-head: 28px;

        /* Paragraphs */
        --small-para: 14px;
        --big-para: 16px;

        /* Buttons */
        --btn-font: 15px;

        /* Labels */
        --mini-text: 10px;

        /* !PADDING */
        /* Top-Bottom | Left-Right */
        --container-padding: 30px 20px;
        /* btn padding */
        --primary-btn-padding: 10px 15px;
        /* nav padding */
        --nav-padding: 10px 15px;
        /* hero padding */
        --hero-padding: 20px 30px;
        /* ===============================
        ! GAP
        =============================== */
        --small-gap: 6px;
        --medium-gap: 12px;
        --big-gap: 18px;
        --section-gap: 30px;

        /* ===============================
           !ICON SIZE
        =============================== */
        --mini-icon: 10px;
        /* logo */
        --logo-height: 30px;
        /* ham */
        --ham-logo-height: 25px;
        /* ham */
        --ham-icon-height: 16px;
        /* navbar */
        /* --navbar-height: 60px; */
    }

    .side-head-container {
        gap: var(--space-md);
    }

    .section-side-head {
        gap: var(--space-sm);
    }

    .side__subhead {
        line-height: 1.1;
    }

    .side__description {
        line-height: 1.7;
    }
}