*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

/* COMMON */
.container{max-width:75rem;margin:auto;padding:0 1rem}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* HEADER */
.site-header{position:sticky;top:0;z-index:999;background:#fff}
.top-bar{background:#111;color:#fff;font-size:.85rem}
.top-bar .container{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}
.top-right a{margin-left:1rem;color:#fff}

.header-flex{display:flex;align-items:center;justify-content:space-between;height:5rem}
.logo img{max-width:11rem;height:auto}

/* ================= DESKTOP NAV ================= */
.main-nav{display:flex;align-items:center;gap:1.5rem}
.menu-item{position:relative}
.menu-btn{background:none;border:0;font-size:1rem;cursor:pointer;font-weight:500}

/* Caret */
.nav-caret{
width:.45rem;height:.45rem;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
display:inline-block;
transform:translateY(-1px) rotate(45deg);
transition:.3s;
}
.menu-item:hover .nav-caret,
.menu-item.open .nav-caret{transform:translateY(-1px) rotate(-135deg);}

/* ================= MEGA MENU ================= */
.mega-menu{
position:fixed;
top:6rem;
left:50%;
transform:translateX(-50%) translateY(.75rem);
background:#fff;
width:clamp(22rem,60rem,60rem);
display:grid;
grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
gap:1.5rem;
padding:1.5rem;
border-radius:1.25rem;
box-shadow:0 .75rem 2rem rgba(0,0,0,.18);
opacity:0;visibility:hidden;transition:.3s;z-index:9999;
}
.menu-item:hover .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

.mega-box{display:flex;flex-direction:column;align-items:center;text-align:center}
.mega-box img{border-radius:1rem}
.mega-box span{margin-top:.6rem;font-weight:600}

/* ================= SIMPLE DROPDOWN ================= */
.simple-dropdown{
position:absolute;
top:100%;left:0;
background:#fff;min-width:12rem;
box-shadow:0 .75rem 1.5rem rgba(0,0,0,.12);
opacity:0;visibility:hidden;transform:translateY(.75rem);transition:.3s;
}
.menu-item:hover .simple-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.simple-dropdown a{display:block;padding:.7rem}

/* CTA */
.quote-btn{background:#b8860b;color:#fff;padding:.6rem 1.4rem;border-radius:2rem;font-weight:600}

/* ================= HAMBURGER ================= */
.nav-toggle{
display:none;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
}
.nav-toggle span{width:24px;height:2px;background:#000}

/* ================= MOBILE / TABLET ================= */
@media (max-width:992px){
/* Force logo left & hamburger right on mobile */
    .header-flex{
        display:flex;
        align-items:center;
    }

    .logo{
        order:1;
    }

    .nav-toggle{
        order:2;
        margin-left:auto;   /* pushes hamburger fully right */
    }


.nav-toggle{display:flex;margin-left:auto}

.main-nav{
position:fixed;
top:0;
right:-100%;
width:80%;
max-width:320px;
height:100vh;
background:#111;
flex-direction:column;
padding:6rem 1.5rem 2rem;
gap:1.2rem;
transition:.4s;
z-index:99999;
}
.main-nav.active{right:0}

.main-nav a,.menu-btn{
width:100%;
color:#fff;
padding:.8rem 0;
border-bottom:1px solid rgba(255,255,255,.15);
text-align:left;
}

/* Touch dropdown */
.menu-item:hover .mega-menu,
.menu-item:hover .simple-dropdown{opacity:0;visibility:hidden;}

.menu-item.open .mega-menu,
.menu-item.open .simple-dropdown{
position:static;
opacity:1;visibility:visible;
transform:none;
background:#222;
margin:.5rem 0;
border-radius:.75rem;
}

.mega-menu{grid-template-columns:repeat(2,1fr)}
}

/* ================= FOOTER (UNCHANGED) ================= */
.site-footer{background:#111;color:#fff;padding:4rem 0}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

.footer-contact .contact-row{
display:flex;
align-items:center;
gap:.6rem;
margin-bottom:.8rem;
color:#eee;
}

.footer-contact .contact-icon{
font-size:1rem;
min-width:1.2rem;
text-align:center;
}

.footer-contact .address-row{
color:#ccc;
font-size:.9rem;
}

.footer-link{
display:flex;
align-items:center;
gap:12px;
padding:6px 0;
padding-left:4px;
color:#fff;
font-size:15px;
transition:.3s ease;
}

.footer-link::before{
content:"➤";
font-size:13px;
color:#ffb703;
margin-right:6px;
}

.footer-link:hover{
padding-left:10px;
color:#ffd166;
}

.footer-link:hover::before{
transform:translateX(4px);
}

.site-footer{
background:radial-gradient(circle at top left, #4b2e2e, #120909);
color:#fff;
padding:4rem 0 2rem;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2rem;
}

.footer-col h4{
margin-bottom:1rem;
color:#d4af37;
font-size:1.1rem;
}

.footer-col a{
display:block;
font-size:.95rem;
color:#eee;
transition:.3s;
}

.footer-col a:hover{color:#d4af37}

.footer-logo{max-width:11rem;margin-bottom:1rem}
.footer-brand p{font-size:.9rem;line-height:1.6}
.footer-address{margin-top:.8rem;font-size:.9rem;color:#ccc}

.footer-bottom{
text-align:center;
margin-top:3rem;
padding-top:1.5rem;
border-top:.0625rem solid rgba(255,255,255,.15);
font-size:.85rem;
color:#ccc;
}

@media(max-width:56rem){
.footer-grid{grid-template-columns:1fr;text-align:center}
.footer-col{margin-bottom:2rem}
}
