:root{
  --primary:#0074BC;
  --primary-dark:#005a8f;
  --bg:#ffffff;
  --bg-alt:#f6f9fc;
  --accent:#e7f3ff;
  --text:#1b1b1b;
}
*{box-sizing:border-box}
body{background:var(--bg); color:var(--text); font-size:16px; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;}
.container{max-width:1200px; margin:0 auto; padding:0 20px;}
.section{padding:60px 0;}
.section--alt{background:var(--bg-alt);}
.section--accent{background:var(--accent);}
h1,h2,h3{line-height:1.2; margin:0 0 12px;}
h1{font-size:3rem;}
h2{font-size:2rem; margin-bottom:20px;}
p{margin:0 0 15px;}

.hero{color:#fff; text-align:center; padding:100px 20px;}
.btn{display:inline-block; background:var(--primary); color:#fff; padding:12px 22px; border-radius:6px; text-decoration:none; transition:.2s ease; font-weight:700;}
.btn:hover{background:var(--primary-dark);}

.grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px; align-items:stretch;}
.card{background:#fff; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.08); padding:20px; text-align:left;}
.card img{border-radius:8px; margin-bottom:10px;}
.bullets{list-style:disc; padding-left:1.2rem;}

.site-footer{background:#222; color:#fff; text-align:center; padding:22px;}
.contact{display:grid; grid-template-columns:1fr; gap:20px;}
.contact-form input, .contact-form textarea{width:100%; padding:12px; border:1px solid #ccc; border-radius:6px; font:inherit;}
.contact-form button{margin-top:10px;}

@media (min-width:900px){
  .contact{grid-template-columns:1fr 1fr;}
}
