body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
color:#333;
line-height:1.6;
background:#f4f4f4;
}

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

.narrow{
max-width:750px;
}


/* HEADER */

.site-header{
background:#2f3438;
color:white;
}

.header-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.logo{
margin:0;
font-size:22px;
font-weight:600;
}

nav a{
color:white;
text-decoration:none;
margin-left:20px;
font-size:15px;
}

nav a:hover{
text-decoration:underline;
}


/* HERO */

.hero{
position:relative;
background-image:url("images/tower.png");
background-size:cover;
background-position:center;
padding:140px 0;
text-align:center;
color:white;
}

/* Dark overlay for readability */

.hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(35,45,55,0.75);
}

/* Keep text above overlay */

.hero-content{
position:relative;
z-index:2;
max-width:750px;
margin:auto;
}

.hero h2{
font-size:42px;
margin-bottom:20px;
font-weight:600;
letter-spacing:0.5px;
}

.hero p{
font-size:18px;
max-width:650px;
margin:auto;
margin-bottom:30px;
opacity:0.95;
}

.hero-note{
margin-top:15px;
font-size:14px;
opacity:0.85;
}

/* SECTIONS */

.section-light{
background:#e6e6e6;
padding:90px 0;
}

.section-white{
background:white;
padding:90px 0;
}

.section-dark{
background:#2f3438;
color:white;
padding:70px 0;
text-align:center;
}

h2{
margin-top:0;
margin-bottom:20px;
}


/* SERVICES GRID */

.service-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin-top:30px;
max-width:900px;
margin-left:auto;
margin-right:auto;
}

@media(max-width:900px){

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

}

.service-card{
background:#f7f7f7;
padding:25px;
border:1px solid #ddd;
}

.service-card h3{
margin-top:0;
}

.services-cta{
text-align:center;
margin-top:40px;
}


/* BUTTONS */

.btn-primary{
background:#2f3438;
color:white;
padding:14px 28px;
text-decoration:none;
display:inline-block;
font-size:16px;
border-radius:3px;
}

.btn-primary:hover{
background:#1f2326;
}

.btn-secondary{
background:#4e667a;
color:white;
padding:12px 22px;
text-decoration:none;
}

.btn-secondary:hover{
background:#3b5062;
}


/* FOOTER */

.footer-inner{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:20px;
}

.footer-links a{
color:white;
margin-left:15px;
text-decoration:none;
font-size:14px;
}

.footer-links a:hover{
text-decoration:underline;
}

.site-footer{
position:relative;
background:#2f3438;
color:white;
padding:40px 0;
overflow:hidden;
}

.site-footer::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-image:url("images/tower.png");
background-size:cover;
background-position:center;
opacity:0.06;
}

.site-footer .container{
position:relative;
z-index:2;
}

/* MOBILE */

@media(max-width:700px){

.header-inner{
flex-direction:column;
align-items:flex-start;
}

nav{
margin-top:10px;
}

nav a{
margin-left:0;
margin-right:15px;
}

.hero h2{
font-size:26px;
}

}
form{
margin-top:20px;
}

label{
display:block;
margin-top:15px;
margin-bottom:5px;
}

input, textarea{
width:100%;
padding:10px;
border:1px solid #ccc;
font-size:15px;
box-sizing:border-box;
margin-bottom:10px;
}

button{
margin-top:10px;
border:none;
cursor:pointer;
}

.branding{
display:flex;
flex-direction:column;
}

.tagline{
margin:2px 0 0 0;
font-size:12px;
color:#ccc;
}

.credibility{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
text-align:center;
font-weight:600;
max-width:900px;
margin:auto;
}

.credibility div{
flex:1;
min-width:160px;
font-size:15px;
letter-spacing:0.3px;
}

.situations{
margin-top:20px;
padding-left:20px;
}

.situations li{
margin-bottom:12px;
}

.footer-brand{
font-weight:600;
font-size:16px;
margin-bottom:5px;
}

.service-card{
background:#f7f7f7;
padding:30px;
border:1px solid #ddd;
min-height:180px;
}

.page-banner{
position:relative;
background-image:url("images/tower.png");
background-size:cover;
background-position:center;
padding:80px 0;
color:white;
text-align:center;
overflow:hidden;
}

.page-banner::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(35,45,55,0.85);
}

.page-banner .container{
position:relative;
z-index:2;
}

.page-banner h1{
margin:0;
font-size:32px;
margin-bottom:10px;
}

.page-banner p{
opacity:0.9;
}

