/* Simple clean responsive styles */
:root{
  --accent:#0a5f8a;
  --accent-2:#0f7aa0;
  --bg:#f7f9fb;
  --text:#1b1b1b;
  --muted:#555;
  --container:1100px;
}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; margin:0; color:var(--text); background:var(--bg); line-height:1.45}
.container{max-width:var(--container); margin:0 auto; padding:2rem}
.site-header{background:#fff; border-bottom:1px solid #e6eef4}
.site-header .container{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0.75rem}
.brand{font-size:1.4rem; margin:0; color:var(--accent)}
.tagline{margin:0; font-size:0.95rem; color:var(--muted)}
.contact-inline{display:flex; flex-wrap:wrap; gap:1rem; align-items:center}
.contact-inline a{color:var(--text); text-decoration:none}
.hero{padding:2.5rem 0; text-align:center}
.hero-card{background:var(--accent); color:#fff; padding:2.5rem 2rem; border-radius:16px; box-shadow:0 18px 45px rgba(0,0,0,0.1);}
.hero-card h2{margin:0 0 0.75rem 0; font-size:1.6rem}
.hero-card p{margin:0; color:rgba(255,255,255,0.92); line-height:1.6}
.services h3, .about h3, .contact h3{margin-top:0}
.services-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.25rem}
.service-card{background:#fff; padding:1.25rem; border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.service-card h4{margin-top:0}
.service-card ul{margin:0; padding-left:1.1rem}
.service-card a{color:var(--accent); text-decoration:none; font-weight:600}
.service-card a:hover,.service-card a:focus{color:var(--accent-2); text-decoration:underline}
.note{color:var(--muted); margin-top:0.75rem}
.service-page{padding:2rem 0 3rem}
.service-page .container{max-width:860px}
.service-hero{background:#fff; border-radius:16px; padding:2rem; box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.service-hero h1{margin-top:0; color:var(--accent); font-size:2rem}
.service-hero p{margin-bottom:1rem; color:var(--muted)}
.service-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.5rem}
.service-panel{background:#fff; border-radius:12px; padding:1.25rem; box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.service-panel h2{margin-top:0; font-size:1.1rem}
.service-panel ul{margin:0; padding-left:1.1rem}
.service-links{display:flex; flex-wrap:wrap; gap:0.75rem; margin-top:1.25rem}
.service-links a,.back-link{display:inline-block; padding:0.7rem 1rem; background:var(--accent); color:#fff; border-radius:6px; text-decoration:none; font-weight:600}
.service-links a:hover,.back-link:hover,.service-links a:focus,.back-link:focus{background:var(--accent-2); text-decoration:none}
.contact-form{background:#fff; padding:1.25rem; border-radius:8px; max-width:640px; box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.contact-form h4{margin-top:0; margin-bottom:1rem;}
.contact-map .map-header h4{margin-top:0; margin-bottom:1rem;}
.contact-form label{display:block; margin-top:0.75rem; font-weight:600; font-size:0.95rem}
.contact-form input, .contact-form textarea{width:100%; padding:0.6rem; margin-top:0.35rem; border:1px solid #d6e2ea; border-radius:6px}
.contact-layout{display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; margin-top:1.25rem}
.contact-map{background:#fff; padding:1.25rem; border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.contact-map .map-header{margin-bottom:1rem}
.contact-map h4{margin:0 0 0.35rem 0}
.contact-map p{margin:0; color:var(--muted); font-size:0.95rem}
.route-panel{margin-bottom:1rem}
.route-input-group{display:flex; gap:0.75rem; flex-wrap:wrap; align-items:center}
.route-input-group input{flex:1 1 0; padding:0 0.75rem; border:1px solid #d6e2ea; border-radius:6px; height:40px; min-height:40px; line-height:1.2; box-sizing:border-box;}
.route-input-group button{height:40px; min-height:40px; padding:0 1rem; align-self:center; margin-top:0;}
.route-note{margin-top:0.75rem; color:var(--muted); font-size:0.95rem}
.contact-map iframe{width:100%; min-height:380px; border:0; border-radius:8px}
.btn{display:inline-block; margin-top:1rem; background:var(--accent); color:#fff; padding:0.6rem 1rem; border-radius:6px; border:none; cursor:pointer}
.form-note{color:var(--muted); font-size:0.9rem}
.site-footer{padding:1rem 0; text-align:center; background:var(--accent); color:#fff}

@media (max-width:900px){
  .services-grid{grid-template-columns:1fr}
  .site-header .container{flex-direction:column; align-items:center; gap:0.5rem}
  .contact-inline{align-self:center; width:auto}
  .contact-inline a{margin-left:0}
  .contact-layout{grid-template-columns:1fr}
  .route-input-group{flex-direction:column}
  .route-input-group input{width:100%}
  .route-input-group button{width:100%}
}

@media (max-width:480px){
  .container{padding:1rem}
  .hero h2{font-size:1.25rem}
}
