@media (min-width: 961px) {
  html { scroll-padding-top: calc(var(--hdr-h, var(--header-h)) + var(--sub-h, 56px)); }
}
@media (max-width: 960px) {
  html { scroll-padding-top: var(--sub-h, 56px); }
}
html.cd-lock { overflow: hidden; }

body.charter-page { background: var(--white); }
body.charter-page .site-header.is-scrolled,
body.charter-page .site-header.is-floating { background: var(--navy-deep); -webkit-backdrop-filter: none; backdrop-filter: none; }
.charter-page main { --pad: clamp(20px, 3.6vw, 56px); background: var(--white); color-scheme: light; }

.cd-hero :focus-visible,
.cd-lightbox :focus-visible { outline-color: var(--accent-light); }

.cd-hero { background: var(--navy-deep); color: var(--white); padding: 24px var(--pad) 28px; }
.cd-hero__title { margin: 0; color: var(--white); letter-spacing: 0; line-height: 1; }
.cd-hero__name { display: block; font-family: var(--display); font-size: clamp(34px, 8.6vw, 46px); font-weight: 500; line-height: 1.02; letter-spacing: .04em; text-transform: uppercase; text-wrap: balance; overflow-wrap: break-word; }
.cd-hero__kind { display: block; margin-top: 10px; font: 400 15px/1.4 var(--sans); letter-spacing: 0; color: var(--white); }
.cd-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: clamp(20px, 2.4vw, 32px) 0 0; border-top: 1px solid rgba(255, 255, 255, .16); }
.cd-fact { min-width: 0; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.cd-fact dt { font: 400 12px/1.3 var(--sans); color: var(--white); }
.cd-fact dd { margin: 4px 0 0; font: 500 17px/1.35 var(--sans); color: var(--white); font-variant-numeric: tabular-nums; overflow-wrap: break-word; text-wrap: balance; }
.cd-hero__rate { margin: 18px 0 0; font: 400 16px/1.5 var(--sans); color: var(--white); }
.cd-hero__rate span { font-size: 19px; font-weight: 600; color: var(--white); }
.cd-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 22px; }
.cd-hero__photos { padding-bottom: 3px; border-bottom: 1px solid rgba(255, 255, 255, .45); font: 500 14px/1.5 var(--sans); color: var(--white); transition: border-color var(--t-fast); }
.cd-hero__photos:hover { border-color: var(--white); }

.cd-media { background: var(--white); padding-top: 12px; }
.cd-mosaic { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; overscroll-behavior-x: contain; padding: 0 var(--pad); scroll-padding: 0 var(--pad); }
.cd-mosaic__row { display: contents; }
.cd-photo { position: relative; display: block; flex: 0 0 auto; height: clamp(220px, 58vw, 440px); max-width: 86vw; aspect-ratio: var(--a); overflow: hidden; border-radius: var(--radius-soft); background: #e9edf2; cursor: zoom-in; scroll-snap-align: start; }
.cd-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-photo:focus-visible { outline: none; }
.cd-photo:focus-visible::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 3px var(--white), inset 0 0 0 5px var(--navy); }

.cd-subnav { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: saturate(140%) blur(10px); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid rgba(10, 26, 47, .12); }
.cd-subnav__inner { display: flex; gap: 28px; padding: 0 var(--pad); overflow-x: auto; scrollbar-width: none; }
.cd-subnav__inner::-webkit-scrollbar { display: none; }
.cd-subnav a { position: relative; flex: 0 0 auto; padding: 16px 0 15px; font: 500 14px/1.6 var(--sans); color: var(--navy); white-space: nowrap; transition: color var(--t-fast); }
.cd-subnav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--navy); transform: scaleX(0); transform-origin: left; transition: transform var(--t-med); }
.cd-subnav a:hover,
.cd-subnav a.is-current { color: var(--navy); }
.cd-subnav a.is-current::after { transform: scaleX(1); }
.cd-subnav a:focus-visible { outline-offset: -2px; }

.charter-page main { --cd-ink: #000; --cd-rule: rgba(10, 26, 47, .12); }
.cd-section { padding: clamp(20px, 2vw, 32px) var(--pad); border-top: 1px solid var(--cd-rule); }
.cd-subnav + .cd-section { border-top: 0; }
.charter-page main .cd-h2 { margin: 0 0 18px; font-size: clamp(28px, 2.4vw, 36px); font-weight: 500; line-height: 1.1; letter-spacing: -.01em; color: var(--navy); }

.cd-prose { font: 400 16px/1.7 var(--sans); color: var(--cd-ink); }
.cd-prose p { margin: 0 0 1em; }
.cd-prose p:last-child { margin-bottom: 0; }
.cd-prose .cd-prose__lede { margin-bottom: .8em; font: 500 22px/1.45 var(--display); color: var(--navy); }
.cd-prose__sub { margin: 1.6em 0 .5em; font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.2; color: var(--navy); }
.js .cd-prose--long { position: relative; max-height: 26em; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent); mask-image: linear-gradient(to bottom, #000 62%, transparent); }
.js .cd-prose--long.is-open { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.cd-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 0 0 4px; border-bottom: 1px solid currentColor; font: 500 14px/1.6 var(--sans); color: var(--navy); }
.cd-more::after { content: "+"; content: "+" / ""; font-size: 16px; line-height: 1; letter-spacing: 0; }
.cd-more[aria-expanded="true"]::after { content: "\2212"; content: "\2212" / ""; }
html:not(.js) .cd-more,
.cd-more[hidden] { display: none; }

.cd-features { margin-top: 28px; }
.cd-features__title { margin: 0 0 8px; font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.2; color: var(--navy); }
.cd-features__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.cd-features__list li { position: relative; padding: 10px 0 10px 20px; border-top: 1px solid var(--cd-rule); font: 400 16px/1.6 var(--sans); color: var(--cd-ink); }
.cd-features__list li::before { content: ""; position: absolute; left: 2px; top: calc(10px + .8em - 3px); width: 6px; height: 6px; border-radius: 50%; background: var(--navy); }

.cd-spec-group { break-inside: avoid; margin: 0 0 26px; }
.cd-spec-group:last-child { margin-bottom: 0; }
.cd-spec-group__title { margin: 0 0 6px; font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.2; color: var(--navy); }
.cd-spec-group__list { margin: 0; }
.cd-spec { display: grid; grid-template-columns: minmax(110px, 36%) minmax(0, 1fr); gap: 16px; padding: 9px 0; border-top: 1px solid var(--cd-rule); }
.cd-spec dt { font: 400 15px/1.6 var(--sans); color: var(--navy); }
.cd-spec dd { margin: 0; font: 500 16px/1.6 var(--sans); color: var(--navy); font-variant-numeric: tabular-nums; overflow-wrap: break-word; }
.cd-spec__items { margin: 0; padding: 0; list-style: none; }
.cd-spec__items li { position: relative; padding-left: 16px; }
.cd-spec__items li::before { content: ""; position: absolute; left: 0; top: calc(.8em - 2.5px); width: 5px; height: 5px; border-radius: 50%; background: var(--navy); }
.cd-spec__items li + li { margin-top: 4px; }

.cd-accom__summary { margin: 0; font: 400 16px/1.7 var(--sans); color: var(--cd-ink); }
.cd-accom__prose { margin-top: 14px; }
.cd-accom__note { margin: 14px 0 0; font: 400 16px/1.7 var(--sans); color: var(--cd-ink); }
.cd-specs__note { margin: 18px 0 0; font: 400 12px/1.6 var(--sans); color: var(--mute); }
.cd-accom__note a,
.cd-specs__note a { color: var(--navy); border-bottom: 1px solid rgba(10, 26, 47, .35); transition: border-color var(--t-fast); }
.cd-accom__note a:hover,
.cd-specs__note a:hover { border-color: var(--navy); }

.cd-inquire__lede { margin: 0 0 20px; max-width: 66ch; font: 400 16px/1.7 var(--sans); color: var(--cd-ink); }
.charter-page .form.form-card.form-card--sleek.cd-form { margin-top: 0; padding: clamp(20px, 2.4vw, 28px); gap: 16px 20px; background: var(--white); border: 1px solid rgba(10, 26, 47, .14); border-radius: 4px; box-shadow: none; }
.charter-page .form.form-card--sleek.cd-form .field label { font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.charter-page .form.form-card--sleek.cd-form .field input,
.charter-page .form.form-card--sleek.cd-form .field select,
.charter-page .form.form-card--sleek.cd-form .field textarea { background-color: var(--white); border-color: rgba(10, 26, 47, .5); box-shadow: none; }
.charter-page .form.form-card--sleek.cd-form .field input:focus,
.charter-page .form.form-card--sleek.cd-form .field select:focus,
.charter-page .form.form-card--sleek.cd-form .field textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 1px var(--navy); }
.charter-page .form.form-card--sleek.cd-form .field input:user-invalid,
.charter-page .form.form-card--sleek.cd-form .field select:user-invalid,
.charter-page .form.form-card--sleek.cd-form .field textarea:user-invalid,
.charter-page .form.form-card--sleek.cd-form .field input[aria-invalid="true"],
.charter-page .form.form-card--sleek.cd-form .field select[aria-invalid="true"],
.charter-page .form.form-card--sleek.cd-form .field textarea[aria-invalid="true"] { border-color: #b04a38; }
.charter-page .form.form-card.form-card--sleek.cd-form .btn--sleek-dark:hover,
.charter-page .form.form-card.form-card--sleek.cd-form .btn--sleek-dark:hover *,
.charter-page .form.form-card.form-card--sleek.cd-form .btn--sleek-dark:focus-visible,
.charter-page .form.form-card.form-card--sleek.cd-form .btn--sleek-dark:focus-visible * { color: var(--navy) !important; }
.cd-back { margin: 18px 0 0; }
.cd-back a { display: inline-flex; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid rgba(10, 26, 47, .3); font: 500 14px/1.6 var(--sans); color: var(--navy); transition: border-color var(--t-fast); }
.cd-back a:hover { border-color: var(--navy); }

.cd-similar { padding: clamp(20px, 2vw, 32px) var(--pad) clamp(20px, 1.75vw, 28px); border-top: 1px solid rgba(10, 26, 47, .12); background: var(--white); }
.cd-similar__note { margin: 0 0 20px; max-width: 66ch; font: 400 15px/1.65 var(--sans); color: var(--cd-ink); }
.cd-similar__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; margin: 0; padding: 0; list-style: none; }
.cd-card { position: relative; min-width: 0; }
.cd-card__media { aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-soft); isolation: isolate; background: #e9edf2; }
.cd-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .5s ease; }
.cd-card:hover .cd-card__media img,
.cd-card:focus-within .cd-card__media img { transform: scale(1.045); filter: brightness(1.05); }
.cd-card__name { margin: 14px 0 0; font-family: var(--display); font-size: 21px; font-weight: 500; line-height: 1.15; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
.cd-card__link { color: inherit; }
.cd-card__link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.cd-card__link:focus-visible { outline: none; }
.cd-card__link:focus-visible::after { outline: 2px solid var(--navy); outline-offset: 4px; }
.cd-card__spec { margin: 6px 0 0; font: 400 14px/1.45 var(--sans); color: #000; font-variant-numeric: tabular-nums; }
.cd-card__rate { margin: 4px 0 0; font: 500 15px/1.4 var(--sans); color: var(--navy); }

.cd-lightbox { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(6, 19, 36, .97); color: var(--white); overflow: hidden; overscroll-behavior: contain; }
.cd-lightbox::backdrop { background: rgba(6, 19, 36, .85); }
.cd-lightbox[open] { animation: cd-fade .3s ease; }
@keyframes cd-fade { from { opacity: 0; } to { opacity: 1; } }
.cd-lightbox__figure { position: absolute; inset: 72px 96px; display: flex; align-items: center; justify-content: center; margin: 0; }
.cd-lightbox__img { flex: 0 1 auto; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: var(--radius-soft); transition: opacity .3s ease; }
.cd-lightbox.is-loading .cd-lightbox__img { opacity: 0; }
.cd-lightbox__close { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; font: 300 34px/1 var(--sans); color: var(--white); transition: background-color var(--t-fast); }
.cd-lightbox__close:hover { background: rgba(255, 255, 255, .1); }
.cd-lightbox__nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 56px; height: 56px; margin-top: -28px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(6, 19, 36, .4); font: 400 20px/1 var(--sans); color: var(--white); transition: background-color var(--t-fast), border-color var(--t-fast); }
.cd-lightbox__nav:hover { background: rgba(255, 255, 255, .12); border-color: var(--white); }
.cd-lightbox__nav--prev { left: 20px; }
.cd-lightbox__nav--next { right: 20px; }
.cd-lightbox__count { position: absolute; left: 0; right: 0; bottom: 24px; margin: 0; text-align: center; font: 500 12px/1 var(--sans); letter-spacing: .2em; color: var(--white); font-variant-numeric: tabular-nums; }

@media (max-width: 760px) {
  .cd-lightbox__figure { inset: 64px 0 96px; }
  .cd-lightbox__nav { top: auto; bottom: 20px; width: 48px; height: 48px; margin-top: 0; }
  .cd-lightbox__count { bottom: 38px; }
  .cd-similar__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; }
  .cd-card { scroll-snap-align: start; }
}

@media (min-width: 600px) {
  .cd-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cd-features__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 700px) and (max-width: 1023px) {
  .cd-specs__groups { column-count: 2; column-gap: 40px; }
}

@media (min-width: 961px) {
  .cd-subnav { top: var(--hdr-h, var(--header-h)); }
}

@media (min-width: 1024px) {
  .cd-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; align-items: start; }
  .cd-hero { grid-column: 1; grid-row: 1; padding: clamp(28px, 3.4vw, 48px) var(--pad) clamp(32px, 3.6vw, 52px); }
  .cd-hero__name { font-size: clamp(40px, 3.4vw, 58px); }
  .cd-body { grid-column: 1; grid-row: 2; }
  .cd-media { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: var(--hdr-h, var(--header-h)); height: calc(100vh - var(--hdr-h, var(--header-h))); padding: 6px 6px 6px 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(10, 26, 47, .25) transparent; border-left: 6px solid var(--white); }
  .cd-mosaic { flex-direction: column; overflow: visible; scroll-snap-type: none; padding: 0; }
  .cd-mosaic__row { display: flex; gap: 6px; }
  .cd-photo { flex: var(--a) 1 0%; height: auto; max-width: none; min-width: 0; scroll-snap-align: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cd-card__media img,
  .cd-lightbox__img,
  .cd-subnav a::after { transition: none; }
  .cd-card:hover .cd-card__media img,
  .cd-card:focus-within .cd-card__media img { transform: none; filter: none; }
  .cd-lightbox[open] { animation: none; }
}
.charter-page .form.form-card.form-card--sleek.cd-form input,
.charter-page .form.form-card.form-card--sleek.cd-form textarea,
.charter-page .form.form-card.form-card--sleek.cd-form select,
.charter-page .form.form-card.form-card--sleek.cd-form option { color: var(--navy) !important; -webkit-text-fill-color: var(--navy) !important; caret-color: var(--navy); }
.charter-page .form.form-card.form-card--sleek.cd-form input::placeholder,
.charter-page .form.form-card.form-card--sleek.cd-form textarea::placeholder { color: var(--navy); }

.charter-page .btn--sleek-dark, .charter-page .btn--sleek-dark * { color: var(--white) !important; }

.charter-page .footer-row__items a:hover, .charter-page .footer-row__items a[aria-current="page"] { color: var(--white) !important; }
