*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(100deg,#dff8fb 0%,#fff8ef 50%,#dff8fb 100%)}
body{font-family:Arial,sans-serif;color:#082f63;overflow-x:hidden}
.desktop-page{display:block}
.approved-canvas{position:relative;width:min(100vw,1400px);aspect-ratio:1150/803;margin:0 auto;overflow:hidden;background:#e5fafc;box-shadow:0 0 24px rgba(8,47,99,.08)}
.approved-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.hot{position:absolute;display:block;z-index:5}

/* exact site header hotspots */
.nav-home{left:35%;top:1.95%;width:4.3%;height:5.1%}
.nav-dest{left:39%;top:1.95%;width:8.1%;height:5.1%}
.nav-cruises{left:47.2%;top:1.95%;width:5.5%;height:5.1%}
.nav-honeymoons{left:53%;top:1.95%;width:14.4%;height:5.1%}
.nav-about{left:67.5%;top:1.95%;width:5%;height:5.1%}
.nav-contact{left:72.5%;top:1.95%;width:5.7%;height:5.1%}
.nav-instagram{left:78.9%;top:1.95%;width:2.7%;height:5.1%}
.nav-facebook{left:81.7%;top:1.95%;width:2.7%;height:5.1%}
.nav-plan{left:84.5%;top:1.95%;width:12.7%;height:5.1%}

/* lower CTA and footer */
.body-plan{left:76.0%;top:80.7%;width:13.5%;height:5.7%}
#contact{position:absolute;left:0;top:88%;width:100%;height:1px}
.phone{left:15.5%;top:91.0%;width:10%;height:7%}
.email{left:35.0%;top:91.0%;width:15%;height:7%}
.ig{left:56.5%;top:91.0%;width:12.5%;height:7%}
.fb{left:78%;top:91.0%;width:10%;height:7%}

.hot:focus{outline:3px solid #ff1680;outline-offset:-2px}

.mobile-page{display:none}
@media(max-width:700px){
  .desktop-page{display:none}
  .mobile-page{display:block;min-height:100vh;padding:28px 22px;text-align:center;background:linear-gradient(150deg,#e6fbfd,#fff8ef);color:#082f63}
  .m-brand{font-family:"Brush Script MT","Segoe Print",cursive;font-size:48px}
  .m-sub{text-transform:uppercase;font-size:11px;letter-spacing:.08em}
  .mobile-page h1{font-family:"Brush Script MT","Segoe Print",cursive;color:#ff1680;font-size:52px;font-weight:400;line-height:1.05;margin:42px 0 14px}
  .mobile-page p{font-size:17px;line-height:1.5}
  .mobile-page>a{display:inline-block;margin-top:18px;padding:14px 24px;border-radius:999px;background:#ff1680;color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase}
  .m-links{margin-top:38px;display:flex;flex-direction:column;gap:12px}
  .m-links a{color:#082f63;text-decoration:none;font-weight:700}
}

/* Reviews section sits BELOW the approved About page — never over it */
.reviews-strip{
  width:min(100vw,1400px);
  margin:0 auto;
  min-height:96px;
  padding:18px 7%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:40px;
  background:linear-gradient(90deg,#e7fafc 0%,#fff8ef 52%,#e7fafc 100%);
  border-top:1px solid #cdeff2;
  box-shadow:0 8px 20px rgba(8,47,99,.06);
}
.reviews-strip-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  text-align:left;
}
.reviews-strip-copy span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  color:#ff1680;
}
.reviews-strip-copy strong{
  font-family:"Brush Script MT","Segoe Print",cursive;
  font-size:30px;
  font-weight:400;
  color:#082f63;
}
.reviews-strip>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 24px;
  border-radius:999px;
  background:#ff1680;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(255,22,128,.18);
}
.reviews-strip>a:hover{filter:brightness(.98)}

@media(max-width:700px){
  .reviews-strip{display:none}
  .mobile-reviews-link{
    display:inline-block!important;
    margin-top:10px!important;
    background:#082f63!important;
  }
}



.mobile-about-fixed{display:none}

@media(max-width:700px){
  html,body{background:#eaf9fb}
  .desktop-page{display:none!important}

  .mobile-about-fixed{
    display:block;
    width:100%;
    max-width:520px;
    margin:0 auto;
    color:#082f63;
    background:#fff;
    box-shadow:0 0 20px rgba(8,47,99,.08);
  }

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

  .m-logo{
    display:block;
    width:min(94%,400px);
    margin:0 auto 7px;
  }
  .m-logo img{display:block;width:100%;height:auto}

  .m-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:5px 11px;
    padding:4px 3px 10px;
  }
  .m-nav a{
    color:#082f63;
    font-size:10px;
    line-height:1.35;
    font-weight:800;
    text-decoration:none;
    text-transform:uppercase;
  }
  .m-nav a.active{
    color:#ff1680;
    text-decoration:underline;
    text-underline-offset:3px;
  }

  .m-plan,
  .m-cta>a,
  .m-reviews>a{
    display:inline-block;
    padding:11px 22px;
    border-radius:999px;
    background:#ff1680;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 6px 15px rgba(255,22,128,.16);
  }

  .m-hero{
    background:linear-gradient(135deg,#e6fbfd,#fff8ef);
  }
  .m-hero>img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
    object-position:center;
  }
  .m-hero-copy{
    padding:25px 23px 29px;
    text-align:center;
  }
  .m-hero-copy h1,
  .m-card h2,
  .m-how h2,
  .m-different h2,
  .m-cta h2,
  .m-reviews h2,
  .m-contact h2{
    font-family:"Brush Script MT","Segoe Print",cursive;
    font-weight:400;
    color:#082f63;
  }
  .m-hero-copy h1{
    margin:0;
    font-size:50px;
    line-height:1;
  }
  .eyebrow,
  .small{
    margin-top:5px;
    color:#ff1680;
    font-size:11px;
    font-weight:900;
    letter-spacing:.10em;
  }
  .m-hero-copy p{
    margin:13px 0 0;
    font-size:15px;
    line-height:1.5;
  }

  .m-about-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:10px;
    background:linear-gradient(100deg,#dff8fb,#fff8ef,#dff8fb);
  }

  .m-card{
    overflow:hidden;
    border:1px solid #d6ecef;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 16px rgba(8,47,99,.08);
  }
  .m-card>img{
    display:block;
    width:100%;
    height:170px;
    object-fit:cover;
  }
  .m-card>div{padding:18px 19px 20px}
  .m-card h2{
    margin:0 0 8px;
    font-size:34px;
    line-height:1;
  }
  .m-card p,
  .m-card li{
    font-size:14px;
    line-height:1.45;
    color:#345774;
  }
  .m-card p{margin:0}
  .m-card ul{margin:0;padding-left:19px}
  .m-card li{margin:6px 0}
  .m-card li::marker{color:#ff1680}

  .m-how{
    padding:29px 14px 22px;
    text-align:center;
    background:#e9fafc;
  }
  .m-how h2,
  .m-different h2{
    margin:0 0 17px;
    font-size:43px;
    line-height:1;
  }
  .m-how-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .m-how-grid article{
    position:relative;
    min-height:205px;
    padding:24px 12px 14px;
    border-radius:13px;
    background:rgba(255,255,255,.82);
    border:1px solid #d2eaee;
  }
  .m-how-grid .step{
    position:absolute;
    top:9px;
    left:10px;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#ff1680;
    color:#fff;
    font-size:14px;
    font-weight:900;
  }
  .m-how-grid .icon{
    margin:14px 0 7px;
    font-size:39px;
    line-height:1;
  }
  .m-how-grid h3{
    margin:0 0 7px;
    font-size:12px;
    line-height:1.2;
  }
  .m-how-grid p{
    margin:0;
    color:#345774;
    font-size:11px;
    line-height:1.4;
  }

  .m-different{
    padding:27px 14px;
    text-align:center;
    background:linear-gradient(100deg,#fff8ef,#e8fbfd);
  }
  .m-feature-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .m-feature-grid div{
    min-height:105px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:11px 8px;
    border-radius:12px;
    background:rgba(255,255,255,.78);
    border:1px solid #d4ecef;
  }
  .m-feature-grid div:last-child{grid-column:1/-1}
  .m-feature-grid span{
    color:#ff1680;
    font-size:31px;
    line-height:1;
  }
  .m-feature-grid strong{
    margin-top:6px;
    font-size:11px;
    line-height:1.25;
  }

  .m-cta,
  .m-reviews{
    padding:29px 22px;
    text-align:center;
  }
  .m-cta{
    background:#fff8ef;
  }
  .m-reviews{
    background:linear-gradient(100deg,#e6fafc,#fff8ef,#e6fafc);
    border-top:1px solid #d4ecef;
    border-bottom:1px solid #d4ecef;
  }
  .m-cta h2,
  .m-reviews h2{
    margin:3px 0 10px;
    font-size:39px;
    line-height:1.05;
  }
  .m-cta p{
    margin:0 auto 16px;
    max-width:430px;
    color:#345774;
    font-size:14px;
    line-height:1.5;
  }

  .m-contact{
    padding:25px 14px 22px;
    text-align:center;
    background:#e8fbfd;
  }
  .m-contact h2{
    margin:0 0 18px;
    font-size:39px;
    line-height:1;
  }
  .m-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .m-contact-grid a{
    min-height:98px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:10px 7px;
    border:1px solid #d4ecef;
    border-radius:12px;
    background:rgba(255,255,255,.78);
    color:#082f63;
    text-decoration:none;
  }
  .m-contact-grid span{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:4px;
    border-radius:50%;
    background:#ff1680;
    color:#fff;
    font-size:18px;
    font-weight:900;
  }
  .m-contact-grid small{font-size:10px}
  .m-contact-grid strong{
    margin-top:2px;
    font-size:11px;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .m-privacy{
    display:inline-block;
    margin-top:15px;
    color:#082f63;
    font-size:11px;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:#ff1680;
    text-underline-offset:3px;
  }

  .reviews-strip{display:none!important}
}
