/* Yachtora — art-directed editorial layer. No remote font or motion runtime. */

html { scroll-padding-top: calc(var(--header-h) + 1rem); }
body { overflow-x: clip; }
#overview, #spaces, #specifications, #availability { scroll-margin-top: calc(var(--header-h) + 4.5rem); }

.site-header {
	height: var(--header-h);
	color: var(--white);
	transition: background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), height var(--dur) var(--ease-out), color var(--dur) var(--ease-out);
}
.site-header__inner { grid-template-columns: auto 1fr auto; gap: clamp(1rem, 3vw, 3.5rem); }
.site-header.is-solid { height: 72px; background: rgba(246, 242, 234, .95); color: var(--ink); box-shadow: 0 1px 0 var(--hairline); backdrop-filter: blur(16px); }
.brand { justify-self: start; color: currentColor; font-family: var(--font-body); font-size: .87rem; font-weight: 600; letter-spacing: .23em; padding: 0; gap: .7rem; }
.brand__mark { width: 25px; height: 25px; color: var(--gold); }
.site-header.is-solid .brand, .site-header.is-solid .menu-trigger { color: var(--ink); }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(1.3rem, 3vw, 3.25rem); }
.desktop-nav a { color: currentColor; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; padding-block: .55rem; position: relative; }
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--dur-fast) var(--ease-out); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: clamp(.75rem, 1.7vw, 1.5rem); justify-self: end; }
.header-enquire { color: currentColor; border-color: currentColor; padding: .83em 1.2em; font-size: .67rem; }
.site-header.is-solid .header-enquire { color: var(--ink); border-color: var(--hairline-strong); }
.menu-trigger { color: currentColor; justify-self: end; gap: .55rem; }
.menu-trigger__bars span { width: 21px; }
.mobile-menu { background: var(--navy); }
.mobile-menu nav a { font-family: var(--font-display); font-size: clamp(2.6rem, 9vw, 6.6rem); font-weight: 400; line-height: 1.03; }
.mobile-menu nav a::after { content: "↗"; display: inline-block; margin-left: .35em; color: var(--gold); font-family: var(--font-body); font-size: .3em; vertical-align: top; opacity: 0; transform: translate(-6px, 6px); transition: transform var(--dur-fast), opacity var(--dur-fast); }
.mobile-menu nav a:hover::after, .mobile-menu nav a:focus-visible::after { opacity: 1; transform: none; }

.hero.voyage-hero { isolation: isolate; min-height: min(940px, 100svh); height: max(740px, 100svh); align-items: flex-end; background: var(--navy); }
.voyage-hero .hero__media { inset: 0; z-index: 0; }
.voyage-hero .hero__scrim { z-index: 1; }
.voyage-hero .hero__inner, .voyage-hero__side-note, .voyage-hero .scroll-cue { z-index: 2; }
.voyage-hero .hero__media img { object-position: center 55%; animation: voyage-arrive 1.2s var(--ease-silk) both; }
.voyage-hero .hero__scrim { background: linear-gradient(90deg, rgba(5, 24, 31, .61) 0%, rgba(5, 24, 31, .24) 45%, rgba(5, 24, 31, .04) 76%), linear-gradient(0deg, rgba(5, 24, 31, .68) 0%, rgba(5, 24, 31, .04) 55%, rgba(5, 24, 31, .18) 100%); }
.voyage-hero .hero__inner { padding-bottom: clamp(5.3rem, 13vh, 9rem); position: relative; z-index: 1; }
.voyage-hero .eyebrow { color: #e1c28d; margin-bottom: clamp(1.2rem, 3vh, 2rem); }
.voyage-hero .hero__title { max-width: 9ch; margin-bottom: clamp(1.2rem, 2.4vh, 1.8rem); font-family: var(--font-display); font-weight: 400; letter-spacing: -.045em; text-wrap: balance; }
.voyage-hero .hero__title em { color: #e4c18e; font-weight: 400; }
.voyage-hero .hero__sub { max-width: 39ch; font-size: var(--fs-lead); color: rgba(255, 254, 250, .91); }
.voyage-hero .hero__actions { margin-top: 1.7rem; }
.voyage-hero .btn { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.voyage-hero .btn:hover { border-color: var(--paper); background: transparent; color: var(--paper); }
.voyage-hero .btn--ghost { border-color: rgba(255, 254, 250, .58); background: transparent; color: var(--paper); }
.voyage-hero .btn--ghost:hover { background: var(--paper); color: var(--ink); }
.voyage-hero__side-note { position: absolute; right: var(--gutter); bottom: 9rem; z-index: 2; writing-mode: vertical-rl; color: rgba(255,254,250,.8); font-size: .61rem; letter-spacing: .19em; text-transform: uppercase; }
.scroll-cue { bottom: 2.2rem; color: rgba(255,254,250,.76); }
.scroll-cue__line { height: 38px; }
@keyframes voyage-arrive { from { transform: scale(1.055); filter: saturate(.7); } to { transform: scale(1); filter: saturate(1); } }

.section { padding-block: clamp(5.8rem, 10vw, 10.5rem); }
.section--tight { padding-block: clamp(3rem, 5vw, 5.5rem); }
.section--dark, .section--teal { background: var(--navy); }
.section--sand { background: var(--paper-2); }
.section--paper { background: var(--paper); }
.container { max-width: var(--container); }
.section-head { max-width: 44rem; margin-bottom: clamp(2.25rem, 5vw, 4.5rem); }
.section-head h2 { max-width: 13ch; text-wrap: balance; }
.section-head .eyebrow { color: var(--copper); }
.section--dark .section-head .eyebrow, .is-dark .section-head .eyebrow { color: #d9b783; }
.lead { max-width: 44ch; }
.prose { max-width: 67ch; }
.prose p { line-height: 1.8; }
.eyebrow { color: var(--copper); font-weight: 600; }

.voyage-intro { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(2.6rem, 7vw, 8rem); align-items: center; }
.voyage-intro__copy { max-width: 38rem; }
.voyage-intro__copy h2 { max-width: 10ch; }
.voyage-intro__copy .lead { margin-top: 1.4rem; }
.voyage-intro__image { position: relative; min-height: 0; }
.voyage-intro__image img { width: 100%; aspect-ratio: 1.22; object-fit: cover; }
.voyage-intro__image::before { content: ""; position: absolute; top: -1.2rem; right: -1.2rem; width: 42%; height: 45%; border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); pointer-events: none; }
.image-credit { margin-top: .65rem; color: var(--text-dim); font-size: .7rem; letter-spacing: .03em; }
.image-credit a { text-decoration: underline; text-underline-offset: .2em; }

.voyage-dock-wrap { position: relative; z-index: 4; margin-top: -2.1rem; }
.voyage-dock { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr 1fr auto; gap: 1rem; align-items: center; width: min(calc(100% - 2 * var(--gutter)), 1380px); margin-inline: auto; padding: clamp(1.2rem, 2.5vw, 2rem); background: var(--paper); box-shadow: var(--shadow-card); }
.voyage-dock__intro { padding-right: 1rem; border-right: 1px solid var(--hairline); }
.voyage-dock__intro strong { display: block; font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; }
.voyage-dock__intro span { color: var(--text-dim); font-size: .79rem; }
.voyage-dock .field { min-width: 0; }
.voyage-dock .field input, .voyage-dock .field select { width: 100%; font-size: .91rem; }
.voyage-dock .btn { min-height: 48px; padding-inline: 1.5rem; white-space: nowrap; }

.chapter-label { display: inline-flex; align-items: center; gap: .85rem; color: var(--copper); font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; }
.chapter-label::before { content: ""; width: 2.6rem; height: 1px; background: currentColor; }
.voyage-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--hairline-dark); }
.voyage-stat { padding: clamp(1.4rem, 2.7vw, 2.4rem) 1rem 0 0; border-right: 1px solid var(--hairline-dark); }
.voyage-stat:last-child { border: 0; }
.voyage-stat__value { display: block; font-family: var(--font-display); font-size: var(--fs-stat); font-weight: 400; line-height: .95; letter-spacing: -.04em; color: var(--paper); }
.voyage-stat__unit { font: 500 .78rem var(--font-body); letter-spacing: .05em; }
.voyage-stat__label { display: block; margin-top: .9rem; color: var(--text-on-dark-dim); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.source-note { color: var(--text-on-dark-dim); font-size: .74rem; margin-top: 2rem; }
.source-note a { color: var(--paper); text-underline-offset: .2em; }

.page-featured-image { margin-bottom: clamp(2rem, 5vw, 4rem); }
.page-cta { margin-top: clamp(2rem, 5vw, 3.5rem); }
.faq-list { margin-top: clamp(1rem, 3vw, 2rem); border-top: 1px solid var(--hairline-strong); }
.faq-item { border-bottom: 1px solid var(--hairline-strong); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.25rem, 2.5vw, 2rem) 0; list-style: none; cursor: pointer; color: var(--ink); font: 400 clamp(1.35rem, 1.05rem + 1vw, 2rem)/1.2 var(--font-display); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item__icon { position: relative; flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; color: var(--copper); }
.faq-item__icon::before, .faq-item__icon::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 1rem; height: 1px; background: currentColor; transform: translate(-50%, -50%); transition: transform var(--dur-fast) var(--ease-out); }
.faq-item__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[open] .faq-item__icon::after { transform: translate(-50%, -50%) rotate(0); }
.faq-item__answer { padding: 0 2.75rem 1.5rem 0; color: var(--text-dim); }
.faq-item summary:focus-visible { outline-offset: 5px; }
.yacht-catalogue-hero .lead { margin-top: 1rem; }
.yacht-catalogue-hero .chapter-label { color: #e1c28d; }
.yacht-catalogue-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr); align-items: center; background: var(--paper-2); }
.yacht-catalogue-card + .yacht-catalogue-card { margin-top: clamp(2rem, 5vw, 5rem); }
.yacht-catalogue-card__media { display: block; height: 100%; min-height: 430px; overflow: hidden; background: var(--navy); }
.yacht-catalogue-card__media img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; transition: transform 900ms var(--ease-silk); }
.yacht-catalogue-card__media:hover img { transform: scale(1.025); }
.yacht-catalogue-card__copy { padding: clamp(2rem, 5vw, 5rem); }
.yacht-catalogue-card__copy h2 { margin-top: 1rem; }
.yacht-catalogue-card__copy h2 a { color: inherit; }
.yacht-catalogue-card__facts { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; margin: 2rem 0; padding-top: 1.3rem; border-top: 1px solid var(--hairline); }
.yacht-catalogue-card__facts dt { margin-bottom: .25rem; color: var(--text-dim); font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.yacht-catalogue-card__facts dd { margin: 0; font-family: var(--font-display); font-size: 1.5rem; }
.yachtora-empty-state { max-width: 46rem; padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--hairline); }
.yachtora-empty-state h2 { margin-top: 1.25rem; }

.spaces-showcase { display: grid; grid-template-columns: minmax(250px, .64fr) minmax(0, 1.36fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.spaces-showcase__intro h2 { max-width: 9ch; }
.spaces-showcase__tabs { display: grid; margin-top: 2.4rem; border-top: 1px solid var(--hairline); }
.spaces-showcase__tab { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: .95rem 0; border: 0; border-bottom: 1px solid var(--hairline); background: transparent; color: var(--text-dim); cursor: pointer; text-align: left; font: 400 clamp(1.2rem, 1rem + 1.1vw, 1.85rem) var(--font-display); transition: color var(--dur-fast), padding var(--dur-fast); }
.spaces-showcase__tab::after { content: "+"; color: var(--copper); font: 300 1.3rem var(--font-body); }
.spaces-showcase__tab[aria-selected="true"] { color: var(--ink); padding-left: .7rem; }
.spaces-showcase__tab[aria-selected="true"]::after { content: "↗"; }
.spaces-showcase__visual { position: relative; min-height: 370px; }
.spaces-showcase__panel { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), visibility var(--dur); }
.spaces-showcase__panel.is-active { position: relative; opacity: 1; visibility: visible; transform: none; }
.spaces-showcase__panel img { width: 100%; height: 100%; max-height: 620px; aspect-ratio: 1.5; object-fit: cover; }
.spaces-showcase__caption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .9rem; color: var(--text-dim); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }

.destination-grid { display: grid; grid-template-columns: 1.1fr .9fr 1fr; gap: clamp(.7rem, 1.8vw, 1.5rem); align-items: start; }
.destination-grid > :nth-child(2) { margin-top: 4.5rem; }
.destination-grid > :nth-child(3) { margin-top: 1.8rem; }
.destination-card { position: relative; min-height: 430px; aspect-ratio: .81; display: flex; align-items: flex-end; overflow: hidden; color: var(--white); background: var(--navy); isolation: isolate; }
.destination-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease-silk); }
.destination-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(4, 23, 29, .73), transparent 66%); }
.destination-card:hover img { transform: scale(1.035); }
.destination-card__body { padding: clamp(1.3rem, 3vw, 2.4rem); }
.destination-card__body h3 { color: var(--white); font-size: clamp(2rem, 1.4rem + 1.9vw, 3.1rem); }
.destination-card__meta { font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,254,250,.76); }
.destination-card--chart { background-color: #d8e0da; background-image: radial-gradient(ellipse at 24% 36%, transparent 0 16%, rgba(11,39,48,.15) 16.2% 16.4%, transparent 16.6% 24%, rgba(11,39,48,.13) 24.2% 24.4%, transparent 24.6% 33%, rgba(11,39,48,.12) 33.2% 33.4%, transparent 33.6% 46%, rgba(11,39,48,.11) 46.2% 46.4%, transparent 46.6%), linear-gradient(142deg, transparent 48%, rgba(255,255,255,.48) 48.2% 48.5%, transparent 48.7%); color: var(--ink); }
.destination-card--chart::before { background: linear-gradient(0deg, rgba(235,239,231,.95), transparent 76%); }
.destination-card--chart .destination-card__body h3 { color: var(--ink); }
.destination-card--chart .destination-card__meta { color: var(--ink-soft); }

.charter-tease { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.charter-tease__image { position: relative; }
.charter-tease__image img { width: 100%; aspect-ratio: .94; object-fit: cover; }
.charter-tease__copy h2 { max-width: 11ch; }
.charter-tease__copy .lead { margin-block: 1.2rem 2rem; }
.service-list { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.5rem; margin: 2rem 0 2.4rem; padding: 1.3rem 0; border-block: 1px solid var(--hairline); list-style: none; }
.service-list li { color: var(--text-dim); font-size: .8rem; }
.service-list li::before { content: "—"; margin-right: .65em; color: var(--copper); }

.configurator-card { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; min-height: 420px; overflow: hidden; background: #e5dfd4; }
.configurator-card__copy { align-self: center; padding: clamp(2rem, 5vw, 5rem); position: relative; z-index: 1; }
.configurator-card__copy h2 { max-width: 9ch; }
.configurator-card__copy .lead { margin-block: 1rem 2rem; }
.configurator-card__image { display: grid; place-items: center; padding: clamp(1rem, 4vw, 4rem); }
.configurator-card__image img { max-height: 400px; width: min(100%, 430px); object-fit: contain; filter: drop-shadow(0 20px 25px rgba(11,39,48,.18)); }
.configurator-card::before { content: ""; position: absolute; width: 34rem; height: 34rem; right: 7%; top: 50%; border: 1px solid rgba(11,39,48,.13); border-radius: 50%; transform: translateY(-50%); box-shadow: 0 0 0 32px rgba(255,255,255,.1), 0 0 0 88px rgba(255,255,255,.08); }

.yacht-chapters { position: sticky; top: 72px; z-index: 20; display: flex; justify-content: center; gap: clamp(1rem, 4vw, 4rem); padding: .9rem var(--gutter); background: rgba(246,242,234,.96); border-bottom: 1px solid var(--hairline); backdrop-filter: blur(12px); }
.yacht-chapters a { color: var(--text-dim); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.yacht-chapters a:hover, .yacht-chapters a:focus-visible { color: var(--copper); }
.yacht-photo-grid { display: grid; grid-template-columns: 1.35fr .85fr; grid-template-rows: repeat(2, minmax(190px, 25vw)); gap: clamp(.7rem, 1.5vw, 1.2rem); }
.yacht-photo-grid__item { position: relative; overflow: hidden; isolation: isolate; background: var(--sand); color: var(--white); }
.yacht-photo-grid__item--wide { grid-row: span 2; }
.yacht-photo-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-silk); }
.yacht-photo-grid__item:hover img { transform: scale(1.035); }
.yacht-photo-grid__item::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(7,31,38,.68), transparent); pointer-events: none; }
.yacht-photo-grid__item span { position: absolute; z-index: 1; left: clamp(1rem, 2.4vw, 2.2rem); bottom: clamp(1rem, 2.4vw, 2.2rem); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.operator-specs { display: grid; grid-template-columns: .75fr 1.25fr; gap: 2rem; align-items: start; margin-top: clamp(4rem, 8vw, 7rem); padding-top: 2rem; border-top: 1px solid var(--hairline-dark); }
.operator-specs h3 { color: var(--paper); font-size: clamp(1.55rem, 1.1rem + 1.5vw, 2.3rem); }
.operator-specs p { color: var(--text-on-dark-dim); }
.operator-specs dl { margin: 0; }
.operator-specs dl > div { display: flex; justify-content: space-between; gap: 2rem; padding: .9rem 0; border-bottom: 1px solid var(--hairline-dark); }
.operator-specs dt { color: var(--text-on-dark-dim); }
.operator-specs dd { margin: 0; color: var(--paper); text-align: right; }

.booking-hero { min-height: 500px; padding-block: calc(var(--header-h) + 4.3rem) 3.5rem; overflow: hidden; }
.booking-hero__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2rem; align-items: center; }
.booking-hero h1 { max-width: 8ch; margin-block: 1.2rem; }
.booking-hero .lead { max-width: 42ch; }
.booking-hero__model { position: relative; display: grid; place-items: center; min-height: 320px; }
.booking-hero__model::before { content: ""; position: absolute; inset: 10% 8%; background: #e4ded4; border-radius: 50%; }
.booking-hero__model img { position: relative; width: min(100%, 430px); max-height: 390px; object-fit: contain; }
.booking-summary { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.6rem; }
.booking-summary span { padding: .55rem .8rem; border: 1px solid var(--hairline); color: var(--text-dim); font-size: .72rem; }
.booking-page-copy { margin: 0 auto 2.5rem; }
.booking-section { padding-top: clamp(2.5rem, 5vw, 4rem); }
.yachtora-booking-pending { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2rem; align-items: center; padding: clamp(1.5rem, 4vw, 3.3rem); background: var(--paper-2); border: 1px solid var(--hairline); }
.yachtora-booking-pending h2, .yachtora-booking-pending h3 { max-width: 14ch; }
.yachtora-booking-pending p { max-width: 52ch; color: var(--text-dim); }
.yachtora-booking-pending .btn { margin-top: .6rem; }
.booking-pending__hint { font-size: .76rem; color: var(--text-dim); }

.destination-hero--chart { background-color: #d8e0da; background-image: radial-gradient(ellipse at 24% 36%, transparent 0 16%, rgba(11,39,48,.15) 16.2% 16.4%, transparent 16.6% 24%, rgba(11,39,48,.13) 24.2% 24.4%, transparent 24.6% 33%, rgba(11,39,48,.12) 33.2% 33.4%, transparent 33.6% 46%, rgba(11,39,48,.11) 46.2% 46.4%, transparent 46.6%), linear-gradient(142deg, transparent 48%, rgba(255,255,255,.48) 48.2% 48.5%, transparent 48.7%); }
.destination-hero--chart h1, .destination-hero--chart .lead { color: var(--ink); }
.destination-hero--chart .eyebrow { color: var(--copper); }
.destination-hero--image { min-height: min(730px, 80svh); position: relative; isolation: isolate; overflow: hidden; color: var(--paper); background: var(--navy); }
.destination-hero--image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,24,31,.58), rgba(5,24,31,.08)), linear-gradient(0deg, rgba(5,24,31,.52), transparent 65%); }
.page-hero.destination-hero--image h1, .page-hero.destination-hero--image .lead { color: var(--paper); }
.destination-hero--image .chapter-label { color: #d9b783; }
.destination-hero__content { position: relative; z-index: 1; }
.destination-route-note { display: inline-block; margin-top: 1.2rem; padding: .65rem .85rem; border: 1px solid currentColor; font-size: .69rem; letter-spacing: .09em; text-transform: uppercase; }
.experience-feature { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.experience-feature img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.experience-feature figure { margin: 0; }
.experience-feature__copy h2 { max-width: 12ch; }
.experience-highlights { padding: clamp(1.5rem, 4vw, 3rem); background: var(--paper-2); }
.experience-highlights h2 { font-size: var(--fs-h3); }
.experience-highlights ul { margin: 1.3rem 0 0; padding: 0; list-style: none; }
.experience-highlights li { padding: .85rem 0; border-top: 1px solid var(--hairline); color: var(--text-dim); }
.destination-card__body h2 { color: var(--white); font-size: clamp(2rem, 1.4rem + 1.9vw, 3.1rem); }
.destination-card--chart .destination-card__body h2 { color: var(--ink); }
.error-hero { min-height: min(780px, 88svh); display: flex; align-items: center; text-align: center; }
.error-hero .hero__inner { margin-inline: auto; }

.lightbox { z-index: 300; display: flex; opacity: 0; visibility: hidden; pointer-events: none; background: rgba(5, 25, 32, .96); transition: opacity 240ms var(--ease-out), visibility 0s linear 240ms; }
.lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.lightbox img { width: auto; height: auto; object-fit: contain; }
.lightbox__close, .lightbox__nav { border-radius: 0; border-color: rgba(246,242,234,.5); }

.feature-card__media { aspect-ratio: 1.18; }
.feature-card__body { align-items: start; }
.feature-card__tag { border-color: rgba(255,254,250,.7); }
.dest-card { min-height: 410px; }
.grid--3 { gap: clamp(1rem, 2.5vw, 2.4rem); }
.trust { gap: clamp(1rem, 3vw, 3rem); }
.trust__item { padding-top: 1.25rem; }
.trust__item .trust__n { font: 400 2rem var(--font-display); color: var(--copper); }
.faq-item__q { font-family: var(--font-display); font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); padding-block: 1.25rem; }
.faq-item__icon { color: var(--copper); font-family: var(--font-body); }

.page-hero { min-height: min(660px, 75svh); display: flex; align-items: flex-end; padding: calc(var(--header-h) + 5rem) 0 clamp(3rem, 8vw, 6.5rem); background: var(--navy); color: var(--paper); }
.page-hero h1 { max-width: 11ch; color: var(--paper); }
.page-hero .lead { color: var(--text-on-dark-dim); }
.page-hero .eyebrow { color: #d9b783; }
.page-hero--light { background: var(--paper-2); color: var(--ink); }
.page-hero--light h1 { color: var(--ink); }
.page-hero--light .lead { color: var(--text-dim); }
.page-hero--image { position: relative; min-height: min(720px, 78svh); isolation: isolate; overflow: hidden; color: var(--paper); background: var(--navy); }
.page-hero--image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,26,32,.58), rgba(6,26,32,.05)), linear-gradient(0deg, rgba(6,26,32,.58), transparent 72%); }
.page-hero--image h1, .page-hero--image .lead { color: var(--paper); }
.page-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.page-content { padding-block: clamp(3.5rem, 8vw, 8rem); }
.page-content .prose { margin-inline: auto; }
.single-destination .hero, .single-experience .hero { min-height: 74svh; }

.site-footer { padding-block: clamp(4rem, 8vw, 8rem) 2rem; background: #08212a; }
.footer-top { align-items: start; }
.footer-brand { font-family: var(--font-display); font-size: clamp(3rem, 1rem + 5.4vw, 5.6rem); letter-spacing: -.05em; }
.footer-col h5 { color: #d9b783; }
.footer-bottom { color: rgba(246,242,234,.55); }
.footer-media-note { margin-top: 1rem; font-size: .68rem; color: rgba(246,242,234,.5); }
.footer-media-note a { color: rgba(246,242,234,.82); text-decoration: underline; text-underline-offset: .2em; }
.contact-details { margin-top: clamp(2rem, 5vw, 3.5rem); padding-top: 1.4rem; border-top: 1px solid var(--hairline); }
.contact-details h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.contact-details ul { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; list-style: none; padding: 0; }
.contact-details a { text-decoration: underline; text-underline-offset: .25em; }
.contact-details__pending { color: var(--text-dim); }
.mobile-cta { background: var(--navy); box-shadow: 0 -8px 35px rgba(11,39,48,.15); padding-bottom: env(safe-area-inset-bottom); }
.mobile-cta a { padding-block: .95rem; }

@media (max-width: 991px) {
	body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}

.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.1rem, 2.5vw, 2.4rem); }
.article-card { min-width: 0; border-top: 1px solid var(--hairline); }
.article-card__image { display: block; margin-bottom: 1.4rem; overflow: hidden; background: var(--paper-2); }
.article-card__image img { width: 100%; aspect-ratio: 1.2; object-fit: cover; transition: transform 850ms var(--ease-silk); }
.article-card__image:hover img { transform: scale(1.03); }
.article-card__body { padding-bottom: 1rem; }
.article-card__body .eyebrow { margin-bottom: .7rem; font-size: .58rem; }
.article-card__body h2 { font-size: clamp(1.6rem, 1.15rem + 1.2vw, 2.25rem); }
.article-card__body > p:not(.eyebrow) { color: var(--text-dim); }
.archive-pagination { margin-top: 3rem; }
.archive-pagination .nav-links { display: flex; gap: .5rem; }
.archive-pagination a, .archive-pagination span { padding: .7rem .9rem; border: 1px solid var(--hairline); }

.btn { min-height: 52px; padding: 1.05em 1.6em; gap: .85em; font-size: .69rem; letter-spacing: .12em; transition: background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast); }
.btn:hover { transform: translateY(-2px); }
.btn--gold { --_bg: var(--copper); --_fg: var(--white); --_bd: var(--copper); }
.btn--gold:hover { color: var(--copper); border-color: var(--copper); }
.link-arrow { font-size: .68rem; }

.voyage-reveal { opacity: 1; transform: none; }
html.yachtora-motion .voyage-reveal { opacity: 0; transform: translateY(18px); transition: opacity 650ms var(--ease-silk), transform 650ms var(--ease-silk); }
html.yachtora-motion .voyage-reveal.is-in { opacity: 1; transform: none; }

@media (min-width: 900px) {
	.site-header__inner { grid-template-columns: auto 1fr auto; }
	.menu-trigger { display: none; }
}
@media (max-width: 899px) {
	.desktop-nav { display: none; }
	.site-header__inner { grid-template-columns: 1fr auto; }
	.brand { justify-self: start; }
	.header-actions { grid-column: 2; }
	.header-enquire { display: none; }
	.menu-trigger { display: inline-flex; }
	.voyage-dock { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.voyage-dock__intro, .voyage-dock .btn { grid-column: 1 / -1; }
	.voyage-dock__intro { border: 0; border-bottom: 1px solid var(--hairline); padding: 0 0 1rem; }
}
@media (max-width: 780px) {
	.hero.voyage-hero { min-height: 680px; height: 91svh; }
	.voyage-hero .hero__scrim { background: linear-gradient(90deg, rgba(5,24,31,.52), rgba(5,24,31,.12)), linear-gradient(0deg, rgba(5,24,31,.68), transparent 72%); }
	.voyage-hero .hero__inner { padding-bottom: 7rem; }
	.voyage-hero__side-note { display: none; }
	.voyage-dock-wrap { margin-top: 0; }
	.voyage-dock { grid-template-columns: 1fr 1fr; width: 100%; }
	.voyage-dock__intro { grid-column: 1 / -1; border: 0; border-bottom: 1px solid var(--hairline); padding: 0 0 1rem; }
	.voyage-dock .btn { grid-column: 1 / -1; }
	.voyage-intro, .charter-tease { grid-template-columns: 1fr; }
	.yacht-catalogue-card { grid-template-columns: 1fr; }
	.yacht-catalogue-card__media, .yacht-catalogue-card__media img { min-height: 0; aspect-ratio: 1.24; }
	.yacht-catalogue-card__copy { padding: clamp(1.5rem, 6vw, 3rem); }
	.experience-feature { grid-template-columns: 1fr; }
	.grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.voyage-intro__image { order: -1; }
	.spaces-showcase { grid-template-columns: 1fr; }
	.spaces-showcase__tabs { grid-template-columns: repeat(3, 1fr); gap: .5rem; border: 0; }
	.spaces-showcase__tab { border: 1px solid var(--hairline); padding: .8rem .65rem; font-family: var(--font-body); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
	.spaces-showcase__tab[aria-selected="true"] { padding-left: .65rem; border-color: var(--copper); color: var(--copper); }
	.spaces-showcase__tab::after { display: none; }
	.spaces-showcase__visual { min-height: 0; }
	.spaces-showcase__panel { display: none; }
	.spaces-showcase__panel.is-active { display: block; }
	.destination-grid { grid-template-columns: 1fr 1fr; }
	.destination-grid > :nth-child(2), .destination-grid > :nth-child(3) { margin-top: 0; }
	.destination-card { min-height: 330px; }
	.destination-grid > :first-child { grid-column: 1 / -1; aspect-ratio: 1.3; }
	.voyage-stats { grid-template-columns: 1fr 1fr; row-gap: 1.7rem; }
	.voyage-stat:nth-child(2) { border-right: 0; }
	.voyage-stat:nth-child(3), .voyage-stat:nth-child(4) { border-top: 1px solid var(--hairline-dark); padding-top: 1.4rem; }
	.configurator-card { grid-template-columns: 1fr; }
	.configurator-card__copy { padding-bottom: 0; }
	.configurator-card__image { padding-top: .5rem; }
	.configurator-card__image img { max-height: 270px; }
	.operator-specs { grid-template-columns: 1fr; }
	.booking-hero__inner { grid-template-columns: 1fr; }
	.booking-hero__model { grid-row: 1; min-height: 170px; }
	.booking-hero__model img { max-height: 210px; }
	.yachtora-booking-pending { grid-template-columns: 1fr; }
	.yacht-photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
	.yacht-photo-grid__item { min-height: 220px; }
	.yacht-photo-grid__item--wide { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 1.25; }
}
@media (max-width: 540px) {
	.site-header { height: 70px; }
	.site-header.is-solid { height: 66px; }
	.brand { font-size: .75rem; letter-spacing: .2em; }
	.brand__mark { width: 21px; height: 21px; }
	.menu-trigger { font-size: .65rem; }
	.hero.voyage-hero { min-height: 640px; height: 88svh; }
	.voyage-hero .hero__title { max-width: 8ch; font-size: clamp(3.3rem, 15vw, 5.8rem); }
	.voyage-hero .hero__actions { align-items: stretch; flex-direction: column; max-width: 19rem; }
	.voyage-hero .hero__actions .btn { justify-content: center; }
	.voyage-dock { grid-template-columns: 1fr; padding: 1.2rem; }
	.voyage-dock__intro, .voyage-dock .btn { grid-column: auto; }
	.destination-grid { grid-template-columns: 1fr; }
	.destination-grid > :first-child { grid-column: auto; aspect-ratio: .98; }
	.destination-card { min-height: 320px; aspect-ratio: 1; }
	.service-list { grid-template-columns: 1fr; }
	.grid--3, .article-grid { grid-template-columns: 1fr; }
	.mobile-cta { display: flex; }
	.yacht-chapters { top: 66px; justify-content: flex-start; overflow-x: auto; gap: 1.2rem; }
	.yacht-chapters a { font-size: .59rem; }
	.yacht-photo-grid { grid-template-columns: 1fr; }
	.yacht-photo-grid__item, .yacht-photo-grid__item--wide { grid-column: auto; aspect-ratio: 1.15; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	html.yachtora-motion .voyage-reveal { opacity: 1; transform: none; }
	.lightbox { transition: none; }
}
