:root{
  --bg:#f4f6fb;
  --card:#ffffff;
  --accent:#0b5ed7;
  --accent-2:#d64545;
  --muted:#6b7280;
  --max:1100px;
  --radius:10px;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial; background:var(--bg); color:#111; margin:0; padding:0; -webkit-font-smoothing:antialiased}
.site-header{background:linear-gradient(90deg,#ffffff,#f1f6ff); border-bottom:1px solid #e6eefc; padding:18px 24px; position:sticky; top:0; z-index:40}
.brand{max-width:var(--max); margin:0 auto; display:flex; align-items:center; gap:20px; justify-content:space-between}
.logo{font-weight:800; font-size:20px; letter-spacing:0.6px}
.logo .accent{color:var(--accent); font-weight:900}
.nav{display:flex; gap:12px; align-items:center}
.nav-link{color:var(--muted); text-decoration:none; font-size:14px}
.container{max-width:var(--max); margin:28px auto; padding:0 18px}
.hero{display:flex; gap:24px; align-items:flex-start; justify-content:space-between; margin-bottom:18px}
.hero-left h1{margin:0 0 8px 0; font-size:26px}
.lead{color:var(--muted); margin:0}
.search-card{background:var(--card); padding:12px; border-radius:8px; box-shadow:0 1px 6px rgba(15,23,42,0.06); display:flex; flex-direction:column; gap:8px}
.search-card label{font-size:13px; display:block}
.search-card input, .search-card select{width:100%; padding:8px; margin-top:6px; border-radius:6px; border:1px solid #e6eefc}
.notice{background:#fff3cd; border-left:4px solid #ffd43b; padding:10px 12px; border-radius:6px; color:#6a4b00}
.flights{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-top:18px}
.flight{background:var(--card); padding:14px; border-radius:var(--radius); box-shadow:0 1px 6px rgba(15,23,42,0.06); display:flex; flex-direction:column; gap:10px}
.flight.featured{border:1px solid rgba(11,94,215,0.09); box-shadow:0 6px 18px rgba(11,94,215,0.06)}
.route{font-weight:700}
.meta{color:var(--muted); font-size:13px}
.book-btn{margin-top:auto; padding:10px 12px; border-radius:8px; border:0; background:var(--accent); color:white; cursor:pointer}
.book-btn:hover{opacity:0.95}
.modal{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(2,6,23,0.45); z-index:60}
.hidden{display:none}
.modal-content{width:100%; max-width:620px; background:var(--card); border-radius:12px; padding:18px; position:relative}
.close{position:absolute; right:12px; top:10px; background:none; border:0; font-size:18px; cursor:pointer}
.booking-form .form-row{margin:8px 0}
.booking-form label{display:block; font-size:13px}
.booking-form input{width:100%; padding:10px 12px; margin-top:6px; border-radius:8px; border:1px solid #e6eefc}
.half{display:flex; gap:10px}
.primary{background:var(--accent); color:white; padding:10px 14px; border-radius:8px; border:0; cursor:pointer}
.small{font-size:12px; color:var(--muted)}
.muted{color:var(--muted)}
.result{padding:12px; border-radius:8px; margin-top:8px}
.result.success{background:#e6ffef; color:#05683d}
.result.fail{background:#ffe6e6; color:#7a1b1b}
.bookings{margin-top:22px; background:var(--card); padding:12px; border-radius:8px}
footer.site-footer{border-top:1px solid #eef3ff; padding:20px 0; margin-top:40px; background:linear-gradient(180deg,#ffffff,#fbfdff)}
footer .container{display:flex; justify-content:space-between; align-items:center}
@media (max-width:800px){
  .hero{flex-direction:column}
  .nav{display:none}
  .flights{grid-template-columns:1fr}
  .half{flex-direction:column}
}
