:root{
  --navy:#0b1f3a;
  --navy-dark:#081527;
  --navy-light:#1c4a7a;
  --gold:#d4a017;
  --gold-dark:#8a6a00;
  --gray-bg:#f4f5f7;
  --text-muted:#6b7280;
  --radius:14px;
  --shadow:0 10px 30px rgba(11,31,58,0.12);
}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;color:var(--navy);background:#fff;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:1280px;margin:0 auto;padding:0 24px;}

/* Top notice bar */
.notice-bar{background:var(--navy-dark);color:#fff;font-size:14px;text-align:center;padding:10px 24px;position:relative;}
.notice-bar a{color:var(--gold);font-weight:600;}
.notice-bar .close-btn{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:16px;opacity:0.7;}
.notice-bar .close-btn:hover{opacity:1;}

/* Utility bar */
.utility-bar{background:var(--gray-bg);padding:8px 0;}
.utility-bar .container{display:flex;justify-content:flex-end;gap:24px;align-items:center;font-size:13px;color:var(--text-muted);}
.utility-bar span{display:flex;align-items:center;gap:6px;}
.utility-bar .price-alert{color:var(--gold-dark);font-weight:600;}

/* Header */
.site-header{padding:18px 0;border-bottom:1px solid #eef0f3;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.main-nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500;}
.main-nav a{padding:8px 4px;}
.main-nav a:hover{color:var(--navy-light);}
.main-nav .btn-checkin{background:var(--gold);color:var(--navy-dark);padding:10px 20px;border-radius:30px;font-weight:700;}
.main-nav .btn-checkin:hover{background:var(--gold-dark);color:#fff;}

/* Secondary nav */
.sub-nav{background:var(--navy);}
.sub-nav ul{display:flex;gap:36px;}
.sub-nav a{display:block;padding:14px 4px;color:#dbe4f0;font-weight:600;font-size:14.5px;border-bottom:3px solid transparent;}
.sub-nav a:hover,.sub-nav a.active{color:#fff;border-color:var(--gold);}

/* Hero */
.hero{position:relative;background:url('../images/hero-bg.svg') center/cover no-repeat;padding:70px 0 160px;color:#fff;}
.hero-content{max-width:640px;}
.hero-content h1{font-size:42px;line-height:1.15;margin:0 0 14px;}
.hero-content p{font-size:17px;color:#dbe4f0;margin:0;}

/* Search card */
.search-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);max-width:1180px;margin:-110px auto 0;padding:28px 32px;position:relative;z-index:5;}
.search-tabs{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.tab-group{display:flex;background:var(--gray-bg);border-radius:30px;padding:4px;}
.tab-group button{background:none;border:none;padding:10px 22px;border-radius:26px;font-weight:600;font-size:14.5px;color:var(--text-muted);}
.tab-group button.active{background:var(--navy);color:#fff;}
.promo-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e3e6ea;padding:10px 18px;border-radius:26px;font-weight:600;font-size:14px;color:var(--navy);}
.promo-btn:hover{border-color:var(--gold);}

.search-fields{display:grid;grid-template-columns:1.4fr 1.4fr 1.3fr 0.9fr auto;gap:14px;align-items:end;}
.field{border:1.5px solid #e3e6ea;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;}
.field:focus-within{border-color:var(--navy-light);}
.field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:2px;}
.field input{border:none;outline:none;font-size:15px;font-weight:600;color:var(--navy);width:100%;background:none;}
.field input::placeholder{color:#b7bec9;font-weight:500;}
.date-field{display:flex;gap:10px;}
.date-field .field{flex:1;}
.btn-search{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:0 30px;height:52px;font-weight:700;font-size:16px;transition:background .2s;}
.btn-search:hover{background:var(--gold-dark);}

/* Promo banner */
.promo-banner{padding:100px 0 80px;}
.promo-banner .container{display:flex;align-items:center;gap:60px;}
.promo-banner .text{flex:1;}
.promo-banner .text .eyebrow{color:var(--gold-dark);font-weight:700;letter-spacing:1px;font-size:13px;text-transform:uppercase;}
.promo-banner .text h2{font-size:36px;margin:10px 0 16px;}
.promo-banner .text p{color:var(--text-muted);font-size:16px;line-height:1.6;max-width:460px;}
.promo-banner .img-wrap{flex:1;display:flex;justify-content:center;}

/* Destinations */
.destinations{background:var(--gray-bg);padding:70px 0;}
.destinations h2{text-align:center;font-size:32px;margin:0 0 40px;}
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.dest-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 18px rgba(11,31,58,0.08);}
.dest-card .thumb{height:150px;background:linear-gradient(135deg,var(--navy),var(--navy-light));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;letter-spacing:1px;}
.dest-card .info{padding:16px 18px;}
.dest-card .info .city{font-weight:700;font-size:17px;}
.dest-card .info .price{color:var(--gold-dark);font-weight:700;margin-top:6px;}

/* Features */
.features{padding:70px 0;}
.features .container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.feature{text-align:center;padding:0 16px;}
.feature .icon-circle{width:64px;height:64px;border-radius:50%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:26px;}
.feature h3{font-size:18px;margin:0 0 8px;}
.feature p{color:var(--text-muted);font-size:14.5px;line-height:1.6;margin:0;}

/* Footer */
.site-footer{background:var(--navy-dark);color:#cdd7e5;padding:60px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;}
.footer-grid h4{color:#fff;font-size:15px;margin:0 0 16px;}
.footer-grid li{margin-bottom:10px;font-size:14px;}
.footer-grid a:hover{color:var(--gold);}
.footer-brand p{font-size:14px;color:#9aa8bd;line-height:1.6;max-width:280px;}
.social-icons{display:flex;gap:12px;margin-top:16px;}
.social-icons span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;font-size:13px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:13px;color:#7d899d;}

@media (max-width:1024px){
  .search-fields{grid-template-columns:1fr 1fr;}
  .btn-search{grid-column:span 2;height:48px;}
  .dest-grid{grid-template-columns:repeat(2,1fr);}
  .features .container{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .main-nav{display:none;}
  .sub-nav ul{gap:18px;overflow-x:auto;padding:0 4px;}
  .hero-content h1{font-size:30px;}
  .search-card{margin-top:-70px;padding:20px;}
  .promo-banner .container{flex-direction:column;}
  .dest-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
