:root{--green:#25D366;--gray:#f5f5f5}
*{box-sizing:border-box;margin:0;padding:0}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:'Montserrat',sans-serif;line-height:1.6}
header{position:sticky;top:0;z-index:1000;background:#000;padding:14px 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
header img{height:55px}
nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;font-weight:600}
.nav-cta{background:var(--green);color:#fff!important;padding:10px 18px;border-radius:30px;font-weight:700}
.hero{min-height:60vh;padding:110px 40px;color:#fff;text-align:center;background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),url('bus-hero.webp') center/cover no-repeat}
.hero h1{font-size:2.8rem;margin-bottom:18px}
.hero p{font-size:1.15rem;max-width:800px;margin:0 auto}
.cta{display:inline-block;margin-top:32px;padding:15px 35px;background:#fff;color:#000;font-weight:700;border-radius:30px;text-decoration:none}
.cta-green{background:var(--green);color:#fff}
section{padding:70px 40px}
.container{max-width:1100px;margin:auto}
h2{font-size:2rem;margin-bottom:22px}
h3{font-size:1.2rem;margin:26px 0 10px}
p{margin-bottom:16px}
ul{margin:0 0 16px 22px}
li{margin-bottom:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.card{background:var(--gray);padding:26px;border-radius:14px}
.alt{background:var(--gray)}
.cities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cities-grid a{background:#fff;padding:13px 18px;border-radius:12px;text-decoration:none;font-weight:600;color:#000;transition:.2s;border:1px solid #e5e5e5}
.cities-grid a:hover{background:var(--green);color:#fff;border-color:var(--green)}
.contact{background:#000;color:#fff;text-align:center}
.contact a{color:var(--green);font-weight:700;text-decoration:none}
footer{background:#111;color:#aaa;text-align:center;padding:25px;font-size:.9rem}
footer a{color:#aaa}
.mobile-bar{display:none}
@media(max-width:768px){
.hero{padding:80px 20px}
.hero h1{font-size:1.9rem}
section{padding:50px 20px}
h2{font-size:1.6rem}
header{padding:14px 20px}
header img{height:44px}
nav{gap:14px;font-size:.9rem}
.mobile-bar{display:flex;position:fixed;bottom:0;left:0;width:100%;z-index:1100;box-shadow:0 -2px 12px rgba(0,0,0,.25)}
.mobile-bar a{flex:1;text-align:center;padding:16px 8px;color:#fff;text-decoration:none;font-weight:700;font-size:16px}
.mobile-bar .call{background:#000}
.mobile-bar .wa{background:var(--green)}
body{padding-bottom:58px}
}