*{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;}

/* ===== TOPBAR ===== */

.topbar{
position:fixed;
top:0;
left:0;
width:100%;
z-index:10000;
background:#ffc107;
}

.topbar p{
font-size:14px;
line-height:1.4;
}

/* ===== HEADER BUTTON ===== */

.header-btn{
border:none;
background:#10203b;
padding:10px;
border-radius:10px;
}

.header-btn a{
color:#fff;
font-weight:500;
font-size:15px;
}

.header-btn:hover{
background:#081224;
}

/* ===== NAVBAR FIXED ===== */

.navbar{
position:fixed;
top:40px; /* topbar height */
left:0;
width:100%;
z-index:9999;
background:#fff;
box-shadow:0 2px 10px rgba(0,0,0,0.1);
}

/* body spacing so content not hide */

body{
padding-top:110px;
}

/* ===== NAVBAR LAYOUT ===== */

.navbar-container{
display:flex;
align-items:center;
justify-content:space-between;
}

/* ===== LOGO AREA ===== */

.logo-area{
display:flex;
align-items:center;
gap:10px;
flex-wrap:nowrap;
}

/* ===== LOGO ===== */

.brand-logo{
height:55px;
width:auto;
object-fit:contain;
}

/* ===== LOGO TEXT ===== */

.brand-text{
font-size:18px;
font-weight:700;
color:#d10b0b;
white-space:nowrap;
}

/* ===== SLIDER ===== */

.banner-img{
height:clamp(260px,40vw,470px);
object-fit:cover;
}

.carousel-item{
position:relative;
}

.carousel-item::after{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

.carousel-caption{
z-index:5;
top:0;
bottom:0;
left:0;
right:0;
}

.hero-title{
font-size:clamp(22px,4vw,52px);
font-weight:900;
}

.hero-big{
font-size:clamp(16px,3vw,28px);
color:#fff;
}

.hero-bold{
font-weight:900;
color:#fff;
}

.hero-small{
font-size:clamp(14px,2.2vw,18px);
color:#fff;
}

/* ===== SECTION TITLE ===== */

.section-title{
font-size:clamp(22px,3vw,40px);
font-weight:900;
margin-bottom:14px;
}

.servicepara{
display:block;
font-size:16px;
max-width:900px;
margin:10px auto 0;
opacity:.85;
font-weight:500;
}

/* ===== ABOUT ===== */

.about-section{
padding:55px 0;
}

.about-text{
font-size:15.5px;
line-height:1.9;
font-weight:600;
opacity:.9;
}

.about-img{
width:100%;
max-width:520px;
margin:0 auto;
}

/* ===== SERVICES ===== */

.services-section{
padding:60px 0;
background:#f6f6f6;
}

.service-card{
background:#fff;
padding:18px;
border-radius:12px;
box-shadow:0 0 10px rgba(0,0,0,0.10);
text-align:center;
height:100%;
transition:.3s;
}

.service-card:hover{
transform:translateY(-6px);
}

.service-card img{
width:100%;
height:200px;
object-fit:cover;
border-radius:10px;
margin:10px 0;
}

.service-card h3{
font-size:18px;
font-weight:800;
}

.service-card p{
font-size:14px;
margin-bottom:12px;
}

.btn-red{
display:inline-block;
width:100%;
padding:10px;
background:#ec0d2a;
color:#fff;
border-radius:8px;
font-weight:bold;
}

.btn-red:hover{
background:#081a3a;
color:#fff;
}

/* ===== CONTACT ===== */

.contact-section{
padding:60px 15px;
background:#f4f7fb;
}

.contact-form{
width:100%;
padding:25px;
border-radius:12px;
box-shadow:0 0 10px rgba(0,0,0,0.08);
background:#fff;
}

.form-group{
margin-bottom:15px;
}

.form-group input,
.form-group textarea{
width:100%;
padding:12px;
border:1px solid #ccc;
border-radius:8px;
font-size:14px;
outline:none;
}

.form-group input:focus,
.form-group textarea:focus{
border-color:#ec0d2a;
box-shadow:0 0 0 3px rgba(236,13,42,0.12);
}

/* ===== MAP ===== */

.map-box{
width:100%;
border-radius:12px;
overflow:hidden;
box-shadow:0 0 10px rgba(0,0,0,0.08);
background:#fff;
min-height:100%;
}

.map-box iframe{
width:100%;
height:100%;
min-height:430px;
border:0;
}

/* ===== FOOTER ===== */

.footer{
background:#000;
color:#cfcfcf;
}

.footer-inner{
max-width:1200px;
margin:auto;
padding:80px 20px 60px;
display:grid;
grid-template-columns:1.6fr 1fr 1.3fr;
gap:50px;
}

.footer-column h4{
color:#fff;
font-size:17px;
font-weight:800;
margin-bottom:20px;
}

.footer-services,
.footer-contact{
list-style:none;
padding:0;
}

.footer-services li,
.footer-contact li{
font-size:14px;
margin-bottom:14px;
}

/* ===== SCROLL BUTTON ===== */

.scroll-top{
position:fixed;
right:18px;
bottom:18px;
width:46px;
height:46px;
border-radius:50%;
background:#6f1616;
color:#fff;
border:none;
font-size:18px;
cursor:pointer;
z-index:999;
}

/* ===== MOBILE ===== */

@media (max-width:768px){

.topbar{
display:none;
}

.navbar{
top:0;
}

body{
padding-top:70px;
}

.brand-logo{
height:45px;
}

.brand-text{
font-size:14px;
}

.navbar-toggler{
margin-left:auto;
}

}

@media (max-width:480px){

.brand-text{
font-size:12px;
}

}

@media (max-width:992px){

.footer-inner{
grid-template-columns:1fr;
gap:30px;
padding:60px 20px 50px;
}

.header-btn{
width:130px;
align-self:center;
margin-bottom:15px;
}

}