/*
Theme Name: DeepBlue Marine
Theme URI: https://dp01.local/
Author: DeepBlue Marine Group
Description: A bespoke luxury marine group website for brokerage, refit, yacht brands, and marine systems.
 Version: 3.1.0
Text Domain: deepblue-marine
*/

@font-face { font-family: "DeepBlue Serif"; src: url("assets/fonts/maritime-serif.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 400; }
@font-face { font-family: "DeepBlue Serif"; src: url("assets/fonts/maritime-serif-italic.ttf") format("truetype"); font-display: swap; font-style: italic; font-weight: 400; }
@font-face { font-family: "DeepBlue Sans"; src: url("assets/fonts/deepblue-sans-light.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 300; }
@font-face { font-family: "DeepBlue Sans"; src: url("assets/fonts/deepblue-sans.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 400; }

:root {
  --ink: #06141f;
  --navy: #082536;
  --ocean: #0c4053;
  --sea: #2b7180;
  --sand: #cdb795;
  --ivory: #f4f1ea;
  --mist: #dce5e6;
  --white: #fff;
  --muted: #66747b;
  --line: rgba(7, 31, 45, .16);
  --serif: "DeepBlue Serif", "Book Antiqua", Georgia, serif;
  --sans: "DeepBlue Sans", Candara, "Helvetica Neue", Arial, sans-serif;
  --ease-lux: cubic-bezier(.22,1,.36,1);
  --ease-jelly: cubic-bezier(.22,1.42,.36,1);
  --wrap: min(1320px, calc(100vw - 80px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body { margin: 0; color: var(--ink); background: var(--ivory); font-family: var(--sans) !important; font-size: 17px; font-weight: 300; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
.wrap { width: var(--wrap); margin-inline: auto; }
.eyebrow { margin: 0 0 20px; color: var(--sand); font-size: 10px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; }
.eyebrow--dark { color: var(--sea); }
.display { margin: 0; font-family: var(--serif); font-size: clamp(58px, 8.7vw, 142px); font-weight: 400; letter-spacing: -.055em; line-height: .86; }
.display em { color: #e8d4b5; font-weight: 400; }
.section-title { max-width: 980px; margin: 0; font-family: var(--serif); font-size: clamp(38px, 4.3vw, 64px); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; text-wrap: balance; }
.lede { max-width: 760px; margin: 26px 0 0; color: #d7e0e2; font-size: clamp(17px, 2vw, 21px); line-height: 1.6; }
.body-large { color: #32444c; font-size: clamp(18px, 2vw, 22px); line-height: 1.72; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border: 1px solid var(--sand); border-radius: 999px; color: var(--ink); background: var(--sand); box-shadow: 0 12px 34px rgba(3,18,29,.08); font-size: 10px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; transition: color .35s ease, background .35s ease, transform .5s var(--ease-jelly), box-shadow .35s ease; }
.btn:hover { color: var(--white); background: transparent; box-shadow: 0 16px 40px rgba(3,18,29,.18); transform: translateY(-3px); }
.btn--ghost { color: var(--white); background: transparent; }
.btn--ghost:hover { color: var(--ink); background: var(--sand); }
.text-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 22px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.text-link::after { content: "\2192"; font-size: 18px; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(6px); }
.text-link--light { color: rgba(255,255,255,.82); }

.site-header { position: fixed; z-index: 90; top: 0; left: 0; width: 100%; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.18); transition: background .45s ease, border-color .45s ease, box-shadow .45s ease, backdrop-filter .45s ease; }
.site-header.is-scrolled, body.menu-open .site-header { border-color: rgba(255,255,255,.1); background: rgba(3,18,29,.88); box-shadow: 0 14px 45px rgba(0,0,0,.16); -webkit-backdrop-filter: blur(18px) saturate(125%); backdrop-filter: blur(18px) saturate(125%); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; width: var(--wrap); min-height: 92px; margin: auto; transition: min-height .4s cubic-bezier(.22,1,.36,1); }
.site-header.is-scrolled .site-header__inner { min-height: 76px; }
.brand { position: relative; z-index: 4; display: inline-flex; align-items: center; line-height: 1; }
.brand-logo { width: 218px; height: auto; filter: brightness(0) invert(1); transition: width .4s cubic-bezier(.22,1,.36,1), opacity .3s ease; }
.site-header.is-scrolled .brand-logo { width: 190px; }
.brand-logo--footer { width: 270px; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.5vw, 38px); }
.site-nav__list { display: flex; align-items: center; gap: clamp(18px, 2.5vw, 38px); margin: 0; padding: 0; list-style: none; }
.site-nav__list > li { position: relative; }
.site-nav__list > li > a { position: relative; display: block; padding: 34px 0; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .25s ease, padding .4s ease; }
.site-header.is-scrolled .site-nav__list > li > a { padding-block: 26px; }
.site-nav__list > li > a::after { content:""; position:absolute; right:0; bottom:23px; left:0; height:1px; background:var(--sand); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.site-nav__list > li:hover > a::after, .site-nav__list > .current-menu-item > a::after, .site-nav__list > .current-menu-ancestor > a::after { transform:scaleX(1); }
.site-nav__list .sub-menu { position:absolute; top:100%; left:50%; min-width:230px; margin:0; padding:16px 22px; visibility:hidden; border:1px solid rgba(255,255,255,.12); background:rgba(3,18,29,.96); box-shadow:0 25px 60px rgba(0,0,0,.3); list-style:none; opacity:0; transform:translate(-50%,-10px); transition:.3s ease; }
.site-nav__list li:hover > .sub-menu, .site-nav__list li:focus-within > .sub-menu { visibility:visible; opacity:1; transform:translate(-50%,0); }
.site-nav__list .sub-menu a { display:block; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.09); font-family:var(--serif); font-size:17px; }
.site-nav > a, .nav-item__head > a { position: relative; padding: 34px 0; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .25s ease, padding .4s ease; }
.site-header.is-scrolled .site-nav > a, .site-header.is-scrolled .nav-item__head > a { padding-block: 26px; }
.site-nav > a:not(.nav-cta)::after, .nav-item__head > a::after { content: ""; position: absolute; right: 0; bottom: 23px; left: 0; height: 1px; background: var(--sand); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.site-header.is-scrolled .site-nav > a:not(.nav-cta)::after, .site-header.is-scrolled .nav-item__head > a::after { bottom: 16px; }
.site-nav > a:hover::after, .site-nav > a.is-current::after, .nav-item:hover .nav-item__head > a::after, .nav-item.is-current .nav-item__head > a::after { transform: scaleX(1); }
.nav-item { align-self: stretch; display: flex; align-items: center; }
.nav-item__head { display: flex; align-items: center; gap: 7px; }
.submenu-toggle { display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.submenu-toggle span { width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .3s ease; }
.nav-item.is-submenu-open .submenu-toggle span { transform: translateY(2px) rotate(225deg); }
.yacht-menu { position: absolute; top: calc(100% + 1px); right: max(32px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: 220px minmax(430px, 1fr); width: min(760px, calc(100vw - 64px)); padding: 34px; visibility: hidden; border: 1px solid rgba(255,255,255,.11); background: rgba(3,18,29,.96); box-shadow: 0 30px 80px rgba(0,0,0,.35); opacity: 0; transform: translateY(-12px); transform-origin: top; transition: opacity .25s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility .25s; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.nav-item:hover .yacht-menu, .nav-item:focus-within .yacht-menu, .nav-item.is-submenu-open .yacht-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.yacht-menu__intro { padding: 6px 30px 0 4px; border-right: 1px solid rgba(255,255,255,.13); }
.yacht-menu__intro span { display: block; margin-bottom: 18px; color: var(--sand); font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.yacht-menu__intro strong { font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.15; }
.yacht-menu__links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 24px; padding-left: 30px; }
.yacht-menu__links a { display: flex; align-items: center; gap: 13px; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.09); font-family: var(--serif); font-size: 18px; transition: color .25s ease, padding-left .3s ease; }
.yacht-menu__links a:hover { color: var(--sand); padding-left: 5px; }
.yacht-menu__links span { color: rgba(255,255,255,.38); font-family: var(--sans); font-size: 8px; letter-spacing: .1em; }
.yacht-menu__all { grid-column: 2; margin: 20px 0 0 30px; color: var(--sand); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.yacht-menu__all span { margin-left: 8px; font-size: 15px; transition: margin-left .25s ease; }
.yacht-menu__all:hover span { margin-left: 14px; }
.nav-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 17px !important; border: 1px solid rgba(205,183,149,.78); transition: color .3s ease, background .3s ease, transform .3s ease !important; }
.nav-cta:hover, .nav-cta.is-current { color: var(--ink); background: var(--sand); transform: translateY(-2px); }
.nav-cta span { font-size: 15px; }
.mobile-enquire { display: none; }
.menu-toggle { display: none; align-items: center; gap: 11px; min-width: 78px; min-height: 44px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.menu-toggle__label { font-size: 9px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; }
.menu-toggle__icon { position: relative; display: block; width: 27px; height: 14px; }
.menu-toggle__icon i { position: absolute; right: 0; display: block; width: 27px; height: 1px; background: currentColor; transition: top .3s ease, transform .3s ease; }
.menu-toggle__icon i:first-child { top: 3px; }
.menu-toggle__icon i:last-child { top: 10px; width: 19px; }
.menu-toggle.is-active .menu-toggle__icon i:first-child { top: 7px; transform: rotate(45deg); }
.menu-toggle.is-active .menu-toggle__icon i:last-child { top: 7px; width: 27px; transform: rotate(-45deg); }
.menu-scrim { position: fixed; z-index: 79; inset: 0; display: none; width: 100%; padding: 0; border: 0; background: rgba(0,7,12,.52); opacity: 0; }

.hero { position: relative; display: grid; align-items: end; min-height: 100svh; overflow: hidden; color: var(--white); background: var(--ink); }
.hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(2,14,24,.84) 0%, rgba(2,14,24,.45) 44%, rgba(2,14,24,.08) 78%), linear-gradient(0deg, rgba(2,14,24,.72), transparent 58%); }
.hero__media { position: absolute; z-index: 0; inset: -3%; width: 106%; height: 106%; object-fit: cover; object-position: center; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.06); transition: transform 1.2s cubic-bezier(.22,1,.36,1); }
.hero__content { position: relative; z-index: 2; width: var(--wrap); margin: 0 auto; padding: 190px 0 92px; }
.hero__content .display { max-width: 930px; text-shadow: 0 4px 36px rgba(0,0,0,.22); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.hero__index { position: absolute; right: 32px; bottom: 32px; z-index: 2; color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue { position: absolute; z-index: 4; bottom: 28px; left: 50%; display: flex; align-items: center; flex-direction: column; gap: 10px; color: rgba(255,255,255,.75); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; transform: translateX(-50%); }
.scroll-cue i { position: relative; width: 1px; height: 38px; overflow: hidden; background: rgba(255,255,255,.25); }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--sand); animation: scrollLine 2.2s ease-in-out infinite; }
.hero__coordinate{position:absolute;z-index:3;right:40px;bottom:38px;color:rgba(255,255,255,.62);font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl}
.sea-motion { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 18%; overflow: hidden; opacity: .32; pointer-events: none; }
.sea-motion i { position: absolute; bottom: -80%; left: -10%; width: 120%; height: 120%; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; animation: seaDrift 12s ease-in-out infinite alternate; }
.sea-motion i:nth-child(2) { bottom: -62%; animation-delay: -4s; animation-duration: 16s; }
.sea-motion i:nth-child(3) { bottom: -45%; animation-delay: -7s; animation-duration: 20s; }

.home-manifesto{padding:clamp(110px,12vw,180px) 0;background:var(--ivory)}.home-manifesto__grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:80px;align-items:start}.home-manifesto h2{max-width:920px;margin:0;font-family:var(--serif);font-size:clamp(48px,5.8vw,82px);font-weight:400;letter-spacing:-.045em;line-height:.95;text-wrap:balance}.home-manifesto h2 em{color:var(--sea);font-style:italic}.home-manifesto__grid>div>p{max-width:680px;margin:46px 0 0 12%;color:#56676d;font-size:19px;line-height:1.75}
.home-fleet{padding:clamp(95px,10vw,145px) 0 0;color:#fff;background:var(--ink);overflow:hidden}.home-fleet__head{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:60px}.home-fleet__head h2{margin:0;font-family:var(--serif);font-size:clamp(46px,5.5vw,78px);font-weight:400;letter-spacing:-.045em;line-height:.96}.home-fleet__rail{display:flex;gap:16px;padding:0 max(40px,calc((100vw - 1320px)/2)) 80px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.home-fleet__rail::-webkit-scrollbar{display:none}.home-fleet__item{position:relative;flex:0 0 min(72vw,920px);height:min(76vh,760px);padding:40px;overflow:hidden;scroll-snap-align:start;background:var(--navy)}.home-fleet__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:transform 1.2s var(--ease-lux),opacity .6s ease}.home-fleet__item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,24,.92),transparent 68%)}.home-fleet__item>span,.home-fleet__item>div{position:relative;z-index:2}.home-fleet__item>span{font-size:9px;letter-spacing:.17em}.home-fleet__item>div{position:absolute;right:40px;bottom:38px;left:40px}.home-fleet__item small{color:var(--sand);font-size:9px;letter-spacing:.17em;text-transform:uppercase}.home-fleet__item h3{margin:6px 0 10px;font-family:var(--serif);font-size:clamp(48px,5.5vw,78px);font-weight:400;letter-spacing:-.045em;line-height:.94}.home-fleet__item p{max-width:520px;margin:0;color:rgba(255,255,255,.7);font-size:16px;line-height:1.55}.home-fleet__item:hover img{opacity:.92;transform:scale(1.035)}
.home-escape{position:relative;min-height:88vh;overflow:hidden;color:#fff;background:var(--navy)}.home-escape>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:horizonBreath 18s ease-in-out infinite alternate}.home-escape__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,24,.83),rgba(2,14,24,.1) 72%)}.home-escape__copy{position:relative;z-index:2;padding-top:24vh}.home-escape h2{margin:0;font-family:var(--serif);font-size:clamp(54px,7vw,96px);font-weight:400;letter-spacing:-.05em;line-height:.9}.home-escape__copy>p:not(.eyebrow){max-width:500px;margin:34px 0;color:rgba(255,255,255,.74);font-size:18px}

.escape { position: relative; min-height: 105vh; overflow: hidden; color: var(--white); background: var(--ink); }
.escape::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,14,24,.87) 0%, rgba(2,14,24,.32) 58%, rgba(2,14,24,.1)); }
.escape__media, .escape__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.escape__media img { transform: scale(1.08); animation: horizonBreath 14s ease-in-out infinite alternate; }
.escape__content { position: relative; z-index: 2; padding-top: 28vh; }
.escape__content h2 { max-width: 900px; margin: 0; font-family: var(--serif); font-size: clamp(44px,5.5vw,78px); font-weight: 400; letter-spacing: -.04em; line-height: .98; text-wrap:balance; }
.escape__content h2 em { color: var(--sand); font-weight: 400; }
.escape__content > p:not(.eyebrow) { max-width: 580px; margin: 40px 0 0; color: #d4dfe1; font-size: 19px; }
.sun-orbit { position: absolute; z-index: 2; top: 13%; right: 9%; width: clamp(170px,24vw,360px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; animation: orbitTurn 24s linear infinite; }
.sun-orbit::before, .sun-orbit::after { content: ""; position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: translate(-50%,-50%); }
.sun-orbit::before { width: 72%; height: 72%; }.sun-orbit::after { width: 42%; height: 42%; }
.sun-orbit span { position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--sand); box-shadow: 0 0 45px rgba(205,183,149,.9); }

.statement { padding: 125px 0; background: var(--ivory); }
.statement__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; align-items: start; }
.statement blockquote { margin: 0; font-family: var(--serif); font-size: clamp(30px, 3.6vw, 50px); letter-spacing: -.025em; line-height: 1.18; }
.statement blockquote em { color: var(--sea); font-style: italic; }

.business { color: var(--white); background: var(--navy); }
.business__head { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: 110px 0 75px; }
.business__head p { align-self: end; margin: 0; color: #b8c9cd; }
.business-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.15); }
.business-card { position: relative; min-height: 430px; padding: 54px; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); overflow: hidden; transition: background .45s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.business-card:nth-child(2n) { border-right: 0; }
.business-card::before { content: attr(data-number); position: absolute; top: 42px; right: 46px; color: rgba(255,255,255,.2); font-family: var(--serif); font-size: 44px; }
.business-card h3 { max-width: 460px; margin: 80px 0 24px; font-family: var(--serif); font-size: clamp(30px, 3vw, 42px); font-weight: 400; line-height: 1.08; }
.business-card p { max-width: 560px; color: #aebfc3; }
.business-card:hover { z-index: 2; background: var(--ocean); transform: translateY(-8px); }

.image-break { position: relative; min-height: 72vh; overflow: hidden; }
.image-break img { position: absolute; inset: -4%; width: 108%; height: 108%; object-fit: cover; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.02); }
.image-break::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,20,31,.62), transparent 60%); }
.image-break__content { position: absolute; z-index: 2; bottom: 72px; left: max(32px, calc((100vw - 1240px)/2)); max-width: 650px; color: var(--white); }

.capabilities { padding: 120px 0; background: #e5ebe9; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 70px; border-top: 1px solid var(--line); }
.capability { padding: 42px 40px 20px 0; border-right: 1px solid var(--line); transition: transform .4s cubic-bezier(.22,1,.36,1); }
.capability:hover { transform: translateY(-7px); }
.capability + .capability { padding-left: 40px; }
.capability:last-child { border-right: 0; }
.capability__number { color: var(--sea); font-family: var(--serif); font-size: 17px; }
.capability h3 { margin: 52px 0 18px; font-family: var(--serif); font-size: 34px; font-weight: 400; line-height: 1.1; }
.capability p { color: #53666d; }

.brands { padding: 120px 0; background: var(--ivory); }
.brands__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.brands__intro p { margin: 0; color: #53636a; }
.brand-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 65px; }
.brand-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 520px; padding: 38px; overflow: hidden; color: var(--white); background: var(--navy); box-shadow: 0 18px 50px rgba(5,26,38,.08); transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease; }
.brand-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; transition: transform .6s ease; }
.brand-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,18,29,.9), transparent 62%); }
.brand-card:hover img { transform: scale(1.04); }
.brand-card:hover { box-shadow: 0 28px 65px rgba(5,26,38,.18); transform: translateY(-9px); }
.brand-card__content { position: relative; z-index: 2; }
.brand-card__name { margin: 0; font-family: var(--serif); font-size: 48px; font-weight: 400; }
.brand-card__type { color: var(--sand); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.brand-card--typographic { justify-content: space-between; background: linear-gradient(145deg, #0a3145, #06141f); }
.brand-card--typographic::before { content: attr(data-letter); position: absolute; top: -70px; right: -30px; color: rgba(255,255,255,.05); font-family: var(--serif); font-size: 360px; line-height: 1; }
.fleet-grid { grid-template-columns: repeat(2, 1fr); }
.fleet-grid .brand-card { min-height: 460px; }
.fleet-grid .brand-card--wide { grid-column: 1 / -1; min-height: 560px; }
.fleet-link { margin-top: 38px; }
.yacht-catalog { padding: 120px 0; background: var(--ivory); }
.yacht-entry { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 570px; margin-top: 36px; background: var(--white); box-shadow: 0 20px 60px rgba(5,29,41,.07); transition: box-shadow .5s ease, transform .5s cubic-bezier(.22,1,.36,1); }
.yacht-entry:hover { box-shadow: 0 30px 80px rgba(5,29,41,.14); transform: translateY(-7px); }
.yacht-entry:nth-child(even) { grid-template-columns: .9fr 1.1fr; }
.yacht-entry:nth-child(even) .yacht-entry__media { order: 2; }
.yacht-entry__media { min-height: 520px; overflow: hidden; }
.yacht-entry__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22,1,.36,1); }
.yacht-entry:hover .yacht-entry__media img { transform: scale(1.045); }
.yacht-entry__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 6vw, 82px); }
.yacht-entry__copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(38px, 4vw, 56px); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; }
.yacht-entry__copy p { color: #53636a; }
.yacht-stats { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 28px; border-top: 1px solid var(--line); }
.yacht-stat { padding: 18px 16px 0 0; }
.yacht-stat:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.yacht-stat strong { display: block; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.yacht-stat span { color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }

.systems { padding: 120px 0; color: var(--white); background: var(--ink); }
.systems__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 110px; }
.system-list { border-top: 1px solid rgba(255,255,255,.18); }
.system-item { display: grid; grid-template-columns: 170px 1fr; gap: 30px; padding: 38px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.system-item h3 { margin: 0; color: var(--sand); font-family: var(--serif); font-size: 25px; font-weight: 400; }
.system-item p { margin: 0; color: #aebfc3; }

.cta-band { padding: 105px 0; color: var(--ink); background: var(--sand); }
.cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.cta-band h2 { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(38px, 4.5vw, 62px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; text-wrap:balance; }
.cta-band .btn { border-color: var(--ink); background: transparent; }
.cta-band .btn:hover { color: var(--sand); background: var(--ink); }

.page-hero { position: relative; display: flex; align-items: end; min-height: 70vh; padding: 190px 0 85px; overflow: hidden; color: var(--white); background: var(--navy); }
.page-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(3,18,29,.9), rgba(3,18,29,.34)); }
.page-hero img { position: absolute; inset: -3%; width: 106%; height: 106%; object-fit: cover; opacity: .85; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.04); }
.page-hero__content { position: relative; z-index: 2; width: var(--wrap); margin: auto; }
.page-hero h1 { max-width: 950px; margin: 0; font-family: var(--serif); font-size: clamp(50px, 7vw, 96px); font-weight: 400; letter-spacing: -.045em; line-height: .98; }
.page-hero p { max-width: 740px; margin: 28px 0 0; color: #d5e0e2; font-size: 20px; }
.content-section { padding: 110px 0; }
.content-section--white { background: var(--white); }
.content-section--navy { color: var(--white); background: var(--navy); }
.split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.split__copy > :first-child { margin-top: 0; }
.service-list { border-top: 1px solid var(--line); }
.service { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.service__num { color: var(--sea); font-family: var(--serif); font-size: 18px; }
.service h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 31px; font-weight: 400; }
.service p { margin: 0; color: #53636a; }
.content-section--navy .service-list, .content-section--navy .service { border-color: rgba(255,255,255,.17); }
.content-section--navy .service p { color: #b7c6c9; }
.quote-panel { padding: clamp(40px, 6vw, 82px); color: var(--white); background: var(--ocean); }
.quote-panel h2 { margin: 0 0 26px; font-family: var(--serif); font-size: clamp(34px, 3.8vw, 50px); font-weight: 400; line-height: 1.1; }
.quote-panel p { color: #cfdbdd; font-size: 18px; }
.process { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 65px; border-top: 1px solid rgba(255,255,255,.2); }
.process__step { padding: 35px 28px 20px 0; }
.process__step + .process__step { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.2); }
.process__step span { color: var(--sand); font-family: var(--serif); }
.process__step h3 { margin: 48px 0 16px; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.1; }
.process__step p { color: #aebfc3; }
.spec-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 45px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.spec { padding: 25px; border-right: 1px solid var(--line); }
.spec:last-child { border-right: 0; }
.spec strong { display: block; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.spec span { color: var(--muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }

.contact-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.editable-page-content > * { margin-top: 0; margin-bottom: 0; }
.editable-page-content .wp-block-group { padding: clamp(90px,10vw,170px) max(40px, calc((100vw - 1320px)/2)); }
.editable-page-content .wp-block-group.has-background { padding-block: clamp(90px,10vw,170px); }
.editable-page-content .wp-block-group > * { max-width: 900px; }
.editable-page-content h2 { max-width:900px;font-family:var(--serif); font-size:clamp(38px,4.2vw,60px); font-weight:400; letter-spacing:-.035em; line-height:1.06; text-wrap:balance; }
.editable-page-content h3 { font-family:var(--serif); font-size:32px; font-weight:400; }
.editable-page-content p { color:#53636a; }
.editable-page-content--home .wp-block-group:first-child { display:none; }
.wp-gallery-section { padding:clamp(100px,11vw,170px) 0;background:var(--white); }.gallery-heading{display:grid;grid-template-columns:1fr .6fr;gap:90px;align-items:end}.gallery-heading h2{margin:0;font-family:var(--serif);font-size:clamp(44px,5vw,72px);font-weight:400;letter-spacing:-.04em;line-height:.98}.gallery-heading>p{max-width:370px;margin:0 0 7px;color:var(--muted)}
.yacht-slider{margin-top:65px}.yacht-slider__viewport{position:relative;height:min(74vh,780px);overflow:hidden;background:var(--ink);touch-action:pan-y}.yacht-slider__slide{position:absolute;inset:0;margin:0;visibility:hidden;opacity:0;transform:scale(1.025);transition:opacity .65s var(--ease-lux),transform 1s var(--ease-lux),visibility .65s}.yacht-slider__slide.is-active{visibility:visible;z-index:1;opacity:1;transform:scale(1)}.yacht-slider__slide img{width:100%;height:100%;object-fit:cover}.yacht-slider__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,24,.32),transparent 32%)}.yacht-slider__slide figcaption{position:absolute;z-index:2;right:28px;top:26px;color:#fff;font-size:9px;letter-spacing:.2em;text-shadow:0 2px 12px rgba(0,0,0,.4)}.yacht-slider__controls{position:absolute;z-index:3;right:28px;bottom:26px;left:28px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:22px}.yacht-slider__arrow{display:grid;place-items:center;width:54px;height:54px;padding:0;border:1px solid rgba(255,255,255,.68);border-radius:50%;color:#fff;background:rgba(3,18,29,.18);font-size:21px;cursor:pointer;transition:color .3s ease,background .3s ease,transform .4s var(--ease-jelly)}.yacht-slider__arrow:hover{color:var(--ink);background:var(--sand);border-color:var(--sand);transform:scale(1.06)}.yacht-slider__count{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;color:#fff;font-size:10px;letter-spacing:.18em}.yacht-slider__count i{width:min(15vw,180px);height:1px;background:rgba(255,255,255,.55)}.yacht-slider__dots{display:flex;justify-content:center;gap:8px;padding-top:24px}.yacht-slider__dots button{width:22px;height:3px;padding:0;border:0;background:rgba(6,20,31,.2);cursor:pointer;transition:width .4s var(--ease-jelly),background .3s ease}.yacht-slider__dots button.is-active{width:48px;background:var(--sea)}
.wp-yacht-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding:20px max(32px,calc((100vw - 1320px)/2)) 150px}.wp-yacht-card{position:relative;display:flex;grid-column:span 6;flex-direction:column;justify-content:flex-end;min-height:620px;padding:42px;overflow:hidden;color:var(--white);background:var(--navy)}.wp-yacht-card:nth-child(3n){grid-column:span 5}.wp-yacht-card:nth-child(3n+1):not(:first-child){grid-column:span 7}.wp-yacht-card:first-child{grid-column:1/-1;min-height:78vh}.wp-yacht-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform 1.2s var(--ease-lux),opacity .6s ease}.wp-yacht-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,24,.92),rgba(2,14,24,.05) 65%)}.wp-yacht-card span,.wp-yacht-card strong,.wp-yacht-card small{position:relative;z-index:2}.wp-yacht-card__number{position:absolute!important;top:30px;right:32px;color:rgba(255,255,255,.7)!important}.wp-yacht-card__series{color:var(--sand);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.wp-yacht-card strong{font-family:var(--serif);font-size:clamp(42px,4.8vw,68px);font-weight:400;letter-spacing:-.04em;line-height:.98}.wp-yacht-card small{margin-top:18px;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.wp-yacht-card:hover img{opacity:.94;transform:scale(1.04)}
.contact-promise { padding: 110px 0; background: var(--mist); }
.contact-promise__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: end; }
.contact-promise__grid p { margin: 0; color: #53636a; font-size: 19px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid #a8b2b5; border-radius: 0; outline: 0; color: var(--ink); background: transparent; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--sea); }
.notice { margin-bottom: 30px; padding: 16px 18px; border-left: 3px solid var(--sea); background: #e3eceb; }
.notice--error { border-color: #9d4a3f; background: #f4e5e2; }

.site-footer { padding: 85px 0 34px; color: #d4dfe1; background: #030e16; }
.footer-top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 70px; }
.footer-brand p { max-width: 340px; color: #7f979d; }
.footer-col h3 { margin: 0 0 24px; color: var(--sand); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.footer-col a { display: block; margin: 11px 0; color: #a9babe; font-size: 14px; }
.footer-menu, .footer-menu ul { margin:0;padding:0;list-style:none; }
.footer-col a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 70px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.12); color: #647b82; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

.portfolio-guide { padding: 120px 0; background: var(--mist); }
.portfolio-guide__grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 65px; border-top: 1px solid var(--line); }
.portfolio-guide article { padding: 38px 38px 20px 0; border-right: 1px solid var(--line); }
.portfolio-guide article + article { padding-left: 38px; }.portfolio-guide article:last-child { border-right: 0; }
.portfolio-guide span { color: var(--sea); font-family: var(--serif); }.portfolio-guide h3 { margin: 45px 0 18px; font-family: var(--serif); font-size: 34px; font-weight: 400; }.portfolio-guide p { color: #53636a; }
.editorial-split { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 760px; background: var(--ivory); }
.editorial-split--reverse { grid-template-columns: .88fr 1.12fr; }.editorial-split--reverse .editorial-split__image { order: 2; }
.editorial-split__image { min-height: 650px; overflow: hidden; }.editorial-split__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.22,1,.36,1); }.editorial-split:hover img { transform: scale(1.035); }
.editorial-split__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px,8vw,130px); }.editorial-split__copy p:not(.eyebrow) { color: #53636a; }
.process--dark { border-color: var(--line); }.process--dark .process__step + .process__step { border-color: var(--line); }.process--dark .process__step p { color: #53636a; }

.vessel-hero { position: relative; display: flex; align-items: flex-end; min-height: 100svh; overflow: hidden; color: var(--white); background: var(--ink); }
.vessel-hero__media { position: absolute; inset: -3%; width: 106%; height: 106%; object-fit: cover; animation: horizonBreath 16s ease-in-out infinite alternate; }
.vessel-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,14,24,.83),rgba(2,14,24,.11) 72%),linear-gradient(0deg,rgba(2,14,24,.7),transparent 56%); }
.vessel-hero__content { position: relative; z-index: 2; padding-bottom: 78px; }.vessel-hero__topline{display:flex;justify-content:space-between;margin-bottom:14vh;color:rgba(255,255,255,.65);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.vessel-back::before{content:"←";margin-right:10px}.vessel-hero__topline span{opacity:.65}
.vessel-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(88px,15vw,230px); font-weight: 400; letter-spacing: -.075em; line-height: .7; }.vessel-hero__content > p:not(.eyebrow) { max-width: 650px; margin: 30px 0 34px; font-family: var(--sans); font-size: clamp(17px,1.7vw,22px); font-weight:300; line-height: 1.55; }.vessel-hero__actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.vessel-intro { padding: clamp(120px,13vw,210px) 0; }.vessel-intro__grid { display: grid; grid-template-columns: .42fr 1.58fr; gap: 80px; align-items: start; }.yacht-editor-content{max-width:720px;margin:55px 0 0 16%;color:#53636a;font-size:20px}.yacht-editor-content p{margin:0 0 24px}
.vessel-cinema{position:relative;height:100svh;overflow:hidden;background:var(--ink)}.vessel-cinema>img{width:100%;height:100%;object-fit:cover}.vessel-cinema::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,24,.5),transparent 50%)}.vessel-cinema__caption{position:absolute;z-index:2;right:7vw;bottom:7vh;display:flex;align-items:flex-start;gap:25px;max-width:440px;color:#fff}.vessel-cinema__caption span{color:var(--sand);font-size:10px;letter-spacing:.18em}.vessel-cinema__caption p{margin:0;font-family:var(--serif);font-size:34px;line-height:1.12}
.vessel-experience{padding:clamp(105px,11vw,165px) 0;background:var(--mist)}.vessel-experience__grid,.vessel-performance__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:end}.vessel-experience h2,.vessel-performance h2{margin:0;font-family:var(--serif);font-size:clamp(46px,5.5vw,78px);font-weight:400;letter-spacing:-.045em;line-height:.96}.vessel-experience__grid>p,.vessel-performance__grid>p{margin:0 0 5px;color:#4e6269;font-size:19px;line-height:1.75}
.vessel-specs { padding: clamp(95px,10vw,145px) 0; color: var(--white); background: var(--navy); }.vessel-specs__heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:60px}.vessel-specs__heading h2{margin:0;font-family:var(--serif);font-size:clamp(44px,5vw,70px);font-weight:400;letter-spacing:-.04em;line-height:.98}.vessel-specs__grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.17); }.vessel-spec { padding: 35px 35px 34px 0; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }.vessel-spec:nth-child(3n+2),.vessel-spec:nth-child(3n+3){padding-left:35px}.vessel-spec:nth-child(3n){border-right:0}.vessel-spec strong { display: block; font-family: var(--serif); font-size: clamp(27px,3vw,42px); font-weight:400;letter-spacing:-.02em }.vessel-spec span { color:#94abb0;font-size:9px;letter-spacing:.17em;text-transform:uppercase; }
.vessel-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:88vh;background:var(--ivory)}.vessel-feature__image{min-height:680px;overflow:hidden}.vessel-feature__image img{width:100%;height:100%;object-fit:cover}.vessel-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,130px)}.vessel-feature__copy>span{color:var(--sea);font-size:10px;letter-spacing:.18em}.vessel-feature__copy h2{margin:38px 0 30px;font-family:var(--serif);font-size:clamp(44px,5vw,70px);font-weight:400;letter-spacing:-.04em;line-height:.98}.vessel-feature__copy>p:last-child{color:#53636a;font-size:18px;line-height:1.75}
.vessel-performance{padding:clamp(110px,12vw,190px) 0;color:#fff;background:var(--ink)}.vessel-performance__grid>p{color:#b7c7ca}.vessel-performance h2{color:#fff}
.vessel-enquire { padding:105px 0;color:var(--white);background:var(--ocean); }.vessel-enquire__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end}.vessel-enquire h2{max-width:780px;margin:0;font-family:var(--serif);font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1}.vessel-enquire__inner>div:last-child p{color:#c5d3d5;font-size:17px;margin-bottom:30px}
.next-vessel { position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:58vh;overflow:hidden;color:var(--white);text-align:center;background:var(--ink) }.next-vessel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:transform 1.2s ease,opacity .6s ease}.next-vessel::after{content:"";position:absolute;inset:0;background:rgba(3,18,29,.25)}.next-vessel span,.next-vessel strong,.next-vessel i{position:relative;z-index:2}.next-vessel span{color:var(--sand);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.next-vessel strong{font-family:var(--serif);font-size:clamp(56px,8vw,112px);font-weight:400;letter-spacing:-.045em;line-height:1}.next-vessel i{font-size:30px;font-style:normal}.next-vessel:hover img{opacity:.68;transform:scale(1.045)}

@keyframes seaDrift { to { transform: translate3d(4%,9px,0) scaleX(1.04); } }
@keyframes scrollLine { 0%{transform:translateY(-100%)} 50%,100%{transform:translateY(100%)} }
@keyframes horizonBreath { from{transform:scale(1.06) translate3d(-.5%,0,0)} to{transform:scale(1.12) translate3d(.5%,-.7%,0)} }
@keyframes orbitTurn { to{transform:rotate(360deg)} }

/* Restrained motion system: cinematic on arrival, quiet while browsing. */
.hero__content > *, .page-hero__content > * { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.page-ready .hero__content > *, .page-ready .page-hero__content > * { opacity: 1; transform: translateY(0); }
.page-ready .hero__content > :nth-child(2), .page-ready .page-hero__content > :nth-child(2) { transition-delay: .12s; }
.page-ready .hero__content > :nth-child(3), .page-ready .page-hero__content > :nth-child(3) { transition-delay: .22s; }
.page-ready .hero__content > :nth-child(4) { transition-delay: .32s; }
.reveal { opacity: 0; transform: translateY(52px) scale(.985); transition: opacity .95s var(--ease-lux) var(--reveal-delay, 0ms), transform .95s var(--ease-jelly) var(--reveal-delay, 0ms); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.yacht-entry.reveal:nth-of-type(even) { transform: translateX(-44px); }
.yacht-entry.reveal:nth-of-type(odd) { transform: translateX(44px); }
.yacht-entry.reveal.is-visible { transform: translateX(0); }
.brand-card.reveal, .business-card.reveal { transform: translateY(50px) scale(.985); }
.brand-card.reveal.is-visible, .business-card.reveal.is-visible { transform: translateY(0) scale(1); }
.brand-card.reveal.is-visible:hover, .business-card.reveal.is-visible:hover { transform: translateY(-9px) scale(1); }

@media (max-width: 980px) {
  :root { --wrap: min(100% - 40px, 760px); }
  .site-header__inner, .site-header.is-scrolled .site-header__inner { position: relative; min-height: 82px; }
  .site-header .brand { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
  .brand-logo, .site-header.is-scrolled .brand-logo { width: 168px; }
  .mobile-enquire { position: relative; z-index: 4; display: inline-flex; align-items: center; min-height: 44px; font-size: 9px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; }
  .menu-toggle { position: relative; z-index: 4; display: inline-flex; justify-content: flex-end; margin-left: auto; }
  .menu-scrim { display: block; visibility: hidden; transition: opacity .35s ease, visibility .35s; }
  body.menu-open .menu-scrim { visibility: visible; opacity: 1; }
  .site-nav { position: fixed; top: 0; right: 0; z-index: 3; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; width: min(500px, 92vw); height: 100vh; height: 100dvh; padding: calc(116px + env(safe-area-inset-top)) 46px calc(42px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; visibility: hidden; color: var(--white); background: #061923; box-shadow: -25px 0 65px rgba(0,0,0,.3); opacity: 0; pointer-events: none; transform: translateX(105%); transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s ease, visibility .5s; }
  .site-nav__list { display:block; width:100%; }
  .site-nav__list>li>a,.site-header.is-scrolled .site-nav__list>li>a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.15);font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:0;text-transform:none}
  .site-nav__list>li>a::after{display:none}
  .site-nav__list .menu-item-has-children>a{position:relative;padding-right:44px}
  .site-nav__list .menu-item-has-children>a::before{content:"";position:absolute;top:50%;right:4px;width:9px;height:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .3s ease}
  .site-nav__list .is-mobile-submenu-open>a::before{transform:translateY(-30%) rotate(225deg)}
  .site-nav__list .sub-menu{position:static;left:auto;display:block;min-width:0;max-height:0;margin:0;padding:0 0 0 18px;overflow:hidden;visibility:visible;border:0;background:transparent;box-shadow:none;opacity:1;transform:none !important;transition:max-height .5s ease}
  .site-nav__list li:hover>.sub-menu,.site-nav__list li:focus-within>.sub-menu{max-height:0}
  .site-nav__list .current-menu-ancestor>.sub-menu,.site-nav__list .is-mobile-submenu-open>.sub-menu{max-height:620px !important;transform:none !important}
  .site-nav__list .sub-menu a{font-size:17px}
  .site-nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); }
  .site-nav > a, .nav-item__head > a, .site-header.is-scrolled .site-nav > a, .site-header.is-scrolled .nav-item__head > a { display: block; width: 100%; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-family: var(--serif); font-size: clamp(27px, 6vw, 36px); font-weight: 400; letter-spacing: -.02em; text-transform: none; }
  .site-nav > a::after, .nav-item__head > a::after { display: none; }
  .nav-item { display: block; width: 100%; }
  .nav-item__head { display: flex; width: 100%; border-bottom: 1px solid rgba(255,255,255,.12); }
  .nav-item__head > a { border: 0; }
  .submenu-toggle { flex: 0 0 45px; width: 45px; height: auto; }
  .yacht-menu { position: static; display: block; width: 100%; max-height: 0; padding: 0; overflow: hidden; visibility: visible; border: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; transition: max-height .55s cubic-bezier(.22,1,.36,1), padding .4s ease; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .nav-item.is-submenu-open .yacht-menu { max-height: 620px; padding: 18px 0 25px; }
  .yacht-menu__intro, .yacht-menu__all { display: none; }
  .yacht-menu__links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; padding: 0; }
  .yacht-menu__links a { padding: 9px 0; font-size: 17px; }
  .nav-cta { display: flex !important; justify-content: space-between; min-height: 56px; margin-top: 25px; padding: 0 20px !important; border: 1px solid var(--sand) !important; font-family: var(--sans) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
  .statement__grid, .business__head, .brands__intro, .systems__grid, .split, .contact-grid { grid-template-columns: 1fr; gap: 45px; }
  .business-grid { grid-template-columns: 1fr; }
  .business-card { min-height: 380px; border-right: 0; }
  .brand-grid { grid-template-columns: 1fr; }
  .brand-card { min-height: 480px; }
  .fleet-grid .brand-card--wide { grid-column: auto; min-height: 480px; }
  .yacht-entry, .yacht-entry:nth-child(even) { grid-template-columns: 1fr; }
  .yacht-entry:nth-child(even) .yacht-entry__media { order: 0; }
  .capability-grid, .process { grid-template-columns: 1fr; }
  .capability { padding: 36px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .capability + .capability { padding-left: 0; }
  .process__step { padding: 34px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .process__step + .process__step { padding-left: 0; border-left: 0; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .home-manifesto__grid,.vessel-intro__grid,.vessel-experience__grid,.vessel-performance__grid,.gallery-heading,.editorial-split, .editorial-split--reverse, .vessel-story__grid, .vessel-enquire__inner, .contact-promise__grid { grid-template-columns: 1fr; gap: 45px; }
  .home-manifesto__grid>div>p,.yacht-editor-content{margin-left:0}.home-fleet__item{flex-basis:84vw}.vessel-feature{grid-template-columns:1fr}.vessel-feature__image{min-height:65vh}.vessel-feature__copy{padding-block:100px}.vessel-cinema{height:78vh}
  .editorial-split--reverse .editorial-split__image { order: 0; }
  .portfolio-guide__grid, .vessel-pillars__grid { grid-template-columns: 1fr; }
  .portfolio-guide article, .vessel-pillars article { padding: 34px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .portfolio-guide article + article, .vessel-pillars article + article { padding-left: 0; }
  .vessel-specs__grid { grid-template-columns: repeat(2,1fr); }
  .vessel-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.17); }.vessel-spec:nth-child(2n){border-right:0}.vessel-spec:nth-child(odd){padding-left:0}.vessel-spec:nth-child(even){padding-left:25px}
  .vessel-gallery { grid-template-columns: 1fr; }.vessel-gallery > div { height: 60vh; }
}

@media (max-width: 620px) {
  :root { --wrap: calc(100% - 32px); }
  html, body { max-width: 100%; overflow-x: clip; }
  .site-header { padding-top: env(safe-area-inset-top); }
  .site-header__inner, .site-header.is-scrolled .site-header__inner { min-height: 76px; }
  .brand-logo, .site-header.is-scrolled .brand-logo { width: 142px; }
  .mobile-enquire { font-size: 8px; letter-spacing: .14em; }
  .menu-toggle { gap: 8px; min-width: 72px; }
  .brand-logo--footer { width: 230px; }
  .hero::before { background: linear-gradient(0deg,rgba(2,14,24,.76) 0%,rgba(2,14,24,.14) 58%,rgba(2,14,24,.38) 100%); }
  .hero__media { object-position: 62% center; }
  .hero__content { display:flex;align-items:center;flex-direction:column;padding:145px 0 70px;text-align:center; }
  .hero__content .display { max-width: 360px; }
  .hero__content .lede { max-width: 330px; }
  .hero__coordinate{display:none}.display{font-size:48px;line-height:.96}.hero__actions{align-items:center;flex-direction:column;width:100%;margin-top:30px}.hero__actions .btn{width:min(100%,280px)}.home-manifesto{padding:95px 0}.home-manifesto h2{font-size:44px;line-height:1}.home-manifesto__grid>div>p{margin-top:32px;font-size:17px}.home-fleet{padding-top:85px}.home-fleet__head{align-items:flex-start;flex-direction:column;margin-bottom:40px}.home-fleet__head h2{font-size:44px}.home-fleet__rail{padding-inline:16px}.home-fleet__item{flex-basis:88vw;height:68vh;padding:25px}.home-fleet__item>div{right:25px;bottom:25px;left:25px}.home-fleet__item h3{font-size:46px}.home-fleet__item p{display:none}.home-escape{min-height:78vh}.home-escape h2{font-size:52px;line-height:.95}.editable-page-content .wp-block-group{padding:80px 16px}.editable-page-content h2{font-size:40px}
  .statement, .capabilities, .brands, .systems, .content-section { padding: 80px 0; }
  .yacht-catalog { padding: 80px 0; }
  .yacht-entry { min-height: 0; }
  .yacht-entry__media { min-height: 330px; }
  .business__head { padding: 80px 0 55px; }
  .business-card { min-height: 350px; padding: 30px 25px; }
  .business-card h3 { margin-top: 70px; }
  .image-break { min-height: 65vh; }
  .image-break__content { right: 22px; bottom: 45px; left: 22px; }
  .system-item { grid-template-columns: 1fr; gap: 10px; }
  .cta-band__inner { align-items: flex-start; flex-direction: column; }
  .page-hero { min-height: 78vh; padding-top: 145px; }
  .spec-strip { grid-template-columns: 1fr 1fr; }
  .spec:nth-child(2) { border-right: 0; }
  .spec:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .contact-form { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .footer-top { grid-template-columns: 1fr; gap: 35px; }
  .footer-bottom { flex-direction: column; }
  .site-nav { left:0;width:100%;padding:calc(108px + env(safe-area-inset-top)) 28px calc(36px + env(safe-area-inset-bottom));box-shadow:none; }
  .site-nav__list>li>a,.site-header.is-scrolled .site-nav__list>li>a{padding:13px 0;font-size:clamp(27px,8vw,32px)}
  .yacht-menu__links { grid-template-columns: 1fr; }
  .nav-item.is-submenu-open .yacht-menu { max-height: 800px; }
  .yacht-entry.reveal:nth-of-type(even), .yacht-entry.reveal:nth-of-type(odd) { transform: translateY(35px); }
  .yacht-entry.reveal.is-visible { transform: translateY(0); }
  .hero .scroll-cue { display: none; }
  .escape { min-height: 84vh; }.escape__content{padding-top:22vh}.escape__content h2{font-size:42px}.sun-orbit{top:9%;right:-15%;opacity:.65}
  .editorial-split { min-height:0 }.editorial-split__image{min-height:420px}.editorial-split__copy{padding:70px 24px}
  .vessel-hero h1{font-size:76px}.vessel-hero__content{padding-bottom:55px}.vessel-hero__topline{margin-bottom:16vh}.vessel-hero__topline>span{display:none}.vessel-hero__content>.eyebrow{margin-bottom:14px}.vessel-hero__content>p:not(.eyebrow){font-size:17px}.vessel-hero__actions{align-items:flex-start;flex-direction:column}
  .vessel-intro,.vessel-story{padding:85px 0}.section-title{font-size:40px}.yacht-editor-content{font-size:17px;margin-top:32px}.vessel-cinema{height:68vh}.vessel-cinema__caption{right:22px;bottom:28px;left:22px}.vessel-cinema__caption p{font-size:24px}.vessel-experience,.vessel-performance{padding:85px 0}.vessel-experience h2,.vessel-performance h2{font-size:44px}.vessel-experience__grid>p,.vessel-performance__grid>p{font-size:17px}.vessel-specs{padding:80px 0}.vessel-specs__heading{align-items:flex-start;flex-direction:column}.vessel-specs__heading h2{font-size:42px}.vessel-feature__image{min-height:50vh}.vessel-feature__copy{padding:75px 16px}.vessel-feature__copy h2{font-size:42px}.vessel-specs__grid{grid-template-columns:1fr}.vessel-spec,.vessel-spec:nth-child(n){padding:24px 0;border-right:0}.vessel-enquire{padding:75px 0}.vessel-enquire h2{font-size:42px}.next-vessel{min-height:48vh}.next-vessel strong{font-size:54px}
  .gallery-heading h2{font-size:42px}.yacht-slider{margin-top:40px}.yacht-slider__viewport{height:58vh}.yacht-slider__controls{right:16px;bottom:16px;left:16px;grid-template-columns:46px 1fr 46px;gap:12px}.yacht-slider__arrow{width:46px;height:46px}.yacht-slider__slide figcaption{top:16px;right:16px}.yacht-slider__dots{gap:5px;overflow:hidden}.yacht-slider__dots button{width:12px;min-width:12px}.yacht-slider__dots button.is-active{width:28px;min-width:28px}
  .wp-yacht-grid{grid-template-columns:1fr;padding-inline:16px}.wp-yacht-card,.wp-yacht-card:nth-child(n){grid-column:auto;min-height:480px;padding:25px}.wp-yacht-card:first-child{min-height:62vh}.wp-yacht-card strong{font-size:44px}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero__content > *, .page-hero__content > *, .reveal, .yacht-entry.reveal:nth-of-type(even), .yacht-entry.reveal:nth-of-type(odd) { opacity: 1; transform: none; }
  .hero__media, .page-hero > img, .image-break > img { transform: none; }
  .sea-motion i, .escape__media img, .sun-orbit, .vessel-hero__media { animation: none !important; }
}


/* Keep the fixed site header below the WordPress toolbar while previewing as an administrator. */
body.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
