*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(100deg,#dff8fb 0%,#fef8ef 50%,#dff8fb 100%);font-family:Arial,sans-serif;color:#082f63}
body{overflow-x:hidden}
a{text-decoration:none;color:inherit}
.page-shell{width:min(100vw,1400px);margin:0 auto;background:linear-gradient(100deg,#dff8fb 0%,#fef8ef 50%,#dff8fb 100%);box-shadow:0 0 24px rgba(8,47,99,.08)}

.exact-header{position:relative;width:100%;aspect-ratio:1134/105;background:url("assets/exact-header.jpg") top center/100% 100% no-repeat;overflow:hidden}
.nav-hot{position:absolute;top:21%;height:55%;z-index:5}
.nav-hot.home{left:35.0%;width:4.3%}
.nav-hot.destinations{left:39.0%;width:8.1%}
.nav-hot.cruises{left:47.2%;width:5.5%}
.nav-hot.honeymoons{left:53.0%;width:14.4%}
.nav-hot.about{left:67.5%;width:5.0%}
.nav-hot.contact{left:72.5%;width:5.7%}
.nav-hot.instagram{left:78.9%;width:2.7%}
.nav-hot.facebook{left:81.7%;width:2.7%}
.nav-hot.plan{left:84.5%;width:12.7%}
.nav-hot:focus{outline:3px solid #ff1680;outline-offset:-2px}

.intro-band{min-height:220px;padding:36px 7% 34px;display:flex;align-items:center;gap:42px;justify-content:space-between;background:
linear-gradient(90deg,rgba(221,249,252,.97),rgba(255,248,239,.96),rgba(220,249,251,.97)),
url("assets/hero.jpg") center/cover no-repeat;border-top:1px solid rgba(8,47,99,.08);border-bottom:1px solid rgba(8,47,99,.10)}
.intro-copy{max-width:760px}
.intro-kicker{font-weight:900;letter-spacing:.11em;font-size:15px;margin-bottom:2px}
.intro-band h1{margin:0;color:#ff1680;font-family:"Brush Script MT","Segoe Print",cursive;font-weight:400;font-size:67px;line-height:.98}
.intro-band p{max-width:750px;margin:10px 0 0;font-size:17px;font-weight:600;line-height:1.52}
.pink-button{display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;padding:13px 24px;background:#ff1680;color:#fff;border-radius:999px;font-weight:800;font-size:14px;text-transform:uppercase;box-shadow:0 6px 16px rgba(255,22,128,.18)}

.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;background:linear-gradient(100deg,#dff8fb,#fef8ef,#dff8fb)}
.destination-card{position:relative;height:360px;overflow:hidden}
.destination-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.family-card img{object-position:center 68%;transform:scaleX(-1)}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(1,31,60,.78) 100%)}
.card-copy{position:absolute;left:0;right:0;bottom:0;text-align:center;color:white;padding:18px 22px 24px;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.card-copy h2{font-family:"Brush Script MT","Segoe Print",cursive;font-weight:400;font-size:45px;line-height:.95;margin:0 0 7px;letter-spacing:0}
.card-copy p{font-size:13px;line-height:1.38;margin:0 auto 13px;max-width:370px;font-weight:600}
.card-copy a{display:inline-block;background:#ff1680;color:#fff;border-radius:999px;padding:9px 21px;text-shadow:none;font-size:12px;font-weight:800}

.planning-band{position:relative;min-height:190px;display:flex;align-items:center;gap:34px;justify-content:center;padding:28px 7% 28px 15%;background:linear-gradient(100deg,#fff5e9 0%,#fef9ef 44%,#dff9fb 100%);overflow:hidden}
.planning-band .flower{position:absolute;left:0;bottom:0;width:150px;height:auto;object-fit:contain;object-position:left bottom}
.planning-copy{position:relative;z-index:2;max-width:720px}
.planning-kicker{font-size:13px;font-weight:900;letter-spacing:.11em}
.planning-copy h2{font-family:"Brush Script MT","Segoe Print",cursive;font-size:47px;font-weight:400;line-height:1;margin:1px 0 8px}
.planning-copy p{margin:0;line-height:1.45;font-size:14px}

.contact-band{padding:24px 4.5% 30px;background:linear-gradient(180deg,#e1fafc,#eefcfd);border-top:1px solid #cdeff2}
.contact-title{text-align:center;font-family:"Brush Script MT","Segoe Print",cursive;font-size:43px;font-weight:400;margin-bottom:17px}
.contacts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.contacts a{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}
.contacts b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#ff1680;color:#fff;font-size:20px}
.contacts span{font-size:12px;line-height:1.25}
.contacts strong{display:block;margin-top:2px;font-size:12px}

.mobile-note{display:none}

/* Mobile Destinations: preserve the desktop look and imagery, reflow for phones */
.mobile-page-header,
.mobile-utility-links{
  display:none;
}

@media(max-width:700px){
  html,body{
    background:#eaf9fb;
  }

  body{
    overflow-x:hidden;
  }

  .page-shell{
    width:100%;
    max-width:520px;
    margin:0 auto;
    background:linear-gradient(100deg,#dff8fb 0%,#fef8ef 50%,#dff8fb 100%);
    box-shadow:0 0 20px rgba(8,47,99,.08);
  }

  .exact-header{
    display:none;
  }

  .mobile-page-header{
    display:block;
    background:linear-gradient(180deg,#ffffff 0%,#edfafe 100%);
    padding:8px 10px 13px;
    border-bottom:3px solid #ff1680;
    text-align:center;
  }

  .mobile-logo-link{
    display:block;
    width:min(94%,400px);
    margin:0 auto 7px;
  }

  .mobile-logo-link img{
    display:block;
    width:100%;
    height:auto;
  }

  .mobile-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:5px 11px;
    padding:4px 3px 10px;
  }

  .mobile-nav a{
    color:#082f63;
    text-decoration:none;
    text-transform:uppercase;
    font-family:Arial,sans-serif;
    font-size:10px;
    line-height:1.35;
    font-weight:800;
  }

  .mobile-nav a.active{
    color:#ff1680;
    text-decoration:underline;
    text-underline-offset:3px;
  }

  .mobile-plan-top{
    display:inline-block;
    padding:11px 22px;
    border-radius:999px;
    background:#ff1680;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 6px 15px rgba(255,22,128,.18);
  }

  .intro-band{
    min-height:0;
    display:block;
    padding:31px 24px 30px;
    text-align:center;
    background:
      linear-gradient(90deg,rgba(221,249,252,.92),rgba(255,248,239,.91),rgba(220,249,251,.92)),
      url("assets/hero.jpg") center/cover no-repeat;
  }

  .intro-copy{
    max-width:none;
  }

  .intro-kicker{
    font-size:12px;
    letter-spacing:.12em;
  }

  .intro-band h1{
    font-size:58px;
    line-height:1;
    margin:2px 0 9px;
  }

  .intro-band p{
    margin:0 auto;
    max-width:430px;
    font-size:15px;
    line-height:1.5;
  }

  .intro-band>.pink-button{
    margin-top:18px;
    padding:12px 22px;
    font-size:12px;
  }

  .destination-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:6px;
    background:linear-gradient(100deg,#dff8fb,#fef8ef,#dff8fb);
  }

  .destination-card{
    height:325px;
    border-radius:4px;
    box-shadow:0 5px 14px rgba(8,47,99,.12);
  }

  .destination-card img{
    object-position:center center;
  }

  .family-card img{
    object-position:center 68%;
  }

  .shade{
    background:linear-gradient(180deg,rgba(0,0,0,0) 24%,rgba(1,31,60,.82) 100%);
  }

  .card-copy{
    padding:20px 20px 24px;
  }

  .card-copy h2{
    font-size:43px;
    line-height:.95;
    margin-bottom:8px;
  }

  .card-copy p{
    max-width:390px;
    margin-bottom:13px;
    font-size:14px;
    line-height:1.4;
  }

  .card-copy a{
    padding:10px 22px;
    font-size:12px;
  }

  .planning-band{
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:15px;
    text-align:center;
    padding:34px 24px 31px;
    background:linear-gradient(120deg,#fff5e9 0%,#fef9ef 48%,#dff9fb 100%);
  }

  .planning-band .flower{
    width:105px;
    opacity:.88;
  }

  .planning-copy{
    max-width:390px;
  }

  .planning-kicker{
    font-size:11px;
  }

  .planning-copy h2{
    font-size:42px;
    margin:2px 0 8px;
  }

  .planning-copy p{
    font-size:14px;
    line-height:1.48;
  }

  .planning-band>.pink-button{
    position:relative;
    z-index:2;
    padding:12px 22px;
    font-size:12px;
  }

  .contact-band{
    padding:25px 18px 26px;
  }

  .contact-title{
    font-size:39px;
    line-height:1;
    margin-bottom:19px;
  }

  .contacts{
    grid-template-columns:repeat(2,1fr);
    gap:20px 10px;
  }

  .contacts b{
    width:38px;
    height:38px;
    font-size:19px;
  }

  .contacts span{
    font-size:11px;
  }

  .contacts strong{
    font-size:11px;
    overflow-wrap:anywhere;
  }

  .mobile-utility-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px 18px;
    padding:15px 15px 21px;
    background:linear-gradient(100deg,#e4fafc,#fff8ef);
  }

  .mobile-utility-links a{
    color:#082f63;
    font-size:11px;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:#ff1680;
    text-underline-offset:3px;
  }

  .mobile-note{
    display:none !important;
  }
}
