.hero{
background:linear-gradient(135deg,#0f35a8,#1d4ed8);
padding:70px 0 60px;
color:#fff;
}

.hero-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:30px;
align-items:center;
}

.hero-left h1{
font-size:52px;
line-height:1.05;
margin-bottom:18px;
max-width:700px;
}

.hero-subtitle{
font-size:19px;
color:rgba(255,255,255,.85);
margin-bottom:28px;
max-width:620px;
}

.hero-search{
display:flex;
flex-wrap:wrap;
gap:12px;
background:#fff;
padding:16px;
border-radius:16px;
box-shadow:0 14px 36px rgba(0,0,0,.18);
}

.hero-search select{
flex:1;
min-width:180px;
height:48px;
}

.hero-search .btn-primary{
height:48px;
padding:0 22px;
}

.hero-card{
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.18);
border-radius:20px;
padding:26px;
backdrop-filter:blur(10px);
}

.hero-card strong{
display:block;
font-size:24px;
margin-bottom:12px;
}

.hero-card p{
font-size:16px;
line-height:1.6;
color:rgba(255,255,255,.9);
}

.cities{
padding:60px 0 20px;
}

.cities h2{
font-size:34px;
margin-bottom:24px;
color:#111827;
}

.cities-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.city-card{
background:#fff;
border:1px solid #e5e7eb;
border-radius:16px;
padding:22px;
box-shadow:0 6px 20px rgba(15,23,42,.05);
transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.city-card:hover{
transform:translateY(-4px);
box-shadow:0 16px 34px rgba(15,23,42,.10);
border-color:#c7d2fe;
}

.city-card h3{
font-size:22px;
margin-bottom:10px;
color:#111827;
}

.city-card p{
font-size:15px;
line-height:1.5;
color:#6b7280;
}

@media (max-width: 1024px){
.hero-left h1{
font-size:42px;
}

.hero-grid{
grid-template-columns:1fr;
}

.cities-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media (max-width: 640px){
.hero{
padding:50px 0 40px;
}

.hero-left h1{
font-size:32px;
}

.hero-subtitle{
font-size:16px;
}

.hero-search{
padding:14px;
}

.hero-search select,
.hero-search .btn-primary{
width:100%;
min-width:100%;
}

.cities h2{
font-size:28px;
}

.cities-grid{
grid-template-columns:1fr;
}
}