
:root{
  --navy:#071a2d;
  --navy2:#102b46;
  --blue:#1f77a8;
  --gold:#d8b76a;
  --cream:#fbf6ea;
  --white:#fff;
  --text:#132b48;
  --muted:#5b6f82;
  --shadow:0 24px 70px rgba(19,43,72,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--text);line-height:1.6}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:13px 7%;background:rgba(7,26,45,.94);backdrop-filter:blur(16px);color:white}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:.2px}
.brand img{width:56px;height:56px;object-fit:contain;border-radius:50%;background:var(--cream);padding:4px}
.main-nav{display:flex;gap:18px;align-items:center;font-weight:800;font-size:.93rem}
.main-nav a{text-decoration:none;opacity:.88;transition:.2s}
.main-nav a.active,.main-nav a:hover{color:var(--gold);opacity:1}
.menu-toggle{display:none;background:transparent;color:white;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:8px 12px;font-size:1.2rem}
.floating-cta{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--gold);color:var(--navy);font-weight:900;text-decoration:none;padding:14px 18px;border-radius:999px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.hero{position:relative;min-height:92vh;display:flex;align-items:center;padding:95px 7%;overflow:hidden;color:white;background:linear-gradient(105deg,rgba(7,26,45,.93),rgba(7,26,45,.48)),url('https://images.unsplash.com/photo-1548574505-5e239809ee19?auto=format&fit=crop&w=2200&q=85');background-size:cover;background-position:center;animation:heroShift 18s infinite alternate ease-in-out}
@keyframes heroShift{0%{background-position:center}100%{background-position:center bottom}}
.hero-content{max-width:980px;position:relative;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:.82rem;font-weight:900;color:#9fe8ff;margin-bottom:12px}
.eyebrow.blue{color:var(--blue)}
h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.93;letter-spacing:-2px;margin-bottom:24px}
h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1.05;letter-spacing:-1px;margin-bottom:18px}
h3{font-size:1.28rem;line-height:1.2;margin-bottom:10px}
.hero p{font-size:1.25rem;max-width:790px;color:rgba(255,255,255,.92);margin-bottom:32px}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}
.btn,button{display:inline-block;border:0;text-decoration:none;border-radius:999px;padding:14px 22px;font-weight:900;font-size:1rem;cursor:pointer}
.btn.gold,button{background:var(--gold);color:var(--navy);box-shadow:0 14px 34px rgba(216,183,106,.34)}
.btn.blue{background:var(--blue);color:white}
.btn.glass{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(10px)}
.ship{display:none}
.sparkles{position:absolute;right:20%;top:30%;font-size:34px;color:rgba(255,255,255,.6);animation:twinkle 3s infinite alternate}
@keyframes twinkle{from{opacity:.25;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}
.fireworks span{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(216,183,106,.14),0 0 0 18px rgba(216,183,106,.08);animation:burst 2.7s infinite ease-in-out}
.fireworks span:nth-child(1){right:20%;top:22%}.fireworks span:nth-child(2){right:34%;top:42%;animation-delay:.9s}.fireworks span:nth-child(3){right:12%;top:52%;animation-delay:1.7s}
@keyframes burst{0%,100%{transform:scale(.7);opacity:.35}50%{transform:scale(1.45);opacity:1}}
.hero-badge{position:absolute;right:7%;bottom:58px;z-index:3;display:flex;align-items:center;gap:16px;width:min(410px,86vw);padding:20px;border-radius:30px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(18px);box-shadow:0 26px 80px rgba(0,0,0,.18)}
.hero-badge img{width:88px;height:88px;object-fit:contain;border-radius:50%;background:var(--cream)}
.hero-badge p{margin:4px 0 0;font-size:.95rem}
.live-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy);color:white}
.live-panel>div{padding:24px 7%;background:rgba(255,255,255,.04)}
.live-panel strong{display:block;font-size:1.35rem;color:var(--gold)}
.live-panel span{color:rgba(255,255,255,.78)}
.mini-label{text-transform:uppercase;letter-spacing:1.4px;font-size:.76rem;font-weight:900;color:#9fe8ff;margin-bottom:5px}
.section{padding:86px 7%}
.section-head{max-width:860px;margin-bottom:34px}
.section-head p,.intro-grid p,.detail-page p,.about-grid p,.contact-grid p{color:var(--muted);font-size:1.08rem}
.intro-grid,.detail-page,.contact-grid,.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center}
.signature-card,.booking-card,.contact-box{background:white;border-radius:32px;padding:34px;box-shadow:var(--shadow)}
.signature-card img{width:120px;border-radius:50%;background:var(--cream);margin-bottom:16px}
.compare-section{background:white}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compare-card{border-radius:30px;padding:32px;box-shadow:0 14px 45px rgba(19,43,72,.08)}
.compare-card.muted{background:#f4f7fa}
.compare-card.premium{background:linear-gradient(135deg,var(--navy),#123f65);color:white}
.destination-section{background:var(--cream)}
.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.destination-card{min-height:350px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:white;padding:28px;border-radius:32px;box-shadow:var(--shadow);position:relative;overflow:hidden;background-size:cover;background-position:center;transition:.25s}
.destination-card:hover{transform:translateY(-6px)}
.destination-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.04),rgba(0,0,0,.78))}
.destination-card>*{position:relative;z-index:1}
.destination-card span{font-size:42px;margin-bottom:12px}
.disney-bg{background-image:url('https://images.unsplash.com/photo-1597466599360-3b9775841aec?auto=format&fit=crop&w=1100&q=80')}
.disney-cruise-bg,.cruise-bg{background-image:url('https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?auto=format&fit=crop&w=1100&q=80')}
.universal-bg{background-image:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1100&q=80')}
.island-bg{background-image:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1100&q=80')}
.premium-bg{background-image:url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1100&q=80')}
.map-section{background:#eaf7fb}
.map-card{position:relative;min-height:450px;border-radius:34px;background:radial-gradient(circle at 28% 35%,#bfe9ff,transparent 28%),radial-gradient(circle at 65% 55%,#d9f2d2,transparent 24%),linear-gradient(135deg,#dff5fb,#fff);box-shadow:var(--shadow);overflow:hidden}
.pin{position:absolute;text-decoration:none;background:var(--navy);color:white;border:3px solid var(--gold);padding:14px 18px;border-radius:999px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:.25s}
.pin:hover{transform:translateY(-5px)}
.pin-disney{left:15%;top:30%}.pin-universal{left:45%;top:50%}.pin-cruise{left:66%;top:26%}.pin-transport{left:30%;top:68%}
.insta-section{background:white}
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.insta-grid div{min-height:170px;display:grid;place-items:center;border-radius:26px;background:linear-gradient(135deg,var(--navy),#123f65);color:white;font-weight:900}
.booking{background:linear-gradient(135deg,var(--navy),#123f65);color:white}
.booking-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);max-width:930px}
.page-hero{min-height:54vh;color:white;display:grid;place-items:center;text-align:center;padding:95px 7%;background:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1548574505-5e239809ee19?auto=format&fit=crop&w=2200&q=85');background-size:cover;background-position:center}
.page-hero.small{min-height:42vh}
.page-hero p{font-size:1.25rem;max-width:800px}
.disney-hero{background-image:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1597466599360-3b9775841aec?auto=format&fit=crop&w=2200&q=85')}
.universal-hero{background-image:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2200&q=85')}
.cruise-hero{background-image:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?auto=format&fit=crop&w=2200&q=85')}
.transport-hero{background-image:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1527631746610-bca00a040d60?auto=format&fit=crop&w=2200&q=85')}
.quiz-hero{background-image:linear-gradient(rgba(7,26,45,.72),rgba(7,26,45,.72)),url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=2200&q=85')}
.info-list{display:grid;gap:18px}
.info-list div,.steps div,.transport-card{background:white;border-radius:28px;padding:28px;box-shadow:0 16px 45px rgba(19,43,72,.09)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.steps b{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--blue);color:white;margin-bottom:16px}
.about-image img{width:100%;border-radius:34px;box-shadow:var(--shadow)}
.faq{display:grid;gap:14px}
details{background:white;border-radius:22px;padding:20px 24px;box-shadow:0 10px 30px rgba(19,43,72,.08)}
summary{font-weight:900;cursor:pointer}
details p{margin-top:12px;color:var(--muted)}
.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.transport-card span{font-size:44px}
.quiz-card{max-width:880px;margin:auto;background:white;border-radius:34px;padding:36px;box-shadow:var(--shadow);text-align:center}
.quiz-options{display:grid;gap:14px;margin-top:24px}
.quiz-options button{border-radius:18px;background:#f4f7fa;color:var(--text);box-shadow:none;text-align:left}
.quiz-options button:hover{background:#eaf7fb}
.hidden{display:none}
.quiz-result p{font-size:1.3rem;color:var(--muted);margin:20px 0}
.trip-form{display:grid;gap:15px;background:white;border-radius:34px;padding:34px;box-shadow:var(--shadow)}
label{font-weight:900}
input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cbdce8;border-radius:14px;font:inherit;color:var(--text);background:white}
textarea{resize:vertical}
.contact-box{margin-top:24px}
.contact-box a{color:var(--blue);font-weight:900}
footer{display:flex;justify-content:space-between;gap:24px;padding:32px 7%;background:var(--navy);color:white}
footer a{text-decoration:none;font-weight:900;color:var(--gold)}
.footer-links{display:grid;gap:8px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){
  .hero-badge{position:static;margin-top:48px}
  .destination-grid,.transport-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .site-header{align-items:flex-start}
  .menu-toggle{display:block;position:absolute;right:7%;top:22px}
  .main-nav{display:none;flex-direction:column;align-items:flex-start;width:100%;padding-top:14px}
  .main-nav.open{display:flex}
  .floating-cta{left:18px;right:18px;text-align:center}
  .intro-grid,.detail-page,.contact-grid,.about-grid,.compare-grid,.destination-grid,.steps,.transport-grid,.insta-grid,.live-panel{grid-template-columns:1fr}
  h1{letter-spacing:-1px}
  .hero{padding-top:90px;align-items:flex-start}
  .hero-badge{flex-direction:column;align-items:flex-start}
  .pin-disney{left:8%;top:24%}.pin-universal{left:18%;top:48%}.pin-cruise{left:50%;top:34%}.pin-transport{left:18%;top:70%}
}


/* Rotating hero slideshow upgrade */
.hero-slideshow {
  background: #071a2d;
  isolation: isolate;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: opacity 1.6s ease;
  z-index: -3;
}

.hero-slide.active {
  opacity: 1;
  animation: kenBurns 8.5s ease-in-out forwards;
}

.slide-1 {
  background-image: url('https://images.unsplash.com/photo-1597466599360-3b9775841aec?auto=format&fit=crop&w=2200&q=85');
}

.slide-2 {
  background-image: url('https://images.unsplash.com/photo-1512100356356-de1b84283e18?auto=format&fit=crop&w=2200&q=85');
}

.slide-3 {
  background-image: url('https://images.unsplash.com/photo-1548574505-5e239809ee19?auto=format&fit=crop&w=2200&q=85');
}

.slide-4 {
  background-image: url('https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?auto=format&fit=crop&w=2200&q=85');
}

.slide-5 {
  background-image: url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2200&q=85');
}

.slide-6 {
  background-image: url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=2200&q=85');
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(7,26,45,.94), rgba(7,26,45,.56), rgba(7,26,45,.36));
  z-index: -2;
}

@keyframes kenBurns {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}

.hero-controls {
  position: absolute;
  left: 7%;
  bottom: 42px;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 10px;
}

.hero-dot {
  width: 11px;
  height: 11px;
  padding: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.6);
}

.hero-dot.active {
  width: 34px;
  background: var(--gold);
  border-color: var(--gold);
}

.hero-pause {
  padding: 8px 12px;
  font-size: .78rem;
  background: rgba(255,255,255,.12);
  color: white;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.featured-month {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 7%;
  background: linear-gradient(135deg, var(--gold), #f4dfa2);
  color: var(--navy);
}

.featured-month strong {
  display: block;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  line-height: 1.15;
}

.featured-month span {
  display: block;
  max-width: 760px;
  margin-top: 4px;
  color: rgba(7,26,45,.78);
}

.featured-month .mini-label {
  color: var(--navy);
  opacity: .75;
}

.featured-month .btn.gold {
  background: var(--navy);
  color: white;
  box-shadow: 0 14px 34px rgba(7,26,45,.25);
  white-space: nowrap;
}

.ship {
  display: none !important;
}

@media(max-width: 860px) {
  .hero-controls {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 30px;
  }

  .featured-month {
    flex-direction: column;
    align-items: flex-start;
  }

  .featured-month .btn.gold {
    white-space: normal;
  }
}


/* Live Instagram section */
.instagram-section {
  background: white;
}

.instagram-live-card {
  background: linear-gradient(135deg, #ffffff, #f6fbff);
  border-radius: 34px;
  padding: 30px;
  box-shadow: var(--shadow);
  border: 1px solid #e5edf4;
}

.instagram-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.instagram-header img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  border-radius: 50%;
  background: var(--cream);
  padding: 5px;
  box-shadow: 0 10px 28px rgba(19,43,72,.12);
}

.instagram-header h3 {
  margin-bottom: 2px;
}

.instagram-header p {
  color: var(--muted);
  font-weight: 800;
}

.instagram-embed {
  position: relative;
  min-height: 520px;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(216,183,106,.28), transparent 24%),
    radial-gradient(circle at 80% 40%, rgba(31,119,168,.22), transparent 26%),
    #f4f7fa;
  border: 1px solid #dce7ef;
}

.instagram-embed iframe {
  width: 100%;
  height: 520px;
  border: 0;
  display: block;
  background: white;
}

.instagram-fallback {
  position: absolute;
  inset: auto 24px 24px 24px;
  padding: 22px;
  border-radius: 22px;
  background: rgba(7,26,45,.92);
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.instagram-fallback p {
  margin: 0;
}

.embed-note {
  margin-top: 14px;
  color: var(--muted);
  font-size: .95rem;
}

@media(max-width: 860px) {
  .instagram-fallback {
    position: static;
    margin: 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .instagram-embed,
  .instagram-embed iframe {
    min-height: 460px;
    height: 460px;
  }
}
