:root {
  --page-bg: #f7f5f0;
  --page-panel: rgba(255, 255, 255, 0.82);
  --page-ink: rgba(14, 18, 22, 0.92);
  --page-muted: rgba(14, 18, 22, 0.7);
  --page-shadow: 0 18px 48px rgba(14, 18, 22, 0.1);
  --nav-line: rgba(255, 255, 255, 0.12);
  --yacht-bg: #f7f5f2;
  --yacht-ink: #111318;
  --yacht-muted: #5b6168;
  --tier-luxury: #4a2e3f;
  --tier-premium: #1f3c4d;
  --tier-standard: #3e5f5a;
  --tier-sandbar: #c97a4a;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--page-ink);
  background:
    radial-gradient(1200px 760px at 14% -8%, rgba(231, 160, 179, 0.18), transparent 62%),
    radial-gradient(1100px 760px at 92% 0%, rgba(15, 34, 48, 0.12), transparent 62%),
    radial-gradient(1100px 820px at 18% 112%, rgba(176, 141, 87, 0.14), transparent 62%),
    linear-gradient(180deg, #fff 0%, var(--page-bg) 40%, #fff 100%);
  font-family: var(--brand-font-body);
}

body.menu-open {
  overflow: hidden;
}

a {
  color: inherit;
}

button,
input {
  font: inherit;
}

svg {
  display: block;
}

.page-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.page-main {
  padding: 16px 0 88px;
}

.page-title {
  padding: 10px 0 12px;
}

.page-title__heading {
  margin: 0;
  text-align: center;
  color: #2f6882;
  font-family: var(--brand-font-display);
  font-size: clamp(2.9rem, 7vw, 4rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.yacht-directory {
  display: grid;
  gap: 22px;
  scroll-margin-top: 116px;
}

.yacht-filter {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  width: 100%;
  margin: 0 0 10px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 16px 38px -28px rgba(0, 0, 0, 0.35);
}

.yacht-filter__btn {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 14px 12px;
  color: var(--yacht-ink);
  font-family: var(--brand-font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background 160ms ease, color 160ms ease;
}

.yacht-filter__btn + .yacht-filter__btn {
  border-left: 1px solid rgba(0, 0, 0, 0.07);
}

.yacht-filter__btn:hover {
  background: rgba(2, 6, 23, 0.04);
}

.yacht-filter__btn.is-active {
  background: #16579a;
  color: #fff;
}

.yacht-filter__btn:focus-visible {
  outline: 2px solid rgba(22, 87, 154, 0.35);
  outline-offset: -2px;
}

.yacht-tier-section {
  padding: 24px;
  border: 1px solid rgba(17, 19, 24, 0.08);
  border-radius: 28px;
  background: var(--page-panel);
  box-shadow: var(--page-shadow);
}

.tier-heading {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
}

.tier-label {
  margin: 0;
  color: #2f6882;
  font-family: var(--brand-font-display);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tier-blurb {
  margin: 0;
  color: var(--page-muted);
  font-size: 14px;
  line-height: 1.55;
}

.yacht-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.yacht-tier-section.is-hidden {
  display: none;
}

@media (max-width: 1024px) {
  .yacht-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .page-shell {
    width: min(100% - 24px, 1180px);
  }

  .page-main {
    padding: 10px 0 72px;
  }

  .page-title {
    padding: 8px 0 10px;
  }

  .page-title__heading {
    max-width: 360px;
    margin: 0 auto;
    font-size: clamp(2.1rem, 10.5vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: 0.025em;
  }

  .yacht-tier-section {
    padding: 18px;
    border-radius: 22px;
  }

  .yacht-info {
    padding: 13px 14px 11px;
  }

  .yacht-title {
    font-size: 17px;
  }

  .tier-blurb {
    max-width: 64ch;
    font-size: 13px;
    line-height: 1.5;
  }

  .yacht-info::before {
    left: 10px;
    right: 10px;
  }

  .yacht-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .yacht-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .yacht-filter__btn {
    min-height: 44px;
    padding: 10px 14px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 10px 26px -18px rgba(0, 0, 0, 0.25);
  }

  .yacht-filter__btn + .yacht-filter__btn {
    border-left: 0;
  }

}

/* Screenshot-reference fleet rebuild */
:root{--fleet-teal:#064b57;--fleet-red:#cf3043;--fleet-cream:#f6f2e8;--fleet-ink:#24383e;--fleet-muted:#68777a;--fleet-max:1180px;}
body{background:#fff;color:var(--fleet-ink);font-family:var(--brand-font-body);font-size:15px;line-height:1.55;}
.page-shell{width:min(100%,var(--fleet-max));max-width:var(--fleet-max);padding-inline:18px;}
.page-main{padding:0;}
.page-title.fleet-hero{position:relative;min-height:610px;padding:0;color:#fff;background:linear-gradient(90deg,rgba(1,50,61,.88),rgba(1,50,61,.64) 52%,rgba(1,50,61,.25)),url('/assets/imgs/activity/multi-boat/fleet-lineup-aerial.webp') center/cover no-repeat;}
.fleet-hero__grid{display:grid;min-height:610px;grid-template-columns:minmax(0,1fr) 420px;gap:58px;align-items:center;padding-top:54px;padding-bottom:54px;}
.fleet-kicker{margin:0 0 10px;color:var(--fleet-red);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.fleet-hero .page-title__heading{max-width:680px;margin:0;color:#fff;font-size:clamp(46px,5vw,66px);font-weight:600;line-height:1;letter-spacing:0;text-align:left;text-transform:none;}
.fleet-hero__copy>p:not(.fleet-kicker){max-width:650px;margin:18px 0 0;color:rgba(255,255,255,.84);font-size:17px;line-height:1.55;}
.fleet-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.fleet-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:10px 18px;border:1px solid rgba(255,255,255,.46);border-radius:999px;color:#fff;font-size:12px;font-weight:700;text-decoration:none;}
.fleet-button--primary{border-color:var(--fleet-red);background:var(--fleet-red);}
.fleet-hero__facts{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;color:rgba(255,255,255,.72);font-size:11px;}
.fleet-hero__facts span::before{content:'•';margin-right:7px;color:#89c7ca;}
.fleet-inquiry{padding:24px;border-radius:10px;background:#fff;color:var(--fleet-ink);box-shadow:0 18px 45px rgba(0,0,0,.18);}
.fleet-inquiry h2{margin:0 0 4px;color:var(--fleet-ink);font:600 25px/1.1 var(--brand-font-display);}
.fleet-inquiry>p{margin:0 0 14px;color:var(--fleet-muted);font-size:12px;}
.fleet-inquiry .contact-form{display:grid;gap:9px;}
.fleet-inquiry .contact-field{display:grid;gap:4px;}
.fleet-inquiry label{color:#3a5055;font-size:10px;font-weight:700;}
.fleet-inquiry .contact-input{width:100%;padding:8px 9px;border:1px solid #dfe5e4;border-radius:5px;background:#fff;color:var(--fleet-ink);font:inherit;font-size:12px;}
.fleet-inquiry .contact-textarea{min-height:65px;resize:vertical;}
.fleet-inquiry .contact-opt-in{display:grid;grid-template-columns:auto 1fr;gap:8px;color:#718083;font-size:8.5px;line-height:1.3;}
.fleet-inquiry .contact-opt-in a{color:var(--fleet-teal);}
.fleet-inquiry .contact-submit{width:100%;min-height:36px;border:0;border-radius:999px;background:var(--fleet-red);color:#fff;font-size:10px;font-weight:800;cursor:pointer;}
.yacht-directory{display:block;padding-top:58px;padding-bottom:70px;}
.fleet-directory-head{display:block;width:100%;margin-bottom:0;}
.fleet-directory-head>div{width:100%;}
.fleet-directory-head h2{margin:0;color:var(--fleet-ink);font:600 34px/1.05 var(--brand-font-display);}
.fleet-directory-head p:not(.fleet-kicker){width:100%;max-width:none;margin:10px 0 0;color:var(--fleet-muted);}
.fleet-recommendation-link{display:inline-flex;align-items:center;margin:18px 0 14px;color:var(--fleet-teal);font-size:12px;font-weight:700;text-decoration:none;}
.fleet-recommendation-link:hover,.fleet-recommendation-link:focus-visible{color:var(--fleet-red);text-decoration:underline;text-underline-offset:3px;}
.yacht-filter{display:flex;gap:8px;width:auto;margin:0 0 30px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;}
.yacht-filter__btn{padding:7px 13px;border:0!important;border-radius:999px;background:#f2f4f2;color:#5b6c70;font:700 11px/1 var(--brand-font-body);letter-spacing:0;text-transform:none;}
.yacht-filter__btn.is-active{background:var(--fleet-teal);color:#fff;}
.yacht-tier-section{margin:0 0 66px;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;}
.tier-heading{gap:5px;margin-bottom:15px;}
.tier-label{color:var(--fleet-ink);font:600 28px/1.1 var(--brand-font-display);letter-spacing:0;text-transform:none;}
.tier-blurb{max-width:700px;color:var(--fleet-muted);font-size:13px;}
.yacht-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.yacht-card{border:1px solid #dfe5e4;border-radius:9px;box-shadow:none;}
.yacht-card:hover{box-shadow:0 12px 28px rgba(27,55,62,.1);}
.yacht-media{aspect-ratio:4/3;}
.yacht-ribbon{top:9px;right:9px;left:auto;padding:5px 9px;border-radius:999px;background:var(--fleet-red);font:700 9px/1 var(--brand-font-body);letter-spacing:0;text-transform:none;}
.yacht-info{min-height:116px;padding:14px 15px 15px;}
.yacht-info::before{display:none;}
.yacht-title{font-size:18px;color:var(--fleet-ink);}
.yacht-subtitle{margin-bottom:8px;color:var(--fleet-muted);font-size:10px;letter-spacing:.03em;text-transform:none;}
.yacht-meta{justify-content:space-between;gap:7px;}
.yacht-chip{padding:0;background:transparent;color:#68777a;font-size:10px;}
.yacht-chip:first-child{color:var(--fleet-teal);font-weight:800;}
.yacht-directory .yacht-rate-preview{
  position:absolute;
  z-index:5;
  inset:0;
  display:flex;
  flex-direction:column;
  padding:17px;
  overflow:hidden;
  border-radius:inherit;
  background:linear-gradient(145deg,rgba(2,58,68,.98),rgba(5,83,94,.96));
  color:#fff;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .22s ease,transform .22s ease;
}
.yacht-directory .yacht-card:hover .yacht-rate-preview,
.yacht-directory .yacht-card:focus-visible .yacht-rate-preview{
  opacity:1;
  transform:translateY(0);
}
.yacht-directory .yacht-rate-preview__eyebrow{
  color:#9ed7da;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.yacht-directory .yacht-rate-preview__title{
  margin-top:5px;
  font:600 21px/1.05 var(--brand-font-display);
  letter-spacing:.01em;
  text-transform:uppercase;
}
.yacht-directory .yacht-rate-preview__groups{
  display:grid;
  gap:10px;
  margin-top:13px;
}
.yacht-directory .yacht-rate-preview__groups--split{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.yacht-directory .yacht-rate-preview__group{
  min-width:0;
}
.yacht-directory .yacht-rate-preview__group-label{
  min-height:14px;
  margin:0 0 4px;
  color:#d4eef0;
  font-size:9px;
  font-weight:800;
  line-height:1.25;
  text-transform:uppercase;
}
.yacht-directory .yacht-rate-preview table{
  width:100%;
  border-collapse:collapse;
  color:inherit;
  font-size:10px;
  line-height:1.2;
}
.yacht-directory .yacht-rate-preview tr{
  border-top:1px solid rgba(255,255,255,.18);
}
.yacht-directory .yacht-rate-preview :is(th,td){
  padding:5px 0;
}
.yacht-directory .yacht-rate-preview th{
  color:rgba(255,255,255,.76);
  font-weight:500;
  text-align:left;
}
.yacht-directory .yacht-rate-preview td{
  font-weight:800;
  text-align:right;
  white-space:nowrap;
}
.yacht-directory .yacht-rate-preview__prompt{
  margin-top:auto;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:9px;
  font-weight:700;
  line-height:1.35;
}
@media (max-width:820px), (hover:none){
  .yacht-directory .yacht-rate-preview{display:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .yacht-directory .yacht-rate-preview{transition:none;}
}
@media (max-width:1024px){.fleet-hero__grid{grid-template-columns:minmax(0,1fr) 370px;gap:30px;}.yacht-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){.page-title.fleet-hero,.fleet-hero__grid{min-height:0;}.fleet-hero__grid{grid-template-columns:1fr;padding-top:48px;padding-bottom:34px;}.fleet-inquiry{width:min(100%,560px);}}
@media (max-width:760px){
  .page-title.fleet-hero,.fleet-hero__grid{min-height:0;}
  .fleet-hero__grid{grid-template-columns:1fr;padding:42px 12px 28px;gap:24px;}
  .fleet-hero .page-title__heading{font-size:38px;}
  .fleet-hero__copy>p:not(.fleet-kicker){font-size:14px;}
  .fleet-hero__facts{display:grid;gap:6px;}
  .fleet-inquiry{padding:17px;}
  .yacht-directory{padding:35px 10px 52px;}
  .fleet-directory-head h2{font-size:28px;}
  .fleet-recommendation-link{margin:15px 0 13px;}
  .yacht-filter{flex-wrap:wrap;margin-bottom:27px;}
  .yacht-grid{grid-template-columns:1fr;gap:12px;}
  .yacht-tier-section{margin-bottom:31px;}
  .tier-label{font-size:25px;}
  .yacht-info{padding:11px 12px 12px;}
}

/* Pixel-reference fleet layout */
.page-title.fleet-hero,.fleet-hero__grid{min-height:var(--site-hero-fold-height);}
.fleet-hero .page-title__heading{
  max-width:690px;
  font-family:var(--brand-font-display);
  font-size:58px;
  font-weight:600;
  line-height:.94;
  text-transform:uppercase;
}
.fleet-hero__grid{grid-template-columns:minmax(0,1fr) 460px;gap:40px;}
.fleet-inquiry h2,
.fleet-directory-head h2,
.tier-label,
.yacht-title,
.fleet-gallery h2{
  font-family:var(--brand-font-display);
  font-weight:600;
  text-transform:uppercase;
}
.fleet-inquiry h2{font-size:22px;}
.fleet-directory-head h2{font-size:34px;line-height:1;}
.tier-label{font-size:27px;line-height:1;}
.yacht-title{font-size:17px;line-height:1.05;}
.yacht-directory{padding-top:74px;}
.fleet-gallery{max-width:none;margin-top:22px;padding-top:70px;padding-bottom:78px;background:#fbfaf7;box-shadow:0 0 0 100vmax #fbfaf7;clip-path:inset(0 -100vmax);}
.fleet-gallery__head{max-width:760px;margin-bottom:24px;}
.fleet-gallery__head h2{margin:0;color:var(--fleet-ink);font-size:34px;line-height:1;}
.fleet-gallery__head>p:last-child{margin:9px 0 0;color:var(--fleet-muted);font-size:13px;}
.fleet-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:370px;gap:10px;}
.fleet-gallery__grid a{display:block;overflow:hidden;border-radius:8px;background:#e6ecea;}
.fleet-gallery__grid a:first-child{grid-column:span 2;grid-row:span 2;}
.fleet-gallery__grid a:nth-child(7){grid-column:span 2;}
.fleet-gallery__grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease;}
.fleet-gallery__grid a:hover img{filter:saturate(1.06);transform:scale(1.025);}
body:has(.page-main) .cta-section h2{font-family:var(--brand-font-display);font-weight:600;text-transform:uppercase;}

@media (max-width:900px){
  .page-title.fleet-hero,.fleet-hero__grid{min-height:0;}
  .fleet-hero__grid{grid-template-columns:1fr;gap:24px;}
  .fleet-hero .page-title__heading{font-size:46px;}
}
@media (max-width:760px){
  .fleet-hero .page-title__heading{max-width:330px;font-size:40px;}
  .fleet-directory-head h2{font-size:29px;}
  .tier-label{font-size:25px;}
  .fleet-gallery{padding:44px 10px 52px;}
  .fleet-gallery__head h2{font-size:29px;}
  .fleet-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:7px;}
  .fleet-gallery__grid a:first-child{grid-column:span 2;grid-row:span 2;}
  .fleet-gallery__grid a:nth-child(7){grid-column:span 1;}
  .fleet-gallery__grid a:last-child{grid-column:span 2;}
  .yacht-card{min-height:440px;}
  .yacht-media{aspect-ratio:5/4;}
  .yacht-info{min-height:155px;}
  .yacht-tier-section{margin-bottom:31px;}
  .fleet-inquiry .contact-form{gap:13px;}
  .fleet-inquiry .contact-input{min-height:50px;padding:12px;}
  .fleet-inquiry .contact-textarea{min-height:105px;}
}

/* Directory grid and responsive card sizing. */
.yacht-directory .yacht-grid{width:min(100%,1072px);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
@media (max-width:1100px){.yacht-directory .yacht-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:820px){.yacht-directory .yacht-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){
  .yacht-directory .yacht-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .yacht-directory .yacht-card{height:auto;min-height:292px;}
  .yacht-directory .yacht-info{min-height:148px;padding:12px;}
  .yacht-directory .yacht-title{font-size:15px;line-height:22px;}
  .yacht-directory .yacht-subtitle{font-size:11px;line-height:17px;}
  .yacht-directory .yacht-chip,.yacht-directory .yacht-meta::after{font-size:10px;line-height:15px;}
}

/* Typography legibility pass. */
body{font-size:16px;line-height:1.6;}
.fleet-kicker{font-size:13px;line-height:1.4;}
.fleet-button{font-size:14px;}
.fleet-hero__facts{font-size:14px;line-height:1.5;}
.fleet-inquiry>p{font-size:15px;line-height:1.55;}
.fleet-recommendation-link{font-size:14px;line-height:1.45;}
.yacht-filter__btn{font-size:14px;line-height:1.2;}
.tier-blurb,.fleet-gallery__head>p:last-child{font-size:15px;line-height:1.55;}
.yacht-directory .yacht-ribbon{font-size:12px;}
.yacht-directory .yacht-subtitle{font-size:14px;line-height:1.4;}
.yacht-directory .yacht-chip,.yacht-directory .yacht-meta::after{font-size:13px;line-height:1.4;}
.yacht-directory .yacht-rate-preview__eyebrow{font-size:12px;}
.yacht-directory .yacht-rate-preview__group-label{font-size:12px;}
.yacht-directory .yacht-rate-preview table{font-size:12px;}
.yacht-directory .yacht-rate-preview__prompt{font-size:12px;}

@media (max-width:760px){
  .fleet-hero__copy>p:not(.fleet-kicker){font-size:16px;}
  .yacht-directory .yacht-info{min-height:160px;}
  .yacht-directory .yacht-title{font-size:16px;line-height:1.25;}
  .yacht-directory .yacht-subtitle{font-size:14px;line-height:1.35;}
  .yacht-directory .yacht-chip,.yacht-directory .yacht-meta::after{font-size:14px;line-height:1.35;}
  .yacht-directory .yacht-meta{grid-template-columns:minmax(0,1fr) auto;column-gap:4px;}
  .yacht-directory .yacht-chip:first-child{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;}
  .yacht-directory .yacht-chip:last-child{grid-column:1;}
  .yacht-directory .yacht-meta::after{content:"\2192";grid-column:2;grid-row:2;font-size:18px;}
}

/* Pricing previews are desktop hover enhancements only. */
@media (max-width:820px){
  .yacht-directory .yacht-rate-preview{
    display:none!important;
    visibility:hidden!important;
    max-height:0!important;
    overflow:hidden!important;
  }
}


/* Directory cards must grow with the legibility-sized content. The shared
   342px card height is only suitable for the more compact homepage cards. */
.yacht-directory .yacht-card{
  height:auto;
  min-height:0;
}


.yacht-directory .yacht-title,
.yacht-directory .yacht-subtitle{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}

.tier-blurb,
.fleet-gallery__head>p:last-child{font-size:16px!important;line-height:1.65;}
.tier-blurb{width:100%;max-width:none!important;}
.fleet-inquiry>p{font-size:16px!important;line-height:1.65;}

/* Keep the transition from the final yacht row to Boat Match intentional.
   These three values halve the former 200px desktop gap to 100px. */
.yacht-directory{padding-bottom:35px;}
.yacht-directory > .yacht-tier-section:last-child{margin-bottom:33px;}
.yacht-directory + .boat-match-cta{margin-top:32px;}

@media (max-width:760px){
  .yacht-directory{padding-bottom:26px;}
  .yacht-directory > .yacht-tier-section:last-child{margin-bottom:15px;}
  .yacht-directory + .boat-match-cta{margin-top:15px;}
}
