:root {
  --navy:#071a35;
  --navy-deep:#031022;
  --blue:#0876bd;
  --blue-dark:#075b95;
  --gold:#d8ad54;
  --gold-light:#f1d58e;
  --paper:#f7f8fa;
  --white:#fff;
  --ink:#111c2c;
  --muted:#667386;
  --line:#dfe4ea;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}

body.menu-open {
  overflow:hidden;
}

a {
  color:inherit;
  text-decoration:none;
}

img {
  display:block;
  max-width:100%;
}

button,
input,
select {
  font:inherit;
}


/* =========================
   UTILITY BAR
========================= */

.utility-bar {
  min-height:38px;
  padding:0 clamp(24px,5vw,78px);

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:var(--navy-deep);
  color:#fff;

  font-size:10px;
}

.utility-message {
  display:flex;
  align-items:center;
  gap:16px;
}

.utility-message span {
  color:var(--gold-light);
  font-weight:900;
  letter-spacing:1.5px;
}

.utility-message strong {
  color:rgba(255,255,255,.6);
  font-weight:500;
}

.utility-links {
  display:flex;
  gap:25px;
}

.utility-links a {
  color:rgba(255,255,255,.75);
}


/* =========================
   MAIN NAVIGATION
========================= */

.market-header {
  position:relative;
  z-index:50;

  height:82px;
  padding:0 clamp(24px,5vw,78px);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  background:#fff;

  border-bottom:1px solid #e6e9ed;
}

.market-brand {
  width:185px;
  height:72px;

  display:flex;
  align-items:center;

  overflow:hidden;
}

.market-brand img {
  width:100%;
  transform:scale(1.12);
}

.market-nav {
  align-self:stretch;

  display:flex;
  align-items:stretch;

  gap:3px;
}

.market-nav a {
  position:relative;

  padding:0 16px;

  display:flex;
  align-items:center;

  color:#1b2b41;

  font-size:11px;
  font-weight:800;

  letter-spacing:.4px;

  text-transform:uppercase;
}

.market-nav a::after {
  content:"";

  position:absolute;

  left:16px;
  right:16px;
  bottom:0;

  height:3px;

  background:var(--blue);

  transform:scaleX(0);

  transition:transform .2s ease;
}

.market-nav a:hover::after {
  transform:scaleX(1);
}

.market-actions {
  display:flex;
  align-items:center;
  gap:12px;
}

.market-plan {
  min-height:44px;

  padding:0 20px;

  display:flex;
  align-items:center;

  background:var(--blue);
  color:#fff;

  font-size:10px;
  font-weight:900;

  letter-spacing:1px;
}

.market-plan:hover {
  background:var(--blue-dark);
}


/* =========================
   MENU BUTTON
========================= */

.menu-button {
  display:none;

  width:42px;
  height:42px;

  padding:0;

  border:0;

  background:transparent;
}

.menu-button span {
  display:block;

  width:24px;
  height:2px;

  margin:5px auto;

  background:#10223b;
}


/* =========================
   MOBILE MENU
========================= */

.mobile-menu {
  display:none;

  position:fixed;
  z-index:100;

  inset:0;

  padding:110px 28px 40px;

  background:#05152f;
  color:#fff;

  flex-direction:column;
}

.mobile-menu.open {
  display:flex;
}

.mobile-menu a {
  padding:17px 0;

  border-bottom:
    1px solid rgba(255,255,255,.1);

  font-size:18px;
  font-weight:700;
}


/* =========================
   TEMPORARY BASIC SECTIONS
========================= */

.market-hero,
.vacation-finder,
.quick-discovery,
.placeholder-section,
.market-footer {
  position:relative;
}

.placeholder-section {
  min-height:250px;

  padding:70px 30px;

  background:#f4f6f8;

  text-align:center;
}

.market-footer {
  padding:50px;

  background:var(--navy-deep);
  color:#fff;
}


/* =========================
   NAV RESPONSIVE
========================= */

@media (max-width:1100px) {

  .market-nav {
    display:none;
  }

  .menu-button {
    display:block;
  }

}


@media (max-width:700px) {

  .utility-message strong,
  .utility-links a:last-child {
    display:none;
  }

  .utility-bar {
    padding:0 18px;
  }

  .market-header {
    height:72px;
    padding:0 18px;
  }

  .market-brand {
    width:155px;
  }

  .market-plan {
    display:none;
  }

}


/* =========================================================
   MARKETPLACE HERO
========================================================= */

.market-hero {
  position:relative;

  min-height:570px;

  display:flex;
  align-items:center;

  padding:
    70px clamp(24px,7vw,112px);

  overflow:hidden;

  color:#fff;

  background:
    url("/assets/images/prestige-travel-banner.png")
    center 48% / cover no-repeat;
}


.market-hero-overlay {
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(2,13,31,.96) 0%,
      rgba(3,23,48,.86) 35%,
      rgba(5,38,65,.48) 68%,
      rgba(5,38,65,.12) 100%
    );
}


.market-hero::after {
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.05),
      rgba(0,0,0,.20)
    );
}


.market-hero-content {
  position:relative;
  z-index:3;

  width:min(720px,65vw);
}


.hero-kicker {
  margin-bottom:18px;

  color:var(--gold-light);

  font-size:11px;
  font-weight:900;

  letter-spacing:2.5px;
}


.market-hero h1 {
  max-width:700px;

  margin:
    0 0 23px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(58px,6.2vw,96px);

  font-weight:400;

  line-height:.95;

  letter-spacing:-.045em;
}


.market-hero h1 span {
  display:block;

  color:var(--gold-light);

  font-style:italic;
}


.market-hero-content > p {
  max-width:590px;

  margin:
    0 0 32px;

  color:
    rgba(255,255,255,.85);

  font-size:17px;

  line-height:1.65;
}


.market-hero-actions {
  display:flex;
  align-items:center;

  gap:30px;
}


.hero-primary {
  min-height:52px;

  padding:
    0 28px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;

  color:var(--navy);

  font-size:10px;
  font-weight:900;

  letter-spacing:1.4px;

  transition:
    background .2s ease,
    transform .2s ease;
}


.hero-primary:hover {
  background:
    var(--gold-light);

  transform:
    translateY(-2px);
}


.hero-secondary {
  display:flex;
  flex-direction:column;

  gap:4px;
}


.hero-secondary small {
  color:
    rgba(255,255,255,.57);

  font-size:8px;
  font-weight:900;

  letter-spacing:1.7px;
}


.hero-secondary strong {
  font-size:19px;

  letter-spacing:.3px;
}


/* HERO RESPONSIVE */

@media (max-width:900px) {

  .market-hero {
    min-height:520px;

    padding:
      65px 30px;
  }


  .market-hero-content {
    width:
      min(680px,88vw);
  }

}


@media (max-width:600px) {

  .market-hero {
    min-height:560px;

    padding:
      70px 22px;

    background-position:
      57% center;
  }


  .market-hero-content {
    width:100%;
  }


  .hero-kicker {
    font-size:9px;
  }


  .market-hero h1 {
    font-size:
      clamp(48px,15vw,68px);
  }


  .market-hero-content > p {
    font-size:14px;
  }


  .market-hero-actions {
    align-items:flex-start;

    flex-direction:column;

    gap:22px;
  }

}


/* =========================================================
   VACATION FINDER
========================================================= */

.vacation-finder {
  position:relative;
  z-index:10;

  width:min(1380px,92%);

  margin:-42px auto 0;

  padding:28px 32px 30px;

  background:#fff;

  box-shadow:
    0 18px 55px rgba(13,31,53,.18);
}


.finder-heading {
  margin-bottom:22px;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:40px;
}


.finder-kicker {
  display:block;

  margin-bottom:5px;

  color:#8a6a2e;

  font-size:9px;
  font-weight:900;

  letter-spacing:2px;
}


.finder-heading h2 {
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:32px;
  font-weight:400;
}


.finder-heading p {
  max-width:390px;

  margin:0;

  color:var(--muted);

  font-size:12px;
  line-height:1.55;

  text-align:right;
}


/* FINDER ROW */

.finder-row {
  display:grid;

  grid-template-columns:
    1.05fr
    1.35fr
    1.2fr
    .9fr
    175px;

  border:
    1px solid #d8dee5;
}


.finder-field {
  min-height:76px;

  padding:
    15px 18px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  border-right:
    1px solid #d8dee5;
}


.finder-field > span {
  margin-bottom:7px;

  color:#7a8491;

  font-size:8px;
  font-weight:900;

  letter-spacing:1.4px;
}


.finder-field input,
.finder-field select {
  width:100%;

  padding:0;

  border:0;
  outline:0;

  background:transparent;

  color:#17253a;

  font-size:14px;
  font-weight:700;
}


.finder-field input::placeholder {
  color:#9ba4af;
}


.finder-field select {
  cursor:pointer;
}


.finder-submit {
  min-height:76px;

  border:0;

  background:var(--blue);

  color:#fff;

  font-size:10px;
  font-weight:900;

  letter-spacing:1.2px;

  cursor:pointer;

  transition:
    background .2s ease;
}


.finder-submit:hover {
  background:
    var(--blue-dark);
}


/* =========================================================
   CONTACT DETAILS DRAWER
========================================================= */

.lead-details {
  display:none;

  margin-top:25px;

  padding-top:26px;

  border-top:
    1px solid #e2e6eb;
}


.lead-details.open {
  display:block;
}


.lead-details-head {
  margin-bottom:22px;

  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:20px;
}


.lead-details-head span {
  display:block;

  margin-bottom:5px;

  color:#8a6a2e;

  font-size:8px;
  font-weight:900;

  letter-spacing:1.6px;
}


.lead-details-head h3 {
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:24px;
  font-weight:400;
}


.lead-details-head button {
  width:38px;
  height:38px;

  border:
    1px solid #dce1e7;

  background:#fff;

  color:#536073;

  font-size:22px;

  cursor:pointer;
}


.lead-contact-grid {
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:12px;
}


.lead-contact-grid label {
  padding:
    13px 15px;

  border:
    1px solid #dce1e7;
}


.lead-contact-grid label > span {
  display:block;

  margin-bottom:7px;

  color:#7a8491;

  font-size:8px;
  font-weight:900;

  letter-spacing:1.4px;
}


.lead-contact-grid input {
  width:100%;

  padding:0;

  border:0;
  outline:0;

  font-size:14px;
  font-weight:700;
}


.lead-submit {
  min-height:50px;

  margin-top:15px;

  padding:
    0 22px;

  border:0;

  background:var(--navy);

  color:#fff;

  font-size:10px;
  font-weight:900;

  letter-spacing:1.2px;

  cursor:pointer;
}


.lead-submit b {
  margin-left:14px;

  color:var(--gold-light);

  font-size:18px;
}


.lead-consent {
  margin:
    10px 0 0;

  color:#89919d;

  font-size:9px;
}


.form-message {
  margin-top:12px;

  font-size:12px;
  font-weight:700;
}


/* FINDER RESPONSIVE */

@media (max-width:1050px) {

  .finder-row {
    grid-template-columns:
      1fr 1fr;
  }


  .finder-field {
    border-bottom:
      1px solid #d8dee5;
  }


  .finder-submit {
    grid-column:
      1 / -1;
  }


  .lead-contact-grid {
    grid-template-columns:
      1fr 1fr;
  }

}


@media (max-width:650px) {

  .vacation-finder {
    width:calc(100% - 28px);

    margin-top:-25px;

    padding:
      22px 16px;
  }


  .finder-heading {
    align-items:flex-start;

    flex-direction:column;

    gap:10px;
  }


  .finder-heading p {
    text-align:left;
  }


  .finder-row {
    grid-template-columns:1fr;
  }


  .finder-field {
    border-right:0;
  }


  .finder-submit {
    grid-column:auto;
  }


  .lead-contact-grid {
    grid-template-columns:1fr;
  }

}


/* =========================================================
   QUICK DISCOVERY
========================================================= */

.quick-discovery {
  padding:
    90px clamp(24px,5vw,78px)
    105px;
}


.discovery-heading {
  margin-bottom:30px;
}


.discovery-heading > span {
  display:block;

  margin-bottom:8px;

  color:#8a6a2e;

  font-size:9px;
  font-weight:900;

  letter-spacing:2px;
}


.discovery-heading h2 {
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(38px,4vw,56px);

  font-weight:400;
}


/* CARD GRID */

.discovery-grid {
  display:grid;

  grid-template-columns:
    1.15fr 1fr;

  grid-template-rows:
    repeat(2,300px);

  gap:16px;
}


.discovery-card {
  position:relative;

  overflow:hidden;

  display:flex;
  align-items:flex-end;

  padding:30px;

  color:#fff;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.02),
      rgba(3,16,35,.9)
    ),
    url(
      "/assets/images/prestige-travel-banner.png"
    )
    center / cover no-repeat;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.discovery-card:hover {
  transform:
    translateY(-4px);

  box-shadow:
    0 18px 40px rgba(8,27,49,.18);
}


.discovery-card::after {
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      135deg,
      rgba(5,82,121,.04),
      rgba(3,14,31,.26)
    );

  pointer-events:none;
}


.discovery-copy {
  position:relative;
  z-index:2;

  max-width:440px;
}


.discovery-copy > span {
  color:var(--gold-light);

  font-size:9px;
  font-weight:900;

  letter-spacing:1.8px;
}


.discovery-copy h3 {
  margin:
    8px 0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(27px,2.5vw,38px);

  font-weight:400;

  line-height:1.05;
}


.discovery-copy p {
  margin:
    0 0 17px;

  color:
    rgba(255,255,255,.74);

  font-size:12px;

  line-height:1.5;
}


.discovery-copy strong {
  font-size:9px;
  font-weight:900;

  letter-spacing:1.2px;
}


/* LARGE CRUISE CARD */

.discovery-cruise {
  grid-row:
    1 / span 2;

  background-position:
    40% center;
}


.discovery-cruise .discovery-copy h3 {
  font-size:
    clamp(36px,3.5vw,52px);
}


/* DIFFERENT CROPS FOR VARIETY */

.discovery-caribbean {
  background-position:
    65% center;
}


.discovery-florida {
  background-position:
    28% center;
}


.discovery-resort {
  background-position:
    78% center;
}


/* =========================================================
   DISCOVERY RESPONSIVE
========================================================= */

@media (max-width:900px) {

  .discovery-grid {
    grid-template-columns:
      1fr 1fr;

    grid-template-rows:
      repeat(2,280px);
  }


  .discovery-cruise {
    grid-row:auto;
  }

}


@media (max-width:600px) {

  .quick-discovery {
    padding:
      70px 18px;
  }


  .discovery-grid {
    grid-template-columns:1fr;

    grid-template-rows:auto;
  }


  .discovery-card {
    min-height:300px;
  }

}


/* =========================================================
   APPROVED DESIGN OVERRIDES
========================================================= */

/* TOP BAR */

.prestige-topbar {
  height:38px;

  padding:
    0 clamp(28px,5vw,72px);

  display:flex;
  align-items:center;
  justify-content:space-between;

  background:#031a35;
  color:#fff;

  font-size:10px;
}


.topbar-left,
.topbar-right {
  display:flex;
  align-items:center;
}


.topbar-left {
  gap:20px;
}


.topbar-left strong {
  color:#e2b74f;

  font-size:10px;
  font-weight:900;

  letter-spacing:1.4px;
}


.topbar-left span {
  color:
    rgba(255,255,255,.72);
}


.topbar-right {
  gap:26px;
}


.topbar-right a {
  color:
    rgba(255,255,255,.88);
}


/* MAIN WHITE NAV */

.prestige-nav {
  position:relative;
  z-index:40;

  height:84px;

  padding:
    0 clamp(28px,4vw,62px);

  display:grid;

  grid-template-columns:
    210px 1fr 170px;

  align-items:center;

  background:#fff;

  border-bottom:
    1px solid #e7e9ed;
}


.prestige-nav-logo {
  width:175px;
  height:76px;

  display:flex;
  align-items:center;

  overflow:hidden;
}


.prestige-nav-logo img {
  width:100%;

  transform:
    scale(1.08);
}


.prestige-nav-links {
  height:100%;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:
    clamp(22px,2.5vw,42px);
}


.prestige-nav-links a {
  height:100%;

  display:flex;
  align-items:center;

  position:relative;

  color:#0b203b;

  font-size:11px;
  font-weight:700;
}


.prestige-nav-links a::after {
  content:"";

  position:absolute;

  left:0;
  right:0;
  bottom:0;

  height:3px;

  background:#1689cf;

  transform:
    scaleX(0);

  transition:
    transform .2s ease;
}


.prestige-nav-links a:hover::after {
  transform:
    scaleX(1);
}


.prestige-plan-button {
  justify-self:end;

  width:160px;
  height:48px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    linear-gradient(
      135deg,
      #e8c45e,
      #cda13e
    );

  color:#fff;

  font-size:10px;
  font-weight:900;

  letter-spacing:1.2px;
}


/* =========================================================
   REAL CRUISE HERO
========================================================= */

.approved-hero {
  position:relative;

  min-height:555px;

  display:flex;
  align-items:center;

  overflow:hidden;

  padding:
    58px clamp(30px,5vw,74px)
    110px;

  color:#fff;

  background:
    url("/assets/images/hero-cruise.png")
    center center / cover no-repeat;
}


.approved-hero-shade {
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(1,18,39,.93) 0%,
      rgba(2,27,52,.76) 30%,
      rgba(2,29,52,.28) 59%,
      rgba(0,0,0,.04) 100%
    );
}


.approved-hero-content {
  position:relative;
  z-index:3;

  width:min(600px,50vw);
}


.approved-kicker {
  margin-bottom:15px;

  color:#f0cb6b;

  font-size:11px;
  font-weight:900;

  letter-spacing:4px;
}


.approved-hero h1 {
  margin:
    0 0 16px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(60px,5.6vw,88px);

  font-weight:400;

  line-height:.82;

  letter-spacing:-.04em;
}


.approved-hero h1 span {
  display:block;

  margin-top:12px;

  color:#edc65f;

  font-style:italic;
}


.approved-hero-content > p {
  max-width:500px;

  margin:
    0 0 24px;

  color:
    rgba(255,255,255,.94);

  font-size:15px;

  line-height:1.45;
}


.approved-hero-actions {
  display:flex;
  align-items:center;

  gap:28px;
}


.approved-find-button {
  height:52px;

  padding:
    0 27px;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:18px;

  background:
    linear-gradient(
      135deg,
      #efcb67,
      #d5a943
    );

  color:#0a2442;

  font-size:10px;
  font-weight:900;

  letter-spacing:1px;
}


.approved-find-button b {
  font-size:17px;
}


.approved-call {
  display:flex;
  align-items:center;

  gap:11px;
}


.approved-call-icon {
  width:36px;
  height:36px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:
    2px solid #fff;

  border-radius:50%;

  font-size:15px;
}


.approved-call > span:last-child {
  display:flex;
  flex-direction:column;

  gap:2px;
}


.approved-call small {
  font-size:8px;
  font-weight:900;

  letter-spacing:1.5px;
}


.approved-call strong {
  font-size:16px;
}


/* SCRIPT STYLE SIGNATURE */

.hero-signature {
  position:absolute;
  z-index:3;

  right:
    clamp(35px,7vw,110px);

  bottom:75px;

  color:#fff;

  font-family:
    "Brush Script MT",
    "Segoe Script",
    cursive;

  font-size:
    clamp(30px,3vw,48px);

  font-style:italic;

  line-height:.85;

  transform:
    rotate(-7deg);

  text-shadow:
    0 3px 16px rgba(0,0,0,.28);
}


/* =========================================================
   MOVE FINDER INTO HERO LIKE APPROVED MOCKUP
========================================================= */

.vacation-finder {
  margin-top:-70px;

  width:
    min(1450px,93%);

  padding:
    18px 20px 20px;

  border-radius:9px;

  box-shadow:
    0 18px 45px rgba(6,28,52,.18);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1050px) {

  .prestige-nav {
    grid-template-columns:
      190px 1fr;
  }


  .prestige-nav-links,
  .prestige-plan-button {
    display:none;
  }


  .prestige-nav .menu-button {
    display:block;

    justify-self:end;
  }


  .approved-hero-content {
    width:
      min(620px,70vw);
  }

}


@media (max-width:650px) {

  .prestige-topbar {
    height:34px;

    padding:
      0 16px;
  }


  .topbar-left span,
  .topbar-right a:last-child {
    display:none;
  }


  .topbar-right {
    gap:0;
  }


  .prestige-nav {
    height:70px;

    padding:
      0 16px;

    grid-template-columns:
      160px 1fr;
  }


  .prestige-nav-logo {
    width:145px;
    height:64px;
  }


  .approved-hero {
    min-height:600px;

    align-items:flex-start;

    padding:
      75px 22px
      130px;

    background-position:
      60% center;
  }


  .approved-hero-content {
    width:100%;
  }


  .approved-kicker {
    font-size:8px;

    letter-spacing:2.5px;
  }


  .approved-hero h1 {
    font-size:
      clamp(52px,15vw,70px);
  }


  .approved-hero-content > p {
    max-width:330px;

    font-size:13px;
  }


  .approved-hero-actions {
    align-items:flex-start;

    flex-direction:column;

    gap:18px;
  }


  .hero-signature {
    display:none;
  }


  .vacation-finder {
    margin-top:-50px;
  }

}


/* =========================================================
   APPROVED DISCOVERY CARDS - REAL TRAVEL IMAGES
========================================================= */

.quick-discovery {
  padding:
    82px clamp(28px,4vw,66px)
    70px;

  background:#fff;
}


.discovery-heading {
  margin-bottom:28px;
}


.discovery-heading > span {
  color:#a87a27;

  font-size:9px;
  font-weight:900;

  letter-spacing:2.2px;
}


.discovery-heading h2 {
  margin-top:7px;

  color:#071a35;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(42px,4vw,58px);

  font-weight:400;
}


/* FOUR EQUAL CARDS LIKE APPROVED MOCKUP */

.discovery-grid {
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  grid-template-rows:
    300px;

  gap:14px;
}


.discovery-card,
.discovery-cruise {
  min-height:300px;

  grid-row:auto;

  padding:24px;

  border-radius:6px;

  align-items:flex-end;

  background-size:cover;

  background-repeat:no-repeat;

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}


.discovery-card:hover {
  transform:
    translateY(-4px);

  box-shadow:
    0 15px 35px rgba(6,30,56,.18);
}


/* CRUISES */

.discovery-cruise {
  background-image:
    linear-gradient(
      180deg,
      rgba(0,19,42,.03) 20%,
      rgba(1,22,46,.88) 100%
    ),
    url("/assets/images/hero-cruise.png");

  background-position:
    55% center;
}


/* CARIBBEAN */

.discovery-caribbean {
  background-image:
    linear-gradient(
      180deg,
      rgba(0,19,42,.02) 20%,
      rgba(1,22,46,.86) 100%
    ),
    url("/assets/images/caribbean-beach.png");

  background-position:
    center center;
}


/* FLORIDA */

.discovery-florida {
  background-image:
    linear-gradient(
      180deg,
      rgba(0,19,42,.02) 20%,
      rgba(1,22,46,.86) 100%
    ),
    url("/assets/images/florida-coast.png");

  background-position:
    center center;
}


/* RESORT */

.discovery-resort {
  background-image:
    linear-gradient(
      180deg,
      rgba(0,19,42,.02) 20%,
      rgba(1,22,46,.86) 100%
    ),
    url("/assets/images/luxury-resort.png");

  background-position:
    center center;
}


/* COPY */

.discovery-copy {
  max-width:100%;
}


.discovery-copy > span {
  color:#f0cb6b;

  font-size:9px;
  font-weight:900;

  letter-spacing:1.5px;
}


.discovery-copy h3,
.discovery-cruise .discovery-copy h3 {
  margin:
    7px 0 8px;

  color:#fff;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(27px,2.2vw,36px);

  font-weight:400;

  line-height:1.02;
}


.discovery-copy p {
  margin-bottom:17px;

  color:
    rgba(255,255,255,.88);

  font-size:11px;

  line-height:1.45;
}


.discovery-copy strong {
  color:#fff;

  font-size:9px;
  font-weight:900;

  letter-spacing:1.1px;
}


/* RESPONSIVE */

@media (max-width:1050px) {

  .discovery-grid {
    grid-template-columns:
      repeat(2,1fr);

    grid-template-rows:
      repeat(2,290px);
  }

}


@media (max-width:600px) {

  .quick-discovery {
    padding:
      65px 18px;
  }


  .discovery-grid {
    grid-template-columns:1fr;

    grid-template-rows:auto;
  }


  .discovery-card,
  .discovery-cruise {
    min-height:330px;
  }

}


/* =========================================================
   APPROVED TRAVEL FINDER TABS
========================================================= */

.vacation-finder {
  padding-top:0;
  overflow:visible;
}


.travel-tabs {
  height:48px;

  margin:
    -48px 0 18px;

  display:flex;
  align-items:stretch;

  width:max-content;
  max-width:100%;

  border-radius:
    9px 9px 0 0;

  overflow:hidden;

  background:#fff;

  box-shadow:
    0 -5px 18px rgba(5,30,55,.08);
}


.travel-tab {
  min-width:145px;

  padding:
    0 22px;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:10px;

  border:0;
  border-right:
    1px solid #e0e5eb;

  background:#fff;

  color:#26374c;

  font-size:11px;
  font-weight:700;

  cursor:pointer;

  transition:
    background .2s ease,
    color .2s ease;
}


.travel-tab:last-child {
  min-width:205px;
  border-right:0;
}


.travel-tab-icon {
  font-size:17px;
}


.travel-tab:hover {
  background:#f3f7fa;
}


.travel-tab.active {
  position:relative;

  background:
    linear-gradient(
      135deg,
      #1598dc,
      #0879bf
    );

  color:#fff;
}


.travel-tab.active::after {
  content:"";

  position:absolute;

  right:-14px;
  top:0;

  width:28px;
  height:100%;

  background:#0879bf;

  transform:
    skewX(18deg);

  z-index:2;
}


.travel-tab.active span {
  position:relative;
  z-index:3;
}


/* REMOVE OLD FINDER HEADING VISUALLY */

.vacation-finder .finder-heading {
  display:none;
}


/* MAKE SEARCH ROW MATCH MOCKUP */

.vacation-finder .finder-row {
  border:
    1px solid #dce3ea;

  border-radius:4px;

  overflow:hidden;

  background:#fff;
}


.vacation-finder .finder-field {
  min-height:70px;

  padding:
    13px 18px;
}


.vacation-finder .finder-submit {
  min-height:70px;

  background:
    linear-gradient(
      135deg,
      #0b89d1,
      #056eb5
    );

  font-size:10px;

  letter-spacing:1.3px;
}


.vacation-finder .finder-submit::after {
  content:"  →";

  font-size:15px;
}


/* RESPONSIVE TABS */

@media (max-width:800px) {

  .travel-tabs {
    width:100%;

    overflow-x:auto;

    justify-content:flex-start;
  }


  .travel-tab {
    min-width:125px;

    flex:0 0 auto;

    padding:
      0 15px;
  }


  .travel-tab:last-child {
    min-width:180px;
  }

}


@media (max-width:600px) {

  .travel-tabs {
    margin-top:-48px;
  }


  .travel-tab {
    font-size:10px;
  }

}


/* =========================================================
   TOP CRUISES
========================================================= */

.top-cruises {
  padding:
    82px clamp(28px,4vw,66px)
    95px;

  background:#f6f7f8;
}


.top-cruises-heading {
  margin-bottom:30px;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:30px;
}


.section-kicker {
  color:#b48329;

  font-size:9px;
  font-weight:900;

  letter-spacing:2.2px;
}


.top-cruises-heading h2 {
  margin:
    7px 0 7px;

  color:#071a35;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(40px,4vw,58px);

  font-weight:400;

  letter-spacing:-1.5px;
}


.top-cruises-heading p {
  margin:0;

  color:#697586;

  font-size:12px;

  line-height:1.5;
}


.top-cruises-heading > a {
  margin-bottom:5px;

  color:#087cc4;

  font-size:10px;
  font-weight:900;

  letter-spacing:1.1px;
}


/* CARD GRID */

.cruise-card-grid {
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:16px;
}


.cruise-offer-card {
  overflow:hidden;

  background:#fff;

  border:
    1px solid #e1e5e9;

  border-radius:5px;

  box-shadow:
    0 5px 18px rgba(8,30,52,.05);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}


.cruise-offer-card:hover {
  transform:
    translateY(-5px);

  box-shadow:
    0 16px 35px rgba(8,30,52,.13);
}


/* CARD PHOTOGRAPHY */

.cruise-card-image {
  position:relative;

  height:205px;

  background-image:
    url("/assets/images/hero-cruise.png");

  background-size:cover;

  background-repeat:no-repeat;
}


.cruise-one {
  background-position:
    48% center;
}


.cruise-two {
  background-position:
    61% center;
}


.cruise-three {
  background-position:
    37% center;
}


.cruise-four {
  background-position:
    72% center;
}


/* BADGES */

.cruise-badge {
  position:absolute;

  top:13px;
  left:13px;

  padding:
    7px 10px;

  border-radius:3px;

  background:#e5b83f;

  color:#fff;

  font-size:8px;
  font-weight:900;

  letter-spacing:.8px;
}


.cruise-badge.blue {
  background:#087fc6;
}


/* CARD BODY */

.cruise-card-body {
  padding:
    20px 19px 21px;
}


.cruise-region {
  color:#087fc6;

  font-size:8px;
  font-weight:900;

  letter-spacing:1.7px;
}


.cruise-card-body h3 {
  margin:
    7px 0 9px;

  color:#0a1d38;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:22px;
  font-weight:400;

  line-height:1.08;
}


.cruise-card-body > p {
  min-height:50px;

  margin:
    0 0 17px;

  color:#6c7684;

  font-size:11px;

  line-height:1.55;
}


/* ROUTE */

.cruise-route {
  min-height:34px;

  margin-bottom:17px;

  padding:
    10px 0;

  display:flex;
  align-items:center;

  gap:8px;

  border-top:
    1px solid #edf0f2;

  border-bottom:
    1px solid #edf0f2;

  color:#5c6877;

  font-size:9px;
  font-weight:700;
}


.cruise-route b {
  color:#d1a23b;
}


/* BUTTON */

.cruise-request {
  width:100%;
  min-height:39px;

  border:
    1px solid #0b7dc1;

  background:#fff;

  color:#0877b9;

  font-size:9px;
  font-weight:900;

  letter-spacing:1px;

  cursor:pointer;

  transition:
    background .2s ease,
    color .2s ease;
}


.cruise-request:hover {
  background:#087cc4;

  color:#fff;
}


/* RESPONSIVE */

@media (max-width:1050px) {

  .cruise-card-grid {
    grid-template-columns:
      repeat(2,1fr);
  }

}


@media (max-width:600px) {

  .top-cruises {
    padding:
      65px 18px;
  }


  .top-cruises-heading {
    align-items:flex-start;

    flex-direction:column;
  }


  .cruise-card-grid {
    grid-template-columns:1fr;
  }


  .cruise-card-image {
    height:235px;
  }


  .cruise-card-body > p {
    min-height:0;
  }

}


/* =========================================================
   PRESTIGE PROFESSIONAL FOOTER
========================================================= */

.market-footer {
  display:none;
}


.prestige-footer {
  padding:
    58px clamp(28px,5vw,78px)
    0;

  background:#03152d;

  color:#fff;
}


.prestige-footer-main {
  padding-bottom:48px;

  display:grid;

  grid-template-columns:
    1.5fr .8fr .9fr 1fr;

  gap:
    clamp(35px,5vw,85px);
}


.footer-brand img {
  width:170px;
  height:75px;

  object-fit:cover;

  object-position:center;

  margin-bottom:18px;

  border-radius:3px;
}


.footer-brand p {
  max-width:330px;

  margin:0;

  color:
    rgba(255,255,255,.58);

  font-size:11px;

  line-height:1.7;
}


.footer-column,
.footer-contact {
  display:flex;

  flex-direction:column;

  align-items:flex-start;

  gap:11px;
}


.footer-column strong,
.footer-contact > strong {
  margin-bottom:7px;

  color:#dcb450;

  font-size:9px;

  letter-spacing:1.7px;
}


.footer-column a,
.footer-contact a {
  color:
    rgba(255,255,255,.72);

  font-size:11px;

  transition:
    color .2s ease;
}


.footer-column a:hover,
.footer-contact a:hover {
  color:#fff;
}


.footer-contact .footer-phone {
  color:#fff;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:24px;
}


.footer-plan {
  margin-top:9px;

  padding:
    11px 15px;

  border:
    1px solid rgba(220,180,80,.6);

  color:#efce78 !important;

  font-size:9px !important;

  font-weight:900;

  letter-spacing:1px;
}


.prestige-footer-bottom {
  min-height:58px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  border-top:
    1px solid rgba(255,255,255,.1);

  color:
    rgba(255,255,255,.42);

  font-size:9px;
}


@media (max-width:850px) {

  .prestige-footer-main {
    grid-template-columns:
      1fr 1fr;
  }

}


@media (max-width:520px) {

  .prestige-footer {
    padding:
      45px 22px 0;
  }


  .prestige-footer-main {
    grid-template-columns:1fr;

    gap:32px;
  }


  .prestige-footer-bottom {
    padding:
      18px 0;

    align-items:flex-start;

    flex-direction:column;

    justify-content:center;
  }

}


/* =========================================================
   UNIQUE CRUISE CARD PHOTOS
========================================================= */

.cruise-one {
  background-image:
    url("/assets/images/cruise-bahamas.png"),
    url("/assets/images/hero-cruise.png");

  background-position:center;
}

.cruise-two {
  background-image:
    url("/assets/images/cruise-family.png"),
    url("/assets/images/hero-cruise.png");

  background-position:center;
}

.cruise-three {
  background-image:
    url("/assets/images/cruise-island.png"),
    url("/assets/images/hero-cruise.png");

  background-position:center;
}

.cruise-four {
  background-image:
    url("/assets/images/cruise-longer.png"),
    url("/assets/images/hero-cruise.png");

  background-position:center;
}


/* =========================================================
   SHARED SECTION HEADING
========================================================= */

.market-section-heading {
  max-width:760px;

  margin-bottom:32px;
}

.market-section-heading > span,
.florida-copy > span,
.resort-content > span,
.offers-inner > span {
  color:#b6852c;

  font-size:9px;
  font-weight:900;

  letter-spacing:2.2px;
}

.market-section-heading h2 {
  margin:8px 0 9px;

  color:#071a35;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(42px,4vw,58px);

  font-weight:400;

  line-height:1;
}

.market-section-heading p {
  margin:0;

  color:#6b7685;

  font-size:12px;

  line-height:1.6;
}


/* =========================================================
   DESTINATIONS
========================================================= */

.destination-section {
  padding:
    90px clamp(28px,4vw,66px);

  background:#fff;
}

.destination-grid {
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:16px;
}

.destination-card {
  position:relative;

  min-height:410px;

  padding:28px;

  overflow:hidden;

  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;

  border:0;
  border-radius:6px;

  color:#fff;

  text-align:left;

  cursor:pointer;

  background-size:cover;
  background-position:center;

  box-shadow:
    0 8px 25px rgba(4,25,48,.12);

  transition:
    transform .25s ease;
}

.destination-card:hover {
  transform:translateY(-5px);
}

.destination-card::before {
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(2,19,40,.02) 30%,
      rgba(2,20,42,.88) 100%
    );
}

.destination-card > * {
  position:relative;
  z-index:2;
}

.destination-bahamas {
  background-image:
    url("/assets/images/caribbean-beach.png");
}

.destination-caribbean {
  background-image:
    url("/assets/images/luxury-resort.png");
}

.destination-islands {
  background-image:
    url("/assets/images/cruise-island.png"),
    url("/assets/images/caribbean-beach.png");
}

.destination-card > span {
  margin-bottom:7px;

  color:#f1cc6d;

  font-size:9px;
  font-weight:900;

  letter-spacing:1.8px;
}

.destination-card strong {
  max-width:330px;

  margin-bottom:18px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(28px,2.5vw,39px);

  font-weight:400;

  line-height:1.04;
}

.destination-card b {
  font-size:9px;

  letter-spacing:1.2px;
}


/* =========================================================
   SAIL FROM FLORIDA
========================================================= */

.florida-section {
  min-height:560px;

  display:grid;

  grid-template-columns:
    1.15fr .85fr;

  background:#071a35;
}

.florida-photo {
  min-height:560px;

  background:
    url("/assets/images/florida-coast.png")
    center / cover no-repeat;
}

.florida-copy {
  padding:
    clamp(55px,7vw,105px);

  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;

  color:#fff;
}

.florida-copy > span {
  color:#edc75e;
}

.florida-copy h2 {
  max-width:530px;

  margin:
    10px 0 18px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(40px,4vw,58px);

  font-weight:400;

  line-height:1.02;
}

.florida-copy > p {
  max-width:490px;

  margin:
    0 0 24px;

  color:
    rgba(255,255,255,.72);

  font-size:13px;

  line-height:1.65;
}

.port-list {
  margin-bottom:28px;

  display:flex;
  flex-wrap:wrap;

  gap:8px;
}

.port-list span {
  padding:
    8px 11px;

  border:
    1px solid rgba(255,255,255,.2);

  color:
    rgba(255,255,255,.88);

  font-size:9px;
}


/* =========================================================
   MARKET ACTION BUTTON
========================================================= */

.market-action {
  min-height:47px;

  padding:
    0 20px;

  border:
    1px solid #e1b84e;

  background:#e1b84e;

  color:#09203b;

  font-size:9px;
  font-weight:900;

  letter-spacing:1px;

  cursor:pointer;
}


/* =========================================================
   RESORT SECTION
========================================================= */

.resort-section {
  position:relative;

  min-height:590px;

  display:flex;
  align-items:center;

  padding:
    70px clamp(30px,6vw,95px);

  color:#fff;

  background:
    linear-gradient(
      90deg,
      rgba(2,18,38,.93),
      rgba(2,21,43,.62) 48%,
      rgba(2,21,43,.08)
    ),
    url("/assets/images/luxury-resort.png")
    center / cover no-repeat;
}

.resort-content {
  position:relative;
  z-index:2;

  max-width:570px;
}

.resort-content > span {
  color:#edc75e;
}

.resort-content h2 {
  margin:
    9px 0 18px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(48px,5vw,70px);

  font-weight:400;

  line-height:.95;
}

.resort-content h2 em {
  display:block;

  color:#edc75e;

  font-weight:400;
}

.resort-content p {
  max-width:470px;

  margin:
    0 0 27px;

  color:
    rgba(255,255,255,.78);

  font-size:13px;

  line-height:1.65;
}


/* =========================================================
   FINAL CTA / OFFERS
========================================================= */

.offers-section {
  padding:
    95px 25px;

  display:flex;
  justify-content:center;

  background:#f4f6f8;

  text-align:center;
}

.offers-inner {
  max-width:760px;
}

.offers-inner h2 {
  margin:
    9px 0 15px;

  color:#071a35;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(42px,4vw,60px);

  font-weight:400;

  line-height:1;
}

.offers-inner p {
  max-width:620px;

  margin:
    0 auto 28px;

  color:#687484;

  font-size:13px;

  line-height:1.65;
}

.offers-inner > a {
  min-width:185px;
  min-height:48px;

  padding:
    0 23px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:#087dc4;

  color:#fff;

  font-size:9px;
  font-weight:900;

  letter-spacing:1.2px;
}


/* =========================================================
   FINAL RESPONSIVE
========================================================= */

@media (max-width:900px) {

  .destination-grid {
    grid-template-columns:1fr 1fr;
  }

  .destination-card:last-child {
    grid-column:
      1 / -1;
  }

  .florida-section {
    grid-template-columns:1fr;
  }

  .florida-photo {
    min-height:430px;
  }

}


@media (max-width:600px) {

  .destination-section {
    padding:
      65px 18px;
  }

  .destination-grid {
    grid-template-columns:1fr;
  }

  .destination-card,
  .destination-card:last-child {
    grid-column:auto;

    min-height:350px;
  }

  .florida-photo {
    min-height:330px;
  }

  .florida-copy {
    padding:
      55px 22px;
  }

  .resort-section {
    min-height:580px;

    padding:
      65px 22px;

    background-position:
      62% center;
  }

  .offers-section {
    padding:
      70px 20px;
  }

}


/* =========================================================
   FINAL FOOTER POLISH
========================================================= */

.prestige-footer {
  padding:
    46px clamp(28px,5vw,78px)
    0;

  background:#021229;
}


.prestige-footer-main {
  padding-bottom:38px;

  grid-template-columns:
    1.35fr .7fr .8fr 1fr;

  gap:
    clamp(30px,4vw,65px);
}


/* Hide oversized artwork */

.prestige-footer .footer-brand img {
  display:none;
}


/* Replace artwork with clean brand treatment */

.prestige-footer .footer-brand::before {
  content:"PRESTIGE";

  display:block;

  margin-bottom:3px;

  color:#fff;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:28px;

  letter-spacing:4px;
}


.prestige-footer .footer-brand::after {
  content:"GLOBAL HOLDINGS";

  display:block;

  margin-bottom:18px;

  color:#d9af4e;

  font-size:8px;
  font-weight:900;

  letter-spacing:3px;
}


.prestige-footer .footer-brand p {
  max-width:280px;

  color:
    rgba(255,255,255,.5);

  font-size:10px;

  line-height:1.65;
}


.prestige-footer .footer-column,
.prestige-footer .footer-contact {
  gap:9px;
}


.prestige-footer .footer-column strong,
.prestige-footer .footer-contact > strong {
  margin-bottom:5px;

  color:#d9af4e;
}


.prestige-footer .footer-phone {
  margin-bottom:2px;

  font-size:21px;
}


.prestige-footer .footer-plan {
  margin-top:7px;

  padding:
    10px 14px;
}


.prestige-footer-bottom {
  min-height:52px;
}


/* MOBILE */

@media (max-width:600px) {

  .prestige-footer {
    padding:
      42px 22px 0;
  }


  .prestige-footer-main {
    grid-template-columns:
      1fr;

    gap:28px;
  }


  .prestige-footer .footer-brand::before {
    font-size:25px;
  }

}


/* =========================================================
   FINAL HEADER BRAND
========================================================= */

.prestige-nav-logo {
  width:210px;
  height:84px;

  position:relative;

  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;

  overflow:visible;
}


.prestige-nav-logo img {
  display:none;
}


.prestige-nav-logo::before {
  content:"PRESTIGE";

  display:block;

  color:#071a35;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:25px;
  font-weight:600;

  line-height:1;

  letter-spacing:4px;
}


.prestige-nav-logo::after {
  content:"GLOBAL HOLDINGS";

  display:block;

  margin-top:5px;

  padding-left:2px;

  color:#b1842e;

  font-size:7px;
  font-weight:900;

  line-height:1;

  letter-spacing:3px;
}


/* =========================================================
   FINAL CTA TIGHTENING
========================================================= */

.offers-section {
  padding:
    72px 25px;
}


.offers-inner h2 {
  margin:
    8px 0 12px;
}


.offers-inner p {
  margin-bottom:22px;
}


/* =========================================================
   MOBILE HEADER BRAND
========================================================= */

@media (max-width:1050px) {

  .prestige-nav-logo {
    width:185px;
  }

}


@media (max-width:650px) {

  .prestige-nav-logo {
    width:155px;
    height:70px;
  }


  .prestige-nav-logo::before {
    font-size:20px;

    letter-spacing:3px;
  }


  .prestige-nav-logo::after {
    font-size:6px;

    letter-spacing:2.3px;
  }


  .offers-section {
    padding:
      58px 20px;
  }

}
