* { box-sizing: border-box; }
body { font-family: 'Arial', sans-serif; margin:0; color:#103e63; background: #f7f9fb; }
.header { background: linear-gradient(90deg,#0b4f77,#0f6b99); color:white; padding:22px 16px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; }
.brand img { height:48px; border-radius:6px; }
.brand h1 { margin:0; font-size:20px; letter-spacing:0.6px; }
.nav { display:flex; gap:12px; }
.nav a { color:white; text-decoration:none; padding:8px 12px; border-radius:6px; font-weight:600; }
.hero { padding:28px 16px; display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.hero-left { flex:1 1 420px; }
.hero-right { flex:1 1 420px; }
.card { background:white; border-radius:8px; padding:14px; box-shadow:0 4px 12px rgba(16,62,99,0.06); }
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:12px; margin-top:12px; }
.gallery-grid img { width:100%; height:180px; object-fit:cover; border-radius:6px; }

.section { padding:24px 16px; }
.services { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:12px; }
.service { background:linear-gradient(180deg,#ffffff,#f2f6fa); padding:18px; border-radius:8px; text-align:center; box-shadow:0 2px 8px rgba(16,62,99,0.04); }

.footer { background:#062b3f; color:white; padding:20px 16px; text-align:center; }
.contact-list { display:flex; gap:12px; flex-direction:column; max-width:420px; margin:0 auto; }
.cta { background:#ff3b30; color:white; padding:10px 14px; border-radius:8px; text-decoration:none; display:inline-block; font-weight:700; }

@media (min-width:900px){
  .hero { padding:48px 56px; }
  .header { padding:18px 56px; }
}