:root{
  --navy:#0c1b33;
  --navy-2:#13284b;
  --blue:#1f6feb;
  --blue-2:#58a6ff;
  --white:#ffffff;
  --light:#f4f7fb;
  --line:#dce4ef;
  --text:#172236;
  --muted:#627086;
  --success:#188038;
  --danger:#d93025;
  --shadow:0 20px 60px rgba(12,27,51,.10);
  --shadow-soft:0 12px 30px rgba(12,27,51,.08);
  --radius:22px;
  --container:1220px;
  --transition:all .3s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--white);line-height:1.6}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
.container{width:min(100% - 2rem, var(--container));margin-inline:auto}

.topbar{background:var(--navy);color:rgba(255,255,255,.85);font-size:.92rem}
.topbar-wrap{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topbar a{color:#fff;font-weight:700}

.header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(12,27,51,.08)
}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-size:1.08rem;font-weight:900;color:var(--navy);letter-spacing:.02em}
.logo span{color:var(--blue)}
.nav{display:flex;align-items:center;gap:1.3rem}
.nav a{font-weight:600;color:var(--text);transition:var(--transition)}
.nav a:hover{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;padding:.8rem 1.1rem;border-radius:999px}
.nav-cta:hover{background:var(--blue)}
.nav-static{display:flex}
.menu-toggle{display:none;border:0;background:transparent;font-size:1.65rem;cursor:pointer}

.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(88,166,255,.15), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(31,111,235,.20), transparent 24%),
    linear-gradient(135deg, #0c1b33 0%, #102342 45%, #173767 100%);
  color:#fff;padding:96px 0 110px
}
.hero-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:2rem;align-items:center}
.eyebrow{
  display:inline-block;margin-bottom:1rem;padding:.55rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);font-weight:700;font-size:.92rem
}
.hero-copy h1{font-size:clamp(2.5rem, 6vw, 4.8rem);line-height:1.02;margin-bottom:1rem;max-width:760px}
.hero-copy p{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:680px;margin-bottom:1.8rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.hero-stats{display:flex;gap:1rem;flex-wrap:wrap}
.stat-item{min-width:140px;padding:1rem 1.1rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.stat-item strong{display:block;font-size:1.35rem}
.stat-item span{color:rgba(255,255,255,.82);font-size:.92rem}

.hero-panel-card{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:2rem;
  box-shadow:0 30px 80px rgba(0,0,0,.20);backdrop-filter:blur(12px)
}
.panel-badge{
  display:inline-block;margin-bottom:1rem;padding:.45rem .8rem;border-radius:999px;
  background:rgba(255,255,255,.12);font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase
}
.hero-panel-card h3{font-size:1.8rem;margin-bottom:.7rem}
.hero-panel-card p{color:rgba(255,255,255,.86);margin-bottom:1.4rem}
.mini-services{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:1.3rem}
.mini-service{
  padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);font-weight:700
}
.trust-box{display:flex;flex-direction:column;gap:.55rem;color:rgba(255,255,255,.88);font-size:.95rem}

.quick-booking{margin-top:-52px;position:relative;z-index:3}
.quick-booking-card{
  background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:1.6rem
}
.quick-booking-head{margin-bottom:1.2rem}
.quick-booking-head h2{font-size:1.5rem;margin-bottom:.35rem}
.quick-booking-head p{color:var(--muted)}
.quick-booking-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.quick-item{display:flex;flex-direction:column}
.quick-item label{font-weight:700;font-size:.92rem;margin-bottom:.45rem}
.quick-action{align-self:end}
.inline-message{margin-top:1rem;font-weight:700;color:var(--muted)}

.section{padding:92px 0}
.section-light{background:var(--light)}
.section-dark{background:linear-gradient(135deg, #0d1d36 0%, #12284a 100%);color:#fff}
.section-heading{max-width:760px;margin:0 auto 3rem;text-align:center}
.section-heading.light p{color:rgba(255,255,255,.78)}
.section-tag{
  display:inline-block;margin-bottom:.8rem;color:var(--blue);font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;font-size:.82rem
}
.section-heading h1,
.section-heading h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin-bottom:1rem}
.section-heading p{color:var(--muted);font-size:1.05rem}

.btn{
  display:inline-flex;justify-content:center;align-items:center;padding:1rem 1.35rem;border-radius:999px;
  font-weight:800;border:2px solid transparent;transition:var(--transition);cursor:pointer
}
.btn-primary{background:linear-gradient(135deg, var(--blue), var(--blue-2));color:#fff;box-shadow:0 14px 32px rgba(31,111,235,.25)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-secondary:hover{background:rgba(255,255,255,.08)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.btn-full{width:100%}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}

.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.service-card{padding:1.5rem;transition:var(--transition)}
.service-card:hover,.destination-card:hover,.payment-card:hover,.faq-card:hover,.summary-card:hover{transform:translateY(-6px)}
.service-card.featured{background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);border-color:#cfe0f7}
.service-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.service-icon,.benefit-icon{
  width:58px;height:58px;display:grid;place-items:center;border-radius:16px;
  background:rgba(31,111,235,.10);font-size:1.55rem
}
.service-label{
  padding:.45rem .75rem;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:.78rem;
  font-weight:800;text-transform:uppercase;letter-spacing:.04em
}
.service-card h3{font-size:1.18rem;margin-bottom:.7rem}
.service-card p{color:var(--muted);margin-bottom:1rem}
.text-link{color:var(--blue);font-weight:800}

.destinations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.destination-card{
  min-height:220px;padding:1.5rem;border-radius:24px;color:#fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.08)),
    linear-gradient(135deg, #0c1b33 0%, #14305a 55%, #1f6feb 100%);
  box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;transition:var(--transition)
}
.destination-card h3{font-size:1.4rem;margin-bottom:.45rem}
.destination-card p{color:rgba(255,255,255,.82);margin-bottom:1rem;font-size:.95rem}
.destination-card a{color:#fff;font-weight:800}

.payments-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.payment-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:22px;
  padding:1.5rem;backdrop-filter:blur(8px);transition:var(--transition)
}
.payment-icon{font-size:2rem;margin-bottom:1rem}
.payment-card h3{margin-bottom:.55rem}
.payment-card p{color:rgba(255,255,255,.78);margin-bottom:1rem}
.payment-status{
  display:inline-block;padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.10);
  color:#d7e7ff;font-size:.82rem;font-weight:800
}
.payment-status.active{background:rgba(24,128,56,.20);color:#b7ffd0}
.integration-note{
  margin-top:1.4rem;padding:1rem 1.1rem;border-radius:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)
}

.booking-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:1.5rem;align-items:start}
.booking-form,.contact-card,.map-card,.summary-card,.checkout-card,.payment-methods-card{padding:2rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.form-group{display:flex;flex-direction:column}
.form-group-full{grid-column:1 / -1}
label{font-weight:700;margin-bottom:.45rem}
input,select,textarea{
  width:100%;padding:1rem 1rem;border:1px solid var(--line);border-radius:14px;
  font:inherit;background:#fff;outline:none;transition:var(--transition)
}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,111,235,.08)}
.form-message{margin-top:1rem;color:var(--muted);font-weight:700}
.form-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}

.summary-card h3{margin:.4rem 0 1rem}
.summary-list{display:grid;gap:.7rem;margin-bottom:1.4rem}
.summary-list div{padding:.7rem .8rem;background:#f8fbff;border:1px solid #e7eef8;border-radius:14px}
.summary-box{
  padding:1rem;border-radius:16px;background:#0f2547;color:#fff;margin-bottom:1.2rem
}
.summary-box h4{margin-bottom:.65rem}
.summary-box ul{display:grid;gap:.4rem}

.cta-band{background:linear-gradient(135deg, #0d1d36 0%, #1a3d71 100%);color:#fff;padding:70px 0}
.cta-band-wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.cta-band h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.7rem}
.cta-band p{color:rgba(255,255,255,.82)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.contact-card h3,.map-card h3{margin-bottom:1rem}
.contact-list{margin-bottom:1.4rem}
.contact-list li{margin-bottom:.65rem;color:var(--muted)}
.map-embed{min-height:420px;height:100%;border-radius:18px;overflow:hidden;border:1px solid var(--line)}

.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.faq-card{
  border:1px solid var(--line);border-radius:20px;padding:1.5rem;background:#fff;
  box-shadow:var(--shadow-soft);transition:var(--transition)
}
.faq-card h3{margin-bottom:.65rem;font-size:1.08rem}
.faq-card p{color:var(--muted)}

.footer{background:var(--navy);color:#fff;padding-top:3rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.footer h3,.footer h4{margin-bottom:1rem}
.footer p,.footer a,.footer li{color:rgba(255,255,255,.82)}
.footer li{margin-bottom:.65rem}
.footer-bottom{margin-top:2rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.10);text-align:center}

.whatsapp-float{
  position:fixed;right:18px;bottom:18px;z-index:999;background:#25d366;color:#fff;border-radius:999px;
  padding:.9rem 1rem;display:flex;align-items:center;gap:.55rem;box-shadow:0 16px 35px rgba(0,0,0,.18);
  font-weight:800;transition:var(--transition)
}
.whatsapp-float:hover{transform:translateY(-3px)}
.wa-icon{font-size:1.1rem}

.checkout-body{background:linear-gradient(180deg,#f4f7fb 0%,#ffffff 100%)}
.checkout-main{padding:70px 0 90px}
.checkout-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}
.checkout-summary{display:grid;gap:.8rem;margin-top:1rem}
.checkout-summary div{padding:.85rem 1rem;background:#f8fbff;border:1px solid #e6edf7;border-radius:14px}
.checkout-alert{
  margin-top:1.2rem;padding:1rem 1.1rem;border-radius:14px;background:#fff6dd;border:1px solid #ffe08a;color:#6b5800
}
.payment-methods-card h2{margin-bottom:1rem}
.payment-button{
  width:100%;border:0;border-radius:16px;padding:1rem 1.1rem;text-align:left;font:inherit;font-weight:800;
  margin-bottom:.9rem;cursor:pointer;transition:var(--transition);color:#fff
}
.payment-button:hover{transform:translateY(-2px)}
.payment-stripe{background:linear-gradient(135deg,#635bff,#7a73ff)}
.payment-paypal{background:linear-gradient(135deg,#003087,#009cde)}
.payment-redsys{background:linear-gradient(135deg,#97144d,#d11c6b)}
.payment-transfer{background:linear-gradient(135deg,#1c6b3f,#24955a)}
.payment-note{
  margin-top:1rem;padding:1rem;background:#f8fbff;border:1px solid #e6edf7;border-radius:16px
}
.payment-note h3{margin-bottom:.6rem}
.payment-note ul{display:grid;gap:.45rem}

@media (max-width:1100px){
  .hero-grid,.cta-band-wrap,.checkout-layout{grid-template-columns:1fr;display:grid}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .destinations-grid{grid-template-columns:repeat(3,1fr)}
  .payments-grid{grid-template-columns:repeat(2,1fr)}
  .booking-layout{grid-template-columns:1fr}
}
@media (max-width:900px){
  .benefits-grid,.faq-grid,.contact-grid,.footer-grid,.form-grid,.quick-booking-grid{
    grid-template-columns:1fr
  }
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .destinations-grid{grid-template-columns:repeat(2,1fr)}
  .menu-toggle{display:block}
  .nav{
    position:absolute;top:82px;right:1rem;background:#fff;border:1px solid var(--line);border-radius:18px;
    box-shadow:var(--shadow);padding:1rem;min-width:240px;display:none;flex-direction:column;align-items:flex-start
  }
  .nav.show{display:flex}
  .topbar-wrap{flex-direction:column;justify-content:center;padding:.45rem 0}
}
@media (max-width:640px){
  .hero{padding:72px 0 90px}
  .section{padding:74px 0}
  .hero-actions,.hero-stats,.form-actions{flex-direction:column;align-items:stretch}
  .services-grid,.destinations-grid,.faq-grid,.mini-services,.payments-grid{grid-template-columns:1fr}
  .whatsapp-float{right:12px;bottom:12px;padding:.85rem}
  .wa-text{display:none}
}
