@font-face {
  font-family:"Manrope"; font-style:normal; font-weight:200 800; font-display:swap;
  src:url("fonts/manrope-latin-variable.woff2") format("woff2");
}
@font-face {
  font-family:"Cormorant Garamond"; font-style:normal; font-weight:600; font-display:swap;
  src:url("fonts/cormorant-garamond-latin-600.woff2") format("woff2");
}
@font-face {
  font-family:"Cormorant Garamond"; font-style:normal; font-weight:700; font-display:swap;
  src:url("fonts/cormorant-garamond-latin-700.woff2") format("woff2");
}
:root {
  --ink:#071b20; --ink2:#0f2b31; --muted:#627579; --sea:#08777a;
  --sea-hover:#075f62; --aqua:#dff4f1; --cream:#fbfaf6; --sand:#f2eee5;
  --line:#d4dfdd; --line-strong:#9db5b2; --white:#fff; --gold:#a77d3f;
  --danger:#9d3030; --focus:#d3a65b;
  --font-body:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}
* { box-sizing:border-box }
[hidden] { display:none !important }
html { scroll-behavior:smooth }
body {
  margin:0; background:var(--cream); color:var(--ink);
  font:15px/1.5 var(--font-body);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3 { font-family:var(--font-display) }
a { color:inherit; text-decoration:none }
button,input,select,textarea { font:inherit }
select {
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.25 5 5 5-5' stroke='%2308777a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; cursor:pointer;
}
.srOnly,.customSelectNative {
  position:absolute !important; width:1px !important; height:1px !important; padding:0 !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important;
  border:0 !important; opacity:0 !important; pointer-events:none !important;
}
.customSelect { position:relative; display:block; width:100%; min-width:0 }
.customSelectTrigger {
  display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px;
  padding:10px 12px; border:1px solid var(--line-strong); border-radius:0; background:#fff;
  color:var(--ink); cursor:pointer; font-weight:650; line-height:1.35; text-align:left;
  transition:border-color .16s,background-color .16s;
}
.customSelectTrigger:hover { border-color:#648d8a; background:#fbfdfc }
.customSelectTrigger:focus-visible { border-color:var(--sea); outline:3px solid rgba(8,119,122,.18); outline-offset:0 }
.customSelectTrigger:disabled { border-color:#d6dcdb; background:#edf0ef; color:#7a898b; cursor:not-allowed }
.customSelectValue { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.customSelectArrow { flex:none; width:9px; height:9px; margin:0 3px 4px 16px; border-right:2px solid var(--sea); border-bottom:2px solid var(--sea); transform:rotate(45deg); transition:transform .16s }
.customSelectTrigger:disabled .customSelectArrow { border-color:#7a898b }
.customSelect.is-open .customSelectArrow { margin-bottom:-4px; transform:rotate(225deg) }
.customSelectMenu {
  position:fixed; z-index:1000; display:flex; max-width:calc(100vw - 20px); overflow:hidden;
  border:1px solid var(--line-strong); border-top:3px solid var(--sea); border-radius:0;
  background:var(--cream); box-shadow:0 12px 32px rgba(4,20,24,.2); flex-direction:column;
}
.customSelectMenu[hidden] { display:none }
.customSelectSearch {
  flex:none; width:calc(100% - 16px); min-height:44px; margin:8px; padding:9px 11px;
  border:1px solid var(--line-strong); border-radius:0; background:#fff; color:var(--ink);
}
.customSelectSearch:focus { border-color:var(--sea); outline:2px solid rgba(8,119,122,.2); outline-offset:0 }
.customSelectList { min-height:0; overflow:auto; outline:0; overscroll-behavior:contain }
.customSelectOption { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-top:1px solid #e4e9e7; background:#fff; color:var(--ink); cursor:pointer; line-height:1.35 }
.customSelectOption:first-child { border-top:0 }
.customSelectOption:hover,.customSelectOption.is-active { background:var(--aqua); color:var(--sea-hover) }
.customSelectOption[aria-selected="true"] { color:var(--sea); font-weight:800 }
.customSelectCheck { width:19px; flex:none; color:transparent; font-weight:900 }
.customSelectOption[aria-selected="true"] .customSelectCheck { color:var(--sea) }
.customSelectEmpty { min-height:44px; padding:12px; background:#fff; color:var(--muted) }
.field .customSelectTrigger { min-height:27px; padding:0; border:0; background:transparent; font-weight:700 }
.field .customSelectTrigger:hover { color:var(--sea-hover) }
.field .customSelectTrigger:focus-visible { outline:0 }
.field:focus-within { background:var(--aqua); outline:3px solid var(--sea); outline-offset:-3px }
img { display:block }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px }
.wrap { width:100%; max-width:1240px; margin:auto; padding:0 24px }

.topnav {
  position:sticky; top:0; z-index:50; display:flex; align-items:center; height:80px;
  border-bottom:1px solid #244147; background:#041418; color:#fff;
}
.topnav .wrap { display:flex; align-items:center; justify-content:space-between; min-width:0 }
.brand { font:700 33px/.92 var(--font-display); letter-spacing:-.025em }
.brand small {
  display:block; margin-top:5px; color:#a9c0c3; font:700 9px/1 var(--font-body);
  letter-spacing:.18em; text-transform:uppercase;
}
.links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:650 }
.links a:not(.btn) { padding:8px 0; border-bottom:2px solid transparent; color:#d4e0e1 }
.links a:not(.btn):hover { border-color:var(--aqua); color:#fff }

.btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px;
  border:1px solid var(--ink); border-radius:0; background:var(--ink); color:#fff; cursor:pointer;
  font-size:13px; font-weight:800; letter-spacing:.015em; line-height:1.2;
  transition:background-color .16s,border-color .16s,color .16s;
}
.btn:hover { border-color:var(--ink2); background:var(--ink2) }
.btn.sea { border-color:var(--sea); background:var(--sea) }
.btn.sea:hover { border-color:var(--sea-hover); background:var(--sea-hover) }
.btn.gold { border-color:var(--gold); background:var(--gold) }
.btn.gold:hover { border-color:#87622e; background:#87622e }
.btn.ghost { border-color:var(--ink); background:#fff; color:var(--ink) }
.btn.ghost:hover { background:var(--ink); color:#fff }
.btn.darkghost { border-color:#90a8ac; background:transparent; color:#fff }
.btn.darkghost:hover { border-color:#fff; background:#fff; color:var(--ink) }
.btn.small { min-height:34px; padding:0 12px; font-size:11px }
.btn:disabled,.btn[aria-disabled="true"] {
  border-color:#c8d0cf; background:#dfe4e3; color:#7f8e90; cursor:not-allowed;
}
.topnav .btn.ghost { border-color:#a9bbbd; background:transparent; color:#fff }
.topnav .btn.ghost:hover { border-color:#fff; background:#fff; color:var(--ink) }
.topnav .navCta { min-width:132px; border-color:#58aaa9 }
.eyebrow {
  color:var(--sea); font-size:10px; font-weight:850; letter-spacing:.18em; text-transform:uppercase;
}

.hero {
  padding:64px 0 38px; color:#fff;
  background:linear-gradient(90deg,rgba(3,20,24,.92) 0%,rgba(3,20,24,.76) 42%,rgba(3,20,24,.28) 76%,rgba(3,20,24,.12) 100%),linear-gradient(0deg,rgba(3,20,24,.24),rgba(3,20,24,0) 48%),url('https://images.pexels.com/photos/5979927/pexels-photo-5979927.jpeg?cs=srgb&dl=pexels-maahidphotos-5979927.jpg&fm=jpg') center 52%/cover;
}
.hero .heroCopy { max-width:760px; padding:0 0 30px }
.heroCopy .eyebrow { color:#d1f1ee; text-shadow:0 1px 1px rgba(0,0,0,.2) }
.hero h1 { max-width:720px; margin:16px 0 24px; font:700 clamp(48px,5.5vw,70px)/1 var(--font-display); letter-spacing:-.03em; text-wrap:balance }
.heroCopy p { max-width:620px; margin:0; color:#edf5f5; font-size:19px; line-height:1.62 }
.searchShell { position:relative; z-index:5; scroll-margin-top:96px }
.hero .searchShell > .wrap { max-width:none; padding:0 }
.bookingModelPanel {
  padding:24px; border:1px solid var(--line-strong); border-top:3px solid var(--sea);
  background:#fff; color:var(--ink);
}
.bookingModelPanel > h2 {
  max-width:760px; margin:6px 0 16px; font:700 clamp(27px,3.2vw,36px)/1.08 var(--font-display);
  letter-spacing:-.02em;
}
.bookingModelGrid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line-strong) }
.bookingModelCard {
  position:relative; display:grid; min-width:0; padding:18px;
  border:0; border-left:1px solid var(--line-strong); border-radius:0; background:var(--cream); color:var(--ink);
  cursor:pointer; gap:4px; align-content:start; align-items:start; text-align:left;
  transition:border-color .16s,background-color .16s,color .16s;
}
.bookingModelCard:first-child { border-left:0 }
.bookingModelCard:hover { border-color:var(--sea); background:var(--aqua) }
.bookingModelCard.active { border-color:var(--sea); background:var(--sea); color:#fff }
.bookingModelCard strong { font:700 22px/1.05 var(--font-display); letter-spacing:-.01em }
.bookingModelCard span { color:var(--muted); font-size:12px; line-height:1.4 }
.bookingModelIntro { min-height:17px }
.bookingModelCard.active span { color:#d9efed }
.search {
  display:grid; grid-template-columns:1fr .7fr .95fr .95fr auto; gap:0;
  border:1px solid var(--line-strong); border-top:3px solid var(--sea); border-radius:0; background:#fff;
}
.modelSearch { grid-template-columns:1fr 1fr .65fr 1fr 1fr auto; margin-top:12px }
.modelSearch.sharedSearch { grid-template-columns:1.1fr .65fr 1fr 1fr auto }
.dateFields { display:contents }
.dateFields[hidden] { display:none }
.searchMessage { min-height:18px; margin:8px 0 0; color:var(--danger); font-size:13px }
.field { min-width:0; padding:13px 15px; border-right:1px solid var(--line) }
.field label,.control label {
  display:block; margin-bottom:7px; color:#607276; font-size:10px; font-weight:850;
  letter-spacing:.11em; text-transform:uppercase;
}
.field input,.field select {
  width:100%; min-height:27px; padding:0; border:0; border-radius:0; outline:0;
  background:transparent; color:var(--ink); font-weight:700;
}
.field select {
  padding-right:28px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.25 5 5 5-5' stroke='%2308777a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position:right 4px center; background-repeat:no-repeat; background-size:10px auto;
  cursor:pointer; text-overflow:ellipsis;
}
.field select:hover { color:var(--sea-hover) }
.field select:disabled { color:#7a898b; cursor:not-allowed; opacity:.72 }
.field:focus-within { background:var(--aqua); outline:3px solid var(--sea); outline-offset:-3px }
.field input:focus-visible,.field select:focus-visible { outline:0 }
.search .btn { min-width:150px; min-height:calc(100% + 2px); margin:-1px }
.monthField { position:relative }
.monthTrigger {
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:27px;
  padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; font:700 14px/1.3 var(--font-body); text-align:left;
}
.monthTrigger[aria-invalid="true"] { color:var(--danger) }
.monthPicker {
  position:absolute; top:calc(100% + 8px); left:-1px; z-index:30; width:min(680px,calc(100vw - 64px));
  padding:18px; border:1px solid var(--line-strong); border-top:3px solid var(--sea); background:#fff;
  box-shadow:0 18px 44px rgba(3,30,35,.18);
}
.monthPickerHead { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:13px; border-bottom:1px solid var(--line) }
.monthPickerHead strong { font:700 21px/1.1 var(--font-display) }
.monthPickerHead button { width:34px; height:34px; padding:0; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; font-size:23px }
.monthYears { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-height:410px; padding-top:16px; overflow-y:auto }
.monthYear h3 { margin:0 0 9px; color:var(--sea); font:800 13px/1 var(--font-body); letter-spacing:.08em }
.monthGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px }
.monthGrid button { min-height:39px; padding:7px 5px; border:1px solid var(--line); background:var(--cream); color:var(--ink); cursor:pointer; font-weight:750 }
.monthGrid button:hover,.monthGrid button:focus-visible { border-color:var(--sea); outline:2px solid var(--sea); outline-offset:-2px; background:var(--aqua) }
.monthGrid button[aria-pressed="true"] { border-color:var(--sea); background:var(--sea); color:#fff }
.section { padding:88px 0 }
.section.tight { padding:50px 0 }
.section h2,.twocol h2 {
  margin:0 0 12px; font:700 clamp(34px,4vw,46px)/1.1 var(--font-display); letter-spacing:-.02em;
}
.twocol h2 { margin-top:34px; font-size:30px }
.twocol h2:first-of-type { margin-top:0 }
.sub { max-width:760px; color:var(--muted); line-height:1.72 }
.sectionHead { display:flex; align-items:end; justify-content:space-between; gap:28px }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px }
.card {
  display:flex; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:0; background:#fff;
  flex-direction:column;
  transition:border-color .18s;
}
.card:hover { border-color:var(--sea) }
.imageWrap { position:relative; border-bottom:1px solid var(--line) }
.card img { width:100%; height:260px; object-fit:cover }
.heart {
  position:absolute; top:12px; right:12px; display:grid; place-items:center; width:38px; height:38px;
  padding:0; border:1px solid var(--ink); border-radius:0; background:#fff; color:var(--ink);
  cursor:pointer; font-size:17px;
}
.heart:hover { background:var(--ink); color:#fff }
.cardbody { display:flex; flex:1; flex-direction:column; padding:22px }
.tag,.chip {
  display:inline-block; padding:6px 9px; border:1px solid #bad3d0; border-radius:0;
  background:var(--aqua); color:#075f62; font-size:10px; font-weight:800; letter-spacing:.035em;
}
.tag { margin:0 5px 5px 0; text-transform:uppercase }
.card h3 { margin:8px 0; font:700 27px/1.1 var(--font-display); letter-spacing:-.01em }
.spec { color:var(--muted); font-size:13px; line-height:1.55 }
.cardPrices { display:grid; gap:7px; margin-top:auto; padding-top:19px }
.cardPriceRow { display:flex; align-items:center; justify-content:space-between; gap:14px; color:var(--muted); font-size:12px }
.cardPriceRow strong { color:var(--ink); font-size:14px; text-align:right }
.cardPriceRow.active { margin:0 -10px; padding:9px 10px; background:var(--aqua); color:var(--sea); font-weight:850 }
.cardPriceRow.active strong { color:var(--sea); font-size:16px }
.departureSummary { display:grid; gap:3px; margin-top:16px; padding:13px; border-left:3px solid var(--sea); background:#f1f7f6; font-size:12px }
.departureSummary span,.departureSummary small { color:var(--muted) }
.sharedResults { display:grid; gap:28px; margin-top:34px }
.sharedResult { border:1px solid var(--line-strong); background:#fff }
.sharedYacht { display:grid; grid-template-columns:minmax(280px,34%) 1fr; min-height:290px }
.sharedImage { position:relative; min-height:290px; overflow:hidden; border-right:1px solid var(--line) }
.sharedImage img { width:100%; height:100%; object-fit:cover; transition:transform .25s }
.sharedImage:hover img { transform:scale(1.018) }
.sharedInfo { position:relative; padding:25px 28px 72px }
.sharedTitle { display:flex; align-items:flex-start; justify-content:space-between; gap:22px }
.sharedTitle h3 { margin:6px 0 7px; font:700 clamp(28px,3vw,36px)/1.05 var(--font-display); letter-spacing:-.02em }
.sharedTitle h3 a:hover { color:var(--sea) }
.sharedInfo > p { max-width:750px; margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.65 }
.sharedAmenities { display:flex; flex-wrap:wrap; gap:7px 17px; margin-top:17px; color:#31575b; font-size:12px; font-weight:750 }
.sharedRate { position:absolute; right:28px; bottom:22px; display:flex; align-items:baseline; gap:7px; color:var(--muted); font-size:11px }
.sharedRate strong { color:var(--sea); font:700 25px/1 var(--font-display) }
.departureTable { border-top:1px solid var(--line-strong) }
.departureTableHead,.departureRow { display:grid; grid-template-columns:1.25fr 1.5fr 1.25fr .8fr 32px; gap:18px; align-items:center }
.departureTableHead { padding:10px 20px; background:#eef6f5; color:#587074; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase }
.departureRow { min-height:74px; padding:12px 20px; border-top:1px solid var(--line); transition:background .15s,color .15s }
.departureTableHead + .departureRow { border-top:0 }
.departureRow:hover,.departureRow:focus-visible { outline:0; background:var(--aqua) }
.departureRow > span { display:grid; gap:4px; min-width:0 }
.departureRow strong { font-size:13px; line-height:1.35 }
.departureRow small { color:var(--muted); font-size:11px }
.departureRow .departureArrow { display:block; color:var(--sea); font-size:22px; text-align:right }
.cardFoot { display:flex; align-items:center; justify-content:space-between; margin-top:15px; padding-top:14px; border-top:1px solid var(--line); color:var(--sea); font-size:12px; font-weight:800 }
.rating { font-size:12px; font-weight:800 }
.verified { color:var(--sea); font-weight:850 }
.experienceCard {
  position:relative; height:360px; overflow:hidden; border:1px solid #26454b;
  border-radius:0; background:var(--ink2); color:#fff;
}
.experienceCard:hover,.experienceCard:focus-visible { border-color:var(--sea) }
.experienceCard img { width:100%; height:100%; object-fit:cover }
.experienceCard .copy {
  position:absolute; right:0; bottom:0; left:0; z-index:2; padding:21px 22px;
  background:rgba(4,20,24,.88);
}
.experienceCard h3 { margin:0 0 5px; font:700 27px/1.1 var(--font-display) }
.experienceCard p { margin:0; color:#d9e6e7; font-size:13px; line-height:1.5 }
.app { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh }
.side {
  position:sticky; top:0; height:100vh; padding:27px 18px; border-right:1px solid #29464c;
  background:#071f24; color:#fff;
}
.side .brand { margin:0 12px 32px }
.side a {
  display:block; margin:0; padding:12px; border:1px solid transparent; border-radius:0;
  color:#bdd0d2; font-size:13px; font-weight:650;
}
.side a.active,.side a:hover { border-color:#34555c; background:#12363d; color:#fff }
.side a.active { border-left:3px solid #74cbc7 }
.side .sidefoot { position:absolute; right:30px; bottom:22px; left:30px; color:#8aa5a8; font-size:10px }
.main { min-width:0; padding:32px }
.pagehead { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px }
.pagehead h1 { margin:0; font:700 36px/1.1 var(--font-display); letter-spacing:-.015em }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:20px }
.stats.modelStats { grid-template-columns:repeat(3,1fr) }
.stat,.panel { padding:19px; border:1px solid var(--line); border-radius:0; background:#fff }
.stat { border-top:3px solid var(--sea) }
.stat span {
  color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.stat strong { display:block; margin-top:6px; font-size:27px }
.panel h2 { margin-top:0; font:700 29px/1.15 var(--font-display); letter-spacing:-.01em }
.panel h3 { font-family:var(--font-display); font-size:23px; line-height:1.15 }
.modelEditor { padding:18px; border:1px solid var(--line); background:#f7faf9 }
.modelEditor .modelEnable { color:var(--ink); font-size:14px; letter-spacing:0; text-transform:none }
.modelEditor .modelEnable input { width:auto; margin-right:8px }
.table { width:100%; border-collapse:collapse }
.table th,.table td {
  padding:13px 9px; border-bottom:1px solid #e3e9e8; text-align:left; vertical-align:top; font-size:13px;
}
.table th {
  border-bottom-color:var(--line-strong); background:#f3f7f6; color:#617276;
  font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase;
}
.table tbody tr:hover { background:#f8faf9 }
.thumb {
  display:inline-block; width:60px; height:42px; margin-right:9px; border:1px solid var(--line);
  border-radius:0; object-fit:cover; vertical-align:middle;
}
.formgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }
.demoAccounts { padding:14px; border:1px solid var(--line); background:#f8faf9 }
.demoAccounts > .muted { margin-bottom:10px; font-size:12px }
.demoAccountButtons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
.control input,.control select,.control textarea,.input {
  width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong);
  border-radius:0; background:#fff; color:var(--ink);
  transition:border-color .16s,background-color .16s;
}
.control select {
  padding-right:42px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.25 5 5 5-5' stroke='%2308777a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position:right 14px center; background-repeat:no-repeat; background-size:12px auto;
  cursor:pointer; font-weight:650; line-height:1.35; text-overflow:ellipsis;
}
.control textarea { min-height:112px; resize:vertical }
.control input:hover,.control select:hover,.control textarea:hover,.input:hover { border-color:#648d8a }
.control select:hover { background-color:#fbfdfc }
.control input:focus,.control select:focus,.control textarea:focus,.input:focus {
  border-color:var(--sea); outline:3px solid rgba(8,119,122,.18); outline-offset:0;
}
.control input:disabled,.control select:disabled,.control textarea:disabled,.input:disabled {
  border-color:#d6dcdb; background:#edf0ef; color:#7a898b; cursor:not-allowed;
}
.control select:disabled {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.25 5 5 5-5' stroke='%237a898b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.control input[type="checkbox"] {
  width:18px; min-height:18px; margin:0 8px 0 0; accent-color:var(--sea); vertical-align:-3px;
}
.control label:has(input[type="checkbox"]) {
  color:var(--ink); font-size:12px; letter-spacing:0; text-transform:none;
}
.control .hint { margin-top:6px; color:var(--muted); font-size:11px }
.span2 { grid-column:1/-1 }
.notice,.warning {
  padding:13px 15px; border:1px solid; border-radius:0; font-size:13px; line-height:1.6;
}
.notice { border-color:#9dc9c4; background:#eaf6f4; color:#115a5c }
.warning { border-color:#ddc798; background:#fff8e9; color:#765317 }
.danger { color:var(--danger) }

@media (forced-colors:active) {
  select:not(.customSelectNative) { appearance:auto; background-image:none }
  .customSelectTrigger,.customSelectMenu,.customSelectOption,.customSelectSearch { forced-color-adjust:auto }
  .customSelectOption[aria-selected="true"] { outline:2px solid Highlight; outline-offset:-2px }
}

@media (prefers-reduced-motion:reduce) {
  .customSelectTrigger,.customSelectArrow { transition:none }
}

.yachtTop { padding:40px 0 20px }
.crumb { margin-bottom:18px; color:var(--muted); font-size:12px; font-weight:650 }
.crumb a { text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:4px }
.crumb a:hover { color:var(--sea) }
.yachtTitle { display:flex; align-items:end; justify-content:space-between; gap:24px }
.yachtTitle h1 { margin:7px 0 9px; font:700 clamp(40px,5vw,62px)/1.02 var(--font-display); letter-spacing:-.025em }
.yachtTitle .eyebrow { padding-left:10px; border-left:3px solid var(--sea) }
.yachtMeta { color:var(--muted); font-size:14px; font-weight:650 }
#rating { flex:none; padding:11px 13px; border:1px solid var(--line); background:#fff; font-size:13px }
#rating strong { color:var(--ink); font-size:15px }
.gallery {
  display:grid; grid-template-columns:1.45fr .75fr; grid-template-rows:250px 250px; gap:8px;
  margin:26px 0 42px; padding:8px; border:1px solid var(--line-strong); background:#fff;
}
.gallery img { width:100%; height:100%; border-radius:0; object-fit:cover }
.gallery .mainImg { grid-row:1/3 }
.twocol { display:grid; grid-template-columns:minmax(0,1.25fr) 400px; gap:48px }
.twocol > div { min-width:0; padding-top:3px }
.bookingBox {
  position:sticky; top:104px; height:max-content; padding:26px; border:1px solid var(--line-strong);
  border-top:4px solid var(--sea); border-radius:0; background:#fff;
}
.bookingBox h3 { margin:0 0 17px; font:700 27px/1.1 var(--font-display) }
.bookingBox h1 { font-family:var(--font-display); line-height:1.1; letter-spacing:-.015em }
.modeToggle {
  display:grid; grid-template-columns:1fr 1fr; margin-bottom:17px;
  border:1px solid var(--line-strong); border-radius:0;
}
.modeToggle button {
  min-height:46px; padding:9px 10px; border:0; border-left:1px solid var(--line-strong);
  border-radius:0; background:#fff; color:var(--muted); cursor:pointer; font-weight:800;
}
.modeToggle button:first-child { border-left:0 }
.modeToggle button:hover { background:#f3f7f6; color:var(--ink) }
.modeToggle button.active { background:var(--sea); color:#fff }
.summaryPrice { margin:16px 0 20px; padding-bottom:16px; border-bottom:1px solid var(--line); font-size:14px }
.summaryPrice strong { font-size:28px }
.infoGrid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:26px 0 38px }
.infoCell { padding:17px 15px; border:1px solid var(--line); border-top:2px solid var(--sea); border-radius:0; background:#f3f7f6 }
.infoCell small {
  display:block; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
.infoCell strong { display:block; margin-top:5px }
.chips { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 }
.chip { color:var(--ink2); font-size:12px; letter-spacing:0 }
.departure {
  display:grid; grid-template-columns:1fr auto; gap:18px; margin:12px 0; padding:18px;
  border:1px solid var(--line); border-left:3px solid var(--sea); border-radius:0; background:#fff;
}
.muted { color:var(--muted) }
.featureList { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin:18px 0 }
.featureItem { padding:11px 0; border-bottom:1px solid var(--line); font-size:13px }
.modal {
  position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center;
  padding:20px; background:rgba(3,20,24,.76);
}
.modal.open { display:flex }
.modalCard {
  width:100%; max-width:650px; max-height:90vh; overflow:auto; padding:25px;
  border:1px solid var(--line-strong); border-radius:0; background:#fff;
}
.modalHead { display:flex; align-items:center; justify-content:space-between }
.close {
  display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--ink);
  border-radius:0; background:#fff; color:var(--ink); cursor:pointer;
}
.close:hover { background:var(--ink); color:#fff }
.empty {
  padding:30px; border:1px dashed var(--line-strong); border-radius:0;
  background:#fff; color:var(--muted); text-align:center;
}
footer {
  margin-top:72px; padding:44px 0; border-top:1px solid #29464c;
  background:#071f24; color:#b8c7c9;
}
#experiences + footer { margin-top:0 }
.footergrid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:28px }
.footergrid h4 { margin:0 0 11px; color:#fff }
.footergrid a { display:block; margin:8px 0; font-size:13px }
.footergrid a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px }
.credit { margin-top:25px; color:#829da0; font-size:11px }

@media (max-width:980px) {
  .bookingModelPanel { padding:22px }
  .search { grid-template-columns:1fr 1fr }
  .search .btn { grid-column:1/-1; min-height:54px; margin:0 -1px -1px }
  .grid4,.grid3 { grid-template-columns:1fr 1fr }
  .hero { padding:52px 0 30px; background-position:center 54% }
  .hero .heroCopy { max-width:700px; padding:0 0 26px }
  .hero h1 { font-size:clamp(46px,5.5vw,54px) }
  .app { grid-template-columns:1fr }
  .side { display:none }
  .stats { grid-template-columns:1fr 1fr }
  .twocol { grid-template-columns:1fr }
  .bookingBox { position:static }
  .gallery { grid-template-columns:1fr; grid-template-rows:380px }
  .gallery .mainImg { grid-row:auto }
  .gallery .topImg,.gallery .bottomImg { display:none }
  .infoGrid { grid-template-columns:1fr 1fr }
  .formgrid { grid-template-columns:1fr }
  .span2 { grid-column:auto }
  .monthYears { grid-template-columns:1fr 1fr }
  .sharedYacht { grid-template-columns:280px 1fr }
  .departureTableHead,.departureRow { grid-template-columns:1.25fr 1.4fr 1.15fr .75fr 24px; gap:12px }
  .footergrid { grid-template-columns:1fr 1fr }
}
@media (max-width:650px) {
  .customSelectMenu { max-width:calc(100vw - 16px) }
  .wrap { padding:0 16px }
  .topnav { height:70px }
  .brand { font-size:27px }
  .brand small { font-size:8px }
  .links { flex:none; gap:8px }
  .links a:not(.btn) { display:none }
  .topnav .navCta { min-width:0; min-height:42px; padding:0 14px }
  .hero {
    padding:42px 0 20px;
    background-image:linear-gradient(90deg,rgba(3,20,24,.91) 0%,rgba(3,20,24,.72) 68%,rgba(3,20,24,.38) 100%),linear-gradient(0deg,rgba(3,20,24,.34),rgba(3,20,24,0) 52%),url('https://images.pexels.com/photos/5979927/pexels-photo-5979927.jpeg?cs=srgb&dl=pexels-maahidphotos-5979927.jpg&fm=jpg');
    background-position:62% 52%;
  }
  .hero .heroCopy { padding:0 0 24px }
  .hero h1 { max-width:560px; margin:13px 0 20px; font-size:clamp(38px,10.5vw,46px); line-height:1 }
  .hero p { max-width:540px; font-size:16.5px; line-height:1.58 }
  .searchShell { scroll-margin-top:82px }
  .bookingModelPanel { padding:19px 16px }
  .bookingModelGrid { grid-template-columns:1fr }
  .bookingModelCard { min-height:0; padding:15px 14px; border-top:1px solid var(--line-strong); border-left:0 }
  .bookingModelCard:first-child { border-top:0 }
  .bookingModelCard strong { font-size:21px }
  .search,.grid3,.grid4,.stats { grid-template-columns:1fr }
  .field { border-right:0; border-bottom:1px solid var(--line) }
  .monthPicker { position:fixed; top:78px; right:8px; left:8px; width:auto; max-height:calc(100vh - 94px); overflow:auto }
  .monthYears { grid-template-columns:1fr; max-height:none }
  .monthGrid { grid-template-columns:repeat(3,1fr) }
  .search .btn { width:calc(100% + 2px); min-height:50px; margin:0 -1px -1px }
  .section { padding:64px 0 }
  .main { padding:18px }
  .card img { height:230px }
  .sharedResults { gap:20px; margin-top:25px }
  .sharedYacht { display:block; min-height:0 }
  .sharedImage { display:block; min-height:0; height:225px; border-right:0; border-bottom:1px solid var(--line) }
  .sharedInfo { padding:20px 18px }
  .sharedTitle { display:block }
  .sharedTitle .rating { margin-top:10px }
  .sharedInfo > p { margin-top:15px }
  .sharedRate { position:static; margin-top:19px }
  .departureTable { padding:12px; background:#f3f8f7 }
  .departureTableHead { display:none }
  .departureRow { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; min-height:0; margin-bottom:10px; padding:15px 38px 15px 14px; border:1px solid var(--line); background:#fff }
  .departureRow:last-child { margin-bottom:0 }
  .departureRow > span::before { content:attr(data-label); color:#607276; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase }
  .departureRow .departureArrow { position:absolute; top:50%; right:13px; transform:translateY(-50%) }
  .sectionHead,.yachtTitle,.pagehead { align-items:flex-start; flex-direction:column }
  #rating { margin-top:6px }
  .grid4 { gap:14px }
  .yachtTop { padding-top:28px }
  .gallery { grid-template-rows:300px; margin:22px 0 32px; padding:5px }
  .twocol { gap:34px }
  .bookingBox { padding:21px }
  .infoGrid,.featureList { grid-template-columns:1fr }
  .footergrid { grid-template-columns:1fr }
  .table { min-width:650px }
  .panel { overflow-x:auto }
}

/* Yacht detail — reference-inspired hierarchy with Atollé styling */
.yachtPage { padding-bottom:0 }
.yachtHero { padding-top:34px }
.yachtHeroHead { display:flex; align-items:flex-end; justify-content:space-between; gap:30px }
.yachtHeroHead h1 { margin:10px 0 5px; font:700 clamp(46px,6vw,74px)/.95 var(--font-display); letter-spacing:-.035em }
.yachtModeTags { display:flex; gap:6px }
.yachtHeroMeta { color:var(--muted); font-size:14px; font-weight:700 }
.heroActions { display:flex; align-items:center; gap:10px; flex:none }
.saveYacht { min-height:45px; padding:0 15px; border:1px solid var(--line-strong); background:#fff; color:var(--ink); cursor:pointer; font-weight:800 }
.saveYacht:hover,.saveYacht[aria-pressed="true"] { border-color:var(--sea); color:var(--sea) }
.saveYacht span { margin-right:5px; font-size:20px }
.heroRating { display:grid; min-width:94px; min-height:45px; padding:7px 12px; border:1px solid var(--line-strong); background:#fff }
.heroRating strong { font-size:14px }
.heroRating span { color:var(--muted); font-size:9px; font-weight:750; text-transform:uppercase }
.yachtGallery { position:relative; display:grid; grid-template-columns:1.75fr 1fr; grid-template-rows:246px 246px; gap:7px; margin-top:25px; background:var(--ink) }
.yachtGallery button { min-width:0; padding:0; overflow:hidden; border:0; border-radius:0; background:var(--ink); cursor:pointer }
.yachtGallery img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease,opacity .2s }
.yachtGallery button:hover img { opacity:.92; transform:scale(1.015) }
.galleryMain { grid-row:1/3 }
.viewAllPhotos { position:absolute; right:16px; bottom:16px; min-height:40px; padding:0 14px !important; border:1px solid var(--ink) !important; background:#fff !important; color:var(--ink); font-size:12px; font-weight:850 }
.heroFacts { display:grid; grid-template-columns:.8fr 1fr 1.3fr; border:1px solid var(--line-strong); border-top:0; background:#fff }
.heroFacts > div { min-width:0; padding:17px 20px; border-left:1px solid var(--line) }
.heroFacts > div:first-child { border-left:0 }
.heroFacts span,.heroFacts strong { display:block }
.heroFacts span { margin-bottom:4px; color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase }
.heroFacts strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap }
.yachtLayout { display:grid; grid-template-columns:minmax(0,1fr); gap:62px; padding-top:52px }
.yachtContent { min-width:0 }
.yachtAnchorNav { position:sticky; top:80px; z-index:12; display:flex; gap:24px; overflow:auto; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(251,250,246,.96); scrollbar-width:none }
.yachtAnchorNav a { flex:none; color:var(--muted); font-size:11px; font-weight:800 }
.yachtAnchorNav a:hover { color:var(--sea) }
.yachtSection { scroll-margin-top:140px; padding:62px 0; border-bottom:1px solid var(--line) }
.yachtSection > .eyebrow { margin:0 0 11px }
.yachtSection h2 { margin:0 0 21px; font:700 clamp(34px,4vw,47px)/1 var(--font-display); letter-spacing:-.025em }
.yachtLead { max-width:760px; margin:0; color:#30494e; font-size:17px; line-height:1.8 }
.highlightGrid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; border:1px solid var(--line-strong); background:#fff }
.highlightGrid > div { min-height:104px; padding:20px; border-left:1px solid var(--line) }
.highlightGrid > div:first-child { border-left:0 }
.highlightGrid small,.highlightGrid strong { display:block }
.highlightGrid small { margin-bottom:9px; color:var(--sea); font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase }
.highlightGrid strong { font-family:var(--font-display); font-size:21px; line-height:1.15 }
.amenityGrid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line-strong) }
.amenityGrid > div { display:flex; gap:11px; align-items:center; min-height:53px; border-bottom:1px solid var(--line); font-size:13px; font-weight:700 }
.amenityGrid > div:nth-child(odd) { margin-right:22px }
.amenityGrid span { display:grid; place-items:center; width:23px; height:23px; border:1px solid var(--sea); color:var(--sea); font-size:11px }
.experienceGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px }
.experienceGrid > div { min-height:125px; padding:18px; border:1px solid var(--line); background:#fff }
.experienceGrid span,.experienceGrid strong,.experienceGrid small { display:block }
.experienceMark { margin-bottom:20px; color:var(--sea); font-size:26px; line-height:1 }
.experienceGrid strong { font-family:var(--font-display); font-size:20px }
.experienceGrid small { margin-top:4px; color:var(--muted); font-size:10px }
.specList { margin:0; border-top:1px solid var(--line-strong) }
.specList > div { display:grid; grid-template-columns:1fr 1fr; padding:14px 4px; border-bottom:1px solid var(--line) }
.specList dt { color:var(--muted); font-size:12px }
.specList dd { margin:0; font-size:13px; font-weight:800; text-align:right }
.sectionTitleRow { display:flex; align-items:center; justify-content:space-between; gap:20px }
.sectionTitleRow h2 { margin-bottom:10px }
.sectionIntro { margin:0 0 22px; color:var(--muted) }
.monthPickerInline { display:flex; gap:7px; overflow:auto; padding-bottom:10px; scrollbar-width:thin }
.monthChoice { flex:none; min-height:40px; padding:0 14px; border:1px solid var(--line-strong); background:#fff; color:var(--muted); cursor:pointer; font-size:11px; font-weight:800 }
.monthChoice:hover,.monthChoice.active { border-color:var(--sea); background:var(--sea); color:#fff }
.tripList { display:grid; gap:9px; margin-top:12px }
.tripCard { display:grid; grid-template-columns:1.25fr 1.7fr 1.3fr .8fr 24px; gap:14px; align-items:center; width:100%; min-height:86px; padding:15px 16px; border:1px solid var(--line); border-left:3px solid transparent; background:#fff; color:var(--ink); cursor:pointer; font:inherit; text-align:left }
.tripCard:hover,.tripCard.selected { border-color:var(--sea); border-left-color:var(--sea); background:#f2f8f7 }
.tripCard > span { display:grid; gap:4px; min-width:0 }
.tripCard strong { font-size:12px; line-height:1.3 }
.tripCard small { color:var(--muted); font-size:10px; line-height:1.35 }
.tripPrice { text-align:right }
.tripPrice strong { font-size:15px }
.tripArrow { display:block !important; color:var(--sea); font-size:22px }
.privateAvailability { padding:26px; border-left:3px solid var(--sea); background:#edf6f4 }
.privateAvailability p { margin:0 0 20px; color:#345156; line-height:1.7 }
.availabilityToggle { max-width:430px; margin:0 0 24px }
.ratingPanel { display:flex; align-items:center; gap:22px; padding:25px; border:1px solid var(--line-strong); background:#fff }
.ratingScore { display:grid; place-items:center; width:88px; height:88px; flex:none; background:var(--sea); color:#fff; font:700 37px/1 var(--font-display) }
.ratingPanel strong { font-family:var(--font-display); font-size:23px }
.ratingPanel p { margin:5px 0 0; color:var(--muted); font-size:12px }
.yachtBookingBox { top:104px; padding:25px }
.yachtBookingBox > .eyebrow { margin:0 0 7px }
.yachtBookingBox h3 { margin-bottom:20px }
.yachtBookingBox .summaryPrice { display:flex; align-items:baseline; gap:3px; margin-top:13px }
.yachtBookingBox .summaryPrice span { color:var(--muted); font-size:11px }
.yachtBookingBox form { display:grid; gap:11px }
.yachtBookingBox .formgrid { gap:9px }
.yachtBookingBox .control { margin:0 }
.selectionPrompt { margin-bottom:14px; padding:15px; border-left:3px solid var(--gold); background:#f7f1e7; color:#55452e; font-size:12px }
.awaitingTrip > :not(.bookingMessage) { opacity:.48; pointer-events:none }
.selectedTrip { display:grid; gap:3px; padding:13px; border:1px solid var(--sea); background:#f0f8f6 }
.selectedTrip small { color:var(--sea); font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase }
.selectedTrip strong { font-family:var(--font-display); font-size:18px }
.selectedTrip span { color:var(--muted); font-size:10px }
.bookingSubmit { width:100%; margin-top:3px }
.bookingMessage { margin:0; font-size:11px }
.bookingMessage #bmlPayBtn { width:100%; margin:10px 0 5px }
.bookingAssurance { margin:17px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.6 }
.galleryLightbox { position:fixed; inset:0; z-index:200; overflow:auto; padding:24px; background:rgba(2,15,18,.9) }
.galleryLightboxCard { width:min(1100px,100%); margin:auto; padding:24px; background:var(--cream) }
.galleryLightboxHead { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px }
.galleryLightboxHead h2 { margin:0; font-size:35px }
.galleryAll { columns:2; column-gap:10px }
.galleryAll img { width:100%; margin-bottom:10px; break-inside:avoid }
.modalOpen { overflow:hidden }
.mobileBookingBar { display:none }

.bookingMain { min-height:calc(100vh - 240px); padding:58px 0 90px }
.bookingHeader { max-width:760px; margin-bottom:30px }
.bookingHeader h1 { margin:8px 0 10px; font:700 clamp(42px,5vw,62px)/1 var(--font-display); letter-spacing:-.03em }
.bookingHeader > p:last-child { margin:0; color:var(--muted); font-size:16px }
.bookingSteps { display:grid; grid-template-columns:repeat(3,1fr); max-width:820px; margin:0 0 34px; padding:0; border:1px solid var(--line-strong); list-style:none; background:#fff }
.bookingSteps li { display:flex; align-items:center; gap:11px; min-height:64px; padding:12px 16px; border-left:1px solid var(--line); color:var(--muted) }
.bookingSteps li:first-child { border-left:0 }
.bookingSteps span { display:grid; place-items:center; width:29px; height:29px; flex:none; border:1px solid var(--line-strong); font-size:11px; font-weight:850 }
.bookingSteps strong { font-size:12px }
.bookingSteps .active { background:var(--aqua); color:var(--sea-hover) }
.bookingSteps .active span { border-color:var(--sea); background:var(--sea); color:#fff }
.bookingSteps .complete span { border-color:var(--sea); color:var(--sea) }
.bookingWizardLayout { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:38px; align-items:start }
.wizardCard,.tripSummary { border:1px solid var(--line-strong); background:#fff }
.wizardStep,.wizardSuccess { padding:34px }
.wizardStep > .eyebrow,.wizardSuccess > .eyebrow { margin:0 0 8px }
.wizardStep h2,.wizardSuccess h2 { margin:0 0 25px; font:700 36px/1.05 var(--font-display) }
.wizardStep .control { margin-bottom:18px }
.wizardStep .control input,.wizardStep .control textarea { min-height:48px }
.wizardStep .control textarea { min-height:126px }
.wizardStep .control small,.fieldHelp { display:block; margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5 }
.optional { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:0; text-transform:none }
.wizardTrip { display:grid; gap:4px; margin-bottom:22px; padding:18px; border-left:3px solid var(--sea); background:#edf6f4 }
.wizardTrip span { color:var(--sea); font-size:11px; font-weight:800 }
.wizardTrip strong { font:700 22px/1.1 var(--font-display) }
.wizardTrip small { color:var(--muted) }
.wizardActions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line) }
.bookingNotice { margin:16px 0 0; padding:13px 15px; border-left:3px solid var(--danger); background:#faeeee; font-size:12px }
.bookingNotice.danger { color:var(--danger) }
.tripSummary { position:sticky; top:104px }
.tripSummaryImage { height:205px; overflow:hidden; background:var(--sand) }
.tripSummaryImage img { width:100%; height:100%; object-fit:cover }
.tripSummaryBody { padding:23px }
.tripSummaryBody > .eyebrow { margin:0 0 5px }
.tripSummaryBody h2 { margin:0 0 18px; font:700 29px/1.05 var(--font-display) }
.summaryFacts { border-top:1px solid var(--line) }
.summaryFacts > div,.reviewDetails > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line) }
.summaryFacts span,.reviewDetails span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase }
.summaryFacts strong,.reviewDetails strong { font-size:12px; text-align:right }
.summaryFacts .illustrative strong { color:var(--gold) }
.summaryPriceRows { margin-top:18px; padding-top:10px; border-top:2px solid var(--ink) }
.summaryPriceRows > div { display:flex; justify-content:space-between; gap:18px; padding:6px 0; font-size:12px }
.summaryPriceRows > div:first-child { font-size:15px }
.summaryPriceRows p { margin:4px 0; color:var(--muted); font-size:11px }
.reviewDetails { border-top:1px solid var(--line) }
.reviewDetails .reviewTotal { margin-top:12px; padding-top:18px; border-top:2px solid var(--ink) }
.reviewDetails .reviewTotal strong { color:var(--sea); font:700 24px/1 var(--font-display) }
.illustrativeCallout { padding:13px; border-left:3px solid var(--gold); background:#f7f1e7; color:#55452e; font-size:12px }
.reserveTerms { margin-top:22px; padding:18px; background:var(--sand) }
.reserveTerms p { margin:5px 0 0; color:var(--muted); font-size:12px }
.wizardSuccess { text-align:center }
.successMark { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 18px; background:var(--sea); color:#fff; font-size:27px }
.wizardSuccess .eyebrow { text-align:center }
.successReference { margin:24px 0 6px; font-size:16px }
.successReference strong { color:var(--sea) }
.wizardSuccess #holdExpiry { margin:0 0 24px; color:var(--muted) }
.wizardSuccess .btn { min-width:240px }

@media (max-width:980px) {
  .yachtGallery { grid-template-rows:190px 190px }
  .yachtLayout { grid-template-columns:1fr; gap:0 }
  .yachtBookingBox { position:static; margin:40px 0 }
  .yachtContent { display:contents }
  .yachtAnchorNav,.yachtSection { grid-column:1 }
  .bookingWizardLayout { grid-template-columns:1fr }
  .tripSummary { position:static; grid-row:1; display:grid; grid-template-columns:180px 1fr }
  .tripSummaryImage { height:100% }
}
@media (max-width:650px) {
  .yachtPage { padding-bottom:76px }
  .yachtHero { padding-top:25px }
  .yachtHeroHead { align-items:flex-start; flex-direction:column; gap:17px }
  .yachtHeroHead h1 { font-size:48px }
  .heroActions { width:100%; justify-content:space-between }
  .yachtGallery { grid-template-columns:1fr; grid-template-rows:300px; margin-right:-16px; margin-left:-16px }
  .galleryMain { grid-row:auto }
  .gallerySide { display:none }
  .viewAllPhotos { display:block !important; right:12px; bottom:12px }
  .heroFacts { grid-template-columns:1fr; margin:0 -16px; border-right:0; border-left:0 }
  .heroFacts > div { padding:14px 16px; border-top:1px solid var(--line); border-left:0 }
  .heroFacts > div:first-child { border-top:0 }
  .yachtLayout { padding-top:28px }
  .yachtAnchorNav { top:70px; gap:20px; margin:0 -16px; padding:13px 16px }
  .yachtSection { padding:48px 0; scroll-margin-top:120px }
  .highlightGrid,.experienceGrid { grid-template-columns:1fr }
  .highlightGrid > div { min-height:0; border-top:1px solid var(--line); border-left:0 }
  .highlightGrid > div:first-child { border-top:0 }
  .amenityGrid { grid-template-columns:1fr }
  .amenityGrid > div:nth-child(odd) { margin-right:0 }
  .tripCard { position:relative; grid-template-columns:1fr 1fr; gap:15px 12px; padding:17px 37px 17px 15px }
  .tripItinerary { grid-column:1/-1; grid-row:1 }
  .tripPrice { text-align:left }
  .tripArrow { position:absolute; top:50%; right:12px; transform:translateY(-50%) }
  .ratingPanel { align-items:flex-start; padding:18px }
  .ratingScore { width:70px; height:70px; font-size:30px }
  .galleryLightbox { padding:8px }
  .galleryLightboxCard { padding:15px }
  .galleryAll { columns:1 }
  .mobileBookingBar { position:fixed; right:0; bottom:0; left:0; z-index:90; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:76px; padding:10px 16px; border-top:1px solid var(--line-strong); background:#fff; box-shadow:0 -8px 25px rgba(4,25,29,.12) }
  .mobileBookingBar small,.mobileBookingBar strong { display:block }
  .mobileBookingBar small { color:var(--muted); font-size:9px; font-weight:800; text-transform:uppercase }
  .mobileBookingBar strong { max-width:180px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap }
  .mobileBookingBar .btn { flex:none }
  .yachtPage footer { margin-bottom:-76px }
  .bookingMain { padding:30px 0 58px }
  .bookingHeader h1 { font-size:42px }
  .bookingSteps { margin-right:-16px; margin-left:-16px }
  .bookingSteps li { justify-content:center; min-height:57px; padding:9px 5px }
  .bookingSteps strong { display:none }
  .bookingWizardLayout { gap:14px; margin-right:-16px; margin-left:-16px }
  .tripSummary { grid-template-columns:92px 1fr; border-right:0; border-left:0 }
  .tripSummaryBody { padding:15px }
  .tripSummaryBody > .eyebrow { display:none }
  .tripSummaryBody h2 { margin-bottom:8px; font-size:22px }
  .tripSummaryImage { min-height:116px }
  .summaryFacts { display:flex; flex-wrap:wrap; gap:4px 14px; border:0 }
  .summaryFacts > div { display:block; padding:0; border:0 }
  .summaryFacts span { display:none }
  .summaryFacts strong { font-size:10px; text-align:left }
  .summaryPriceRows { display:none }
  .wizardCard { border-right:0; border-left:0 }
  .wizardStep,.wizardSuccess { padding:25px 16px }
  .wizardStep h2,.wizardSuccess h2 { font-size:32px }
  .wizardActions .btn { flex:1 }
}
