*{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}

.cruise-hero{position:relative;min-height:405px;background:url("assets/cruise-hero-local.png") center 50%/cover no-repeat;display:flex;align-items:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(233,251,252,.96) 0%,rgba(233,251,252,.86) 31%,rgba(233,251,252,.18) 58%,rgba(0,0,0,.03) 100%)}
.hero-copy{position:relative;z-index:2;width:52%;padding:46px 6.5%}
.hero-kicker{font-size:14px;font-weight:900;letter-spacing:.11em}
.hero-copy h1{font-family:"Brush Script MT","Segoe Print",cursive;color:#ff1680;font-size:78px;font-weight:400;line-height:.95;margin:1px 0 10px}
.hero-copy p{font-size:17px;line-height:1.52;font-weight:600;margin:0 0 22px;max-width:610px}
.pink-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:999px;background:#ff1680;color:#fff;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 7px 18px rgba(255,22,128,.20)}

.title-band{text-align:center;padding:28px 6% 26px;background:linear-gradient(100deg,#dff8fb,#fff8ef,#dff8fb)}
.small-title{font-size:13px;font-weight:900;letter-spacing:.12em}
.title-inner h2{font-family:"Brush Script MT","Segoe Print",cursive;color:#082f63;font-size:49px;font-weight:400;line-height:1;margin:3px 0 7px}
.title-inner p{margin:0 auto;max-width:760px;font-size:14px;line-height:1.45;font-weight:600}

.cruise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;background:linear-gradient(100deg,#dff8fb,#fef8ef,#dff8fb)}
.cruise-card{position:relative;height:350px;overflow:hidden}
.photo{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transition:transform .3s ease}
.cruise-card:hover .photo{transform:scale(1.025)}
.photo.caribbean{background-image:url("assets/cruise-caribbean.png")}
.photo.alaska{background-image:url("assets/cruise-alaska.png")}
.photo.europe{background-image:url("assets/cruise-europe.png")}
.photo.family{background-image:url("assets/cruise-family.png")}
.photo.luxury{background-image:url("assets/cruise-luxury.jpg")}
.photo.first{background-image:url("assets/cruise-first-time.jpg")}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 28%,rgba(1,31,60,.79) 100%)}
.card-copy{position:absolute;left:0;right:0;bottom:0;color:#fff;text-align:center;padding:19px 22px 22px;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.card-copy h3{font-family:"Brush Script MT","Segoe Print",cursive;font-size:40px;font-weight:400;line-height:.97;margin:0 0 7px}
.card-copy p{font-size:13px;line-height:1.38;font-weight:600;max-width:385px;margin:0 auto 12px}
.card-copy a{display:inline-block;background:#ff1680;color:#fff;border-radius:999px;padding:9px 21px;font-size:12px;font-weight:800;text-shadow:none}

.help-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;padding:20px 4% 22px}
.help-block{text-align:center;padding:6px 18px;border-right:1px solid #d5ecef}
.help-block:last-child{border-right:0}
.help-block .icon{font-size:30px;margin-bottom:4px}
.help-block strong{display:block;font-size:12px;letter-spacing:.05em}
.help-block span{display:block;font-size:11px;margin-top:3px;color:#49677e}

.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-page{display:none}

/* Mobile Cruises: same Travel Away visual style, reflowed 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);
  }

  .cruise-hero{
    min-height:515px;
    align-items:flex-end;
    background-position:center 50%;
  }

  .hero-overlay{
    background:linear-gradient(
      180deg,
      rgba(233,251,252,.06) 0%,
      rgba(233,251,252,.12) 35%,
      rgba(233,251,252,.90) 69%,
      rgba(233,251,252,.98) 100%
    );
  }

  .hero-copy{
    width:100%;
    padding:25px 24px 30px;
    text-align:center;
  }

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

  .hero-copy h1{
    font-size:65px;
    margin:1px 0 8px;
  }

  .hero-copy p{
    font-size:15px;
    line-height:1.48;
    margin:0 auto 18px;
    max-width:430px;
  }

  .pink-button{
    padding:12px 20px;
    font-size:12px;
  }

  .title-band{
    padding:27px 24px 24px;
  }

  .small-title{
    font-size:11px;
  }

  .title-inner h2{
    font-size:46px;
  }

  .title-inner p{
    font-size:14px;
    line-height:1.45;
  }

  .cruise-grid{
    grid-template-columns:1fr;
    gap:6px;
    padding:6px;
  }

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

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

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

  .card-copy h3{
    font-size:42px;
    margin-bottom:8px;
  }

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

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

  .help-strip{
    grid-template-columns:repeat(2,1fr);
    gap:0;
    padding:13px 10px 17px;
  }

  .help-block{
    padding:14px 8px;
    border-right:1px solid #d5ecef;
    border-bottom:1px solid #d5ecef;
  }

  .help-block:nth-child(2n){
    border-right:0;
  }

  .help-block:nth-last-child(-n+2){
    border-bottom:0;
  }

  .help-block .icon{
    font-size:27px;
  }

  .help-block strong{
    font-size:11px;
  }

  .help-block span{
    font-size:10px;
  }

  .planning-band{
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:15px;
    text-align:center;
    padding:35px 24px 31px;
  }

  .planning-band .flower{
    width:100px;
    opacity:.82;
  }

  .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;
  }

  .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-page{
    display:none !important;
  }
}

.photo.caribbean{background-position:center 48%}
.photo.alaska{background-position:center 48%}
.photo.europe{background-position:center 52%}
.photo.family{background-position:center 45%}
.photo.luxury{background-position:center 50%}
.photo.first{background-position:center 50%}
