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

body{
font-family:Arial,sans-serif;
background:#f4f7fb;
color:#1a1a1a;
line-height:1.7;
display:flex;
min-height:100vh;
}

.sidebar{
width:320px;
background:#031b34;
color:white;
padding:30px 25px;
position:fixed;
top:0;
left:0;
height:100vh;
overflow-y:auto;
}

.logo{
font-size:2rem;
font-weight:bold;
margin-bottom:30px;
}

.logo span{
color:#1ea0ff;
}

.logo img{
width:100%;
max-width:270px;
display:block;
margin-bottom:20px;
}

.home-btn{
display:block;
padding:14px 16px;
background:#0a84ff;
border-radius:10px;
color:white;
text-decoration:none;
font-weight:bold;
text-align:center;
transition:.2s;
margin-bottom:20px;
}

.home-btn:hover{
background:#006fe0;
}


.logo img{
width:100%;
max-width:270px;
display:block;
}


.sidebar a{
display:block;
padding:14px 16px;
margin-bottom:10px;
background:rgba(255,255,255,.05);
border-radius:10px;
color:white;
text-decoration:none;
font-weight:bold;
transition:.2s;
}

.sidebar a:hover{
background:#0a84ff;
}

.phone-box{
margin-top:30px;
padding:20px;
background:#0a84ff;
border-radius:14px;
text-align:center;
}

.phone-box a{
background:none;
padding:0;
margin:0;
font-size:1.4rem;
}

.main{
margin-left:320px;
width:calc(100% - 320px);
}

.hero img{
width:100%;
display:block;
max-height:600px;
object-fit:cover;
}

.container{
max-width:1100px;
margin:auto;
padding:70px 30px;
}

h1{
font-size:3rem;
color:#052b52;
margin-bottom:25px;
}

h2{
font-size:2rem;
color:#052b52;
margin-bottom:20px;
}

p{
margin-bottom:20px;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
margin-top:40px;
}

.card{
background:white;
padding:30px;
border-radius:18px;
box-shadow:0 5px 18px rgba(0,0,0,.08);
}

.card h3{
margin-bottom:15px;
color:#0a84ff;
}

.cta{
background:#05233f;
color:white;
padding:70px 30px;
text-align:center;
}

.cta h2{
color:white;
}

.cta-btn{
display:inline-block;
margin-top:25px;
padding:16px 32px;
background:#0a84ff;
border-radius:12px;
color:white;
text-decoration:none;
font-weight:bold;
}

footer{
background:#021423;
color:white;
padding:40px 30px;
text-align:center;
}

@media(max-width:900px){

body{
display:block;
}

.sidebar{
position:relative;
width:100%;
height:auto;
}

.main{
margin-left:0;
width:100%;
}

h1{
font-size:2rem;
}

}

/* gen-B selectors folded into the union (Phase 3I) */
.marina-promo{width:100%;border-radius:18px;box-shadow:0 5px 18px rgba(0,0,0,.12);margin-bottom:40px;}
.card h2{font-size:1.5em;margin-bottom:20px;color:#052b52;}

/* Phase 3D/3E related components — reuse existing visual language */
.related-block{margin-top:50px;background:#fff;padding:40px;border-radius:18px;box-shadow:0 5px 18px rgba(0,0,0,.08);}
.related-block h2{font-size:1.4rem;margin-bottom:18px;}
.related-block ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px;}
.related-block a{display:inline-block;padding:10px 18px;background:#f4f7fb;border:1px solid #d7e3f2;border-radius:10px;color:#0a84ff;text-decoration:none;font-weight:bold;}
.related-block a:hover{background:#0a84ff;color:#fff;}
footer a{color:#9fc9ff;text-decoration:none;margin:0 10px;}
footer .fmeta{color:#c7d4e2;margin-top:12px;font-size:.95rem;}

/* v34 — logo-only aspect fix; no global image rules anywhere in this file */
.logo img{height:auto !important;aspect-ratio:886/249;}

/* v35 — card image aspect fix, scoped to the two identified culprits only */
.marina-promo{height:auto !important;}
.card img{height:auto !important;}
