
/* JAS Prestige Living – global styles */
:root{
    --primary:#1d2533;
    --accent:#4f79ba;
    --footer:#2a3143;
    --light:#f5f7fa;
}

*{box-sizing:border-box;}

body{
    margin:0;
    font-family:"Open Sans",sans-serif;
    color:var(--primary);
    line-height:1.6;
    background:#fff;
}

a{
    text-decoration:none;
    color:var(--primary);
}

.container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

/* ---------- Header & Nav ---------- */
.site-header{
    background:#fff;
    border-bottom:1px solid #e0e0e0;
    position:sticky;
    top:0;
    z-index:1000;
}

.header-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1rem 0;
}

.logo img{
    height:60px;
}

.desktop-nav a{
    margin-left:2rem;
    font-weight:600;
}

/* Hamburger */
.hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
}
.hamburger span{
    display:block;
    width:25px;
    height:3px;
    background:var(--primary);
}

.mobile-nav{
    display:none;
    flex-direction:column;
    background:#fff;
    border-top:1px solid #e0e0e0;
}
.mobile-nav a{
    padding:1rem;
    border-bottom:1px solid #eee;
    font-weight:600;
}
.mobile-nav.open{
    display:flex;
}

/* ---------- Hero ---------- */
.hero{
    background-size:cover;
    background-position:center;
    color:var(--primary);
}

.hero-content{
    max-width:650px;
    padding:4rem 1rem;
}

.hero h1{
    font-size:3rem;
    margin:0;
}
.hero h2{
    font-size:1.5rem;
    color:var(--accent);
    margin:1rem 0;
    line-height:1.3;
}
.cta h3{
    margin-top:2rem;
    font-size:1.25rem;
}

/* ---------- Buttons ---------- */
.btn{
    display:inline-block;
    padding:.75rem 2rem;
    background:var(--accent);
    color:#fff;
    border-radius:50px;
    margin-top:1rem;
    transition:.2s background;
}
.btn:hover{
    background:#3b5d93;
}
.btn-outline{
    background:transparent;
    border:2px solid #fff;
    color:#fff;
}

/* ---------- Feature Sections ---------- */
.section-title{
    text-align:center;
    font-size:1.75rem;
    margin:0 0 3rem 0;
    font-weight:700;
}

.section-features .feature-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    margin-bottom:4rem;
}
.feature-row.reverse{
    flex-direction:row-reverse;
}
.feature-image{
    flex:1 1 50%;
    padding:1rem;
}
.feature-image img{
    width:100%;
    border:5px solid var(--accent);
}
.feature-text{
    flex:1 1 50%;
    padding:1rem;
}
.feature-text h3{
    margin:0 0 .5rem 0;
    font-size:1.25rem;
    font-weight:700;
}

/* ---------- Banner ---------- */
.banner{
    background-size:cover;
    background-position:center;
    color:#fff;
    text-align:center;
}
.banner-content{
    padding:5rem 1rem;
}
.banner-content h2{
    font-size:2rem;
    margin-bottom:2rem;
    line-height:1.3;
}

/* ---------- Footer ---------- */
.site-footer{
    background:var(--footer);
    color:#c9cdd4;
    text-align:center;
    padding:2rem 1rem;
    font-size:.875rem;
}

/* ---------- About Page Styles ---------- */
.about-block{
    margin-bottom:4rem;
}
.about-block img{
    width:100%;
    border:5px solid var(--accent);
}
.about-block h2{
    font-size:1.5rem;
    margin:0 0 1rem 0;
}

/* ---------- FAQ ---------- */
.faq-section{
    padding:4rem 0;
}
.faq-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2rem 4rem;
}
.faq-item h4{
    margin:.5rem 0;
    font-size:1.125rem;
}
.faq-item p{
    margin:0;
}

/* ---------- Responsive ---------- */
@media(max-width:768px){
    .desktop-nav{display:none;}
    .hamburger{display:flex;}

    .hero h1{font-size:2.25rem;}

    .section-features .feature-row,
    .feature-row.reverse{
        flex-direction:column;
    }
    .feature-image,
    .feature-text{
        flex:1 1 100%;
    }

    .faq-grid{
        grid-template-columns:1fr;
    }
}

/* === v3 adjustments === */
.header-left{display:flex;align-items:center;}
.site-title{
    font-size:1.25rem;
    font-weight:700;
    margin-left:.75rem;
    color:var(--primary);
    white-space:nowrap;
}
.site-title:hover{opacity:.8;}

.feature-image{flex:0 0 45%;}
.feature-text{flex:0 0 55%;}
.feature-image img{max-width:400px;height:auto;}

.box{
    background:#ffffff;
    padding:2rem;
    border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,.08);
}

@media(max-width:768px){
    .site-title{font-size:1rem;margin-left:.5rem;}
    .feature-image,.feature-text{flex:1 1 100%;}
    .feature-image img{max-width:100%;}
}

/* === v5 layout fixes === */
.section-features .feature-row,
.about-block .feature-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:2rem;
}
.feature-image{
    flex:0 0 45%;
    max-width:45%;
}
.feature-text{
    flex:1 1 55%;
    max-width:55%;
    padding-left:1rem;
}
/* On very wide screens keep row tight */
@media(min-width:1200px){
    .feature-image img{max-width:100%;}
}

/* Buttons should look consistent */
.btn,
.btn-outline{
    font-weight:600;
    letter-spacing:.3px;
    text-transform:uppercase;
    font-size:.9rem;
}

/* Preserve alternating layout on about page */
.about-block .feature-row.reverse{
    flex-direction:row-reverse;
}

/* === v6 desktop align fixes === */
@media(min-width:769px){
    .section-features .feature-row,
    .about-block .feature-row{
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:nowrap;
        gap:2rem;
    }
    .feature-image{
        flex:0 0 45%;
        max-width:45%;
    }
    .feature-text{
        flex:1 1 55%;
        max-width:55%;
        padding-left:1rem;
    }
}
/* === end v6 === */

/* === v8 mobile overrides === */
@media(max-width: 768px){
    .section-features .feature-row,
    .about-block .feature-row{
        flex-direction: column;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .feature-image,
    .feature-text{
        flex: 1 1 100%;
        max-width: 100%;
        padding-left: 0;
    }
}
/* === end v8 === */
