/*=================================================
 CATERGOLDEN SERVICES LLP
 Premium Corporate Theme V1
==================================================*/

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

html{
    scroll-behavior:smooth;
}

body{

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

    background:#eef2f7;

    color:#263238;

    line-height:1.7;

    overflow-x:hidden;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:.35s;

}

ul{

    list-style:none;

}

/*==========================
TOP BAR
===========================*/

.top-bar{

    background:#0b1f3a;

    color:#ffffff;

    font-size:14px;

    padding:10px 0;

}

.top-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

}

.top-bar a{

    color:#ffffff;

}

.top-bar a:hover{

    color:#d4af37;

}

.top-bar i{

    color:#d4af37;

    margin-right:8px;

}

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

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

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

    backdrop-filter:blur(14px);

    box-shadow:0 6px 25px rgba(0,0,0,.08);

    z-index:9999;

}

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

}

.logo img{

    height:78px;

}

.nav-links{

    display:flex;

    gap:30px;

}

.nav-links a{

    color:#0b1f3a;

    font-weight:600;

    position:relative;

}

.nav-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:3px;

    background:#d4af37;

    transition:.35s;

}

.nav-links a:hover{

    color:#d4af37;

}

.nav-links a:hover::after{

    width:100%;

}

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

.hero{

    height:100vh;

    background:url("assets/hero.jpg") center center/cover no-repeat;

    position:relative;

}

.overlay{

    width:100%;

    height:100%;

    background:linear-gradient(
    rgba(11,31,58,.82),
    rgba(11,31,58,.70));

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-content{

    text-align:center;

    color:#ffffff;

    max-width:900px;

    width:90%;

}

.hero-logo{

    width:180px;

    margin:0 auto 30px;

    filter:drop-shadow(0 10px 25px rgba(0,0,0,.35));

}

.hero-content h1{

    font-size:60px;

    font-weight:800;

    letter-spacing:1px;

    margin-bottom:18px;

}

.hero-content h2{

    font-size:30px;

    font-weight:500;

    color:#d4af37;

    margin-bottom:25px;

}

.hero-content p{

    font-size:18px;

    max-width:820px;

    margin:auto;

    margin-bottom:40px;

}

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

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn{

    display:inline-block;

    padding:15px 35px;

    border-radius:40px;

    background:#d4af37;

    color:#ffffff;

    font-weight:600;

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

}

.btn:hover{

    background:#b68d18;

    transform:translateY(-4px);

}

.btn-outline{

    background:transparent;

    border:2px solid #ffffff;

}

.btn-outline:hover{

    background:#ffffff;

    color:#0b1f3a;

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

section{

padding:90px 0;

}

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title h2{

font-size:42px;

font-weight:700;

color:#0b1f3a;

margin-bottom:15px;

position:relative;

display:inline-block;

}

.section-title h2::after{

content:"";

width:70px;

height:4px;

background:#d4af37;

display:block;

margin:12px auto 0;

border-radius:20px;

}

.section-title p{

max-width:720px;

margin:auto;

font-size:17px;

color:#666;

line-height:1.8;

}

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

#about{

background:#ffffff;

}

.about-text{

max-width:950px;

margin:auto;

font-size:18px;

line-height:2;

text-align:center;

color:#4d5965;

}

/*=================================================
SERVICES
==================================================*/

#services{

background:#eef2f7;

}

.service-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.service-box{

background:#ffffff;

padding:40px 30px;

border-radius:20px;

text-align:center;

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

transition:.4s;

border-top:5px solid transparent;

}

.service-box:hover{

transform:translateY(-10px);

border-top:5px solid #d4af37;

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

}

.service-box i{

font-size:50px;

color:#d4af37;

margin-bottom:22px;

}

.service-box h3{

font-size:24px;

color:#0b1f3a;

margin-bottom:15px;

}

.service-box p{

font-size:16px;

color:#5b6774;

line-height:1.8;

}

/*=================================================
WHY US
==================================================*/

#why-us{

background:#ffffff;

}

/*=================================================
GALLERY
==================================================*/

#gallery{

background:#f5f7fa;

}

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.gallery img{

width:100%;

height:260px;

object-fit:cover;

border-radius:18px;

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

transition:.4s;

cursor:pointer;

}

.gallery img:hover{

transform:scale(1.06);

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

}

/*=================================================
REVIEWS
==================================================*/

#reviews{

background:#ffffff;

}

.review-card{

max-width:850px;

margin:auto;

padding:50px;

background:#ffffff;

border:2px solid #d4af37;

border-radius:20px;

text-align:center;

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

}

.review-card h3{

font-size:32px;

color:#0b1f3a;

margin-bottom:20px;

}

.review-card p{

font-size:17px;

line-height:1.8;

color:#5c6672;

margin-bottom:30px;

}
/*=================================================
QUOTE FORM
==================================================*/

#quote{

background:#eef2f7;

}

.quote-form{

max-width:850px;

margin:auto;

display:grid;

gap:20px;

}

.quote-form input,
.quote-form textarea{

width:100%;

padding:18px;

border:1px solid #d7dde5;

border-radius:12px;

font-size:16px;

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

background:#ffffff;

transition:.35s;

outline:none;

}

.quote-form textarea{

height:180px;

resize:vertical;

}

.quote-form input:focus,
.quote-form textarea:focus{

border-color:#d4af37;

box-shadow:0 0 15px rgba(212,175,55,.25);

}

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

#location{

background:#ffffff;

}

.map{

overflow:hidden;

border-radius:18px;

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

}

.map iframe{

display:block;

width:100%;

}

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

#contact{

background:#eef2f7;

}

.contact-box{

max-width:850px;

margin:auto;

background:#ffffff;

padding:45px;

border-radius:20px;

text-align:center;

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

}

.contact-box h3{

font-size:30px;

color:#0b1f3a;

margin-bottom:25px;

}

.contact-box p{

margin:15px 0;

font-size:17px;

color:#555;

}

.contact-box a{

color:#0b1f3a;

font-weight:600;

}

.contact-box a:hover{

color:#d4af37;

}

/*=================================================
FOOTER
==================================================*/

footer{

background:#0b1f3a;

color:#ffffff;

padding:60px 20px;

text-align:center;

}

footer p{

margin:12px 0;

font-size:15px;

line-height:1.8;

}

/*=================================================
SOCIAL LINKS
==================================================*/

.social-links{

display:flex;

justify-content:center;

gap:18px;

flex-wrap:wrap;

margin-bottom:30px;

}

.social-links a{

display:flex;

align-items:center;

gap:10px;

padding:12px 24px;

background:#d4af37;

color:#ffffff;

border-radius:40px;

font-weight:600;

transition:.35s;

box-shadow:0 8px 18px rgba(212,175,55,.30);

}

.social-links a:hover{

background:#b68d18;

transform:translateY(-4px);

}

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

.whatsapp-float{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

justify-content:center;

align-items:center;

font-size:32px;

color:#ffffff;

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

z-index:999;

transition:.35s;

}

.whatsapp-float:hover{

transform:scale(1.12);

}

.back-to-top{

position:fixed;

left:25px;

bottom:25px;

width:55px;

height:55px;

display:flex;

justify-content:center;

align-items:center;

background:#d4af37;

color:#ffffff;

border-radius:50%;

font-size:22px;

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

transition:.35s;

z-index:999;

}

.back-to-top:hover{

background:#b68d18;

transform:translateY(-5px);

}

/*=================================================
ANIMATION
==================================================*/

.service-box,
.review-card,
.contact-box,
.gallery img,
.btn{

transition:all .35s ease;

}

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

@media(max-width:992px){

.navbar{

flex-direction:column;

gap:20px;

}

.nav-links{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.logo img{

height:65px;

}

.hero-content h1{

font-size:44px;

}

.hero-content h2{

font-size:24px;

}

.hero-logo{

width:140px;

}

}

@media(max-width:768px){

.top-container{

flex-direction:column;

text-align:center;

}

.hero{

height:90vh;

}

.hero-content h1{

font-size:34px;

}

.hero-content h2{

font-size:20px;

}

.hero-content p{

font-size:16px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.btn{

width:240px;

text-align:center;

}

.section-title h2{

font-size:30px;

}

.gallery{

grid-template-columns:1fr;

}

.gallery img{

height:240px;

}

.contact-box{

padding:30px;

}

.quote-form{

gap:15px;

}

.social-links{

flex-direction:column;

align-items:center;

}

}

@media(max-width:480px){

.logo img{

height:55px;

}

.hero-logo{

width:120px;

}

.hero-content h1{

font-size:28px;

}

.hero-content h2{

font-size:18px;

}

.section-title h2{

font-size:26px;

}

.contact-box h3{

font-size:24px;

}

footer{

padding:40px 15px;

}

}
