/*==================================================
    HOME PAGE STYLES
    LBH Architectural Design Studio
==================================================*/

/*=====================================
=            GOOGLE FONT             =
=====================================*/

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


/*=====================================
=            VARIABLES               =
=====================================*/

:root{

    --primary:#164A97;
    --primary-hover:#103B7C;

    --white:#ffffff;

    --heading:#101010;
    --text:#666666;

    --border:#EAEAEA;

    --container:1320px;

    --transition:.35s ease;

}


/*=====================================
=            RESET                   =
=====================================*/

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    color:var(--heading);
    overflow-x:hidden;
    background:#fff;

}

img{

    display:block;
    max-width:100%;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}


/*=====================================
=            GLOBAL                  =
=====================================*/

.container{

    width:min(var(--container),92%);
    margin:auto;

}

section{

    position:relative;
    padding:120px 0;

}

h1,h2,h3,h4,h5,h6{

    font-weight:700;
    line-height:1.1;

}

p{

    color:var(--text);
    line-height:1.8;

}


/*=====================================
=            BUTTONS                 =
=====================================*/

.btn{

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

    height:58px;

    padding:0 34px;

    border-radius:6px;

    transition:var(--transition);

    font-weight:600;

    cursor:pointer;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary-hover);

    transform:translateY(-3px);

}

.btn-outline{

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

    color:#fff;

}

.btn-outline:hover{

    background:#fff;
    color:#111;

}


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

.hero{

    position:relative;

    height:100vh;

    min-height:760px;

    overflow:hidden;

    display:flex;

    align-items:center;

    padding:0;

}


/* Video */

.hero-video{

    position:absolute;

    inset:0;

    z-index:1;

}

.hero-video video{

    width:100%;
    height:100%;
    object-fit:cover;

}


/* Overlay */

.hero-overlay{

    position:absolute;

    inset:0;

    z-index:2;

    background:
    linear-gradient(
    90deg,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.45) 45%,
    rgba(0,0,0,.60) 100%
    );

}


/* Bottom Fade */

.hero::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    height:180px;

    background:linear-gradient(to bottom,
    rgba(255,255,255,0),
    #ffffff);

    z-index:3;

}


/* Content */

.hero .container{

    position:relative;

    z-index:5;

}

.hero-content{

    max-width:720px;

    color:#fff;

}

.hero-subtitle{

    display:inline-block;

    margin-bottom:25px;

    color:#fff;

    letter-spacing:3px;

    text-transform:uppercase;

    font-size:14px;

    font-weight:600;

}


/* Heading */

.hero h1{

    font-size:86px;

    line-height:1.05;

    color:#fff;

    margin-bottom:28px;

    font-weight:700;

}

.hero h1 span{

    color:var(--primary);

}


/* Description */

.hero p{

    max-width:600px;

    color:#ECECEC;

    font-size:18px;

    margin-bottom:42px;

}


/* Buttons */

.hero-buttons{

    display:flex;

    gap:18px;

    align-items:center;

}


/*=====================================
=       SCROLL INDICATOR             =
=====================================*/

.scroll-indicator{

    position:absolute;

    bottom:45px;

    left:50%;

    transform:translateX(-50%);

    z-index:5;

    display:flex;

    flex-direction:column;

    align-items:center;

}

.scroll-indicator span{

    color:#fff;

    font-size:11px;

    letter-spacing:3px;

    text-transform:uppercase;

}

.scroll-line{

    width:1px;

    height:70px;

    background:#fff;

    margin-top:12px;

    animation:scrollLine 2s infinite;

}

@keyframes scrollLine{

    0%{

        transform:scaleY(.25);
        transform-origin:top;

    }

    50%{

        transform:scaleY(1);

    }

    100%{

        transform:scaleY(.25);

    }

}
/*=====================================
=         HERO SOCIALS               =
=====================================*/

.hero-social{

    position:absolute;

    right:50px;

    top:50%;

    transform:translateY(-20%);

    z-index:20;

    display:flex;

    flex-direction:column;

    gap:22px;

}

.hero-social a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

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

    border-radius:50%;

    color:#fff;

    font-size:18px;

    transition:.35s ease;

    backdrop-filter:blur(8px);

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

}

.hero-social a:hover{

    background:var(--primary);

    border-color:var(--primary);

    transform:translateY(-4px);

}

.hero-social i{

    transition:.35s;

}

.hero-social a:hover i{

    transform:scale(1.15);

}
/*==================================================
    WHY CHOOSE
==================================================*/

.why-choose{

    padding:130px 0;
    background:#fff;

}

.section-heading{

    display:grid;
    grid-template-columns:1fr 420px;
    gap:100px;
    align-items:flex-start;

    margin-bottom:80px;

}

.section-label{

    display:inline-block;

    color:var(--primary);

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:20px;

}

.heading-left h2{

    font-size:54px;

    line-height:1.15;

    max-width:520px;

    color:#111;

}

.heading-right{

    display:flex;

    align-items:center;

}

.heading-right p{

    font-size:18px;

    color:#666;

    line-height:1.9;

}


/* Cards */

.why-grid{

    display:grid;

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

}

.why-card{

    padding:0 35px;

    border-right:1px solid #ECECEC;

}

.why-card:last-child{

    border-right:none;

}

.why-icon{

    width:74px;

    height:74px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(22,74,151,.15);

    border-radius:50%;

    margin-bottom:28px;

    color:var(--primary);

    font-size:30px;

    transition:.35s;

}

.why-card:hover .why-icon{

    background:var(--primary);

    color:#fff;

    transform:translateY(-6px);

}

.why-card h3{

    font-size:22px;

    margin-bottom:16px;

    color:#111;

}

.why-card p{

    color:#666;

    line-height:1.9;

}
.featured-projects{
    background: #efefef;
}

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

@media(max-width:1200px){

.hero h1{

    font-size:72px;

}

}


@media(max-width:991px){

.hero{

    min-height:700px;

}

.hero h1{

    font-size:58px;

}

.hero p{

    font-size:17px;

}

.hero-buttons{

    flex-wrap:wrap;

}

}
.projects-grid{

    display:grid;

    grid-template-columns:1.35fr .9fr;

    gap:20px;

    margin-top:60px;

}

.featured-card{

    position:relative;

    min-height:620px;

    overflow:hidden;

}

.featured-card a{

    display:block;

    width:100%;

    height:100%;

}
.projects-list{

    display:grid;

    grid-template-rows:repeat(3,1fr);
    gap: 20px;

}
.project-card{

    position:relative;

    min-height:206px;

    overflow:hidden;

}
.project-image{

    width:100%;

    height:100%;

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1.2s;

}
.featured-card:hover img,
.project-card:hover img{

    transform:scale(1.08);

}
.project-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:35px;

    background:linear-gradient(

        transparent 35%,

        rgba(0,0,0,.82)

    );

    color:#fff;

}
.project-overlay h3{

    font-size:38px;

    margin:15px 0;

}

.project-overlay h4{

    font-size:24px;

}
.project-category{

    display:inline-block;

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#fff;

    opacity:.8;

}

@media(max-width:767px){

section{

    padding:80px 0;

}

.container{

    width:90%;

}

.hero{

    min-height:100vh;

}

.hero-content{

    text-align:center;

    margin:auto;

}

.hero h1{

    font-size:42px;

}

.hero p{

    font-size:16px;

}

.hero-buttons{

    justify-content:center;

    flex-direction:column;

}

.btn{

    width:100%;

}

.scroll-indicator{

    display:none;

}

}
@media(max-width:991px){

.hero-social{

    display:none;

}

}