/*====================================================

                GOOGLE FONTS

====================================================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');


/*====================================================

                RESET

====================================================*/

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background: #ffffff;
    color: #5f6b7a;
    overflow-x: hidden;
    line-height: 1.7;
}

img {
    width: 100%;
    display: block;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
}

button,
input,
textarea {
    font-family: inherit;
}


/*====================================================

                VARIABLES

====================================================*/

:root {

    --primary: #163A63;

    --secondary: #2B5C88;

    --accent: #F57C00;

    --white: #ffffff;

    --light: #F5F7FA;

    --border: #E5E7EB;

    --text: #5F6B7A;

    --heading: #1E293B;

    --radius: 18px;

    --shadow:
        0 20px 60px rgba(0, 0, 0, .08);

}


/*====================================================

                COMMON

====================================================*/

.container {

    width: min(1280px, 90%);
    margin: auto;

}

section {

    padding: 110px 0;

}

.section-heading {

    text-align: center;

    margin-bottom: 70px;

}

.section-tag {

    display: inline-block;

    color: var(--accent);

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;

    font-size: .9rem;

    margin-bottom: 18px;

}

.section-title {

    font-family: 'Manrope', sans-serif;

    font-size: 3rem;

    line-height: 1.2;

    color: var(--heading);

    margin-bottom: 20px;

}

.section-description {

    max-width: 700px;

    margin: auto;

    color: var(--text);

}


/*====================================================

                BUTTONS

====================================================*/

.btn-primary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 17px 36px;

    border-radius: 50px;

    background: var(--primary);

    color: #fff;

    font-weight: 600;

    transition: .35s;

}

.btn-primary:hover {

    background: #0f2d4f;

    transform: translateY(-4px);

}

.btn-secondary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 17px 36px;

    border-radius: 50px;

    border: 2px solid var(--primary);

    color: var(--primary);

    font-weight: 600;

    transition: .35s;

}

.btn-secondary:hover {

    background: var(--primary);

    color: #fff;

}


/*====================================================

                NAVBAR

====================================================*/

.header {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 999;

    background: rgba(255, 255, 255, .88);

    backdrop-filter: blur(20px);

    border-bottom: 1px solid rgba(0, 0, 0, .05);

}

.navbar {

    width: min(1280px, 90%);

    margin: auto;

    height: 90px;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

.logo img {

    width: 180px;

}

.nav-links {

    display: flex;

    gap: 35px;

}

.nav-links a {

    color: var(--heading);

    font-weight: 500;

    position: relative;

    transition: .3s;

}

.nav-links a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 2px;

    background: var(--accent);

    transition: .35s;

}

.nav-links a:hover {

    color: var(--accent);

}

.nav-links a:hover::after {

    width: 100%;

}

.nav-right {

    display: flex;

    align-items: center;

    gap: 18px;

}

.nav-btn {

    background: var(--accent);

    color: #fff;

    padding: 15px 28px;

    border-radius: 50px;

    transition: .35s;

    font-weight: 600;

}

.nav-btn:hover {

    transform: translateY(-4px);

}

.menu-toggle {

    display: none;

    background: none;

    border: none;

    cursor: pointer;

}

.menu-toggle i {

    width: 30px;

    height: 30px;

}

/*====================================================

                    HERO SECTION

====================================================*/

.hero {

    min-height: 100vh;

    display: flex;

    align-items: center;

    position: relative;

    overflow: hidden;

    padding-top: 140px;

    background: linear-gradient(135deg,
            #ffffff 0%,
            #f5f7fa 100%);

}


/* Decorative Background */

.hero::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 700px;

    background: rgba(22, 58, 99, .05);

    border-radius: 50%;

    top: -220px;

    right: -220px;

}

.hero::after {

    content: "";

    position: absolute;

    width: 320px;

    height: 320px;

    background: rgba(245, 124, 0, .08);

    border-radius: 50%;

    bottom: -100px;

    left: -100px;

}


/* Layout */

.hero-container {

    display: grid;

    grid-template-columns: 42% 58%;

    align-items: center;

    gap: 20px;

}


/* Left */

.hero-content {

    position: relative;

    z-index: index 3;
    padding-right: 40px;

}


.hero-tagline,
.section-tag {

    display: inline-block;

    color: var(--accent);

    font-size: .9rem;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    margin-bottom: 18px;

}


.hero-title {

    font-family: 'Manrope', sans-serif;

    font-size: 4.5rem;

    line-height: 1.1;

    color: var(--heading);

    margin-bottom: 30px;

}


.hero-title span {

    display: block;

    color: var(--primary);

}


.hero-description {

    max-width: 560px;

    color: var(--text);

    font-size: 1.08rem;

    margin-bottom: 40px;

}


.hero-buttons {

    display: flex;

    gap: 20px;

    flex-wrap: wrap;

}


/* Right */

.hero-image {

    position: relative;

    z-index: 2;

    min-height: 620px;

    display: flex;

    align-items: stretch;

    width: 125%;

    margin-left: -100px;

    overflow: hidden;

    border-radius: 30px;

}


.hero-image img {

    width: 100%;

    height: 100%;

    min-height: 620px;

    object-fit: cover;

    border-radius: 30px;

    box-shadow: none;

}

/* Left Decorative Block */

.hero-image::before {

    content: "";

    position: absolute;

    width: 130px;

    height: 130px;

    background: var(--primary);

    border-radius: 28px;

    top: -30px;

    left: -30px;

    z-index: -1;

}

/* Blend Effect */

.hero-image::after {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: 30px;

    background: linear-gradient(to left,
            rgba(255, 255, 255, 0) 52%,
            rgba(255, 255, 255, .15) 66%,
            rgba(255, 255, 255, .45) 78%,
            rgba(255, 255, 255, .75) 88%,
            rgba(255, 255, 255, .92) 95%,
            #fff 100%);

    pointer-events: none;

}



/*====================================================
                    ABOUT
====================================================*/

.about{
    background:#fff;
}

/*---------------- Desktop ----------------*/

.about-container{
    display:grid;
    grid-template-columns:58% 42%;
    grid-template-areas:
        "image header"
        "image text"
        "image cards";
    gap:25px;
    align-items:start;
}

.about-header{
    grid-area:header;
}

.about-header .section-title{
    text-align:left;
}

.about-image{
    grid-area:image;
    position:relative;
    width:130%;
    margin-left:-60px;
}

.about-image img{
    width:100%;
    height:580px;
    object-fit:cover;
    border-radius:24px;

    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%), linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to right, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%), linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
}

.about-image::before{
    display:none;
}

.about-text{
    grid-area:text;
}

.about-text p{
    margin-bottom:22px;
}

.about-grid{

    grid-area:cards;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

    margin-top:10px;

}

.about-card{

    background:#fff;
    padding:30px;
    border-radius:20px;
    border:1px solid var(--border);
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.35s;

}

.about-card:hover{

    transform:translateY(-8px);

}

.about-card h3{

    color:var(--primary);
    margin-bottom:15px;

}

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

@media(max-width:992px){

.about-container{

    display:flex;
    flex-direction:column;

}

.about-content{

    order:1;
    width:100%;
    text-align:center;

}

.about-content .section-title{

    text-align:center;

}

.about-content p{

    text-align:center;

}

.about-image{

    order:2;
    width:100%;
    margin:0;

}

.about-image img{

    width:100%;
    height:420px;
    object-fit:cover;
    border-radius:20px;

    -webkit-mask-image:none;
    mask-image:none;

}

.about-image::before{

    display:none;

}

.about-grid{

    order:3;

    width:100%;

    grid-template-columns:1fr 1fr;

    margin-top:10px;

}

}

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

@media(max-width:768px){

.about-container{

    display:flex;
    flex-direction:column;
    gap:25px;

}

.about-content{

    order:1;

}

.about-content .section-tag,
.about-content .section-title,
.about-content p{

    text-align:center;

}

.about-image{

    order:2;

    width:100%;
    margin:0;

}

.about-image img{

    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:18px;

    -webkit-mask-image:none;
    mask-image:none;

}

.about-image::before{

    display:none;

}

.about-grid{

    order:3;

    width:100%;

    display:grid;

    grid-template-columns:1fr;

    gap:18px;

    margin-top:0;

}

.about-card{

    padding:24px;
    text-align:center;

}

}



/*====================================================

                LEADERSHIP

====================================================*/

.leadership {

    background: var(--light);

}

.leadership-container {

    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "image header"
        "image body";
    gap: 90px;
    align-items: center;

}

.leadership-header { grid-area: header; }
.leadership-image  { grid-area: image; }
.leadership-body   { grid-area: body; }

.leadership-header .section-title,
.leadership-content .section-title {

    text-align: left;

}

.leadership-body blockquote,
.leadership-content blockquote {

    font-size: 1.25rem;

    font-family: 'Manrope', sans-serif;

    color: var(--primary);

    border-left: 5px solid var(--accent);

    padding-left: 20px;

    margin: 25px 0;

    font-weight: 700;

    line-height: 1.6;

}

.signature {

    margin-top: 35px;

}

.signature h4 {

    color: var(--heading);

    margin-bottom: 6px;

}

.signature span {

    color: var(--text);

}



/*====================================================

                WHY CHOOSE US

====================================================*/

.why-us {

    background: #fff;

}

.why-grid {

    display: grid;

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

    gap: 30px;

}

.why-card {

    background: #fff;

    border-radius: 22px;

    padding: 40px 30px;

    border: 1px solid var(--border);

    text-align: center;

    transition: .35s;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .05);

}

.why-card:hover {

    transform: translateY(-12px);

    border-color: var(--accent);

}

.why-card i {

    width: 55px;

    height: 55px;

    color: var(--primary);

    margin-bottom: 22px;

}

.why-card h3 {

    margin-bottom: 15px;

    color: var(--heading);

    font-size: 1.3rem;

}

.why-card p {

    color: var(--text);

}



/*====================================================

                    PROJECT

====================================================*/

.project {

    position: relative;
    overflow: hidden;
    padding: 120px 0;

    background:
        linear-gradient(rgba(255, 255, 255, .90),
            rgba(255, 255, 255, .28)),
         url("../assets/project.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}



.project-content {

    max-width: 1100px;
    margin: auto;
    text-align: center;

}

.project-content .section-tag {

    display: block;
    text-align: center;
    margin-bottom: 20px;

}

.project-content .section-title {

    text-align: center;
    max-width: 700px;
    margin: 0 auto 25px;

}

.project-description {

    max-width: 760px;
    margin: 0 auto 55px;
    font-size: 1.08rem;
    line-height: 1.9;
    color: var(--text);

}

.timeline {

    display: grid;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    justify-content: center;
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;

}




.timeline-item {

    background: rgba(255, 255, 255, .94);

    backdrop-filter: blur(10px);

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

    border-radius: 22px;

    padding: 35px;

    min-height: 280px;

    box-shadow: 0 18px 40px rgba(0, 0, 0, .08);

    transition: .35s;

}

.timeline-item:hover {

    transform: translateY(-12px);

    border-color: var(--accent);

    box-shadow: 0 25px 55px rgba(0, 0, 0, .12);

}

.timeline-item span {

    display: inline-flex;

    width: 48px;

    height: 48px;

    justify-content: center;

    align-items: center;

    border-radius: 50%;

    background: var(--primary);

    color: #fff;

    font-weight: 700;

    margin-bottom: 18px;

}

.timeline-item h4 {

    color: var(--heading);
    font-size: 1.25rem;
    margin-bottom: 15px;
    font-weight: 700;

}

.timeline-item p {

    margin: 0;
    font-size: .94rem;
    line-height: 1.8;
    color: var(--text);

}

.timeline-item p strong {

    color: var(--primary);
    display: block;
    margin-bottom: 10px;
    font-size: 1rem;
    font-weight: 700;

}

.timeline-item span {

    box-shadow: 0 10px 20px rgba(22, 58, 99, .25);

}

@media (max-width:768px) {

    .timeline {

        grid-template-columns: 1fr;

        max-width: 500px;

    }

}

/*====================================================

                LOCATION

====================================================*/

.location {

    background: #fff;

}







.location-content .section-title {

    text-align: left;

    margin-bottom: 35px;

}
/*================ LOCATION ================*/

.location{

    background:#fff;
    padding:120px 0;

}

.location-heading{

    max-width:900px;
    margin:0 auto 60px;
    text-align:center;

}

.location-heading .section-title{

    text-align:center;
    margin-bottom:20px;

}

.location-description{

    max-width:700px;
    margin:auto;
    color:var(--text);
    line-height:1.8;
    font-size:1.05rem;

}

.location-map{

    width:100%;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);

}

.location-map iframe{

    width:100%;
    height:650px;
    border:none;
    display:block;

}

.location-btn{

    margin-top:40px;
    text-align:center;

}




.location-content li:hover {

    transform: translateX(10px);

    background: #fff;

    box-shadow: 0 15px 30px rgba(0, 0, 0, .06);

}

/*====================================================

                MANUFACTURING

====================================================*/

.manufacturing {

    background: var(--light);

}

.process-wrapper {

    display: grid;

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

    align-items: center;

    gap: 20px;

    margin-top: 70px;

}

.process-step {

    background: #fff;

    padding: 35px 25px;

    border-radius: 22px;

    text-align: center;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .06);

    transition: .35s;

    border: 1px solid var(--border);

}

.process-step:hover {

    transform: translateY(-12px);

    border-color: var(--accent);

}

.process-icon {

    width: 75px;

    height: 75px;

    background: rgba(22, 58, 99, .08);

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    margin: auto;

    margin-bottom: 22px;

}

.process-icon i {

    width: 36px;

    height: 36px;

    color: var(--primary);

}

.process-step h3 {

    margin-bottom: 15px;

}

.process-arrow {

    font-size: 2rem;

    color: var(--accent);

    text-align: center;

    font-weight: 700;

}



/*====================================================

                    TECHNOLOGY

====================================================*/

.technology {

    background: #fff;
    padding: 120px 0;
    overflow: hidden;

}

.technology-container {

    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 80px;
    align-items: stretch;

}

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

.technology-image {

    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 900px;

}

.technology-image::before {

    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    background: var(--primary);

    opacity: .08;

    border-radius: 30px;

    left: -40px;
    top: -40px;

    z-index: -1;

}

.technology-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 28px;

    box-shadow: 0 30px 70px rgba(0,0,0,.15);

}


/*====================================================

                    TECHNOLOGY

====================================================*/

.technology {

    background: #fff;
    padding: 120px 0;
    overflow: hidden;

}

.technology-container {

    display: grid;
    grid-template-columns: 1.3fr 1fr;
    grid-template-areas:
        "image header"
        "image body";
    gap: 40px;
    align-items: stretch;

}

.technology-header { grid-area: header; }
.technology-image  { grid-area: image; }
.technology-body   { grid-area: body; }

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

.technology-image{

    position:relative;
    min-height:900px;
    width:100%;
    overflow:hidden;
    border-radius:28px;

}

.technology-image::before {

    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    background: var(--primary);

    opacity: .08;

    border-radius: 30px;

    left: -40px;
    top: -40px;

    z-index: -1;

}

.technology-image::after{

    content:"";

    position:absolute;

    top:0;
    right:0;

    width:25%;
    height:100%;

    background:linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,1)
    );

    pointer-events:none;

}

.technology-image img{

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    border-radius:28px;

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

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

.technology-content{

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

}

.technology-content .section-title {

    text-align: left;
    margin-bottom: 25px;

}

.technology-content > p {

    margin-bottom: 45px;

    font-size: 1.05rem;

    line-height: 1.9;

    color: var(--text);

}

/*================ GRID ================*/

.technology-grid {

    display: grid;

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

    gap: 25px;

}

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

.technology-card {

    background: #fff;

    border: 1px solid var(--border);

    border-radius: 22px;

    padding: 30px;

    min-height: 260px;

    box-shadow: 0 15px 35px rgba(0,0,0,.06);

    transition: .35s;

}

.technology-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 55px rgba(0,0,0,.12);

    border-color: var(--accent);

}

.technology-card i {

    width: 38px;

    height: 38px;

    color: var(--accent);

    margin-bottom: 20px;

}

.technology-card h4{

    margin-bottom:16px;

    color:var(--heading);

}

.technology-card p{

    font-size:.95rem;

    line-height:1.8;

    color:var(--text);

}

/*================ RESPONSIVE ================*/

@media (max-width:992px){

    .technology-container{

        grid-template-columns:1fr;

        gap:50px;

    }

    .technology-image{

    position: relative;
    overflow: hidden;
    border-radius: 28px;


    }

}

@media (max-width:768px){

    .technology-grid{

        grid-template-columns:1fr;

    }

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

.technology-content{

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

}

.technology-content .section-title {

    text-align: left;
    margin-bottom: 25px;

}

.technology-content > p {

    margin-bottom: 45px;

    font-size: 1.05rem;

    line-height: 1.9;

    color: var(--text);

}

/*================ GRID ================*/

.technology-grid {

    display: grid;

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

    gap: 25px;

}

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

.technology-card {

    background: #fff;

    border: 1px solid var(--border);

    border-radius: 22px;

    padding: 30px;

    min-height: 260px;

    box-shadow: 0 15px 35px rgba(0,0,0,.06);

    transition: .35s;

}

.technology-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 55px rgba(0,0,0,.12);

    border-color: var(--accent);

}

.technology-card i {

    width: 38px;

    height: 38px;

    color: var(--accent);

    margin-bottom: 20px;

}

.technology-card h4{

    margin-bottom:16px;

    color:var(--heading);

}

.technology-card p{

    font-size:.95rem;

    line-height:1.8;

    color:var(--text);

}

/*================ RESPONSIVE ================*/

@media (max-width:992px){

    .technology-container{

        grid-template-columns:1fr;

        gap:50px;

    }

    .technology-image{

        min-height:550px;

    }

}

@media (max-width:768px){

    .technology-grid{

        grid-template-columns:1fr;

    }

}




/*====================================================

                    PRODUCT

====================================================*/

.product {

    background: var(--light);

}

.product-container {

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 90px;

}

.product-content .section-title {

    text-align: left;

}

.product-content p {

    margin-bottom: 30px;

}

.product-image img {

    border-radius: 24px;

    box-shadow: var(--shadow);

}

.product-features {

    display: grid;

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

    gap: 18px;

}

.feature {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 18px 20px;

    background: #fff;

    border-radius: 14px;

    border: 1px solid var(--border);

    transition: .35s;

}

.feature:hover {

    transform: translateX(8px);

    border-color: var(--accent);

}

.feature i {

    width: 22px;

    height: 22px;

    color: green;

}




/*====================================================

                SUSTAINABILITY

====================================================*/

.sustainability{

    position: relative;
    overflow: hidden;
    padding: 120px 0;

    background:
    linear-gradient(
        rgba(255,255,255,.40),
        rgba(255,255,255,.40)
    ),
    url("../assets/sustainability.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.sustainability .container{

    position: relative;
    z-index: 2;

}

.sustainability-container{

    display: block;

}

/* Hide the old image */

.sustainability-image{

    display:none;

}

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

.sustainability-content{

    max-width:1000px;
    margin:auto;
    text-align:center;

}

.sustainability-content .section-tag{

    text-align:center;
    display:block;
    margin-bottom:20px;

}

.sustainability-content .section-title{

    text-align:center;
    max-width:750px;
    margin:0 auto 25px;

}

.sustainability-content>p{

    max-width:780px;
    margin:0 auto 60px;

    font-size:1.05rem;
    line-height:1.9;
    color:var(--text);

}

/*================ GRID ================*/

.sustainability-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;

    max-width:900px;
    margin:0 auto;

}

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

.sustainability-card{

    background:rgba(255,255,255,.94);

    backdrop-filter:blur(8px);

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

    border-radius:22px;

    padding:35px;

    min-height:250px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

    text-align:center;

}

.sustainability-card:hover{

    transform:translateY(-10px);

    border-color:var(--accent);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.sustainability-card i{

    width:42px;
    height:42px;

    color:#2E8B57;

    margin-bottom:18px;

}

.sustainability-card h4{

    margin-bottom:15px;

    color:var(--heading);

}

.sustainability-card p{

    font-size:.95rem;
    line-height:1.8;
    color:var(--text);

}

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

@media(max-width:768px){

    .sustainability-grid{

        grid-template-columns:1fr;

    }

}
/*====================================================

                    GALLERY

====================================================*/

.gallery{

    background:#fff;
    padding:120px 0;

}

.gallery .section-heading{

    text-align:center;
    margin-bottom:60px;

}

/*================ GRID ================*/

.gallery-grid{

    display:grid;

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

    grid-auto-flow:dense;

    gap:12px;

}

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

.gallery-item{

    overflow:hidden;

    border-radius:20px;

    border:3px solid #B8DFFF;

    background:#fff;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.4s;

}

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

.gallery-item img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s;

}

/*================ DIFFERENT SIZES ================*/

.gallery-item.large{

    grid-column:span 1;
    grid-row:span 2;

    height:620px;

}

.gallery-item.tall{

    grid-column:span 1;
    grid-row:span 2;

    height:620px;

}

.gallery-item.wide{

    grid-column:span 2;

    height:300px;

}

.gallery-item:not(.large):not(.tall):not(.wide){

    height:300px;

}

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

.gallery-item:hover{

    transform:translateY(-8px);

    border-color:var(--accent);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.gallery-item:hover img{

    transform:scale(1.05);

}

/*================ RESPONSIVE ================*/

@media(max-width:992px){

    .gallery-grid{

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

    }

    .gallery-item.wide{

        grid-column:span 2;

    }

}

@media(max-width:768px){

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .gallery-item,
    .gallery-item.large,
    .gallery-item.tall,
    .gallery-item.wide{

        grid-column:span 1;
        grid-row:span 1;
        height:300px;

    }

}



/*====================================================

                    CONTACT

====================================================*/

.contact{
    background:#102B49;
    color:#fff;
    padding:100px 0 90px;
}

.contact-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.contact .section-tag{
    color:#FF8A00;
}

.contact .section-title{
    color:#fff;
    text-align:left;
    margin-bottom:25px;
}

.contact-content p{
    color:rgba(255,255,255,.82);
    margin-bottom:35px;
    max-width:520px;
    line-height:1.8;
}

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

.contact-info div{
    display:flex;
    align-items:center;
    gap:18px;
    color:#fff;
    font-size:17px;
}

.contact-info i{
    width:28px;
    height:28px;
    color:#FF8A00;
}

.contact-form{
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    padding:40px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 25px 60px rgba(0,0,0,.30);
}

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

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:18px 20px;
    border:none;
    outline:none;
    border-radius:14px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:16px;
    transition:.35s;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:rgba(255,255,255,.65);
}

.contact-form input:focus,
.contact-form textarea:focus{
    background:rgba(255,255,255,.18);
    box-shadow:0 0 0 2px #FF8A00;
}

.contact-form textarea{
    resize:none;
}

.contact-form .btn-primary{
    width:100%;
    padding:18px;
    background:#FF8A00;
    color:#fff;
    border:none;
    font-size:17px;
    font-weight:600;
    border-radius:50px;
    cursor:pointer;
    transition:.35s;
}

.contact-form .btn-primary:hover{
    background:#ff9c1f;
    transform:translateY(-3px);
}



/*====================================================

                    CTA

====================================================*/

.cta{
    background:#102B49;
    text-align:center;
    padding:40px 0 70px;
}

.cta .container{
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:70px;
}

.cta h2{
    color:#fff;
    font-size:52px;
    margin-bottom:20px;
}

.cta p{
    color:rgba(255,255,255,.75);
    max-width:760px;
    margin:auto;
    line-height:1.8;
    margin-bottom:35px;
}

.cta .btn-primary{
    background:#FF8A00;
    color:#fff;
    padding:18px 45px;
    border-radius:50px;
    transition:.35s;
}

.cta .btn-primary:hover{
    transform:translateY(-4px);
}



/*====================================================

                    FOOTER

====================================================*/

.footer{
    background:#102B49;
    color:#fff;
    padding:30px 0;
}

.footer-container{
    display:grid;
    grid-template-columns:2fr 1.2fr 1fr;
    gap:70px;
    align-items:flex-start;
}
.footer-title{
    color:#fff;
    font-size:52px;
    line-height:1.15;
    margin:20px 0;
}

.footer-desc{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    margin-bottom:30px;
    max-width:520px;
}


.footer-logo{
    width:200px;
    margin-bottom:25px;
    background:#fff;
    padding:10px;
    border-radius:10px;
}

.footer-col h4{
    color:#fff;
    margin-bottom:22px;
    font-size:20px;
}

.footer-col p{
    color:rgba(255,255,255,.70);
    line-height:1.8;
}

.footer ul{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.footer ul li{
    color:rgba(255,255,255,.72);
}

.footer a{
    color:rgba(255,255,255,.72);
    transition:.3s;
}

.footer a:hover{
    color:#FF8A00;
    padding-left:5px;
}

.footer-bottom{
    margin-top:55px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;
    color:rgba(255,255,255,.65);
    font-size:15px;
}

